Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 381951 - sys-kernel/gentoo-sources-2.6.39-r3 : No sound from microphone of an Hercules usb webcam
Summary: sys-kernel/gentoo-sources-2.6.39-r3 : No sound from microphone of an Hercules...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: AMD64 Linux
: Normal normal
Assignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-09-05 16:16 UTC by Eric F. GARIOUD
Modified: 2012-01-31 18:16 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Update usbcore quirks with Hercules Dualpix Exchange webcam (gentoo-sources-3.1.6-aCOSwt-P3.patch,504 bytes, patch)
2012-01-05 17:12 UTC, Eric F. GARIOUD
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Eric F. GARIOUD 2011-09-05 16:16:24 UTC
======= 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
Comment 1 Eric F. GARIOUD 2011-09-06 13:37:44 UTC
Almost probably related : https://bugzilla.kernel.org/show_bug.cgi?id=39262
Comment 2 Pouya K 2011-09-20 05:40:02 UTC
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?
Comment 3 Pouya K 2011-09-20 06:03:32 UTC
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.
Comment 4 Mike Pagano gentoo-dev 2011-12-11 19:10:13 UTC
Ok, I think we then can close this as you are now working in an alternate port.
Comment 5 Eric F. GARIOUD 2012-01-05 12:13:29 UTC
(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.
Comment 6 Eric F. GARIOUD 2012-01-05 14:20:44 UTC
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.
Comment 7 Eric F. GARIOUD 2012-01-05 17:12:07 UTC
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.
Comment 8 Eric F. GARIOUD 2012-01-31 18:16:09 UTC
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...