[alsa-devel] Line 6 Helix quirks

Jens Verwiebe info at jensverwiebe.de
Mon Nov 25 19:14:24 CET 2019


Hey Nick

The diff is a bit meanigless this way, do "sudo lsusb -vvvv -d 0e41:4246"

Then the device is opened and you should get some more info. Anyway, 
this will not bring

any new insight i think. I have to wait for a true usb expert.


Exept for the HID interface ( for key cmd's ) the Helix is fully the 
same descriptorwise.


Jens


Am 25.11.19 um 00:23 schrieb nick83ola:
> 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
>>>>
-- 

Jens Verwiebe
Allerskehre 44 - 22309 Hamburg

Tel.: +49 40 68 78 50
mailto: info at jensverwiebe.de
web: https://www.jensverwiebe.de



More information about the Alsa-devel mailing list