All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Takashi Iwai <tiwai@suse.de>
Cc: linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org,
	linux-usb@vger.kernel.org, Takashi Iwai <tiwai@suse.com>
Subject: Re: [PATCH] ALSA: usb-audio: allow -EPIPE errors for some v2 messages
Date: Thu, 14 Oct 2021 12:56:26 +0200	[thread overview]
Message-ID: <YWgM2jI94fZLfP09@kroah.com> (raw)
In-Reply-To: <s5hsfx61imj.wl-tiwai@suse.de>

On Tue, Oct 12, 2021 at 03:24:04PM +0200, Takashi Iwai wrote:
> On Tue, 12 Oct 2021 14:41:44 +0200,
> Greg Kroah-Hartman wrote:
> > 
> > On Tue, Oct 12, 2021 at 09:35:16AM +0200, Takashi Iwai wrote:
> > > On Mon, 11 Oct 2021 19:23:05 +0200,
> > > Greg Kroah-Hartman wrote:
> > > > 
> > > > On Mon, Oct 11, 2021 at 06:07:01PM +0200, Takashi Iwai wrote:
> > > > > Could you also post the contents of /proc/asound/card*/usbmixer (only
> > > > > for the corresponding device), too?
> > > > 
> > > > Sure, here it is:
> > > > 
> > > > USB Mixer: usb_id=0x30be0101, ctrlif=0, ctlerr=0
> > > > Card: Schiit Audio Schiit Hel at usb-0000:47:00.1-2.2, high speed
> > > >   Unit: 5
> > > >     Control: name="Mic - Input Jack", index=0
> > > >     Info: id=5, control=2, cmask=0x0, channels=1, type="BOOLEAN"
> > > >     Volume: min=0, max=1, dBmin=0, dBmax=0
> > > >   Unit: 7
> > > >     Control: name="Speaker - Output Jack", index=0
> > > >     Info: id=7, control=2, cmask=0x0, channels=1, type="BOOLEAN"
> > > >     Volume: min=0, max=1, dBmin=0, dBmax=0
> > > >   Unit: 13
> > > >     Control: name="PCM Playback Switch", index=0
> > > >     Info: id=13, control=1, cmask=0x0, channels=1, type="INV_BOOLEAN"
> > > >     Volume: min=0, max=1, dBmin=0, dBmax=0
> > > >   Unit: 17
> > > >     Control: name="Mic Capture Switch", index=0
> > > >     Info: id=17, control=1, cmask=0x0, channels=1, type="INV_BOOLEAN"
> > > >     Volume: min=0, max=1, dBmin=0, dBmax=0
> > > >   Unit: 18
> > > >     Control: name="Clock Source 18 Validity", index=0
> > > >     Info: id=18, control=2, cmask=0x0, channels=1, type="BOOLEAN"
> > > >     Volume: min=0, max=1, dBmin=0, dBmax=0
> > > >   Unit: 22
> > > >     Control: name="Clock Source 22 Validity", index=0
> > > >     Info: id=22, control=2, cmask=0x0, channels=1, type="BOOLEAN"
> > > >     Volume: min=0, max=1, dBmin=0, dBmax=0
> > > 
> > > Hm, I expected more exotic control that failed, but it was Mic Capture
> > > Switch, which should be treated normally.
> > > 
> > > Could you try the patch below?  This will still show other warning
> > > messages, but it'll forcibly initialize the mixer elements at probe
> > > time, and the rest should work.
> > > 
> > > Once after it's confirmed to work, we may shut up the device warnings
> > > with a quirk.
> > 
> > Only one warning message shows up, here's the dmesg with this patch
> > applied:
> > 
> > 
> > [Oct12 14:39] usb 7-2.2: new high-speed USB device number 10 using xhci_hcd
> > [  +0.123157] 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.000003] usb 7-2.2: Product: Schiit Hel
> > [  +0.000002] usb 7-2.2: Manufacturer: Schiit Audio
> > [  +0.339785] usb 7-2.2: 17:0: failed to get current value for ch 0 (-32)
> > [  +0.020373] 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.000B/input/input24
> > [  +0.056868] hid-generic 0003:30BE:0101.000B: input,hidraw6: USB HID v1.00 Device [Schiit Audio Schiit Hel] on usb-0000:47:00.1-2.2/input3
> 
> OK, then the problem is only about this unit and about the master
> channel.
> 
> > I don't see a "mic capture switch" on this device, but maybe it triggers
> > when I plug a mic into the microphone port, which is currently empty?
> 
> This should be persistent and visible; try to run "amixer -c1" (or the
> different card index for the device).
> 
> So far, so good.  The only remaining piece is how this -EPIPE error
> comes up.  Is this a protocol stall error or such?  Would it be
> avoided by adding the delay like done for some devices?
> 
> With the 5.15-rc kernel, you can pass quirk_flags option to
> snd-usb-audio module for applying known quirks.
> e.g. quirk_flags=0x100 will set the 1msec delay at each control
> message.  Please check whether it makes any difference.
> The option is an integer array for multiple devices, so if you have
> multiple USB-audio devices, put at the appropriate position in the
> array (e.g. quirk_flags=,,0x100 for the 3rd slot).

