Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

USB3 UVC Extensions Fail to Import #15

Closed
mfisher31 opened this issue Aug 13, 2014 · 4 comments
Closed

USB3 UVC Extensions Fail to Import #15

mfisher31 opened this issue Aug 13, 2014 · 4 comments

Comments

@mfisher31
Copy link

I'm reporting this as an issue because import XML and installation instructions come from this code repository.

My USB3 model, DFK 23UM021, camera is not setting up correctly. I can install the udev rules fine following these instructions: https://github.com/TheImagingSource/tiscamera/wiki/UDEV-Rules. However, when I try to install the uvc extensions, I receive a flood of errors. I'm working on a Debian Jessie machine. I'm following the instructions as noted here: https://github.com/TheImagingSource/tiscamera/wiki/UVC-Extension-Units . Every single extension produces a "error 2: No such file or directory" message.

I am using a fairly new kernel version:

Linux i7 3.12-1-amd64 #1 SMP Debian 3.12.9-1 (2014-02-01) x86_64 GNU/Linux

Linux indicates that the device is detected:

$ dmesg
...[10242.924068] usb 6-2: new SuperSpeed USB device number 3 using xhci_hcd
[10242.947071] usb 6-2: New USB device found, idVendor=199e, idProduct=8455
[10242.947076] usb 6-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[10242.947079] usb 6-2: Product: DFK 23UM021
[10242.947081] usb 6-2: Manufacturer: The Imaging Source Europe GmbH
[10242.947084] usb 6-2: SerialNumber: 42310118
[10242.947833] uvcvideo: Found UVC 1.10 device DFK 23UM021 (199e:8455)
$ lsusb; lsusb -t
...
Bus 006 Device 003: ID 199e:8455 The Imaging Source Europe GmbH 
...
/:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
    |__ Port 2: Dev 3, If 0, Class=Video, Driver=uvcvideo, 5000M
    |__ Port 2: Dev 3, If 1, Class=Video, Driver=uvcvideo, 5000M
...

Console output of uvcdynctrl when trying to import extensions:

mfisher@i7:~/workspace/video/tiscamera/data/uvc-extensions$ sudo uvcdynctrl -i usb3.xml -d /dev/video0
Importing dynamic controls from file usb3.xml.
usb3.xml: error: video0: unable to map 'Exposure Time (us)' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'Auto Shutter' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'Auto Exposure Reference' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'Gain (dB/100)' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'Gain Auto' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'Whitebalance One Push' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'Whitebalance Preset' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'Trigger Mode' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'Trigger Polarity' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'Trigger Global Reset Release' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'Software Trigger' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'Trigger Delay' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'Strobe Enable' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'Strobe Polarity' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'Strobe Exposure' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'Strobe Duration' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'Strobe Delay' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'GPOUT' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'GPIN' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'ROI Offset X' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'ROI Offset Y' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'ROI Auto Center' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'Auto Focus One Push' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'Auto Focus ROI Enable' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'Auto Focus ROI Left' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'Auto Focus ROI Top' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'ATR Enable' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'ATR Gain' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'ATR Enable Wide D' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'ATR Contrast' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'ATR Contrast Auto' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'ATR Chroma' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'Image Stabilization' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'Noise Reduction' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
usb3.xml: error: video0: unable to map 'Face Detection' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
mfisher@i7:~/workspace/video/tiscamera/data/uvc-extensions$ ls -l /dev/video0
crw-rw----+ 1 root video 81, 0 Aug 13 10:08 /dev/video0
@mfisher31 mfisher31 changed the title USB3 UVC Extensions Fail to Install USB3 UVC Extensions Fail to Import Aug 13, 2014
@TIS-Edgar
Copy link
Member

Hi there,

  1. The udev rules are only required for usb2.0 ccd cameras. Usb 3.0 cameras should always be detected out of the box.
  2. Currently our uvc extensions are generic ones that provide additional controls for all usb3.0 cameras.
    All controls the camera does not exhibit will (obviously) fail. That however does not mean that uvcdynctrl was unable to add controls.

To get a list of available controls you can use v4l2-ctl --all. It is part of the package v4l-utils
A M021 camera without extensions should currently display three controls:

                 brightness (int)    : min=0 max=4095 step=1 default=16 value=16
                       gain (int)    : min=32 max=2047 step=1 default=32 value=32
          exposure_absolute (int)    : min=1 max=10000 step=1 default=333 value=10

After applying the extension units you should get these:

                 brightness (int)    : min=0 max=4095 step=1 default=16 value=16
                       gain (int)    : min=32 max=2047 step=1 default=32 value=32
          exposure_absolute (int)    : min=1 max=10000 step=1 default=333 value=10
           exposure_time_us (int)    : min=100 max=1000000 step=1 default=33333 value=1000
                gain_db_100 (int)    : min=0 max=1805 step=1 default=0 value=0
               roi_offset_x (int)    : min=0 max=1184 step=2 default=0 value=0
               roi_offset_y (int)    : min=0 max=864 step=2 default=0 value=0
            roi_auto_center (bool)   : default=1 value=1

So unless you do not get additional controls this is not a bug (albeit irritating and something that I do have on my ToDo list).

@mfisher31
Copy link
Author

Hi thanks for replying! Based on the last comment, something isn't sitting right. the brightness control is always missing before and after running uvcdynctrl. No new controls are present after the import.

mfisher@i7:~/workspace/video/tiscamera/data/uvc-extensions$ v4l2-ctl --list-ctrls
                       gain (int)    : min=32 max=255 step=1 default=32 value=32
exposure_absolute (int)    : min=1 max=10000 step=1 default=333 value=10
mfisher@i7:~/workspace/video/tiscamera/data/uvc-extensions$ sudo uvcdynctrl -i usb3.xml -d /dev/video0
Importing dynamic controls from file usb3.xml.
usb3.xml: error: video0: unable to map 'Exposure Time (us)' control. ioctl(UVCIOC_CTRL_MAP) failed with return value -1 (error 2: No such file or directory)
... more errors here ...
mfisher@i7:~/workspace/video/tiscamera/data/uvc-extensions$ v4l2-ctl --list-ctrls                         
                       gain (int)    : min=32 max=255 step=1 default=32 value=32
exposure_absolute (int)    : min=1 max=10000 step=1 default=333 value=10

@TIS-Edgar
Copy link
Member

In that case you need a firmware update as your camera seems to have an older version.

Should have noticed earlier that your initial error report states 'unable to map 'Exposure Time (us)'' which is something every usb3 camera has. My mistake. You already wrote to our support mail concerning this issue, so I took the freedom and sent you the concerning update. That should take care of the issue.

@mfisher31
Copy link
Author

Ahh, ok. Thanks ! I thought that it possibly could have been a firmware thing too. Thanks for all of your help ! The firmware update did the trick:

mfisher@i7:~/workspace/video/tiscamera/data/uvc-extensions$ v4l2-ctl --list-ctrls
                     brightness (int)    : min=0 max=4095 step=1 default=16 value=16
                           gain (int)    : min=32 max=2047 step=1 default=32 value=32
              exposure_absolute (int)    : min=1 max=10000 step=1 default=333 value=10
               exposure_time_us (int)    : min=100 max=1000000 step=1 default=33333 value=1000
                    gain_db_100 (int)    : min=0 max=1805 step=1 default=0 value=0
                   roi_offset_x (int)    : min=0 max=1184 step=2 default=0 value=0
                   roi_offset_y (int)    : min=0 max=864 step=2 default=0 value=0
                roi_auto_center (bool)   : default=1 value=1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants