[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