alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Mike Oliphant <oliphant@nostatic.org>
To: Mailing Lists <maillist@superlative.org>
Cc: alsa-devel@alsa-project.org
Subject: Re: [alsa-devel] [PATCH] ALSA: usb-audio: Disable quirks for BOSS Katana amplifiers
Date: Wed, 14 Oct 2020 11:17:41 -0700	[thread overview]
Message-ID: <CAHXb3bdHc35WcC_4=wv_zRR_r-w4=boT1vbW0tZpYpn=Kb2-KA@mail.gmail.com> (raw)
In-Reply-To: <CAPMdQDmDzisnh1dqoE-Po4ALRRDwN1dxjQXYXeBuG+fN_gctzA@mail.gmail.com>

That's also what I see from dmesg when I use the quirk device ID patch. I'm
pretty sure it means that implicit feedback is not being enabled for your
device.

Since these devices are designed to work with implicit feedback, the ideal
solution would be to have them work by using it, rather than disabling it.

That said, patching the quirk code with the extra device IDs would make it
so they at least produce output...

The "fix" I'm currently using (linked to in my first response) makes the
implicit feedback code not wait to send data until it has received some. It
works perfectly for me, but success has been mixed for others so I didn't
feel comfortable submitting it as a patch.

FYI, I did a little write-up here:

http://blog.nostatic.org/2020/01/getting-boss-gt-1-effects-processor-to.html

It outlines my struggle with this issue - from trying the quirk ID patch,
to messing with the sample rate, and finally to modifying the implicit
feedback behavior.

Mike

On Wed, Oct 14, 2020 at 10:23 AM Mailing Lists <maillist@superlative.org>
wrote:

