About This File
What is it?
This is a small program that activates the analog and S/PDIF outputs on USB devices that are based on the C-Media CM6206 multi-channel sound chip (sometimes also referred to as CMI6206). One of the common cheap devices sold on eBay that uses this IC can be seen in the photo at the right. It's a 5.1 device but the IC supports up to 7.1 audio. The one I bought had a serial number â€œ29776659â€ but there are other products that use this IC. Some major brands also use this chip, for instance Zalman uses it in their ZM-RS6F USB headphones. The Sweex SC016 is also based on the CM6206, as is the Diamond XS71U.
The CM6206 chip is a fully compliant USB audio device that should work as-is on any modern operating system without requiring drivers. At first sight it does work: the sound card can be selected in the audio control panel and the 6 or 8 channels can be assigned using Audio MIDI setup. But there is no sound output. The same symptoms occur in Windows until the C-Media driver is installed. Apparently the device boots with its outputs disabled, and the only thing the â€˜driverâ€™ does is send some specific configuration requests to enable both the analog outputs and the optical S/PDIF.
Therefore I started gathering information: I used a USB sniffer to look at the packets sent to the device in Windows with and without the driver installed, and I found some useful clues in the Linux ALSA driver source code and mailinglist. Combined with some sample code from the XCode Developer kit, I managed to create a simple program that sends the crucial packets, enabling both the analog outputs and the S/PDIF. So there you have it, surround sound on your Mac for the price of a cheap USB audio card on eBay â€” with some caveats however. Mind that turning on the outputs is all this enabler does. All the rest is the task of your operating system. If your system does not recognise the sound card, it is not this enabler's fault. If you plug in the card and the S/PDIF lights up, and/or you get any sound out of it at all, then the enabler works and any other problems you may have are not due to the enabler.
You need OS X 10.5 or newer to make this work. It should work in 10.8, unless perhaps you enabled GateKeeper. The program is theoretically able to run on OS X 10.4.x, but I have so far been unable to connect to the CM6206 in OS X 10.4.11, and I assume any lower version will fail too. For some reason unknown, all interfaces on the device are â€œin useâ€ (error e00002c5) no matter what I try. If anyone has a clue how to fix this, I'm interested.
OS X 10.7 â€˜Lionâ€™ has a bug that requires the sound card to be connected at the moment the computer is booted or woken from sleep. Otherwise it is not available as a sound device. There is nothing I can do about this because it has nothing to do with the enabler. It seems to be caused by a quirky USB or audio driver in the operating system itself and will hopefully be fixed in an upcoming Lion update. Do not unplug the sound card once it works, or you will have to reboot/wake again after plugging it back in.
If you want to uninstall the enabler, all you need to do is delete the following two files:
NOTE: NOT working in 10.8.5
What's New in Version 2.1
- Version history
- 1.0 (2009-06-11): Initial release.
- 2.0 (2011-01-31): Converted to daemon, added installer.
- 2.1 (2011-02-24): Prevented the program from delaying the computer while going to sleep.
- 2.1 (2011-04-09): Fixed permissions problem in installer.