I have six SPC900NC webcams connected to one Debian box with ZM. Everything works good but after reboot cams are registering random not in right order. Driver has feature named "dev_hint" to solve this problem, but not working for me.
My command is:132 dev_hint
133 A long standing problem with USB devices is their dynamic nature: you
134 never know what device a camera gets assigned; it depends on module load
135 order, the hub configuration, the order in which devices are plugged in,
136 and the phase of the moon (i.e. it can be random). With this option you
137 can give the driver a hint as to what video device node (/dev/videoX) it
138 should use with a specific camera. This is also handy if you have two
139 cameras of the same model.
140
141 A camera is specified by its type (the number from the camera model,
142 like PCA645, PCVC750VC, etc) and optionally the serial number (visible
143 in /proc/bus/usb/devices). A hint consists of a string with the following
144 format:
145
146 [type[.serialnumber]:]node
147
148 The square brackets mean that both the type and the serialnumber are
149 optional, but a serialnumber cannot be specified without a type (which
150 would be rather pointless). The serialnumber is separated from the type
151 by a '.'; the node number by a ':'.
152
153 This somewhat cryptic syntax is best explained by a few examples:
154
155 dev_hint=3,5 The first detected cam gets assigned
156 /dev/video3, the second /dev/video5. Any
157 other cameras will get the first free
158 available slot (see below).
159
160 dev_hint=645:1,680:2 The PCA645 camera will get /dev/video1,
161 and a PCVC680 /dev/video2.
162
163 dev_hint=645.0123:3,645.4567:0 The PCA645 camera with serialnumber
164 0123 goes to /dev/video3, the same
165 camera model with the 4567 serial
166 gets /dev/video0.
167
168 dev_hint=750:1,4,5,6 The PCVC750 camera will get /dev/video1, the
169 next 3 Philips cams will use /dev/video4
170 through /dev/video6.
171
172 Some points worth knowing:
173 - Serialnumbers are case sensitive and must be written full, including
174 leading zeroes (it's treated as a string).
175 - If a device node is already occupied, registration will fail and
176 the webcam is not available.
177 - You can have up to 64 video devices; be sure to make enough device
178 nodes in /dev if you want to spread the numbers.
179 After /dev/video9 comes /dev/video10 (not /dev/videoA).
180 - If a camera does not match any dev_hint, it will simply get assigned
181 the first available device node, just as it used to be."
Code: Select all
insmod /lib/modules/2.6.26-2-686/kernel/drivers/media/video/pwc/pwc.ko leds=100,5000 size=sif fps=20 dev_hint=900.01690000CE000003:3
Code: Select all
[18443.179917] pwc: Philips SPC 900NC USB webcam detected.
[18443.213705] pwc: Registered as /dev/video0
Code: Select all
insmod /lib/modules/2.6.26-2-686/kernel/drivers/media/video/pwc/pwc.ko leds=100,5000 size=sif fps=20 dev_hint=3
Code: Select all
[19986.075759] pwc: Philips SPC 900NC USB webcam detected.
[19986.105934] pwc: Registered as /dev/video3.
Code: Select all
dupa:~# modinfo pwc
filename: /lib/modules/2.6.26-2-686/kernel/drivers/media/video/pwc/pwc.ko
version: 10.0.13
alias: pwcx
license: GPL
author: Luc Saillard <luc@xxxxxxxx>
description: Philips & OEM USB webcam driver
srcversion: B8DBBFB49765AB29F5E2F42
alias: usb:v0D81p1900d*dc*dsc*dp*ic*isc*ip*
alias: usb:v0D81p1910d*dc*dsc*dp*ic*isc*ip*
alias: usb:v06BEp8116d*dc*dsc*dp*ic*isc*ip*
alias: usb:v04CCp8116d*dc*dsc*dp*ic*isc*ip*
alias: usb:v041Ep4011d*dc*dsc*dp*ic*isc*ip*
alias: usb:v041Ep400Cd*dc*dsc*dp*ic*isc*ip*
alias: usb:v055Dp9002d*dc*dsc*dp*ic*isc*ip*
alias: usb:v055Dp9001d*dc*dsc*dp*ic*isc*ip*
alias: usb:v055Dp9000d*dc*dsc*dp*ic*isc*ip*
alias: usb:v046Dp08B8d*dc*dsc*dp*ic*isc*ip*
alias: usb:v046Dp08B7d*dc*dsc*dp*ic*isc*ip*
alias: usb:v046Dp08B6d*dc*dsc*dp*ic*isc*ip*
alias: usb:v046Dp08B5d*dc*dsc*dp*ic*isc*ip*
alias: usb:v046Dp08B4d*dc*dsc*dp*ic*isc*ip*
alias: usb:v046Dp08B3d*dc*dsc*dp*ic*isc*ip*
alias: usb:v046Dp08B2d*dc*dsc*dp*ic*isc*ip*
alias: usb:v046Dp08B1d*dc*dsc*dp*ic*isc*ip*
alias: usb:v046Dp08B0d*dc*dsc*dp*ic*isc*ip*
alias: usb:v069Ap0001d*dc*dsc*dp*ic*isc*ip*
alias: usb:v0471p0329d*dc*dsc*dp*ic*isc*ip*
alias: usb:v0471p0313d*dc*dsc*dp*ic*isc*ip*
alias: usb:v0471p0312d*dc*dsc*dp*ic*isc*ip*
alias: usb:v0471p0311d*dc*dsc*dp*ic*isc*ip*
alias: usb:v0471p0310d*dc*dsc*dp*ic*isc*ip*
alias: usb:v0471p030Cd*dc*dsc*dp*ic*isc*ip*
alias: usb:v0471p0308d*dc*dsc*dp*ic*isc*ip*
alias: usb:v0471p0307d*dc*dsc*dp*ic*isc*ip*
alias: usb:v0471p0304d*dc*dsc*dp*ic*isc*ip*
alias: usb:v0471p0303d*dc*dsc*dp*ic*isc*ip*
alias: usb:v0471p0302d*dc*dsc*dp*ic*isc*ip*
depends: usbcore,videodev
vermagic: 2.6.26-2-686 SMP mod_unload modversions 686
parm: size:Initial image size. One of sqcif, qsif, qcif, sif, cif, vga (charp)
parm: fps:Initial frames per second. Varies with model, useful range 5-30 (int)
parm: fbufs:Number of internal frame buffers to reserve (int)
parm: mbufs:Number of external (mmap()ed) image buffers (int)
parm: trace:For debugging purposes
parm: power_save:Turn power save feature in camera on or off (int)
parm: compression:Preferred compression quality. Range 0 (uncompressed) to 3 (high compression) (int)
parm: leds:LED on,off time in milliseconds (array of int)
parm: dev_hint:Device node hints (array of charp)