HydrogenAudio

CD-R and Audio Hardware => Audio Hardware => Topic started by: d0gbert on 2006-10-16 16:50:29

Title: Homebrew CMI 8738 drivers
Post by: d0gbert on 2006-10-16 16:50:29
Hi everyone!

I'm currently working on WDM drivers for soundcards based on the C-Media 8738/8768 chip. I plan to release the entire source code under a BSD-like license sometime in the future.  I'm mainly interested in the S/PDIF connectivity because the DAC of the card sucks.

For testing, you need:
- a CMI 8738-MX/8768 based soundcard with S/PDIF (which are available for around 10-15 USD)
- Windows 2000/XP

Some of the features are:
- bitperfect S/PDIF output for 16bit 44.1/48/88.2/96kHz stereo signals through kernel streaming / dsound / waveout
- bitperfect AC3/DTS passthrough
- multi-channel output (that disables the S/PDIF output port unfortunately)
- recording support
- basic mixer support
- UART support (but disabled for now)

Apparently, the C-Media chip supports only 16 bit contrary to the claims in their specs. I haven't been able to get 24bit output even with the official drivers. But 96kHz output seems to work fine on the newer 8738 chips.

You can help me by posting your chip version and configuration, and testing whether 16bit/96kHz and 24bit/48kHz output through kernel streaming works (foobar2000, winamp have the necessary plugins). I'm specifically looking for people who have means to tell a 16bit S/PDIF stream from a 24bit stream.
When the driver loads, it prints the version of your chip to the kernel debugger. You need a running instance of DebugView (http://www.sysinternals.com/Utilities/DebugView.html) to catch the strings. In other words: open DebugView before updating the drivers.

Note that the drivers aren't signed, so you have to install them manually (Update Driver => Install from a list or specific location => Don't search. I will choose the driver to install => Continue anyway).
A 64-bit build has been successfully tested, and I'll probably release a build sometime soon.

Here are the download links for the latest version:
http://code.google.com/p/cmediadrivers (http://code.google.com/p/cmediadrivers)

So long,

dogbert
Title: Homebrew CMI 8738 drivers
Post by: Leto Atreides II on 2006-10-17 02:25:37
Awesome! 

I'll try these drivers out today.  I tried some M Audio DIO drivers before which gave bit -perfect wav output as long as you manually selected the right # of bits and frequency, but couldn't automatically change to what was needed when playing DTS or AC3.
Title: Homebrew CMI 8738 drivers
Post by: Leto Atreides II on 2006-10-17 02:59:38
The only thing debugview shows is:
[2692] Exiting because c:\windows\system32\runonce.exe is in the Windows directory.
then
[XXXX] Exiting because c:\windows\system32\rundll32.exe is in the Windows directory.

a bunch of times, where XXXX is a 4 digit number.

This is Windows XP Pro, sp2.
Title: Homebrew CMI 8738 drivers
Post by: Leto Atreides II on 2006-10-17 03:38:46
My system is a Soltek QBic 3801 with a built-in CMI 8768.

Bit perfect worked great, able to automatically switch to the correct freq unlike the DIO drivers I tried.

My stereo showed 44.1, 48, 96khz all worked great.  88.2 I think also worked but my stereo didn't know what to display when it was playing it, the display got a bit confused.

24-bit also didn't seem to work for me.  It would continue to come out 16 bit with directsound selected.  With kernel-streaming used in FB2K 24-bit wouldn't do anything at all, nothing would come out.

The major problem for me is that it seems to have disabled all the headphone outputs.
Title: Homebrew CMI 8738 drivers
Post by: d0gbert on 2006-10-17 07:48:07
The major problem for me is that it seems to have disabled all the headphone outputs.


Try this version: http://mitglied.tripod.de/atproc2/CMI-091-release.zip (http://mitglied.tripod.de/atproc2/CMI-091-release.zip)
Title: Homebrew CMI 8738 drivers
Post by: Leto Atreides II on 2006-10-17 09:46:01

The major problem for me is that it seems to have disabled all the headphone outputs.

Try this version: http://mitglied.tripod.de/atproc2/CMI-091-release.zip (http://mitglied.tripod.de/atproc2/CMI-091-release.zip)

Works great!

Thanks!

It seems that the volume is now much louder than with the regular drivers, but it's not such a big deal.  Just gotta remember to keep the volume slider down.  Or it could be I'm just imagining it.

Sorry I can't seem to get the debugging information to get captured properly to give you any further information about my setup.
Title: Homebrew CMI 8738 drivers
Post by: d0gbert on 2006-10-21 02:02:55
new release 0.92:
- built with the latest WDK (version 5728)
- first AMD64/EM64T release - this driver should work on your Windows XP x64 installation and on Vista x64. To install the driver on x64 version of Vista, you must disable the driver signature enforcement during boot-up with the F8 key
- stupid fix for a nasty bug which rendered large parts of the mixer useless

I'm keen to know whether the driver actually works on Vista. So if you have a card lying around and some time, please test and report .
Title: Homebrew CMI 8738 drivers
Post by: Leto Atreides II on 2006-10-21 03:00:39
Thanks.
Title: Homebrew CMI 8738 drivers
Post by: Leto Atreides II on 2006-10-21 05:45:45
When do you think you'll start releasing the source?  And when you do, what will be necessary to compile it?  I'm interested in taking a look.
Title: Homebrew CMI 8738 drivers
Post by: d0gbert on 2006-10-21 12:54:38
When do you think you'll start releasing the source?

released under BSD license, check the site.

Quote
And when you do, what will be necessary to compile it?  I'm interested in taking a look.


