lkml.org 
[lkml]   [2021]   [Oct]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] ALSA: usb-audio: allow -EPIPE errors for some v2 messages
    On Mon, 11 Oct 2021 17:28:15 +0200,
    Greg Kroah-Hartman wrote:
    >
    > On Sun, Oct 10, 2021 at 10:25:09PM +0200, Takashi Iwai wrote:
    > > On Sun, 10 Oct 2021 14:22:41 +0200,
    > > Greg Kroah-Hartman wrote:
    > > >
    > > > The Schiit Hel device does not like to respond to all get_ctl_value_v2()
    > > > requests for some reason. This used to work in older kernels, but now
    > > > with more strict checking, this failure causes the device to fail to
    > > > work.
    > > >
    > > > Cc: Jaroslav Kysela <perex@perex.cz>
    > > > Cc: Takashi Iwai <tiwai@suse.com>
    > > > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    > > > ---
    > > >
    > > > This fixes the Shiit Hel device that I have. It used to work on older
    > > > kernels (a year ago?), but stopped working for some reason and I didn't
    > > > take the time to track it down. This change fixes the issue for me, but
    > > > feels wrong for some reason. At least now I can use the device as a
    > > > headphone driver, much better than the built-in one for my current
    > > > machine...
    > > >
    > > > If needed, I can take the time to do bisection to track down the real
    > > > issue here, it might be due to stricter endpoint checking in the USB
    > > > core, but that feels wrong somehow.
    > > >
    > > > Here's the debugfs USB output for this device, showing the endpoints:
    > > >
    > > > T: Bus=07 Lev=02 Prnt=02 Port=01 Cnt=01 Dev#= 5 Spd=480 MxCh= 0
    > > > D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1
    > > > P: Vendor=30be ProdID=0101 Rev=01.02
    > > > S: Manufacturer=Schiit Audio
    > > > S: Product=Schiit Hel
    > > > C: #Ifs= 4 Cfg#= 1 Atr=c0 MxPwr=0mA
    > > > I: If#= 0 Alt= 0 #EPs= 1 Cls=01(audio) Sub=01 Prot=20 Driver=snd-usb-audio
    > > > E: Ad=8f(I) Atr=03(Int.) MxPS= 6 Ivl=1ms
    > > > I: If#= 1 Alt= 1 #EPs= 2 Cls=01(audio) Sub=02 Prot=20 Driver=snd-usb-audio
    > > > E: Ad=05(O) Atr=05(Isoc) MxPS= 104 Ivl=125us
    > > > E: Ad=85(I) Atr=11(Isoc) MxPS= 4 Ivl=1ms
    > > > I: If#= 2 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=20 Driver=snd-usb-audio
    > > > E: Ad=88(I) Atr=05(Isoc) MxPS= 156 Ivl=125us
    > > > I: If#= 3 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid
    > > > E: Ad=84(I) Atr=03(Int.) MxPS= 16 Ivl=1ms
    > > >
    > > > Any other suggestions to fix this are welcome.
    > >
    > > Could you show the exact error messages and lsusb -v output?
    > > We may paper over only the problematic node instead.
    >
    > Sure, here's the dmesg output on 5.15-rc5 when it is turned on:
    >
    > [Oct11 17:25] usb 7-2.2: new high-speed USB device number 9 using xhci_hcd
    > [ +0.122422] usb 7-2.2: New USB device found, idVendor=30be, idProduct=0101, bcdDevice= 1.02
    > [ +0.000009] usb 7-2.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    > [ +0.000002] usb 7-2.2: Product: Schiit Hel
    > [ +0.000002] usb 7-2.2: Manufacturer: Schiit Audio
    > [ +0.327172] input: Schiit Audio Schiit Hel as /devices/pci0000:40/0000:40:01.1/0000:41:00.0/0000:42:08.0/0000:47:00.1/usb7/7-2/7-2.2/7-2.2:1.3/0003:30BE:0101.0009/input/input21
    > [ +0.055134] hid-generic 0003:30BE:0101.0009: input,hidraw8: USB HID v1.00 Device [Schiit Audio Schiit Hel] on usb-0000:47:00.1-2.2/input3
    > [ +0.135988] usb 7-2.2: cannot get ctl value: req = 0x81, wValue = 0x100, wIndex = 0x1100, type = 1
    > [ +0.060647] usb 7-2.2: cannot get ctl value: req = 0x81, wValue = 0x100, wIndex = 0x1100, type = 1
    > [ +0.065362] usb 7-2.2: cannot get ctl value: req = 0x81, wValue = 0x100, wIndex = 0x1100, type = 1
    > [ +0.192121] usb 7-2.2: cannot get ctl value: req = 0x81, wValue = 0x100, wIndex = 0x1100, type = 1

    Thanks. So this happens at the unit 17, and ...


    > And here is the 'lsusb -v' output of the device.
    >
    >
    > Bus 007 Device 009: ID 30be:0101 Schiit Audio Schiit Hel
    (snip)
    > AudioControl Interface Descriptor:
    > bLength 18
    > bDescriptorType 36
    > bDescriptorSubtype 6 (FEATURE_UNIT)
    > bUnitID 17
    > bSourceID 5
    > bmaControls(0) 0x00000003
    > Mute Control (read/write)
    > bmaControls(1) 0x00000000
    > bmaControls(2) 0x00000000
    > iFeature 0

    ... this is the entry.

    Could you also post the contents of /proc/asound/card*/usbmixer (only
    for the corresponding device), too?


    thanks,

    Takashi

    \
     
     \ /
      Last update: 2021-10-11 18:08    [W:2.942 / U:0.628 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site