Pre-Submission Checklist
Describe the Bug
Title: [Bug]: PCM streaming fails on Xone:4D (Linux) — immediate I/O error on pcm_read
System:
- OS: Debian Trixie
- Kernel: 6.12.90+deb13.1-amd64
- Device: Allen & Heath Xone:4D, firmware v1.2.9
- Ozzy: current HEAD (967f94e)
What works:
Handshake completes perfectly every time:
[ploytec] --- handshake complete, device ready ---
ALSA sees the device (cat /proc/asound/cards shows Xone4D as card 2).
What fails:
arecord -D hw:Xone4D -f S24_3LE -r 96000 -c 8 -d 5 test.wav` returns immediately with:
arecord: pcm_read:2272: Lesefehler: Eingabe-/Ausgabefehler
Same with simultaneous arecord+aplay (full-duplex attempt).
Observation:
dmesg shows PCM endpoints as:
PCM out: EP 5 (bulk)
PCM in: EP 6 ← no (bulk) annotation
Output is bulk, input appears to be interrupt. Suspect in_packet_size in the Xone:4D device descriptor may be incorrect, causing the initial input URBs submitted in ozzy_pcm_init_urbs to fail immediately, setting rt->panic = true before arecord even opens the device.
Note: WirePlumber additionally causes a kernel crash in ploytec_set_rate (NULL pointer, CR2: 0x10) when it grabs the device and forces a 48000→96000 rate change. Masking all pipewire services eliminates this crash but PCM streaming still fails.
Device Model
Allen & Heath Xone:4D
Operating System
Linux (Ubuntu/Debian)
📎 Attach Debug Log (REQUIRED)
[ 156.239776] snd_usb_ozzy: loading out-of-tree module taints kernel.
[ 156.239783] snd_usb_ozzy: module verification failed: signature and/or required key missing - tainting kernel
[ 156.245268] usbcore: registered new interface driver snd-usb-ozzy
[ 3257.040361] usb 3-1: new high-speed USB device number 4 using xhci_hcd
[ 3257.179914] usb 3-1: New USB device found, idVendor=0a4a, idProduct=ff4d, bcdDevice= 1.00
[ 3257.179930] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3257.179937] usb 3-1: Product: Allen&Heath Xone:4D
[ 3257.179943] usb 3-1: Manufacturer: Ploytec GmbH
[ 3257.179948] usb 3-1: SerialNumber: no serial number
[ 3257.180568] usb 3-1: [ozzy] found device: Allen&Heath Xone:4D
[ 3257.180573] usb 3-1: [ozzy] manufacturer: Ploytec GmbH
[ 3257.180576] usb 3-1: [ozzy] USB ID: 0a4a:ff4d (bcdDevice 0100)
[ 3257.180580] usb 3-1: [ozzy] speed: high (480 Mbps)
[ 3257.180582] usb 3-1: [ozzy] device family: Ploytec Xone
[ 3257.181577] usb 3-1: [ozzy] interfaces claimed: 2 (alt setting 1)
[ 3257.181582] usb 3-1: [ozzy] PCM out: EP 5 (bulk)
[ 3257.181586] usb 3-1: [ozzy] PCM in: EP 6
[ 3257.181588] usb 3-1: [ozzy] MIDI in: EP 3 (out embedded in PCM)
[ 3257.181591] usb 3-1: [ozzy] channels: 8 in / 8 out
[ 3257.181595] usb 3-1: [ploytec] --- begin handshake sequence ---
[ 3257.181597] usb 3-1: [ploytec] [1/7] reading firmware version...
[ 3257.182243] usb 3-1: [ploytec] firmware: v1.2.9 (chip ID: 0x31, raw: 31 01 1d 00 00 00 00 00 00 00 00 00 00 00 00)
[ 3257.182247] usb 3-1: [ploytec] [2/7] reading hardware status...
[ 3257.182617] usb 3-1: [ploytec] status: 0x92 [InputSel:1] [DigLock:0] [mode: 100100]
[ 3257.182621] usb 3-1: [ploytec] [3/7] reading current sample rate...
[ 3257.183010] usb 3-1: [ploytec] hardware sample rate: 44100 Hz (raw: 44 AC 00)
[ 3257.183016] usb 3-1: [ploytec] [4/7] setting sample rate to 96000 Hz...
[ 3257.183778] usb 3-1: [ploytec] sample rate set: 96000 Hz (raw: 00 77 01)
[ 3257.183790] usb 3-1: [ploytec] [5/7] verifying sample rate...
[ 3257.184154] usb 3-1: [ploytec] hardware sample rate: 96000 Hz (raw: 00 77 01)
[ 3257.184166] usb 3-1: [ploytec] [6/7] reading hardware status...
[ 3257.184581] usb 3-1: [ploytec] status: 0x92 [InputSel:1] [DigLock:0] [mode: 100100]
[ 3257.184588] usb 3-1: [ploytec] [7/7] confirming device status...
[ 3257.185260] usb 3-1: [ploytec] status confirmed (read=0x92, wrote wValue=0xFFB2)
[ 3257.185266] usb 3-1: [ploytec] --- handshake complete, device ready ---
[ 3351.689260] usb 3-1: USB disconnect, device number 4
[ 3351.689301] usb 3-1: [ozzy-pcm] PCM input URB failure
[ 3351.689337] usb 3-1: [ozzy-midi] input URB failure
[ 3351.689456] usb 3-1: [ozzy-midi] input URB failure
[ 3351.689460] usb 3-1: [ozzy-midi] input URB failure
[ 3351.689493] usb 3-1: [ozzy-midi] input URB failure
[ 3364.408361] usb 3-1: new high-speed USB device number 5 using xhci_hcd
[ 3364.551846] usb 3-1: New USB device found, idVendor=0a4a, idProduct=ff4d, bcdDevice= 1.00
[ 3364.551856] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3364.551859] usb 3-1: Product: Allen&Heath Xone:4D
[ 3364.551863] usb 3-1: Manufacturer: Ploytec GmbH
[ 3364.551866] usb 3-1: SerialNumber: no serial number
[ 3364.552215] usb 3-1: [ozzy] found device: Allen&Heath Xone:4D
[ 3364.552219] usb 3-1: [ozzy] manufacturer: Ploytec GmbH
[ 3364.552222] usb 3-1: [ozzy] USB ID: 0a4a:ff4d (bcdDevice 0100)
[ 3364.552226] usb 3-1: [ozzy] speed: high (480 Mbps)
[ 3364.552229] usb 3-1: [ozzy] device family: Ploytec Xone
[ 3364.553237] usb 3-1: [ozzy] interfaces claimed: 2 (alt setting 1)
[ 3364.553242] usb 3-1: [ozzy] PCM out: EP 5 (bulk)
[ 3364.553246] usb 3-1: [ozzy] PCM in: EP 6
[ 3364.553248] usb 3-1: [ozzy] MIDI in: EP 3 (out embedded in PCM)
[ 3364.553251] usb 3-1: [ozzy] channels: 8 in / 8 out
[ 3364.553254] usb 3-1: [ploytec] --- begin handshake sequence ---
[ 3364.553257] usb 3-1: [ploytec] [1/7] reading firmware version...
[ 3364.553904] usb 3-1: [ploytec] firmware: v1.2.9 (chip ID: 0x31, raw: 31 01 1d 00 00 00 00 00 00 00 00 00 00 00 00)
[ 3364.553909] usb 3-1: [ploytec] [2/7] reading hardware status...
[ 3364.554302] usb 3-1: [ploytec] status: 0x92 [InputSel:1] [DigLock:0] [mode: 100100]
[ 3364.554309] usb 3-1: [ploytec] [3/7] reading current sample rate...
[ 3364.554677] usb 3-1: [ploytec] hardware sample rate: 44100 Hz (raw: 44 AC 00)
[ 3364.554683] usb 3-1: [ploytec] [4/7] setting sample rate to 96000 Hz...
[ 3364.555421] usb 3-1: [ploytec] sample rate set: 96000 Hz (raw: 00 77 01)
[ 3364.555429] usb 3-1: [ploytec] [5/7] verifying sample rate...
[ 3364.555787] usb 3-1: [ploytec] hardware sample rate: 96000 Hz (raw: 00 77 01)
[ 3364.555793] usb 3-1: [ploytec] [6/7] reading hardware status...
[ 3364.556177] usb 3-1: [ploytec] status: 0x92 [InputSel:1] [DigLock:0] [mode: 100100]
[ 3364.556184] usb 3-1: [ploytec] [7/7] confirming device status...
[ 3364.556926] usb 3-1: [ploytec] status confirmed (read=0x92, wrote wValue=0xFFB2)
[ 3364.556932] usb 3-1: [ploytec] --- handshake complete, device ready ---
Pre-Submission Checklist
Describe the Bug
Title:
[Bug]: PCM streaming fails on Xone:4D (Linux) — immediate I/O error on pcm_readSystem:
What works:
Handshake completes perfectly every time:
[ploytec] --- handshake complete, device ready ---
ALSA sees the device (
cat /proc/asound/cardsshows Xone4D as card 2).What fails:
arecord -D hw:Xone4D -f S24_3LE -r 96000 -c 8 -d 5 test.wav` returns immediately with:
arecord: pcm_read:2272: Lesefehler: Eingabe-/Ausgabefehler
Same with simultaneous arecord+aplay (full-duplex attempt).
Observation:
dmesg shows PCM endpoints as:
PCM out: EP 5 (bulk)
PCM in: EP 6 ← no (bulk) annotation
Output is bulk, input appears to be interrupt. Suspect
in_packet_sizein the Xone:4D device descriptor may be incorrect, causing the initial input URBs submitted inozzy_pcm_init_urbsto fail immediately, settingrt->panic = truebeforearecordeven opens the device.Note: WirePlumber additionally causes a kernel crash in
ploytec_set_rate(NULL pointer, CR2: 0x10) when it grabs the device and forces a 48000→96000 rate change. Masking all pipewire services eliminates this crash but PCM streaming still fails.Device Model
Allen & Heath Xone:4D
Operating System
Linux (Ubuntu/Debian)
📎 Attach Debug Log (REQUIRED)
[ 156.239776] snd_usb_ozzy: loading out-of-tree module taints kernel.
[ 156.239783] snd_usb_ozzy: module verification failed: signature and/or required key missing - tainting kernel
[ 156.245268] usbcore: registered new interface driver snd-usb-ozzy
[ 3257.040361] usb 3-1: new high-speed USB device number 4 using xhci_hcd
[ 3257.179914] usb 3-1: New USB device found, idVendor=0a4a, idProduct=ff4d, bcdDevice= 1.00
[ 3257.179930] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3257.179937] usb 3-1: Product: Allen&Heath Xone:4D
[ 3257.179943] usb 3-1: Manufacturer: Ploytec GmbH
[ 3257.179948] usb 3-1: SerialNumber: no serial number
[ 3257.180568] usb 3-1: [ozzy] found device: Allen&Heath Xone:4D
[ 3257.180573] usb 3-1: [ozzy] manufacturer: Ploytec GmbH
[ 3257.180576] usb 3-1: [ozzy] USB ID: 0a4a:ff4d (bcdDevice 0100)
[ 3257.180580] usb 3-1: [ozzy] speed: high (480 Mbps)
[ 3257.180582] usb 3-1: [ozzy] device family: Ploytec Xone
[ 3257.181577] usb 3-1: [ozzy] interfaces claimed: 2 (alt setting 1)
[ 3257.181582] usb 3-1: [ozzy] PCM out: EP 5 (bulk)
[ 3257.181586] usb 3-1: [ozzy] PCM in: EP 6
[ 3257.181588] usb 3-1: [ozzy] MIDI in: EP 3 (out embedded in PCM)
[ 3257.181591] usb 3-1: [ozzy] channels: 8 in / 8 out
[ 3257.181595] usb 3-1: [ploytec] --- begin handshake sequence ---
[ 3257.181597] usb 3-1: [ploytec] [1/7] reading firmware version...
[ 3257.182243] usb 3-1: [ploytec] firmware: v1.2.9 (chip ID: 0x31, raw: 31 01 1d 00 00 00 00 00 00 00 00 00 00 00 00)
[ 3257.182247] usb 3-1: [ploytec] [2/7] reading hardware status...
[ 3257.182617] usb 3-1: [ploytec] status: 0x92 [InputSel:1] [DigLock:0] [mode: 100100]
[ 3257.182621] usb 3-1: [ploytec] [3/7] reading current sample rate...
[ 3257.183010] usb 3-1: [ploytec] hardware sample rate: 44100 Hz (raw: 44 AC 00)
[ 3257.183016] usb 3-1: [ploytec] [4/7] setting sample rate to 96000 Hz...
[ 3257.183778] usb 3-1: [ploytec] sample rate set: 96000 Hz (raw: 00 77 01)
[ 3257.183790] usb 3-1: [ploytec] [5/7] verifying sample rate...
[ 3257.184154] usb 3-1: [ploytec] hardware sample rate: 96000 Hz (raw: 00 77 01)
[ 3257.184166] usb 3-1: [ploytec] [6/7] reading hardware status...
[ 3257.184581] usb 3-1: [ploytec] status: 0x92 [InputSel:1] [DigLock:0] [mode: 100100]
[ 3257.184588] usb 3-1: [ploytec] [7/7] confirming device status...
[ 3257.185260] usb 3-1: [ploytec] status confirmed (read=0x92, wrote wValue=0xFFB2)
[ 3257.185266] usb 3-1: [ploytec] --- handshake complete, device ready ---
[ 3351.689260] usb 3-1: USB disconnect, device number 4
[ 3351.689301] usb 3-1: [ozzy-pcm] PCM input URB failure
[ 3351.689337] usb 3-1: [ozzy-midi] input URB failure
[ 3351.689456] usb 3-1: [ozzy-midi] input URB failure
[ 3351.689460] usb 3-1: [ozzy-midi] input URB failure
[ 3351.689493] usb 3-1: [ozzy-midi] input URB failure
[ 3364.408361] usb 3-1: new high-speed USB device number 5 using xhci_hcd
[ 3364.551846] usb 3-1: New USB device found, idVendor=0a4a, idProduct=ff4d, bcdDevice= 1.00
[ 3364.551856] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3364.551859] usb 3-1: Product: Allen&Heath Xone:4D
[ 3364.551863] usb 3-1: Manufacturer: Ploytec GmbH
[ 3364.551866] usb 3-1: SerialNumber: no serial number
[ 3364.552215] usb 3-1: [ozzy] found device: Allen&Heath Xone:4D
[ 3364.552219] usb 3-1: [ozzy] manufacturer: Ploytec GmbH
[ 3364.552222] usb 3-1: [ozzy] USB ID: 0a4a:ff4d (bcdDevice 0100)
[ 3364.552226] usb 3-1: [ozzy] speed: high (480 Mbps)
[ 3364.552229] usb 3-1: [ozzy] device family: Ploytec Xone
[ 3364.553237] usb 3-1: [ozzy] interfaces claimed: 2 (alt setting 1)
[ 3364.553242] usb 3-1: [ozzy] PCM out: EP 5 (bulk)
[ 3364.553246] usb 3-1: [ozzy] PCM in: EP 6
[ 3364.553248] usb 3-1: [ozzy] MIDI in: EP 3 (out embedded in PCM)
[ 3364.553251] usb 3-1: [ozzy] channels: 8 in / 8 out
[ 3364.553254] usb 3-1: [ploytec] --- begin handshake sequence ---
[ 3364.553257] usb 3-1: [ploytec] [1/7] reading firmware version...
[ 3364.553904] usb 3-1: [ploytec] firmware: v1.2.9 (chip ID: 0x31, raw: 31 01 1d 00 00 00 00 00 00 00 00 00 00 00 00)
[ 3364.553909] usb 3-1: [ploytec] [2/7] reading hardware status...
[ 3364.554302] usb 3-1: [ploytec] status: 0x92 [InputSel:1] [DigLock:0] [mode: 100100]
[ 3364.554309] usb 3-1: [ploytec] [3/7] reading current sample rate...
[ 3364.554677] usb 3-1: [ploytec] hardware sample rate: 44100 Hz (raw: 44 AC 00)
[ 3364.554683] usb 3-1: [ploytec] [4/7] setting sample rate to 96000 Hz...
[ 3364.555421] usb 3-1: [ploytec] sample rate set: 96000 Hz (raw: 00 77 01)
[ 3364.555429] usb 3-1: [ploytec] [5/7] verifying sample rate...
[ 3364.555787] usb 3-1: [ploytec] hardware sample rate: 96000 Hz (raw: 00 77 01)
[ 3364.555793] usb 3-1: [ploytec] [6/7] reading hardware status...
[ 3364.556177] usb 3-1: [ploytec] status: 0x92 [InputSel:1] [DigLock:0] [mode: 100100]
[ 3364.556184] usb 3-1: [ploytec] [7/7] confirming device status...
[ 3364.556926] usb 3-1: [ploytec] status confirmed (read=0x92, wrote wValue=0xFFB2)
[ 3364.556932] usb 3-1: [ploytec] --- handshake complete, device ready ---