2008-03-27, 16:06
Hello all
I am having problems with coldplugging and my Logitech sphere webcam.
i.e : booting with the webcam plugged into the computer .
(hotplugging is working fine ) .
I also have 2 other video devices in the computer : a pci terratec dvb-t card and a bttv tv card . when booting the computer all the video drivers get loaded correctly , but the rule 80-uvcdynctrl.rules (which should load the additionnal v4l 2properties to the uvc camera (pan/tilt etc ) , is not always triggered , (not on every boot ) , if it is triggered , most of the time it fails (not finding VID or PID of the device in the /sys filesystem) , or the uvcdynctrl -i command gets applied but on the wrong v4l device (so it fails ). this varies a lot , sometime (1 out of 30 ) it even succeeds ...
when the machine has finished booting , passing manually the command "udevtrigger" will correct things (the pb is that its manual ..)
my distrib is mandriva 2007 , udev version is 106 .
to me the pb seems :
a) timing related
b) due to the fact that there are several v4l devices on my system.
c) the v4l device number (video0 , video1 etc ) seem to move around a bit
during the boot process . (as seen from /tmp/uvcdynctrl-udev.log )
I don't think it is due to libwebcam , maybe to the way udev works at boot or the initialisation steps of uvcvideo driver ?
i am not so familiar with udev , I was wondering if any of you , has been
experimenting those problems with cold plugging and found a not too ugly fix .
thanks for any idea .
here is an extract of /tmp/uvcdynctrl-udev.log
(notice how video2 gets turned into video0 ...?)
==============================================================================
Triggered at Thu Mar 27 22:07:12 UTC 2008
ACTION=add
BASH=/bin/sh
BASH_ARGC=()
BASH_ARGV=()
BASH_LINENO=([0]="0")
BASH_SOURCE=([0]="/lib/udev/uvcdynctrl")
BASH_VERSINFO=([0]="3" [1]="1" [2]="17" [3]="2" [4]="release" [5]="i586-mandriva
-linux-gnu")
BASH_VERSION='3.1.17(2)-release'
DEVLINKS='/dev/sonix_cam_0 /dev/video4'
DEVNAME=/dev/v4l/video4
DEVPATH=/class/video4linux/video4
DIRSTACK=()
EUID=0
GROUPS=()
HOSTNAME=venus.localwarp.net
HOSTTYPE=i586
IFS='
'
MACHTYPE=i586-mandriva-linux-gnu
MAJOR=81
MINOR=4
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PATH=/usr/gnu/bin:/usr/local/bin:/bin:/usr/bin:.
PHYSDEVBUS=usb
PHYSDEVDRIVER=usb
PHYSDEVPATH=/devices/pci0000:00/0000:00:10.0/usb1/1-1
PIPESTATUS=([0]="0")
POSIXLY_CORRECT=y
PPID=4784
PS4='+ '
PWD=/
SEQNUM=1865
SHELL=/bin/bash
SHELLOPTS=braceexpand:hashall:interactive-comments
osix
SHLVL=1
SUBSYSTEM=video4linux
TERM=dumb
UDEVD_EVENT=1
UDEV_LOG=3
UID=0
_='Triggered at Thu Mar 27 22:07:12 UTC 2008\n'
logfile=/tmp/uvcdynctrl-udev.log
uvcdynctrlpath=uvcdynctrl
xmlpath=/etc/udev/data
VID of new device: '0c45'
PID of new device: '602c'
VID of new device: ''
PID of new device: ''
ERROR: Unable to extract USB VID from '/sys/devices/pci0000:00/0000:00:0a.0/../i
dVendor'.
VID of new device: ''
PID of new device: ''
ERROR: Unable to extract USB VID from '/sys/devices/pci0000:00/0000:00:09.0/../i
dVendor'.
VID of new device: '046d'
PID of new device: '0994'
VID of new device: '0c45'
PID of new device: '602c'
ERROR: Device is not handled by uvcvideo but by 'usb'.
Note: There is a known problem for older versions of the UVC driver where the ph
ysical device path reported by udev ('/sys/devices/pci0000:00/0000:00:10.2/usb3/
3-2' in this case) points to the USB device instead of the USB interface. For th
ese versions of the UVC driver dynamic controls are not supported anyway. Please
update your uvcvideo driver to the latest version if you know that this device
is a UVC device.
ERROR: Device is not handled by uvcvideo but by 'usb'.
Note: There is a known problem for older versions of the UVC driver where the ph
ysical device path reported by udev ('/sys/devices/pci0000:00/0000:00:10.0/usb1/
1-1' in this case) points to the USB device instead of the USB interface. For th
ese versions of the UVC driver dynamic controls are not supported anyway. Please
update your uvcvideo driver to the latest version if you know that this device
is a UVC device.
Found vendor XML file: /etc/udev/data/046d/logitech.xml
Executing command: 'uvcdynctrl -d /dev/v4l/video2 -i /etc/udev/data/046d/logitec
h.xml'
[libwebcam] Unknown custom V4L2 control ID encountered: 134217728 (V4L2_CID_PRIV
ATE_BASE + 0)
[libwebcam] Unknown custom V4L2 control ID encountered: 134217728 (V4L2_CID_PRIV
ATE_BASE + 0)
[libwebcam] Warning: The driver behind device video3 does not seem to support V4
L2.
[libwebcam] Warning: The driver behind device video4 does not seem to support V4
L2.
[libwebcam] Warning: The driver behind device video3 does not seem to support V4
L2.
[libwebcam] Warning: The driver behind device video4 does not seem to support V4
L2.
[libwebcam] Warning: The driver behind device video3 does not seem to support V4
L2.
[libwebcam] Warning: The driver behind device video4 does not seem to support V4
L2.
Importing dynamic controls from file /etc/udev/data/046d/logitech.xml.
/etc/udev/data/046d/logitech.xml: info: device 'video1' skipped because it is no
t a UVC device.
/etc/udev/data/046d/logitech.xml: info: device 'video0' skipped because it is no
t a UVC device.
==============================================================================
after boot a few commands will correct the pb :
[root@venus tmp]# uvcdynctrl -l
[libwebcam] Unknown custom V4L2 control ID encountered: 134217728 (V4L2_CID_PRIVATE_BASE + 0)
[libwebcam] Unknown custom V4L2 control ID encountered: 134217728 (V4L2_CID_PRIVATE_BASE + 0)
Listing available devices:
video2 Terratec Cinergy HT PCI
video1 BT848 video (MIRO PCTV)
video0 UVC Camera (046d:0994)
[root@venus tmp]# uvcdynctrl -d video0 -c
[libwebcam] Unknown custom V4L2 control ID encountered: 134217728 (V4L2_CID_PRIVATE_BASE + 0)
[libwebcam] Unknown custom V4L2 control ID encountered: 134217728 (V4L2_CID_PRIVATE_BASE + 0)
Listing available controls for device video0:
Exposure, Auto Priority
White Balance Temperature
White Balance Temperature, Auto
Exposure (Absolute)
Exposure, Auto
Sharpness
Power Line Frequency
Backlight Compensation
Gain
Saturation
Contrast
Brightness
[root@venus tmp]# udevtrigger --retry-failed --verbose
/class/sound/controlC0
/class/video4linux/vbi0
/class/video4linux/vbi1
/class/video4linux/video0
/class/video4linux/video1
/class/video4linux/video2
/devices/pci0000:00/0000:00:10.3/usb4/4-1/4-1:1.0
/devices/pci0000:00/0000:00:10.3/usb4/4-1/4-1:1.1
/devices/pci0000:00/0000:00:10.4/usb5/5-3/5-3:1.1
/devices/pci0000:00/0000:00:10.4/usb5/5-3/5-3:1.2
/devices/pci0000:00/0000:00:10.4/usb5/5-3/5-3:1.3
[root@venus tmp]# uvcdynctrl -d video0 -c
[libwebcam] Unknown V4L2 control ID encountered: 10094852
[libwebcam] Unknown V4L2 control ID encountered: 10094853
[libwebcam] Unknown custom V4L2 control ID encountered: 134217728 (V4L2_CID_PRIVATE_BASE + 0)
[libwebcam] Unknown custom V4L2 control ID encountered: 134217728 (V4L2_CID_PRIVATE_BASE + 0)
Listing available controls for device video0:
Raw bits per pixel
Disable video processing
LED1 Frequency
LED1 Mode
Focus
Pan/tilt Reset
Exposure, Auto Priority
White Balance Temperature
White Balance Temperature, Auto
Exposure (Absolute)
Exposure, Auto
Sharpness
Power Line Frequency
Backlight Compensation
Tilt Reset
Pan Reset
Tilt (relative)
Pan (relative)
Gain
Saturation
Contrast
Brightness
I am having problems with coldplugging and my Logitech sphere webcam.
i.e : booting with the webcam plugged into the computer .
(hotplugging is working fine ) .
I also have 2 other video devices in the computer : a pci terratec dvb-t card and a bttv tv card . when booting the computer all the video drivers get loaded correctly , but the rule 80-uvcdynctrl.rules (which should load the additionnal v4l 2properties to the uvc camera (pan/tilt etc ) , is not always triggered , (not on every boot ) , if it is triggered , most of the time it fails (not finding VID or PID of the device in the /sys filesystem) , or the uvcdynctrl -i command gets applied but on the wrong v4l device (so it fails ). this varies a lot , sometime (1 out of 30 ) it even succeeds ...
when the machine has finished booting , passing manually the command "udevtrigger" will correct things (the pb is that its manual ..)
my distrib is mandriva 2007 , udev version is 106 .
to me the pb seems :
a) timing related
b) due to the fact that there are several v4l devices on my system.
c) the v4l device number (video0 , video1 etc ) seem to move around a bit
during the boot process . (as seen from /tmp/uvcdynctrl-udev.log )
I don't think it is due to libwebcam , maybe to the way udev works at boot or the initialisation steps of uvcvideo driver ?
i am not so familiar with udev , I was wondering if any of you , has been
experimenting those problems with cold plugging and found a not too ugly fix .
thanks for any idea .
here is an extract of /tmp/uvcdynctrl-udev.log
(notice how video2 gets turned into video0 ...?)
==============================================================================
Triggered at Thu Mar 27 22:07:12 UTC 2008
ACTION=add
BASH=/bin/sh
BASH_ARGC=()
BASH_ARGV=()
BASH_LINENO=([0]="0")
BASH_SOURCE=([0]="/lib/udev/uvcdynctrl")
BASH_VERSINFO=([0]="3" [1]="1" [2]="17" [3]="2" [4]="release" [5]="i586-mandriva
-linux-gnu")
BASH_VERSION='3.1.17(2)-release'
DEVLINKS='/dev/sonix_cam_0 /dev/video4'
DEVNAME=/dev/v4l/video4
DEVPATH=/class/video4linux/video4
DIRSTACK=()
EUID=0
GROUPS=()
HOSTNAME=venus.localwarp.net
HOSTTYPE=i586
IFS='
'
MACHTYPE=i586-mandriva-linux-gnu
MAJOR=81
MINOR=4
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PATH=/usr/gnu/bin:/usr/local/bin:/bin:/usr/bin:.
PHYSDEVBUS=usb
PHYSDEVDRIVER=usb
PHYSDEVPATH=/devices/pci0000:00/0000:00:10.0/usb1/1-1
PIPESTATUS=([0]="0")
POSIXLY_CORRECT=y
PPID=4784
PS4='+ '
PWD=/
SEQNUM=1865
SHELL=/bin/bash
SHELLOPTS=braceexpand:hashall:interactive-comments
osixSHLVL=1
SUBSYSTEM=video4linux
TERM=dumb
UDEVD_EVENT=1
UDEV_LOG=3
UID=0
_='Triggered at Thu Mar 27 22:07:12 UTC 2008\n'
logfile=/tmp/uvcdynctrl-udev.log
uvcdynctrlpath=uvcdynctrl
xmlpath=/etc/udev/data
VID of new device: '0c45'
PID of new device: '602c'
VID of new device: ''
PID of new device: ''
ERROR: Unable to extract USB VID from '/sys/devices/pci0000:00/0000:00:0a.0/../i
dVendor'.
VID of new device: ''
PID of new device: ''
ERROR: Unable to extract USB VID from '/sys/devices/pci0000:00/0000:00:09.0/../i
dVendor'.
VID of new device: '046d'
PID of new device: '0994'
VID of new device: '0c45'
PID of new device: '602c'
ERROR: Device is not handled by uvcvideo but by 'usb'.
Note: There is a known problem for older versions of the UVC driver where the ph
ysical device path reported by udev ('/sys/devices/pci0000:00/0000:00:10.2/usb3/
3-2' in this case) points to the USB device instead of the USB interface. For th
ese versions of the UVC driver dynamic controls are not supported anyway. Please
update your uvcvideo driver to the latest version if you know that this device
is a UVC device.
ERROR: Device is not handled by uvcvideo but by 'usb'.
Note: There is a known problem for older versions of the UVC driver where the ph
ysical device path reported by udev ('/sys/devices/pci0000:00/0000:00:10.0/usb1/
1-1' in this case) points to the USB device instead of the USB interface. For th
ese versions of the UVC driver dynamic controls are not supported anyway. Please
update your uvcvideo driver to the latest version if you know that this device
is a UVC device.
Found vendor XML file: /etc/udev/data/046d/logitech.xml
Executing command: 'uvcdynctrl -d /dev/v4l/video2 -i /etc/udev/data/046d/logitec
h.xml'
[libwebcam] Unknown custom V4L2 control ID encountered: 134217728 (V4L2_CID_PRIV
ATE_BASE + 0)
[libwebcam] Unknown custom V4L2 control ID encountered: 134217728 (V4L2_CID_PRIV
ATE_BASE + 0)
[libwebcam] Warning: The driver behind device video3 does not seem to support V4
L2.
[libwebcam] Warning: The driver behind device video4 does not seem to support V4
L2.
[libwebcam] Warning: The driver behind device video3 does not seem to support V4
L2.
[libwebcam] Warning: The driver behind device video4 does not seem to support V4
L2.
[libwebcam] Warning: The driver behind device video3 does not seem to support V4
L2.
[libwebcam] Warning: The driver behind device video4 does not seem to support V4
L2.
Importing dynamic controls from file /etc/udev/data/046d/logitech.xml.
/etc/udev/data/046d/logitech.xml: info: device 'video1' skipped because it is no
t a UVC device.
/etc/udev/data/046d/logitech.xml: info: device 'video0' skipped because it is no
t a UVC device.
==============================================================================
after boot a few commands will correct the pb :
[root@venus tmp]# uvcdynctrl -l
[libwebcam] Unknown custom V4L2 control ID encountered: 134217728 (V4L2_CID_PRIVATE_BASE + 0)
[libwebcam] Unknown custom V4L2 control ID encountered: 134217728 (V4L2_CID_PRIVATE_BASE + 0)
Listing available devices:
video2 Terratec Cinergy HT PCI
video1 BT848 video (MIRO PCTV)
video0 UVC Camera (046d:0994)
[root@venus tmp]# uvcdynctrl -d video0 -c
[libwebcam] Unknown custom V4L2 control ID encountered: 134217728 (V4L2_CID_PRIVATE_BASE + 0)
[libwebcam] Unknown custom V4L2 control ID encountered: 134217728 (V4L2_CID_PRIVATE_BASE + 0)
Listing available controls for device video0:
Exposure, Auto Priority
White Balance Temperature
White Balance Temperature, Auto
Exposure (Absolute)
Exposure, Auto
Sharpness
Power Line Frequency
Backlight Compensation
Gain
Saturation
Contrast
Brightness
[root@venus tmp]# udevtrigger --retry-failed --verbose
/class/sound/controlC0
/class/video4linux/vbi0
/class/video4linux/vbi1
/class/video4linux/video0
/class/video4linux/video1
/class/video4linux/video2
/devices/pci0000:00/0000:00:10.3/usb4/4-1/4-1:1.0
/devices/pci0000:00/0000:00:10.3/usb4/4-1/4-1:1.1
/devices/pci0000:00/0000:00:10.4/usb5/5-3/5-3:1.1
/devices/pci0000:00/0000:00:10.4/usb5/5-3/5-3:1.2
/devices/pci0000:00/0000:00:10.4/usb5/5-3/5-3:1.3
[root@venus tmp]# uvcdynctrl -d video0 -c
[libwebcam] Unknown V4L2 control ID encountered: 10094852
[libwebcam] Unknown V4L2 control ID encountered: 10094853
[libwebcam] Unknown custom V4L2 control ID encountered: 134217728 (V4L2_CID_PRIVATE_BASE + 0)
[libwebcam] Unknown custom V4L2 control ID encountered: 134217728 (V4L2_CID_PRIVATE_BASE + 0)
Listing available controls for device video0:
Raw bits per pixel
Disable video processing
LED1 Frequency
LED1 Mode
Focus
Pan/tilt Reset
Exposure, Auto Priority
White Balance Temperature
White Balance Temperature, Auto
Exposure (Absolute)
Exposure, Auto
Sharpness
Power Line Frequency
Backlight Compensation
Tilt Reset
Pan Reset
Tilt (relative)
Pan (relative)
Gain
Saturation
Contrast
Brightness