This quirk did not work.  Well, it caused the error to show up after a
delay, but the error is still there.

> The quirk bit 0x4000 will shut up the control errors.  If the above
> doesn't fix the warning and the device is working more or less, set
> this quirk to shut up the warning.  It can be set statically in the
> table at the end in sound/usb/quirks.c.

This quirk did work in that the error messages are still in the kernel
log, but the device seems to work properly now.

Let me send a patch that adds this device to the quirk table.

thanks for your help,

greg k-h

WARNING: multiple messages have this Message-ID (diff)
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Takashi Iwai <tiwai@suse.de>
Cc: Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
	alsa-devel@alsa-project.org, linux-usb@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] ALSA: usb-audio: allow -EPIPE errors for some v2 messages
Date: Thu, 14 Oct 2021 12:56:26 +0200	[thread overview]
Message-ID: <YWgM2jI94fZLfP09@kroah.com> (raw)
In-Reply-To: <s5hsfx61imj.wl-tiwai@suse.de>

On Tue, Oct 12, 2021 at 03:24:04PM +0200, Takashi Iwai wrote:
> On Tue, 12 Oct 2021 14:41:44 +0200,
> Greg Kroah-Hartman wrote:
> > 
> > On Tue, Oct 12, 2021 at 09:35:16AM +0200, Takashi Iwai wrote:
> > > On Mon, 11 Oct 2021 19:23:05 +0200,
> > > Greg Kroah-Hartman wrote:
> > > > 
> > > > On Mon, Oct 11, 2021 at 06:07:01PM +0200, Takashi Iwai wrote:
> > > > > Could you also post the contents of /proc/asound/card*/usbmixer (only
> > > > > for the corresponding device), too?
> > > > 
> > > > Sure, here it is:
> > > > 
> > > > USB Mixer: usb_id=0x30be0101, ctrlif=0, ctlerr=0
> > > > Card: Schiit Audio Schiit Hel at usb-0000:47:00.1-2.2, high speed
> > > >   Unit: 5
> > > >     Control: name="Mic - Input Jack", index=0
> > > >     Info: id=5, control=2, cmask=0x0, channels=1, type="BOOLEAN"
> > > >     Volume: min=0, max=1, dBmin=0, dBmax=0
> > > >   Unit: 7
> > > >     Control: name="Speaker - Output Jack", index=0
> > > >     Info: id=7, control=2, cmask=0x0, channels=1, type="BOOLEAN"
> > > >     Volume: min=0, max=1, dBmin=0, dBmax=0
> > > >   Unit: 13
> > > >     Control: name="PCM Playback Switch", index=0
> > > >     Info: id=13, control=1, cmask=0x0, channels=1, type="INV_BOOLEAN"
> > > >     Volume: min=0, max=1, dBmin=0, dBmax=0
> > > >   Unit: 17
> > > >     Control: name="Mic Capture Switch", index=0
> > > >     Info: id=17, control=1, cmask=0x0, channels=1, type="INV_BOOLEAN"
> > > >     Volume: min=0, max=1, dBmin=0, dBmax=0
> > > >   Unit: 18
> > > >     Control: name="Clock Source 18 Validity", index=0
> > > >     Info: id=18, control=2, cmask=0x0, channels=1, type="BOOLEAN"
> > > >     Volume: min=0, max=1, dBmin=0, dBmax=0
> > > >   Unit: 22
> > > >     Control: name="Clock Source 22 Validity", index=0
> > > >     Info: id=22, control=2, cmask=0x0, channels=1, type="BOOLEAN"
> > > >     Volume: min=0, max=1, dBmin=0, dBmax=0
> > > 
> > > Hm, I expected more exotic control that failed, but it was Mic Capture
> > > Switch, which should be treated normally.
> > > 
> > > Could you try the patch below?  This will still show other warning
> > > messages, but it'll forcibly initialize the mixer elements at probe
> > > time, and the rest should work.
> > > 
> > > Once after it's confirmed to work, we may shut up the device warnings
> > > with a quirk.
> > 
> > Only one warning message shows up, here's the dmesg with this patch
> > applied:
> > 
> > 
> > [Oct12 14:39] usb 7-2.2: new high-speed USB device number 10 using xhci_hcd
> > [  +0.123157] 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.000003] usb 7-2.2: Product: Schiit Hel
> > [  +0.000002] usb 7-2.2: Manufacturer: Schiit Audio
> > [  +0.339785] usb 7-2.2: 17:0: failed to get current value for ch 0 (-32)
> > [  +0.020373] 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.000B/input/input24
> > [  +0.056868] hid-generic 0003:30BE:0101.000B: input,hidraw6: USB HID v1.00 Device [Schiit Audio Schiit Hel] on usb-0000:47:00.1-2.2/input3
> 
> OK, then the problem is only about this unit and about the master
> channel.
> 
> > I don't see a "mic capture switch" on this device, but maybe it triggers
> > when I plug a mic into the microphone port, which is currently empty?
> 
> This should be persistent and visible; try to run "amixer -c1" (or the
> different card index for the device).
> 
> So far, so good.  The only remaining piece is how this -EPIPE error
> comes up.  Is this a protocol stall error or such?  Would it be
> avoided by adding the delay like done for some devices?
> 
> With the 5.15-rc kernel, you can pass quirk_flags option to
> snd-usb-audio module for applying known quirks.
> e.g. quirk_flags=0x100 will set the 1msec delay at each control
> message.  Please check whether it makes any difference.
> The option is an integer array for multiple devices, so if you have
> multiple USB-audio devices, put at the appropriate position in the
> array (e.g. quirk_flags=,,0x100 for the 3rd slot).

