Skip to content

Instantly share code, notes, and snippets.

@timnugent
Last active August 26, 2024 20:17
Show Gist options
  • Save timnugent/ed65a79b2bd6c63788bfada3624756a4 to your computer and use it in GitHub Desktop.
Save timnugent/ed65a79b2bd6c63788bfada3624756a4 to your computer and use it in GitHub Desktop.
udev rule for the Xone 23C; sets configuration to state "2" so this shows up as a 4 input/4 output soundcard - otherwise shows up as only 2 input/2 output. Only tested with the Xone 32C configured for DVS. Put this file in /etc/udev/rules.d/
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="22f0", ATTR{idProduct}=="0008", ATTR{bConfigurationValue}="2"
@pierregermain
Copy link

Thanks for the link Be-ing. I will wait for now to see which version of the kernel Timnugent is using.

@Be-ing
Copy link

Be-ing commented Sep 7, 2021

If you are able to test different kernel versions and identify the first broken version that would be helpful to include in the bug report.

@pierregermain
Copy link

OK. Will do that in the couple of days.

@pierregermain
Copy link

pierregermain commented Sep 11, 2021

In kernel 5.4.0.37 with and without using the rule it does not work.
In kernel 5.4.0.84 with and without using the rule it does not work.

lsusb:
https://gist.github.com/pierregermain/1cfa77e9dcf53a479451bb8f60351920

@pierregermain
Copy link

If you are able to test different kernel versions and identify the first broken version that would be helpful to include in the bug report.

I am using Linux Mint and using the UI I am only capable of testing 5.4.0.37 and 5.4.0.33. How would you test 5.4.0.33-generic and 5.4.0.34-generic in a simple way ?

@molli1312
Copy link

hello.maybe you can help me.with udev entry i can't get my xone 23 c with 4/4 in-/output to run on my rpi4

@pierregermain
Copy link

Sorry, I need more experience to test different kernels.

@molli1312
Copy link

I opened a issus by https://bugzilla.kernel.org/show_bug.cgi?id=217089 . I think is a good way. but we need more help

@pierregermain
Copy link

Thank you @molli1312 , let me know here if you need something from my part.

@molli1312
Copy link

We need dsmeg lsusb -v data from an earlier kernel where the udev rule still worked. Maybe someone will get the information

@pierregermain
Copy link

Hello, I will try tonight from my personal computer.

@molli1312
Copy link

thx

@pierregermain
Copy link

pierregermain commented Feb 27, 2023

I have updated the issue on kernel.org @molli1312 whith the desired information.

@pierregermain
Copy link

We have good news thanks to the issue posted at https://bugzilla.kernel.org/show_bug.cgi?id=217089, for now a workaround to make the device function is executing the following command as root:

echo Y >/sys/module/usbcore/parameters/old_scheme_first

If I get more information I will keep you informed in this thread.

@molli1312
Copy link

@pierregermain nice to see that there is progress. I won't be back home until Friday to test it. Thank you for your support

@molli1312
Copy link

@pierregermain I'm curious and can't wait for Friday. runs with the command the mixer on the rpi4 with mixxx-pi-gen?

@pierregermain
Copy link

Just to let you know @molli1312 : I have tested this on a Dell Laptop.

@TiBeN
Copy link

TiBeN commented May 11, 2023

Hi, i just acquired this great mixer and i have this exact same issue. But the trick to change "old_scheme_first" does not works for me.
I'm on ArchLinux with kernel 6.3.1. Despite "cat [...]/old_scheme_first" reports now correctly 'Y', bNumConfigurations for the Xone reports 1 in lsusb -v, even after unplug/plug again the usb cable.

If i "echo 2 > /sys/bus/usb/devices/3-8/bConfigurationValue" its returns "bash: echo: write error: Invalid argument". In journalctl i can see the udev rule from mixxx applied when plugin the mixer but it fails the same way.

According to the bug report on the kernel bugzilla it seems Ubuntu could have been "patched" its kernel in some way to workaround this.

Any idea ?

@molli1312
Copy link

molli1312 commented May 11, 2023

turn the power of mixer off and on again

@fhchl
Copy link

fhchl commented May 11, 2023

Changing the scheme worked like a charm for me. I made the change permanent by following this StackExchange answer. Thanks @pierregermain !

@TiBeN
Copy link

TiBeN commented May 12, 2023

@molli1312 All right, after a "reboot" of the mixer it now works as expected, i see correctly 4 channels in Mixxx.

Thank you man!

As a side note, in my setup at least, it is important to unplug the USB cable as well then reconnect only after the mixer is on. If the USB cable stay connected, the device is not recognized at all:

