Homebrew CMI 8738 drivers |
Homebrew CMI 8738 drivers |
Oct 16 2006, 16:50
Post
#1
|
|
|
Group: Members Posts: 15 Joined: 17-November 05 Member No.: 25818 |
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: So long, dogbert This post has been edited by d0gbert: Mar 14 2008, 20:30 |
|
|
|
![]() |
Jan 10 2007, 11:19
Post
#2
|
|
|
Group: Members Posts: 77 Joined: 31-December 06 Member No.: 39169 |
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) |
|
|
|
Jan 11 2007, 16:47
Post
#3
|
|
![]() Group: Members Posts: 162 Joined: 5-October 03 Member No.: 9165 |
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. -------------------- http://code.google.com/p/cmediadrivers
|
|
|
|
Jan 17 2007, 10:13
Post
#4
|
|
|
Group: Members Posts: 77 Joined: 31-December 06 Member No.: 39169 |
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. |
|
|
|
Jan 18 2007, 14:17
Post
#5
|
|
![]() Group: Members Posts: 162 Joined: 5-October 03 Member No.: 9165 |
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. -------------------- http://code.google.com/p/cmediadrivers
|
|
|
|
Jan 18 2007, 17:54
Post
#6
|
|
|
Group: Members Posts: 77 Joined: 31-December 06 Member No.: 39169 |
[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.[/quote] 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. [/quote] 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)? This post has been edited by DualIP: Jan 18 2007, 17:55 |
|
|
|
Jan 18 2007, 19:18
Post
#7
|
|
![]() Group: Members Posts: 162 Joined: 5-October 03 Member No.: 9165 |
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. -------------------- http://code.google.com/p/cmediadrivers
|
|
|
|
d0gbert Homebrew CMI 8738 drivers Oct 16 2006, 16:50
Leto Atreides II Awesome!
I'll try these drivers out tod... Oct 17 2006, 02:25
Leto Atreides II The only thing debugview shows is:
[2692] Exiting ... Oct 17 2006, 02:59
Leto Atreides II My system is a Soltek QBic 3801 with a built-in CM... Oct 17 2006, 03:38
d0gbert QUOTE (Leto Atreides II @ Oct 16 2006, 20... Oct 17 2006, 07:48
Leto Atreides II QUOTE (d0gbert @ Oct 16 2006, 22:48) QUOT... Oct 17 2006, 09:46
d0gbert new release 0.92:
- built with the latest WDK (ver... Oct 21 2006, 02:02
René Eske Jensen QUOTE (d0gbert @ Oct 21 2006, 02:02) I... Nov 8 2006, 08:13
d0gbert QUOTE I had some problems during installation in V... Nov 8 2006, 14:13
Leto Atreides II QUOTE (d0gbert @ Nov 8 2006, 05:13) Yeah,... Nov 8 2006, 19:41
Leto Atreides II QUOTE (Leto Atreides II @ Nov 8 2006, 10... Nov 8 2006, 20:56
Leto Atreides II Thanks. Oct 21 2006, 03:00
Leto Atreides II When do you think you'll start releasing the s... Oct 21 2006, 05:45
d0gbert QUOTE (Leto Atreides II @ Oct 20 2006, 22... Oct 21 2006, 12:54
zima I wonder...how hard would be to modify drivers for... Oct 31 2006, 11:25
d0gbert QUOTE (zima @ Oct 31 2006, 04:25) I wonde... Oct 31 2006, 13:49
howardbut it sounds awesome! but could I have the follow... Nov 2 2006, 20:12
d0gbert QUOTE (howardbut @ Nov 2 2006, 13:12) it ... Nov 2 2006, 21:02
howardbut thank you d0gbert.
referring to your reply, could ... Nov 3 2006, 01:16
Mike Giacomelli Mind if I ask how you got into Windows driver deve... Nov 2 2006, 21:26
d0gbert QUOTE (Mike Giacomelli @ Nov 2 2006, 14:2... Nov 3 2006, 09:53
René Eske Jensen Hi again,
Just another thing - the mute function ... Nov 8 2006, 12:59
lavak This is fantastic. I have a soyo sy-k7v dragon pl... Nov 14 2006, 07:38
d0gbert OK, all-in-one answer:
QUOTE I have noticed that ... Nov 15 2006, 18:35
lavak QUOTE (d0gbert @ Nov 15 2006, 11:35) QUOT... Nov 15 2006, 21:22
Leto Atreides II AFAIK the DAC level slider isn't adjusting any... Nov 14 2006, 17:55
qs_test Hello,
I am using an onboard C-Media-Chip CIM8738... Nov 15 2006, 07:09
René Eske Jensen Just tried the 0.94 driver out in both XP and Vist... Nov 23 2006, 21:45
d0gbert I've just uploaded a new version (0.9.5) which... Nov 23 2006, 23:45
René Eske Jensen QUOTE (d0gbert @ Nov 23 2006, 23:45) René... Nov 25 2006, 14:03
cervicek Hi, please somebody could help me with SPDIF probl... Nov 30 2006, 10:12
d0gbert cervicek, the SPDIF interface needs to be set as t... Nov 30 2006, 11:59
cervicek Thanks. I'll try it.. and ac3filter must be se... Nov 30 2006, 12:33
d0gbert QUOTE (cervicek @ Nov 30 2006, 05:33) Tha... Nov 30 2006, 18:54
ElKabong If I get a cheap audio card with an 8738, will I b... Nov 30 2006, 21:37
d0gbert QUOTE (ElKabong @ Nov 30 2006, 14:37) If ... Nov 30 2006, 21:46
Leto Atreides II I just noticed that mixer.exe still runs in the ba... Dec 3 2006, 10:13
d0gbert QUOTE (Leto Atreides II @ Dec 3 2006, 03... Dec 3 2006, 12:02
cervicek I'm here again with the same problem... I thi... Dec 6 2006, 17:12
d0gbert It works perfectly fine here with the 32bit versio... Dec 7 2006, 19:33
qristus QUOTE (d0gbert @ Dec 7 2006, 19:33) The d... Dec 22 2006, 14:24
Dogbert qristus, thanks for the info. The authenticode thi... Dec 22 2006, 15:53
cervicek You're right. I reinstalled Vista to 32bit and... Dec 11 2006, 14:47
Dogbert New release: 0.96.
This release brings mainly imp... Dec 17 2006, 00:04
kron First of all, big thanks, really great driver, you... Dec 18 2006, 21:42
Dogbert QUOTE (kron @ Dec 18 2006, 21:42) So is t... Dec 18 2006, 21:54

kron QUOTE (Dogbert @ Dec 18 2006, 14:54) Ther... Dec 21 2006, 10:04

Dogbert QUOTE Method one would mean not to take your drive... Dec 21 2006, 12:19
cervicek QUOTE (kron @ Dec 18 2006, 21:42) I'm... Dec 19 2006, 12:41
kron I use it in Vista x86, and ac3 works perfectly wit... Dec 19 2006, 16:37
Dogbert QUOTE (kron @ Dec 19 2006, 16:37) What do... Dec 19 2006, 17:53
wdekler First, a really big thank you for programming this... Dec 21 2006, 15:51
Dogbert QUOTE (wdekler @ Dec 21 2006, 15:51) Has ... Dec 21 2006, 17:25
DualIP [/quote]
I haven't been able to get 24 bit out... Dec 31 2006, 15:56
Dogbert QUOTE (DualIP @ Dec 31 2006, 15:56) AFAIK... Jan 1 2007, 08:55
wdekler It seems to work fine with the Terratec 5.1 FUN (8... Dec 23 2006, 16:43
Dogbert QUOTE (wdekler @ Dec 23 2006, 16:43) I... Dec 25 2006, 22:50
wdekler Maybe we can also test it without a DAC? If we use... Dec 25 2006, 23:15
Dogbert QUOTE (wdekler @ Dec 25 2006, 23:15) Mayb... Dec 25 2006, 23:55
kron Hi again,
I tried the Winamp Kernel-streaming plu... Dec 29 2006, 19:29
Dogbert QUOTE (kron @ Dec 29 2006, 19:29) Hi agai... Dec 29 2006, 20:29
wdekler I've seem to run into some trouble with the dr... Jan 1 2007, 15:56
Dogbert QUOTE (wdekler @ Jan 1 2007, 15:56) I... Jan 1 2007, 18:23
wdekler Thanks for the advice! It's finally workin... Jan 2 2007, 01:29
Sin Jeong-hun Minimum level
Maximum level
Certified driver... Jan 2 2007, 07:48
wdekler I noticed that the driver sometimes generates outp... Jan 2 2007, 14:03
Dogbert QUOTE (wdekler @ Jan 2 2007, 14:03) The W... Jan 2 2007, 16:02
DualIP Dogbert,
I hooked up my oscilloscope to a CMI8738... Jan 3 2007, 20:12
CiNcH I am wondering why I have to switch to 2 channel o... Jan 4 2007, 02:01
Dogbert DualIP, thanks a lot for your effort! The firs... Jan 4 2007, 03:55
DualIP QUOTE (Dogbert @ Jan 4 2007, 03:55) offic... Jan 4 2007, 05:40
Dogbert QUOTE Two datasheets I have (CMI8738_4ch_spec.pdf ... Jan 4 2007, 15:54
CiNcH Thanx for the explanation.
I have now tried your ... Jan 4 2007, 19:15
CiNcH Ok, found a problem within 6-channel-mode (3/2+SW ... Jan 5 2007, 17:37
Egor QUOTE (CiNcH @ Jan 5 2007, 22:37) Ok, fou... Jan 5 2007, 21:20
Dogbert QUOTE (CiNcH @ Jan 5 2007, 17:37) Seems a... Jan 6 2007, 18:22
DualIP 1) In my previous post in this topic, I reported t... Jan 6 2007, 13:59
CiNcH Don't think it is worth the time implementing ... Jan 6 2007, 23:44
Dogbert A new version (1.0.2) has been released. Jan 31 2007, 21:36
Dac QUOTE (Dogbert @ Jan 31 2007, 21:36) A ne... Feb 3 2007, 15:16
Dogbert QUOTE (Dac @ Feb 3 2007, 15:16) I'm t... Feb 3 2007, 15:39
Dac QUOTE (Dogbert @ Feb 3 2007, 15:39) It lo... Feb 3 2007, 19:49
Any2 QUOTE (Dac @ Feb 3 2007, 12:49) It looks ... Feb 3 2007, 20:06
Any2 Hello
every time I have been installing CMI8738 6... Feb 3 2007, 18:37
Dogbert QUOTE (Any2 @ Feb 3 2007, 18:37) every ti... Feb 3 2007, 21:15
Any2 QUOTE (Dogbert @ Feb 3 2007, 14:15) Thank... Feb 3 2007, 21:51
Dogbert QUOTE (Any2 @ Feb 3 2007, 21:51) Yes,
how... Feb 3 2007, 21:54
Any2 QUOTE (Dogbert @ Feb 3 2007, 14:54) Windo... Feb 3 2007, 22:28
mugen Can you make drivers for the ALC882M so I can get ... Feb 4 2007, 09:12
Dogbert QUOTE (mugen @ Feb 4 2007, 09:12) Can you... Feb 4 2007, 11:09
wdekler QUOTE (mugen @ Feb 4 2007, 09:12) Can you... Feb 4 2007, 11:30
Dogbert QUOTE (wdekler @ Feb 4 2007, 11:30) By th... Feb 4 2007, 11:55
Any2 QUOTE (Dogbert @ Feb 4 2007, 04:55) Dunno... Feb 4 2007, 14:00
mugen QUOTE (wdekler @ Feb 4 2007, 04:30) QUOTE... Feb 4 2007, 12:03![]() ![]() |
|
Lo-Fi Version | Time is now: 19th June 2013 - 01:07 |