CM6631 usb audio interface .... any good?

Hi,

ASIO: channel map is just left and right (you can switch these with no problems).

You might need to shut down and re-boot, but I expect you've already tried this ? IIRC I got mine working by changing the windows settings and using wasapi and then asio, but I honestly can't remember, and I've since been using the 31A so I have a different driver now.

I can try again tomorrow if you're still stuck and see if I can remember what I did. Getting old. ;-)
 
Hi,
ASIO: channel map is just left and right (you can switch these with no problems).

You might need to shut down and re-boot, but I expect you've already tried this ? IIRC I got mine working by changing the windows settings and using wasapi and then asio, but I honestly can't remember, and I've since been using the 31A so I have a different driver now.

I opened up my converter and see that the chip is really CM6631A. (I also checked that it has the optional TCXO oscillators that I paid extra for.)

Yes, I rebooted multiple times, and even uninstalled and reinstalled the July 2012 drivers U6631_U6631A-1.01_20120730.rar . My foobar is at the latest version, with the latest ASIO plugin and the WASAPI plugin. I also switched back and forth among DirectSound, ASIO, WASAPI (push) [OK], WASAPI (event) [Not working].

In my channel map for ASIO for C-Media USB Device, it has:
SPKOut00_00 ch | 24-bit | Left
SPKOut00_01 ch | 24-bit | Right
HPOut00_00 ch | 24-bit | <none>
HPOut00_01 ch | 24-bit | <none>

Playing test signal with each of these four items yields nothing.

Whereas the channel map for ASIO4ALL v2 has:
Headphone 1 | 32-bit | <none>
Headphone 2 | 32-bit | <none>
SpdifOut 1 | 32-bit | Left
SpdifOut 2 | 32-bit | Right
Speaker 1 | 32-bit | <none>
Speaker 2 | 32-bit | <none>

Comparing these two channel maps, it is obvious that the C-Media ASIO driver in my case lacks the SPDIF which I need.

I also solved the mystery of 88.2kHz. It turns out that my Denon 3802 supports 96kHz but not 88.2kHz - which is not documented in the manual and not found from google. This sounds really stupid of me. :eek:
 
Hi,

Your 31A driver is very different to mine - from memory I only have
SPKOut00_00 ch | Left
SPKOut00_01 ch | Right

but I'll check again tomorrow.

However, it didn't matter for me - spdif is directly from the pin of the chip, and with the 31A was not driver related - always on. So, perhaps, if you have no spdif, then trace it back to the chip and check the physical circuit ?
 
Just had a quick check - my channels are indeed spdif, not spk. So maybe you can try the driver here, and see if that fixes it :

Hi, thanks for the driver. It's exactly the same driver I'm using. If we are both using the same driver, the same CM6631A chip, assuming I've not done anything stupid with foobar ASIO, the only differences that remain would be the firmware and the circuit... :confused:
 
It may sound obvious, but have you tried changing the channel map in the ASIO driver ? You should be able to click on it and select .... ? I'm sure you must have trie this already.... if that doesn't work then it could be a BIOS/USB issue, or, as you say, a firmware issue. Can the seller help ?
 
Hi Wklie:
Native ASIO driver from C-Media do not support SPDIF out. For some reason native ASIO driver only output sound from Speaker and Headphone. I guess your CM6631A firmware is use standard firmware the VID/PID is 0x0D8C/0x0314. If you use other firmware like VID/PID 0x0D8C/0x0309 or VID/PID 0x0D8C/0x0310 you will only see SPDIF out device. And the ASIO driver support SPDIF out.

I've just bought the USB to SPDIF converter in post #34 on page 4 from Weiliang's shop (not via ebay). I was told it'd use CM6631A instead of CM6631 (I've not opened up the converter to check it visually, yet). The hardware works, but I've run into some driver/firmware issues:

1. Using C-Media July 2012 drivers, foobar ASIO output via native ASIO drivers results in no sound in SPDIF. Switching to ASIO4ALL driver works though. The foobar ASIO channel map shows Headphone and Speaker but no SPDIF in the native ASIO driver (which I suspect is the reason for my problem), whereas the ASIO4ALL does have the SPDIF output in the channel map. Could somebody who has working foobar native ASIO output to SPDIF tell me what their channel map looks like?

2. 88.2kHz has no sound. I found this strange since I supposedly have the CM6631A which adds 88.2kHz and 176.4kHz to CM6631. I suspect this may be related to the firmware. Does anyone know how to check firmware version? I can only find the 2203 firmware for download. From a Chinese forum I see there is firmware 2205 and 2206 as well, but I can't find them after a lot of google.