This quirk did not work.  Well, it caused the error to show up after a
delay, but the error is still there.

> The quirk bit 0x4000 will shut up the control errors.  If the above
> doesn't fix the warning and the device is working more or less, set
> this quirk to shut up the warning.  It can be set statically in the
> table at the end in sound/usb/quirks.c.

This quirk did work in that the error messages are still in the kernel
log, but the device seems to work properly now.

Let me send a patch that adds this device to the quirk table.

thanks for your help,

greg k-h

  reply	other threads:[~2021-10-14 10:57 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-10 12:22 [PATCH] ALSA: usb-audio: allow -EPIPE errors for some v2 messages Greg Kroah-Hartman
2021-10-10 20:25 ` Takashi Iwai
2021-10-10 20:25   ` Takashi Iwai
2021-10-11 15:28   ` Greg Kroah-Hartman
2021-10-11 15:28     ` Greg Kroah-Hartman
2021-10-11 16:07     ` Takashi Iwai
2021-10-11 16:07       ` Takashi Iwai
2021-10-11 17:23       ` Greg Kroah-Hartman
2021-10-11 17:23         ` Greg Kroah-Hartman
2021-10-12  7:35         ` Takashi Iwai
2021-10-12  7:35           ` Takashi Iwai
2021-10-12 12:41           ` Greg Kroah-Hartman
2021-10-12 12:41             ` Greg Kroah-Hartman
2021-10-12 13:24             ` Takashi Iwai
2021-10-12 13:24               ` Takashi Iwai
2021-10-14 10:56               ` Greg Kroah-Hartman [this message]
2021-10-14 10:56                 ` Greg Kroah-Hartman
2021-10-14 11:21                 ` Greg Kroah-Hartman
2021-10-14 11:21                   ` Greg Kroah-Hartman
2021-10-14 11:38                 ` Takashi Iwai
2021-10-14 11:38                   ` Takashi Iwai
2021-10-14 12:28                   ` Greg Kroah-Hartman
2021-10-14 12:28                     ` Greg Kroah-Hartman

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=YWgM2jI94fZLfP09@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=tiwai@suse.com \
    --cc=tiwai@suse.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.