CM6631 usb audio interface .... any good?

Situation is not much better. I tried without external power (btw, I'm using USB isolator in-between USB-to-I2S and DAC) and move to another USB (no hub in-between):

Code:
USB Device 0x46d:0x81b at usb-0000:00:14.0-4, high speed : USB Audio

Capture:
  Status: Stop
  Interface 3
    Altset 1
    Format: S16_LE
    Channels: 1
    Endpoint: 6 IN (ASYNC)
    Rates: 16000
    Data packet interval: 1000 us
  Interface 3
    Altset 2
    Format: S16_LE
    Channels: 1
    Endpoint: 6 IN (ASYNC)
    Rates: 24000
    Data packet interval: 1000 us
  Interface 3
    Altset 3
    Format: S16_LE
    Channels: 1
    Endpoint: 6 IN (ASYNC)
    Rates: 32000
    Data packet interval: 1000 us
  Interface 3
    Altset 4
    Format: S16_LE
    Channels: 1
    Endpoint: 6 IN (ASYNC)
    Rates: 48000
    Data packet interval: 1000 us

I'm planning to use mpd with gmpc as a client but I can see sampling rate using QJackCtl
 
Try to restart computer with CM6331A connected. Power it just with usb, no additional power supplies. If that wont work try to connect it to another USB port, not hub port, though, and restart again. It has to work. The problem is that I don't know what exactly happened here and why it started to work. What music player you're using? I'm using deadbeef with alsa output set to "CMEDIA USB2.0 High-Speed True HD Audio ... direct to hardware with no conversions". Not sure if that had something to do with it but just saying...

Mr.wklie suggested me that do not use VBUS to power it because somebody do this with a lot of problems. I will try to set a PSU and find whether it can affect the sample rates. My board is now limited at 92kHz 24bit with ver.0108 firmware.
 
Here's my output:

Code:
CMEDIA USB2.0 High-Speed True HD Audio at usb-0000:00:1d.7-1, high speed : USB Audio

Playback:
  Status: Running
    Interface = 1
    Altset = 2
    Packet Size = 95
    Momentary freq = 96000 Hz (0xc.0000)
    Feedback Format = 8.16
    Packet Size = 0
    Momentary freq = 96000 Hz (0xc.0000)
  Interface 1
    Altset 1
    Format: S16_LE
    Channels: 2
    Endpoint: 5 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000
    Data packet interval: 125 us
  Interface 1
    Altset 2
    Format: S24_3LE
    Channels: 2
    Endpoint: 5 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000
    Data packet interval: 125 us
  Interface 1
    Altset 3
    Format: S32_LE
    Channels: 2
    Endpoint: 5 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000
    Data packet interval: 125 us

Before it started to work properly the output was identical to yours. It's interesting that I can't get it to work on OS X if I don't connect it to linux machine first.
 
Yes, it looks quite different. Maybe usb isolator make a difference. I'll try in comming days to remove it (need some time since original connectors is not in place anymore).

Hi, The isolator definately makes a difference, because it is an USB1 isolator. (USB2 isolator doesn't exist)
In USB1 the C-Media drops to UAC1, which is limited to 48KHz. In my opinion the gain from an isolator is larger than the difference between 96->48 KHz, thus it is fine to use an isolator.
 
Hi, The isolator definately makes a difference, because it is an USB1 isolator. (USB2 isolator doesn't exist)
In USB1 the C-Media drops to UAC1, which is limited to 48KHz. In my opinion the gain from an isolator is larger than the difference between 96->48 KHz, thus it is fine to use an isolator.

It looks that you are right Hobbit13. Despite the fact that USB isolator is advertised as USB2.0, when I remove it I got the following:

Code:
CMEDIA USB2.0 High-Speed True HD Audio at usb-0000:00:14.0-3, high speed : USB Audio

Playback:
  Status: Stop
  Interface 1
    Altset 1
    Format: S16_LE
    Channels: 2
    Endpoint: 5 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000
    Data packet interval: 125 us
  Interface 1
    Altset 2
    Format: S24_3LE
    Channels: 2
    Endpoint: 5 OUT (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000
    Data packet interval: 125 us

Capture:
  Status: Stop
  Interface 6
    Altset 1
    Format: S16_LE
    Channels: 2
    Endpoint: 10 IN (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000
    Data packet interval: 125 us
  Interface 6
    Altset 2
    Format: S24_3LE
    Channels: 2
    Endpoint: 10 IN (ASYNC)
    Rates: 44100, 48000, 88200, 96000, 176400, 192000
    Data packet interval: 125 us

My DAC was turned on during Linux booting. BTW, I found that firmware is same as one mentioned by Archimago in #203.
 
USB isolators based on ADuM3160/ADuM4160 (the only usb isolator chip available) are only
capable of USB Full speed operation (12mHz).

Using a USB High speed device with one defaults it to be a USB full speed device.
Your results may vary.

USB Full speed is capable of 24/96 operation.
 
Hi all:
There are so many request for the CM6631A Configurate Tool. I decide to put it here. If you need it you can download it. But please note this tool can only use to generate CM6631A firmware. You can not use this firmware which generate by this tool on CM6631, CM6632 and CM6632A. If you do that you device may not function any more.
This tool do not include firmware update tool. You need ask your IC provider or device provider to got it.
 

Attachments

  • CM6631AConfigurateTool.zip
    877.4 KB · Views: 1,542
Hm, it seems that was a conceptual mistake trying to use separate USB-to-I2S and isolator. I'll probably end up with something like Lucian's WaveIO or DIYINHK's isolated pcb.

What do you mean? Why is it bad to use a USB isolator?

(on USB 1 doing 24/96, yes that is possible, for example on the Tenor TE7022L, but I've never seen an asynchronic USB interface that does more than 48/24 in USB 1.)
 
CM6631A Android compatibility

CM6631A compatibility with Android phone connected via a USB OTG cable: A question about the right firmware?

reason:
The music service "Wimp" offer streaming in FLAC format (lossless 44.1/16 audio) on the Android app - not on the Windows app.
I would therefore like to use my HTC One as an audio player via a CM6631A device (USB to SPDIF/Toslink Converter).

Experience:

1.
Have a good Schiit Bifrost DAC with the same CM6631A chip inside.
It works with Android, but do not have SPDIF/Toslink output.

2.
On Ebay, I bought a "Gustard U10 Native 32bit 384k USB to Spdif Converter" with the new XMOS USB chip.
It is not compatible with Adroid phones.
I have not investigated, if it can be done with a firmare update.

3.
On Ebay, I bought a "24bit / 192KHz CM6631A USB to SPDIF coaxial DAC SC Assembled".
The design is made by LJM (also known in this WEB site).
The orginal firmware is not compatible with Android (forgot to notice the firmware version before flashing the new one).

4.
The post #211 has a link to firmware PID 0309 FW 2203.
This firmware is compatible with Android, but it will only send audio data to the I2S interface - Not to SPDIF/Toslink.

5.
The post #452 has a link to the configuration utility which makes firmware PID 004 FW 0102
This firmware is not Compatible with Android, but can send audio data to all outputs.

6.
All four firmware links in post #255 does not work.

7.
Asus Xonar firmware will not work in CM6631A because Asus uses a CM6631 (without A).

Hope that there are people here that can help.
Eg. Making firmware from post #255 available?
Or provide one or more new. Obj files to the configuration tool from post #452?
Or suggest another solution?

Thanks to the many competent people on this web site ....
 
Last edited:
I have received firmware 0101 PID 0319 and 0108 PID 0314 from wklie.
With the firmware 0101 PID 0319, she sings :)
Thank you wklie!
I have uploaded the firmware from wklie to my WEB server.
Now DIYAudio members can download it.

Summary:
If you want to play digital music via USB from your Android, Jelly Bean powered phone or tablet, you should do:

1.
Download the firmware 2203 PID 0309 and update tool on:
http://www.nutsaudio.com/driver/CM6631_Firmware.zip

2.
Download the firmware 0101 PID 0319 and 0108 PID 0314 on:
http://www.advanced.dk/CM6631A/CM6631A_Firmware_0101_0108.zip

3.
On a physical Windows XP computer, use the firmware update tool to flash the following firmware for your CM6631A device:
a. SPDIF/Toslink output: FW 0101 PID 0319
b. I2S output: FW 2203 PID 0309

Have fun!
Thanks to every one ...

/Klaus

P. S. Still it will be very nice if tdtsai can obtain a new version of the configuration Tool and share it with us.
 
On a physical Windows XP computer, use the firmware update tool to flash the following firmware for your CM6631A device:
a. SPDIF/Toslink output: FW 0101 PID 0319
b. I2S output: FW 2203 PID 0309

To my knowledge the 2203 firmware was meant for CM6631 not CM6631A. I found it surprising that it worked for you at all. I believe the 2203 does not support 88.2kHz and 176.4kHz.
 
Today I tested the old iffy board again, and found that using the bus powered mode is unwise. I connect a external power to the board instead of the VBUS, and it seemed to work normally. No warning about the low usb speed showed. But the sample rate is still limited at 24/96 now on the ver.0108 firmware. And the power I used also seems to have some problems that it even affects the firmware update! I guess that the CM6631A requires a very high quality of the power supply system.