Hi Dirk,
             I am trying to add driver for sn9c102 based webcams. I have included all the srource files from directory l4/pkg/usb/examples/usbcam/contrib/linux/drivers/media/video/sn9c102 in MAKEFILE of SRC directory. In linking stage , it says that it cant find some refrences to  param_set_bool' , 'vm_insert_page' ,  'vmalloc_32_user' , 'dev_name', 'complete_all' .

Should I add some static library in makefile which I have found under SRC directory of USBCAM.  Please notice that it is not giving any error in compiliation stage of diffferent object files. It gives error only in linking stage of usbcam.o  .

Please help me .

Thanks
Tapas



  ... Compiling linux/drivers/media/video/sn9c102/sn9c102_core.o
LD_PRELOAD=/home/tapas/11thAprilUserBuild/tool/gendep/libgendep.so GENDEP_TARGET=linux/drivers/media/video/sn9c102/sn9c102_core.o GENDEP_BINARY=cc1   gcc -m32 -c  -include linux/autoconf.h -include linux/autoconf.h    -DLINUX_VERSION_CODE=849221 -DKERN_CONT=""  -D"KERNEL_VERSION(a,b,c)=(((a) << 16) + ((b) << 8) + (c))"  -DDDEUSB26_GADGET -DCONFIG_USB_GSPCA_MODULE=1 -DVID_HARDWARE_GSPCA=0xFF   -DDEBUG -D__KERNEL__ -DDDE_LINUX -DGSPCA_VERSION=\"01.00.20\"  -DCONFIG_VIDEO_V4L1_COMPAT  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR( sn9c102_core)" -D"KBUILD_MODNAME=KBUILD_STR( linux/drivers/media/video/sn9c102/sn9c102_core)" -D__KERNEL__ -DDDE_LINUX -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR( sn9c102_core)" -D"KBUILD_MODNAME=KBUILD_STR( linux/drivers/media/video/sn9c102/sn9c102_core)" -DUSE_UCLIBC=y -DRAM_BASE=0x0    -DSYSTEM_x86_586_l4v2 -DARCH_x86 -DCPUTYPE_586 -DL4API_l4v2 -DCONFIG_L4_CALL_SYSCALLS -DCONFIG_L4_ABS_SYSCALLS -I/home/tapas/Latesttudos/l4/pkg/usb/examples/usbcam/contrib/v4l -I/home/tapas/Latesttudos/l4/pkg/usb/examples/usbcam/contrib/linux/include -I/home/tapas/Latesttudos/l4/pkg/usb/linux26/include -I/home/tapas/11thAprilUserBuild/include/x86/l4/dde/linux26 -I/home/tapas/11thAprilUserBuild/include/l4/dde/linux26 -I/home/tapas/11thAprilUserBuild/include/l4/dde/linux26/linux-headers/asm-i386/mach-default -I/home/tapas/11thAprilUserBuild/include/x86/l4/dde/linux26/linux-headers -I/home/tapas/11thAprilUserBuild/include/l4/dde/linux26/linux-headers -I/home/tapas/11thAprilUserBuild/include/uclibc -I/home/tapas/Latesttudos/l4/pkg/usb/server/include -I/home/tapas/11thAprilUserBuild/include/x86/l4/dde/linux26 -I/home/tapas/11thAprilUserBuild/include/l4/dde/linux26 -I/home/tapas/11thAprilUserBuild/include/l4/dde/linux26/linux-headers/asm-i386/mach-default -I/home/tapas/11thAprilUserBuild/include/x86/l4/dde/linux26/linux-headers -I/home/tapas/11thAprilUserBuild/include/l4/dde/linux26/linux-headers -I/home/tapas/11thAprilUserBuild/pkg/usb/idl/OBJ-x86-l4v2 -I/home/tapas/11thAprilUserBuild/include/x86/l4v2 -I/home/tapas/11thAprilUserBuild/include/l4v2 -I/home/tapas/11thAprilUserBuild/include/x86 -I/home/tapas/11thAprilUserBuild/include -I/home/tapas/Latesttudos/l4/../dice/include -I/home/tapas/drops/include/x86/l4v2 -I/home/tapas/drops/include/l4v2 -I/home/tapas/drops/include/x86 -I/home/tapas/drops/include -nostdinc -I/usr/lib/gcc/i486-linux-gnu/4.3.2/include -I/usr/lib/gcc/i486-linux-gnu/4.3.2/include-fixed -ffunction-sections -gstabs+      -g -O2 -fno-strict-aliasing  -march=i586 -Wall -Wstrict-prototypes -fno-strict-aliasing  -Wno-unused  -Wno-pointer-sign -fno-common -fno-stack-protector /home/tapas/Latesttudos/l4/pkg/usb/examples/usbcam/contrib/linux/drivers/media/video/sn9c102/sn9c102_core.c -o linux/drivers/media/video/sn9c102/sn9c102_core.o
In file included from /home/tapas/Latesttudos/l4/pkg/usb/examples/usbcam/contrib/linux/drivers/media/video/sn9c102/sn9c102.h:24,
                 from /home/tapas/Latesttudos/l4/pkg/usb/examples/usbcam/contrib/linux/drivers/media/video/sn9c102/sn9c102_core.c:41:
