All of lore.kernel.org
 help / color / mirror / Atom feed
From: Roman <klangrausch@wolke7.net>
To: alsa-devel@alsa-project.org
Cc: linux-kernel@vger.kernel.org
Subject: Allen&Heath Xone43C: USB communication
Date: Wed, 2 Jun 2021 22:35:45 +0200	[thread overview]
Message-ID: <trinity-8bce8a2c-8808-4f78-8ddd-a71c8a7bc304-1622666145088@3c-app-gmx-bs30> (raw)


   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

             reply	other threads:[~2021-06-02 20:36 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-02 20:35 Roman [this message]
2021-06-03 15:57 ` Allen&Heath Xone43C: USB communication Geraldo Nascimento
2021-06-02 20:39 Roman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=trinity-8bce8a2c-8808-4f78-8ddd-a71c8a7bc304-1622666145088@3c-app-gmx-bs30 \
    --to=klangrausch@wolke7.net \
    --cc=alsa-devel@alsa-project.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.