[alsa-devel] Line 6 Helix quirks
nick83ola
nick83ola at gmail.com
Mon Nov 25 00:23:53 CET 2019
This is with kernel 5.3.1 lowlatency from ubuntu
uname -a
Linux nick-beastie 5.3.1-050301*-lowlatency* #201909210632 SMP PREEMPT Sat
Sep 21 06:36:56 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
diff helix.txt hxstomp.txt
1c1
< Bus 009 Device 011: ID 0e41:424a Line6, Inc.
---
> Bus 001 Device 014: ID 0e41:4246 Line6, Inc.
7c7
< bDeviceSubClass 2 ?
---
> bDeviceSubClass 2
11c11
< idProduct 0x424a
---
> idProduct 0x4246
14,15c14,15
< iProduct 2 HELIX
< iSerial 3 2744535
---
> iProduct 3 HX Stomp
> iSerial 2 3021888
20,21c20,21
< wTotalLength 304
< bNumInterfaces 6
---
> wTotalLength 0x0117
> bNumInterfaces 5
26c26
< MaxPower 100mA
---
> MaxPower 0mA
36c36
< iInterface 4 Msg Pipe
---
> iInterface 0
75c75
< iInterface 6 HELIX Audio
---
> iInterface 0
83c83
< bmControl 0x00
---
> bmControls 0x00
166c166
< AudioControl Endpoint Descriptor:
---
> AudioStreaming Endpoint Descriptor:
223c223
< AudioControl Endpoint Descriptor:
---
> AudioStreaming Endpoint Descriptor:
240c240
< iInterface 7 HELIX MIDI
---
> iInterface 0
284c284
< bEndpointAddress 0x04 EP 4 OUT
---
> bEndpointAddress 0x02 EP 2 OUT
302c302
< bEndpointAddress 0x84 EP 4 IN
---
> bEndpointAddress 0x82 EP 2 IN
317,346d316
< Interface Descriptor:
< bLength 9
< bDescriptorType 4
< bInterfaceNumber 5
< bAlternateSetting 0
< bNumEndpoints 1
< bInterfaceClass 3 Human Interface Device
< bInterfaceSubClass 0 No Subclass
< bInterfaceProtocol 0 None
< iInterface 0
< HID Device Descriptor:
< bLength 9
< bDescriptorType 33
< bcdHID 1.11
< bCountryCode 0 Not supported
< bNumDescriptors 1
< bDescriptorType 34 Report
< wDescriptorLength 37
< Report Descriptors:
< ** UNAVAILABLE **
< Endpoint Descriptor:
< bLength 7
< bDescriptorType 5
< bEndpointAddress 0x85 EP 5 IN
< bmAttributes 3
< Transfer Type Interrupt
< Synch Type None
< Usage Type Data
< wMaxPacketSize 0x0008 1x 8 bytes
< bInterval 8
351c321
< bDeviceClass 0 (Defined at Interface level)
---
> bDeviceClass 0
355a326
> can't get debug descriptor: Resource temporarily unavailable
On Sun, 24 Nov 2019 at 23:13, nick83ola <nick83ola at gmail.com> wrote:
> [29054.588559] usb 1-1.2.2: new high-speed USB device number 14 using
> xhci_hcd
> [29054.665318] usb 1-1.2.2: New USB device found, idVendor=0e41,
> idProduct=4246, bcdDevice= 2.00
> [29054.665320] usb 1-1.2.2: New USB device strings: Mfr=1, Product=3,
> SerialNumber=2
> [29054.665320] usb 1-1.2.2: Product: HX Stomp
> [29054.665321] usb 1-1.2.2: Manufacturer: LINE 6
> [29054.665321] usb 1-1.2.2: SerialNumber: 3021888
> [29054.669712] usb 1-1.2.2: parse_audio_format_rates_v2v3(): unable to
> retrieve number of sample rates: set it to a predefined value (clock 16).
> [29054.671488] usb 1-1.2.2: parse_audio_format_rates_v2v3(): unable to
> retrieve number of sample rates: set it to a predefined value (clock 16).
>
>
> $ lsusb -v -d 0e41:4246
>
> Bus 001 Device 014: ID 0e41:4246 Line6, Inc.
> Device Descriptor:
> bLength 18
> bDescriptorType 1
> bcdUSB 2.00
> bDeviceClass 239 Miscellaneous Device
> bDeviceSubClass 2
> bDeviceProtocol 1 Interface Association
> bMaxPacketSize0 64
> idVendor 0x0e41 Line6, Inc.
> idProduct 0x4246
> bcdDevice 2.00
> iManufacturer 1 LINE 6
> iProduct 3 HX Stomp
> iSerial 2 3021888
> bNumConfigurations 1
> Configuration Descriptor:
> bLength 9
> bDescriptorType 2
> wTotalLength 0x0117
> bNumInterfaces 5
> bConfigurationValue 1
> iConfiguration 0
> bmAttributes 0xc0
> Self Powered
> MaxPower 0mA
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 0
> bAlternateSetting 0
> bNumEndpoints 2
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 0
> bInterfaceProtocol 0
> iInterface 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x81 EP 1 IN
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x01 EP 1 OUT
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
> Interface Association:
> bLength 8
> bDescriptorType 11
> bFirstInterface 1
> bInterfaceCount 4
> bFunctionClass 1 Audio
> bFunctionSubClass 0
> bFunctionProtocol 32
> iFunction 0
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 1
> bAlternateSetting 0
> bNumEndpoints 0
> bInterfaceClass 1 Audio
> bInterfaceSubClass 1 Control Device
> bInterfaceProtocol 32
> iInterface 0
> AudioControl Interface Descriptor:
> bLength 9
> bDescriptorType 36
> bDescriptorSubtype 1 (HEADER)
> bcdADC 2.00
> bCategory 10
> wTotalLength 0x002e
> bmControls 0x00
> AudioControl Interface Descriptor:
> bLength 8
> bDescriptorType 36
> bDescriptorSubtype 10 (CLOCK_SOURCE)
> bClockID 16
> bmAttributes 1 Internal fixed clock
> bmControls 0x00
> bAssocTerminal 0
> iClockSource 0
> AudioControl Interface Descriptor:
> bLength 17
> bDescriptorType 36
> bDescriptorSubtype 2 (INPUT_TERMINAL)
> bTerminalID 32
> wTerminalType 0x0201 Microphone
> bAssocTerminal 64
> bCSourceID 16
> bNrChannels 8
> bmChannelConfig 0x00000000
> iChannelNames 0
> bmControls 0x0000
> iTerminal 0
> AudioControl Interface Descriptor:
> bLength 12
> bDescriptorType 36
> bDescriptorSubtype 3 (OUTPUT_TERMINAL)
> bTerminalID 64
> wTerminalType 0x0301 Speaker
> bAssocTerminal 32
> bSourceID 32
> bCSourceID 16
> bmControls 0x0000
> iTerminal 0
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 2
> bAlternateSetting 0
> bNumEndpoints 0
> bInterfaceClass 1 Audio
> bInterfaceSubClass 2 Streaming
> bInterfaceProtocol 32
> iInterface 0
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 2
> bAlternateSetting 1
> bNumEndpoints 1
> bInterfaceClass 1 Audio
> bInterfaceSubClass 2 Streaming
> bInterfaceProtocol 32
> iInterface 0
> AudioStreaming Interface Descriptor:
> bLength 16
> bDescriptorType 36
> bDescriptorSubtype 1 (AS_GENERAL)
> bTerminalLink 32
> bmControls 0x00
> bFormatType 1
> bmFormats 0x00000001
> PCM
> bNrChannels 8
> bmChannelConfig 0x00000000
> iChannelNames 0
> AudioStreaming Interface Descriptor:
> bLength 6
> bDescriptorType 36
> bDescriptorSubtype 2 (FORMAT_TYPE)
> bFormatType 1 (FORMAT_TYPE_I)
> bSubslotSize 4
> bBitResolution 24
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x03 EP 3 OUT
> bmAttributes 5
> Transfer Type Isochronous
> Synch Type Asynchronous
> Usage Type Data
> wMaxPacketSize 0x00e0 1x 224 bytes
> bInterval 1
> AudioStreaming Endpoint Descriptor:
> bLength 8
> bDescriptorType 37
> bDescriptorSubtype 1 (EP_GENERAL)
> bmAttributes 0x00
> bmControls 0x00
> bLockDelayUnits 0 Undefined
> wLockDelay 0x0000
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 3
> bAlternateSetting 0
> bNumEndpoints 0
> bInterfaceClass 1 Audio
> bInterfaceSubClass 2 Streaming
> bInterfaceProtocol 32
> iInterface 0
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 3
> bAlternateSetting 1
> bNumEndpoints 1
> bInterfaceClass 1 Audio
> bInterfaceSubClass 2 Streaming
> bInterfaceProtocol 32
> iInterface 0
> AudioStreaming Interface Descriptor:
> bLength 16
> bDescriptorType 36
> bDescriptorSubtype 1 (AS_GENERAL)
> bTerminalLink 64
> bmControls 0x00
> bFormatType 1
> bmFormats 0x00000001
> PCM
> bNrChannels 8
> bmChannelConfig 0x00000000
> iChannelNames 0
> AudioStreaming Interface Descriptor:
> bLength 6
> bDescriptorType 36
> bDescriptorSubtype 2 (FORMAT_TYPE)
> bFormatType 1 (FORMAT_TYPE_I)
> bSubslotSize 4
> bBitResolution 24
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x83 EP 3 IN
> bmAttributes 37
> Transfer Type Isochronous
> Synch Type Asynchronous
> Usage Type Implicit feedback Data
> wMaxPacketSize 0x00e0 1x 224 bytes
> bInterval 1
> AudioStreaming Endpoint Descriptor:
> bLength 8
> bDescriptorType 37
> bDescriptorSubtype 1 (EP_GENERAL)
> bmAttributes 0x00
> bmControls 0x00
> bLockDelayUnits 0 Undefined
> wLockDelay 0x0000
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 4
> 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 0x003d
> 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 0x02 EP 2 OUT
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 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 0x82 EP 2 IN
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
> bRefresh 0
> bSynchAddress 0
> MIDIStreaming Endpoint Descriptor:
> bLength 5
> bDescriptorType 37
> bDescriptorSubtype 1 (GENERAL)
> bNumEmbMIDIJack 1
> baAssocJackID( 0) 3
> Device Qualifier (for other device speed):
> bLength 10
> bDescriptorType 6
> bcdUSB 2.00
> bDeviceClass 0
> bDeviceSubClass 0
> bDeviceProtocol 0
> bMaxPacketSize0 64
> bNumConfigurations 1
> can't get debug descriptor: Resource temporarily unavailable
> Device Status: 0x0001
> Self Powered
>
>
> On Sun, 24 Nov 2019 at 23:07, nick83ola <nick83ola at gmail.com> wrote:
>
>> Hi Jens,
>> in my hx stomp with 2.82 firmware the USB id is the same and I'm not
>> experiencing any glitch.
>> Also some people on line6 confirm that the patch is working for hx stomp.
>> If on helix the situation is different you should submit a patch.
>>
>> Best Regards
>> Nicola Lunghi
>>
>> On Sun, 24 Nov 2019 at 13:41, Jens Verwiebe <info at jensverwiebe.de> wrote:
>>
>>> Back to the Helix once more .....
>>>
>>> I already informed Nicola about latest Line6 firmware 2.8 ff changes.
>>>
>>> All Helix devices seem to get a new product id due to the new core
>>> changes.
>>>
>>> Additionally we have now an endpoint 5 for HID support ( applied dump ).
>>> Not sure what we can make out of this
>>>
>>> cause a lack of investigation time. The audio endpoint descriptors are
>>> unchanged.
>>>
>>>
>>> The problem with not working implicite feedback stays, so i still use my
>>> arbitrary 48005 Hz hack.
>>>
>>> Without slight pop would ocure in audio, but still with this hack every
>>> 20 minutes i get a slight distortion which
>>>
>>> is no surprise.
>>>
>>> Can someone shed light here if an implicite feedback device should show
>>> the exact momentäry fequency ?
>>>
>>> Should i see also the 16.16 feedback format ?
>>>
>>> I looked through all code and 'am still stunned where the sync
>>>
>>> fails.
>>>
>>> Btw: i have also attached ioreg information from macOS if this helps
>>> someone to dig deeper. I dumped driverless
>>>
>>> "usb compliant" mode here with integer outcome for a quick overlook.
>>>
>>>
>>> This so far ... Jens
>>>
>>> --
>>>
>>> Jens Verwiebe
>>> Allerskehre 44 - 22309 Hamburg
>>>
>>> Tel.: +49 40 68 78 50
>>> mailto: info at jensverwiebe.de
>>> web: https://www.jensverwiebe.de
>>>
>>> _______________________________________________
>>> Alsa-devel mailing list
>>> Alsa-devel at alsa-project.org
>>> https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>>>
>>
More information about the Alsa-devel
mailing list