Allen&Heath Xone43C: USB communication

Roman klangrausch at wolke7.net
Wed Jun 2 22:35:45 CEST 2021


   Hello all, hello list,
   I am not sure whether this is the correct list, since it's not strictly
   an
   ALSA affair (fw to kernel-devel). Recent progress on driver support for
   Pioneer devices encouraged me to dissect USB communication with an
   Allen&Heath Xone43C, a mixer with USB interface. It does feature 16
   channels
   (8 in, 8 out), but only 4 (2 in, 2 out) show up, 2 of which remain
   automagically
   silent. There is no linux driver yet, and maybe I can help?
   Addresses are:
   0x80    Endpoint 0 (in)
   0x00    Endpoint 0 (out)
   0x81    Endpoint 1 (in)    Interface 2.1 and Interface 2.2 (vendor
   spec)
   0x02    Endpoint 2 (out)  Interface 1.1 and Interface 1.2 (vendor spec)
   0x85    Endpoint 5 (in)    Interface 1.1
   0x83    Endpoint 3 (in)    Interface 3 MIDI
   0x04    Endpoint 4 (out)  Interface 3 MIDI

   ----------------------------------

   I have a sniff here:
   https://drive.google.com/file/d/1UPXCN-r7jc9hfm1d-Hip8vckSs2RQNtC/view?
   usp=sharing

   ---------------------------------

   USB info:

   Bus 001 Device 006: ID 22f0:000f Allen&Heath Xone:43C
   Device Descriptor:
     bLength                18
     bDescriptorType         1
     bcdUSB               2.00
     bDeviceClass          239 Miscellaneous Device
     bDeviceSubClass         2
     bDeviceProtocol         1 Interface Association
     bMaxPacketSize0        64
     idVendor           0x22f0
     idProduct          0x000f
     bcdDevice            2.00
     iManufacturer           1 Allen&Heath
     iProduct                2 Xone:43C
     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
   Device Qualifier (for other device speed):
     bLength                10
     bDescriptorType         6
     bcdUSB               2.00
     bDeviceClass            0
     bDeviceSubClass         0
     bDeviceProtocol         0
     bMaxPacketSize0        64
     bNumConfigurations      1
   Device Status:     0x0001
     Self Powered

   ---
   Best wishes,
   Roman


More information about the Alsa-devel mailing list