3. I tried to install the C-Media April 2012 drivers, but it refuses to install since it cannot get past the detection of the C-Media converter. Is this because CM6631A is only supported starting from the July drivers?

Thanks in advance. Sorry for the long post.
 
Native ASIO driver from C-Media do not support SPDIF out. For some reason native ASIO driver only output sound from Speaker and Headphone. I guess your CM6631A firmware is use standard firmware the VID/PID is 0x0D8C/0x0314. If you use other firmware like VID/PID 0x0D8C/0x0309 or VID/PID 0x0D8C/0x0310 you will only see SPDIF out device. And the ASIO driver support SPDIF out.

Thanks tdtsai! You are correct! Mine is really using 0x0D8C/0x0314. May I ask from where can these PID - ASIO relationship information be obtained?

Thanks to KlipschKid for your help too!

I discussed with the seller before reading this message. He sent me a newer driver package (other than including a Windows 8 directory, the other file dates are the same as July 2012 drivers), which does not fix this issue. I raised the possibility that maybe a different firmware is required for the driver to show SPDIF instead of Speaker/Headphone, but he does not think this is the case. Instead he believes there is some problem with my PC settings.

Now I can put this issue to rest. :) I just need to learn the truth, and hoped to try out the native ASIO driver, in the unlikely event that I can hear an improvement over ASIO4ALL, which works well. I don't really have to use the native ASIO driver. Someone from a Chinese forum tested its compatibility with eight different player software, and found that is incompatible with everything except foobar. :usd:
 
Thanks. This was my thinking too.

Other question:
  • is this a synchronous or a-synchrous application? (looks like a pun, zen guys would love it).
  • I have understood asynch to offer best click-less working in other threads; now I understand it is claimed that with the Sabre interface the normal old fashioned synch gives a better result, without un-lock clicks.
  • would that go for other I2S DAC too (like my silly old fashioned TDA1541?

    albert :)
Julcat mentioned near the beginning of this thread that he was using a CM6331 board successfully with his Mac.

I asked the seller of the isolated CM6331A board about working with Mac OS 10.4 and he said this:
We do not have mac machine to test, somebody told it work but it should depend on the os version and system configuration.
 
I know why alsa driver does not work in CM6631 device. The problem is set sampling rate time. Alsa driver set clock unit after select interface, its different with mac osx driver. if you change set clock unit before select clock unit then alsa driver can work fine.

I have one of these ebay devices. The only problem I have found using it under Linux and ALSA is that it has problems playing sound with the right sample rate. A quick "pause/play" click solves the problem and it locks to the correct sample rate. However this is not acceptable... This is a known problem and you are mentioning a solution to it.

How can I configure ALSA to set clock unit first? Can it be done in some configure file? Is there a patch? Do I need to change the source code and recompile? Pleeeease tell me :)
 
Thanks. This was my thinking too.

Other question:
  • is this a synchronous or a-synchrous application? (looks like a pun, zen guys would love it).
  • I have understood asynch to offer best click-less working in other threads; now I understand it is claimed that with the Sabre interface the normal old fashioned synch gives a better result, without un-lock clicks.
  • would that go for other I2S DAC too (like my silly old fashioned TDA1541?

    albert :)

Hi,

CM uses asynch to receive/process usb data. This is usually better than synchronous usb data transfer, and in this case it's much better than the TE7022L and pcm270X etc.

Sabre DAC is special - it can use any clock asynchronously to the I2S source - but gives the best sound quality when the clock is synchronised with the I2S clock.

I2S is I2S. TDA1541 uses SAA receiver for I2S - does that have an independent clock input ? I think the question of synch/asynch is irrelevant for SAA. Better to ask a NOS expert about this.

cheers
 
Hi Arcturus:
C-Media has new firmware for CM6631A to fix this issue. But I don't know does there is new firmware for CM6631. But the easy way is to modify ALSA driver. Yes you need to change the source code and recompile.
I have one of these ebay devices. The only problem I have found using it under Linux and ALSA is that it has problems playing sound with the right sample rate. A quick "pause/play" click solves the problem and it locks to the correct sample rate. However this is not acceptable... This is a known problem and you are mentioning a solution to it.

How can I configure ALSA to set clock unit first? Can it be done in some configure file? Is there a patch? Do I need to change the source code and recompile? Pleeeease tell me :)
 
Last edited:
I enabled them but no sound at 88.2 kHz. I think that earlier in this thread you got foobar ASIO output to SPDIF working, right? Would you mind telling me what's listed in your foobar ASIO channel map? Thanks.

Hi, you could check post #68 and #69 in this thread where I linked the driver and the firmware what is used to enable SPDIF or I2S (but not both at the same time); remember to do this procedure ONLY under WIN XP cause WIN7 has issues and gives errors on these updates