> Hi Mike,
> I'm getting this:
>
> [Oct14 18:21] snd_usb_audio:set_format: usb 1-4: setting usb interface 1:1
> [  +0.000003] snd_usb_audio:snd_usb_add_endpoint: usb 1-4: Re-using EP d
> in iface 1,1 @00000000d0aa6911
> [  +0.000018] snd_usb_audio:snd_usb_endpoint_set_params: usb 1-4: Setting
> params for ep #d (type 0, 3 urbs), ret=0
> [  +0.000002] snd_usb_audio:start_endpoints: usb 1-4: Starting data EP
> @00000000d0aa6911
>
> Cheers,
>
> Keith
>
> On Wed, 14 Oct 2020 at 17:46, Mike Oliphant <oliphant@nostatic.org> wrote:
>
>> Hi Keith,
>>
>> The lsusb output just shows that the endpoint is there, but not that it
>> is getting connected when the device is initialized. Can you check dmesg
>> output when you use the device for playback?
>>
>> This is what I see from dmesg when the implicit feedback endpoint is
>> being used:
>>
>> [   26.787360] usb 1-1.1: setting usb interface 1:1
>> [   26.787367] Creating new playback data endpoint #d
>> [   26.787375] Creating new capture data endpoint #8e
>> [   26.787678] usb 1-1.1: Setting params for ep #d (type 0, 12 urbs),
>> ret=0
>> [   26.787685] usb 1-1.1: match_endpoint_audioformats: (fmt @6bc43c84)
>> score 2
>> [   26.787745] usb 1-1.1: Setting params for ep #8e (type 0, 12 urbs),
>> ret=0
>> [   26.787751] usb 1-1.1: Starting data EP @a14130b5
>> [   26.788420] usb 1-1.1: Starting sync EP @720fb7cf
>>
>> Note the "Starting sync EP".
>>
>> Mike
>>
>> On Wed, Oct 14, 2020 at 9:35 AM Mailing Lists <maillist@superlative.org>
>> wrote:
>>
>>> On Wed, 14 Oct 2020 at 17:12, Mike Oliphant <oliphant@nostatic.org>
>>> wrote:
>>>
>>>> Keith - are you getting an implicit feedback endpoint created when you
>>>> run with the patch?
>>>>
>>>
>>> Hi Mike,
>>>
>>> It appears that I do. For reference I'm on kernel 5.4.0-51:
>>>
>>> Bus 001 Device 007: ID 0582:01d6 Roland Corp. GT-1
>>> Device Descriptor:
>>>  bLength                18
>>>  bDescriptorType         1
>>>  bcdUSB               2.00
>>>  bDeviceClass          255 Vendor Specific Class
>>>  bDeviceSubClass         0
>>>  bDeviceProtocol       255
>>>  bMaxPacketSize0        64
>>>  idVendor           0x0582 Roland Corp.
>>>  idProduct          0x01d6
>>>  bcdDevice            0.00
>>>  iManufacturer           1 BOSS
>>>  iProduct                2 GT-1
>>>  iSerial                 0
>>>  bNumConfigurations      1
>>>  Configuration Descriptor:
>>>    bLength                 9
>>>    bDescriptorType         2
>>>    wTotalLength       0x00bc
>>>    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       255 Vendor Specific Class
>>>      bInterfaceSubClass    255 Vendor Specific Subclass
>>>      bInterfaceProtocol      0
>>>      iInterface              0
>>>    Interface Descriptor:
>>>      bLength                 9
>>>      bDescriptorType         4
>>>      bInterfaceNumber        1
>>>      bAlternateSetting       0
>>>      bNumEndpoints           0
>>>      bInterfaceClass       255 Vendor Specific Class
>>>      bInterfaceSubClass      2
>>>      bInterfaceProtocol      2
>>>      iInterface              0
>>>      ** UNRECOGNIZED:  06 24 f1 01 00 00
>>>    Interface Descriptor:
>>>      bLength                 9
>>>      bDescriptorType         4
>>>      bInterfaceNumber        1
>>>      bAlternateSetting       1
>>>      bNumEndpoints           1
>>>      bInterfaceClass       255 Vendor Specific Class
>>>      bInterfaceSubClass      2
>>>      bInterfaceProtocol      2
>>>      iInterface              0
>>>      ** UNRECOGNIZED:  07 24 01 01 00 01 00
>>>      ** UNRECOGNIZED:  0b 24 02 01 02 04 18 01 44 ac 00
>>>      ** UNRECOGNIZED:  06 24 f1 04 16 00
>>>      Endpoint Descriptor:
>>>        bLength                 7
>>>        bDescriptorType         5
>>>        bEndpointAddress     0x0d  EP 13 OUT
>>>        bmAttributes            5
>>>          Transfer Type            Isochronous
>>>          Synch Type               Asynchronous
>>>          Usage Type               Data
>>>        wMaxPacketSize     0x0038  1x 56 bytes
>>>        bInterval               1
>>>    Interface Descriptor:
>>>      bLength                 9
>>>      bDescriptorType         4
>>>      bInterfaceNumber        2
>>>      bAlternateSetting       0
>>>      bNumEndpoints           0
>>>      bInterfaceClass       255 Vendor Specific Class
>>>      bInterfaceSubClass      2
>>>      bInterfaceProtocol      1
>>>      iInterface              0
>>>    Interface Descriptor:
>>>      bLength                 9
>>>      bDescriptorType         4
>>>      bInterfaceNumber        2
>>>      bAlternateSetting       1
>>>      bNumEndpoints           1
>>>      bInterfaceClass       255 Vendor Specific Class
>>>      bInterfaceSubClass      2
>>>      bInterfaceProtocol      1
>>>      iInterface              0
>>>      ** UNRECOGNIZED:  07 24 01 07 00 01 00
>>>      ** UNRECOGNIZED:  0b 24 02 01 02 04 18 01 44 ac 00
>>>      ** UNRECOGNIZED:  06 24 f1 04 16 00
>>>      Endpoint Descriptor:
>>>        bLength                 7
>>>        bDescriptorType         5
>>>        bEndpointAddress     0x8e  EP 14 IN
>>>        bmAttributes           37
>>>          Transfer Type            Isochronous
>>>          Synch Type               Asynchronous
>>>          Usage Type               Implicit feedback Data
>>>        wMaxPacketSize     0x0038  1x 56 bytes
>>>        bInterval               1
>>>    Interface Descriptor:
>>>      bLength                 9
>>>      bDescriptorType         4
>>>      bInterfaceNumber        3
>>>      bAlternateSetting       0
>>>      bNumEndpoints           2
>>>      bInterfaceClass       255 Vendor Specific Class
>>>      bInterfaceSubClass      3
>>>      bInterfaceProtocol      0
>>>      iInterface              0
>>>      ** UNRECOGNIZED:  06 24 f1 02 01 01
>>>      Endpoint Descriptor:
>>>        bLength                 7
>>>        bDescriptorType         5
>>>        bEndpointAddress     0x03  EP 3 OUT
>>>        bmAttributes            2
>>>          Transfer Type            Bulk
>>>          Synch Type               None
>>>          Usage Type               Data
>>>        wMaxPacketSize     0x0200  1x 512 bytes
>>>        bInterval               1
>>>      Endpoint Descriptor:
>>>        bLength                 7
>>>        bDescriptorType         5
>>>        bEndpointAddress     0x84  EP 4 IN
>>>        bmAttributes            2
>>>          Transfer Type            Bulk
>>>          Synch Type               None
>>>          Usage Type               Data
>>>        wMaxPacketSize     0x0200  1x 512 bytes
>>>        bInterval               0
>>>    Interface Descriptor:
>>>      bLength                 9
>>>      bDescriptorType         4
>>>      bInterfaceNumber        3
>>>      bAlternateSetting       1
>>>      bNumEndpoints           2
>>>      bInterfaceClass       255 Vendor Specific Class
>>>      bInterfaceSubClass      3
>>>      bInterfaceProtocol      0
>>>      iInterface              0
>>>      Endpoint Descriptor:
>>>        bLength                 7
>>>        bDescriptorType         5
>>>        bEndpointAddress     0x03  EP 3 OUT
>>>        bmAttributes            3
>>>          Transfer Type            Interrupt
>>>          Synch Type               None
>>>          Usage Type               Data
>>>        wMaxPacketSize     0x0200  1x 512 bytes
>>>        bInterval               4
>>>      Endpoint Descriptor:
>>>        bLength                 7
>>>        bDescriptorType         5
>>>        bEndpointAddress     0x85  EP 5 IN
>>>        bmAttributes            3
>>>          Transfer Type            Interrupt
>>>          Synch Type               None
>>>          Usage Type               Data
>>>        wMaxPacketSize     0x0200  1x 512 bytes
>>>        bInterval               4
>>> Device Qualifier (for other device speed):
>>>  bLength                10
>>>  bDescriptorType         6
>>>  bcdUSB               2.00
>>>  bDeviceClass          255 Vendor Specific Class
>>>  bDeviceSubClass         0
>>>  bDeviceProtocol       255
>>>  bMaxPacketSize0        64
>>>  bNumConfigurations      1
>>> can't get debug descriptor: Resource temporarily unavailable
>>> Device Status:     0x0001
>>>  Self Powered
>>>
>>>
>>> --
>>> Keith A Milner
>>>
>>
>
> --
> --
> Keith A Milner
>

  reply	other threads:[~2020-10-14 18:18 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20191011171937.8013-1-szszoke.code@gmail.com>
2019-10-17  8:19 ` [alsa-devel] [PATCH] ALSA: usb-audio: Disable quirks for BOSS Katana amplifiers Takashi Iwai
2019-10-17 14:38   ` Szabolcs Szőke
2020-10-14 12:17   ` Mailing Lists
2020-10-14 13:09     ` Takashi Iwai
2020-10-14 13:33       ` Mailing Lists
2020-10-14 13:47         ` Takashi Iwai
2020-10-14 13:56           ` Mailing Lists
2020-10-14 14:00             ` Takashi Iwai
2020-10-14 14:31               ` Mailing Lists
2020-10-14 14:55                 ` Takashi Iwai
2020-10-14 15:19     ` Mike Oliphant
2020-10-14 15:35       ` Mailing Lists
2020-10-14 16:11         ` Mike Oliphant
2020-10-14 16:34           ` Mailing Lists
2020-10-14 16:46             ` Mike Oliphant
2020-10-14 17:23               ` Mailing Lists
2020-10-14 18:17                 ` Mike Oliphant [this message]
2020-10-14 20:57                   ` Keith Milner
2020-10-14 21:49                     ` Mike Oliphant
2020-10-15 12:37                       ` Takashi Iwai
2020-10-16  1:21                         ` Mike Oliphant

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='CAHXb3bdHc35WcC_4=wv_zRR_r-w4=boT1vbW0tZpYpn=Kb2-KA@mail.gmail.com' \
    --to=oliphant@nostatic.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=maillist@superlative.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).