I'm trying to get the USB soundcard embedded in a DJ mixer (Allen & Heath Xone23C) to play nice with a Raspberry Pi for the sake of using it with XWAX, an open source dj software. The problem is, only 4 out of the 8 channels on the soundcard show up. So I tried it on as many different platforms as I could, checking the config. Here's my scratch page of notes. The configs are at the bottom.
https://www.notion.so/Xone23C-rpi-Project-3f900971626c48bcb172a1e02b8196ee
Macbook: Printing the device (with a lil python script) reveals two configurations (bNumConfigurations : 2) and the second configuration is clearly the one with 8 channels (4 in, 4 out). Works great with every dj software I've tried.
Laptop running latest Ubuntu: Both configurations show up, but it defaults to the first one (bConfigurationValue: 1). But echoing 2 into bConfigurationValue as su makes all the right channels show up. Works great with xwax and mixxx.
Raspberry Pi 3B: Only one config for some reason. Trying to change the config value manually obviously throws an Invalid Argument error because config 2 doesn't exist. The channels that do show up work fine. But I need all of them for DVS.
Thoughts and questions:
- Why on earth would it not even read the configs correctly?
- Is this a hardware limitation?
- Is something bugging on the way in?
- Can I modify a driver or kernal somehow to read the whole config?
- Does rpi4 have a different usb controller that might work better?
Thanks in advance! <3
lsusb
will show you)