Some Logitech web-cams have serious problems all of the last kernel revisions (somewhere since 2.6.26 kernel revision). Sometimes when user starts its Linux OS things with web-cam go bad. Symptoms are "Waiting for sound system to respond" when clicking at the sound icon in system tray and ton of "cannot set freq 16000 to ep 0x86" in your /var/log/kern.log. What solves this problem when this occurs is removing snd-usb-audio kernel module from kernel and plugging it back. Cause of this bug is still unknown, and some say it is a bug in some Logitech webcam firmwares which gets triggered by something in Linux boot process. Lets work around it on Debian, Ubuntu and its derivatives...
Attached to this post there is a script designed to be run at the end of boot process that checks last 30 lines of /var/log/kern.log. If it founds more than 3 occurrences of "cannot set freq 16000 to ep 0x86", snd-usb-audio module is ripped out of kernel and plugged back five seconds latter. Did your webcam made troubles during boot process you can check in your /var/log/messages cause script will write to that log file when it starts and if it found problems or not. Procedure is as follows:
Step 1. - Downloading and extracting
You must download my script by clicking on the link at the end of this article. In tar.bz2 file there is a scrip you must extract before using. Start you terminal program and navigate to a folder where you stored the ubuntu-bug459445-workaround.sh.tar.bz2 file and type:tar -xjvf ubuntu-bug459445-workaround.sh.tar.bz2 |
Step 2. - Adding to be run at boot
After you have extracted ubuntu-bug459445-workaround.sh script we must make our script executable and put it to be run at boot by issuing this commands:
chmod +x ubuntu-bug459445-workaround.sh sudo cp ubuntu-bug459445-workaround.sh /etc/init.d/ sudo update-rc.d ubuntu-bug459445-workaround.sh start 99 2 3 4 5 . |
Now we have worked around this problem. But still you should go to your distribution bug site and file bug report if report doesn't exists so this problem could be fixed for real. For Ubuntu go to Ubuntu bug #459445 and for Fedora please go to Red Hat bug #544554
If you have found problems with this script or you have question please comment here by clicking on the link in upper right corner of this post. Please do the same thing if you find better workaround.Here is the DOWNLOAD LINK
Now if you want to tweak your webcam settings you can do so by using GUI:
Webcam settings control on Ubuntu Linux operating systemYou can even use Linux terminal to control your webcam settings. More info in my following article:
Webcam settings on Ubuntu and Fedora Linux CLI from terminal
Ubuntu 10.04 64/bit – When running update-rc.d with the workaround.sh you provided it tells me that LSBInitScript with the following fields needs to at the beginning of your script. I’ve attempted to add this using the example they give but no joy.
### BEGIN INIT INFO
# Provides:
# Required-Start:
# Required-Stop:
# Default-Start:
# Default-Stop:
# Short-Description:
# Description:
### END INIT INFO
LSBInitScrips should be able to start and stop on demand. For this script this is not applicable because we want it to run at boot and finish (stop routine is not necessary). Because of that I have left this non-mandatory info fields empty, and update-rc.d complains about that. The script is being set to run at boot correctly even it is without those non applicable fields.
Marko – this worked great (with some complaints from the system similar to Bob’s experience) and wish I had found it 6 months ago!!
Only thing I changed was the frequency to 48000 as that’s what I was seeing in the logs.
I also made note of this on Launchpad so hopefully more people will enjoy the fix. Thanks again!!
Just to let anyone know who might be googling in: the latest kernel 3.8.2 seems to fix this. You can install the later kernel with this info: http://www.upubuntu.com/2013/03/install-linux-kernel-382-in-ubuntulinux.html
I was having the same “cannot set freq 16000 to ep 0×86″ issue for ages. My kernel version was 3.5.0
You can check your kernel version by typing “uname -a”
Are you sure about this? I read the changelog but I find no reference to something related to snd-usb-audio. Well I’ll test as soon as possible, thanks.
Doesn’t seem fixed to me.
[3326061.779989] 17:3:3: cannot set freq 16000 to ep 0x86
craig@home:~/doc$ uname -a
Linux home 3.11.0-13-generic #20-Ubuntu SMP Wed Oct 23 07:38:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
Dont know what this mean:
~# update-rc.d ubuntu-bug459445-workaround.sh start 99 2 3 4 5 .
update-rc.d: using dependency based boot sequencing
insserv: warning: script ‘ubuntu-bug459445-workaround.sh’ missing LSB tags and overrides
Similar problem with Logitech C270 Webcam in Ubuntu 13.04 _Raring Ringtail_ – Release amd64 (20130424): cannot set freq 48000 to ep 0x86. This release comes with kernel 3.8.0-19.
I’ve tested newer kernels:
v3.9.11-saucy/ – BUGGY
v3.10-rc1-saucy/ – Won’t boot
v3.10-rc2-saucy/ – Won’t boot
v3.10-rc3-saucy/ – Partial fixed. The message doesn’t seem to appear anymore, in Unity I see that the microphone receives sound, but arecord can’t record it. [1]
v3.10-rc4-saucy/ – have’t tested it
v3.10-rc5-saucy/ – seems to work [2]
v3.11-rc2-saucy/ – seem ok too.
Linux a 3.10.0-031000rc3-generic #201305261935 SMP Sun May 26 23:35:53 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[ 41.198496] usb 2-2: new high-speed USB device number 3 using ehci-pci
[ 41.546591] usb 2-2: New USB device found, idVendor=046d, idProduct=0825
[ 41.546595] usb 2-2: New USB device strings: Mfr=0, Product=0, SerialNumber=2
[ 41.546597] usb 2-2: SerialNumber: A49568E0
[ 41.546879] uvcvideo: Found UVC 1.00 device (046d:0825)
[ 41.643274] input: UVC Camera (046d:0825) as /devices/pci0000:00/0000:00:13.2/usb2/2-2/2-2:1.0/input/input14
[ 41.672696] usb_audio: Warning! Unlikely big volume range (=6144), cval->res is probably wrong.
[ 41.672698] usb_audio: [5] FU [Mic Capture Volume] ch = 1, val = 1536/7680/1[ 57.272287] usb 2-2: USB disconnect, device number 3
Linux a 3.10.0-031000rc5-generic #201306082135 SMP Sun Jun 9 01:36:22 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[ 907.201457] usb 2-2: new high-speed USB device number 5 using ehci-pci
[ 907.549600] usb 2-2: New USB device found, idVendor=046d, idProduct=0825
[ 907.549611] usb 2-2: New USB device strings: Mfr=0, Product=0, SerialNumber=2
[ 907.549618] usb 2-2: SerialNumber: A49568E0
[ 907.550048] uvcvideo: Found UVC 1.00 device (046d:0825)
[ 907.646607] input: UVC Camera (046d:0825) as /devices/pci0000:00/0000:00:13.2/usb2/2-2/2-2:1.0/input/input16
[ 907.676560] set resolution quirk: cval->res = 384
Gnome is still stalling occasionally how do you remove this script?
Ok, wasn’t that complicated:
Hi, I’m a novice in linux os. I few days ago downloaded Mint 16 (Mate) and installed Skype 4.2. for Linux. My camera is Logitech C270 USB HD Webcam. So, yesterday I tried to use skype, but my microphone didn’t work. The person which I talked with could see me, but couldn’t hear me. On the other hand I could hear and see him.
This bug is back in Ubuntu 16.04 as of July 2016.