/home/tapas/11thAprilUserBuild/include/l4/dde/linux26/linux-headers/linux/version.h:1:1: warning: "LINUX_VERSION_CODE" redefined
<command-line>: warning: this is the location of the previous definition
In file included from /home/tapas/Latesttudos/l4/pkg/usb/examples/usbcam/contrib/linux/drivers/media/video/sn9c102/sn9c102.h:41,
                 from /home/tapas/Latesttudos/l4/pkg/usb/examples/usbcam/contrib/linux/drivers/media/video/sn9c102/sn9c102_core.c:41:
/home/tapas/Latesttudos/l4/pkg/usb/examples/usbcam/contrib/v4l/compat.h:7:1: warning: "LINUX_VERSION_CODE" redefined
In file included from /home/tapas/Latesttudos/l4/pkg/usb/examples/usbcam/contrib/linux/drivers/media/video/sn9c102/sn9c102.h:24,
                 from /home/tapas/Latesttudos/l4/pkg/usb/examples/usbcam/contrib/linux/drivers/media/video/sn9c102/sn9c102_core.c:41:
/home/tapas/11thAprilUserBuild/include/l4/dde/linux26/linux-headers/linux/version.h:1:1: warning: this is the location of the previous definition
/home/tapas/Latesttudos/l4/pkg/usb/examples/usbcam/contrib/linux/drivers/media/video/sn9c102/sn9c102_core.c: In function ‘sn9c102_vidioc_querycap’:
/home/tapas/Latesttudos/l4/pkg/usb/examples/usbcam/contrib/linux/drivers/media/video/sn9c102/sn9c102_core.c:2169: warning: implicit declaration of function ‘dev_name’
/home/tapas/Latesttudos/l4/pkg/usb/examples/usbcam/contrib/linux/drivers/media/video/sn9c102/sn9c102_core.c:2170: warning: passing argument 2 of ‘strlcpy’ makes pointer from integer without a cast
/home/tapas/Latesttudos/l4/pkg/usb/examples/usbcam/contrib/linux/drivers/media/video/sn9c102/sn9c102_core.c: In function ‘sn9c102_module_exit’:
/home/tapas/Latesttudos/l4/pkg/usb/examples/usbcam/contrib/linux/drivers/media/video/sn9c102/sn9c102_core.c:3447: warning: implicit declaration of function ‘libddeusb26_deregister_driver’






  ==> Linking usbcam
LD_PRELOAD=/home/tapas/11thAprilUserBuild/tool/gendep/libgendep.so GENDEP_TARGET=usbcam GENDEP_BINARY=ld  GENDEP_BINARY_ALT1=ld ld -m elf_i386 -o usbcam /home/tapas/11thAprilUserBuild/lib/x86_586/crt0.o main.o support.o usbcam.o libv4lconvert/bayer.o libv4lconvert/jidctflt.o libv4lconvert/pac207.o libv4lconvert/spca501.o libv4lconvert/crop.o libv4lconvert/libv4lconvert.o libv4lconvert/rgbyuv.o libv4lconvert/spca561-decompress.o libv4lconvert/flip.o libv4lconvert/sn9c10x.o libv4lconvert/sq905c.o libv4lconvert/hm12.o libv4lconvert/mr97310a.o libv4lconvert/sn9c20x.o libv4lconvert/tinyjpeg.o linux/drivers/media/video/v4l2-common.o linux/drivers/media/video/v4l1-compat.o linux/drivers/media/video/v4l2-device.o linux/drivers/media/video/v4l2-ioctl.o linux/drivers/media/video/cpia.o linux/drivers/media/video/cpia_usb.o linux/drivers/media/video/gspca/gspca.o linux/drivers/media/video/gspca/spca500.o linux/drivers/media/video/gspca/spca501.o linux/drivers/media/video/gspca/spca505.o linux/drivers/media/video/gspca/spca506.o linux/drivers/media/video/gspca/spca508.o linux/drivers/media/video/gspca/spca561.o linux/drivers/media/video/gspca/zc3xx.o linux/drivers/media/video/sn9c102/sn9c102_core.o linux/drivers/media/video/sn9c102/sn9c102_hv7131d.o linux/drivers/media/video/sn9c102/sn9c102_hv7131r.o linux/drivers/media/video/sn9c102/sn9c102_mi0343.o linux/drivers/media/video/sn9c102/sn9c102_mi0360.o linux/drivers/media/video/sn9c102/sn9c102_mt9v111.o linux/drivers/media/video/sn9c102/sn9c102_ov7630.o linux/drivers/media/video/sn9c102/sn9c102_ov7660.o linux/drivers/media/video/sn9c102/sn9c102_pas106b.o linux/drivers/media/video/sn9c102/sn9c102_pas202bcb.o linux/drivers/media/video/sn9c102/sn9c102_tas5110c1b.o linux/drivers/media/video/sn9c102/sn9c102_tas5110d.o linux/drivers/media/video/sn9c102/sn9c102_tas5130d1b.o -Ttext=0x3010000 --hash-style=sysv  -L/home/tapas/11thAprilUserBuild/lib/x86_586/l4v2 -L/home/tapas/11thAprilUserBuild/lib/x86_586 -L/home/tapas/11thAprilUserBuild/lib -L/home/tapas/drops/lib/x86_586/l4v2 -L/home/tapas/drops/lib/x86_586 -L/home/tapas/drops/lib  -T/home/tapas/11thAprilUserBuild/lib/x86_586/main_stat.ld -ll4dope -lvscreen --whole-archive -lddeusb26  --no-whole-archive -lddeusb -lusb_core_client -ldde_linux26 -lddekit -lio -lomega0 -llist_alloc       -static -lgeneric_ts -ll4env -ll4rm -ldm_generic -ldm_mem -lthread -lsemaphore -llogserver_capsule -lnames -ll4util_root -ll4util -lsigma0 -lroot -ll4env -ll4env_err -ll4rm -ldm_generic -ldm_mem -lthread -lslab -ll4sys -nostdlib  -luc_c -luclibc_support -u mmap_anon -lc_be_simple_mem -lc_be_mmap -lc_be_mmap_util -lc_be_l4env_start_stop -lc_be_minimal_log_io -luc_be_simple_sleep -ll4env -llogserver_capsule -ll4rm -ldm_generic -ldm_mem -lthread -lgeneric_ts -luc_c /usr/lib/gcc/i486-linux-gnu/4.3.2/libgcc.a -luc_c -ll4sys -Ttext=0x3010000 --warn-common -gc-sections
linux/drivers/media/video/sn9c102/sn9c102_core.o: In function `sn9c102_match_id':
/home/tapas/Latesttudos/l4/pkg/usb/examples/usbcam/contrib/linux/drivers/media/video/sn9c102/sn9c102.h:144: undefined reference to `param_set_bool'
/home/tapas/Latesttudos/l4/pkg/usb/examples/usbcam/contrib/linux/drivers/media/video/sn9c102/sn9c102.h:144: undefined reference to `param_get_bool'
/home/tapas/Latesttudos/l4/pkg/usb/examples/usbcam/contrib/linux/drivers/media/video/sn9c102/sn9c102.h:144: undefined reference to `vm_insert_page'
/home/tapas/Latesttudos/l4/pkg/usb/examples/usbcam/contrib/linux/drivers/media/video/sn9c102/sn9c102.h:144: undefined reference to `vmalloc_32_user'
/home/tapas/Latesttudos/l4/pkg/usb/examples/usbcam/contrib/linux/drivers/media/video/sn9c102/sn9c102.h:144: undefined reference to `dev_name'
/home/tapas/Latesttudos/l4/pkg/usb/examples/usbcam/contrib/linux/drivers/media/video/sn9c102/sn9c102.h:144: undefined reference to `complete_all'
/home/tapas/Latesttudos/l4/pkg/usb/examples/usbcam/contrib/linux/drivers/media/video/sn9c102/sn9c102.h:144: undefined reference to `complete_all'
make[6]: *** [usbcam] Error 1
make[6]: Leaving directory `/home/tapas/11thAprilUserBuild/pkg/usb/examples/usbcam/src/OBJ-x86_586-l4v2'
make[5]: *** [/home/tapas/11thAprilUserBuild/pkg/usb/examples/usbcam/src/OBJ-x86_586-l4v2] Error 2
make[5]: Leaving directory `/home/tapas/Latesttudos/l4/pkg/usb/examples/usbcam/src'
make[4]: *** [src] Error 2
make[4]: Leaving directory `/home/tapas/Latesttudos/l4/pkg/usb/examples/usbcam'
make[3]: *** [usbcam] Error 2
make[3]: Leaving directory `/home/tapas/Latesttudos/l4/pkg/usb/examples'
make[2]: *** [examples] Error 2
make[2]: Leaving directory `/home/tapas/Latesttudos/l4/pkg/usb'
make[1]: *** [usb.bin] Error 2
make[1]: Leaving directory `/home/tapas/Latesttudos/l4/pkg'
root@tapas-laptop:/home/tapas/Latesttudos/l4#


On Tue, Apr 14, 2009 at 2:04 PM, Dirk Vogt <dvogt@os.inf.tu-dresden.de> wrote:
Hi Tapas,
> You have incuded CPIA , GSPCA and UVC drivers in make file of SRC
> directory . I think that all the drivers that you have incuded in make
> file should work .  Please correct me if I am not correct. The UVC
> driver for my laptop is not working . I am trying to make it work.

I tried the UVC driver, but unfortunately this driver does not support
video capturing trough the read system call.  To make it work you have
to add the code for capturing video through shared memory.  You should
have a look into the the V4L2 documentation for that.

Ciao, Dirk.