http://www.diyaudio.com/forums/digital-source/217764-cm6631-usb-audio-interface-any-good-7.html


my question for those who use this card on linux is wether ALSA driver is able to output SPDIF and I2S at the same time?
 
Hi,

CM uses asynch to receive/process usb data. This is usually better than synchronous usb data transfer, and in this case it's much better than the TE7022L and pcm270X etc.

Sabre DAC is special - it can use any clock asynchronously to the I2S source - but gives the best sound quality when the clock is synchronised with the I2S clock.

I2S is I2S. TDA1541 uses SAA receiver for I2S - does that have an independent clock input ? I think the question of synch/asynch is irrelevant for SAA. Better to ask a NOS expert about this.

cheers

This clarifies a lot. It is the local connection to the Sabre that intentionally is synchronized. I understand, that is why others want reclocking.
The TDA1541 does not need the SAA-chipset; it can handle a direct I2S input in NOS (44.1 kHz), but also oversampled in the computer, 88.1 KHz or double that; and any bits beyond 16 bits are stripped. [If I understand correctly]
Similar to TDA1543.
  • Hypothesis: The SAA7220 digital filter has a buffer and runs on an input clock. Probably also there a synchronous connection is needed (distributing the clock, half or quarter clock . . .).
    I think that is reason for connection to Sabre in the specified way.
 
I know why alsa driver does not work in CM6631 device. The problem is set sampling rate time. Alsa driver set clock unit after select interface, its different with mac osx driver. if you change set clock unit before select clock unit then alsa driver can work fine.
interesting. Sounds like an easy fix, which should not interfere with other chipsets (and going toward a more "standardized" behavior between different OSs is IMHO a good thing).

Have the ALSA driver developers been informed about this? If not, we should do that ASAP!

How can I configure ALSA to set clock unit first? Can it be done in some configure file? Is there a patch? Do I need to change the source code and recompile? Pleeeease tell me :)
I'm afraid this is not something that can be changed in a config file: sources need to be modified, and drivers rebuilt.

Perhaps tdtsai may already have / suggest a patch?
 
Hi UnixMan:
I think no one informed ALSA driver developers. Because no one tracing this issue.

interesting. Sounds like an easy fix, which should not interfere with other chipsets (and going toward a more "standardized" behavior between different OSs is IMHO a good thing).

Have the ALSA driver developers been informed about this? If not, we should do that ASAP!


I'm afraid this is not something that can be changed in a config file: sources need to be modified, and drivers rebuilt.

Perhaps tdtsai may already have / suggest a patch?
 
Hi wklie:
Basically CM6631A can do 6 channels output(Speaker Out, Headphone Out, Spdif Out) 6 channels input (Microphone In, Line In, Spdif In) at the same time. CM6631A has MCU inside so you can programming it then change it to what you want.
Can you tell me the URL about say native ASIO driver is incompatible with everything except foobar? I want to check it. Do you need to add spdif out support in native ASIO driver? If you need it please PM me.

Thanks tdtsai! You are correct! Mine is really using 0x0D8C/0x0314. May I ask from where can these PID - ASIO relationship information be obtained?

Thanks to KlipschKid for your help too!

I discussed with the seller before reading this message. He sent me a newer driver package (other than including a Windows 8 directory, the other file dates are the same as July 2012 drivers), which does not fix this issue. I raised the possibility that maybe a different firmware is required for the driver to show SPDIF instead of Speaker/Headphone, but he does not think this is the case. Instead he believes there is some problem with my PC settings.

Now I can put this issue to rest. :) I just need to learn the truth, and hoped to try out the native ASIO driver, in the unlikely event that I can hear an improvement over ASIO4ALL, which works well. I don't really have to use the native ASIO driver. Someone from a Chinese forum tested its compatibility with eight different player software, and found that is incompatible with everything except foobar. :usd:
 
Hi, you could check post #68 and #69 in this thread where I linked the driver and the firmware what is used to enable SPDIF or I2S (but not both at the same time);

Hi luxury54, I did try the linked driver before. I think that driver is the April 2012 version, which refuses to install on my setup (cannot detect the CMedia USB) - perhaps because it's expecting CM6631 instead of CM6631A.

I also looked at the firmware zip and the pdf inside. This firmware is the 2203 version. I do not dare to try this out because (1) I cannot restore to my current firmware if it goes wrong; and (2) I'm afraid it might not support CM6631A.

If I were to go through a firmware reflash, it's not clear to me how to choose SPDIF or I2S (different PID?) - could you explain that? Thanks.