Complete the connection protocol with Philips USB HiFi on Linux and MacOS
It works with Philips MC-M530. I guess it will work with any other USB PC Link Hifi but I can not test.
Dependency:
libusb-dev
On MacOS:
brew install libusb libusb-compat
Compile:
gcc -Wall usb_pc_link.c -o usb_pc_link -lusb
Switch on and plug the HiFi
Run ./usb_pc_link
Linux: Choose Set [Philips Audio Set]
as sound card (alsa or pulseaudio)
MacOS: Choose Philips Audio Set
as Output Device
The snd-usb-audio Linux module lacks something that the Widows driver do. Appearently, the Windows driver 'switches on' the USB device on the Micro-System. I find two usb packet that seems to do it.
40 04 00 00 a4 ef 01 00 01
| | | | | |
| | value index | data
| request length
requesttype
40 04 00 00 a4 f0 01 00 ff
| | | | | |
| | value index | data
| request length
requesttype
usb_pc_link
uses VendorID and ProductID to select the USB device. If these IDs are not 0471:0111, you may change the lines :
#define VENDOR_ID 0x0471
#define PRODUCT_ID 0x0111