Bug 217089 - xone23c mixer
Summary: xone23c mixer
Status: RESOLVED IMPLEMENTED
Alias: None
Product: Drivers
Classification: Unclassified
Component: USB (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Default virtual assignee for Drivers/USB
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-02-26 09:36 UTC by valino
Modified: 2024-10-13 19:52 UTC (History)
3 users (show)

See Also:
Kernel Version: <5.4.0.33
Subsystem:
Regression: No
Bisected commit-id:


Attachments
xone23-c dmesg and lsusb under kernel 5.4.0.33. The audio device is recognized. (116.18 KB, text/plain)
2023-02-27 21:22 UTC, Pierre Germain
Details
UI showing the xone23-c under kernel 5.4.0.33. The audio device is recognized. (35.87 KB, image/png)
2023-02-27 21:23 UTC, Pierre Germain
Details
xone23-c dmesg and lsusb under kernel 5.4.0.37. The audio device is NOT recognized. (106.29 KB, text/plain)
2023-02-27 21:24 UTC, Pierre Germain
Details
UI showing the xone23-c under kernel 5.4.0.37. The audio device is NOT recognized. (34.40 KB, image/png)
2023-02-27 21:25 UTC, Pierre Germain
Details
Log from usbmon kernel 5.4.0.33 (278.98 KB, application/octet-stream)
2023-02-28 11:06 UTC, Pierre Germain
Details
Log from usbmon kernel 5.4.0.37 (2.05 MB, text/plain)
2023-02-28 11:07 UTC, Pierre Germain
Details
Log from usbmon kernel 5.4.0.33 (1.74 MB, text/plain)
2023-02-28 11:09 UTC, Pierre Germain
Details
cat file old_scheme_first (113.30 KB, text/plain)
2023-02-28 16:52 UTC, Pierre Germain
Details

Description valino 2023-02-26 09:36:31 UTC
Having a few problems with the Xone32c though not sure if this is an ALSA
issue or general USB stack problem.

It's a USB soundcard that is supposed to have 4 inputs and 4 outputs. It
seems to have 2 USB configurations (bNumConfigurations : 0x2). When plugged
in, bConfigurationValue is 0x1 and only 2 inputs and 2 outputs show up.
Change this value to 0x2 and it shows up (as it should) as 4 inputs and 4
outputs.

I can change the bConfigurationValue with this udev rule, or with a `echo 2

/sys/bus/usb/devices/1-1.4/bConfigurationValue`:

This has all been working OK on Ubuntu 20.04 running kernel
5.4.0-33-generic. However, I just updated to 5.4.0-37-generic and now there
is only a single USB configuration (bNumConfigurations : 0x1) and
bConfigurationValue can't be changed to 0x2:
Comment 1 Alan Stern 2023-02-26 19:15:16 UTC
Please attach the dmesg log showing what happens when you plug the device into the computer.  Also, please attach the output from "lsusb -v" for the device.

You also should should close Bug #217088 as it is a copy of this bug.
Comment 2 valino 2023-02-26 21:33:41 UTC
dsmeg:

[44482.358193] usb 1-1.2: Product: Xone:23C
[44482.358199] usb 1-1.2: Manufacturer: Allen&Heath
[44482.358205] usb 1-1.2: SerialNumber: no serial number
[44482.361222] usb 1-1.2: 1:2 : UAC_AS_GENERAL descriptor not found
[44482.362519] usb 1-1.2: 2:2 : UAC_AS_GENERAL descriptor not found

lsusb -v -d 22f0:0008~

Bus 001 Device 011: ID 22f0:0008 Allen&Heath Xone:23C
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x22f0
idProduct 0x0008
bcdDevice 2.00
iManufacturer 1 Allen&Heath
iProduct 2 Xone:23C
iSerial 3 no serial number
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0126
bNumInterfaces 4
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 0
iInterface 0
AudioControl Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 0x0035
bInCollection 3
baInterfaceNr(0) 1
baInterfaceNr(1) 2
baInterfaceNr(2) 3
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 1
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 2
wTerminalType 0x0602 Digital Audio Interface
bAssocTerminal 0
bSourceID 1
iTerminal 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 3
wTerminalType 0x0602 Digital Audio Interface
bAssocTerminal 0
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 4
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bSourceID 3
iTerminal 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 1
bDelay 1 frames
wFormatTag 0x0001 PCM
AudioStreaming Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 3
bBitResolution 24
bSamFreqType 1 Discrete
tSamFreq[ 0] 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0126 1x 294 bytes
bInterval 4
bRefresh 0
bSynchAddress 133
AudioStreaming Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01
Sampling Frequency
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 0x0000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0003 1x 3 bytes
bInterval 4
bRefresh 5
bSynchAddress 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 2
bNumEndpoints 1
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 1
bRefresh 0
bSynchAddress 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 4
bDelay 1 frames
wFormatTag 0x0001 PCM
AudioStreaming Interface Descriptorlsusb -v -d 22f0:0008~

Bus 001 Device 011: ID 22f0:0008 Allen&Heath Xone:23C
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x22f0
idProduct 0x0008
bcdDevice 2.00
iManufacturer 1 Allen&Heath
iProduct 2 Xone:23C
iSerial 3 no serial number
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0126
bNumInterfaces 4
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 0
iInterface 0
AudioControl Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 0x0035
bInCollection 3
baInterfaceNr(0) 1
baInterfaceNr(1) 2
baInterfaceNr(2) 3
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 1
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 2
wTerminalType 0x0602 Digital Audio Interface
bAssocTerminal 0
bSourceID 1
iTerminal 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 3
wTerminalType 0x0602 Digital Audio Interface
bAssocTerminal 0
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 4
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bSourceID 3
iTerminal 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 1
bDelay 1 frames
wFormatTag 0x0001 PCM
AudioStreaming Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 3
bBitResolution 24
bSamFreqType 1 Discrete
tSamFreq[ 0] 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0126 1x 294 bytes
bInterval 4
bRefresh 0
bSynchAddress 133
AudioStreaming Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01
Sampling Frequency
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 0x0000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0003 1x 3 bytes
bInterval 4
bRefresh 5
bSynchAddress 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 2
bNumEndpoints 1
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 1
bRefresh 0
bSynchAddress 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 4
bDelay 1 frames
wFormatTag 0x0001 PCM
AudioStreaming Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 3
bBitResolution 24
bSamFreqType 1 Discrete
tSamFreq[ 0] 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0126 1x 294 bytes
bInterval 4
bRefresh 0
bSynchAddress 0
AudioStreaming Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01
Sampling Frequency
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 0x0000
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 2
bNumEndpoints 1
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 1
bRefresh 0
bSynchAddress 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 3 MIDI Streaming
bInterfaceProtocol 0
iInterface 0
MIDIStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 0x0041
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 1 Embedded
bJackID 1
iJack 0
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 2 External
bJackID 2
iJack 0
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 1 Embedded
bJackID 3
bNrInputPins 1
baSourceID( 0) 2
BaSourcePin( 0) 1
iJack 0
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 2 External
bJackID 4
bNrInputPins 1
baSourceID( 0) 1
BaSourcePin( 0) 1
iJack 0
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 1
bRefresh 0
bSynchAddress 0
MIDIStreaming Endpoint Descriptor:
bLength 5
bDescriptorType 37
bDescriptorSubtype 1 (GENERAL)
bNumEmbMIDIJack 1
baAssocJackID( 0) 3
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 4
bRefresh 0
bSynchAddress 0
MIDIStreaming Endpoint Descriptor:
bLength 5
bDescriptorType 37
bDescriptorSubtype 1 (GENERAL)
bNumEmbMIDIJack 1
baAssocJackID( 0) 1
:
bLength 11
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 3
bBitResolution 24
bSamFreqType 1 Discrete
tSamFreq[ 0] 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0126 1x 294 bytes
bInterval 4
bRefresh 0
bSynchAddress 0
AudioStreaming Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01
Sampling Frequency
bLockDelayUnits 2 Decoded PCM samples
wLockDelay 0x0000
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 2
bNumEndpoints 1
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 5
Transfer Type Isochronous
Synch Type Asynchronous
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 1
bRefresh 0
bSynchAddress 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 1 Audio
bInterfaceSubClass 3 MIDI Streaming
bInterfaceProtocol 0
iInterface 0
MIDIStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 0x0041
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 1 Embedded
bJackID 1
iJack 0
MIDIStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (MIDI_IN_JACK)
bJackType 2 External
bJackID 2
iJack 0
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 1 Embedded
bJackID 3
bNrInputPins 1
baSourceID( 0) 2
BaSourcePin( 0) 1
iJack 0
MIDIStreaming Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (MIDI_OUT_JACK)
bJackType 2 External
bJackID 4
bNrInputPins 1
baSourceID( 0) 1
BaSourcePin( 0) 1
iJack 0
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 1
bRefresh 0
bSynchAddress 0
MIDIStreaming Endpoint Descriptor:
bLength 5
bDescriptorType 37
bDescriptorSubtype 1 (GENERAL)
bNumEmbMIDIJack 1
baAssocJackID( 0) 3
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 4
bRefresh 0
bSynchAddress 0
MIDIStreaming Endpoint Descriptor:
bLength 5
bDescriptorType 37
bDescriptorSubtype 1 (GENERAL)
bNumEmbMIDIJack 1
baAssocJackID( 0) 1
Comment 3 Alan Stern 2023-02-26 22:33:53 UTC
Pasting the lsusb output into the bug report ruined the formatting, making the text very difficult to read.  That's why I suggested you attach the output instead of pasting it.

Anyway, can you try booting the earlier kernel and getting the same data?  I'd like to see if the kernel version makes any difference.  If it did, that would be pretty surprising.
Comment 4 valino 2023-02-27 10:02:44 UTC
there is an issue on github, you might find useful information there too. 
https://gist.github.com/timnugent/ed65a79b2bd6c63788bfada3624756a4

thanks for your help. will do everything possible to help you
Comment 5 Pierre Germain 2023-02-27 21:22:44 UTC
Created attachment 303799 [details]
xone23-c dmesg and lsusb under kernel 5.4.0.33. The audio device is recognized.

lsusb and dmesg with xone23-c under kernel 5.4.0.33.
The audio device is recognized.
Comment 6 Pierre Germain 2023-02-27 21:23:44 UTC
Created attachment 303800 [details]
UI showing the xone23-c under kernel 5.4.0.33. The audio device is recognized.
Comment 7 Pierre Germain 2023-02-27 21:24:22 UTC
Created attachment 303801 [details]
xone23-c dmesg and lsusb under kernel 5.4.0.37. The audio device is NOT recognized.
Comment 8 Pierre Germain 2023-02-27 21:25:02 UTC
Created attachment 303802 [details]
UI showing the xone23-c under kernel 5.4.0.37. The audio device is NOT recognized.
Comment 9 Pierre Germain 2023-02-27 21:33:57 UTC
Good evening Alan Stern,
Thanks for helping us. I have attached the following files to this bug:

1. xone23-c dmesg and lsusb under kernel 5.4.0.33.
This file shows the ouput of dmesg and lsusb when using kernel 5.4.0.33. As of this kernel everything was working great.

2. UI showing the xone23-c under kernel 5.4.0.33.
This is a png file showing the UI, showing briefly how the audio device is recognized as a 4x4 channel audio device. 

3. xone23-c dmesg and lsusb under kernel 5.4.0.37.  
This file shows the ouput of dmesg and lsusb when using kernel 5.4.0.37. That's the first kernel I was able to install to see that the audio device is not recognized as a 4x4 channel audio device. I have not been able to install kernels between 33 and 37.

4. UI showing the xone23-c under kernel 5.4.0.37. 
This is a png file showing the UI, showing how the audio device is recognized as a 2x2 channel audio device.

Let me know If I can give you more information. Thanks.
Comment 10 Alan Stern 2023-02-28 02:13:55 UTC
The attachments are pretty clear.  The most likely explanation is that something gets sent to the device under one kernel but not the other, something which causes it to change its firmware.

The next step is to collect a usbmon trace showing what happens when the device is plugged in.  As root, do:

   cat /sys/kernel/debug/usb/usbmon/1u >FILENAME

before plugging in the device.  A few seconds after the Xone is plugged in, kill the command with ^C and attach the output file to this bug report.  Do this for both of the kernels, and we'll see if anything is different between them.
Comment 11 Pierre Germain 2023-02-28 11:06:05 UTC
Created attachment 303804 [details]
Log from usbmon kernel 5.4.0.33

Log from cat /sys/kernel/debug/usb/usbmon/1u >FILENAME under kernel  5.4.0.33
Comment 12 Pierre Germain 2023-02-28 11:07:20 UTC
Created attachment 303805 [details]
Log from usbmon kernel 5.4.0.37

Log from cat /sys/kernel/debug/usb/usbmon/1u >FILENAME under kernel  5.4.0.37
Comment 13 Pierre Germain 2023-02-28 11:09:56 UTC
Created attachment 303806 [details]
Log from usbmon kernel 5.4.0.33

Log from cat /sys/kernel/debug/usb/usbmon/1u >FILENAME under kernel  5.4.0.33
Comment 14 Pierre Germain 2023-02-28 11:13:14 UTC
(In reply to Alan Stern from comment #10)
> The attachments are pretty clear.  The most likely explanation is that
> something gets sent to the device under one kernel but not the other,
> something which causes it to change its firmware.
> 
> The next step is to collect a usbmon trace showing what happens when the
> device is plugged in.  As root, do:
> 
>    cat /sys/kernel/debug/usb/usbmon/1u >FILENAME
> 
> before plugging in the device.  A few seconds after the Xone is plugged in,
> kill the command with ^C and attach the output file to this bug report.  Do
> this for both of the kernels, and we'll see if anything is different between
> them.

Hello Alan,
Thanks for your reply. I have uploaded the 2 logs from usbmon:

Kernel 33: https://bugzilla.kernel.org/attachment.cgi?id=303806
Kernel 37: https://bugzilla.kernel.org/attachment.cgi?id=303805

If you need more information I am all ears. Thanks.
Comment 15 Alan Stern 2023-02-28 16:25:54 UTC
The two usbmon traces show a big difference right near the start.  You can check my analysis by doing:

   cat /sys/module/usbcore/parameters/old_scheme_first

under each of the kernels.  My guess is that the file contains Y in the -33 kernel and N in the -37 kernel.

That setting should not make any difference to a reasonable device.  But apparently the Xone isn't reasonable, and it changes its behavior based on this parameter setting.  Technically, it removes the second configuration when it is reset a second time after being plugged in.  The -37 usbmon trace shows that the xone reports two configs after the first reset and only one after the second reset.  The relevant lines from the trace, right after the first reset, are:

ffff8bfede5c8900 121253611 S Ci:1:000:0 s 80 06 0100 0000 0040 64 <
ffff8bfede5c8900 121253721 C Ci:1:000:0 0 18 = 12010002 ef020140 f0220800 00020102 0302

The 02 at the end is the number of configurations.

ffff8bfede5c8900 121253739 S Co:1:001:0 s 23 03 0004 0001 0000 0
ffff8bfede5c8900 121253750 C Co:1:001:0 0 0
ffff8bfede5c8900 121321750 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
ffff8bfede5c8900 121321766 C Ci:1:001:0 0 4 = 03051000
ffff8bfede5c8900 121321771 S Co:1:001:0 s 23 01 0014 0001 0000 0
ffff8bfede5c8900 121321786 C Co:1:001:0 0 0

Those lines are the second reset.

ffff8bfede5c8900 121401578 S Ci:1:007:0 s 80 06 0100 0000 0012 18 <
ffff8bfede5c8900 121401685 C Ci:1:007:0 0 18 = 12010002 ef020140 f0220800 00020102 0301

Here the 02 at the end has changed to 01.  The -33 trace shows only one reset, and the number of configs doesn't change from 2 to 1.

Assuming this is true, the good news is that the parameter is something you can easily change.  Just do (as root):

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

under the -37 kernel and then see what happens when you plug in the device.
Comment 16 Pierre Germain 2023-02-28 16:52:38 UTC
Created attachment 303808 [details]
cat file old_scheme_first

Hello Alan,

Incredible (for me this all is like reading a foreign language), As you said that last echo seems to make the xone be recognized as a 4x4 device (as seen in the UI).

I add in this file all the commands you asked and also lsusb and dmesg after pluggin in the device in the -37 kernel.

What would be the next steps ?

Thanks.
Comment 17 Pierre Germain 2023-02-28 16:55:42 UTC
Just to clarify: The -33 kernel has a N, and the -37 has also a N.
But when the -37 has a Y the device seems to be recognized correctly.
Comment 18 Alan Stern 2023-02-28 19:35:41 UTC
Okay.  There was a change made to the kernel some time ago which caused it to always use the old scheme first for initializing high-speed USB devices, overriding the value in the old_scheme_first parameter file.  It turned out that this change caused problems for some devices, so it was reverted about three years ago.  I expect Ubuntu's 5.4.0-33-generic kernel release contains that change and the -37 release contains the reversion; that would explain what you're seeing.

But at least you do have a way to make the device work now.  In fact, you ought to be able to leave the parameter set to Y permanently; this will work fine with most devices.

And if you want to know why the Xone behaves in this strange manner, probably the only way to find out is to ask the manufacturer.
Comment 19 Pierre Germain 2023-03-01 09:20:13 UTC
Thanks Alan,
I will contact the manufacturer by varius means, with some luck they send my inquiry to the correct team.
Pierre
Comment 20 Alan Stern 2023-03-01 15:26:02 UTC
In the meantime, you can mark this bug report closed.
Comment 21 Pierre Germain 2023-03-01 15:39:45 UTC
(In reply to Alan Stern from comment #20)
> In the meantime, you can mark this bug report closed.

Sorry Alan, I don't see that option, I think I would need more permissions. There should be a Edit link next to Status: NEW but I don't have that option.
Comment 22 Alan Stern 2023-03-01 16:07:30 UTC
Oh. It has to be done by the person who originally opened the bug report (valino) or the person to whom the report is assigned (Greg).

But I see the status has already been changed to RESOLVED IMPLEMENTED, so nothing more needs to be done.
Comment 23 Pierre Germain 2023-03-01 20:27:38 UTC
Thanks a lot Alan for all your effort and good work. I hope you have a nice week.

Note You need to log in before you can comment on or make changes to this bug.