I've discovered that my webcam (Creative Live! Cam Video IM Pro, aka 0x041e:0x4056) will work just fine with linux, provided the
UVC kernel module is loaded. Retrieving the requisite files from SVN, I find the following errors upon a 'make':
Code:
root@poetics:~/defib/trunk/make
Building USB Video Class driver ...
make[1]: Entering directory `/usr/src/linux-2.6.21.5'
Building modules, stage 2
MODPOST 1 modules
WARNING: "video_device_release" [/root/defib/trunk/uvcvideo.ko] undefined!
WARNING: "video_usercopy" [/root/defib/trunk/uvcvideo.ko] undefined!
WARNING: "video_register_device" [/root/defib/trunk/uvcvideo.ko] undefined!
WARNING: "video_device_alloc" [/root/defib/trunk/uvcvideo.ko] undefined!
WARNING: "video_unregister_device" [/root/defib/trunk/uvcvideo.ko] undefined!
WARNING: "v4l_printk_ioctl" [/root/defib/trunk/uvcvideo.ko] undefined!
WARNING: "video_devdata" [/root/defib/trunk/uvcvideo.ko] undefined!
WARNING: "v4l_compat_ioctl32" [/root/defib/trunk/uvcvideo.ko] undefined!
make[1]: Leaving directory `/usr/src/linux-2.6.21.5'
Looking at the Makefile, it doesn't seem too complicated:
Code:
KERNEL_DIR := /lib/modules/`uname -r`/build
INSTALL_MOD_DIR := usb/media
PWD := $(shell pwd)
obj-m := uvcvideo.o
uvcvideo-objs := uvc_driver.o uvc_queue.o uvc_v4l2.o uvc_video.o uvc_ctrl.o uvc_status.o uvc_isight.o
all: uvcvideo
uvcvideo:
@echo "Building USB Video Class driver..."
@(cd $(KERNEL_DIR) && make -C $(KERNEL_DIR) SUBDIRS=$(PWD) CROSS_COMPILE=$(CROSS_COMPILE) modules)
install:
@echo "Installing USB Video Class Driver..."
@(cd $(KERNEL_DIR) && make -C $(KERNEL_DIR) SUBDIRS=$(PWD) INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) INSTALL_MOD_PATH=$(INSTALL_MOD_PATH) modules_install)
depmod -ae
clean:
-rm -f *.o *.ko .*.cmd .*.flags *.mod.c Modules.symvers
After having done some extensive searching, I haven't yet been able to figure out what the next step is supposed to be. There are several references to "I changed the Makefile's path and then it worked!" but unfortunately that's not enough for me to go on yet.
Any help would be appreciated!