======= About The device ===== The Device "Hercules Dualpix exchange" is a webcam with an internal microphone and a led. It is driven under Gentoo thanks principally to the following kernel parameters : CONFIG_USB_VIDEO_CLASS = y CONFIG_SND_USB_AUDIO = y ===== Under gentoo-sources-2.6.39-r3 ===== + The led flashes at boot time + Skype displays the images from the cam - Skype does not input any sound from the mic - arecord does not input any sound from the mic ===== Under gentoo-sources-2.6.38-r6 or 2.6.37-r4 ===== + The led flashes at boot time + Skype displays the images from the cam + Skype does input sound from the mic + arecord does input sound from the mic Reproducible: Always ========= Relevant traces from system log when booting 2.6.39-r3 ======= [kernel] usbcore registered new interface driver uvcvideo [kernel] USB Video Class driver (v1.0.0) [kernel] usbcore registered new interface driver snd-usb-audio [kernel] usb 2-5 New USB device found, idVendor=06f8, idProduct=3005 [kernel] usb 2-5 New USB device strings: Mfr=2, Product=1, SerialNumber=0 [kernel] usb 2-5 Product: Hercules Dualpix Exchange [kernel] usb 2-5 Manufacturer: Guillemot Corporation [kernel] uvcvideo Found UVC 1.00 device Hercules Dualpix Exchange (06f8:3005) [kernel] 4 :1: cannot get freq at ep 0x84 ========= Relevant traces from system log when booting 2.6.38-r6 ======= [kernel] Linux video capture interface v2.00 [kernel] usbcore registered new interface driver uvcvideo [kernel] USB Video Class driver (v1.0.0) [kernel] usbcore registered new interface driver snd-usb-audio [kernel] usb 2-5 New USB device found, idVendor=06f8, idProduct=3005 [kernel] usb 2-5 New USB device strings: Mfr=2, Product=1, SerialNumber=0 [kernel] usb 2-5 Product: Hercules Dualpix Exchange [kernel] usb 2-5 Manufacturer: Guillemot Corporation [kernel] uvcvideo Found UVC 1.00 device Hercules Dualpix Exchange (06f8:3005) [kernel] 4 :1: cannot get freq at ep 0x84
Almost probably related : https://bugzilla.kernel.org/show_bug.cgi?id=39262
Here is a forum post about this bug: http://forums.gentoo.org/viewtopic-t-893318.html The user there was able to fix it by re-merging libv4l but that does not work for me. Perhaps app-emulation/emul-linux-x86-medialibs needs to be updated?
It looks like my problem was unrelated... I was getting the following errors in dmesg when using arecord: cannot submit datapipe for urb 0, error -28: not enough bandwidth and after some looking around found it was due to some usb issue and plugging into a different port fixed it for me. plugging back into the previous port returned the problem, so it doesn't seem to have been the act of removing and reinserting.
Ok, I think we then can close this as you are now working in an alternate port.
(In reply to comment #4) > Ok, I think we then can close this as you are now working in an alternate port. Sorry for the noise but I am afraid I must reopen this bug. As a matter of fact, Mike Pagano has closed it because pouya K's trouble was solved but pouya K's problem was definitely unrelated to the one that triggered the opening of this bug. This bug is still occurring under gentoo-sources 3.1.6 that I am currently testing. This bug is actually related to the bugzilla.kernel.org bug quoted as See Also. A patch had been proposed as part of this bug report but I cannot find any mean to put the hand on it.
After "playing" with misc CONFIG_USB_xyz under 3.1.6, I discover that de-selecting CONFIG_USB_SUSPEND solves definitely and systematically the problem. This would tend to prove that the bug is more likely within the runtime power management code that within the usb sound subsystem as I thought initially.
Created attachment 298025 [details, diff] Update usbcore quirks with Hercules Dualpix Exchange webcam Of course it is a pity to disable power management for all USB devices. So I wanted to update the list of usbcore quirks and realized that the Hercules Dualpix Exchange webcam is already recorded but... with an incorrect Product ID. (0x0804 instead of 0x3005) The patch I propose updates drivers/usb/core/quirks.c with the correct Product ID for this device, this permitting to re-enable CONFIG_USB_SUSPEND. Works for me under x86_64 / 3.1.6. Did not test for also concerned 2.6.39 & 3.0 versions.
3.2.1 drivers/usb/core/quirks.c takes into account the correct product ID for this device. So according to the wording of the bug we can now consider it resolved fixed despite it is somehow hard to consider that extending a quirks list actually fixes a bug...