Hello,
I have PointGrey USB3 Camera GS3-U3-51S5C-C and TX2 with JetPack 3.3 — L4T R28.2.1
I also follow the [url]http://www.ptgrey.com/KB/10357[/url] to install flycapture2 SDK
Now I can record image files from the camera by FlyCapture2Test , but the input latency is too long
and not acceptable for ADAS object detection CNN like MobileNet-SSD.
Can the PointGrey USB3 Camera be a V4L device on TX2 , like /dev/video1 and thus the CNN can use it
as the input video usb device directly?
BRs,
Albert
So far as I know all “/dev/video*” devices are from the standard UVC (USB Video Class) driver. This means the camera itself must report that it is a UVC device. If you run “lsusb”, then you will see an ID. As an example, the ID might look like “0955:7c18”. If you use the ID like this (adjusting for your actual ID), then you can get a verbose listing from USB of what the device describes itself as (keep in mind one USB cable usually has multiple logical devices, e.g., a control interface might be custom while the main camera is either a bulk transfer or UVC device):
sudo lsusb -d 0955:7c18 -vvv | tee log_usb.txt
You could post the log and it might offer clues as to whether it can function as a standard interface or if it requires a custom driver.
1 Like
Hi, linuxdev
I got these information , but still don’t how to bind it into V4L device’s name (/dev/video*), any idea about it?
nvidia@tegra-ubuntu:~$ lsusb
Bus 002 Device 002: ID 1e10:3300 Point Grey Research, Inc.
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 046d:081b Logitech, Inc. Webcam C310
Bus 001 Device 004: ID 046d:c024 Logitech, Inc. MX300 Optical Mouse
Bus 001 Device 003: ID 046d:c315 Logitech, Inc. Classic Keyboard 200
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
nvidia@tegra-ubuntu:~$ sudo lsusb -d 1e10:3300 -vvv | tee log_usb.txt
[sudo] password for nvidia:
Bus 002 Device 002: ID 1e10:3300 Point Grey Research, Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 3.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2 ?
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 9
idVendor 0x1e10 Point Grey Research, Inc.
idProduct 0x3300
bcdDevice 0.00
iManufacturer 1 Point Grey Research
iProduct 2 Grasshopper3 GS3-U3-51S5C
iSerial 3 00FBA61D
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 116
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 224mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 3
bFunctionClass 239 Miscellaneous Device
bFunctionSubClass 5 USB3 Vision
bFunctionProtocol 0
iFunction 4 USB3 Vision Device
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 239 Miscellaneous Device
bInterfaceSubClass 5 USB3 Vision
bInterfaceProtocol 0
iInterface 0
** UNRECOGNIZED: 14 24 01 00 00 01 00 00 00 01 00 05 06 07 08 09 0a 0b 0c 0c
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 239 Miscellaneous Device
bInterfaceSubClass 5 USB3 Vision
bInterfaceProtocol 1
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 239 Miscellaneous Device
bInterfaceSubClass 5 USB3 Vision
bInterfaceProtocol 2
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 15
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 22
bNumDeviceCaps 2
USB 2.0 Extension Device Capability:
bLength 7
bDescriptorType 16
bDevCapabilityType 2
bmAttributes 0x0000f61e
Link Power Management (LPM) Supported
SuperSpeed USB Device Capability:
bLength 10
bDescriptorType 16
bDevCapabilityType 3
bmAttributes 0x00
wSpeedsSupported 0x000c
Device can operate at High Speed (480Mbps)
Device can operate at SuperSpeed (5Gbps)
bFunctionalitySupport 2
Lowest fully-functional device speed is High Speed (480Mbps)
bU1DevExitLat 10 micro seconds
bU2DevExitLat 512 micro seconds
Device Status: 0x000c
(Bus Powered)
U1 Enabled
U2 Enabled
If the pointgrey’s V4L devices is /dev/video1 , then I can run darknet by this command:
./darknet detector demo cfg/coco.data cfg/yolov2.cfg yolov2.weights /dev/video1
The interface for controlling seems to be custom:
bDeviceClass 239 Miscellaneous Device
The other interfaces may be non-custom, but they are not video class (meaning you won’t be able to get a “/dev/video#” unless there is some sort of adapter software):
bFunctionSubClass 5 USB3 Vision
...
bInterfaceSubClass 5 USB3 Vision
You will probably need to research documentation from the camera manufacturer to see an explanation of how communication to the camera is designed. Perhaps they provide a development API.
1 Like
Thanks to linuxdev.
I had research the document and find Flea3 uses the same IIDC v1.32 camera control protocol used by
all other Point Grey FireWire and USB cameras, it doesn’t use the USB Video Class (UVC) camera
control protocol.
So it seems need some great effort to integrate with deep learning frame work.
Does anyone know how to use the IIDC v1.32 / DCAM camera control protocol on TX2?
1 Like
@albertchung did you ever get it working? I’m having this problem now on Linux.