You need the Windows Driver Development Kit (WinDDK/WDK, http://www.microsoft.com/whdc/driver/found.../WhichDDK.mspx (http://www.microsoft.com/whdc/driver/foundation/WhichDDK.mspx)). I've used build 2600 and 5728 so far.
Unpack the stuff to <DDK>\src[\wdm]\audio, set the paths in paths.bat and you're ready to go. There's a bunch of batch files for building the binaries / updating the driver.
Title: Homebrew CMI 8738 drivers
Post by: zima on 2006-10-31 10:25:11
I wonder...how hard would be to modify drivers for 9738 (integrated on many motherboardsl and BTW: http://www.hydrogenaudio.org/forums/index....c=38113&hl= (http://www.hydrogenaudio.org/forums/index.php?showtopic=38113&hl=) )
Title: Homebrew CMI 8738 drivers
Post by: d0gbert on 2006-10-31 12:49:15
I wonder...how hard would be to modify drivers for 9738 (integrated on many motherboardsl and BTW: http://www.hydrogenaudio.org/forums/index....c=38113&hl= (http://www.hydrogenaudio.org/forums/index.php?showtopic=38113&hl=) )


The 9738 is a regular AC97 codec, meaning that there are lots of limitations like fixed sample rate (48kHz) etc - a generic AC97 driver should support most of the features of the codec, maybe even bitperfect output for that particular sample rate.
In contrast, the 8738 is a regular and pretty simple PCI codec, so they require completely different drivers and have only very few things in common, namely the C-Media logo on top of the chip  .
Title: Homebrew CMI 8738 drivers
Post by: howardbut on 2006-11-02 19:12:05
it sounds awesome! but could I have the following request in the next update:

- software AC3 decode from SPDIF-in

The reason is that I have a XBOX and would like to use the computer as an audio decoder so that I can feed the surround audio into my 5.1 computer speaker setup.

Thank you.
Title: Homebrew CMI 8738 drivers
Post by: d0gbert on 2006-11-02 20:02:33
it sounds awesome! but could I have the following request in the next update:

- software AC3 decode from SPDIF-in

The reason is that I have a XBOX and would like to use the computer as an audio decoder so that I can feed the surround audio into my 5.1 computer speaker setup.

Thank you.


Mhh, no, sorry. I think that's a bad idea because running digital signal processing code in kernel space proves to be difficult due to timing constraints (keyword glitches), and the AC3 stuff is mined with patents. The main motivation behind the driver is to provide a bitperfect transceiver for digital audio signals rather than a DSP.

You could run an AC3 decoder as an application which decodes the S/PDIF In signal to your speakers, but you'd experience a nasty lag (10-20ms and more) due to the limitations of the windows driver model. This particular design flaw has been fixed in Vista, but it requires modifications to the driver and limits it to Vista, of course. I'll probably implement the stuff when Vista is final and I'll have some free time.
Title: Homebrew CMI 8738 drivers
Post by: saratoga on 2006-11-02 20:26:18
Mind if I ask how you got into Windows driver developement?  It always struck me as an interesting topic.
Title: Homebrew CMI 8738 drivers
Post by: howardbut on 2006-11-03 00:16:46
thank you d0gbert.
referring to your reply, could you please suggest me which AC3 decoder can do my required work? How can i manage the settings?

Cheers~




it sounds awesome! but could I have the following request in the next update:

- software AC3 decode from SPDIF-in

The reason is that I have a XBOX and would like to use the computer as an audio decoder so that I can feed the surround audio into my 5.1 computer speaker setup.

Thank you.


Mhh, no, sorry. I think that's a bad idea because running digital signal processing code in kernel space proves to be difficult due to timing constraints (keyword glitches), and the AC3 stuff is mined with patents. The main motivation behind the driver is to provide a bitperfect transceiver for digital audio signals rather than a DSP.

You could run an AC3 decoder as an application which decodes the S/PDIF In signal to your speakers, but you'd experience a nasty lag (10-20ms and more) due to the limitations of the windows driver model. This particular design flaw has been fixed in Vista, but it requires modifications to the driver and limits it to Vista, of course. I'll probably implement the stuff when Vista is final and I'll have some free time.
Title: Homebrew CMI 8738 drivers
Post by: d0gbert on 2006-11-03 08:53:15
Mind if I ask how you got into Windows driver developement?  It always struck me as an interesting topic.

Uhm.. more or less by accident. I'm generally interested in the architecture of operating system kernels, and driver development goes along with it.

Quote
referring to your reply, could you please suggest me which AC3 decoder can do my required work? How can i manage the settings?

graphedt.exe in conjunction with a proper AC3 codec. I haven't tested the SPDIF input capabilities yet, so I might try the stuff later on.
Title: Homebrew CMI 8738 drivers
Post by: René Eske Jensen on 2006-11-08 07:13:58
I'm keen to know whether the driver actually works on Vista. So if you have a card lying around and some time, please test and report .


Hi there!

Thanks for spending time on a driver for the CMI chip, the native driver really sucks.

Anyway, I have tried the driver both in XP and Vista, and it works well. I had some problems during installation in Vista (BSOD), but I think it relates to uninstalling the old driver (if I just uninstall the old driver I get the same BSOD). Using safe mode I had no problems installing the driver.

The driver works fine but I cannot turn off the digital output. I don't need to, but when the option to do so is present, it should work.

I can't choose multichannel output. I don't need it either, but I can see in the release note that it should be possible, so at least I should be able to.

Is the selection of sample rate on the output automatic and dependent on the input signal? Contrary to the native driver, your driver doesn't have any option to change the sample rate.

Anyway, thanks for a nice driver. Now I am able to get digital out in Vista. Thanks a bunch!

BR,
René

HW config:
Soltek 75FRN2-L
Athlon XP2500+
Terratec 5.1 Fun
Radeon 9600
Title: Homebrew CMI 8738 drivers
Post by: René Eske Jensen on 2006-11-08 11:59:28
Hi again,

Just another thing - the mute function doesn't work, at least not for the main volume control.

BR,
René
Title: Homebrew CMI 8738 drivers
Post by: d0gbert on 2006-11-08 13:13:14
Quote
I had some problems during installation in Vista (BSOD), but I think it relates to uninstalling the old driver (if I just uninstall the old driver I get the same BSOD).

Yep, that's a bug in the old official cmedia driver - I had the same problem with version 0639 I think.

Quote
The driver works fine but I cannot turn off the digital output. I don't need to, but when the option to do so is present, it should work.

The analog part of the card is a nice extra, and the main aim of the driver is to provide a bitperfect spdif interface, but...

Quote
I can't choose multichannel output. I don't need it either, but I can see in the release note that it should be possible, so at least I should be able to.

... u can turn off the digital interface by selecting a multi channel configuration in your "sounds and audio devices" control panel applet (number of channels >=4).
The problem you will run into is that the driver "forgets" the channel configuration after each restart.

Quote
Is the selection of sample rate on the output automatic and dependent on the input signal?

Uhm, yes, the sample rate is selected by the kmixer, the way it's supposed to be in every WDM implementation. That means that if you start playing a 48kHz 16bit wave PCM stream and nothing else is pushing stuff through the kmixer, the driver sets the card to 48kHz 16bit. If you start playing another wave stream, let's say 96 kHz 16bit, the kmixer queries the driver whether the stream can be played simultaneously, which isn't possible due to obvious constraints (no support for hardware mixing), so the kmixer downsamples the stream to the format of the current stream, mixes them together and sends the resulting stream to the driver / card.
This is obviously a pretty bad design flaw, and Windows Vista has the ability to somewhere define a default sample rate and resolution. I might add a control application some time in the future though which would implement similiar functionality and some more stuff.

Quote
Just another thing - the mute function doesn't work, at least not for the main volume control.

Yeah, and the DAC volume doesn't work on 8768 devices etc etc. There are plenty of hardware revisions out there, and the specifications from C-Media have absolutely no information about the changes and capabilities of each of those revisions.
Title: Homebrew CMI 8738 drivers
Post by: Leto Atreides II on 2006-11-08 18:41:13
Yeah, and the DAC volume doesn't work on 8768 devices etc etc. There are plenty of hardware revisions out there, and the specifications from C-Media have absolutely no information about the changes and capabilities of each of those revisions.


Actually the DAC volume has been working since 0.9.2.  At least it has for me on my 8768.
Title: Homebrew CMI 8738 drivers
Post by: Leto Atreides II on 2006-11-08 19:56:29

Yeah, and the DAC volume doesn't work on 8768 devices etc etc. There are plenty of hardware revisions out there, and the specifications from C-Media have absolutely no information about the changes and capabilities of each of those revisions.


Actually the DAC volume has been working since 0.9.2.  At least it has for me on my 8768.


I should probably be more specific.  The DAC slider doesn't do anything but the main volume slider works fine -- and it only changes the volume of the DAC output, since the digital out can't change when it's bit-perfect.
Title: Homebrew CMI 8738 drivers
Post by: lavak on 2006-11-14 06:38:38
This is fantastic.  I have a soyo sy-k7v dragon plus MB with onboard CMI8738 and optical/coax in/out. 

I have noticed that my drivers (c-media 5.12.1.639) don't support simultaneous digital in and out.

Do yours? 

And..  does the clock of the input need to be synced with the clock of the output in this mode?  Or does the chip have an asynchronous PLL for receive clocking?


I will try your version soon,
thanks!


EDIT:
OK, they installed fine, and work!  A few issues, though: at first no digital out, only digital in worked.  then I was playing an MP3 and changed the 's/pdif 5V signal level' switch (what does that do anyway?) and winamp crashed, and the digital output was brought to life (toslink glowing red).  However, since then there is no way to revive the digital input without a reboot.  no amount of switching and fiddling worked.  Also, there is no way to turn the digital output off.

Also, what is the DAC level slider adjusting, exactly?  it doesn't change the wav output volume, but that must go through the DAC, right?

Chip version markings:
CMI8738/PCI-6ch-MX
HRTF 3D Audio
M8Y31-0140
UGG1DB
Title: Homebrew CMI 8738 drivers
Post by: Leto Atreides II on 2006-11-14 16:55:49
AFAIK the DAC level slider isn't adjusting anything.  See previous posts.
Title: Homebrew CMI 8738 drivers
Post by: qs_test on 2006-11-15 06:09:27
Hello,

I am using an onboard C-Media-Chip CIM8738 with coaxial S/PDIF in and out. AC3 output works fine.

Is it possible record an AC3 stream via S/PDIF-in and decode it ?
Title: Homebrew CMI 8738 drivers
Post by: d0gbert on 2006-11-15 17:35:03
OK, all-in-one answer:

Quote
I have noticed that my drivers (c-media 5.12.1.639) don't support simultaneous digital in and out.

Quote
Is it possible record an AC3 stream via S/PDIF-in and decode it ?

In theory, yes. I haven't had the time and motivation to try the SPDIF-in recording stuff yet.

Quote
And..  does the clock of the input need to be synced with the clock of the output in this mode?  Or does the chip have an asynchronous PLL for receive clocking?

Asynchronous PLL is a few cents more expensive than a synchronous PLL for both SPDIF-in and -out => c-media made the obvious choice.

Quote
OK, they installed fine, and work!  A few issues, though: at first no digital out, only digital in worked.

Digital-in meaning direct loop-through to SPDIF-out ?

Quote
then I was playing an MP3 and changed the 's/pdif 5V signal level' switch (what does that do anyway?) and winamp crashed, and the digital output was brought to life (toslink glowing red).

The 'official' cmedia driver might have set some registers which need to be unset for my way of handling things.

Quote
However, since then there is no way to revive the digital input without a reboot.  no amount of switching and fiddling worked.

OK, this is to be expected. I haven't implemented loop-through yet.

Quote
Also, what is the DAC level slider adjusting, exactly?  it doesn't change the wav output volume, but that must go through the DAC, right?

It's supposed to do that. It's setting soundblaster register 0x04 which has been marked in the cmedia specs as "Wave Volume".
There's "Wave Volume" slider in the mixer, but that's just adjusting the volume software-wise in the kmixer.

OK, thanks for the reports, I'm currently working on the next version.
Title: Homebrew CMI 8738 drivers
Post by: lavak on 2006-11-15 20:22:07
Quote
And..  does the clock of the input need to be synced with the clock of the output in this mode?  Or does the chip have an asynchronous PLL for receive clocking?

Asynchronous PLL is a few cents more expensive than a synchronous PLL for both SPDIF-in and -out => c-media made the obvious choice.


So, unless the source data is clock-synced with the 8738, the digital input won't be bit accurate, no matter what driver is used.  There will be repeat errors or lost samples, the severity of which determined by the differences in clock accuracy of the source and 8738.


Quote
Digital-in meaning direct loop-through to SPDIF-out ?

Digital-in meaning I can record from the digital in and monitor it via the DAC on headphones.

Quote
Quote
then I was playing an MP3 and changed the 's/pdif 5V signal level' switch (what does that do anyway?) and winamp crashed, and the digital output was brought to life (toslink glowing red).

The 'official' cmedia driver might have set some registers which need to be unset for my way of handling things.

That's indeed what seems to have happened (that's why spdif in worked at first, but never again, because the monitoring register was unset)

Quote
Quote
Also, what is the DAC level slider adjusting, exactly?  it doesn't change the wav output volume, but that must go through the DAC, right?

It's supposed to do that. It's setting soundblaster register 0x04 which has been marked in the cmedia specs as "Wave Volume".
There's "Wave Volume" slider in the mixer, but that's just adjusting the volume software-wise in the kmixer.

OK, thanks for the reports, I'm currently working on the next version.


Thank YOU for your work.  I took a glance at the source, but couldn't make heads or tails of it, sorry.
Title: Homebrew CMI 8738 drivers
Post by: René Eske Jensen on 2006-11-23 20:45:46
Just tried the 0.94 driver out in both XP and Vista. It works great. In XP I am able to output 96kHz (and 88.2kHz, although my receiver still shows 96kHz - I think it shows the same for both sample rates). I haven't tried 96kHz in Vista.

DTS/DD out works fine in both XP and Vista.

Only quirk I have now is that the volume after resuming from Suspend to RAM is very high. Pressing either the up or down volume just once resets the actual volume to the right volume step.

Keep up the good work!
Title: Homebrew CMI 8738 drivers
Post by: d0gbert on 2006-11-23 22:45:53
I've just uploaded a new version (0.9.5) which includes a switch for selecting the secondary SPDIF-in. So recording from SPDIF-in while monitoring through analog-out should work now, but this probably requires turning off SPDIF-out.
You can record stuff now under Vista, and I've re-implemented a small workaround for the XP mixer (sndvol32). The .inf file was broken for 64 bit releases in previous releases, so this has been fixed, too.

René, thanks for the bug report. Power management is one of the few things which haven't been implemented yet - but it's pretty high on my list.
Title: Homebrew CMI 8738 drivers
Post by: René Eske Jensen on 2006-11-25 13:03:35
René, thanks for the bug report. Power management is one of the few things which haven't been implemented yet - but it's pretty high on my list.


Thanks a bunch. Your the man You have my highest regards. I was going to buy a new soundcard, but because of your driver I don't have to!

BR,
René
Title: Homebrew CMI 8738 drivers
Post by: cervicek on 2006-11-30 09:12:51
Hi, please somebody could help me with SPDIF problem ?
SPDIF output using AC3filter + Nightingale 6 PRO worked properly in XP but in Vista x64 this driver with exactly the same ac3filter version and with the same settings doesn't work. Of course I enabled SPDIF in Sound device settings. When I test SPDIF sound from device settings panel it worked - my receiver switched to DD, but when I play movie it doesn't play in DD.
There are installed two sound devices Speakers and Digital Output interface... which one should be used ? (bsplayer/zoomplayer can set output audio device)... and why there is still some unknown multimedia device even when I installed this driver and this driver can't be installed for this device ?
Thanks you very much.. I appreciate ANY help.
Title: Homebrew CMI 8738 drivers
Post by: d0gbert on 2006-11-30 10:59:57
cervicek, the SPDIF interface needs to be set as the default device (right-click the item in the sound applet of the control panel and click the relevant menu item).

the third item probably comes from the stuff which fixes some weird bug of the windows XP mixer, you can ignore it.
Title: Homebrew CMI 8738 drivers
Post by: cervicek on 2006-11-30 11:33:21
Thanks. I'll try it.. and ac3filter must be set to use direct sound or waveout ?
Title: Homebrew CMI 8738 drivers
Post by: d0gbert on 2006-11-30 17:54:23
Thanks. I'll try it.. and ac3filter must be set to use direct sound or waveout ?

both should work.
Title: Homebrew CMI 8738 drivers
Post by: ElKabong on 2006-11-30 20:37:12
If I get a cheap audio card with an 8738, will I be able to do simultaneous digital and analog (stereo) out? Is that a function of the audio chip, the soundcard, or the drivers?

And if so, can you recommend a cheap, reliable card that definitely does this?

Thanks!
Title: Homebrew CMI 8738 drivers
Post by: d0gbert on 2006-11-30 20:46:29
If I get a cheap audio card with an 8738, will I be able to do simultaneous digital and analog (stereo) out?

yes, but that's limited to 16bit stereo. The DAC of the 8738 models might be limited to a maximum sample rate of 48 kHz though.

Quote
Is that a function of the audio chip, the soundcard, or the drivers?

it's done in hardware. one signal is streamed through the DAC and the SPDIF interface at the same time. there are some registers to control this, and the drivers set these registers, naturally.


Quote
And if so, can you recommend a cheap, reliable card that definitely does this?

Any sound card with a cmedia 8738 or 8768 chip and spdif in/out will do the job. Pick the cheapest model which has SPDIF connectors.
Title: Homebrew CMI 8738 drivers
Post by: Leto Atreides II on 2006-12-03 09:13:26
I just noticed that mixer.exe still runs in the background, and it must have a memory leak or something since I've seen it grow to use over 100 megs of memory.  Your drivers don't need mixer.exe, right?  It's just left over from my old C-Media installation?
Title: Homebrew CMI 8738 drivers
Post by: d0gbert on 2006-12-03 11:02:36
I just noticed that mixer.exe still runs in the background, and it must have a memory leak or something since I've seen it grow to use over 100 megs of memory.  Your drivers don't need mixer.exe, right?  It's just left over from my old C-Media installation?

yeah, you can happily delete it.
Title: Homebrew CMI 8738 drivers
Post by: cervicek on 2006-12-06 16:12:53
I'm here again with the same problem...  I think I've tried all possible combinations including setting SPDIF as default device and almost all versions of ac3filters with different settings. Now I think the problem is in x64 Vista or in ac3filter because the sound is normally sent to receiver as stereo (or prologic) when SPDIF is switched OFF in ac3filter, but when I switched on SPDIF in ac3filter it seems that ac3filter immediatelly stopped receving/sending sound signal because channel level meters in ac3filter stopped to show any signal.
I also tried to use my onboard Realtek AC97 with SPDIF and the result was exactly the same so I'm convinced the problem is in Vista or ac3filter because when I tried testing sound to SPDIF in device settings it worked fine for both AC97 and C-Media. So the cards and drivers can play ac3, receiver can receive it but it doesn't work with ac3filter :-(
Does somebody have working SPDIF on x64Vista with AC97 or C-Media ? Which drivers ? Which ac3filter ?
Title: Homebrew CMI 8738 drivers
Post by: d0gbert on 2006-12-07 18:33:31
It works perfectly fine here with the 32bit version of vista and media player classic which uses its internal filters for AC3 passthrough.
The driver might have failed to install - the x64 version of vista doesn't allow unsigned drivers, and since I'm not able to sign the drivers by myself or cash out ~500 usd to msft, you will need to disable this policy by pressing F8 each time you boot and selecting the relevant item in the menu.
Title: Homebrew CMI 8738 drivers
Post by: cervicek on 2006-12-11 13:47:45
You're right. I reinstalled Vista to 32bit and with Windows Media Player Classic it works when AC3 filter is not used..  and it doesn't work in x64 in ANY configuration. So the problem is in ac3filter and somewhere in 64bit :-)
Unfortunately I have to use 32bit Vista... but better then Pro Logic :-)
thanks
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2006-12-16 23:04:31
New release: 0.96.
This release brings mainly improvements and features for Vista, mainly the implementation of WaveRT (support for very low latency recording/playback, that's probably gonna replace ASIO sooner or later) and support for SysFX:
(http://cmediadrivers.googlepages.com/vista.png)

The current release might be a bit unstable.
Title: Homebrew CMI 8738 drivers
Post by: kron on 2006-12-18 20:42:00
First of all, big thanks, really great driver, you saved me!!
I'm using it successfully with a Nightingale card and Vista.
The only thing that didn't work was the output of dts .wav files.
In my spdif properties, there is only 48 kHz, and it says that this
is the only frequency my digital receiver can handle.
But this is definitely not true, I had a C-Port soundcard before,
and it played these wav-files, and my receiver ate them with a spoon.
So is there anything I can tweak or do to enable 44.1 kHz output?
Thanks in advance for any hints!
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2006-12-18 20:54:54
So is there anything I can tweak or do to enable 44.1 kHz output?
Thanks in advance for any hints!


There are two ways:
1. Use non-WaveRT drivers and a kernel streaming outplug plugin. (foo_out_ks.dll (http://www.foobar2000.org/components/index.html) for foobar, out_ks (http://www.stevemonks.com/ksplugin/) for winamp).
2. Use WaveRT drivers and an output plugin which employs "exclusive access" to the soundcard. The exclusive access mode of the vista sound system bypasses all the mixing by design and passes the stream directly onto the soundcard. If I recall correctly, this is just an extra flag for opening a sound device through WaveOut, so the implementation should be fairly easy, but I haven't seen any support for that in output plugins. But I guess it's just a matter of weeks before this gets implemented.

Good luck,

dogbert
Title: Homebrew CMI 8738 drivers
Post by: cervicek on 2006-12-19 11:41:10
I'm using it successfully with a Nightingale card and Vista.


Do you use your Nightingale in Vista x86 or x64 ? Does the SPDIF work in ac3filter ? I have the same card but couldn't get it work in x64 + ac3filter.
Title: Homebrew CMI 8738 drivers
Post by: kron on 2006-12-19 15:37:52
I use it in Vista x86, and ac3 works perfectly with ac3filter.
@dogbert:
What does "The current release might be a bit unstable." mean,
is it the 0.95, that is unstable or the 0.96?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2006-12-19 16:53:50
What does "The current release might be a bit unstable." mean,
is it the 0.95, that is unstable or the 0.96?

I feared that 0.96 might be unstable because
1. a lot of new stuff has been implemented, mainly WaveRT
2. I don't have any other machines for testing, and the problem is that I disabled stuff like kernel paging for debugging purposes which would be enabled on normal machines. Thus, I might miss a few bugs which might occur on normal machines.

But I haven't got any crash reports in my inbox, and it's working on my machine without a single crash for the last few days, so I consider it to be reasonably stable now.
Title: Homebrew CMI 8738 drivers
Post by: kron on 2006-12-21 09:04:41
There are two ways:
1. Use non-WaveRT drivers and a kernel streaming outplug plugin. (foo_out_ks.dll (http://www.foobar2000.org/components/index.html) for foobar, out_ks (http://www.stevemonks.com/ksplugin/) for winamp).
2. Use WaveRT drivers and an output plugin which employs "exclusive access" to the soundcard. The exclusive access mode of the vista sound system bypasses all the mixing by design and passes the stream directly onto the soundcard. If I recall correctly, this is just an extra flag for opening a sound device through WaveOut, so the implementation should be fairly easy, but I haven't seen any support for that in output plugins. But I guess it's just a matter of weeks before this gets implemented.


Thanks for your answer!
Method one would mean not to take your drivers, since they are (now) WaveRT, is that right?
And method 2..."it's just a matter of weeks before this gets implemented" - do you mean by you?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2006-12-21 11:19:31
Quote
Method one would mean not to take your drivers, since they are (now) WaveRT, is that right?

I provide both WaveRT (x86-WaveRT.zip) and non Wave-RT (x86.zip) drivers, so you can choose.

Quote
And method 2..."it's just a matter of weeks before this gets implemented" - do you mean by you?

Uhm.. I'd do it if the output plugins of winamp/foobar were open source. But they aren't, so we have to wait for the authors to implement it.
Title: Homebrew CMI 8738 drivers
Post by: wdekler on 2006-12-21 14:51:23
First, a really big thank you for programming this driver!

Has anyone been able to get 24bit output before I rush out and buy a cheap generic 8768 card (sweex 7.1)?

The datasheet clearly mentions that the chip should be capable to do this:

http://www.cmedia.com.tw/files/doc/PCI/CMI...20Rev%201.0.pdf (http://www.cmedia.com.tw/files/doc/PCI/CMI8768%20Datasheet%20Rev%201.0.pdf)

The 8738 datasheet only mentions 16bits.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2006-12-21 16:25:07
Has anyone been able to get 24bit output before I rush out and buy a cheap generic 8768 card (sweex 7.1)?


I haven't been able to get 24 bit output through SPDIF, not even with the official drivers. The specifications are not available/incomplete with regard to this mode.

The 'official' datasheets for the 8738 chip state that it doesn't support 96kHz sample rate on the SPDIF out interface, but it actually does - the DAC of the chip can't handle it though. So I guess that either the datasheets are incorrect (which is pretty likely considering that the official drivers don't support 24bit output, but other completely useless stuff like 'karaoke'), or they never got around the implementation.

Up for now I am unaware of anybody ever being able to successfully play 24bit stuff with a 8768 soundcard.
Title: Homebrew CMI 8738 drivers
Post by: qristus on 2006-12-22 13:24:36
The driver might have failed to install - the x64 version of vista doesn't allow unsigned drivers, and since I'm not able to sign the drivers by myself or cash out ~500 usd to msft, you will need to disable this policy by pressing F8 each time you boot and selecting the relevant item in the menu.

Just curious - can't you sign drivers without paying money to Microsoft? As far as I can see the authenticode tools should be available with the freely downloadable .NET SDKs, all you need is a code signing certificate which is available from various vendors - the cheapest I've seen so far is Comodo's $99 one, which is a good bit less than $500. There might also be better deals out there if you shop around a bit. If several people need 64-bit drivers you might find enough people willing to sponsor something like that.

Some relevant links:
Windows Kernel-mode Driver Signing Requirements (http://www.microsoft.com/whdc/winlogo/drvsign/drvsign_perOS.mspx)
Signing and Checking Code with Authenticode (http://msdn.microsoft.com/workshop/security/authcode/signing.asp)
.NET Framework SDK v1.1 (http://www.microsoft.com/downloads/details.aspx?FamilyID=9b3a2ca6-3647-4070-9f41-a333c6b9181d&DisplayLang=en)
Comodo code-signing certificates (http://www.instantssl.com/code-signing/)
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2006-12-22 14:53:20
qristus, thanks for the info. The authenticode thing is way cheaper than I thought.

I see two problems though:
1. I wanna remain anonymous for the time being, and the signing authorities require a background check. So this is an obvious conflict.
2. The drivers don't exactly do what the microsoft specifies, e.g.
- the SPDIF interface remains turned on even if DRM stuff is being played
- the driver hasn't been thoroughly checked with Driver Verifier et al. which ensure that the driver meets all the specifications. I'm quite certain that it'll pass these checks with minor or no modification though.
As a result, the certificate might be blacklisted by msft in future patches of Vista, which renders the whole thing useless, of course.

Mayble people will find a way to add a self-made certificate authority to the trusted verification roots of the kernel mode in Vista so it'll chow down all the homebrew drivers which are signed with a certificate which roots to the self-created CA.

Imho, the entire thing with the mandatory driver signing just proves to be a scheme to lock out the user from his system in order to enforce that digital rights managed 'premium content' doesn't get ripped. It doesn't add a thing to the overall security of windows, and it doesn't improve the quality of a driver.
Title: Homebrew CMI 8738 drivers
Post by: wdekler on 2006-12-23 15:43:06
It seems to work fine with the Terratec 5.1 FUN (8738):

Debugview:

00000000   0.00000000   Driver Version: 0.9.6   
00000001   0.00000643   Configuration:   
00000002   0.00001062       IO Base:      0xCC00   
00000003   0.00001425       MPU Base:    0x0   
00000004   0.00001900       Chip Version: 55   
00000005   0.00002235       Max Channels: 6   
00000006   0.00002570       CanAC3HW:    1   


I've forced the Winamp FLAC decoder to output 24bits  and always starts playing. The logfiles indicate that sometime 16, 24 or 32 bit output is tried :


Format.nChannels            = 2
Format.nSamplesPerSec      = 44100
Format.wBitsPerSample      = 16
Format.nBlockAlign          = 4
Format.nAvgBytesPerSec      = 176400
Format.cbSize              = 22
Samples.wValidBitsPerSample = 16
dwChannelMask              = 00000003

Different Flac file:

Attempting to CreateRenderPin with the following WaveFormatExtensible (first attempt):
Format.nChannels            = 2
Format.nSamplesPerSec      = 44100
Format.wBitsPerSample      = 32
Format.nBlockAlign          = 8
Format.nAvgBytesPerSec      = 264600
Format.cbSize              = 22
Samples.wValidBitsPerSample = 24
dwChannelMask              = 00000003

Failed to create pin on first attempt!

Attempting to CreateRenderPin with the following WaveFormat (2nd attempt):
Format.nChannels            = 2
Format.nSamplesPerSec      = 44100
Format.wBitsPerSample      = 24
Format.nBlockAlign          = 6
Format.nAvgBytesPerSec      = 264600
Format.cbSize              = 0
Samples.wValidBitsPerSample = 0
dwChannelMask              = 00000000

Sadly the DAC remains silent when the bit depth goes over 16bit... It is capable of playing 24bit files with an Envy 24 Chaintech AV-710 card so it's probably the 8738 chip.

Switching between other sample rates works fine until now, that's a big change from those problematic VIA ENVY drivers.

I'm still tempted to try a 8768 card for 24bit output later next week...
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2006-12-25 21:50:40
I'm still tempted to try a 8768 card for 24bit output later next week...


I fiddled around a bit with the 8768 and I haven't got any real results: All the other open source drivers (*BSD, Linux) lack support for 24 bit modes, and I suspect that the official windows drivers resample to 16 bit internally because the register dump while playing 24 bit streams through kernel streaming looks almost identical to the register dump when playing 16 bit.

Another thing is that I don't have the means to tell a 16 bit stream from a 24 bit stream because my receiver is only capable of displaying the sample rate (samples per second), not the bit rate (bits per sample). So I'd be glad if someone would be kind enough to provide me with sufficient information whether the 8768 chip can actually do 24 bit with the official drivers or not.
Title: Homebrew CMI 8738 drivers
Post by: wdekler on 2006-12-25 22:15:30
Maybe we can also test it without a DAC? If we use a card with proven 24bit capabilities and feed the 8768 SPDIF output to the 24bit card's SPDIF input?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2006-12-25 22:55:48
Maybe we can also test it without a DAC? If we use a card with proven 24bit capabilities and feed the 8768 SPDIF output to the 24bit card's SPDIF input?

Yeah, that would be a nice way to test it.
I don't use the DAC and my driver aims at perfect digital connectivity in the first place anyway, so I'd implement it even if the DAC decides to choke on 24 bit streams.
Title: Homebrew CMI 8738 drivers
Post by: kron on 2006-12-29 18:29:11
Hi again,

I tried the Winamp Kernel-streaming plugin with your drivers,
but I couldn't pick any output in the ks-settings, there was nothing to choose from.
Any idea, what this could be about?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2006-12-29 19:29:45
Hi again,

I tried the Winamp Kernel-streaming plugin with your drivers,
but I couldn't pick any output in the ks-settings, there was nothing to choose from.
Any idea, what this could be about?


You're probably running Vista and installed the WaveRT drivers. The Kernel Streaming stuff doesn't work with them, so you just have to install the normal non-WaveRT drivers.
With WaveRT drivers, bitperfect output will be possible when there is a WASAPI (Windows Audio Session Application Programmable Interface) plugin which supports the exclusive mode.
Title: Homebrew CMI 8738 drivers
Post by: DualIP on 2006-12-31 14:56:03
[/quote]
I haven't been able to get 24 bit output through SPDIF, not even with the official drivers. The specifications are not available/incomplete with regard to this mode.
[/quote]
AFAIK the CMI8738 had a demo program on the CD that was able to play 24 bit wav files.
If I'm correct, you might use it to reverse-engineer 24 bit spdif mode....
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-01-01 07:55:33
AFAIK the CMI8738 had a demo program on the CD that was able to play 24 bit wav files.
If I'm correct, you might use it to reverse-engineer 24 bit spdif mode....


Well, I just tested the official drivers again, and I used the 'Media Rack' demo progam this time. I disabled the analog stuff in the 'CMI Audio Config' applet and set the SPDIF-out to 48kHz. The results are still the same: the contents of the main registers are virtually identical, no matter if a 16 bit or 24 bit file is played. Additionally, I tested the official drivers against the kernel streaming with identical results.
This strongly suggests that the hardware doesn't have the capabilites for playing 24 bit streams, and that the entire functionality for that resides in the official drivers. I haven't got the means to tell a 16 bit stream from a 24 bit stream, and this feature might not have been implemented in the official drivers for some reason, so there's still some (albeit very limited) uncertaintly left.
By the way, the 'Dolby Digital Live technology' marketing mumbo-jumbo for the more expensive cards (Auzentech) is just another 'marketing gag' - the hardware should be almost identical except for a few register flags or eeproms or some other marks. The actual encoding happens entirely in the drivers.
Title: Homebrew CMI 8738 drivers
Post by: wdekler on 2007-01-01 14:56:55
I've seem to run into some trouble with the drivers. After replacing an 8738 with an 8768 card using kernel stream output started failing (error opening device). I replaced the card with the previous 8738 but that didn't help.

At the end I had to revert to the original Terratec Aureon 5.1 drivers which still worked. Is there a way for to troubleshoot what's happening? The debug log of the Winamp kernel streaming plugin only says that it can't create a render pin which doesn't help much either. Also Foobar and Reclock don't work with kernel output anymore so it doesn't seem to be application specific.


Thanks!

edit: and a happy 2007!
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-01-01 17:23:05
I've seem to run into some trouble with the drivers. After replacing an 8738 with an 8768 card using kernel stream output started failing (error opening device). I replaced the card with the previous 8738 but that didn't help.

At the end I had to revert to the original Terratec Aureon 5.1 drivers which still worked. Is there a way for to troubleshoot what's happening? The debug log of the Winamp kernel streaming plugin only says that it can't create a render pin which doesn't help much either. Also Foobar and Reclock don't work with kernel output anymore so it doesn't seem to be application specific.


Thanks!

edit: and a happy 2007!


Uhm.. Windows prefers signed over unsigned drivers and installs them silently if they are in the inf cache. So what you should try is to delete all the oem*.inf files from the \windows\inf folder and disable all the stuff which got put on your system during previous installations. I think that some cmedia application is blocking the kernel mixer in some way, so you should disable all the 'mixer.exe', 'rundll32 CMICNFG3.cpl' etc stuff in the 'Startup' tab of msconfig.exe, reboot and install my drivers fresh.
Title: Homebrew CMI 8738 drivers
Post by: wdekler on 2007-01-02 00:29:44
Thanks for the advice! It's finally working again.

That c-media mixer had slipped in (probably signed driver preference of XP as you wrote) and then a lot of cleaning up with sysinternals autostarts.

Next, the Terratec card could not be recognized anymore as an 8738 device, but putting it in another PCI slot "fixed" this....   

Winamp started playing then, still no sound, so disabling a lot of programs at startup and it was working (I'll find out later which was one of them was responsible).

Now I'm using an 8768 card which seems to work at 24bit, but the dac reports no sample rate... The winamp kernal log reports that a 24bits pin is created at the second attempt:

Attempting to CreateRenderPin with the following WaveFormat (2nd attempt):
Format.nChannels            = 2
Format.nSamplesPerSec      = 44100
Format.wBitsPerSample      = 24
Format.nBlockAlign          = 6
Format.nAvgBytesPerSec      = 264600
Format.cbSize              = 0
Samples.wValidBitsPerSample = 0
dwChannelMask              = 00000000


OpenOutput: Successfully Created Pin, Format - BPS: 24 FREQ: 44100 NCHANNELS: 2 VALIDBPS: 0
Output Opened

Foobar also plays at 24bits and again the dac remains silent.
Title: Homebrew CMI 8738 drivers
Post by: Sin Jeong-hun on 2007-01-02 06:48:59
(http://explorer.x-y.net/data/1.png)
Minimum level
(http://explorer.x-y.net/data/2.png)
Maximum level
(http://explorer.x-y.net/data/3.png)
Certified driver!?

I have a CMI 8738 sound card. Windows Vista (32bit) automatically installed a driver for this device. I'm a simple man, all I need is just the simple 2 channel speaker output and microphone input. I don't need SPDIF or other advanced features. But as you see in the screen capture, the maximum microphone input level is 0DB! I can't record my voice. What is wrong? Do you have the same problem or my sound card is out of order? This sound sound card works fine under Windows XP.
Title: Homebrew CMI 8738 drivers
Post by: wdekler on 2007-01-02 13:03:53
I noticed that the driver sometimes generates output at 96khz while the source is clearly of a lower sample rate (for example, online radio). 

At this moment I'm listening to http://portal.omroep.nl/radio4 (http://portal.omroep.nl/radio4) (use "luister live"). When I select the 96kbit stream a sample rate of 44.1khz is displayed, but when I select the 32kbit stream the samplerate jumps to 96khz.

The WMP stream properties state that the samplerate of the 32kbit stream is 32khz, which is below the 8768 (and my DAC's) capabilities. Is it the chip automatically choosing the samplerate in this case?


@Sin Jeong-hun

(http://explorer.x-y.net/data/3.png)
Certified driver!?

I have a CMI 8738 sound card. Windows Vista (32bit) automatically installed a driver for this device. I'm a simple man, all I need is just the simple 2 channel speaker output and microphone input. I don't need SPDIF or other advanced features. But as you see in the screen capture, the maximum microphone input level is 0DB! I can't record my voice. What is wrong? Do you have the same problem or my sound card is out of order? This sound sound card works fine under Windows XP.


You're not using the driver written by Dogbert, try installing the correct driver mentioned on the first page.

Also, you seem to have Realtek audio with your hardware, are you sure you're using the correct microphone jack? Maybe the Realtek hard and software works fine with the mic...? It is perfectly capable of meeting your requirements.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-01-02 15:02:05
The WMP stream properties state that the samplerate of the 32kbit stream is 32khz, which is below the 8768 (and my DAC's) capabilities. Is it the chip automatically choosing the samplerate in this case?


The kernel mixer actually sets the sample rate. If the soundcard/driver doesn't support a specific sample rate, presumably a sample rate is chosen to which a conversion is easy with regard to calculating expense. For instance, 32 kHz can easily be upsampled to 96 kHz because the 'missing' two samples are simply filled by copying the original sample. So it's easy to upsample a given sample rate to a higher sample rate if they're divisible without remainder, e.g. (96kHz modulo 32 kHz)=0.
Title: Homebrew CMI 8738 drivers
Post by: DualIP on 2007-01-03 19:12:38
Dogbert,

I hooked up my oscilloscope to a CMI8738 SPDIF output, and studying the resulting waveforms I draw these conclusions:

1) original driver V 5.12.1.644 (identical results on 6.39)
SPDIF OUTPUT IS LIMITED TO ONLY 14 BIT RESOLUTION!!
sorry for the caps 
I tested this using both foobar2000 and windows media player on a clean XP install
Moreover I also tested the C-Media audio rack on 24 bits content, also ending up with only 14 audio bits.

(I created the 24 bit content in cooledit. first I converted a file to 32 bits sample depth. Then I reduced amplitude by 90 dB, to create LSB content. Then I tried all 6 modes cooledit could store this file to wav)
The 24 bit is claimed by cmedia is bogus!

2) Linux (Ubuntu edgy Alsa)
After counting bits in the waveform over and over, I still was confused about the missing 2 bits, so I tested in Linux.
Right away I saw the 2 extra bits, not only confirming my aritmetic skills  but also proving the device 16 bit capability.


3) your driver CMIDriver-0.9.8-bin-x86.  Date 2-1-2007
Also your driver gives correct 16 bits spdif resolution



btw: Is there a way with your driver to set spdif mode without the cmedia mixer?
I'd like to have these controls in control panel/ sound and audio devices / tab audio / playback device -advanced
Title: Homebrew CMI 8738 drivers
Post by: CiNcH on 2007-01-04 01:01:53
I am wondering why I have to switch to 2 channel or earphone mode in driver configuration in order to activate the S/P-DIF with the original driver!? Are rear and center/subwoofer outputs and S/P-DIF using the same port within the microcontroller?

I will have a look at this driver too.

Hardware is a Terratec Aureon 5.1 and an external AC3/DTS decoder connected via TOS-Link.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-01-04 02:55:11
DualIP, thanks a lot for your effort! The first result is suprising, to say at least. I would not have expected them to skip on the 16 bit spdif mode... You got one thing though: officially, the 24 bit modes are only supported by the 8768 chip.
Under XP, the spdif stuff can be turned on/off with sndvol32.exe - but I'm currently working on a small application (control panel applet) which allows you to set most of the stuff on the card and allow/disallow formats, e.g. for limiting the spdif out to a specific sample rate.

I am wondering why I have to switch to 2 channel or earphone mode in driver configuration in order to activate the S/P-DIF with the original driver!? Are rear and center/subwoofer outputs and S/P-DIF using the same port within the microcontroller?


From the driver's perspective, there's actually no way of telling whether the stream which enters the kernel mixer has 6 channels or 2 channels. Let's say, the 5.1 channel mode is enabled and you open a stereo mp3, 48kHz, 16bit. The kmixer receives the stream and queries the driver if it can currently play a 6 chan stream, 48kHz, 16bit.
If the driver denies that request here, the kmixer sends down another query whether a stream with different sample rate, channel count etc works, till it finds a working configuration.
If the driver acknowledges the 6ch/48kHz/16bit request, the kmixer opens a 6 channel stream and upsamples the 2 channel stream to 6 channel by simply zero-padding the other channels. S/PDIF is practically limited to 2 channels, so the S/PDIF port must be disabled.
If you try to play a 6 channel stream, the behaviour of the kmixer is exactly the same - the first thing it does is to ask for 6ch support.
This is actually one of the more annoying design limitations of Windows, because it's entirely braindamaged and should have been fixed eons ago.
Title: Homebrew CMI 8738 drivers
Post by: DualIP on 2007-01-04 04:40:13
officially, the 24 bit modes are only supported by the 8768 chip.

Two datasheets I have (CMI8738_4ch_spec.pdf v1.3 and cmi8738_6ch_datasheet.pdf V1.5) both claim 24 bit SPDIF in/out.


For instance, 32 kHz can easily be upsampled to 96 kHz because the 'missing' two samples are simply filled by copying the original sample.

Proper sample rate conversion isn't that easy!
The method you suggest would result in massive energy content for frequencys above 16kHz due to aliasing, which at higher volumes might even damage tweeters.
Lineair interpolation would already be better, but going from 11.025 to 44.1, I would still hear ill effects of it. Proper resampling requires lots of calculations using FIR filters.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-01-04 14:54:35
Quote
Two datasheets I have (CMI8738_4ch_spec.pdf v1.3 and cmi8738_6ch_datasheet.pdf V1.5) both claim 24 bit SPDIF in/out.

That's not the only thing the specs are wrong about. For the 8738, C-Media doesn't claim 24 bit connectivity in their advertising though: http://www.cmedia.com.tw/?q=en/pci_audio (http://www.cmedia.com.tw/?q=en/pci_audio)
What bothers me is that most resellers of the 8768 card boldly advertise with "96kHz/24bit digital output", even though this claim is factually wrong.

Quote
Proper sample rate conversion isn't that easy!
The method you suggest would result in massive energy content for frequencys above 16kHz due to aliasing, which at higher volumes might even damage tweeters.
Lineair interpolation would already be better, but going from 11.025 to 44.1, I would still hear ill effects of it. Proper resampling requires lots of calculations using FIR filters.

OK, I made a gross oversimplification, but the point I was trying to make still holds true.
Title: Homebrew CMI 8738 drivers
Post by: CiNcH on 2007-01-04 18:15:03
Thanx for the explanation.

I have now tried your driver v0.9.8 under WinXP SP2 and won't return to the original one.

The things I liked:(I am using both, 6-channel direct analog connection and optical S/P-DIF connection for AC3/DTS passthrough)

Those 3 points are much of an improvement over the original driver for me! Of course, 6-channel mode also works perfectly with the original driver, but it is not that easy to switch to the S/P-DIF.
Hope you will keep this automated switching even when introducing your control panel...
Also bitperfectness sounds quite nice, however I can't spot any difference to the crippled 14-bit output  .

I am using AC3Filter and tested AC3 passthrough, DTS passthrough and 6-channel-direct, not recognized any flaws yet...

BIG THANX FOR YOUR EFFORT! GREAT PROJECT!
Title: Homebrew CMI 8738 drivers
Post by: CiNcH on 2007-01-05 16:37:44
Ok, found a problem within 6-channel-mode (3/2+SW in AC3Filter).

With the original driver 3.5 mm stereo jacks from left to right are as follows:

Center/Subwoofer - Rear - Front

With your driver:

Rear - Center/Subwoofer - Front

Seems as if Rear and Center/Subwoofer are beeing swapped.

I have recognized it while watching a movie with Dolby 5.1. But it can more easily be tested with the following 6-channel audio file: click (http://download.microsoft.com/download/winmediatech40/Utility/1.0/W98NT42KMeXP/EN-US/6channel.exe)
Title: Homebrew CMI 8738 drivers
Post by: Egor on 2007-01-05 20:20:25
Ok, found a problem within 6-channel-mode (3/2+SW in AC3Filter).

I've already reported the same problem to Dogbert. The issue will be resolved with a forthcoming control panel for the drivers.
Title: Homebrew CMI 8738 drivers
Post by: DualIP on 2007-01-06 12:59:36
1) In my previous post in this topic, I reported the original 8738 driver outputs only 14 bit SPDIF data, based on viewing osciloscope waveforms.
Today, I hooked up my yamaha amplifier and tested with dts wav files.
Using the original CMI8738 driver, there was no player/setting to make the amplifier decode the DTS data, and all I heard was an ugly noise
However, using Dogberts driver, hardware DTS decoding worked fine right away, both in wmp and foobar.
This is exactly what I expected from viewing the oscilloscope waveforms: Since the original driver only transfers 14 out of 16 bits, data is lost, and the stream is no longer detected as a valid DTS signal

2) Dogberts driver not only auto switches between 44.1 and 48 kHz sample rate, (original CMI8738 driver needs manual adjusting) but dogberts driver also can output 96kHz sample rate! (according to 8738 specs 96kHz isn't supported)

All odd sample rates (11.025 22.050 24.000 and 32.000) I throw at wmp are automatically resampled to 96kHz. However the pitch is way off at 11.025, but that must be a windows problem
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-01-06 17:22:49
Seems as if Rear and Center/Subwoofer are beeing swapped.


That's a general issue: there's a major difference in the order in which the audio samples are interleaved. The hardware expects FL - FR - BL - BR - Center - LFE, Windows can only provide FL - FR - Center - LFE  - BL - BR. However, a custom Audio GFX filter (http://msdn2.microsoft.com/en-us/library/ms790039.aspx) (Windows XP) or a sAPO (http://www.microsoft.com/whdc/device/audio/vista_sysfx.mspx) (System Audio Processing Object, Windows Vista) could be put in place before the driver which would then swap the samples. Currently, I don't have any plans for implementing these though.
Title: Homebrew CMI 8738 drivers
Post by: CiNcH on 2007-01-06 22:44:14
Don't think it is worth the time implementing such a filter. Exchanging the plugs does the trick and is less prone to bugs  .

BTW, there is a new release, let me take the opportunity to announce it  , version 0.9.9 with a control panel...
Title: Homebrew CMI 8738 drivers
Post by: DualIP on 2007-01-10 10:19:23
I just tried the 0.9.9 driver and like the control panel applet.
One bug I found so far:
Using control panel you can generate test tones to check wiring&speaker setup.
However, both Center and Subwoofer are sent to the same channel of a mini-jack, whereas the other channel of this mini-jack remains silent.
I tested this using two different cards (trust 511 and sweex5.1)
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-01-11 15:47:02
I just tried the 0.9.9 driver and like the control panel applet.
One bug I found so far:
Using control panel you can generate test tones to check wiring&speaker setup.
However, both Center and Subwoofer are sent to the same channel of a mini-jack, whereas the other channel of this mini-jack remains silent.
I tested this using two different cards (trust 511 and sweex5.1)


Confirmed and fixed with the freshly released version 1.0.0, thanks.
Title: Homebrew CMI 8738 drivers
Post by: DualIP on 2007-01-17 09:13:00
found some issues in 1.0.0 :

-in playback mixer, A/V input mute switch seems to be toggled
-in playback mixer, setting microphone slider at it's lowest position doesn't kill mic input fully (as it does with original driver)


moreover, can your driver be used for analog in?
I tried netmeeting audio tuning wizard (XP: start, run, conf...) but didn't manage to get input from mic, CD A/V and line inputs.  For some inputs, netmeetings level meter seems to be stuck at max volume.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-01-18 13:17:08
first of all, thanks for doing the cumbersome testing.

-in playback mixer, A/V input mute switch seems to be toggled

By A/V, do you mean the line or the analog/AUX or the CD playback mute switch?

Quote
-in playback mixer, setting microphone slider at it's lowest position doesn't kill mic input fully (as it does with original driver)

OK, I have to test this. I suspect that the original drivers toggle the mute switch internally if the volume slider is at its lowest position.

Quote
moreover, can your driver be used for analog in?

Yeah, I tried the silly speech recognition thing in Vista the other day, and it worked.

Quote
I tried netmeeting audio tuning wizard (XP: start, run, conf...) but didn't manage to get input from mic, CD A/V and line inputs.  For some inputs, netmeetings level meter seems to be stuck at max volume.

This might be a netmeeting issue (it's software from msft after all), but I'll take a look at it.
Title: Homebrew CMI 8738 drivers
Post by: DualIP on 2007-01-18 16:54:06
[quote name='Dogbert' date='Jan 18 2007, 14:17' post='465294']
By A/V, do you mean the line or the analog/AUX or the CD playback mute switch?[/quote]

I discovered this when I hooked up CDROM audio cable to the wrong input and didn't get audio when I maxed & unmuted all.
Indeed I fed the audio to analog/aux/AV input.

Quote
I suspect that the original drivers toggle the mute switch internally if the volume slider is at its lowest position.

Or your lowest position doesn't correspond to vol=0 setting.


Quote

....This might be a netmeeting issue (it's software from msft after all), but I'll take a look at it.

Netmeeting works normally on standard cmedia driver.

I tried the silly speech recognition thing in Vista the other day, and it worked.[/quote]
I'm testing on a pretty clean XP install. You won't find netmeeting in vista...


another question:
Some audio cards come with software ac3 and/or dts encoding. Why isn't this software useable on any card that can passthrough AC3 & DTS (like 8738)?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-01-18 18:18:37
Quote
I discovered this when I hooked up CDROM audio cable to the wrong input and didn't get audio when I maxed & unmuted all.
Indeed I fed the audio to analog/aux/AV input.


Windows XP plays audio CDs digitally by default with the effect that the analog output of the CDROM stays silent.
The external analog inputs (Mic, LineIn) work here on a freshly installed XP, and the internal inputs aren't much differently handled.

Quote
Or your lowest position doesn't correspond to vol=0 setting.

Mhh.. I just tested that and the lowest position does kill the mic fully (to the extend that you can't hear loud input fed to the mic jack).

Quote
Netmeeting works normally on standard cmedia driver.

I tested this, too, with the result that netmeeting functions as to be expected.

My XP version is xpsp_sp2_gdr.050301-1519, and I installed it today. All the latest patches and security updates have been applied.

This seems to be a very nasty bug because I can't reproduce it.

Quote
I'm testing on a pretty clean XP install. You won't find netmeeting in vista...

sndrec32, the Speech Recognition and all the other Windows applications presumably all use the Win32/WaveMM API, so it shouldn't matter.


Quote
another question:
Some audio cards come with software ac3 and/or dts encoding. Why isn't this software useable on any card that can passthrough AC3 & DTS (like 8738)?


You're correct - the encoding ('Dolby Digital Live', 'DTS Live', 'DTS Connect' etc) happens entirely in software, or in the drivers, to be more specific. I suspect that the hardware of these 'premium' cards is identical with the exception of the subsystem identifier and the subsystem vendor identifier and possibly some flags in the internal registers which gets checked by the official drivers. The encoding features get presumably enabled/disabled according to these flags.
NVidia has done similiar things with the GeForce / Quadro series.
So, if you buy one of these cards, you're effectively paying an extra 30$ for a few toggled bits.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-01-31 20:36:05
A new version (1.0.2) has been released.
Title: Homebrew CMI 8738 drivers
Post by: Dac on 2007-02-03 14:16:34
A new version (1.0.2) has been released.



hello

I'm trying tu use your masterpiece with my Terratec Aureon Fun (XP SP2). It doesn't seem to work for me, first I get "the system cannot find the file specified" when openDevice appears, then control panel always crashes when applying changes. Any hints on that? Did I do something wrong?

thanx
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-02-03 14:39:01
I'm trying tu use your masterpiece with my Terratec Aureon Fun (XP SP2). It doesn't seem to work for me, first I get "the system cannot find the file specified" when openDevice appears, then control panel always crashes when applying changes. Any hints on that? Did I do something wrong?

thanx


It looks as if my driver hasn't been installed properly. I suggest that you try to install it manually - there's a how-to on my page.
Title: Homebrew CMI 8738 drivers
Post by: Any2 on 2007-02-03 17:37:24
Hello

every time I have been installing CMI8738 64-bit driver (recently it was 1.01, 1.02 and 1.03 version) I've got following error (copy->paste from SystemEventLog):

Error code 000000000000000a, parameter1 fffff6fb7ea04008, parameter2 0000000000000002, parameter3 0000000000000000, parameter4 fffff8000101f605.
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp (http://go.microsoft.com/fwlink/events.asp).

Could you take this event into consideration when you will be developying this very interesting driver.
BTW it happens each time the computer is booted-up and shutted-down but not always it restarts (sometimes only above event is logged in).

Best regards
Any
Title: Homebrew CMI 8738 drivers
Post by: Dac on 2007-02-03 18:49:17
It looks as if my driver hasn't been installed properly. I suggest that you try to install it manually - there's a how-to on my page.


very fast response. will try, thank you 
Title: Homebrew CMI 8738 drivers
Post by: Any2 on 2007-02-03 19:06:39
It looks as if my driver hasn't been installed properly. I suggest that you try to install it manually - there's a how-to on my page.

Thank you however I had done so because setup only started but could not install driver. Then I did it using Device Manager and update driver operation. It works only when I didn't shutdown or boot-up my PC. I ahve XPx64 Windows.
Has anyone a case  like me?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-02-03 20:15:15
every time I have been installing CMI8738 64-bit driver (recently it was 1.01, 1.02 and 1.03 version) I've got following error (copy->paste from SystemEventLog):

Error code 000000000000000a, parameter1 fffff6fb7ea04008, parameter2 0000000000000002, parameter3 0000000000000000, parameter4 fffff8000101f605.
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp (http://go.microsoft.com/fwlink/events.asp).


Thanks for the bug report. Can you provide me with a minidump of the crashes for further analysis?
Title: Homebrew CMI 8738 drivers
Post by: Any2 on 2007-02-03 20:51:09
Thanks for the bug report. Can you provide me with a minidump of the crashes for further analysis?

Yes,
how I can provide you with minidumps? Send via email or is it possible to add into the forum post?
Please answer and I will deliver minidumps.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-02-03 20:54:51
Yes,
how I can provide you with minidumps? Send via email or is it possible to add into the forum post?
Please answer and I will deliver minidumps.


Windows puts them into the folder "C:\Windows\Minidump" everytime the system crashes. They are roughly ~100kB in size. Please forward the dump(s) to my mail address which you find on my homepage.
Title: Homebrew CMI 8738 drivers
Post by: Any2 on 2007-02-03 21:28:52
Windows puts them into the folder "C:\Windows\Minidump" everytime the system crashes. They are roughly ~100kB in size. Please forward the dump(s) to my mail address which you find on my homepage.

already sent.
Hear from you tomorrow (my time zone is GMT+1 so we have night now)
Title: Homebrew CMI 8738 drivers
Post by: mugen on 2007-02-04 08:12:29
Can you make drivers for the ALC882M so I can get bit-perfect in XP? Pleeeeeease?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-02-04 10:09:30
Can you make drivers for the ALC882M so I can get bit-perfect in XP? Pleeeeeease?

That'll be 20000$ plus testing expenses then  .
Title: Homebrew CMI 8738 drivers
Post by: wdekler on 2007-02-04 10:30:21
Can you make drivers for the ALC882M so I can get bit-perfect in XP? Pleeeeeease?


Bit-perfect drivers already seem to be available for this chip: http://www.avsforum.com/avs-vb/archive/ind...567562-p-2.html (http://www.avsforum.com/avs-vb/archive/index.php/t-567562-p-2.html) 

By the way, will the 8738 driver also support the 8787/8788 chips in a future version? Or does this require a totally different driver?

CMI claims 24bit capability:
Quote
Integrated 192k/24-bit S/PDIF transmitter


but I've read those claims before somewhere... 
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-02-04 10:55:48
By the way, will the 8738 driver also support the 8787/8788 chips in a future version? Or does this require a totally different driver?

Dunno - if it's just a revision of the old 8738 like the 8768, then it's no problem, but if it's a new design from the scratch, then probably not.

Any2, I received your dumps, thanks. Can you provide me with any additional information about the crashes? Do they happen exactly after you installed the drivers or when you are trying to play something? Also, is your memory OK?
Title: Homebrew CMI 8738 drivers
Post by: mugen on 2007-02-04 11:03:50

Can you make drivers for the ALC882M so I can get bit-perfect in XP? Pleeeeeease?


Bit-perfect drivers already seem to be available for this chip: http://www.avsforum.com/avs-vb/archive/ind...567562-p-2.html (http://www.avsforum.com/avs-vb/archive/index.php/t-567562-p-2.html) 


Not for the M variant, unfortunately.  Whether or not DD Live is enabled, the XP drivers lock the optical to 48kHz and resample everything so that, in the rare event that it is enabled, no problems arise.  Realtek don't intend to 'fix' it under XP, and, while that 'feature' is not in the Vista drivers, Vista is both a pain in the ass and a big hit to laptop battery life 
Title: Homebrew CMI 8738 drivers
Post by: Any2 on 2007-02-04 13:00:34
Dunno - if it's just a revision of the old 8738 like the 8768, then it's no problem, but if it's a new design from the scratch, then probably not.

Any2, I received your dumps, thanks. Can you provide me with any additional information about the crashes? Do they happen exactly after you installed the drivers or when you are trying to play something? Also, is your memory OK?

With regards to what and when happen it seems to be generally OK after installing and also using it e.g. "Sound Recorder" works (record and playback). The problem is mainly during start-up the XP 64-bit Edition what often causes the next restart etc. On the other hand during shutdown  it happens that EventSystemLog is updated with the error message and after starting-up again a Windows message about the crash is dispayed with sending a raport to Microsft etc. The memory I have is rather good. Theay are KingStone 3200 DDR in amount of 1024MB (2x512 dual channel) running at 400MHz. They work perfectly with the older W2K system to where I have checked all with SiSoftSandra 2007L. So I am afraid the only case is when CMI8738 driver is installed. 
BTW some rows in minidumps may be as a result of other my testing i.e. nvidia a new graphic driver, gtr2demo game etc. So please only look at CMI related information
Regards
Title: Homebrew CMI 8738 drivers
Post by: Egor on 2007-02-04 13:13:46
The memory I have is rather good. Theay are KingStone 3200 DDR in amount of 1024MB (2x512 dual channel) running at 400MHz. They work perfectly with the older W2K system to where I have checked all with SiSoftSandra 2007L.

It is recommended to test memory with Memtest86+ (http://www.memtest.org) (it works also on x64).
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-02-04 17:10:25
BTW some rows in minidumps may be as a result of other my testing i.e. nvidia a new graphic driver, gtr2demo game etc. So please only look at CMI related information
Regards

Well, they are all but one caused by an attempt to access a mapped memory page on an IRQ level too high (IRQL_NOT_LESS_OR_EQUAL).
The dumps are unfortunately a bit inconclusive, so I installed XP Pro x64 today and toyed around with it, and the driver works OK with the exception of MPU401 and the installer.

The driver stores the mixer settings in the registry during shutdown, and there have been some problems in the past - but I think they are resolved by now. Anyhoo, I'll do some further testing.
Title: Homebrew CMI 8738 drivers
Post by: Any2 on 2007-02-04 19:52:33
It is recommended to test memory with Memtest86+ (http://www.memtest.org) (it works also on x64).

Thank you Egor. I have just downloaded it, burned CD and booted the system to test the memory. It takes about 22 minut to complete the whole process and a result is PASS. I am happy that it is not a hardware but on the other hand still the CMIx64 problem is not solved.
Maybe a remark about Panda Antivirus 2007 (Final release 2.01) is important as I have been using it so far together with Windows XP Firewall. Anyway if I uninstall CMI driver the problem disappear...
Please let you also know that I have SoundMax x64 driver for a audio chip on my motherboard (Asus board and original asus x64 audio driver) too and it works fine. The only case I have decided to put additional sound card into the PCI slot is that I have no microphone available in the SundMax jack.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-02-04 21:36:37
Anyway if I uninstall CMI driver the problem disappear...


Since when have you been using my drivers?

I suspect that something goes wrong when the settings are being saved.

Under Vista, the settings are saved in this key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}\0000\Settings
I'm not sure if it's the same for XP, but you can search for "ChannelMask", "Node0Left" etc.

Can you confirm that these values exist?
Title: Homebrew CMI 8738 drivers
Post by: Any2 on 2007-02-04 22:15:38
Anyway if I uninstall CMI driver the problem disappear...


Since when have you been using my drivers?

I suspect that something goes wrong when the settings are being saved.

Under Vista, the settings are saved in this key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}\0000\Settings
I'm not sure if it's the same for XP, but you can search for "ChannelMask", "Node0Left" etc.

Can you confirm that these values exist?

Yes, I can confirm that both "ChannelMask" & "Node0Left exist but under
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}\0015\Settings
and the values are:
ChannelMask=3
Node0Left=fff20010
It is  amazing that a registry key exists eventhough I have uninstalled the driver...
Title: Homebrew CMI 8738 drivers
Post by: DualIP on 2007-02-05 06:04:30
Does crash happen when the system-startup sound is started?
Title: Homebrew CMI 8738 drivers
Post by: Any2 on 2007-02-05 13:06:18
Does crash happen when the system-startup sound is started?

Probably yes, however when I had problems with this I have uninstall it.
But if it is neccesary I can install it agian although would prefer to test a new release of this driver (the current one doesn't work properly in my system surely  )
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-02-05 15:19:12
Probably yes, however when I had problems with this I have uninstall it.
But if it is neccesary I can install it agian although would prefer to test a new release of this driver (the current one doesn't work properly in my system surely  )

I need to be able to reconstruct the error in order to fix this which I can't at the moment. If you have any more minidumps, please send them to me.
Additionally, I'd like you to find out if the cmedia card shares an interrupt with another device. Do you have any non-microsoft services installed other than the one from the Panda A/V (start->run->msconfig->services->hide all microsoft services)?
Title: Homebrew CMI 8738 drivers
Post by: Any2 on 2007-02-05 16:36:50
I need to be able to reconstruct the error in order to fix this which I can't at the moment. If you have any more minidumps, please send them to me.
Additionally, I'd like you to find out if the cmedia card shares an interrupt with another device. Do you have any non-microsoft services installed other than the one from the Panda A/V (start->run->msconfig->services->hide all microsoft services)?

I haven't more minidumps as I uninstalled cmi driver vecause of problems. However if you need new ones please let me know and I install the driver again.
All non-microsoft services are as in the picture below:
(http://testowa.istrona.com/services.jpg)
Title: Homebrew CMI 8738 drivers
Post by: Any2 on 2007-02-05 21:46:54
(...)However if you need new ones please let me know and I install the driver again.(...)

I have just installed a cmi driver again and have checked not only Windows sound recorder but also Skype and it is my wondering that when I record a message via Skype test call the playback from Skype is very slow. I've tried many times and even I speak quickly the feedback is very,very slow. I don't know the reason - maybe it is why that only Skype 32-bit version is available now. Have anyone such case like me?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-02-05 22:41:13

(...)However if you need new ones please let me know and I install the driver again.(...)

I have just installed a cmi driver again and have checked not only Windows sound recorder but also Skype and it is my wondering that when I record a message via Skype test call the playback from Skype is very slow. I've tried many times and even I speak quickly the feedback is very,very slow. I don't know the reason - maybe it is why that only Skype 32-bit version is available now. Have anyone such case like me?


confirmed. Oddly enough, the back and front speakers are swapped here.
Title: Homebrew CMI 8738 drivers
Post by: Any2 on 2007-02-06 07:15:53

(...)the playback from Skype is very slow(...)

confirmed. Oddly enough, the back and front speakers are swapped here.

Hello, so I have tested another feature. At first I have check SoundRecorder again and it works fine however when I go to the SoundsAndAudioDevices (from the control panel) and choose Voice and next Test hardware button the hardware checks pass but what I can hear next is two or three times quicker than I have recorded during this test. What is it?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-02-06 11:07:05
Hello, so I have tested another feature. At first I have check SoundRecorder again and it works fine however when I go to the SoundsAndAudioDevices (from the control panel) and choose Voice and next Test hardware button the hardware checks pass but what I can hear next is two or three times quicker than I have recorded during this test. What is it?


Wrong sample rate. Fixed with the next release.
Title: Homebrew CMI 8738 drivers
Post by: Any2 on 2007-02-07 12:11:55
(...)I have just installed a cmi driver again and have checked not only Windows sound recorder(...)

Probably I have found something interesting. As I show above I have only a few non-microsoft services installed but what is also working on my system is Speedfan (4.3x). I observe that in some circumstances when a computer starts and speedfan scans ISA & SMS buses and CMI is installed either WMIxWDM or other bus error occurs. However it is still difficult to state what (CMI or SpeedFan) is the main reason because since I had uninstalled the driver problem disappears and also when SpeedFan is not working I have not observe such errors. On the other hand when I use other audio driver (SounMax ADI1986) and SpeedFan together no problems appear too. I have short time to test CMI and SpeedFan together so if any one could repeat such test it will be very helpful. What do you think Dogbert?
Title: Homebrew CMI 8738 drivers
Post by: Any2 on 2007-02-07 18:57:06

(...)but what I can hear next is two or three times quicker than I have recorded during this test. What is it?


Wrong sample rate. Fixed with the next release.

Great job Dogbert!Current version 1.05 works fantastic.As well an installer (64-bit) as the driver. I hope it will still work so good.
If I have some new comments I will inform you.
Title: Homebrew CMI 8738 drivers
Post by: teemue on 2007-02-10 08:00:58
I am having this kind of issue:

At the moment, the last version of these drivers I can use are version 1.0.1 (or 1.0.2, not tested). BTW from 1.0.3 to the newest drivers I am unable to use due some resource problem  Device manager tells me this:
Code: [Select]
Code 12
This device cannot find enough free resources that it can use. If you want to use this device, you will need to disable one of the other devices on this system. (Code 12)


I have tried to disable other devices but I'm pretty surprised because older driver works?! Using Vista 32bit, tried both non-WaveRT and WaveRT drivers. Soundcard is Terratec Aureon 5.1
Title: Homebrew CMI 8738 drivers
Post by: YDGMMS on 2007-02-10 11:24:03
I am having this kind of issue:

At the moment, the last version of these drivers I can use are version 1.0.1 (or 1.0.2, not tested). BTW from 1.0.3 to the newest drivers I am unable to use due some resource problem  Device manager tells me this:
Code: [Select]
Code 12
This device cannot find enough free resources that it can use. If you want to use this device, you will need to disable one of the other devices on this system. (Code 12)


I have tried to disable other devices but I'm pretty surprised because older driver works?! Using Vista 32bit, tried both non-WaveRT and WaveRT drivers. Soundcard is Terratec Aureon 5.1




I'm also getting the same problem. I'm using a Diamond Media Xtreme7.1 C-Media 8768. Using Vista 32-Bit Business Edition. I tried 1.0.1, but had some other issues that at the time i thought were driver related, but I might need to go back and test. It didn't come up with that resources error though.

Can't seem to get SPDIF working either, may be my wire though.... sigh. Tomorrow's another day.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-02-10 12:20:02
I've enabled UART in version 1.0.2, and that requires an I/O port between 0x300 and 0x330. Can you confirm that there are free I/O ports available in that range?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-02-10 19:00:21
version bumped to 1.0.6 - the driver should now install on systems which spat out previous versions with "code 12".
Title: Homebrew CMI 8738 drivers
Post by: YDGMMS on 2007-02-10 20:49:23
side question: is there a utility that can completely remove all CMedia drivers? I have two Xear3D icons on my control panel + the one for your homebrew drivers. I'd like to completely remove all cmedia related drivers/software.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-02-10 21:19:08
side question: is there a utility that can completely remove all CMedia drivers? I have two Xear3D icons on my control panel + the one for your homebrew drivers. I'd like to completely remove all cmedia related drivers/software.

You just have to delete a few files in the windows\system32 folder. My driver puts the files
Code: [Select]
cmicpl.cpl
cmicontrol.exe

into the system32 folder, the official cmedia drivers copy
Code: [Select]
cmicnfg.cpl
udaprop.dll
audio3d.dll
crlds3d.dll

and some more.

The applets from the control panel are embedded in the cpl files.
Title: Homebrew CMI 8738 drivers
Post by: YDGMMS on 2007-02-11 02:13:23
Well now your drivers work. I get audio from headphones, but I can't get spdif working.

I dunno if its my reciever or my cable, or something i'm missing.

My receiver used to work fine with an old soundcard, but that card shorted out something and stopped spitting out digital and stopped spitting out audio on one output.

I dunno maybe it friend my coax in from my receiver? (all the opticals still work)
Title: Homebrew CMI 8738 drivers
Post by: Mav2000 on 2007-02-11 21:18:30
First of all thank you for your great work so far!
Finally I could get rid of these four year old c-media drivers.

But another question. I'd like to use Spdif for AC3 and DirectSound for Winamp but still be able to use my 5.1 Multichannel Cinch-Out for EAX in games etc.

Is there any hope that this can be implemented? Meaning getting to work Spdif and 5.1 Speaker Set-Up?

Might this work under Vista?

Thx!!
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-02-22 11:51:20
But another question. I'd like to use Spdif for AC3 and DirectSound for Winamp but still be able to use my 5.1 Multichannel Cinch-Out for EAX in games etc.


EAX hasn't been implemented and will never be implemented. You can get 3D sound though, you won't get some effects.
You can use SPDIF and 5.1 sound, you just have to set the speaker configuration to 5.1 before you launch games and to stereo when you're done playing. That's actually not a driver issue but a severe design flaw of Windows.

Version 1.0.7 has been released and an update is strongly recommended.
Title: Homebrew CMI 8738 drivers
Post by: Dac on 2007-03-12 19:49:07
Here I am again.... so, XP SP2 with latest patches, Terratec Aureon Fun with your latest drivers. Foobar2000 v0.9.4.2 with foo_input_dts and foo_out_ks plugins - and I'm trying to play Dire Straits. no luck. this time driver is installed properly, but choosing KS in Foobar results with silence 

for some time I used onboard Soundstorm to get it even in Dolby Digital. it works and my Sony STR-DB798QS gets it right, but Soundstorm is very buggy on my Asus MB so it's disabled again...
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-03-12 20:31:11
for some time I used onboard Soundstorm to get it even in Dolby Digital. it works and my Sony STR-DB798QS gets it right, but Soundstorm is very buggy on my Asus MB so it's disabled again...


Try media player classic instead of foobar. Files with the extension .dts are usually decoded by foobar2000 and then sent to the soundcard as PCM.
Title: Homebrew CMI 8738 drivers
Post by: landsome on 2007-03-18 18:39:38
Hi! PC keeps locking up when I try your drivers; everything works fine until the installation - whether manual or with the installer - tries to copy the control panel file. Then it locks. Tried several driver versions (including 1.0.9) and the behavior is identical. Works fine on my htpc though. Any suggestions anyone?
Title: Homebrew CMI 8738 drivers
Post by: Egor on 2007-03-18 19:24:14
Hi! PC keeps locking up when I try your drivers; everything works fine until the installation - whether manual or with the installer - tries to copy the control panel file. Then it locks. Tried several driver versions (including 1.0.9) and the behavior is identical.

Hi, you should tell more details about your hardware (mainboard chipset, soundcard model, other PCI devices if any), operating system (version and service pack level) and software that may interfere (e.g., antivirus software).
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-03-18 21:13:49
Hi! PC keeps locking up when I try your drivers; everything works fine until the installation - whether manual or with the installer - tries to copy the control panel file. Then it locks. Tried several driver versions (including 1.0.9) and the behavior is identical. Works fine on my htpc though. Any suggestions anyone?


I'd like to ask you for the minidumps for further analysis - Windows creates a minidump in C:\windows\minidump each time it crashes with a BSOD.
Title: Homebrew CMI 8738 drivers
Post by: landsome on 2007-03-20 15:42:24
sorry, no minidump (and no bsod either - just plain ole freeze)
it's not really a big issue, since as long as it works on the htpc it's fine [and by the way, thanks for the effort - it's a real money saver]; just curious whether anybody has seen this before

(system: asrock dual-sata2; venice; 2gb; x800xl; prodigy 7.1 [uninstalled, removed, thoroughly cleaned])
Title: Homebrew CMI 8738 drivers
Post by: landsome on 2007-04-22 08:32:40
one ther question: from the perspective of your drivers, are there any advantages of using an 8768 over a 8738 (digital only)?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-04-22 08:42:38
one ther question: from the perspective of your drivers, are there any advantages of using an 8768 over a 8738 (digital only)?

Good question. The only difference I am aware of is that the analog part of the 8768 can handle 88.2kHz / 96kHz streams whereas the analog part of the 8738 is silent at these sample rates.
So if you just want to use the digital part, there aren't any known differences.
Title: Homebrew CMI 8738 drivers
Post by: Agarwal on 2007-04-22 23:34:34
Hi there,

  I find this project very interesting. I'm currently shopping for a sound card for my HTPC, which will be connected to an external DAC. Could anyone point me to a cheap sound card (author states there are cards for 15usd ) which would work with these drivers? I would also prefer coax over toslink, but will settle for toslink if necessery. Thanks!
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-04-23 13:59:16
I have an incomplete list of supported device on my page - chances are good that you find a supported device when you crosslink their names with a product search engine, e.g. Froogle or eBay or whatever.
Title: Homebrew CMI 8738 drivers
Post by: Agarwal on 2007-04-23 15:38:54
Nice. I failed to see that list on my previous visits to your site, but it will do the job for my search. Thanks a lot

EDIT: Diamond Xtreme 7.1 ordered for ~30$ CDN. Can't wait to test it with this nice driver
Title: Homebrew CMI 8738 drivers
Post by: trs on 2007-04-30 23:42:33
Hi,

I am able to get the driver working on Philips Dynamic Edge CMI8738 via manual installation, if I run setup I get a blank dialogue box with exclamation mark.  Also i noticed that the control panel does not save my settings, and if i open it during playback i get a dialogue box named DirectSoundCreate8() with a message "more data is avaliable".  This is with Windows 2000 and ULI M1575 Southbridge.

Apart from those small problems the driver works well for playback over spdif to my receiver, thanks for developing these drivers it is much appreciated.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-05-01 11:08:02
Hi,

I am able to get the driver working on Philips Dynamic Edge CMI8738 via manual installation, if I run setup I get a blank dialogue box with exclamation mark.  Also i noticed that the control panel does not save my settings, and if i open it during playback i get a dialogue box named DirectSoundCreate8() with a message "more data is avaliable".  This is with Windows 2000 and ULI M1575 Southbridge.

Apart from those small problems the driver works well for playback over spdif to my receiver, thanks for developing these drivers it is much appreciated.


what's the vendor and device ID of the device?
Title: Homebrew CMI 8738 drivers
Post by: trs on 2007-05-01 14:57:53
%*WDM_PSC604.DeviceDesc%=PSC60x,    PCI\VEN_13F6&DEV_0111&SUBSYS_060417AB

I think that is correct
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-05-01 22:20:51
%*WDM_PSC604.DeviceDesc%=PSC60x,    PCI\VEN_13F6&DEV_0111&SUBSYS_060417AB

I think that is correct


OK, thanks for the info. I'll try to reproduce the error on my win2k machine later on.
Title: Homebrew CMI 8738 drivers
Post by: mugen on 2007-05-05 02:35:54
Do you know whether anyone is working on any exclusive mode output plugins for Foobar, et cetera, Dogbert?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-05-05 09:10:25
Do you know whether anyone is working on any exclusive mode output plugins for Foobar, et cetera, Dogbert?


The only WASAPI implementation I've seen so far is n-Track Studio 5.
Title: Homebrew CMI 8738 drivers
Post by: vearutop on 2007-06-04 04:12:03
is it possible to add realtime ac3-encoder to this driver for producing multichannel spdif stream in games and other?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-06-04 16:02:44
is it possible to add realtime ac3-encoder to this driver for producing multichannel spdif stream in games and other?


it is certainly possible since the source code is freely available, but at the present there aren't any encoders publicly available which are fast enough in terms of CPU speed and latency to encode an N channel PCM stream to AC3 in realtime, and I don't have the intention to develop such an encoder.
Title: Homebrew CMI 8738 drivers
Post by: wdekler on 2007-06-15 13:03:08
I've found a problem with the 8738 drivers: I often use hibernation (write memory to disk) and when I start the computer again the 8738 output is silent... Only rebooting solves the problem.

This doesn't happen all the time so it may be difficult to reproduce  I've gone back to the Terratec drivers and they always work without any problem...

This problem happens with several driver versions, including the latest one.

Software: XP SP2
Hardware: AMD X4200, ASUS mobo & two soundcards: 8738 & Via envy
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-06-22 16:21:27
This problem happens with several driver versions, including the latest one.


I've implemented some power management stuff in the current version (1.1.2) which should fix this.
Title: Homebrew CMI 8738 drivers
Post by: wdekler on 2007-06-23 18:51:26
Thanks for the quick update Dogbert! 

First tests seem to indicate that everything is working fine now.
Title: Homebrew CMI 8738 drivers
Post by: PrakashP on 2007-06-23 19:24:16
@Dogbert

Have you taken a look at the aften ac3 encoder? I helped tweaking it a lot speed-wise and I bet it will run nicely in realitme. Just make sure that you don't use threading (increases latency) and set the bitalloc and exponent strategy to simplest. There exists an ALSA aften plugin for realtime encoding in Linux...
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-06-24 10:01:08
@Dogbert

Have you taken a look at the aften ac3 encoder? I helped tweaking it a lot speed-wise and I bet it will run nicely in realitme. Just make sure that you don't use threading (increases latency) and set the bitalloc and exponent strategy to simplest. There exists an ALSA aften plugin for realtime encoding in Linux...


What AC3 encoder? The one from FFmpeg?

The "problem" is that the encoder has to run permanently in kernel space due to the architectural constraints of Windows XP/2000, whereas the ALSA plugins are executed in user mode afaik. Consequently, there are some limitations to obey like maximum execution times, and synchronization issues may arise from that.
sAPO GFX ('system effect audio processing object, global effects') stuff has been introducted in Vista for user mode (?) audio processing - this might be the right place for implementing an AC3 realtime encoder, but I haven't had the time to read up on the documentation from Microsoft to confirm this.
Title: Homebrew CMI 8738 drivers
Post by: wdekler on 2007-06-25 21:29:00
I've just upgraded to Vista and noticed two issues:

Only the wavert driver works, with the regular driver there's no available audio device...?

and

The output is always downsampled to 44.1.

Is this a limitation of the wavert driver? I've set the control panel to allow for all PCM formats up to 96khz and I this worked fine with the same card (Terratec Aureon fun 5.1) and Windows XP.


thanks!
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-06-26 12:20:04
Only the wavert driver works, with the regular driver there's no available audio device...?

That's a Vista bug - the interfaces of the old drivers aren't deleted and re-created when the driver is being upgraded. A workaround is described here (http://cmediadrivers.googlepages.com/faq#q14).

Quote
Is this a limitation of the wavert driver?

That's an intentional design limitation of Vista - the sample rate remains fixed for PCM audio. It can be adjusted ('Advanced' tab), but even if the sample rate of the source and the control panel setting is the same, the audio data is tampered with in some way resulting in the kmixer not being bitperfect anymore. A workaround here is to use non-WaveRT drivers and kernel streaming.
Title: Homebrew CMI 8738 drivers
Post by: wdekler on 2007-06-27 22:26:42
I've re-read the FAQ but I'm not sure how to get the non wavert version to work 

I've manually copied the cmipci.sys (non wavert) over the existing cmipci.sys file but I can't get Winamp to play. I've also tried setting SPDIF as the output device but that didn't help either as it only seems to be useable for non PCM formats (?) which my DAC doesn't accept.

When manually installing the nonwavert driver I got a crash. I'll e-mail the minidump. EDIT: this may have been caused by unloading the Terratec driver as you mention in the documentation.

BTW, will a future version of the control panel be usable to manage two CMI cards in the same machine...?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-06-28 08:48:26
EDIT: this may have been caused by unloading the Terratec driver as you mention in the documentation.

WinDbg spits out:
Code: [Select]
Probably caused by : ntkrpamp.exe ( nt!PnpUnlinkDeviceRemovalRelations+d2 )

This leads to the conclusion that either the terratec/cmedia driver crashes when it is unloaded or my driver does. I haven't got crashes from loading/unloading my driver in eons which gives reason to the same suspicion: the terratec/cmedia drivers caused the crash.

Quote
BTW, will a future version of the control panel be usable to manage two CMI cards in the same machine...?

I tried this in one of my test machines and the second instance can't access the registers of the second card for some reason. This behaviour is reproducible on Linux/FreeBSD, so this doesn't work due to the incapabilities of the hardware.

Btw, you can delete drivers from the repository of Vista from the shell/command prompt with the tool pnputil.exe
Title: Homebrew CMI 8738 drivers
Post by: cbemoore on 2007-07-02 01:19:07
Hi Dogbert,

Thanks for the fantastic drivers! The best I've used yet!

I'm running the latest 1.1.2 drivers on Vista, and outputting SPDIF to a Pioneer AV receiver that decodes DD, DTS and WMA Pro.

Everything works great, except for the following two issues:

- In the Vista control panel, under the "Supported Formats" tab, there is a "test" button where you can check if the soundcard will pass through DD, DTS and WMA Pro. This works perfectly for DD and DTS, but for WMA Pro I get an error message "Windows was unable to play the test tone". But if I enable it anyway, WMA Pro passthrough works perfectly. Only the "Test" feature is broken.

- If I'm running Media Center and put the PC into standby, sound doesn't work correctly when resuming from standby. Sometimes I get silence, and sometimes I get really loud crackly static. If I close and reopen Media Center, it normally starts working properly again (I'm using the latest 1.1.2 drivers with the power management stuff included).

If you could fix these two issues, then these drivers would be perfect for me!

Let me know if I can help with any testing or debugging.

Cheers
Chris
Title: Homebrew CMI 8738 drivers
Post by: richms on 2007-07-02 05:10:02
I'm going to give these drivers a go shortly, like the idea of it switching between 44.1 and 48khz automatically as thats a real PITA to do.

Now, since I have to change it to 2 channel to get spdif out working, but need it on 5.1 to be able to use the analog outs, is there any way to do this from the commandline? Also, is there a way to get foobar2000 to change it back to 2 channel before playing so that the DD and DTS output will work ok?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-07-02 13:18:33
- In the Vista control panel, under the "Supported Formats" tab, there is a "test" button where you can check if the soundcard will pass through DD, DTS and WMA Pro. This works perfectly for DD and DTS, but for WMA Pro I get an error message "Windows was unable to play the test tone". But if I enable it anyway, WMA Pro passthrough works perfectly. Only the "Test" feature is broken.

Thanks for the report - I don't have a receiver which can decode WMA Pro so testing is a bit difficult - I'm guessing that the playback software passes through the WMA Pro stream as AC3/dolby.

Quote
- If I'm running Media Center and put the PC into standby, sound doesn't work correctly when resuming from standby. Sometimes I get silence, and sometimes I get really loud crackly static. If I close and reopen Media Center, it normally starts working properly again (I'm using the latest 1.1.2 drivers with the power management stuff included).

Already reported and this is gonna be fixed in the upcoming version 1.1.3.

Quote
Now, since I have to change it to 2 channel to get spdif out working, but need it on 5.1 to be able to use the analog outs, is there any way to do this from the commandline?

Yes - cmicontrol.exe can be controlled from the command line (/enable51Mode, /stereo). However, changing the channel configuration from 5.1 to stereo and vice versa only works under XP/2k - there were some intentional changes made in Vista which prohibit access to the channel configuration by any application.
Title: Homebrew CMI 8738 drivers
Post by: cbemoore on 2007-07-02 13:57:53
Thanks for the report - I don't have a receiver which can decode WMA Pro so testing is a bit difficult


You shouldn't need a receiver to test this. The "Test" button simply outputs the WMA Pro signal via SPDIF if the soundcard will allow it, regardless of whether your receiver can decode it.

If you get the message "Windows was unable to play the test tone", this means it was rejected by the soundcard. If you get the message "Did you hear the test tone?" this means it was sent successfully, even if your receiver couldn't decode it.

As I've already mentioned, playback works perfectly when you play a WMA Pro soundtrack. Its just the "Test" button that seems to have a problem.

- I'm guessing that the playback software passes through the WMA Pro stream as AC3/dolby.


I believe WMA Pro is a completely separate codec from Dolby Digital or DTS. I've had a quick Google, and this link looks relevant:

http://www.microsoft.com/whdc/device/audio/wmadrv.mspx (http://www.microsoft.com/whdc/device/audio/wmadrv.mspx)
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-07-02 14:50:17
Quote
You shouldn't need a receiver to test this. The "Test" button simply outputs the WMA Pro signal via SPDIF if the soundcard will allow it, regardless of whether your receiver can decode it.
If you get the message "Windows was unable to play the test tone", this means it was rejected by the soundcard. If you get the message "Did you hear the test tone?" this means it was sent successfully, even if your receiver couldn't decode it.

It's not that simple: the question is whether WMA Pro is transmitted correctly if I implement explicit support for it - there are some differences im comparison with AC3/DTS, and it's possible that the codec which sends the WMA Pro-stream as AC3 stream down to the driver does some kind of preprocessing which might be required in the driver itself if WMA Pro passthrough is explicitly supported.

Quote
I believe WMA Pro is a completely separate codec from Dolby Digital or DTS. I've had a quick Google, and this link looks relevant:

Correct - the least common denominator is that all three codecs require passthrough and that there are definitions for KSDATAFORMAT_SUBTYPE_DOLBY_AC3_SPDIF for both AC3/DTS (and even WMA Pro) _and_ explicitly KSDATAFORMAT_SUBTYPE_WMA_SPDIF which makes me suspect that some extra stuff needs to be implemented for WMA-Pro.

Quote
http://www.microsoft.com/whdc/device/audio/wmadrv.mspx (http://www.microsoft.com/whdc/device/audio/wmadrv.mspx)

This document is outdated. The interesting stuff should happen in the ChannelConfig property handler and DataRangeIntersection of the wave miniport driver, and that's where the documentation is scarce. There aren't any examples for WMA-Pro over SPDIF-passthrough in the DDK, so I better keep my hands clean for now.
Title: Homebrew CMI 8738 drivers
Post by: cbemoore on 2007-07-02 14:55:51
I didn't realise it was that complicated!

In any case, WMA Pro passthrough seems to work well with your latest drivers, even though you haven't implemented explicit support.

If you decide to add explicit support in the future, then I'm happy to help with any testing that may be needed.
Title: Homebrew CMI 8738 drivers
Post by: cbemoore on 2007-07-04 14:10:06
In any case, WMA Pro passthrough seems to work well with your latest drivers, even though you haven't implemented explicit support.


I take that back - it doesn't work quite as well as I thought.

Using Vista, with the "WMA Pro Passthrough" checkbox ticked in the Sound control panel, I get the following results:

- The "Test" feature in the sound control panel reports "Windows was unable to play the test tone".
- Windows Media Player downconverts the WMA Pro soundtrack to stereo, and outputs PCM via SPDIF.
- Windows Media Center passes through the WMA Pro soundtrack correctly, and its decoded correctly by my receiver. But after playback has finished, the mixer settings aren't restored correctly. I need to restart Media Center to fix the problem.

This isn't a complaint, since WMA Pro isn't supported in the driver. But I thought I'd write down my findings in case anyone reads my previous comments and gets the wrong idea.

Dogbert, maybe it would be useful to update your web page to mention that WMA Pro isn't supported?

Chris
Title: Homebrew CMI 8738 drivers
Post by: Krylon on 2007-07-09 02:30:42
Hey! I have the Diamond XtremeSound 7.1 and I installed the latest version of these CMI drivers. They installed fine and the output runs fine, but nothing is detecting the analog input. I triple checked to make sure that S/PDIF-in is disabled. It still doesn't seem to be working. Any idea what the problem may be?
Title: Homebrew CMI 8738 drivers
Post by: [JAZ] on 2007-07-09 15:40:05
Hey! I have the Diamond XtremeSound 7.1 and I installed the latest version of these CMI drivers. They installed fine and the output runs fine, but nothing is detecting the analog input. I triple checked to make sure that S/PDIF-in is disabled. It still doesn't seem to be working. Any idea what the problem may be?



Not sure if this replies is of any help (found it in the thread)

Quote
... u can turn off the digital interface by selecting a multi channel configuration in your "sounds and audio devices" control panel applet (number of channels >=4).
The problem you will run into is that the driver "forgets" the channel configuration after each restart.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-07-09 18:55:50
Hey! I have the Diamond XtremeSound 7.1 and I installed the latest version of these CMI drivers. They installed fine and the output runs fine, but nothing is detecting the analog input. I triple checked to make sure that S/PDIF-in is disabled. It still doesn't seem to be working. Any idea what the problem may be?

what input are you trying to record from? microphone? you might want to enable the +20dB boost and unmute it.
Title: Homebrew CMI 8738 drivers
Post by: Koji_kabuto on 2007-07-14 08:18:29

Hi! PC keeps locking up when I try your drivers; everything works fine until the installation - whether manual or with the installer - tries to copy the control panel file. Then it locks. Tried several driver versions (including 1.0.9) and the behavior is identical. Works fine on my htpc though. Any suggestions anyone?


I'd like to ask you for the minidumps for further analysis - Windows creates a minidump in C:\windows\minidump each time it crashes with a BSOD.


Hi all

Same problem here, with Asrock 939Dual-SATA2 motherboard, a cmi 8768, and Athlon X2 4400. No BSOD but a freeze which corrupt system and need a winXP reinstall. Win is a SP2.

I think the problem is with this model of motherboard.



Without reinstall, other device drivers like DVD-reader are corrupted / not activated with an IRQ problem.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-07-14 09:37:01
Same problem here, with Asrock 939Dual-SATA2 motherboard, a cmi 8768, and Athlon X2 4400. No BSOD but a freeze which corrupt system and need a winXP reinstall. Win is a SP2.

I'd like to ask you for the minidump files then.

Quote
Without reinstall, other device drivers like DVD-reader are corrupted / not activated with an IRQ problem.

You can always roll back to a state before the driver was installed - that should "repair" the multimedia subsystem.
Title: Homebrew CMI 8738 drivers
Post by: Koji_kabuto on 2007-07-14 15:39:14
Ok I'll backup my Win directory and see with a new try if I can send you minidump.

Edit: Sorry but no minidump has been generated. Freeze come just after copying CMICONTROL.EXE, perhaps during driver initialisation.

I tried to install without cmicontrol, but it's lockup anyway.

I'll try to install it with dvd-r unplugged to see.....
Title: Homebrew CMI 8738 drivers
Post by: Koji_kabuto on 2007-07-14 18:37:16
No..... Always same freeze, even all other cards and dvd-r unplugged.

Also tried with a fresh install of Win XP but nothing better...

It seems that this motherboard isn't compatible..... 

On the other hand, the wavert version didn't freeze, but system can't initialize the driver (code 37)
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-07-14 23:49:30
The WaveRT version isn't compatible with XP.

Is the gameport enabled in the BIOS by any chance? Also, are there I/O resources available in the region 0x300 to 0x330?

I suspect that the system freezes up during the gameport initialization - this might be caused by a bug (?) in the ULi chipset. If you're still brave enough, I can provide you with a version that doesn't enable the gameport.
Title: Homebrew CMI 8738 drivers
Post by: Koji_kabuto on 2007-07-15 08:23:49
No, motherboard's gameport is disabled. There's no gameport on the soundcard.

In fact, to avoid reinstall of my XP, I've reserved an old hd with fresh install for my different tries.
Then no problem to test different solutions.

For the resources, I've also tried without any other card (except graphic) plugged, but no change.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-07-15 09:11:04
No, motherboard's gameport is disabled. There's no gameport on the soundcard.

From the driver's point of view, there's no way of telling whether a MPU401/game port is actually there on the card or not, so the initialisation is always tried.

Quote
In fact, to avoid reinstall of my XP, I've reserved an old hd with fresh install for my different tries.
Then no problem to test different solutions.

System restore _should_ work if you create a restore point, reboot, try to install the driver and go back to this restore point if it doesn't work.
Title: Homebrew CMI 8738 drivers
Post by: Koji_kabuto on 2007-07-15 21:55:31
System restore _should_ work if you create a restore point, reboot, try to install the driver and go back to this restore point if it doesn't work.


It doesn't work always. Sometimes, files are corrupted in Windows\system32 directory after reboot, and system can't be restored as it was before.
But that's not a problem for me to have a clean directory to restore. It's pretty fast.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-07-16 20:53:04
It doesn't work always. Sometimes, files are corrupted in Windows\system32 directory after reboot, and system can't be restored as it was before.
But that's not a problem for me to have a clean directory to restore. It's pretty fast.


have you already tried the debug version I sent you?
Title: Homebrew CMI 8738 drivers
Post by: Koji_kabuto on 2007-07-17 15:06:51

It doesn't work always. Sometimes, files are corrupted in Windows\system32 directory after reboot, and system can't be restored as it was before.
But that's not a problem for me to have a clean directory to restore. It's pretty fast.


have you already tried the debug version I sent you?


  It works !!!!

Well done and Thanks for the "patch".
Title: Homebrew CMI 8738 drivers
Post by: brysnaria on 2007-07-19 21:11:27
Hello, I tried to use the gameport on 8738 on windows xp sp2, but it does not work.
I could not use it with the official c-media drivers too.
I bought another card with the 8738 chip, and again it does not work.
Can you give me some advice ?
Thank you.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-07-19 23:04:43
Can you give me some advice ?


(http://images.mercateo.com/images/products/ITD/gr_h19z175.jpg)

I'm gonna disable all the gameport / MPU401 in the next version anyway due to stability issues with ULi boards.
Title: Homebrew CMI 8738 drivers
Post by: brysnaria on 2007-07-19 23:18:57
So the gameport is actually not functional, and it is on the card only for delusion
I have to buy a MIDI-USB cable    ?


I am using a cable like this one, which goes from a digital piano into the 8738, but I recieve no data at all.
(http://www.ittymidi.com/images/product_images/serial_midi_cable_small.jpg)
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-07-19 23:40:02
It is functional, of course, but it's a "legacy" port and therefore outdated.

There are actually two subdevices on the DB15 connector: the gameport and the MPU-401 MIDI connector. I have implemented support for the MPU401 stuff, but the gameport is disabled (and the MPU401 stuff will be disabled from the next version on).
If you want to connect your MIDI device to your computer, a 'special' MIDI->USB device (e.g. M-Audio Uno) is required because a regular gameport->USB adaptor lacks MIDI capabilities - this causes some joystick / wheel devices not to work with those adaptors.
Title: Homebrew CMI 8738 drivers
Post by: brysnaria on 2007-07-20 07:37:13
It is functional, of course, but it's a "legacy" port and therefore outdated.

There are actually two subdevices on the DB15 connector: the gameport and the MPU-401 MIDI connector. I have implemented support for the MPU401 stuff, but the gameport is disabled (and the MPU401 stuff will be disabled from the next version on).
If you want to connect your MIDI device to your computer, a 'special' MIDI->USB device (e.g. M-Audio Uno) is required because a regular gameport->USB adaptor lacks MIDI capabilities - this causes some joystick / wheel devices not to work with those adaptors.


I am not into computers very much and barely understand what you say.
But I find it rather incorrect that the card's description includes gameport/MIDI connectivity, which acutally does not work.. or is outdated whatever this means
Even the installation of the official driver has the option of turning off gameport or MIDI.
Anyway thanks for the andwer.
Title: Homebrew CMI 8738 drivers
Post by: cbemoore on 2007-07-20 14:56:55
So the gameport is actually not functional, and it is on the card only for delusion
I have to buy a MIDI-USB cable    ?

But I find it rather incorrect that the card's description includes gameport/MIDI connectivity, which acutally does not work.. or is outdated whatever this means
Even the installation of the official driver has the option of turning off gameport or MIDI.


You need to realise that these are not official drivers - Dogbert has written them himself to suit his own needs (ie bit-perfect playback via S/PDIF) and he is kind enough to share them with us all. I am personally very grateful for all his work, and they are the best drivers I've found for achieving bit-perfect playback.

Therefore, it doesn't matter what the card's description says - these are not official drivers so Dogbert can add whatever functionality he likes! As he has already explained to you, he is disabling MIDI/gameport functionality due to stability issues with ULi boards.

If the MIDI functionality is important to you, then I recommend that you use the official drivers with MIDI support. If the official drivers don't work as advertised, then you should bring it up with the card manufacturer. Alternatively, if you want to keep using Dogbert's drivers, you should buy a MIDI-USB cable as he suggests.
Title: Homebrew CMI 8738 drivers
Post by: brysnaria on 2007-07-20 15:25:54

So the gameport is actually not functional, and it is on the card only for delusion
I have to buy a MIDI-USB cable    ?

But I find it rather incorrect that the card's description includes gameport/MIDI connectivity, which acutally does not work.. or is outdated whatever this means
Even the installation of the official driver has the option of turning off gameport or MIDI.


You need to realise that these are not official drivers - Dogbert has written them himself to suit his own needs (ie bit-perfect playback via S/PDIF) and he is kind enough to share them with us all. I am personally very grateful for all his work, and they are the best drivers I've found for achieving bit-perfect playback.

Therefore, it doesn't matter what the card's description says - these are not official drivers so Dogbert can add whatever functionality he likes! As he has already explained to you, he is disabling MIDI/gameport functionality due to stability issues with ULi boards.

If the MIDI functionality is important to you, then I recommend that you use the official drivers with MIDI support. If the official drivers don't work as advertised, then you should bring it up with the card manufacturer. Alternatively, if you want to keep using Dogbert's drivers, you should buy a MIDI-USB cable as he suggests.


I think I mentioned that the MIDI feature didn't work with the official drivers.
I was addressing C-MEDIA with my previous post , because obviously they market a product with a feature that is not (or not fully) functional, and they even do not have customer support to answer your questions.

So in a way this Dogbert's driver is way more official if you ask me than the C-MEDIA ones, and I salute him for it.
Title: Homebrew CMI 8738 drivers
Post by: wdekler on 2007-07-30 16:24:41
Post removed... as this was already covered in the FAQ.
Title: Homebrew CMI 8738 drivers
Post by: PatchWorKs on 2007-08-02 08:29:55
Dunno if can help, but here's what the Echo Digital Audio Corporation (http://www.echoaudio.com/)' Software Developer Page (http://www.echoaudio.com/Downloads/Developer.php) claims:

Quote
Interested in writing your own driver for Echo’s hardware? Then you need the generic driver code. This is the cross-platform C++ library used for our Windows and Mac PCI and Cardbus drivers.

Source code is provided under the terms of the GNU Lesser General Public License.

Title: Homebrew CMI 8738 drivers
Post by: teemue on 2007-08-02 18:31:27
How about adding an option to enable or disable UART/MPU-401 -support?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-08-03 04:02:27
How about adding an option to enable or disable UART/MPU-401 -support?


That would need some major implementation work, and I really don't have the time for this right now.
Title: Homebrew CMI 8738 drivers
Post by: megaowned on 2007-08-19 13:36:28
Hello there.

I've just installed the drivers. I have a bit perfect sound with my AV Amplifier when a DTS file is playing. So now everything seems to be ok.
I was wondering about two things. Is there a bit perfect when mp3s or waves  are playing in Foobar2000 + kernel streaming plugin?
I suppose these sound files (mp3, ogg, etc.) are convering to the PCM wave and sending directly to the spdif-out without any resampling.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-08-19 14:23:02
I suppose these sound files (mp3, ogg, etc.) are convering to the PCM wave and sending directly to the spdif-out without any resampling.

Correct. I encode my wave files which contain a DTS/AC3 stream (converted with spdifconvert.py (http://forums.slimdevices.com/showpost.php?p=72544&postcount=3)) to the lossless FLAC format in order to be able to tag them - during playback they are decompressed and sent to the receiver without any resampling or other signal processing which would destroy the DTS/AC3 frames - the frames are finally decoded by the receiver. This wouldn't work with the vast majority of soundcards due to their bad drivers.
Title: Homebrew CMI 8738 drivers
Post by: megaowned on 2007-08-19 18:06:26
Splendid, it works excellent!

Thank you for your answer and drivers of course ^^
Title: Homebrew CMI 8738 drivers
Post by: Garthower on 2007-09-03 11:37:05
Hello!

I have some problems with drivers v1.4 on Vista x64 with last security updates. After updating drivers are not loaded, Windows informed, that the drivers are absent or are damaged. How it can be corrected? Before updating of Windows all worked.
Title: Homebrew CMI 8738 drivers
Post by: Egor on 2007-09-03 12:14:17
I have some problems with drivers v1.4 on Vista x64 with last security updates. After updating drivers are not loaded, Windows informed, that the drivers are absent or are damaged. How it can be corrected? Before updating of Windows all worked.

Hi, isn't this a known problem?
FAQ: How do I permanently disable the enforced driver signing in Vista x64? (http://cmediadrivers.googlepages.com/faq#q7):
Quote
How do I permanently disable the enforced driver signing in Vista x64?
Open up an elevated command shell (Start -> enter 'Command Prompt' in the 'Search Search' box -> right-click 'Command Prompt' and select 'Run as Administrator') and type in following:
bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS
Press enter and wait for the confirmation. The driver can be installed after a reboot.
Please note that the this update (http://support.microsoft.com/kb/932596) for the 64 bit edition of Vista breaks this switch.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-09-03 12:14:27
How it can be corrected?


It should work with F8 key method during boot up. The driver signing crap can't be disabled permanently after the update has been installed even when it is uninstalled, at least there is no way I'm currently aware of.
Title: Homebrew CMI 8738 drivers
Post by: Garthower on 2007-09-07 15:40:00
Egor, Dogbert
You have not understood me. I perfectly know about a problem of the signature of drivers, and have switch off this function first of all. It at me also has been switched off, while I have not put new updatings for Vista x64. After that version 1.4 has ceased to work, instead of not signed drivers from the Cmedia works (can be download here: http://www.cmediadrivers.info/driver/8738/.../8738-Vista.zip (http://www.cmediadrivers.info/driver/8738/8x38/vista/8738-Vista.zip) ). So here a problem in other.
Title: Homebrew CMI 8738 drivers
Post by: PatchWorKs on 2007-09-14 07:48:52
After some licensing discussion (http://www.reactos.org/forum/viewtopic.php?t=4186), drivers now included in ReactOS (http://www.reactos.org/) !!! 

Quote
0.3.3 changelog -Audio Stack (http://www.reactos.org/wiki/index.php/ChangeLog-0.3.3#Audio_Stack)
  • Port Class (PORTCLS): Minor adjustments so that this now compiles without error. A lot of work still needed (Andrew Greenwood)
  • Kernel Streaming (KS): Again, minor adjustments to KS itself and its headers (Andrew Greenwood)
  • Drivers: NT4 style drivers now deprecated, WDM-style drivers to be used instead (Andrew Greenwood)
    Magnus Olsen has also imported some open-source C-Media WDM audio drivers (http://cmediadrivers.googlepages.com/) (these do not compile for us yet)
  • Legacy support: Removed WDMAUD.DRV (pending a rewrite) and also begun clean rewrite of MMDRV.DLL (Andrew Greenwood)

Maybe my "fault" ? 

EDIT: seems that drivers are also included in DriverPacks.net (http://www.driverpacks.net/), check out my 3ad (http://forum.driverpacks.net/viewtopic.php?id=1774)...
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-09-14 13:42:10
Garthower, I've got a mail from a guy who says that uninstalling KB938979 ( http://support.microsoft.com/kb/938979 (http://support.microsoft.com/kb/938979) ) makes the driver load again. Can you or anyone else confirm this?
Title: Homebrew CMI 8738 drivers
Post by: Garthower on 2007-09-14 14:40:42
Garthower, I've got a mail from a guy who says that uninstalling KB938979 ( http://support.microsoft.com/kb/938979 (http://support.microsoft.com/kb/938979) ) makes the driver load again. Can you or anyone else confirm this?


At me update KB938979 is NOT installed, here a screenshot http://garthower.org.ua/garthower/screenshots/screen1.jpg (http://garthower.org.ua/garthower/screenshots/screen1.jpg) . The driver all equally is not loaded.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-09-14 15:35:19
OK, thanks.
Title: Homebrew CMI 8738 drivers
Post by: teemue on 2007-09-15 12:28:58
hmm.. should it be possible to use mic-in and spdif output at the same time? i mean, to bypass mic signal straight into the amplifier
Title: Homebrew CMI 8738 drivers
Post by: yang1006 on 2007-09-15 14:09:27
DEVELOPING TOOLS AND PROGRAMS FOR AT88SC0104C~1616C~25616C
The work of using AT88SC0104C~1616C~25616C is very difficult. Now, we supply developing tools and reading/writing programs (C or asm51 ) for you.
Please view our website: www.setchief.com, fax or call to 0086-20-85662866 or e-mail to: shichengdz@163.com


DECRYPTING/CRACKING/DECODING and COPYING SLE4442/5542/SLE4428
1.   Decrypt the security codes of SLE4442/5542 or SLE4428 in several seconds, not damage the card.
2.   Copy SLE4442/5542 or SLE4428 quickly.
3.   Trace the security codes for SLE4442/5542 or SLE4428.  Some IC application system modifies the security code in every using card. Our set can give the two security codes, one is before using, and another is after using.
Please view our website: www.setchief.com, fax or call to 0086-20-85662866, e-mail to: shichengdz@163.com.


Decrypting/copying/evaluating set for TM ( DS1990A, DS1991, DS1425)
1.   Crack and copy DS1991 & DS1425.
2.   Read the ROM of all TM (touching memory) to recognize which type of iButton.
3.   Reading and writing programs for DS1961S & D1991.
Please view our website: www.setchief.com, fax or call to 0086-20-85662866, e-mail to: shichengdz@163.com.


Simulation or Replacement of TM/iButton (DS1990, DS1991, DS1425, DS1996, DS1992)
1.   Simulate ROM ID, multi keys and memories by a microprocessor.
2.   Replace multi iButtons by our set. 
Please view our website: www.setchief.com, fax or call to 0086-20-85662866, e-mail to: shichengdz@163.com.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-09-15 16:33:49
hmm.. should it be possible to use mic-in and spdif output at the same time? i mean, to bypass mic signal straight into the amplifier

Theoretically, yes - you need software that plays back the record buffer simultaneously. But there's gonna be a delay of roughly 20ms on the non-WaveRT versions due to design limitations of the Windows Driver Model.
The hardware doesn't support digital monitoring of the analog inputs afaik.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-10-02 15:39:53
At me update KB938979 is NOT installed, here a screenshot http://garthower.org.ua/garthower/screenshots/screen1.jpg (http://garthower.org.ua/garthower/screenshots/screen1.jpg) . The driver all equally is not loaded.


the current version loads with the F8 trick. At the moment I'm taking a closer look at the registry keys as to find out what key breaks the DDISABLE_INTEGRITY_CHECK stuff.
Title: Homebrew CMI 8738 drivers
Post by: Feroxz on 2007-10-02 22:20:57
Hey man, thanks for these great drivers. I bought me a Logitech Z-5500 5.1 speakerset recently, which supports DTS via SPDIF. I bought a Trust sc-5250 audio card with it ( I know, el cheapo, but one of the few cards for sale here in the netherlands with both SPDIF out and a price tag of below 100 euro's (= about 120/130 dollar). Sadly the Trust drivers did only support 2.0 by SPDIF, no DTS for me  . I got a tip to use the Trust 5600 soundcard drivers, and hey it worked. Full 5.1 via SPDIF. I was pretty happy till I started to get these blue screens and system reboots. The drivers were very unstable with this card when it came to playing DTS off a DVD. I went searching on internet and found these great drivers...! 

No blue screens so far and full 5.1! Great Job, I really appriciate what u have done/are doing for people like me with these homebrew drivers of yours  , I especially registered to thank you    . Thanks for giving me the ability to fully use the great sound of my new speakerset!


Greetings from The Netherlands,


Feroxz
Title: Homebrew CMI 8738 drivers
Post by: starfire on 2007-10-12 19:48:18
Hello,

I have read all the posts here and the FAQ on the website but I'm still a little confused so could someone please clarify:-

If I am using these drivers with my XP & a Trust 511 soundcard  which has SPDIF out, do I also need to use Kernel Streaming/ASIO to get a bit perfect output?

The features page states you get "bit perfect with Waveout/DirectSound/WASAPI" and also "bit perfect with Kernel Streaming via foobar/winamp plugsins" - so if you get it natively with the driver anyway then why the need for the plugins?

Sorry, I'm sure these are dumb questions but if someone could clarify for me that would be great  I'm just looking to get the best possible playback of my MP3s.

Thanks,
Starfire.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-10-12 19:59:11
the underlying reason for this is that the kernel mixer of vista isn't bitperfect anymore unlike its predecessors from XP and 2000. In vista either kernel streaming (non-WaveRT version) or wasapi (both WaveRT/non-WaveRT versions) is thus required to get bitperfect PCM sound and thus supported.
Title: Homebrew CMI 8738 drivers
Post by: starfire on 2007-10-12 20:34:14
the underlying reason for this is that the kernel mixer of vista isn't bitperfect anymore unlike its predecessors from XP and 2000. In vista either kernel streaming (non-WaveRT version) or wasapi (both WaveRT/non-WaveRT versions) is thus required to get bitperfect PCM sound and thus supported.


Thanks for the quick reply, so as I'm running XP I can just use your drivers and there's no need for the kernel streaming plugins to be used as well.

One other quick question if you don't mind, I'm running some HTPC software called Meedio to playback all my media - when I first playback one of my MP3s my Amplifier lights up 44.1KHZ PCM fine (and sounds SO MUCH BETTER than the original drivers), I then go and play say a DivX video it lights 96KHZ and go back to music and it stays at 96KHZ - it still sounds pretty good to me even like this but presumably something is upsampling my music to 96KHZ which will be compromising the quality I guess - any ideas on this or is it solely down to the Meedio s/w?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-10-13 16:09:35
you've described basically one of the ways in which the sample rate of the kmixer is selected - you can either shutdown and restart the application in order to force the kmixer to reset or disallow higher sample rates.
Title: Homebrew CMI 8738 drivers
Post by: starfire on 2007-10-13 17:28:12
OK, so even using your drivers its not always possible to eliminate kmixer then?

I guess the divx file is 96KHz hence why it plays like that (which you would want ; playback same as source), but you really want the application to then switch back to 44.1KHz for MP3 - if I disallowed 96KHz in your provided control panel than that would mean kmixer would have to downsample the divx back to 44.1KHz ?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-10-13 17:47:25
OK, so even using your drivers its not always possible to eliminate kmixer then?


there's a directshow filter called 'reclock' which can bypass the kmixer - I haven't tried it since mplayerc / foobar2000 suffice for my needs.

if the application re-initializes the soundcard between stopping one media file and playing another one, there shouldn't be a problem with resampling unless some other application is blocking the kmixer.
Title: Homebrew CMI 8738 drivers
Post by: starfire on 2007-10-13 18:18:24
Thanks for your help, much appreciated.

I believe I've got around the issue by invoking Windows Media Player to play my audio and Meedio to play video - everything seems to switch sample rate correctly on my Amp then.

Out of interest if I blocked everything in the control panel except 44.1KHz, would this affect when I play DVDs with DD/DTS 5.1 Soundtracks at all (ie passthru)?
Title: Homebrew CMI 8738 drivers
Post by: Leto Atreides II on 2007-10-18 16:25:40
Problem with the current release...  Previously I was using 1.08 I think and I don't remember it happening.  This is in XP.

Whenever I resume my desktop from hibernation it forgets the volume slider and mute settings.  The volume is turned all the way to the maximum and some analog input is not muted.  So I get a really loud, high-pitched buzzing noise from my headphones that are always plugged in.  As soon as I touch the slider it remembers where it was at, and as soon as I touch a mute checkbox it remembers that as well.  The graphic for the slider and checkboxes are correct in the volume control panel thing, just not the actual volume/checkboxes.
Title: Homebrew CMI 8738 drivers
Post by: twisted_oak on 2007-11-17 19:39:59
I see no responses have been logged since the middle of last month, so I hope this will not go unanswered.

I want to know if there is any way to get the echo effect that is normally applied by the manufacturer drivers with your homebrew. I purchased this card primarily for it's echo effect. I run karaoke (i know, i know...) from my HTPC. I currently have to run two sound cards in my setup one for bit-perfect (a realtek integrated) and a Xtreme sound 7.1 for echo on the mic. Usage... I disable Realtek, when I want to use the Cmedia for analog purposes.

I would like to have one card for all solutions. Can I somehow run the manufacturer mixer and get echo to work with your driver?


Thanks for all your help. This solution would bring my HTPC/karaoke dream to fruition.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-11-17 21:59:53
Whenever I resume my desktop from hibernation it forgets the volume slider and mute settings.  The volume is turned all the way to the maximum and some analog input is not muted.  So I get a really loud, high-pitched buzzing noise from my headphones that are always plugged in.  As soon as I touch the slider it remembers where it was at, and as soon as I touch a mute checkbox it remembers that as well.  The graphic for the slider and checkboxes are correct in the volume control panel thing, just not the actual volume/checkboxes.

Mhh, I've had the hope to have these things working... I'll take a look at it.

Quote
I would like to have one card for all solutions. Can I somehow run the manufacturer mixer and get echo to work with your driver?

No, but this really ought to be done in user mode and not in a driver. There's most likely software out there which is able to do this kind of processing much better than C-Media's driver.
Title: Homebrew CMI 8738 drivers
Post by: twisted_oak on 2007-11-18 01:09:54

Whenever I resume my desktop from hibernation it forgets the volume slider and mute settings.  The volume is turned all the way to the maximum and some analog input is not muted.  So I get a really loud, high-pitched buzzing noise from my headphones that are always plugged in.  As soon as I touch the slider it remembers where it was at, and as soon as I touch a mute checkbox it remembers that as well.  The graphic for the slider and checkboxes are correct in the volume control panel thing, just not the actual volume/checkboxes.

Mhh, I've had the hope to have these things working... I'll take a look at it.

Quote
I would like to have one card for all solutions. Can I somehow run the manufacturer mixer and get echo to work with your driver?

No, but this really ought to be done in user mode and not in a driver. There's most likely software out there which is able to do this kind of processing much better than C-Media's driver.


Any suggestions on software to do this besides Xear 3d?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-11-21 20:41:03
Any suggestions on software to do this besides Xear 3d?

nopes, sorry, I'm not really a karaoke guy.

leto, the bug with the wrong volume after hibernation / standby should be fixed.
Title: Homebrew CMI 8738 drivers
Post by: Leto Atreides II on 2007-11-21 20:52:53
Great!  Probably won't be able to test it out until Sunday or Monday though.

I'll thank you in advance in case it works, and if not I'll be sure to let you know.
Title: Homebrew CMI 8738 drivers
Post by: Leto Atreides II on 2007-11-26 02:47:35
Great!  Probably won't be able to test it out until Sunday or Monday though.

I'll thank you in advance in case it works, and if not I'll be sure to let you know.


Hibernation works fine for me now.  Thanks. 
Title: Homebrew CMI 8738 drivers
Post by: vidman on 2007-11-27 10:20:59
Hi guys, did alot of reading but must have missed it.
I have a cmi8738 card with spdif bracket. I have hooked up coaxial out to my pioneer home threatre system.
How come I cant get seperate channels. its like stereo in all speakers. system plays stand alone DVDs sweet.

Im using homebrew drivers. Media player classic with ac3 filter, when switched to passthrough, no single channels. I have a ac3 audio test "front right" "centre" etc still coming from other speakers.

With pass through can I change the volume etc? I have my projector screen in front of my sound system
is there a mixer to adjust..?

with 2 channels music videos I get the same in all speakers , which I think is good its more ac3.

cheers

aj
Title: Homebrew CMI 8738 drivers
Post by: vidman on 2007-12-04 11:11:07
Hi guys, did alot of reading but must have missed it.
I have a cmi8738 card with spdif bracket. I have hooked up coaxial out to my pioneer home threatre system.
How come I cant get seperate channels. its like stereo in all speakers. system plays stand alone DVDs sweet.

Im using homebrew drivers. Media player classic with ac3 filter, when switched to passthrough, no single channels. I have a ac3 audio test "front right" "centre" etc still coming from other speakers.

With pass through can I change the volume etc? I have my projector screen in front of my sound system
is there a mixer to adjust..?

with 2 channels music videos I get the same in all speakers , which I think is good its more ac3.

cheers

aj





anyone know??


whoo hoo
Title: Homebrew CMI 8738 drivers
Post by: DualIP on 2007-12-05 12:07:22
Vidman,

-Make sure only spdif is hooked up to decoder/amplifier, so there's no analog route
-My receiver has a stereo mode, converting all multichannel input to just stereo. check yours!
-make sure your player software has something like "spdif passthrough" enabled. try different players.
-Does your receiver have DTS/AC3 indicator that lights up?

What happens on this AC3 test file?
http://dither123.dyndns.org/alladinAC3.flac (http://dither123.dyndns.org/alladinAC3.flac)
It's AC3 data, in wav container, ran through lossless codec.
Title: Homebrew CMI 8738 drivers
Post by: vidman on 2007-12-06 08:43:48
Vidman,

-Make sure only spdif is hooked up to decoder/amplifier, so there's no analog route
-My receiver has a stereo mode, converting all multichannel input to just stereo. check yours!
-make sure your player software has something like "spdif passthrough" enabled. try different players.
-Does your receiver have DTS/AC3 indicator that lights up?

What happens on this AC3 test file?
http://dither123.dyndns.org/alladinAC3.flac (http://dither123.dyndns.org/alladinAC3.flac)
It's AC3 data, in wav container, ran through lossless codec.




will try this, will get back

cheers for reply..

v
Title: Homebrew CMI 8738 drivers
Post by: ConradP on 2007-12-19 17:14:56
Hi,

I installed the drivers and tried to get them to work, but I came upon some problems. The digital output works fine when I play MP3 files in winamp and stereo sounded movies in VLC. When I try to play a movie in VLC which has AC3 sound, my Logitech Z-5400 recognizes it as Digital audio but it stutters very badly ! What did I do wrong ?
In the configuration screen I set channel configuration to 2.0 otherwise it doesn't work at all. Did I forget something ? I only tried VLC to play the video file. When I use media player it doesn't recognize the AC3 audio at all and just plays it in stereo.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2007-12-19 17:50:10
I installed the drivers and tried to get them to work, but I came upon some problems. The digital output works fine when I play MP3 files in winamp and stereo sounded movies in VLC. When I try to play a movie in VLC which has AC3 sound, my Logitech Z-5400 recognizes it as Digital audio but it stutters very badly ! What did I do wrong ?


nothing - ac3/dts passthrough in vlc is somewhat broken. A good alternative is media player classic in conjunction with ffdshow.
Title: Homebrew CMI 8738 drivers
Post by: ConradP on 2007-12-19 18:35:57
Yeah it works perfectly now ! I have to crank up the volume a lot on my speakerset but that's not so bad. It works  Thanks !
Title: Homebrew CMI 8738 drivers
Post by: jsoyer on 2008-01-13 15:11:38
Hi all

I tried to use dogbert's drivers instead of the offcial ones for my Terratec Aureon 5.1 PCI card (the official driver didn't allow me to get SPDIF output at all). With the open source driver, I can get SPDIF passthough, but only 2 channels

Any advice to get some real 5.1 ?

Regards

Julien
Title: Homebrew CMI 8738 drivers
Post by: wdekler on 2008-01-13 15:34:40
Hi Dogbert,

a question and a request

my analog channel configuration is set to 5.1 but now I can't set the config to stereo anymore. When I select stereo and press apply the config jumps back to 5.1 (running non wavert 1.17 on vista x86). Is this a (known) bug?

and...

Is it possible to add an option to route the line-in to spdif? At the moment I use Audacity to record and monitor the sound, that works but its not very efficient. This feature would really help in setting up my split surround set.


thanks!
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-01-13 21:53:37
Any advice to get some real 5.1 ?

Only stereo PCM and compressed multichannel audio data (dts/AC3) can be transmitted over the SPDIF port. As a consequence, "regular" multi-channel PCM data from games and so on can only be output through the analog jacks because my driver avoids any kind of signal processing in order to be bitperfect.
So unless preencoded dts/ac3 data from a DVD / AVI / ... is passed through, stereo PCM is the only supported format for the SPDIF port.


my analog channel configuration is set to 5.1 but now I can't set the config to stereo anymore. When I select stereo and press apply the config jumps back to 5.1 (running non wavert 1.17 on vista x86). Is this a (known) bug?

Microsoft decided to deprecate the API which is responsible for changing the channel configuration in Vista. The reason for this was to force the IHVs ("independent hardware vendors") to develop software embedded in Vista's sound applet instead of delivering their own tools.
I'm not going to support this crapfest anytime soon because I want to keep my driver backward compatible to XP / 2k.

Quote
Is it possible to add an option to route the line-in to spdif? At the moment I use Audacity to record and monitor the sound, that works but its not very efficient. This feature would really help in setting up my split surround set.

mh.. I don't think the hardware supports this, but I might be wrong. I'll take a look at it when I've got a bit more free time.
Title: Homebrew CMI 8738 drivers
Post by: r3mus on 2008-03-13 12:25:01
hello guys, first of all i´d like to thank dogbert for these great drivers!

many issues have been fixed (install in the beginning ) and passthrough works great for me! *thumbs up*

the only thing im constantly fighting with is the microfone.
With your drivers i cant get voice tools like ventrilo working properly.
when i start ventrilo it says: "Failed to open input device. Another program might have it open already"
If i set up direct sound input i get an "createcapturebuffer error" and if i try the regular CMI8738/8768 Wave device input i get an "open input wave device failed" error.


im using the latest driver, but tried the 1.1.7 ones too.

what can i do?

thx in advance
Title: Homebrew CMI 8738 drivers
Post by: P13 on 2008-03-13 23:55:37
Hi,
there is no "request feature tread", so I decided to post here: Well, passthrough is excellent and is exactely what we were looking for. One nice additional feature would be a "monitor output, a.k.a. second zone" on analog ports, if it is possible at all...
Many thanks.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-03-13 23:59:19
the only thing im constantly fighting with is the microfone.
With your drivers i cant get voice tools like ventrilo working properly.
when i start ventrilo it says: "Failed to open input device. Another program might have it open already"
If i set up direct sound input i get an "createcapturebuffer error" and if i try the regular CMI8738/8768 Wave device input i get an "open input wave device failed" error.

what OS do you use, what version do you run (32 or 64 bit), and do you have any other programs opened which might use the soundcard while Ventrilo is running?

Quote
One nice additional feature would be a "monitor output, a.k.a. second zone" on analog ports, if it is possible at all...

uhm... what input port should be monitored onto what output port exactly?
Title: Homebrew CMI 8738 drivers
Post by: P13 on 2008-03-14 14:52:27
Quote
One nice additional feature would be a "monitor output, a.k.a. second zone" on analog ports, if it is possible at all...

uhm... what input port should be monitored onto what output port exactly?


Here it is:
- application (media center) plays a DVD;
- your WaveRT driver bypasses Vista's internal DSPs, renders audio stream into cmedia chip;
- chip outputs to SPDIF endpoint;
- SPDIF is hooked to audio receiver, which decodes AC3 audio to 5.1 speakers;
All of above is excellent.
Now, if I want  to use stereo headphones and dont want to mess with default playback device changing?
I thought it would be greate, if it is possible to force cmedia chip to do what it was originaly designed for but at the same time with SPDIF passthroug:
- route the same DVD audio stream into Vista DSPs;
- use software decoders;
- downgrade to 2 chanels;
- output via analog connectors.

Well, it contradicts with Vista's idea of endpoints, as it outputs same source twice (but in different form). Again, it only make sense if it can be done in parallel and at the same time as SPDIF passthroug.
Hope this time I explained better
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-03-14 16:59:56
Yep, now it's crystal clear - I'm afraid the hardware is limited to one playback stream at a time so that an AC3 stream and a decoded stereo stream can't be played simultaneously.
Title: Homebrew CMI 8738 drivers
Post by: SatFloyd on 2008-03-19 22:53:48
Hi d0gbert or anyone who might help
I'm desperate to get my dts audio files to play on my htpc via spdif, but no joy.
Came across your drivers bought an aureon 5.1 new clean install of xp sp3 (3311).
Stereo plays well but dts gives me static (when flac, receiver says pcm 44) or nothing (when wav, receivr says dec. err).
I'm using foobar 0.9.5.1 kernelstreaming or not doesn't change a thing.
I reinstalled vista sp1, xp sp2, xp sp3 so many times, used onboard alc889 (including dts interactive!), used an audigy2 used a m-audio 2496 and now this one, it drives me crazy.
Also using two recievers to compare (denon/sony) and of course they behave different.
This really seems the hardest thing to do.

Hints anyone?
Really, any help appreciated.

PS: Interesting: When I enable windows sounds they play as 96kHz...
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-03-19 23:03:29
are your receivers capable of decoding DTS? have you tested them against other DTS files?

foobar with KS is bitperfect if no prior DSP plugin processes the sound.
Title: Homebrew CMI 8738 drivers
Post by: SatFloyd on 2008-03-19 23:14:55
are your receivers capable of decoding DTS? have you tested them against other DTS files?

foobar with KS is bitperfect if no prior DSP plugin processes the sound.


yes the sony is doing well with dts interactive and the denon avr3805 has all logos up tp 192 kHz, but doesn't even play with the onboard dts interactive. The denon is the target but i'm testing against the sony de-695 right now.

I have no dsp active and it's a plain vanilla installation with only the grafx driver, your driver and foobar installed. ok touscreen driver and irtrans are present also, but that's it.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-03-19 23:24:08
well, make sure that the volume in foobar is set to 0dB and there is absolutely no signal processing, and if it still doesn't work, try winamp with its KS plugin.
Title: Homebrew CMI 8738 drivers
Post by: SatFloyd on 2008-03-20 17:12:28
Foobar is at 0 db... winamp with ks plugin...no audio
installed kmplayer, configured spdif, dvds play their dts track fine, just not my audio files
and I tried many of them, also dts cds don't play.
As if only 48kHz is working...
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-03-20 17:28:45
have you tried 48kHz DTS files in .wav format? do your receivers specifically support 44.1 kHz DTS?

ac3 files can be packaged as .wav, too - maybe it's worth a try to test some 44.1kHz ac3 files. If this doesn't work, the hardware (soundcard) might be defective.
Title: Homebrew CMI 8738 drivers
Post by: SatFloyd on 2008-03-20 19:13:45
Solved! What a relief!
Your comment "do your receivers specifically support 44.1 kHz DTS?" made me check my receivers documentation and I found
- Sony str-de695 has a default decoding setting "PCM" that needs to be changed to "AUTO"
- Denon AVR3805 has a per input setting 'Auto Surround" that needs to be enabled

both work flawlessly now.
Some of the older flacs need to be reencoded it seems, peace of cake.

Thank you so much for the drivers and your support.
You just made my easter weekend!
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-03-20 20:01:33
Great . Happy easter then!
Title: Homebrew CMI 8738 drivers
Post by: P13 on 2008-03-22 14:23:52
Dear Dogbert,

I got a question:

If i understood this (http://blogs.msdn.com/larryosterman/archive/2006/03/07/545451.aspx) and this (http://blogs.msdn.com/larryosterman/archive/2005/09/23/473351.aspx) articles correctly, WaveRT driver supposes to work on WASAPI interface. That shall lead to almost any windows audio processing not having effect on audio stream. So, by using your drivers, I was expecting to have Vista volume slider no effect. Lets say for Windows media player, I expected it to decode (if encoded at all) the file into pcm and then to output it straight onto SPDIF.

In reality, when I play AC3 or DTS files, it really does pass to SPDIF without Vista volume interfearance, but if I play WMA file - Vista volume is effective. This somehow doesnt seem pure "pass through".

Could you please clarify that?

Best regards.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-03-22 14:43:24
In Windows 2k, XP and Vista, there's the so called "passthrough" mode which can be called from the WaveOut / DirectX interface - this enables dd/dts streams to be sent to the soundcard's driver and subsequently ot the spdif without any processing by the kmixer.  All the common video player and their codecs use this, and it is limited to 48kHz streams. Also, the passthrough mode is based on a rather quick&dirty hack job than on a thorough design.

The so called "exclusive mode" of Vista is a feature of a new API called "WASAPI". Applications which use this mode can read and write directly into the sound driver's buffers without after-processing from the kmixer. This works for both WaveRT- and non-WaveRT-versions of the driver, but it has to be specifically supported by the application.

Afaik, WMP does not support it out of the box - it still uses WaveOut / DirectSound and it hence can't be bitperfect unless the "passthrough mode" is employed because the kmixer of Vista isn't bitperfect anymore.

I've recently written a small article on the subject: http://code.google.com/p/cmediadrivers/wiki/Bitperfect (http://code.google.com/p/cmediadrivers/wiki/Bitperfect)
Title: Homebrew CMI 8738 drivers
Post by: P13 on 2008-03-22 19:11:30
Afaik, WMP does not support it out of the box - it still uses WaveOut / DirectSound and it hence can't be bitperfect unless the "passthrough mode" is employed because the kmixer of Vista isn't bitperfect anymore.


All right, I got the point. In other words, to use WaveRT, application has to call for that. Apparently this is not the case for WMP (WMC) and generally speaking any other existing today application (with very few exclusions).

Questios remains: how to get bitperfect SPDIF output for other than DD or DTS content? It is clear that application "X" can be used for that. But, could there be a way to "enforce" it by your  driver, be it even such "dirty pass throug" way?

Regards.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-03-22 23:30:37
In other words, to use WaveRT, application has to call for that.

s/WaveRT/exclusive mode of WASAPI

Quote
Questios remains: how to get bitperfect SPDIF output for other than DD or DTS content? It is clear that application "X" can be used for that. But, could there be a way to "enforce" it by your  driver, be it even such "dirty pass throug" way?

The driver has no effect on whether the kmixer is bypassed or not. However, there is a DirectShow filter which can be used to force kernel streaming for all media: ReClock. It might be worth a try - the windows media player and windows media center both use the DirectShow API to build a filter graph in order to play the media, so ReClock might be set up in a way that it is always prioritized as output sound renderer. I haven't personally tested this though.
Title: Homebrew CMI 8738 drivers
Post by: P13 on 2008-03-23 02:22:03
The driver has no effect on whether the kmixer is bypassed or not. However, there is a DirectShow filter which can be used to force kernel streaming for all media: ReClock. It might be worth a try - the windows media player and windows media center both use the DirectShow API to build a filter graph in order to play the media, so ReClock might be set up in a way that it is always prioritized as output sound renderer. I haven't personally tested this though.


Dear Dogbert,
Thank you very much for your answers.
ReClock is outdated and messes alot with recoding, hence can't be bitperfect.
I was just thinking (as not programmer of cours):
- Wavert option of a driver is called by application;
- driver presents its capabilities to OS:
Now, what would happen if driver will say "I am ONLY capable of wavert and nothing else"?
Is it possible at all?
Will OS somehow still try to render all audio to such driver?

Regards
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-03-23 09:40:44
ReClock is outdated and messes alot with recoding, hence can't be bitperfect.

yeah, but it shows that a DirectShow filter can in fact utilize KS/WASAPI's exclusive mode and hence potentially make WMP/WMC bitperfect.

Quote
I was just thinking (as not programmer of cours):
- Wavert option of a driver is called by application;
- driver presents its capabilities to OS:
Now, what would happen if driver will say "I am ONLY capable of wavert and nothing else"?

WaveRT is another flavour of the WDM - in essence, it is knitted around a somewhat different sound buffer handling than the regular WaveCyclic/WavePCI designs. This has nothing to do with bitperfect.
WASAPI is an application interface. The kernel audio mixer can be bypassed when an application uses its "exclusive mode".
The driver presents input and output pins in so called pin factories which can be instantiated by the OS. There is (almost) no differentiation between a pin getting instatiated by kmixer or by an application using WASAPI/KS.
Title: Homebrew CMI 8738 drivers
Post by: P13 on 2008-03-23 15:42:04
[There is (almost) no differentiation between a pin getting instatiated by kmixer or by an application using WASAPI/KS.


Means, driver can absolutely not force aplications (OS) to bypass mixer     

You don't plan, by chance, to develop such DirectShow "exclusive mode" filter?
It looks (for non-profesional) much simple comparing to what ususal filters do, in fact, instead of doing anything, this filter has to say "do nothing, go to exclusive" (if I got it right).
Extending your driver reach to PCM streams will be much appreciated by the comunity, I beliave.

Many thanks for all explanations.
Best regards.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-03-23 15:48:41
the wikipedia article gives a rough description on how DirectShow works: http://en.wikipedia.org/wiki/Directshow (http://en.wikipedia.org/wiki/Directshow)
and nope, I'm not planning to develop such a filter - I'm currently packed with other stuff.
Title: Homebrew CMI 8738 drivers
Post by: P13 on 2008-03-25 01:54:46
and nope, I'm not planning to develop such a filter - I'm currently packed with other stuff.


 

Any hope for other cmedia's chips support, 8788?

Regards
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-03-25 06:58:50
Any hope for other cmedia's chips support, 8788?

the 8788 is fundamentally different from the 8768/8738, so that's a no, too.
Title: Homebrew CMI 8738 drivers
Post by: sam987 on 2008-03-29 23:24:36
Thanks for the driver.

Been playing with it for a week with my Asus A7S333 motherboard.  Haven't built a spdif RCA plug yet, so it's only analog playback for now.  Couple of questions I like to ask.

1) the "enable pcm/dac" option works (i.e. if blank then no analog out).  However if I blank the "enable spdif out" option --- there is no analog sound even if the "enable pcm/dac" option is on.  Don't know if you notice that.

2) I plug my cd-rom's spdif out into the motherboard's spdif-in (I split a 4 pin soundcard cable into 2) and tried to record sound thru spdif-in --- but there is no sound.  The CD-ROM has its own playback, volume buttons and headphone jacks on the front panel.  I tried it with window's sound recorder and nero's soundtrax and wave editor.  I tried it with every possible combination of your driver's control panel --- inverse,.... --- no sound.

I know it's 100 times easier and better to just rip the music cd thru IDE cable.  Just curious if I can make the spdif-in works --- before I spend the time and money to make the spdif RCA plug.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-03-30 10:52:00
1) the "enable pcm/dac" option works (i.e. if blank then no analog out).  However if I blank the "enable spdif out" option --- there is no analog sound even if the "enable pcm/dac" option is on.  Don't know if you notice that.

Nope, I haven't noticed that - but I'll take a look at it when I've got some time.

Quote
2) I plug my cd-rom's spdif out into the motherboard's spdif-in (I split a 4 pin soundcard cable into 2) and tried to record sound thru spdif-in --- but there is no sound.  The CD-ROM has its own playback, volume buttons and headphone jacks on the front panel.  I tried it with window's sound recorder and nero's soundtrax and wave editor.  I tried it with every possible combination of your driver's control panel --- inverse,.... --- no sound.

yeah, the SPDIF-in recording is a bit buggy - sometimes, the recording won't start, and only a reboot can "fix" that.
Title: Homebrew CMI 8738 drivers
Post by: Sebastian Mares on 2008-03-30 12:47:59
I was wondering if it was somehow possible to send trackmarks over an optical output. If you copy a CD to a MD using a TOSLINK connection for example, the MD recorder knows when a track begins and ends even for gapless CDs. This is currently not possible if you are using a computer as source.
Title: Homebrew CMI 8738 drivers
Post by: sam987 on 2008-03-30 21:11:15
yeah, the SPDIF-in recording is a bit buggy - sometimes, the recording won't start, and only a reboot can "fix" that.


Try the reboot method, it didn't work.

Don't know if it's a voltage issue (0.5 vs. 5v) for spdif signal on the motherboard or a hardware issue for my cd-rom (it's a 2x cd burner) or whether I am actually doing it wrong.

How does one do a spdif-in recording of a music CD from a cd-rom correctly?

1) press the physical play button on the cd-rom or play it in some sort of windows media player software.
2) what software to record (window's sound recorder???)

All I get from pressing the physical playback button on my cd-rom and press record on the "windows sound recorder" is either 0 seconds, or 0.1 seconds or 0.2 seconds.
Title: Homebrew CMI 8738 drivers
Post by: audigio on 2008-03-31 06:32:43
Just found out about this driver when I was about to give up on getting the SPDIF-in
to work with by SIIG SoundWave 7.1.
It works, but only for a couple of seconds while XP is booting.  Then the spdif sound stops
coming from the speakers ( other sound still works. )

I enabled spdif-in via cmicontrol, and in the windows sound mixer the spdif-in stream no longer shows up as muted.

After a reboot, it works again for a few seconds.

Any ideas ?  I'm using version 1.1.9 on 32 bit XP.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-04-03 19:12:06
sam987,
I've just tested the recording feature again and it works. Usually, you have to enable SPDIF-In recording, tick the "Select secondary SPDIF-In" box and then start the recording software of your choice and press the record key. Then you should start playing the source and the recording should work. The only thing that might be important is to select a sample rate and resolution equal to the source material.

audigio, are you talking about spdif-in or spdif-out? The latter works only if passthrough mode is enabled for dd/dts streams, or if the speaker configuration is set to stereo. SPDIF can carry only uncompressed stereo signals. Signals for more than two speakers have to be pre-encoded for compression (dd/dts) - such precoded streams are for instance on DVDs.
Once you set the windows speaker configuration to something other than stereo, the kmixer upmixes every stereo stream to that n-channel format by interleaving zeroes for unused speakers, and because the driver doesn't have a dolby digital live or DTS connect encoder, it disables the SPDIF ports and plays the stream via analog ports only.
Title: Homebrew CMI 8738 drivers
Post by: mohammad on 2008-04-03 19:24:54
hi dogbert its muds470 from avforums, i had a problem getting 5.1 dolby digital etc?

Anyways i installed the card again, used your drivers, now i am playing standard mp3s, and i get interference, i have followed your thread some of it  i understand some i dont!
whats kernel etc??

Anyways, i had a previous soundcard i dont know maybe thats whats conflicting, i removed it, but i dont know how i can see if thats been disabled or it may even be onboard.

Now a few times i have used vlc changed to a52 and got full 5.1, i tried the kingdom etc it worked! But later i couldnt get it to work, ie the next day! I think maybe the drivers were conflicting, i have been to windows and deleted some of the files you have stated previously, ie dll files.

The drivers which i have saved are in a desktop folder, is that why theres a problem?
Title: Homebrew CMI 8738 drivers
Post by: audigio on 2008-04-04 08:31:02
audigio, are you talking about spdif-in or spdif-out?


Hi Dogbert, this is about spdif-in.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-04-04 09:21:46
Quote
Hi Dogbert, this is about spdif-in.

so how do you determine that spdif-in recording works while XP is booting? and why should the sound "stop coming from the speakers"?

mohammed, driver conflicts are usually not an issue. also, I'd like to ask you to keep things on one board for the sake of simplicity - thanks.
Title: Homebrew CMI 8738 drivers
Post by: audigio on 2008-04-05 04:18:21
Quote
Hi Dogbert, this is about spdif-in.

so how do you determine that spdif-in recording works while XP is booting? and why should the sound "stop coming from the speakers"?

The speakers I'm talking about are the speakers driven by my PC.

My CD player is connected to the S/PDIF-in port of my PC.  When the CD player is playing a CD while the PC is booting,  I hear the music coming from the speakers connected to the PC.  The speakers are driven by the SIIG soundwave 7.1 card that has the S/PDIF-in port. 

The sound comes out of the speakers while windows is showing the screen with the black background and the blue bar going back and forth.  When the screen changes to the login screen with the blue background the music from the CD player stops coming from the PC's speakers.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-04-05 21:10:34
that's the so called "monitor mode" - the soundcard converts the signal on the SPDIF-in port to the analog ports. This is fundamentally different from recording stuff on the spdif-in because it's done entirely in hardware. Exclusive access to the DAC is required for regular PCM playback so the monitoring stuff will be disabled when the soundcard is being initialized.
There might be some combination of register settings to re-enable this, but I haven't bothered to take a look at it because this is rarely used.
Title: Homebrew CMI 8738 drivers
Post by: kingnothing on 2008-04-08 12:48:05
Hi, I have just purchased a new trust 5250 card and have installed your custom drivers. I have an optical lead connecting my optical out to my external Beresford dac then into my amp and speakers.

When I try to use kernel streaming, flac plays perfectly in winamp but when I try to play mp3’s I only get static! Bit odd, perhaps due to changing soundcard (used to be sb xfi)? Anyway in asio with the asio4all drivers it works perfectly with mp3’s and flac.

Is Asio giving me a bit perfect output with winamp?

Any input on how to fix the kernel streaming problem is much appreciated, if its bit perfect with asio tho that’s fine too!

Cheers

Simon
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-04-08 20:51:00
can you reproduce the static with foobar in conjunction with its KS output plugin?
Title: Homebrew CMI 8738 drivers
Post by: kingnothing on 2008-04-10 21:15:33
can you reproduce the static with foobar in conjunction with its KS output plugin?



A reinstall solved it, thanks for the help though.

However, other things such as youtube and slingplayer (for my slingbox) will not play sound and say faulty driver. Is there a fix for this?

Thanks
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-04-10 21:48:04
software players which use KS have exclusive access to the soundcard to the effect that other applications can't play sounds.
if you are using XP, you might not need to use KS to achieve bitperfect playback - I've put an article on my site which elucidates the basic principles of it.
Title: Homebrew CMI 8738 drivers
Post by: Sebastian Mares on 2008-04-11 18:35:46
Dogbert, any idea regarding my question about index marks in digital output?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-04-11 19:12:42
sebastian, sorry, no idea - I've never used MDs. My guess would be that in a CD player after a track the SPDIF signal is shut down for a short amount of time and restarted. A regular software player usually plays the tracks in a continuous fashion, hence the tracks can't be detected.
Title: Homebrew CMI 8738 drivers
Post by: Sebastian Mares on 2008-04-11 19:39:36
OK, thanks for the information. I doubt that it interrupts the signal though because using such a technique would break the gapless playback functionality.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-04-11 19:55:13
not necessarily - a buffer large enough to fill the gap between signal shutdown and start, a drive which can read faster than 1X and some DSP which glues the end of the finished track to the start of the new track should be sufficient means to achieve gapless playback. But as I said, that's just a guess.
Title: Homebrew CMI 8738 drivers
Post by: keeto on 2008-04-27 01:00:42
Hello,
I am using the 'Xp' version of DB's driver with a trust card[sc5250]. I was hoping to use the spdif-out to an amp and the spdif-in on the card with a mic. I have tried every configuration[I think ] in the control panel that I can,  but I can't get the mic to work.
Please advise.
thnx.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-04-27 11:21:19
keeto, what mic do you have and what software do you use for recording?
Title: Homebrew CMI 8738 drivers
Post by: keeto on 2008-04-27 15:06:36
keeto, what mic do you have and what software do you use for recording?

Sorry, should have included:
a basic mini-jack mic [spdif-in] and msn.
the ''in/out'' config???- can't use the native drivers[with yours] for the analogue in so, any way around this?
Thnx
Title: Homebrew CMI 8738 drivers
Post by: Egor on 2008-04-27 17:57:31
[...]a basic mini-jack mic [spdif-in] and msn

A basic mike won't work when connected to the SPDIF-in. You should connect it to the MIC jack (usually a red-coloured jack).
Title: Homebrew CMI 8738 drivers
Post by: keeto on 2008-04-27 20:05:03
[...]a basic mini-jack mic [spdif-in] and msn

A basic mike won't work when connected to the SPDIF-in. You should connect it to the MIC jack (usually a red-coloured jack).

I have a connector/adaptor for a mic[mini-jack] to spdif. if I try to connect the mic to the analog input on the card[it's pink], there's no sound because[???] the drivers are not loaded for the card, only dogbert's...
do I need the native drivers for the card in order to get the mic to work?
thnx for your help
Title: Homebrew CMI 8738 drivers
Post by: Egor on 2008-04-28 05:05:20
No, Dogbert's drivers should work fine. Try to connect to the MIC connector and enable in the control panel the "Mic boost" option (see additional cmedia driver configuration in the system contol panel), don't forget to turn on Microphone in the Volume control.
Title: Homebrew CMI 8738 drivers
Post by: keeto on 2008-04-28 17:46:40
I have tried to use the analogue[mic in] on the sound card and the spdif out config.
The 'complaint' from the microphone setup wizard is that 'I can't have a simultaneous connection'...ie. pple would hear me, but I couldn't hear them[or vice-versa] with the config the way it is now.
Had a go at all possible[~] configurations in the C-media control panel[as well as the audio and sound setup[OS control panel] , but no joy.
There's no point in contacting the sc[trust] native driver company as this is not a version[dogbert's] that they have written.
Any other ideas...perhaps Dogbert could weigh in here.
thanks Egor all the same
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-04-29 11:00:17
keeto, the microphone is analog - the "converter" you have is presumably just an electrical connector for notebooks which have shared spdif/analog jacks. It needs some electronics for an analog signal to be converted to its digital representation. This is the reason why the SPDIF-In recording from the mic doesn't work.
As Egor correctly stated, you need to connect the mic to the analog mic-in. Recording from the mic-in works, but the recorded sound isn't automatically played to the digital ports.
Title: Homebrew CMI 8738 drivers
Post by: keeto on 2008-04-29 13:04:24
thanks.

it is a connector/adaptor-one end fits onto the mic-jack and the other into the spdif on the card.
I was hoping to use the mic for conversing in msn/similar.
Is this possible or no...?
keeto
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-04-29 17:15:57
that's possible by using the mic-in.
Title: Homebrew CMI 8738 drivers
Post by: Leto Atreides II on 2008-04-29 17:30:01
maybe this will clarify things keeto:

Code: [Select]
microphone ----------------- (mic in) |
                                      |
                                      |
                                      | Computer
                                      |
                                      |
amp's spdif in ---------- (spdif out) |
Title: Homebrew CMI 8738 drivers
Post by: keeto on 2008-04-29 21:40:32
no, it's ok... ...I do understand ...I do really...

the problem is and has been that when I try to set up the microphone wizard- he tells me that I cannot have a 'simultaneous' listen and speak situation...I can hear someone, but they can't hear me, if ya get me. The mic in and spdif out,  and the use thereof at the same time, are the roots of the problem for me.
Please tell me of the 'checked boxes' that I should have in order to en-able:

mic in and spdif out[so I can use the conversation utility in msn]----in Dogbert's driver control panel

and many thanks to everyone[Leto, you've a hidden talent !-never mind your patience]
Title: Homebrew CMI 8738 drivers
Post by: keeto on 2008-05-02 14:20:02
What am I missing?
....would someone please tell me?
Title: Homebrew CMI 8738 drivers
Post by: keeto on 2008-05-02 16:49:22
by the drawing I would surmise that if I use the mic[in] from the sound card and spdif out from the card. then I should have mic capability. That is the way I set it up.
However, the mic calibration prog[''hardware test''] in XP won't accept this setup and says that I can't have it this way as I can't have a simultaneous[sound out and mic in] configuration.

These 2 connects are on 2 different channels surely[one for sound out and one for mic in] so why would one interfere with the other, which it is seemingly doing?
Initially I tried the spdif in[using a special adaptor/connector] and the spdif out, but no luck there.

Anyone got any ideas...someone...?
Title: Homebrew CMI 8738 drivers
Post by: Slipstreem on 2008-05-02 16:57:15
Have you followed the Installation Guide (http://code.google.com/p/cmediadrivers/wiki/InstallationGuide)? There are troubleshooting links regarding WinXP and Vista installation at the bottom. Maybe it hasn't installed properly.

Cheers, Slipstreem. 
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-05-02 18:28:04
keeto, you're doing everything correctly - the wizard is buggy. the hardware is limited to running at only one sampling frequency at a time which means that the recording and playback stream have to have identical sampling frequencies.
The purpose of the wizard is to determine whether a soundcard can record and play a stream simultaneously ("full-duplex"), but this fails because the recording stream can't be opened due to a incorrectly chosen sampling frequency. However, this doesn't affect normal apps like Skype or MSN - the kmixer usually converts the recording or playback stream to the necessary sampling rate to overcome this limitation, so it should work right out of the box.
Title: Homebrew CMI 8738 drivers
Post by: keeto on 2008-05-02 19:24:51
ok...thank YOU.
A rather odd thing going on here now. The Sound Is Working from the mic, but there are NO drivers installed...no control panel, nada, I did get the mic working for a short time and then lost it...did a re-install of the MSN 8.1 and an uninstall of the Dog drivers, but found they were still on my system, re-started and there was the sound intro[ms]...and still the drivers were in the 'choice of device' and there was/is sound ..and  the mic works..lol...can't believe this, very strange indeed.
will keep youse posted...
Title: Homebrew CMI 8738 drivers
Post by: keeto on 2008-05-02 22:42:37
I did a re-install of the D's C-Media drivers and so far so good.
I have to do alot of 'messing' around with some of the choices[setting of the buttons] in the control panel[re-setting]. I have to re-configure the analog and digital output to my receiver for some reason...this is undone every time I exit from the systema nd restart msn...nuisance, but better than not working at all.
Cheers for now.
Title: Homebrew CMI 8738 drivers
Post by: keeto on 2008-05-04 21:46:18
/quote[Have you followed the Installation Guide? There are troubleshooting links regarding WinXP and Vista installation at the bottom. Maybe it hasn't installed properly.]/quote

Slipstream      that did the trick.

I did a 'long' install of the d's media drivers and no problems with sound or msn. problems seem to have been resolved with this style of install.
all the best & thnx,
keeto
Title: Homebrew CMI 8738 drivers
Post by: RussellS on 2008-05-19 22:36:48
Hi,

I have been using these drivers for quite some time now and they provide absolutely perfect AC3/DTS passthrough and bitperfect music playback. Many thanks to Dogbert for providing them.

However, I just wondered if someone could tell me what the options "Enable 5v signal levels" and "Enable copyright bit" in the S/PDIF output page of the audio control panel are for and when you would enable them.


Many thanks


Russell
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-05-20 20:42:10
However, I just wondered if someone could tell me what the options "Enable 5v signal levels" and "Enable copyright bit" in the S/PDIF output page of the audio control panel are for and when you would enable them.

the copyright bit can be enabled for creating DAT tapes/MD discs (?) with copy protection - the security of the SCMS system relies on it. The 5V level switch enables 5V voltage for the high level - the specs just mention it and so I've implemented it. I haven't bothered to test it with an oscilloscope.
Title: Homebrew CMI 8738 drivers
Post by: RussellS on 2008-05-20 21:07:40
Thanks for the reply,

So, should the 5v level be enabled or not.


Regards

Russell
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-05-20 21:35:46
I'd say disable, but the motto is: "whatever works".
Title: Homebrew CMI 8738 drivers
Post by: DualIP on 2008-05-21 06:30:51
The 5V 0.5V is for adjusting output level to optical/coax.
For optical, choose 5V
For coax, it depends on hardware. With on board 5V-0.5V convertor, choose 5V otherwise choose 0.5V
Title: Homebrew CMI 8738 drivers
Post by: Leto Atreides II on 2008-05-21 06:40:46
Why should it matter what it's set to for optical?  How does an optical connection even have a voltage?
Title: Homebrew CMI 8738 drivers
Post by: DualIP on 2008-05-21 15:42:14
The CMI8738 chip itself does not have an optical output, just a "good old metal" output pin that gives low and high voltages.
This low-high voltage swing is configured with the checkbox, and obviously must match the used electrical to optical convertor.
Title: Homebrew CMI 8738 drivers
Post by: Axl_Mas on 2008-05-26 14:05:37
Thank you for the new relase!
Title: Homebrew CMI 8738 drivers
Post by: keeto on 2008-05-26 15:35:47
thanks DB and.....many thanks Axl Mas, for the heads up
Title: Homebrew CMI 8738 drivers
Post by: sam987 on 2008-05-28 18:43:49
Why should it matter what it's set to for optical?  How does an optical connection even have a voltage?


The toslink requires 5V to power the LED light.

Your stereo's spdif input and output requires 0.5V (which is the spdif standard).  You may damage your stereo if you give the stereo a 5V voltage.

http://en.wikipedia.org/wiki/S/PDIF (http://en.wikipedia.org/wiki/S/PDIF)

The problem is that TTL voltage is 5V --- i.e. communications between one computer chip to another computer chip is 5V.

This whole confusion started with early soundblaster live sound cards with spdif in the daughter cards --- they communicated in 5V.  Then Creative "forgot" that the spdif standard was 0.5V and the daughter card outputs the spdif signal "naked" at 5V via its RCA connector.  Asus also made the same mistake in their early spdif module.  Later designs of soundblaster cards and asus spdif modules reduced the voltage back to 0.5V before it goes out the RCA output connector.

There is also a potential problem with the input channel.  Your stereo is designed to output the spdif signal at 0.5V, but early soundcards and motherboards forgot about that (and expects to be communicated via TTL signals at 5V).  Without putting in an amplifier chip inside the soundcard or motherboard --- it doesn't hear the 0.5V spdif signal.

The CMI8738 chip has 2 spdif inputs --- the first spdif input can hear both 0.5V and 5V, the second spdif input can only hear 5V signals.  So if you plug a stereo with a 0.5V spdif signal into the CMI8738's secondary spdif input (which can only hear 5V signals) --- you won't hear anything.
Title: Homebrew CMI 8738 drivers
Post by: kyousuke on 2008-05-31 13:45:55
I have installed the driver, but I can't get Direct Stream working in my winamp output plug-in... it crash my winamp everytime.

When I use the official driver, it work with direct stream, I really don't know which output method is the most suitable for this driver.. Direct Sound? or what else? n how can I get direct stream working again? Thank You..
Title: Homebrew CMI 8738 drivers
Post by: Leto Atreides II on 2008-05-31 14:08:49

Why should it matter what it's set to for optical?  How does an optical connection even have a voltage?


The toslink requires 5V to power the LED light.



Hmm...  I've been using the optical connection fine for a long time and have never enabled the 5V option.  Perhaps it always has it at 5V for the optical connection, and the toggle only affects the coax connection.
Title: Homebrew CMI 8738 drivers
Post by: sam987 on 2008-06-01 02:41:01
Hmm...  I've been using the optical connection fine for a long time and have never enabled the 5V option.  Perhaps it always has it at 5V for the optical connection, and the toggle only affects the coax connection.


It really depends on how they design the motherboard and the spdif module.

For example, this is a 2003 forum discussion on the design flaw of the discontinued Asus spdif module (the pictures are long gone in the page) --- the flawed spdif module had both inputs and outputs for both optical and coax.

http://www.abxzone.com/forums/f96/looking-...dule-55195.html (http://www.abxzone.com/forums/f96/looking-asus-s-pdif-all-module-55195.html)

I suspect that Asus motherboard just feeds the flawed spdif module with 5V (because it needs 5V for the LED light).  So there were 2 potential problems: (1) the coax gets 10x the juice which could fry your stereo and (2) Asus use a million different chipset combinations in their motherboards and some of the chipsets can't listen to 0.5V spdif coax input from your stereo.

The corrected spdif modules have 2 versions: (1) coax and optical outputs and (2) coax input and output --- but no more 4 jacks version.

And they have to put an IC chip on the correct version to correct the voltage problem.

This is an old (1999) DIY hack to get spdif from an old soundblaster live card --- voltage converters everywhere in the DIY hack.

http://www.andrewkilpatrick.org/mind/spdif/ (http://www.andrewkilpatrick.org/mind/spdif/)
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-06-01 08:01:36
I have installed the driver, but I can't get Direct Stream working in my winamp output plug-in... it crash my winamp everytime.

the hardware doesn't support direct recording of the playback stream, and there isn't a software implementation for a loopback recording pin in my driver yet. This is the most requested feature by now, so when I manage to get some free time, I might implement it.
Title: Homebrew CMI 8738 drivers
Post by: tOz on 2008-06-02 17:27:47
I'm wondering if it's possible to software decode Dolby Digital coming from the SPDIF input and output the sound in multichannel to the analog ports. I have a XBox 360 attached to my trust sc-5250 via TOSLink and I can only select Stereo, triying to select DD only outputs clicks and distorted sounds.
Title: Homebrew CMI 8738 drivers
Post by: Egor on 2008-06-02 18:53:27
Get a receiver, maybe? The whole point is to bypass the analog part of c-media card.
Title: Homebrew CMI 8738 drivers
Post by: chess11 on 2008-06-03 14:43:02
Dogbert, please accept my admirations for your excellent work! Your drivers are awesome and all those cheap C-Media cards instantly turned into a miracle... 

I would like to ask you something - do these drivers support 8768+ /PLUS/ C-Media chip? I wonder if they will work OK for this soundcard - Auzentech HDA X-Mystique 7.1 Gold, it is equipped with 8768+ chip:

http://www.epowerhousepc.com/auzentech-dig...live-p-603.html (http://www.epowerhousepc.com/auzentech-digital-xmystique-gold-dolby-digital-live-p-603.html)

Thank you and keep up your work! 
Title: Homebrew CMI 8738 drivers
Post by: kyousuke on 2008-06-03 20:39:33
Thanks for your reply on my direct stream question, so what is the best output I can get from winamp?
I use Nightmare Sound Card... while I can get direct stream plugin (winamp) working on the Cmedia driver, but on ur driver.. I can only get direct sound output working in my winamp..for sure.. ur driver get me a accurate bit perfect.(well I really dunno if it is accurate or not ... just if I play some clips other than mp3.. my amp switch to 96khz)... any information I really need for it? I m really confuse now...thank you very much..=)
Title: Homebrew CMI 8738 drivers
Post by: Egor on 2008-06-04 04:43:16
I would like to ask you something - do these drivers support 8768+ /PLUS/ C-Media chip? I wonder if they will work OK for this soundcard - Auzentech HDA X-Mystique 7.1 Gold, it is equipped with 8768+ chip

Yes, but there will be no Dolby Digital Live functionality (this feature is rather software-based).
Title: Homebrew CMI 8738 drivers
Post by: chess11 on 2008-06-04 08:59:25
Yes, but there will be no Dolby Digital Live functionality (this feature is rather software-based).

Thank you, that's OK for me, I dont't need DD Live encoding. I have a receiver and I just need bit-perfect SPDIF passthrough of DTS and DD streaming.

Thanks again!
Title: Homebrew CMI 8738 drivers
Post by: Madsly on 2008-06-06 15:52:16
thanks for bitperfect driver!

But why original drivers doesnt support it?
Title: Homebrew CMI 8738 drivers
Post by: MerlinWerks on 2008-06-06 21:48:35
If I understand the Wiki correctly, with XP x64 I will not get bit-perfect playback with these drivers unless I use a 64 bit media player, Correct?

Dogbert, I believe I read in a post of yours (somewhere) that KMixer is different between XP x86 and x64, could you explain this a little further?

Thanks
Title: Homebrew CMI 8738 drivers
Post by: Egor on 2008-06-07 05:31:26
If I understand the Wiki correctly, with XP x64 I will not get bit-perfect playback with these drivers unless I use a 64 bit media player, Correct?

Dogbert, I believe I read in a post of yours (somewhere) that KMixer is different between XP x86 and x64, could you explain this a little further?

There is a quite detailed explanation:
http://code.google.com/p/cmediadrivers/wiki/Bitperfect (http://code.google.com/p/cmediadrivers/wiki/Bitperfect)

In short, you can get bitperfect playback on x64 with kernel streaming (using foobar2000 or winamp).
Title: Homebrew CMI 8738 drivers
Post by: PatchWorKs on 2008-06-07 09:56:40
It would be really great tho have a Realtek version !!!

(or, even better, an "UniAudio" - meaning an UniATA (http://alter.org.ua/en/soft/win/uni_ata/)-like approach - due to DriverPacks (http://driverpacks.net/DriverPacks/changelog.php?pag=sb) and ROS (http://www.reactos.org/wiki/index.php/ChangeLog-0.3.3#Audio_Stack) adopted it, so you could find volunteers to help...)

EDIT: here we go > UNIAUD (http://uniaud.netlabs.org/en/site/index.xml)

Quote
a generic OS/2 MMPM audio driver that supports the vast majority of audio hardware.

Based on the Linux ALSA project, it is designed to address the needs of enterprises and SoHo/Endusers running the IBM OS/2 platform. Its sophisticated architecture minimizes development effort for the support of new audio hardware and ensures both high quality and current OS/2 support without the amount of work normally involved in creating an OS/2 audio device driver.


I'm not a developer, BTW it should't be so difficoult to port 'cause OS/2 and Windows are somewhat cousins...

Hope that helps (or at least inspires) !!!
Title: Homebrew CMI 8738 drivers
Post by: MerlinWerks on 2008-06-07 16:50:47
If I understand the Wiki correctly, with XP x64 I will not get bit-perfect playback with these drivers unless I use a 64 bit media player, Correct?

Dogbert, I believe I read in a post of yours (somewhere) that KMixer is different between XP x86 and x64, could you explain this a little further?

There is a quite detailed explanation:
http://code.google.com/p/cmediadrivers/wiki/Bitperfect (http://code.google.com/p/cmediadrivers/wiki/Bitperfect)

In short, you can get bitperfect playback on x64 with kernel streaming (using foobar2000 or winamp).


Thanks Egor,

I did read that previously, I just wanted to confirm that a 64 bit player is still required. Unfortunately, my preferred player,  J. River Media Center, does not support KS or come in x64 version, which is why I was asking. I guess I'll need to look for a card with ASIO drivers.
Title: Homebrew CMI 8738 drivers
Post by: palswim on 2008-06-13 20:49:03
I tried to install the (WaveRT and normal) drivers on a Windows Server 2008 64-bit machine, but it kept giving me the "Error 39" (the one we believe means that it refuses to use unsigned drivers) error.  So, if anyone ever gets these drivers to work with Server 2008, let me know!

But, accepting that these drivers won't work, I tried to uninstall them.  But the entry "CMI 8738/8768 Audio Driver (remove only)" never leaves my Programs list, even after I select Uninstall (multiple times).  And the Control Panel applet never leaves, whether I uninstall from the Program applet or from the Device Manager.

So, in summary, could I in any way make these drivers work with Server 2008?  But if not, how can I completely uninstall them (i.e. remove all the entries from Windows)?
Title: Homebrew CMI 8738 drivers
Post by: chess11 on 2008-06-15 08:13:56
It appeared that latest C-Media drivers now officially support bit-perfect playback. I downloaded drivers for my Auzentech 7.1 Mystique from Auzentech site and they work OK.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-06-15 15:15:55
kyousuke, the kernel streaming output plugin should work right out of the box. if it doesn't, try foobar and its kernel streaming plugin. The most common cause for an error is that another application is using the soundcard and hence blocking exclusive access to the soundcard which kernel streaming output plugins require.

tOz, this is because the card can only decode PCM in hardware, but there's a dolby digital signal coming from the XBox. Undecoded DD sounds like white noise. You need to setup a filter graph with graphedit which decodes the DD from the SPDIF-In port to 5.1 PCM. The driver model of windows imposes a delay of 20ms minimum.

MerlinWerks, you're right - DirectSound / WaveOut output is not bitperfect on 64 bit systems. But if your player supports either kernel streaming or ASIO, you can achieve bitperfect playback. If you're limited to ASIO, all you need is a wrapper such as ASIO4ALL or ASIOx.

palswim, try deleting "cmicpl.cpl" from your system directory.
Title: Homebrew CMI 8738 drivers
Post by: palswim on 2008-06-16 03:29:04
palswim, try deleting "cmicpl.cpl" from your system directory.


Thanks Dogbert, that removed the Control Panel applet from the Control Panel.

Any idea why the driver stays in the Programs list even after it tells me the uninstall completed successfully?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-06-16 08:34:47
Thanks Dogbert, that removed the Control Panel applet from the Control Panel.
Any idea why the driver stays in the Programs list even after it tells me the uninstall completed successfully?


no idea - presumably, there are some API changes in Server 2008, or the system file restore mechanism kicks in.
Title: Homebrew CMI 8738 drivers
Post by: DAK.Eidolon on 2008-06-22 00:55:22
Hi Dogbert !
Congratulations for the great work you've done on this driver and an hundred thanks for sharing it . It's always amazing to see that some people can produce hard work and give it for free to the community, makes me think the earth is not such a bad place to be in after all. This being said, here is my question. Let me summarize the story : I have bought a terratec PCI, a chinese DAC, installed your drivers on a clean XP 32 and so far everything worked flawlessly. Still, there is something I can't understand for sure : is your driver enough to get bit perfect playback or do I need to use a player with kernel streaming on top of it ? I have read this thread several time, made some test, and I still can't figure what would be the perfect condition for it. I use mediaportal, wich can only use an old Foobar version, but I could use Jriver too if I had to. Is there any way to get bitperfect playback with any of those frontends ?
I guess you have answered thoses questions several times, but not in a way compatible with my little comprehension abilities I'm afraid. Sorry for the annoyance.
Take care .
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-06-22 19:38:36
Hi,

on XP, it is enough just using applications which use the regular DirectSound / WaveOut interfaces if the wave volume is set to its maximum and if you can be sure that no other application uses the soundcard. If you want to be sure, kernel streaming is the way to go - applications which utilize this have exclusive access to the soundcard and hence block the soundcard acccess of other applications. There's the possibility to use ASIO and an ASIO-to-kernel streaming wrapper such as ASIO4ALL if the media application in question doesn't support kernel streaming but ASIO.

Good luck!
Title: Homebrew CMI 8738 drivers
Post by: DAK.Eidolon on 2008-06-23 18:21:47
Thanks for your answer wich makes perfect sense to me, at least.
Of course, during my initial test and setups, and conforming myself to the indications of your site, I paid attention to the position of the wave slider in the window mixer, making sure it was at its max. Technically, I don't think any other application, out of mediaportal, has access to the soundcard. Now the details you were kind enough to provide would explain why I can't hear any objective difference between mediaportal's plain player, mediaportal's player with Asio4All and mediaportal configured to use Foobar with kernel streaming plugin. I guess I finally have bitperfect playback after all (my holly Graal), wich should not be surprising because the whole thing sounds astounding, and even better than my expensive so-callled audiophile CD-Player. Thanks to you, it's finally a dream comes true, and I can have fast access to .ape, .flac and wavepack files, just using a remote, with a sound that is pure blissness. Bye-bye CD boxes, shelves, and dust...
Your driver really made my musical life such an enjoyable experience, I can't thank you enough for that.

Take care

My setup, if anyone cares :

Win XP (32)
Mediaportal (using the stock Bass player) (Free)
Windows Mediacenter Remote (25 Euros)
GForce visualisation plugin (Free demo version)
Terratec  Aureon 5.1 PCI (18 Euros)
Dogbert's CMIDriver-1.2.0-bin-x86 (Free)
Optical wire (20 Euros)
Derek Shek II Non OS DAC (check "Sigtone" on Ebay, this is a bomb) (238 Euros)
Pathos Classic One MKII hybrid amp
BC Acoustique Act 02 speakers
Title: Homebrew CMI 8738 drivers
Post by: Vchat20 on 2008-06-29 07:06:25
Hey. Just wanted to start off here by saying what great drivers these are for the cmedia line of chips. Seems to be much more stable on my system than the official drivers.

Anyways, I have run into quite a conundrum lately. I have recently gotten back into an old game of mine called Starcraft. One thing I noticed about it is it seems to have some form of 3d audio/'wide' stereo field. Ever since playing it initially, it seems that that 3d audio function has kind of 'stuck' back into system audio even after reboots (the XP startup sound also has that 'wide' sound to it.). In addition, working audio is greatly hit or miss now whereas previously I had zero issues. I've even had concurrently running audio in various programs (winamp w/ resampler to 48khz and kernel audio and mplayer2 to name a few affected) go from zero volume (I CAN turn up my speakers to full volume and hear everything faintly behind loud buzzing) to working audio for an unknown period of time.

I'm not sure EXACTLY what the problem is and is the reason I posted here. It's awfully baffling and confusing and extremely annoying to say the least. I have way too many audio cues from various background apps that now decide to work when the sound card decides to work.

I dunno if there's any kind of debug driver set to track down what it's doing or what. Any help would be greatly appreciated.
Title: Homebrew CMI 8738 drivers
Post by: dinodisc on 2008-06-30 20:15:31
Hallo Dogbert,

Thanks a lot for these drivers, they are exactely what I need!

I've been using your latest version for a couple of days now and have encountered what I think is a little bug:

When "invert phase" ("digital" tab) is selected for S/PDIF input, this setting is lost after a system restart (at least of my system, Win XP Home SP3).

Funny thing is that for a couple of seconds, during startup, the incoming (inverted) signal is played through my speakers.
This signal is then "pushed away" by Windows own start sound.
Title: Homebrew CMI 8738 drivers
Post by: r3mus on 2008-07-17 11:58:30
the only thing im constantly fighting with is the microfone.
With your drivers i cant get voice tools like ventrilo working properly.
when i start ventrilo it says: "Failed to open input device. Another program might have it open already"
If i set up direct sound input i get an "createcapturebuffer error" and if i try the regular CMI8738/8768 Wave device input i get an "open input wave device failed" error.


Quote
what OS do you use, what version do you run (32 or 64 bit), and do you have any other programs opened which might use the soundcard while Ventrilo is running?



hi and sry 4 the late answer
im using win xp prof 32bit. The odd thing is, that the mic in ventrilo (the voice programm) only works while steam (a gaming plattform) is running.
and today even with steam it doesnt 

thx in advance for any help
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-07-22 13:27:27
Vchat20, this sounds extemely odd.
Presumably, the 3D effects can be explained by Starcraft changing the speaker configuration of Windows. This might also hint to the underlying problem which causes issues with the volume.
Do these issues appear in sessions in which you haven't played Starcraft? Have you tried disallowing 88.2 and 96 kHz sampling frequency in the control panel applet?

dinodisc, this is a known conflict between Windows and the driver storing and loading the device settings. I suggest you delete the device from the device manager, initiate a scan for new hardware, delete the device which gets installed after that again and repeat that until Windows runs out of drivers. Then re-install my driver and it should potentially work.

r3mus, try disabling 88.2 and 96 kHz in the control panel applet - that should fix it.
Title: Homebrew CMI 8738 drivers
Post by: dinodisc on 2008-07-24 10:48:26
dinodisc, this is a known conflict between Windows and the driver storing and loading the device settings. I suggest you delete the device from the device manager, initiate a scan for new hardware, delete the device which gets installed after that again and repeat that until Windows runs out of drivers. Then re-install my driver and it should potentially work.
It works! Thanks.
Title: Homebrew CMI 8738 drivers
Post by: wrat on 2008-08-11 03:28:51
First off, Thanx for your work!
Got bit-perfect with mediamonkey and asio now my dts and hdcd stuff actually plays
However using asio plugin IF I try to upsample anything to 96K no sound?
I also tried to  get bit-perfect in wmp 10 OR MCE 2005 no go?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-08-12 07:02:09
However using asio plugin IF I try to upsample anything to 96K no sound?

That's odd - I suspect that the ASIO-to-kernel streaming software might do something wrong.

I also tried to  get bit-perfect in wmp 10 OR MCE 2005 no go?

That's achievable by just setting the wave volume slider to its maximum - the kmixer is bitperfect if no mixing and volume adjustments are required.
Title: Homebrew CMI 8738 drivers
Post by: PatchWorKs on 2008-09-28 11:23:23
I don't wanna be boring, btw i just discovered this:
Quote
Daudio_Win2k.zip (http://isisalsa.sourceforge.net/docs/Daudio_Win2k.zip) - Hoontech driver source code for their SAM9x07 based card.
Dsp3.zip (http://isisalsa.sourceforge.net/docs/Dsp3.zip) - Part 2 of this driver.


Hope that helps to extend the driver compatibility to other cards too (hoping that could become the base for an open UNIfied audio driver).

Title: Homebrew CMI 8738 drivers
Post by: RIV@NVX on 2008-09-28 13:05:40
Isn't this card too different from C-Media's solutions?
Title: Homebrew CMI 8738 drivers
Post by: BEEMB on 2008-10-06 14:13:06
Thanks for your answer wich makes perfect sense to me, at least.
Of course, during my initial test and setups, and conforming myself to the indications of your site, I paid attention to the position of the wave slider in the window mixer, making sure it was at its max. Technically, I don't think any other application, out of mediaportal, has access to the soundcard. Now the details you were kind enough to provide would explain why I can't hear any objective difference between mediaportal's plain player, mediaportal's player with Asio4All and mediaportal configured to use Foobar with kernel streaming plugin. I guess I finally have bitperfect playback after all (my holly Graal), wich should not be surprising because the whole thing sounds astounding, and even better than my expensive so-callled audiophile CD-Player. Thanks to you, it's finally a dream comes true, and I can have fast access to .ape, .flac and wavepack files, just using a remote, with a sound that is pure blissness. Bye-bye CD boxes, shelves, and dust...
Your driver really made my musical life such an enjoyable experience, I can't thank you enough for that.

Take care

My setup, if anyone cares :

Win XP (32)
Mediaportal (using the stock Bass player) (Free)
Windows Mediacenter Remote (25 Euros)
GForce visualisation plugin (Free demo version)
Terratec  Aureon 5.1 PCI (18 Euros)
Dogbert's CMIDriver-1.2.0-bin-x86 (Free)
Optical wire (20 Euros)
Derek Shek II Non OS DAC (check "Sigtone" on Ebay, this is a bomb) (238 Euros)
Pathos Classic One MKII hybrid amp
BC Acoustique Act 02 speakers


Interesting post. I'm trying to achieve the same - use a Media Player that can achieve a bit perfect output.

So you're saying above, that Media Portal can utilise these drivers and output bit perfect sound ? Really. ..

Right - I'm going to buy your soundcard and install away if thats the case.

I'm using Vista, not XP ... so, can I get this working using this ?

What about BluRay etc ?  Can I utilise the driver for stereo sound too ?

Interesting stuff this. ... not sure whether to bypass my PC's sound entirely using an Aiport Express - which works in a Mac like way and should pass the sound into my external DAC perfectly, or take this route.

Hoping for a response...

Is the card you have recommended for use with this driver ?

Many thanks for any responses.

Excellent work Dogber !
Title: Homebrew CMI 8738 drivers
Post by: BEEMB on 2008-10-06 21:42:52
I'm obviously quite late coming to this.

Just following up on my post from above ..


When using Vista Media Centre I assume its still not possible to get a bit perfect output even using these drivers ?  Any way around this or does it have to be MediaPortal and not Media Centre .. ?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-10-13 11:58:28
Quote
I'm using Vista, not XP ... so, can I get this working using this ?

The service which handles all audio stuff in Vista alters the sound stream regardless whether there's actually a reason for that or not, and hence it isn't bitperfect. Subsequently, your audio player needs support for either kernel streaming, ASIO (you need to have an ASIO->KS wrapper installed for that) or WASAPI / exclusive access.

Quote
Is the card you have recommended for use with this driver ?

There's a list of devices on my page - you are free to choose a card which serves your needs best in terms of availability, ports and physical size.

When using Vista Media Centre I assume its still not possible to get a bit perfect output even using these drivers ?

as far as I know, there aren't such plugins for Vista's Media Center.
Title: Homebrew CMI 8738 drivers
Post by: Doujinshi on 2008-12-16 00:25:45
Thank you for great work on this driver

I bought this card for its SPDIF input to connect my Playstation 2 and maybe xbox 360 later

i cant get Dolby Prologic 2 to decode on all channels from SPDIF, also an option to make regular stereo input to play on all channels would be nice

ALso the SPDIF input volume doesnt seem to move in windows mixer

I hope you will consider this
Title: Homebrew CMI 8738 drivers
Post by: Useless Warrior on 2008-12-19 00:56:49
This may be a stupid question but does this driver support the CMI8770  found in the HT striker?

I know its not listed but some of these chipsets are essentially the same with different names, didn't know if the 8770  was on of them.

Also, why no svn on the google code page?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2008-12-19 09:47:38
Quote
I bought this card for its SPDIF input to connect my Playstation 2 and maybe xbox 360 later

Usually, this is a bad idea because the driver model introduces some delay during the decoding process which is very annoying. I had a report of someone who managed to get this working with reasonable performance by generating a custom filter graph (GraphEdit).

Quote
i cant get Dolby Prologic 2 to decode on all channels from SPDIF, also an option to make regular stereo input to play on all channels would be nice

Sound processing isn't done in the driver on purpose, so the application has to generate such a stream. There are various plugins for player software such as winamp etc. which implement such functionality.


Quote
This may be a stupid question but does this driver support the CMI8770 found in the HT striker?

The chip is almost identical to the 8768 with the exception of some register which enables the dolby encoder in the official driver, so yes. You'll lose the dolby real-time encoder though.

Quote
I know its not listed

it *is* listed on the "supported devices" page.

Quote
Also, why no svn on the google code page?

Too lazy to set it up... Besides, I'm the only developer so there isn't really a necessity for having a repo.
Title: Homebrew CMI 8738 drivers
Post by: Useless Warrior on 2008-12-19 15:22:58
Quote
This may be a stupid question but does this driver support the CMI8770 found in the HT striker?

The chip is almost identical to the 8768 with the exception of some register which enables the dolby encoder in the official driver, so yes. You'll lose the dolby real-time encoder though.

Neat, I will have to give it a try.

Quote
I know its not listed

it *is* listed on the "supported devices" page.

Ah, I was looking at the FAQ and I only saw the chipsets. Sorry about that.

Quote
Also, why no svn on the google code page?

Too lazy to set it up... Besides, I'm the only developer so there isn't really a necessity for having a repo.


The way you worded this makes it sound like you don't have local source control, you are using it locally right?
Title: Homebrew CMI 8738 drivers
Post by: boybergamo76 on 2009-01-02 20:02:33
Please i really hope that someone can help me.I have a ps3 and a trust sc-5250.I can have  dolby digital decoded in ps3 games  trough this card if i use ac3 filter and graph edit ? I have already made some attempts and was given me  only white noise.Please help!!!
Title: Homebrew CMI 8738 drivers
Post by: Martin275 on 2009-01-04 16:28:32
Hello,

I am currently using a Terratec Aureon 5.1 USB MK II (http://www.terratec.net/en/products/Aureon_5.1_USB_MK_II_2120.html) audio device and tried to install this driver here.

But it doesn't want to work with Vista Home Premium 32 Bit.

The automatical driver installation fails and after the manual driver update the is always the problem no. 10 saying that the driver could not be loaded.

I'm using this external USB audio adapter with my Samsung R510 laptop, which has got a Realtek audio device onboard. Should I try to uninstall the Realtek driver to solve my driver issue?

Thanks in advance for your help! It would be great if somebody could help me!!
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2009-01-04 17:23:16
as mentioned in the FAQ, your device is incompatible with the driver.
Title: Homebrew CMI 8738 drivers
Post by: Martin275 on 2009-01-04 17:33:52
as mentioned in the FAQ, your device is incompatible with the driver.


Oh no - what a pitty! So I spent almost 40 bucks for nothing.. 

But thanks anyway for your quick reply. You're doing a good job!

Any recommendations for an alternative for me?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2009-01-04 17:56:40
Any recommendations for an alternative for me?


Since you're a limited to USB, the m-audio transit is a good choice for a bitperfect audio interface. The adapter requires manually changing the sample rate to match the playback material which is tedious.
Title: Homebrew CMI 8738 drivers
Post by: Martin275 on 2009-01-04 18:39:24
Any recommendations for an alternative for me?


Since you're a limited to USB, the m-audio transit is a good choice for a bitperfect audio interface. The adapter requires manually changing the sample rate to match the playback material which is tedious.


Thank you, but m-audio transit usb is far from being cheap..

I focussed something like this (http://www.dealextreme.com/details.dx/sku.15746), but I'm not quite sure if it passes through spdif-signals flawlessy?!
Title: Homebrew CMI 8738 drivers
Post by: PatchWorKs on 2009-01-06 10:00:41
Dunno in can help, BTW:
Quote
This project was registered on SourceForge.net on Nov 26, 2008, and is described by the project team as follows:
Quote
Windows USB audio driver source for EMU CA0188- and CA0189-Based external audio devices. Existing products include EMU 0202 USB, EMU 0404 USB, and TrackerPre.


Welcome to the EMU/Creative Windows USB audio drivers:
Quote
The code published here is accessible using Subversion (SVN). The following is the URL to use for checking out the code 

https://zaudiodriverwin.svn.sourceforge.net...driverwin/trunk (https://zaudiodriverwin.svn.sourceforge.net/svnroot/zaudiodriverwin/trunk)

Once checked out, you can build the code using Microsoft's WDK tools as described in the readme file in the project source itself.
Title: Homebrew CMI 8738 drivers
Post by: Ludmil on 2009-01-11 09:23:22
OK, I installed it on XP64 bit

First, the Audio Control control panel shows only (Stereo 2.0) available channels.
Second, the MPU401 is not working (MPU401 Address: 0000)
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2009-01-11 09:44:05
First, the Audio Control control panel shows only (Stereo 2.0) available channels.

and what it is supposed to show?
there is a plethora of cmedia chips and it's hard if not impossible to determine their capabilities, so the number of channels is chosen conservatively. what chip revision do you have?

Quote
Second, the MPU401 is not working (MPU401 Address: 0000)

that's disabled because it caused reproducible lock-ups on some systems with a specific motherboard chipset.
Title: Homebrew CMI 8738 drivers
Post by: McMusic on 2009-01-15 21:36:56
Hi Dogbert!

First of all congratulations and thank you for the fantastic driver you have programed!

I have a question concerning WaveRT. What are the differences between the WaveRT and the non-WaveRT version of your driver? Is WaveRT somehow superior to the "standard driver"?

I'm currently running Windows Vista Ultimate x64 with the WaveRT driver. I'm just curious on the differences between the two driver alternatives.

Thank you so far!

Regards
McMusic
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2009-01-17 10:29:42
WaveRT is an alternative model for audio drivers: an intermediate buffer between the application and the soundcard which has been used in previous models (WavePCI, WaveCyclic) is omitted, and an application can have direct access to the buffer which the soundcard's DMA engine uses for getting/storing the samples.
This permits lower delay times and it is also somewhat advantageous in terms of CPU usage.
Title: Homebrew CMI 8738 drivers
Post by: McMusic on 2009-01-17 20:32:08
Thank you Dogbert for the explanation! 
Title: Homebrew CMI 8738 drivers
Post by: brittonc on 2009-01-22 16:44:46
Hi Dogbert,

After spending way too long trying to get SPDIF from my Creative X-Fi card to my amp I came across one of your posts in AVForums, which led me to your site.  I purchased a c-media based card (value 8-channel with optical out...8768 chip), did a fresh install of Vista and installed your drivers (v1.2.3).  However....I am still not getting any sound from my amp. 

I recently had an Asus motherboard and was using the onboard sound via coax spfid and it worked without a problem.  I have just upgraded and changed to an Intel board.  The onboard sound didn't have spdif out which is why tried the X-Fi again.  After finding your site I thought my prayers had been answered with a cheap c-media card but I'm still stuck.

I've made sure the card is set to SPFID out.  I'm using the Arcsoft TotalMedia Theatre to play films (which is set to audio SPDIF out) and media player for music.

Any ideas what I'm doing wrong?  I upgraded to be able to play HD-DVD/Blu ray and at the mo can't use my HTPC as there's no audio!

Thanks.


EDIT:  Think I've fixed it!  Knew it was something I had done.  I forgot to disable the onboard sound in BIOS (don't I feel stupid!  lol!).  Thanks for the drivers...it works great!!  NOw my £10 value sound card is doing what my £70 X-Fi couldn't!!
Title: Homebrew CMI 8738 drivers
Post by: brittonc on 2009-01-23 22:56:51
OK....I've been watching HD-DVD's, Blu ray's and some video from HDD.  At some point watching all of them the video as suddenly slowed right down and I've lost audio.  I closed the programs I was using (TotalMedia Theatre and WMP11) and although the video starts playing normally again I have no audio.

I have just rebooted the PC and now have no audio at all...not even system sounds.  Anyone got any ideas?
Title: Homebrew CMI 8738 drivers
Post by: jace112 on 2009-02-11 22:32:05
Hi

I use your amazing drivers with Windows 7. I'm also using Asio4All with foobar.

Only using SPDIF output (toslink). Analog output is disable as you can see.

Can you tell me what the 2 outputs in the asio4all control panel are?

[a href="http://img19.picoodle.com/img/img19/3/2/11/f_asiom_0a4b70f.png" target="_blank"] [/b]
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2009-02-13 09:23:36
One output interface is for the analog ports and the other one for the digital ports. The digital port is necessary for AC3/dts passthrough, but since this is only an artificial construction to work around some issues with the multimedia API of Windows Vista/7, it doesn't matter what output you choose in ASIO4ALL - both interfaces are handled almost identically by the driver.
Title: Homebrew CMI 8738 drivers
Post by: MarkusL on 2009-02-21 17:55:09
Don't know if this is old news, but I just tried it and was rather surprised: Bit-perfect playback also works with the official C-Media drivers! When playing "dts_the_other_side_44khz.wav" my receiver (Denon 1908) detects DTS and plays on all speakers.

I'm using a Terratec 7.1 with CMI8768+, driver "Windows XP/2000,8.17.33,2009-01-09" from the C-Media homepage. Used max Volume, foobar player set to 16bit output, soundcard set to 44.1khz output.

Edit: Sorry, just realized that this has already been posted before...
Title: Homebrew CMI 8738 drivers
Post by: Protonus on 2009-03-18 22:38:34
Hi Dogbert and others using this wonderful driver (thanks Dogbert!)
I reported an issue on the Google Code page re: this driver here:
http://code.google.com/p/cmediadrivers/issues/detail?id=44 (http://code.google.com/p/cmediadrivers/issues/detail?id=44)
Anytime my PC enters standby with this driver, after resume/wake the audio control panel is broken and I lose audio on the SPDIF out.  I detailed it including screenshots at the aforementioned link.  Anyone else try standby with this driver and/or have had issues with it?
Title: Homebrew CMI 8738 drivers
Post by: Arthur Drummond on 2009-04-17 23:23:29
I had many problems with the onboard audio on my HTPC's motherboard. I had an HDA X-Mystique 7.1 Gold soundcard in my old parts bin but remembered that sometimes the audio would drop out every now and then. Installed it with the "official drivers" on new HTPC and choppy audio was still there.

I came across Dogbert's 1.2.3 drivers on the 'net and gave them a try. Problem solved and the audio has never sounded so sweet through my AV receiver. Many thanks. These drivers are gold.
Title: Homebrew CMI 8738 drivers
Post by: sam987 on 2009-05-09 21:53:49
Asus A7S333 motherboard with CMI8738 6 ch MX chip with your very nice 1.2.3 driver.

Just bought a USB keyboard with special built-in volume control buttons --- volume up and down works perfectly.  The mute button --- correctly "mutes" Control Panel's Sounds and Audio Devices Property (device volume/speaker).  However there is still sound coming out of my speakers.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2009-05-11 10:10:00
Just bought a USB keyboard with special built-in volume control buttons --- volume up and down works perfectly.  The mute button --- correctly "mutes" Control Panel's Sounds and Audio Devices Property (device volume/speaker).  However there is still sound coming out of my speakers.


this is to be expected - the master mute control is a fake because the hardware hasn't got a working master mute switch, but some software requires its existence. I suggest you map the mute control switch of your keyboard to the PCM mute control.
Title: Homebrew CMI 8738 drivers
Post by: kevbirder on 2009-05-14 22:40:58
I am running Windows XP.
I have just loaded these drivers.  They installed easily - Thanks for that.

I was hoping to solve a problem that I had with the '5.12.1.644' drivers.
The problem was that when recording from Wave or Stereo Mix, i.e. just record what you hear through the speakers, I was getting corruption of the output.  Short parts of the sound appeared to be randomly repeated.  I guess I would call them glitches. I presume this is some sort of timing/buffering problem although the sound was perfect when heard while recording.

Anyway I hoped these drivers would help but I cannot see any option to record from Wave.  Is this option just missing?  I dont still have the cmedia mixer, do I need it?

If these drivers will not record wave are there any drivers for XP that will?  The latest drivers 8.17.33 from cmedia appear to be corrupted.  Is there an uncorrupted version around?

Thanks for your help

Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2009-05-14 23:19:12
I haven't come around implementing a "Stereo Mix" recording pin yet because it's quite a messy job. There is however a piece of software with which you can achieve this: Virtual Audio Cable.
Title: Homebrew CMI 8738 drivers
Post by: kevbirder on 2009-05-18 14:01:04
I haven't come around implementing a "Stereo Mix" recording pin yet because it's quite a messy job. There is however a piece of software with which you can achieve this: Virtual Audio Cable.

Thanks for the hint on VAC.  That does the job for me.

Apart from Dogberts drivers, does anyone know which are the latest 'working' drivers from Cmedia themselves for the CMI8738?  If you think it is 8.17.33 then where is a good copy of these?  All the ones I have found appear to be in a corrupted rar file.

Thanks again to Dogbert for your quick help.
Title: Homebrew CMI 8738 drivers
Post by: sam987 on 2009-05-19 20:07:00
For testing, I tried to install the new official drivers from CMI onto my computer --- but it wouldn't install because the inf file doesn't have my soundcard device listed on the new driver.

My device ID is PCI\VEN_13F6&DEV_0111&SUBSYS_80E21043&REV_10\3&61AAA01&0&28

Can you tell me where to add my device ID on the inf file?
Title: Homebrew CMI 8738 drivers
Post by: Berki on 2009-06-01 08:28:14
Hi everybody,

I want to get the best possible quality out of my high end preamp (stereo and AC3) over SPDIF and I am having a hard time deciding between the ESI Juli@, the E-MU 1212M, the Trust 514DX 5.1 and the TerraTec Aureon 5.1/7.1 (the former two with original drivers and the latter two with the open source cmedia driver) sound card.

The price difference doesn't matter at all. What card would you recommend? I am using Windows Server 2008 SP2 (similar to Vista) as my operating system.

I would really like to hear your recommendations.

- Daniel
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2009-06-05 13:46:10
The spdif is a digital low data rate interface where the cheapest working solution will do just fine. You wouldn't base your decision to buy a simple ethernet controller on any arbitrary "quality" factors, so why should you do this for other digital interfaces?
Title: Homebrew CMI 8738 drivers
Post by: Berki on 2009-06-05 17:27:19
I just bought a Trust SC-5250 and installed it today. But when I try to install your driver, the device manager shows an exclamation mark saying "Windows cannot load the device driver for this hardware. The driver may be corrupted or missing. (Code 39)". I have tried the WaveRT and the normal version. Restarted my computer. And tried to install it with your installer and without. Alwyas the same. Also tried to uninstall driver and "Detect hardware changes" - still the same error message.

I am using Windows Server 2008 SP1 x64 Edition. Do you know if your driver works on Server 2008? If not this would be really bad news for me .

What else could I tried? I have read the infos on your project page but didn't find any advice. I would really appreciate any further infos and help. Please tell me if I could be of further assistance debugging the problem (is there a log file anywhere?).

I would really like to use your great driver for my high end system.

Thank you
- Daniel
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2009-06-05 17:30:47
That OS probably requires a signed driver. You can either permanently enable test-signing and sign the driver with such a certificate or you can press F8 during boot-up and disable driver signing. There is a a brief outline in the FAQ on my site.
Title: Homebrew CMI 8738 drivers
Post by: Berki on 2009-06-05 19:25:09
This shouldn't be the problem. The OS asked me, if I want to install the unsigned driver and I clicked "Yes, installe anywway..." and installation succeeded so far. I am quite sure I have already disabled driver signing.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2009-06-05 19:34:28
it is - "code 39" is a dead giveaway for that.
Title: Homebrew CMI 8738 drivers
Post by: Berki on 2009-06-05 20:13:46
Damn, you're right, it really was the case. Booted with F8 and it works like a charm now. So it looks like I will have to enable test signing (how annoying that there is no disable functionality provided by M$ except the test signing mode).

But anyway, thank you very much for your quick help!!!

PS: Why the hell does Windoze ask me "if I want to install the unsigned driver anyway" if it knows for sure that it won't work? And then it gives me such a cryptic error message in the device manager. But, hey, it's Windoze...
Title: Homebrew CMI 8738 drivers
Post by: Berki on 2009-06-05 21:00:32
Ok, I played arround a bit now and got bit perfect playback working in foobar200 by installing the wasapi plugin and decreasing the buffer length to 500 ms (some cryptic error message otherwise).

Is it correct, that I still need to use the AC3 filter for Media Player Classic to get AC3 playback with movies?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2009-06-05 21:57:11
iirc, the x64 version of vista sp2 fixed a bug which hindered ac3 passthrough from 32bit applications to a 64bit system, so it's presumably also fixed for Server 2k8.
Title: Homebrew CMI 8738 drivers
Post by: dstrimbu on 2009-06-06 21:18:47
Thank you, Dogbert!  I have been using an Unslung Linksys NSLU2 as a music server with Firefly (MT-DAAPD) to drive my first floor home music system.  A Roku M1000 source, coaxial digital out to GW Labs DSP upsampler/re-clocker; then AES/EBU to a MSB "Full Nelson" Link III DAC.  The analog signal goes thru a Musical Fidelity X10v3 tube buffer, then to my McIntosh MA-6100 (refurbished recently by AudioClassics).  I'm driving a pair of Paradigm Studio/20 v4 speakers.  Needless to say, it sounded very good with the Radio Paradise 192k stream, and my music collection - about 110Gb of 320k MP3s and FLAC rips.

I always ran the Roku at 100% volume to prevent any "bit discarding" behaviour, and I had several people comment on the overall quality.  One day, I decided to plug my Sennheiser SD-600s into the McIntosh.  That's when I knew I needed a bitperfect source.  :-)

The Roku was replaced with an older IBM Intellistation M-Pro with 1Gb RAM, running XP SP3.  The machine has root on a 16Gb internal SCSI and my music library on a 250Gb Hitachi IDE.  I'm running MediaMonkey Gold 3.06 in kiosk mode, with the CPU in the next room to minimize fan noise.  I installed a SIIG Soundwave 7.1 PCI that I picked up on Amazon for 32 USD, and also installed a USB 2.0 card to facilitate backup and offload of music files to an external drive.

So, in other words - thanks to you and your work, I have a phenomenal bit-perfect audio source with a full video interface for... like 50 USD?  OK, I didn't factor in the Intellistation's cost, or the NEC monitor - but they've been sitting in my basement for several years.  The NSLU2 is going to be used as a print server, I think.

With the bitperfect output, even the 320kb MP3s sound great.  The "crunchiness" is gone.  I'm listening to Tears for Fears "Songs from the Big Chair" - a recording that is extremely bright.  Wow - the sense of air and space is just unreal.  I've been listening for several hours at decent levels and sense no listening fatigue whatsoever... and the FLAC output is... pristine.

I had thought that maybe I should invest in a PS Audio Perfect Wave transport, or a Slim Devices Transporter... but no longer.  Thank you, my friend.  This is an incredible piece of work that I'll be telling all of my friends about... you've done us a great service.

Any way we can renumerate you for your work?  Let me know...

Cheers,

-don
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2009-06-11 20:13:16
Thank you very much for your enthusiastic report!

For me, there is enough remuneration in knowing that some people actually do understand the "raison d'etre" of my driver and that they can fully appreciate it . Enjoy your system!
Title: Homebrew CMI 8738 drivers
Post by: Doujinshi on 2009-06-26 14:45:53
Thanks for this great driver

Im using it since 1.2.1, my setup is Xbox360->PC(SL-8870)->AC3 Decoder (X-tatic Digital headset)

IT works great passing trough from Xbox (Loop S/Pdif in to out) and from PC, my only sugestion is , could you make the Loop On/Off option as a button or something better accessible cause i do have to switch quite often between PC and xbox

ALso i have a small problem playing movies, i dont know if its driver related, but when i passtrough to my external AC3 decoder and the sound falls to single channel (for example only center plays) often i loose all audio, same thing happens if the source is mono (AC3 encoder then kicks in) i can see in AC3Filter panel that this one channel is sent via SPDIF but i get no sound. can anyone suggest something ?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2009-06-28 14:39:36
IT works great passing trough from Xbox (Loop S/Pdif in to out) and from PC, my only sugestion is , could you make the Loop On/Off option as a button or something better accessible cause i do have to switch quite often between PC and xbox

cmicontrol has command line parameters with which you can easily generate one-click solutions - call it with '/?' to get a list of parameters.

Quote
ALso i have a small problem playing movies, i dont know if its driver related, but when i passtrough to my external AC3 decoder and the sound falls to single channel (for example only center plays) often i loose all audio, same thing happens if the source is mono (AC3 encoder then kicks in) i can see in AC3Filter panel that this one channel is sent via SPDIF but i get no sound. can anyone suggest something ?

That sounds like an application related problem indeed.
Title: Homebrew CMI 8738 drivers
Post by: Vchat20 on 2009-07-07 09:51:54
Well I finally got around to swapping cards around and getting my Cmedia card put back in my main machine here, overriding the built-in soundmax card.

Couple extra thoughts came to mind:

1) Any luck on the 24 bit audio support? Doubt it considering it seems a hard limit in the chip, but one can dream.
2) How possible is it to, in 2 channel output mode, to dupe the output on another jack like the rear or lfe/center jacks? Or would I be better off just finding some way to set that up in my application of choice?
3) This is more hardware focused, but I have been itching to get the spdif in and outs working on this card since I got it, but the only way seems to be tying directly onto the chip with an outboard coax/optical panel. There is also a 10 pin (5x2) solder pad here where a header is obviously supposed to go. Doubtful, but I am curious if anyone else has had any luck with a similar laid out card in finding out what these pins map to and by chance if they trace back to the spdif in/out pins on the chip?
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2009-07-07 09:58:23
1.) 24bit support is still something I haven't been able to implement. Maybe I'm missing something, but chances are that the chip doesn't support it at all: with the official cmedia driver, 24 bit output is unattainable.
2.) I'm avoiding any kind of signal processing within the driver, so that's a functionality that must be implemented by user mode applications.
3.) I've linked to a picture of the header's pinout on the "supported hardware" page.
Title: Homebrew CMI 8738 drivers
Post by: Manzoku on 2009-07-07 23:04:05
3) This is more hardware focused, but I have been itching to get the spdif in and outs working on this card since I got it, but the only way seems to be tying directly onto the chip with an outboard coax/optical panel. There is also a 10 pin (5x2) solder pad here where a header is obviously supposed to go. Doubtful, but I am curious if anyone else has had any luck with a similar laid out card in finding out what these pins map to and by chance if they trace back to the spdif in/out pins on the chip?


Which sound card are you using? On for example the Sweex SC012 (which has no digital connectors) there's a 5x2 solder pad next to the CMI8738 chip, like this:

(http://www.zen98696.zen.co.uk/Projects/CIM8738Images/P98.jpg)

and pin 98 (SPDIF out) of the 8738 goes to a pcb track (highlighted in purple) connected to pad (2).  Pad (3) is ground, and a very quick & dirty connection to these 2 pads with an 82 ohm resistor in the signal lead will drive the coax input of my receiver successfully (it's not standard SPDIF +/- 0.5 V but it works to demonstrate the connection).  There's an example of another 8738 (without the solder pads) that I connected up & have been using for several weeks now that's linked to on the Supported Devices page.
Title: Homebrew CMI 8738 drivers
Post by: Vchat20 on 2009-07-08 12:21:07
Sorry for the delay. Thanks dogbert. Answered all my questions there.

Manzoku: No idea. This card has no distinctive labeling other than the cmedia chip. I have a good photo though if it helps:
(http://img13.imageshack.us/img13/8690/img0340k.th.jpg) (http://img13.imageshack.us/my.php?image=img0340k.jpg)
The pin layout looks identical to yours with the 'key' up in that corner. Whether or not it matches up is another story. Really all I am after is at least one spdif input via coaxial especially if I can get a bit-perfect recording or live decode to the analog 5.1 outs (which, unless I am mistaken, ac3filter is now capable of doing to some effect from a live input?)
Title: Homebrew CMI 8738 drivers
Post by: Doujinshi on 2009-07-08 19:31:54
Thank You for suggesting using /? to set Loop Thru On/OF shortcuts

Latest version seems to fix strange popups ive been getting 

Thank you for amazing work
Title: Homebrew CMI 8738 drivers
Post by: Manzoku on 2009-07-09 11:47:26
The pin layout looks identical to yours with the 'key' up in that corner. Whether or not it matches up is another story. Really all I am after is at least one spdif input via coaxial especially if I can get a bit-perfect recording or live decode to the analog 5.1 outs (which, unless I am mistaken, ac3filter is now capable of doing to some effect from a live input?)

OK, looks like my information wasn't too relevant if you want SPDIF in.  On the card in my picture pin 86 of the 8738 chip (SPDIF in) is connected to the middle pad on the bottom row of the 5x2 solder pads, but when I had a quick try last night I couldn't get it to work with a +/- 0.5V SPDIF input.  I suspect either I'm making an elementary mistake somewhere or it needs TTL levels (0 / 5V) in the same way that SPDIF out from the chip is at TTL levels, so an interface circuit is required.  I'll probably try that at some point just out of interest.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2009-07-09 13:07:20
years ago, I've stumbled across a russian website where some guy described how he managed to add an electrical spdif-in port to his 8738LX. I can't find the site now, but with the technical specifications from cmedia which contain some circuit diagrams, this should be easy.
Title: Homebrew CMI 8738 drivers
Post by: Vchat20 on 2009-07-10 02:52:31
Well I guess I'll just have to take a day and start poking around on that solder pad and see what sticks.

As it is, the linked pinout on the supported devices page looks somewhat promising. pin 1 on this card looks like it should trace back through a capacitor to the 12V pci pin and the SPDIF1 and SPDIF2 pins on the pad look like they 'may' trace near the relevant pins in the 8738 chip. Not 100% though. Again, would probably have to take time out to poke around some.
Title: Homebrew CMI 8738 drivers
Post by: Manzoku on 2009-07-10 12:02:03
One point to bear in mind - the chip on your card is the same as on my Sweex card, a C3DX, and the data sheet I've been using (here (http://alsa.cybermirror.org/manuals/cmi/CMI8738_spec_v06_reg.doc)) has this layout for the 5x2 connector:
(http://www.zen98696.zen.co.uk/Projects/CIM8738Images/Opt_In_Out.jpg)

Certainly on my Sweex card the connections I've traced so far (SPDIF in & out, Ground, and 12v) all fit in with this layout.  As far as I can tell there isn't an SPDIF2 on the C3DX version of the chip.  Tracing the connections with a multimeter is fiddly but not too difficult.  I use a photo of the chip to give me a reference point on the board especially for  the SPDIF in pin 86, otherwise I go cross-eyed.

As I mentioned earlier it's likely that SPDIF in needs an interface circuit to bring the signal up from +/- 0.5 V to TTL levels (good page here (http://www.andrewkilpatrick.org/blog/?page_id=215)).  There are plenty of circuits published to do this & I've ordered the bits, so will let you know how it goes.
Title: Homebrew CMI 8738 drivers
Post by: Doujinshi on 2009-07-10 22:16:27
It seems like when i switch Loop trough on/off when soemthings playing (like a movie) i get "More data is available" OK popup

IS this something wrong with my instal or is this intended?

Can you get rid of it?

thanks

PS>obviously one can say, dont switch when somethign playing, but im playign my xbox, i switch HDTV to PC, fire up a movie and notice theres no sound, so i switch sound to PC (loop of) and get the popup ;p
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2009-07-10 22:42:18
IS this something wrong with my instal or is this intended?

directsound is blocked when ac3 passthrough is active, and this is a somewhat unintended consequence. I'll have a look at it.
Title: Homebrew CMI 8738 drivers
Post by: hardwareaddict on 2009-07-11 17:55:17
Hi,

Very good work gets done on making a driver i see.
I tried to read a lot of the thread from the beginning, but i'm missing an important aspect.

Apologies for asking a layman question.

I've got very musical ears.

Is the idea that basically a monkey-audio or FLAC file (something 'lossless') can get decoded without
losing quality to the SPDIF out to the receiver?

Is there some quality loss from the soundcard?
Or is the idea that normally spoken one of the digital to analog conversors lose quality and that this
solution is not using such conversion at all?

If so that is of course MAGNIFICENT.

As that would be a magnificent achievement, also as a person capable of programming low level myself i know
how difficult it is to support open software.

Really very very impressive piece of work, to support something for free as i smell real good intentions here and
that is really worth mentionning!

As my receiver is pretty ok (NAD T761), i'm of course looking for a method without losing sound quality too much to the soundcard,
is this achieving it? (don't go complain about speakers please - yes my 2 JBL speakers need an upgrade, sorry to say so but the best quality
speakers i didn't hear in sound studio's when i visited there some years ago - i see 'em at funerals).

Oh you guessed it, i'm just interested in stereo sound for now.

My current soundcard is useless. It is an Audiotrak Maya 1010. One of the channels has been blown up (so when playing stereo sound,
only 1 speaker works well, the other produces garble), it is possible some organisation tried hack it and tried use one of the channels as
input channel (if you reverse a speaker it works as a microphone  - as you know lately the internet has been flooded with hacking programs,
awful). The company pchut.nl where  i had bought it didn't exchange it for a new one, "as nothing is wrong". Which is ballony of course.

Now a solution where i get rid of the soundcard nearly completely, by bypassing it and using SPDIF is of course ideal
This time machine NOT on the internet connected of course.

I do realize that bad receivers have big problems here when getting the 'pure sound', but this receiver does not.
But that pure sound that is not getting resampled in the soundblaster way, that's exactly what i'm looking for and currently i've got
no budget for a new soundcard, and my oldie audigy i had given away of course as it is resampling itself

Next question is which platforms get supported (as i'll install the OS that it supports best)?

Next question as you probably know that as well: is todays soundblasters still resampling the sound?

Is there a list somewhere which 10 euro soundcards this driver works for that do have a sony philips digital out?

Thanks in advance for answerring any of my questions,
Vincent
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2009-07-13 19:07:16
Vincent, all of your questions are more or less answered on the googlecode page.

Doujinshi, I've released a new version. This is going to be the last version for quite a while because I won't have access to a full-fledged PC for a few months or so.
Title: Homebrew CMI 8738 drivers
Post by: hardwareaddict on 2009-07-14 16:39:42
Hi Dogbert,

Great work.

I bought a sweex 5.1 audio card and driver doesn't install very well at vista 32 bits ultimate edition.
Then i went to hardware devices and fixed it there. It recognized it then as CMEDIA driver.

Defender totally turned off and rebooted.

It played fine for 2 minutes then stops playing (using foobar 0.9.4.1) and nothing can get it again to work except a reboot.
Tried this several times. Each time after about roughly 2 minutes it stops playing (song is 3 minutes actually).

Mouse clicking on another song doesn't let foobar play. Seems it detects hardware issue then.
Tried playing it to the SPDIF out.

All software are fresh installs. Vista fresh installed, new foobar downloaded and installed. No other software has been installed
at the system and it isn't on the internet.

p.s. machine is a dual k7 S2466 mainboard case is open and airco in room is functioning.

Note windows mediaplayer keeps playing. Not a very simple to use player it is though.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2009-07-14 19:49:17
vincent, this sounds like a hardware issue indeed. I know someone who had similar problems playing music at 44.1 kHz. It turned out that the oscillator quartz was faulty, and when he swapped it for a new one, things turned back to normal.
Title: Homebrew CMI 8738 drivers
Post by: ERNiE-C on 2009-07-16 19:04:21
just wanna say thanks, this driver works absolutely flawless for my Trust 514DX in Windows XP and Windows 7 RC1, even after hibernation, unlike my ATI HDMI Output from my 780G board

I'm mainly using foobar2000 with WASAPI-Output.
Title: Homebrew CMI 8738 drivers
Post by: Manzoku on 2009-07-17 15:41:09
Well I guess I'll just have to take a day and start poking around on that solder pad and see what sticks.

As it is, the linked pinout on the supported devices page looks somewhat promising. pin 1 on this card looks like it should trace back through a capacitor to the 12V pci pin and the SPDIF1 and SPDIF2 pins on the pad look like they 'may' trace near the relevant pins in the 8738 chip. Not 100% though. Again, would probably have to take time out to poke around some.

Vchat20 -

Have now confirmed that as well as digital out (as in my earlier post) digital in can be connected up on a Sweex SC012 via pin 86 of the 8738 chip.  It's necessary to bring the +/- 0.5V SPDIF levels up to TTL (0/5V) using a 74HC04 inverter (I used the circuit from towards the bottom of this page (http://www.epanorama.net/documents/audio/spdif.html)).  Assignments for the 5x2 connector are as shown in my picture a few posts back.

SPDIF recording with Cool Edit Pro worked, as did SPDIF pass-through.

The SC012 is a half-height card with a full height bracket.  I'm in the process of making up an extra half-height bracket to take the small 74HC04 interface board together with coax-in and coax-out sockets.  Link to some pictures will follow, time permitting.
Title: Homebrew CMI 8738 drivers
Post by: Manzoku on 2009-07-20 18:18:33
This is the SPDIF in/out connector for the Sweex SC012.  The soundcard bracket was cut down to half height size for my mATX PC, so the additional circuitry and sockets are on a separate bracket.  If the SC012 bracket hadn't been cut down, everything could probably have been fitted onto it.  Details of the circuit etc. here (http://www.zen98696.zen.co.uk/Projects/Sweex_SC012.html)
(http://www.zen98696.zen.co.uk/Projects/CIM8738Images/FinalAssembly.jpg)
Title: Homebrew CMI 8738 drivers
Post by: Doujinshi on 2009-07-22 22:32:56
Doujinshi, I've released a new version. This is going to be the last version for quite a while because I won't have access to a full-fledged PC for a few months or so.


Thank you for fast update

Works great

I hope you get some rest from us all bothering you with little things 
Title: Homebrew CMI 8738 drivers
Post by: sam987 on 2009-07-25 06:27:50
C-Media came out with brand new official drivers in July.

Don't know if you realized or not, but C-Media also came out with brand new version of their 8738 spec sheet back in Feb 2009 --- AND continues to advertise the chip as 24 bit in and out.  Brand new registers in the spec sheet for 24 bit spdit out, AC3 control registers, and Mute PCI channel to analog DAC (my mute button on my keyboard may finally work).

http://www.cmedia.com.tw/pdf/PCI/CMI8738_6...1_registers.pdf (http://www.cmedia.com.tw/pdf/PCI/CMI8738_6ch_series_spec_v21_registers.pdf)
Title: Homebrew CMI 8738 drivers
Post by: sam987 on 2009-07-27 03:03:03
Have now confirmed that as well as digital out (as in my earlier post) digital in can be connected up on a Sweex SC012 via pin 86 of the 8738 chip.  It's necessary to bring the +/- 0.5V SPDIF levels up to TTL (0/5V) using a 74HC04 inverter (I used the circuit from towards the bottom of this page (http://www.epanorama.net/documents/audio/spdif.html)).  Assignments for the 5x2 connector are as shown in my picture a few posts back.


Isn't spdif supposed to be 0.5V.

http://en.wikipedia.org/wiki/S/PDIF (http://en.wikipedia.org/wiki/S/PDIF)
Title: Homebrew CMI 8738 drivers
Post by: Manzoku on 2009-07-27 21:45:33
Well, the specification says 0.5V to 1V.  In practice you find that an unconnected S/PDIF coax output (eg on a stand-alone DVD player or CD player) has a signal that swings 0.5V either side of 0V, so is 1V peak-to-peak (or +/- 0.5V).

When the player is connected up to equipment that terminates the output with 75 ohms the signal level drops to around 0.5V peak-to-peak (+/- 0.25V).
Title: Homebrew CMI 8738 drivers
Post by: sam987 on 2009-07-28 19:31:30
Well, the specification says 0.5V to 1V.  In practice you find that an unconnected S/PDIF coax output (eg on a stand-alone DVD player or CD player) has a signal that swings 0.5V either side of 0V, so is 1V peak-to-peak (or +/- 0.5V).

When the player is connected up to equipment that terminates the output with 75 ohms the signal level drops to around 0.5V peak-to-peak (+/- 0.25V).


But if your stereo is expecting 0.5V, why are you stepping it up to 5V?  Won't it kill your stereo?
Title: Homebrew CMI 8738 drivers
Post by: Manzoku on 2009-07-29 12:19:24
But if your stereo is expecting 0.5V, why are you stepping it up to 5V?  Won't it kill your stereo?


We're talking about S/PDIF input to the Sweex soundcard, not a stereo.  It's stepped up to 5V for the S/PDIF input on pin 86 of the 8738 chip on the Sweex soundcard, because that's what it is expecting.

It's the S/PDIF output from the 8738 chip on the sound card that goes to the stereo/AV receiver.  That is at 5V, and has to be stepped down to the level the stereo/AV receiver expects.
Title: Homebrew CMI 8738 drivers
Post by: marscay on 2009-08-03 21:18:36
Dogbert - first of all thankyou for the work with these drivers, it's really top stuff.

Do you think there would be any problem using 2 8738/8768 cards in 1 machine with your drivers? Reason being i need 1 for 44.1 PCM passthrough for my DAC and another for DD/DTS bitstreams for my processor.

I know you can generally use 2 soundcards if they're different chipsets but i fancy a couple of the cheap Trust 5200's as they have a dedicated SPDIF connector unlike Creative cards for e.g. where i need to use a 3.5mm to RCA plug.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2009-08-05 01:28:04
Do you think there would be any problem using 2 8738/8768 cards in 1 machine with your drivers?


That's an excellent question. From the specs, it should work just fine, but I tried this once without success - the second driver instance didn't load no matter what. I tested this configuration with just the official driver and with both my and the official driver simultaneously. Perhaps it was my system setup that was flawed (it was on a mainboard with a VIA chipset after all) or I did some other things wrong, but that's just speculation.
Title: Homebrew CMI 8738 drivers
Post by: marscay on 2009-08-05 15:17:41
Do you think there would be any problem using 2 8738/8768 cards in 1 machine with your drivers?


That's an excellent question. From the specs, it should work just fine, but I tried this once without success - the second driver instance didn't load no matter what. I tested this configuration with just the official driver and with both my and the official driver simultaneously. Perhaps it was my system setup that was flawed (it was on a mainboard with a VIA chipset after all) or I did some other things wrong, but that's just speculation.


Yeh i think there's every chance it won't work  I've used 2 cards with success in the past but they were difference chipsets and software.

Managed to swap boards in my HTPC to one which has onboard SPDIF so i'll get by now with just the one c-media card.
Title: Homebrew CMI 8738 drivers
Post by: ERNiE-C on 2009-08-06 19:29:44
I have swapped my DAC/IntegratedAmp for a Primare SPA-21 AV-Receiver, now it seems like there's a lag in the Receiver, the SPDIF signal starts to play a second later, which results in cropped track starts, like the SPDIF-circuitry in the AV-Receiver would be in sleep mode and wakes up a little late.
Is there anything I can do on the driver-side?
Title: Homebrew CMI 8738 drivers
Post by: Naveb on 2009-09-23 14:45:26
hello,

what cables would i need to connect my c-media sound card to this?

http://www.coemaudio.com.au/Sources/DACs/183/ (http://www.coemaudio.com.au/Sources/DACs/183/)

and if i do connect it this way, am i limiting the potential of my DAC?

thanks
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2009-09-27 18:12:59
Quote
Is there anything I can do on the driver-side?

nope - if the driver constantly loops over an empty playback buffer, the dynamic sample rate switching feature would be ruined.

what cables would i need to connect my c-media sound card to this?

any cheap optical SPDIF or electrical cinch cable will do.

Quote
and if i do connect it this way, am i limiting the potential of my DAC?

no - the transmission is digital, hence lossless and the cable has no influence on the quality whatsoever.
Title: Homebrew CMI 8738 drivers
Post by: ERNiE-C on 2009-11-05 14:57:13
Hey dogbert i'm having a problem installing your driver on Windows 7 x64 Final (XP and Windows 7 RC worked fine, Card is a Trust514DX)

Your setup.exe reports "Driver successfully installed" but I receive an exclamation mark in the Device Manager which says:

Die digitale Signatur der für dieses Gerät erforderlichen Treiber kann nicht überprüft werden. Bei einer vor Kurzem durchgeführten Änderung an Hardware oder Software wurde möglicherweise eine Datei installiert, die falsch signiert oder beschädigt ist. Möglicherweise handelt es sich auch um schädliche Software einer unbekannten Quelle. (Code 52)


I've tried both RT and Non-RT x64.
Title: Homebrew CMI 8738 drivers
Post by: .halverhahn on 2009-11-05 15:12:14
@ ERNiE-C
Try How do I install the driver in 64 bit edition of Vista (http://code.google.com/p/cmediadrivers/wiki/FAQ#How_do_I_install_the_driver_in_64_bit_edition_of_Vista)
Title: Homebrew CMI 8738 drivers
Post by: ERNiE-C on 2009-11-06 23:23:30
urgh, guess i'll have to (re)install the 32bit version in that case
Title: Homebrew CMI 8738 drivers
Post by: qpwoeiruty999 on 2010-01-27 22:34:37
Does anyone know if Diamond Xtreme Sound 7.1 (http://www.diamondmm.com/XS71DDL.php) can output bitperfect on  S/PDIF @ 24 bit and 44.1 Khz? This soundcard is supported by this driver as stated here (http://code.google.com/p/cmediadrivers/wiki/SupportedDevices)

Thanks!
Title: Homebrew CMI 8738 drivers
Post by: KingStill on 2010-02-19 20:40:00
I recently bought some gadgets that don't play well together. Namely, I want to connect my playstation 3 optical out to my sound card to play through my 5.1 speakers. Since the card doesn't decode dolby in hardware, I have to attempt to do it on the fly through ac3filter, yay! I encountered two obstacles so far:
1. The inadequate, but working solution:
In graphedit, I route audio source->ac3filter->audio renderer and it works, but predictably audio lags behind video a fraction of second, and
2. The annoyance:
When launching/quitting games, I lose audio and get buzz instead. I have to go the the mixer on my sound card control panel and toggle "SPDIF-in reverse" checkbox and I get back my sound.

Solution for 1:
I started writing my own directshow ASIO streaming capture/render filter that uses ASIO4ALL v2 for the driver. So far I managed to write enough code for 2 channel stereo input/output to work to see if I can defeat the lag issue, and it's a success so far. I'm confident I will have the whole thing done in a few days.

Solution for 2?
I don't want to go the the mixer all the time to flip a switch. Since I have the access to the whole SPDIF stream, how do I check whether it's valid or whether I need to "reverse it." This would allow me to fix the signal inside the capture filter prior to passing it through the decoder. I searched everywhere but I just hit a wall here. What does reverse spdif mean? Can anyone point me how to do it in C/C++?

The reason I ask here is that my sound card is based on the CMI8768+ chip and I poked around in the driver and noticed that this driver also has this invert switch and at least I can see the source to see what it does, but I don't understand it. Can anyone explain me the gist of it? Thanks in advance.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2010-02-19 22:00:50
1: kernel streaming / wasapi might also be an option. You will, however, have a lag of an ac3 frame's length 32ms plus 10ms for the cyclic audio buffer to fill up in the worst case.

2: that's a register bit which is exposed to userland. For more information, consult the cmedia data sheet. It's probably defining the signal levels of the spdif receiver inside the chip. cmicontrol.exe has command line switches which can be used to enable / disable the 'reverse bit' thing.
Title: Homebrew CMI 8738 drivers
Post by: KingStill on 2010-02-19 22:54:29
1: kernel streaming / wasapi might also be an option. You will, however, have a lag of an ac3 frame's length 32ms plus 10ms for the cyclic audio buffer to fill up in the worst case.

2: that's a register bit which is exposed to userland. For more information, consult the cmedia data sheet. It's probably defining the signal levels of the spdif receiver inside the chip. cmicontrol.exe has command line switches which can be used to enable / disable the 'reverse bit' thing.


1. Yes, I tried kernel streaming and it's a significant improvement over regular (directsound?) capture/render, but the delay is still clearly noticeable and I have no way of shrinking its default buffer size that I know of.

2. I would like my capture filter to be able to tell whether it's looking at an invalid stream so that it may flip that switch automagically. Do you know if that would be possible?

Thanks for the quick response.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2010-02-20 18:16:53
2. I would like my capture filter to be able to tell whether it's looking at an invalid stream so that it may flip that switch automagically. Do you know if that would be possible?


there's an spdif status bit in some register which can be read and exposed to userland. I haven't implemented this yet since almost no one uses that, but since the driver is open source, you are free to do so.
Title: Homebrew CMI 8738 drivers
Post by: saginata on 2010-03-21 14:40:07
1.) 24bit support is still something I haven't been able to implement. Maybe I'm missing something, but chances are that the chip doesn't support it at all: with the official cmedia driver, 24 bit output is unattainable.


Have you tried any of the CMI8768+ cards? I've checked the CMI8768 datasheet and it says 16bit playback now. CMI8768+ is less popular but it's datasheet says 24bit playback.  Diamond Xtreme 7.1 uses the CMI8768+ and the manufacturer seems pretty sure that it plays 24bit. I'd check myself but I can't find any cheap CMI8768+ card in Poland.
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2010-03-22 01:40:35
Have you tried any of the CMI8768+ cards? I've checked the CMI8768 datasheet and it says 16bit playback now. CMI8768+ is less popular but it's datasheet says 24bit playback.  Diamond Xtreme 7.1 uses the CMI8768+ and the manufacturer seems pretty sure that it plays 24bit. I'd check myself but I can't find any cheap CMI8768+ card in Poland.

for all I know, the 8768+ is just a regular 8768 card with a slightly different chip ID. all the extra functionality (dolby encoder etc.) is actually implemented in the driver, so I guess the 8768+ isn't capable of doing 24bit. Also, the linux driver doesn't implement anything specific for the 8768+ card.

If someone with a 8768+ is reading this, maybe he or she can test my conjecture by trying to play a 24bit file and looking at the sample size of the spdif output.
Title: Homebrew CMI 8738 drivers
Post by: sergien on 2010-03-27 10:20:45
Hi there, Dogbert!

First of all, ¡sorry to disturb!

I'm a long time user of your driver under XP. It worked like a charm, but now I've switched to Windows 7 (exactly the same hardware) and I've a small issue.

When I install the driver the MPU-401 part says the driver has an invalid INF file that is missing an entry. Then, in "Device properties" it shows an "error code 28". My version of Seven is in spanish but it roughly translates as "The installation was not done because no function controller was specified for this device".

If I try to directly specify the location of the drivers it goes on with the "invalid INF message"

Do you have any clue of what can I do to solve the issue?

Thanks in advance,
Sergien
Title: Homebrew CMI 8738 drivers
Post by: palswim on 2010-06-14 21:28:11
I'm again trying to install these drivers on a Server 2008 machine with the tool which the FAQ mentions (http://code.google.com/p/cmediadrivers/wiki/FAQ#How_do_I_install_the_driver_in_64_bit_edition_of_Vista)?.

Does a more specific instruction set for installing these drivers with the tool exist somewhere?  I still can't seem to install them and have them work, even using the tool, but I can't tell if I'm doing everything correctly.

Either this method doesn't work on Server 2008 or I'm taking a wrong step in trying to use the tool.
Title: Homebrew CMI 8738 drivers
Post by: msgohan on 2010-10-19 22:42:50
It was asked on the first page but I haven't been able to find the answer with lots of searching and googling. I'm currently looking for a cheap sound card that can do recording of AC3 via optical input. My motherboard input can do PCM but apparently it resamples, because DD recordings are totally unplayable.

Can someone using this driver give it a try? Here (http://chidragon.thedessie.com/AC3Rec.zip) is the the Dolby Digital Recorder app which doesn't require installation.
Title: Homebrew CMI 8738 drivers
Post by: viorel91boy on 2010-11-09 17:31:08
Hy there.
I have a problem with cmi control panel.it says that the system cano't find the file specified, I pres ok and it says the operation completed sccesfuly i pres ok again and the cmi control appears and disappears  very fast.
Please help me out
Title: Homebrew CMI 8738 drivers
Post by: Dogbert on 2010-11-10 03:24:12
you haven't installed the driver correctly - please read the FAQ.
Title: Homebrew CMI 8738 drivers
Post by: viorel91boy on 2010-11-10 16:22:41
you haven't installed the driver correctly - please read the FAQ.

Thank you a lot. I hope you get rich
Title: Homebrew CMI 8738 drivers
Post by: JeepAss on 2010-11-19 08:46:14
First of all i wanna say hi to everyone !

I really appreciate that Dogber1 did drivers for CMI 8738 cuz they are great and the sound from my speakers is awesome but i gotta big issue....i hope u guys can help me

My PC audio is :
Terratec Aureon 5.1 Fun, CMI8378 connected via Toslink 1,5 M to Lampucera DAC and from DAC to my Cambridge Audio A500 amplifier by 2 x 2 RCA cable 5 meters.The thing is if i wanna change the song in winamp i gotta wait about half a second or 0,75 a second to hear the sound from my speakers and i don't know why it happens ?
In Foobar 2000 it works perfectly fine.

Another big issue is that the sound in movies has delays/big latency like 0,5 or 0,75 second of delay.
If i look at the lips of actrees is noticable that the music is delayed.

it happens in every media player even in youtube movies ect.

I tried to change my codecs and it happened over and over again.

Do you know what can cause that issue ? is it something with my Sound card or driver ? or my DAC isn't working properly ? Before my PC was using Sound blaster live connected by analog to DAC and then to my Amplifier ahd it wasn't any delays/latency sound.

do you got any ideas ?

I attach also my settings.

(http://img266.imageshack.us/img266/112/bitperfectustawienia.jpg)
bart

Title: Homebrew CMI 8738 drivers
Post by: PaJaRo on 2010-11-19 12:43:15
Before my PC was using Sound blaster live connected by analog to DAC and then to my Amplifier ahd it wasn't any delays/latency sound.

bart


I don't see why u wanted to connect your analog output to a DAC.
Title: Homebrew CMI 8738 drivers
Post by: JeepAss on 2010-11-19 14:13:57
Before my PC was using Sound blaster live connected by analog to DAC and then to my Amplifier ahd it wasn't any delays/latency sound.

bart


I don't see why u wanted to connect your analog output to a DAC.

becaise i dodn't had SPDIF cable and i wanted to test if my DAC working after i have bought my DAC i didn't have any opportunity to do that.That is not the point of my problem...

please if you have any idea to solve that problem post it here, otherwise please do not.
Title: Homebrew CMI 8738 drivers
Post by: precisionist on 2012-05-28 23:02:11
Thanks a lot for this driver. It's the first one ever which lets me record bit-correctly through SPDIF-in under win xp IIRC.
I can also confirm that SPDIF out and looping from SPDIF in to SPDIF out works. That's basically what I really need...I couldn't get the analog out to work so far though. Perhaps it's just me doing something wrong.
I especially liked "Detected driver cmedia xy...these will be wiped from your system to avoid conflicts".

This is a Typhoon CMI8738.
Title: Homebrew CMI 8738 drivers
Post by: aqandersen on 2012-12-26 20:09:08
well just registred to tell you many thanks Dogbert. you work on this driver has made my life significantly easier and cheper, since i for a long time have been using a cheapo sound card in my mediacenter with bitperfect streaming :-)

what are your thoughts on driver signing in windows 7 64 bit. how do you deal with it? me i still run 32 bit. but my brother i law runs 64 bit on a mediacenter i administrate for him, we have it running test mode and testsigned you driver, but is there a better workaround?

again many thanks for your dedication and work
Title: Re: Homebrew CMI 8738 drivers
Post by: PolliSoft on 2016-05-24 18:29:15
I just tried to install the driver on a 32-bit Windows 10 installation, and it worked perfectly! :)
This is great since I couldn't get the official C-Media drivers (Win 8 ) to enable pass-through at all.
The version of the driver I used was: https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/cmediadrivers/CMIDriver-1.2.6-bin-x86.zip
Title: Re: Homebrew CMI 8738 drivers
Post by: McLies on 2018-06-21 17:44:27
Hello to all, and thanks to Dogbert for the straight-through driver for C-Media chips.

I'm experimenting with building a retro system using Windows 98SE.

Does anyone here know if Dogbert's C-Media Driver will work with Windows 98SE ?

Title: Re: Homebrew CMI 8738 drivers
Post by: precisionist on 2018-06-28 19:14:47
Does anyone here know if Dogbert's C-Media Driver will work with Windows 98SE ?
Driver backwards compatible ? I would expect not.
The drivers supplied with the card I mentioned above worked best with WinME IIRC. Don't recall about 98.