At Tue, 3 Jul 2012 10:40:51 +0200, Philipp Dreimann wrote:
On 3 July 2012 10:27, Takashi Iwai tiwai@suse.de wrote:
At Tue, 3 Jul 2012 10:20:13 +0200, Philipp Dreimann wrote:
On 3 July 2012 10:00, Takashi Iwai tiwai@suse.de wrote:
At Tue, 3 Jul 2012 09:41:09 +0200, Philipp Dreimann wrote:
On 2 July 2012 14:10, Daniel Mack zonque@gmail.com wrote:
On 01.07.2012 13:40, Philipp Dreimann wrote: > Hello, > > my usb webcam, which happens to have a microphone too, stopped working > using usb2 since I tried kernel 3.5-rc2. (It works using usb3.)
Please try 3.5-rc5. A number of regressions were fixed just recently.
Let me know if that version still causes problems.
It still does.
Try to pass ignore_ctl_error=1 to snd-usb-audio module. If this works and no other problem happens, we can add a similar quirk like some Logitech webcams.
This does not seem to help.
And webcam itself is working with our without snd-usb-audio module?
Yes, if I blacklist the module, the webcam works fine.
Which device at all?
logitech c910
Too little information to analyze.
You guys tell me what you need to know.
Try the patch below. If it still doesn't work, give the kernel message again and lsusb -v output, too.
thanks,
Takashi
--- diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c index 54607f8..f0ede13 100644 --- a/sound/usb/pcm.c +++ b/sound/usb/pcm.c @@ -387,7 +387,7 @@ add_sync_ep: subs->data_endpoint->sync_master = subs->sync_endpoint; }
- if ((err = snd_usb_init_pitch(subs->stream->chip, subs->interface, alts, fmt)) < 0) + if ((err = snd_usb_init_pitch(subs->stream->chip, fmt->iface, alts, fmt)) < 0) return err;
subs->cur_audiofmt = fmt; @@ -450,7 +450,7 @@ static int snd_usb_hw_params(struct snd_pcm_substream *substream, struct usb_interface *iface; iface = usb_ifnum_to_if(subs->dev, fmt->iface); alts = &iface->altsetting[fmt->altset_idx]; - ret = snd_usb_init_sample_rate(subs->stream->chip, subs->interface, alts, fmt, rate); + ret = snd_usb_init_sample_rate(subs->stream->chip, fmt->iface, alts, fmt, rate); if (ret < 0) return ret; subs->cur_rate = rate;