May 12 11:19:58 dellxps13 kernel: usb 3-8: new high-speed USB device number 6 using xhci_hcd
May 12 11:19:58 dellxps13 kernel: usb 3-8: New USB device found, idVendor=22f0, idProduct=0008, bcdDevice= 2.00
May 12 11:19:58 dellxps13 kernel: usb 3-8: New USB device strings: Mfr=1, Product=2, SerialNumber=3
May 12 11:19:58 dellxps13 kernel: usb 3-8: Product: Xone:23C
May 12 11:19:58 dellxps13 kernel: usb 3-8: Manufacturer: Allen&Heath
May 12 11:19:58 dellxps13 kernel: usb 3-8: SerialNumber: no serial number
May 12 11:19:58 dellxps13 kernel: usb 3-8: 1:2 : UAC_AS_GENERAL descriptor not found
May 12 11:19:58 dellxps13 kernel: usb 3-8: 2:2 : UAC_AS_GENERAL descriptor not found
May 12 11:19:58 dellxps13 mtp-probe[3020]: checking bus 3, device 6: "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-8"
May 12 11:19:58 dellxps13 mtp-probe[3020]: bus: 3, device: 6 was not an MTP device
May 12 11:19:58 dellxps13 (udev-worker)[3040]: controlC1: /usr/lib/udev/rules.d/78-sound-card.rules:5 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb3/3-8/3-8:1.0/sound/card1/controlC1/../uevent}, ignoring: No such file or directory
May 12 11:19:58 dellxps13 mtp-probe[3042]: checking bus 3, device 6: "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-8"
May 12 11:19:58 dellxps13 mtp-probe[3042]: bus: 3, device: 6 was not an MTP device
May 12 11:20:02 dellxps13 kernel: usb 3-8: USB disconnect, device number 6

It seems an udev rule related to sound card initialization fails.
Once the system fall into this issue, whatever i do (unplug, replug, reboot the mixer) the device is not recognized. The only solution i found is to reboot the kernel. I'll look more further at this issue then report here if i find something interresting.

@fhchl
Copy link

fhchl commented Aug 26, 2024

I am having the problem again on newer kernels (6.9). The udev rule seems to have a wrong parameter according to journalctl -xe after restarting the device:

Aug 26 22:07:21 fhchl-macbookpro55 kernel: usb 4-2: new high-speed USB device number 10 using ehci-pci
Aug 26 22:07:21 fhchl-macbookpro55 kernel: usb 4-2: device descriptor read/8, error -71
Aug 26 22:07:21 fhchl-macbookpro55 kernel: usb 4-2: device descriptor read/8, error -71
Aug 26 22:07:21 fhchl-macbookpro55 kernel: usb 4-2: new high-speed USB device number 11 using ehci-pci
Aug 26 22:07:21 fhchl-macbookpro55 kernel: usb 4-2: device descriptor read/8, error -71
Aug 26 22:07:22 fhchl-macbookpro55 kernel: usb 4-2: device descriptor read/8, error -71
Aug 26 22:07:22 fhchl-macbookpro55 kernel: usb usb4-port2: attempt power cycle
Aug 26 22:07:22 fhchl-macbookpro55 kernel: usb 4-2: new high-speed USB device number 12 using ehci-pci
Aug 26 22:07:22 fhchl-macbookpro55 kernel: usb 4-2: New USB device found, idVendor=22f0, idProduct=0008, bcdDevice= 2.00
Aug 26 22:07:22 fhchl-macbookpro55 kernel: usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Aug 26 22:07:22 fhchl-macbookpro55 kernel: usb 4-2: Product: Xone:23C
Aug 26 22:07:22 fhchl-macbookpro55 kernel: usb 4-2: Manufacturer: Allen&Heath
Aug 26 22:07:22 fhchl-macbookpro55 kernel: usb 4-2: SerialNumber: no serial number
Aug 26 22:07:22 fhchl-macbookpro55 kernel: usb 4-2: 1:2 : UAC_AS_GENERAL descriptor not found
Aug 26 22:07:22 fhchl-macbookpro55 kernel: usb 4-2: 2:2 : UAC_AS_GENERAL descriptor not found
Aug 26 22:07:22 fhchl-macbookpro55 kernel: usb 4-2: Quirk or no altset; falling back to MIDI 1.0
Aug 26 22:07:22 fhchl-macbookpro55 mtp-probe[3207]: checking bus 4, device 12: "/sys/devices/pci0000:00/0000:00:06.1/usb4/4-2"
Aug 26 22:07:22 fhchl-macbookpro55 mtp-probe[3207]: bus: 4, device: 12 was not an MTP device
Aug 26 22:07:22 fhchl-macbookpro55 (udev-worker)[3206]: 4-2: /etc/udev/rules.d/99-xone.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:06.1/usb4/4-2/bConfigurationValue}="2", ignoring: Invalid argument
Aug 26 22:07:22 fhchl-macbookpro55 mtp-probe[3219]: checking bus 4, device 12: "/sys/devices/pci0000:00/0000:00:06.1/usb4/4-2"
Aug 26 22:07:22 fhchl-macbookpro55 mtp-probe[3219]: bus: 4, device: 12 was not an MTP device

I coudn't get channels 3 and 4 visible.

Any ideas?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment