I'm having trouble installing my webcam (Sony's EyeToy). I check it's recognised, remove the current modules, download the driver but when I try to compile it just spits out an error:
$ lsusb Bus 002 Device 002: ID 0566:3015 Monterey International Corp. Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 007: ID 054c:0155 Sony Corp. Bus 001 Device 005: ID 04d9:1135 Holtek Semiconductor, Inc. Bus 001 Device 004: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub $ lsmod | grep ov ov511 67286 0 gspca_ov519 36265 0 gspca_main 24940 1 gspca_ov519 videodev 44108 2 ov511,gspca_main usbcore 146545 10 ov511,snd_usb_audio,snd_usbmidi_lib,gspca_ov519,gspca_main,ipheth,usbhid,ohci_hcd,ehci_hcd $ sudo rmmod ov511 $ sudo rmmod gspca_ov519 $ wget [url]http://www.rastageeks.org/downloads/ov51x-jpeg/ov51x-jpeg-1.5.9.tar.gz[/url] $ tar -xvf ov51x-jpeg-1.5.9.tar.gz ov51x-jpeg-1.5.9/ ov51x-jpeg-1.5.9/test/ ov51x-jpeg-1.5.9/test/Makefile ov51x-jpeg-1.5.9/test/getjpeg.c ov51x-jpeg-1.5.9/Makefile ov51x-jpeg-1.5.9/ov51x-jpeg-core.c ov51x-jpeg-1.5.9/ov518-decomp.c ov51x-jpeg-1.5.9/ov51x-jpeg.h ov51x-jpeg-1.5.9/ov519-decomp.c ov51x-jpeg-1.5.9/ov511-decomp.c ov51x-jpeg-1.5.9/ov7670.h ov51x-jpeg-1.5.9/ChangeLog $ cd ov51x-jpeg-1.5.9 $ make make -C /lib/modules/2.6.35-ARCH/build M=/tmp/webcam/ov51x-jpeg-1.5.9 modules make: Entering directory `/usr/src/linux-2.6.35-ARCH' CC [M] /tmp/webcam/ov51x-jpeg-1.5.9/ov51x-jpeg-core.o /tmp/webcam/ov51x-jpeg-1.5.9/ov51x-jpeg-core.c:87:28: fatal error: linux/autoconf.h: No such file or directory compilation terminated. make: *** [/tmp/webcam/ov51x-jpeg-1.5.9/ov51x-jpeg-core.o] Error 1 make: *** [_module_/tmp/webcam/ov51x-jpeg-1.5.9] Error 2 make: Leaving directory `/usr/src/linux-2.6.35-ARCH' make: *** [all] Error 2 $
I've check the source and coupled with the error message I have found the problem to be with the line including the autoconf header file:
I tried removed this line and it gave me even more errors so put it back. From what I can gather, the compiler is trying to find the autoconf header file but it can't. I then ran a search on the header file and here are the results:
$ sudo find / -mount -name autoconf.h /usr/src/linux-2.6.35-ARCH/include/generated/autoconf.h /usr/src/linux-2.6.32-lts/include/linux/autoconf.h
I replaced 'linux/autoconf.h' with the full locations of the previous two searches and then it spat out the same errors as if i'd removed the line (I think, if not the same, it was a similar amount!).
I've been following the guides on this webpage.
Any help? This seems more of a problem with my installation than it does the drivers. Could it be because I'm running 64 bit?
$ uname -r 2.6.35-ARCH
Last edited by BaconPie (2010-08-23 10:33:56)
You had said you are compiling the system. I have no way to access your skill level, so please forgive me in advance if my advice aims a little low. Arch Linux does build the V4L kernel modules, so you should be okay there.
autoconf.h is usually automatically generated bu the GNU autobuild system. The referenced web page says to use the Makefile that comes with the driver. That may not be adequate. Did you use the Makefile that came with the driver? (Sorry, I do not have the driver in front of me).
If the directory contains files like configure.am and Makefile.am you can try to rebuild the configure system. Do an aclocal, then an autoconf. This should make a an executable configure and a autoconf.h. Run ./configure, then make and you should be golden -- YMMV
Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Like you, I have no idea what you are doing, but I am pretty sure it is wrong...Jasonwryan
How to Ask Questions the Smart Way
Thanks for the reply. As for skill level, I'm fairly new - I've been using linux on and off for several years (mostly fedora) and have spent the last year in university working almost completely in a linux enviroment. I'm 100% comfortable with the command line (prefer it) but aren't quite fluent outside grep, find, /dev and configuring X11 files. Arch linux has really been a nice learn so any advice packed full of information is great.
Here is a list of files that come in the tar:
$ls -l -rw-r--r-- 1 tom users 3505 Sep 28 2008 ChangeLog -rw-r--r-- 1 tom users 651 Sep 28 2008 Makefile -rw-r--r-- 1 tom users 12214 Sep 28 2008 ov511-decomp.c -rw-r--r-- 1 tom users 46185 Sep 28 2008 ov518-decomp.c -rw-r--r-- 1 tom users 48574 Sep 28 2008 ov519-decomp.c -rw-r--r-- 1 tom users 219316 Sep 28 2008 ov51x-jpeg-core.c -rw-r--r-- 1 tom users 22901 Sep 28 2008 ov51x-jpeg.h -rw-r--r-- 1 tom users 7532 Sep 28 2008 ov7670.h drwxr-xr-x 2 tom users 4096 Sep 28 2008 test
I tried running aclocal but it gives me this error:
$ aclocal aclocal: `configure.ac' or `configure.in' is required
When I run make I get this:
$ make make -C /lib/modules/2.6.35-ARCH/build M=/home/tom/Downloads/ov51x-jpeg-1.5.9 modules make: Entering directory `/usr/src/linux-2.6.35-ARCH' CC [M] /home/tom/Downloads/ov51x-jpeg-1.5.9/ov51x-jpeg-core.o /home/tom/Downloads/ov51x-jpeg-1.5.9/ov51x-jpeg-core.c:87:28: fatal error: linux/autoconf.h: No such file or directory compilation terminated. make: *** [/home/tom/Downloads/ov51x-jpeg-1.5.9/ov51x-jpeg-core.o] Error 1 make: *** [_module_/home/tom/Downloads/ov51x-jpeg-1.5.9] Error 2 make: Leaving directory `/usr/src/linux-2.6.35-ARCH' make: *** [all] Error 2
Any other suggestions?
Last edited by BaconPie (2010-08-22 22:24:38)
Could it be because I'm running 64 bit?
You can get the driver from the aur, ov51x-jpeg
The compile error on x86_64 is noted in the comments on that page and there's a patch to fix it.
Ok, I installed the driver from the aur by downloading the tar, extracting and then:
$ makepkg $ pacman -U ov51x-jpeg-1.5.9-5-x86_64.pkg.tar.xz
Then after a reboot I ran lsmod | grep ov and got:
$ lsmod | grep ov ov51x_jpeg 141954 0 gspca_ov519 36265 0 gspca_main 24940 1 gspca_ov519 videodev 44108 2 ov51x_jpeg,gspca_main v4l2_compat_ioctl32 10697 2 ov51x_jpeg,videodev usbcore 146545 11 snd_usb_audio,snd_usbmidi_lib,ipheth,ov51x_jpeg,gspca_ov519,gspca_main,usbhid,ohci_hcd,ehci_hcd
When I ran cheese and skype both did not detect a webcam. I then removed the gspca_ov519 module in case it was causing any conflicts:
$ sudo rmmod gspca_ov519 $ lsmod | grep ov ov51x_jpeg 141954 0 videodev 44108 2 ov51x_jpeg,gspca_main v4l2_compat_ioctl32 10697 2 ov51x_jpeg,videodev usbcore 146545 10 snd_usb_audio,snd_usbmidi_lib,ipheth,ov51x_jpeg,gspca_main,usbhid,ohci_hcd,ehci_hcd
Still no working webcam being reported in cheese or skype. What can I do now?
Last edited by BaconPie (2010-08-23 10:21:07)
Ok I rebooted, and ran:
sudo modprobe ov51x-jpeg
Then ran cheese and my camera is working! Woohoo! I'll try a few things but, for the time being, this problem is solved, thanks a bunch.
Then find out where the non-working driver is:
// Go to where you modules are stored $ cd /lib/modules/`uname -r` // Run a search to find ov511.ko $ find . -name ov* ./kernel/drivers/media/video/ov7670.ko ./kernel/drivers/media/video/ov9640.ko ./kernel/drivers/media/video/ov772x.ko ./kernel/drivers/media/video/ov511.ko ./kernel/drivers/media/video/ovcamchip ./kernel/drivers/media/video/ovcamchip/ovcamchip.ko ./kernel/drivers/media/video/usbvideo/ov51x-jpeg.ko // Then back it up/remove it $ mv ./kernel/drivers/media/video/ov511.ko ./kernel/drivers/media/video/ov511.ko.backup
Reboot. Plug in. Load the ov51x-jpeg module:
sudo modprobe ov51x-jpeg
Last edited by BaconPie (2010-08-23 10:40:45)
Ok, another problem, my webcam only works with cheese. Skype detects the webcam only after I run:
$ export LD_PRELOAD=/opt/lib32/usr/lib/libv4l/v4l2convert.so $ export LD_PRELOAD=/opt/lib32/usr/lib/libv4l/v4l1compat.so $ export XLIB_SKIP_ARGB_VISUALS=1
And even then it only detects the camera, there are no visuals.
VLC also does not work with my webcam:
vlc v4l:// :v4l-vdev="/dev/video0" :v4l-adev="/dev/audio2"
This produces a pop up window with this in it:
Your input can't be opened: VLC is unable to open the MRL 'v4l://'. Check the log for details.
This is the terminal output:
$ vlc v4l:// :v4l-vdev="/dev/video0" :v4l-adev="/dev/audio2" ERROR: ld.so: object '/opt/lib32/usr/lib/libv4l/v4l1compat.so' from LD_PRELOAD cannot be preloaded: ignored. VLC media player 1.1.3 The Luggage (revision exported) Blocked: call to unsetenv("DBUS_ACTIVATION_ADDRESS") Blocked: call to unsetenv("DBUS_ACTIVATION_BUS_TYPE") Warning: call to signal(13, 0x1) [0x768120] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface. Blocked: call to setlocale(6, "") Blocked: call to sigaction(17, 0x7f8a6c353ac0, 0x7f8a6c353b60) Warning: call to rand() Warning: call to rand() Warning: call to rand() Warning: call to rand() [0x7f8a68001400] v4l demux error: unsupported chroma [0xb81b10] main input error: open of `v4l://' failed: (null) Warning: call to rand()
Any suggestions on how to get my webcam working with these programs just skype? It definitely works with cheese and vlc.
Edit: Ok, my bad, after a reboot it works with vlc. Skype still doesn't show the video output from the webcam but I can run cheese, then send a video feed from a portion of my screen.
Last edited by BaconPie (2010-08-23 11:18:26)
I don't know if this helps, but i am on to a pretty similar problem.
And it might not be appropriate to link to Ubuntu Forums: http://ubuntuforums.org/showthread.php?t=844661 but maybe it helps. If not, just delete this post .
9. Now, if you use Skype on your computer and you always see a black square, you can make your webcam working with Skype with the following code:
echo "options ov51x-jpeg forceblock=1" | sudo tee -a /etc/modprobe.d/options
Last edited by Icekimo (2011-01-26 00:20:43)
You should have really made a new thread but it doesn't matter.
Does the webcam work with Cheese. If it does then try using this to run skype: