OpenWrt Forum Archive

Topic: Webcam with sn9c20x driver on OpenWrt Kamikaze?

The content of this topic has been archived on 30 Mar 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Dear community,

I have a problem with a webcam on Kamikaze.
I installed all the available drivers for usb video I found but it doesn't mount anything on /dev/video0 nor /dev/v4l/... when I plug my webcam in.
The webcam is a Sanwa CMS-V20SETSV (usb) supported through the sn9c20x driver on my ubuntu.
The router is a FON LaFonera2.0g (rev22010).
The os is Kamikaze (Linux OpenWrt 2.6.26.8).

kmod-video-nw8xx only failed because the required dependency kmod-usb-video cannot be found...

root@OpenWrt:/www# opkg install kmod-video-nw8xx
Installing kmod-video-nw8xx (2.6.26.8+0.0.99-atheros-1) to root...
Downloading http://downloads.openwrt.org/kamikaze/8.09.2/atheros/packages/kmod-video-nw8xx_2.6.26.8+0.0.99-atheros-1_mips.ipk
Connecting to downloads.openwrt.org (78.24.191.177:80)
kmod-video-nw8xx_2.6 100% |************************************************************************************************************| 18347  00:00:00 ETA
Collected errors:
 * ERROR: Cannot satisfy the following dependencies for kmod-video-nw8xx:
     *  kmod-usb-video *

When I plug my webcam in the USB port, it detects and mounts it but v4l or gspca don't do anything...

Here is the dmesg relevant log on my notebook (ubuntu):

[14276.720080] usb 1-3: new high speed USB device using ehci_hcd and address 6
[14276.873122] usb 1-3: configuration #1 chosen from 1 choice
[14276.991073] gspca: main v2.6.0 registered
[14277.027440] gspca: probing 0c45:624f
[14277.087772] sn9c20x: OV9650 sensor detected
[14277.087961] gspca: probe ok
[14277.088014] usbcore: registered new interface driver sn9c20x
[14277.088022] sn9c20x: registered

Then I have the video on /dev/video1 (/dev/video0 is the internal webcam)
Whereas on my router with OpenWrt:

dmesg on OpenWrt

ohci_hcd: 2006 August 04 USB 1.1 'Open' Host Controller (OHCI) Driver
PCI: Enabling device 0000:00:00.0 (0000 -> 0002)
PCI: Setting latency timer of device 0000:00:00.0 to 64
ohci_hcd 0000:00:00.0: OHCI Host Controller
ohci_hcd 0000:00:00.0: new USB bus registered, assigned bus number 1
ohci_hcd 0000:00:00.0: irq 5, io mem 0x80c20000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 3 ports detected
USB Universal Host Controller Interface driver v3.0
PCI: Enabling device 0000:00:00.1 (0000 -> 0002)
ehci_hcd 0000:00:00.1: EHCI Host Controller
ehci_hcd 0000:00:00.1: new USB bus registered, assigned bus number 2
ehci_hcd 0000:00:00.1: irq 5, io mem 0x80c21000
ehci_hcd 0000:00:00.1: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 3 ports detected
usbcore: registered new interface driver usbserial
usbserial: USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial Driver core
v4l2_common: Unknown symbol i2c_attach_client
Linux video capture interface: v2.00
usbserial: USB Serial support registered for cp2101
usbcore: registered new interface driver cp2101
cp2101: Silicon Labs CP2101/CP2102 RS232 serial adaptor driver v0.07
usbcore: registered new interface driver ov51x
ov51x_jpeg: 1.5.9 : ov51x USB Camera Driver
usbcore: registered new interface driver gspca
gspca: gspca driver 01.00.20 registered
usbcore: registered new interface driver quickcam
usbcore: registered new interface driver uvcvideo
USB Video Class driver (SVN r261)
usb 2-1: new high speed USB device using ehci_hcd and address 2
usb 2-1: configuration #1 chosen from 1 choice

Why gspca isn't doing anything after the webcam is plugged in on the router?
How can I have the same on OpenWrt as the gspca driver is available on OpenWrt?
Is it because of the driver  sn9c20x? How can I have its support on OpenWrt?














If it can help, I copy/paste some debugging commands:

lspci

root@OpenWrt:/tmp# lspci
00:00.0 USB Controller: NEC Corporation USB (rev 44)
00:00.1 USB Controller: NEC Corporation USB 2.0 (rev 05)
00:03.0 Ethernet controller: Atheros Communications, Inc. Device ff18 (rev 01)
root@OpenWrt:/tmp# lsusb
Bus 002 Device 003: ID 0c45:624f Microdia PC Camera (SN9C201 + OV9650)
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

And the dmesg wakes up if I unplug/plug the webcam:

root@OpenWrt:/tmp# dmesg | grep usb
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
usb usb1: configuration #1 chosen from 1 choice
usb 1-1: new full speed USB device using ohci_hcd and address 2
usb 1-1: device descriptor read/all, error 0
usb usb2: configuration #1 chosen from 1 choice
usb 2-1: new high speed USB device using ehci_hcd and address 2
usb 2-1: configuration #1 chosen from 1 choice
usbcore: registered new interface driver usbserial
usbserial: USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial Driver core
usbserial: USB Serial support registered for cp2101
usbcore: registered new interface driver cp2101
usbcore: registered new interface driver ov51x
usbcore: registered new interface driver gspca
usbcore: registered new interface driver quickcam
usbcore: registered new interface driver uvcvideo
usb 2-1: USB disconnect, address 2
usb 2-1: new high speed USB device using ehci_hcd and address 3
usb 2-1: configuration #1 chosen from 1 choice

lsmod

root@OpenWrt:~# lsmod
Module                  Size  Used by    Tainted: P  
uvcvideo               51568  0 
quickcam               63696  0 
gspca                 628592  0 
ov51x_jpeg            136272  0 
cp2101                 10096  0 
videodev               25600  4 uvcvideo,quickcam,gspca,ov51x_jpeg
compat_ioctl32           416  1 uvcvideo
v4l1_compat            13744  2 uvcvideo,videodev
usbserial              23776  1 cp2101
ehci_hcd               30384  0 
uhci_hcd               20432  0 
ohci_hcd               17264  0 
ath_ahb               321920  0 
ath_hal               161440  2 ath_ahb
nf_nat_tftp              448  0 
nf_conntrack_tftp       2448  1 nf_nat_tftp
nf_nat_irc               864  0 
nf_conntrack_irc        2720  1 nf_nat_irc
nf_nat_ftp              1440  0 
nf_conntrack_ftp        4960  1 nf_nat_ftp
ipt_MASQUERADE          1152  0 
iptable_nat             3376  0 
nf_nat                 11232  5 nf_nat_tftp,nf_nat_irc,nf_nat_ftp,ipt_MASQUERADE,iptable_nat
xt_state                 832  0 
nf_conntrack_ipv4       8800  3 iptable_nat,nf_nat
nf_conntrack           39056  11 nf_nat_tftp,nf_conntrack_tftp,nf_nat_irc,nf_conntrack_irc,nf_nat_ftp,nf_conntrack_ftp,ipt_MASQUERADE,iptable_nat,nf_nat,xt_state,nf_conntrack_ipv4
ipt_REJECT              1888  0 
xt_TCPMSS               2720  0 
ipt_LOG                 4544  0 
xt_multiport            1824  0 
xt_mac                   704  0 
xt_limit                1216  0 
iptable_mangle          1184  0 
iptable_filter           960  0 
ip_tables               8816  3 iptable_nat,iptable_mangle,iptable_filter
xt_tcpudp               1856  0 
x_tables                8752  11 ipt_MASQUERADE,iptable_nat,xt_state,ipt_REJECT,xt_TCPMSS,ipt_LOG,xt_multiport,xt_mac,xt_limit,ip_tables,xt_tcpudp
ppp_async               7936  0 
ppp_generic            21376  1 ppp_async
slhc                    4480  1 ppp_generic
crc_ccitt                992  1 ppp_async
usbcore               102976  10 uvcvideo,quickcam,gspca,ov51x_jpeg,cp2101,usbserial,ehci_hcd,uhci_hcd,ohci_hcd

opkg list_installed

root@OpenWrt:~# opkg list_installed
base-files-atheros - 14.3-r18961 - 
bridge - 1.4-1 - 
busybox - 1.11.2-2.2 - 
ddns-scripts - 1.0.0-1.2 - 
dnsmasq - 2.47-3.3 - 
dropbear - 0.51-2 - 
firewall - 1-1.2 - 
gpioctl - 1.0-1 - 
hostapd-mini - 0.6.6-1.1 - 
hotplug2 - 0.9+r102-2 - 
iptables - 1.4.0-1 - 
iptables-mod-conntrack - 1.4.0-1 - 
iptables-mod-nat - 1.4.0-1 - 
kernel - 2.6.26.8-atheros-1 - 
kmod-ipt-conntrack - 2.6.26.8-atheros-1 - 
kmod-ipt-core - 2.6.26.8-atheros-1 - 
kmod-ipt-nat - 2.6.26.8-atheros-1 - 
kmod-ipt-nathelper - 2.6.26.8-atheros-1 - 
kmod-madwifi - 2.6.26.8+r3314-atheros-2.3 - 
kmod-ppp - 2.6.26.8-atheros-1 - 
kmod-pppoe - 2.6.26.8-atheros-1 - 
kmod-usb-core - 2.6.26.8-atheros-1 - 
kmod-usb-ohci - 2.6.26.8-atheros-1 - 
kmod-usb-serial - 2.6.26.8-atheros-1 - 
kmod-usb-serial-cp2101 - 2.6.26.8-atheros-1 - 
kmod-usb-uhci - 2.6.26.8-atheros-1 - 
kmod-usb2 - 2.6.26.8-atheros-1 - 
kmod-video-core - 2.6.26.8-atheros-1 - 
kmod-video-gspca - 2.6.26.8+20071224-atheros-1 - 
kmod-video-ov51x-jpeg - 2.6.26.8+1.5.9-atheros-1 - 
kmod-video-quickcam - 2.6.26.8+0.6.6-atheros-1.1 - 
kmod-video-uvc - 2.6.26.8+r261-atheros-1 - 
libgcc - 4.1.2-14.3 - 
libjpeg - 6b-1 - 
liblua - 5.1.4-2 - 
libncurses - 5.6-1 - 
libnl-tiny - 0.1-1 - 
libopenssl - 0.9.8i-3.2 - 
libpcre - 7.6-2 - 
libpthread - 0.9.29-14.3 - 
libsqlite3 - 3.5.9-1 - 
libuci - 0.7.3-1 - 
libuci-lua - 0.7.3-1 - 
libusb - 0.1.12-2 - 
libxml2 - 2.7.2-3 - 
lua - 5.1.4-2 - 
luci-admin-core - 0.8.8-1 - 
luci-admin-full - 0.8.8-1 - 
luci-admin-mini - 0.8.8-1 - 
luci-app-ddns - 0.8.8-1 - 
luci-app-upnp - 0.8.8-1 - 
luci-app-uvc_streamer - 0.8.8-1 - 
luci-cbi - 0.8.8-1 - 
luci-core - 0.8.8-1 - 
luci-http - 0.8.8-1 - 
luci-i18n-english - 0.8.8-1 - 
luci-ipkg - 0.8.8-1 - 
luci-sgi-cgi - 0.8.8-1 - 
luci-sys - 0.8.8-1 - 
luci-theme-base - 0.8.8-1 - 
luci-theme-openwrt - 0.8.8-1 - 
luci-uci - 0.8.8-1 - 
luci-uvl - 0.8.8-1 - 
luci-web - 0.8.8-1 - 
miniupnpd - 1.4-1 - 
mjpg-streamer - r68-2 - 
motion - 3.2.10.1-1 - 
mtd - 8.2 - 
nano - 2.0.7-1 - 
ntpclient - 2007_365-1.2 - 
opkg - 4564-3.1 - 
pciutils - 3.0.0-1 - 
ppp - 2.4.3-11.2 - 
ppp-mod-pppoe - 2.4.3-11.2 - 
qc-usb-utils - 0.6.6-1.1 - 
spcacat - 20071224-1 - 
swconfig - 1.2 - 
uci - 0.7.3-1 - 
uclibc - 0.9.29-14.3 - 
udevtrigger - 106-1.1 - 
usbutils - 0.73-1 - 
uvc-streamer - 1-1 - 
wireless-tools - 29-2 - 
zlib - 1.2.3-5 -

(Last edited by $p00ky on 14 Jan 2010, 08:15)

noone...

I never compiled kernels by myself so far and thought the kmod-xxx packages were enough for that.
How can I check if the kernel was compiled with SN9C20X?

I checked on the v4l side, and I noticed this error in my "dmesg" at boot time (before plugging in the webcam):

v4l2_common: Unknown symbol i2c_attach_client
Linux video capture interface: v2.00

Also I think gspca is already enabled, because at boot time, before plugging anything in, dmesg:

usbcore: registered new interface driver ov51x
ov51x_jpeg: 1.5.9 : ov51x USB Camera Driver
usbcore: registered new interface driver gspca
gspca: gspca driver 01.00.20 registered
usbcore: registered new interface driver quickcam
usbcore: registered new interface driver uvcvideo
USB Video Class driver (SVN r261)

I don't know where the first lines from v4l2 come from, as I did not find any package providing v4l.
I'm not sure v4l is correctly configured so that's why it does not mount under /dev/v4l/xxx (/dev/v4l does not exist though) nor /dev/videoX

Is there any v4l2 support (package?) for OpenWrt Kamikaze?

My kernel is the original "Linux OpenWrt 2.6.26.8" and I think it's already loading gspca as it should.

i had a similar problem:


https://forum.openwrt.org/viewtopic.php?id=23225

My router is run openwrt the release of Kamikaze 8.09.2 (r18405)with luci , kernel=2.6.30.9
the opkg updata is there:
http://downloads.openwrt.org/snapshots/ … x/packages

i want to run a vimicro zc0301pl  webcam , so i install the driver for it ,it is kmod-gspca_zc3xx.ko

I try :

opkg updata
opkg install  kmod-video-gspca-zc3xx  .......   ,#ok,but it is kernel 2.6.30.10-1 .

root@Openwrt:/# lsusb
Bus 001 Device 002: ID 0ac8:301b Z-Star Microelectronics Corp. ZC0301 Webcam
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

root@Openwrt:/# dmesg | grep usb
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
usb usb1: configuration #1 chosen from 1 choice
usb 1-1: new full speed USB device using bcm63xx_ohci and address 2
usbcore: registered new interface driver usb-storage
usb 1-1: configuration #1 chosen from 1 choice

but not mount /dev/video0  ;

root@Openwrt:/# insmod /lib/modules/2.6.30.10/gspca_zc3xx.ko
gspca_zc3xx: version magic '2.6.30.10 mod_unload MIPS32_R1 32BIT ' should be '2.6.30.9 mod_unload MIPS32_R1 32BIT '
insmod: can't insert '/lib/modules/2.6.30.10/gspca_zc3xx.ko': invalid module format

root@Openwrt:/# cat /proc/version
Linux version 2.6.30.9 (yuzt@Ubuntu) (gcc version 4.3.3 (GCC) ) #3 Tue Nov 17 00:48:10 CST 2009

Now i download kmod-video-gspca-zc3xx_2.6.30.9-1_brcm63xx.ipk

root@Openwrt:/jffs# opkg install kmod-video-gspca-zc3xx_2.6.30.9-1_brcm63xx.ipk
Installing kmod-video-gspca-zc3xx (2.6.30.9-1) to root...
Collected errors:
* ERROR: Cannot satisfy the following dependencies for kmod-video-gspca-zc3xx:
         *  kernel (=2.6.30.9-1) *



How can i  install the driver for my  webcam ?

The discussion might have continued from here.