Doesn't use the stock kernel but take a look.
http://www.plugcomputer.org/plugwiki/index.php/Webcams
Categories: PogoPlug Development
Connect a webcam to your Pogoplug - start w3cam, go to http://123.456.789:8999/ and view what the camera sees. Forward the ports and you can see it from anywhere in the world. Takes pictures every X seconds.
Problem: No video4linux kernel module. When you plug in a camera, nothing happens.
I'm currently extracting the pogoplug-linux-2.6.22.18 kernel to see if it would be in there...video4linux has been supposedly "inside" the kernels for awhile, but CloudEngines just didn't include it or it isn't being loaded or something. No idea just yet, but I'm working on it.
Any thoughts or websites we could use to help get webcams working? Doesn't have to be for ARM or for 'plugs - just something for Linux.
Brad to the rescue, sent me some help. Downloaded the pogoplug kernel, make oldconfig, make uImage (that's where I'm at right now), then make menuconfig to choose the video4linux stuff and make modules. Should work...
Are you building it on the plug or cross-compiling it?
When I downloaded the kernel from the dev page, I didn't see the config file, was that a separate download?
Odd, I extracted it on my Pogoplug and Mac and there was a .config file in there.
Ok, I tried to build the kernel with make oldconfig and make uImage. All went well for about 30 minutes and then:
GEN .version
CHK include/linux/compile.h
dnsdomainname: Unknown host
UPD include/linux/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
kernel/built-in.o: In function `getnstimeofday':
utsname_sysctl.c:(.text.getnstimeofday+0xe0): undefined reference to `__aeabi_uldivmod'
kernel/built-in.o: In function `do_gettimeofday':
utsname_sysctl.c:(.text.do_gettimeofday+0x9c): undefined reference to `__aeabi_uldivmod'
utsname_sysctl.c:(.text.do_gettimeofday+0xb8): undefined reference to `__aeabi_uldivmod'
kernel/built-in.o: In function `update_wall_time':
utsname_sysctl.c:(.text.update_wall_time+0x55c): undefined reference to `__aeabi_uldivmod'
utsname_sysctl.c:(.text.update_wall_time+0x57c): undefined reference to `__aeabi_uldivmod'
make: *** [.tmp_vmlinux1] Error 1
root@debian:/usr/local/src/pogoplug-linux-2.6.22.18#
Did yours compile successfully?
I encountered that same error but only when I messed around with make config and not choosing the defaults on everything except Video4Linux...so I suggest doing a make clean, makeoldconfig, then make config (make menuconfig didn't work here for whatever reason)...going with the defaults except putting in a Y for video4linux stuff and then make uImage. It worked for me, I had it running overnight.
Alrighty, the modules have been made but (suprise), there's another roadblock. I've made "v4l2-common.ko", "v4l1-compat.ko", "dvb-core.ko" and "compat_ioctl32.ko", and they all work when putting them in through insmod -- but the Pogoplug doesn't run udev, so even if you plug a webcam in, /dev/video isn't created, so your webcam doesn't work. So I sat down and fiddled around with mknod to find the device ID of my cheap-o Logitech camera and finally found it in /sys/bus/usb/devices/, but w3cam gave me 2 errors:
ioctl (VIDIOCGCAP): Inappropriate ioctl for device
w3camd.c: can't init v4l
I've tried using the compat_ioctl32.ko and not using it -- neither options work. I don't even know where to start with "can't init v4l", as it's all loaded.
Maybe I'm missing some modules or something. Any help?
EDIT: Here's dmesg, showing what happens after I connect the camera:
usb 1-1: USB disconnect, address 2
usb 1-1: new full speed USB device using ehci_marvell and address 3
usb 1-1: configuration #1 chosen from 1 choice
Linux video capture interface: v2.00
(So yeah, it's being "seen", just can't get it to...work...) I'm going to bed. It's 1:30AM and I'm done for the night. :P
Worked some more on this...built a bunch of drivers and found that ov519 is the driver for my camera, but I don't think I found ov519 in "make menuconfig", but checked ov511 and many other modules like Quickcam to be made into modules. Once they are made and I load them, I'll update my progress.
It would be awesome if CludEngines updated the kernel to 2.6.30 (wink wink)...2.6.22.18 and anything before 2.6.24 didn't have great webcam support...
I've built a bunch of modules...
compat_ioctl32.ko
i2c-mv64xxx.ko
v4l2-common.ko
cpia.ko
konicawc.ko
vicam.ko
cpia2.ko
video-buf.ko
cpia_usb.ko
quickcam_messenger.ko
videodev.ko
dvb-core.ko
usbvideo.ko
vivi.ko
i2c-core.ko
v4l1-compat.ko
i2c-algo-bit.ko
ov511.ko
ovcamchip.ko
videocodec.ko
All of them load just fine, made /dev/video0 pointing to the appropriate place as stated in /sys/.........
But I'm getting the same error:
ioctl (VIDIOCGCAP): Inappropriate ioctl for device
w3camd.c: can't init v4l
I don't know what else to do :(.
And sorry for the monologue, just want to keep everyone updated.
Not until Cloud Engines sends a little kernel module for my.pogoplug.com to work. But functionality is there...just that we can't release it yet.
Frustrating.
I could really really really use this. Is there any chance of it getting developed now that PlugApps is stopping dev on the Pogoplugs?
Works great on Plugbox Linux/PlugApps. the kernel module is there and ready to go. http://plugapps.com
Can you make a very short little howto on this thread on how to set it up. basically just a list of packages that need to be installed and I should be able to do the rest.
any updates??? Someone said they got it working then never posts HOW? cmon... teats not very neighborly. Come back and share!
I'm going to buy a pogoplug and is very interested to know if it's possible to connect a camera to the box. A tutorial would be very helpful. Thanks.

RSS


