Seems pretty straightforward until the /dev/video device doesn’t appear!!
Followed the instructions here.. www.nslu2-linux.org/wiki/HowTo/AddUsbWebcam Then found I did not have lipjpeg, libpng and libzlib on my Slug. I copied the .so files (all of them) to my slug from the cross compile environment. Copying them to the folder /lib on the Slug. I was successful in creating; ov511.ko and videodev.ko When I tried to insmod them I had to specify their full path.
As follows;
insmod /lib/modules/2.6.16/kernel/drivers/media/video/videodev.ko
insmod /lib/modules/2.6.16/kernel/drivers/usb/media/ov511.ko
When I did the insmod on ov511.ko I received an error “Unknown symbol in module” So I followed the instructions here…
www.nslu2-linux.org/wiki/OpenSlug/InstallWinTVPVRUSB2 (see bottom of page)
I figured that it would add alot of stuff I may never use, but it might be enough to create the /dev/video device. No luck…
After some more digging I found that by running “dmesg” the error was specifically “Unknown symbol v41_compat_ioctl32”
After some Google searching I found that I needed to execute… modprobe compat_ioctl32
So close (no error) but still no /dev/video
My camera is sitting quietly watching all of this with the little green light all aglow.. Grrrrr…. 😉
Looks like this command created the video0 device for me!!mknod /dev/video0 c 81 0
This created the symbolic link from video0 to video
ln -s /dev/video0 /dev/video
Still when I run:
./vidcat -p y -s 640x480 > test.jpg
I get: Can't open device /dev/video
Try, try again… <sigh! >
AHA! I was missing the pwc driver… did ipkg install pwc
and all is well!
The PWC module actually created the /dev/video0
device for me, I just had to create the symbolic link for vidcat to work.
# if driver modules are missing insmod /lib/modules/2.6.16/kernel/drivers/media/video/videodev.ko modprobe compat_ioctl32 insmod /lib/modules/2.6.16/kernel/drivers/usb/media/ov511.ko insmod /lib/modules/2.6.16/kernel/drivers/usb/media/pwc.ko depmod -a # need to do this on each reboot... (unplug and re-plug camera first) ln -s /dev/video0 /dev/video # then this will work.. ./vidcat -p y -s 640x480 > test.jpg