On 08/22/2018 01:49 AM, Clemens Ladisch via Alsa-user wrote: > Please show the output of "lsusb -v" for your device. The device also implements an HID interface for driverless firmware update and control (changing what control maps to what channel etc), so the descriptor is a touch length. I'm not sure how regular devices do this sort of control configuration, but HID plus a custom app seemed reasonable enough to me: -------------------------------SNIP------------------------------------- Bus 004 Device 041: ID 16c0:05dc Van Ooijen Technische Informatica shared ID for use with libusb Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x16c0 Van Ooijen Technische Informatica idProduct 0x05dc shared ID for use with libusb bcdDevice 0.10 iManufacturer 1 kevincuzner.com☐ iProduct 2 Midi-Faderr iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x0083 bNumInterfaces 3 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 500mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.11 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 25 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 10 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 10 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 1 Control Device bInterfaceProtocol 0 iInterface 0 AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdADC 1.00 wTotalLength 0x0009 bInCollection 1 baInterfaceNr(0) 2 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 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 0x0023 MIDIStreaming Interface Descriptor: bLength 6 bDescriptorType 36 bDescriptorSubtype 2 (MIDI_IN_JACK) bJackType 1 Embedded bJackID 1 iJack 0 MIDIStreaming Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 3 (MIDI_OUT_JACK) bJackType 1 Embedded bJackID 2 bNrInputPins 1 baSourceID( 0) 3 BaSourcePin( 0) 1 iJack 0 MIDIStreaming Interface Descriptor: bLength 13 bDescriptorType 36 bDescriptorSubtype 4 (ELEMENT) bElementID 3 bNrInputPins 1 baSourceID( 0) 1 BaSourcePin( 0) 1 bNrOutputPins 1 bInTerminalLink 0 bOutTerminalLink 0 bElCapsSize 1 bmElementCaps 0x00000001 Undefined iElement 0 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 bRefresh 0 bSynchAddress 0 MIDIStreaming Endpoint Descriptor: bLength 5 bDescriptorType 37 bDescriptorSubtype 1 (GENERAL) bNumEmbMIDIJack 1 baAssocJackID( 0) 1 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 bRefresh 0 bSynchAddress 0 MIDIStreaming Endpoint Descriptor: bLength 5 bDescriptorType 37 bDescriptorSubtype 1 (GENERAL) bNumEmbMIDIJack 1 baAssocJackID( 0) 2 can't get device qualifier: Resource temporarily unavailable can't get debug descriptor: Resource temporarily unavailable Device Status: 0x0000 (Bus Powered) -------------------------------SNIP------------------------------------- > Try amidi, which will show even invalid bytes. When tried this, I found that it still wasn't showing my anything. But, this turned out to not be an issue. Your next statement fixed my problem: > > 07 is not a valid MIDI status byte. The first byte of the USB-MIDI > Event Packet is not MIDI; the remaining bytes must be valid MIDI. See > the second example in table 4-2. > I can't believe I missed the meaning of that second column in that table when I was reading the spec. I fixed it so that it outputs valid MIDI according to the second column (though their examples are awful...it's too easy to mix up the cable number, channel number, and code index). I had to fix my cable number to be zero, since it's the 0th cable on that Jack. After fixing my MIDI message I tried this with aseqdump and finally saw stuff!!! I then started rosegarden and saw my control changes coming in on the channel I intended them to!!! I would say my issue is solved. Thank you for your prompt and knowledgeable response. -Kevin ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Alsa-user mailing list Alsa-user@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-user