Please provide the following info (tick the boxes after creating this topic): Software Version
DRIVE OS 6.0.6
DRIVE OS 6.0.5
DRIVE OS 6.0.4 (rev. 1)
DRIVE OS 6.0.4 SDK
other
Target Operating System
Linux
QNX
other
Hardware Platform
DRIVE AGX Orin Developer Kit (940-63710-0010-300)
DRIVE AGX Orin Developer Kit (940-63710-0010-200)
DRIVE AGX Orin Developer Kit (940-63710-0010-100)
DRIVE AGX Orin Developer Kit (940-63710-0010-D00)
DRIVE AGX Orin Developer Kit (940-63710-0010-C00)
DRIVE AGX Orin Developer Kit (not sure its number)
other
SDK Manager Version
1.9.3.10904
other
Host Machine Version
native Ubuntu Linux 20.04 Host installed with SDK Manager
native Ubuntu Linux 20.04 Host installed with DRIVE OS Docker Containers
native Ubuntu Linux 18.04 Host installed with DRIVE OS Docker Containers
other
Hello,
We have a setup running v4l2loopback to create dummy USB cameras, which can receive custom images.
On x86 the setup works, and DriveWorks can create a sensor with the v4l2loopback camera device (for example with sample_camera_usb
Sadly on the ORIN DevKit this setup leads to the following error, while being fine on the host system.
The v4l2loopback cameras do work, since they display the images we’d like to use in DriveWorks, on a website which can test different webcam devices.
What could be the reason for the error? The Camera has the format 800x600, the sample is changed to create a 800x600 window to render the camera image.
Tahnks for looking into.
sudo ./sample_camera_usb --device 6
ProgramArguments: Missing argument 'dwTracePath' requested
[01-09-2023 13:04:47] Platform: Detected Drive Orin P3710
[01-09-2023 13:04:47] TimeSource: monotonic epoch time offset is 1693561297048705
[01-09-2023 13:04:47] TimeSourceVibranteLinux: detect valid PTP interface mgbe2_0
[01-09-2023 13:04:47] TimeSource Nvpss : PTP ioctl returned error. Synchronized time will not be available from this timesource.
[01-09-2023 13:04:47] TimeSource: Could not detect valid PTP time source at nvpps. Fallback to mgbe2_0
[01-09-2023 13:04:47] PTP Time is available from Eth Driver
[01-09-2023 13:04:47] Platform: currently selected GPU device integrated ID 0
[01-09-2023 13:04:47] Context::mountResourceCandidateDataPath resource FAILED to mount from './resources': VirtualFileSystem: Failed to mount './resources/resources.pak'
[01-09-2023 13:04:47] Context::mountResourceCandidateDataPath resource FAILED to mount from '/home/nvidia/apps/data': VirtualFileSystem: Failed to mount '/home/nvidia/apps/data/resources.pak'
[01-09-2023 13:04:47] Context::mountResourceCandidateDataPath resource FAILED to mount from '/usr/local/driveworks/data': VirtualFileSystem: Failed to mount '/usr/local/driveworks/data/resources.pak'
[01-09-2023 13:04:47] Context::mountResourceCandidateDataPath resource FAILED to mount from '/usr/local/driveworks-5.8/data': VirtualFileSystem: Failed to mount '/usr/local/driveworks-5.8/data/resources.pak'
[01-09-2023 13:04:47] Context::findResourcesPackageInPathWalk: Could not find ./resources/resources.pak in upto 7 parent directories from /usr/local/driveworks/lib/libdw_base.so.5.8
[01-09-2023 13:04:47] Context::findResourcesPackageInPathWalk: Could not find ./resources/resources.pak in upto 7 parent directories from /usr/local/driveworks-5.8/targets/aarch64-Linux/lib/libdw_base.so.5.8
[01-09-2023 13:04:47] SDK: No resources(.pak) mounted, some modules will not function properly
[01-09-2023 13:04:47] SDK: Create NvMediaDevice
[01-09-2023 13:04:47] SDK: use EGL display as provided
[01-09-2023 13:04:47] TimeSource: monotonic epoch time offset is 1693561297048705
[01-09-2023 13:04:47] TimeSourceVibranteLinux: detect valid PTP interface mgbe2_0
[01-09-2023 13:04:47] TimeSource Nvpss : PTP ioctl returned error. Synchronized time will not be available from this timesource.
[01-09-2023 13:04:47] TimeSource: Could not detect valid PTP time source at nvpps. Fallback to mgbe2_0
[01-09-2023 13:04:47] PTP Time is available from Eth Driver
[01-09-2023 13:04:47] Initialize DriveWorks SDK v5.8.82
[01-09-2023 13:04:47] Release build with GNU 9.3.0 from buildbrain-branch-0-g33d6f4a1440 against Drive PDK v6.0.5.0
[01-09-2023 13:04:47] SensorFactory::createSensor() -> time.nvpps, nvpps-device=/dev/nvpps0
[01-09-2023 13:04:47] TimeSensor: initialized with no UTC time reference.
[01-09-2023 13:04:47] EndpointNVPPS: started on /dev/nvpps0
[01-09-2023 13:04:47] Initialize DriveWorks VisualizationSDK v5.8.82
[01-09-2023 13:04:47] Initialize DriveWorksGL SDK v5.8.82
[01-09-2023 13:04:47] SensorFactory::createSensor() -> camera.usb, device=6,mode=0
[01-09-2023 13:04:47] CameraV4L: Device does not support user pointer i/o.
[01-09-2023 13:04:47] CameraV4L: Pool size reduced from 8 to 2.
[01-09-2023 13:04:47] CameraV4L: initialized in READ mode
[01-09-2023 13:04:47] Driveworks exception thrown: DW_SAL_CANNOT_CREATE_SENSOR: CameraV4L: Could not initialize resources(Invalid argument)
terminate called after throwing an instance of 'std::runtime_error'
what(): [2023-09-01 13:04:47] DW Error DW_SAL_CANNOT_CREATE_SENSOR executing DW function:
dwSAL_createSensor(&m_camera, params, m_sal)
/usr/local/driveworks/bin/sample_camera_usb --device 6
ProgramArguments: Missing argument 'dwTracePath' requested
[01-09-2023 13:17:11] Platform: Detected Generic x86 Platform
[01-09-2023 13:17:11] TimeSource: monotonic epoch time offset is 1693535343915321
[01-09-2023 13:17:11] Adding variable DW_Base:DW_Version
[01-09-2023 13:17:11] Addded variable DW_Base:DW_Version
[01-09-2023 13:17:11] Platform: number of GPU devices detected 1
[01-09-2023 13:17:11] Platform: currently selected GPU device 0, Resource Data Dir: trt_08_04_12_05, Arch: tu1xx-discrete
[01-09-2023 13:17:11] Platform: currently selected GPU device discrete ID 0
[01-09-2023 13:17:11] Context::mountResourceCandidateDataPath resource FAILED to mount from './resources': VirtualFileSystem: Failed to mount './resources/resources.pak'
[01-09-2023 13:17:11] Context::mountResourceCandidateDataPath resource FAILED to mount from '/home/chrtuch/data': VirtualFileSystem: Failed to mount '/home/chrtuch/data/resources.pak'
[01-09-2023 13:17:11] Context::findDataRootInPathWalk data/DATA_ROOT found at: /usr/local/driveworks-5.8/bin/../data
[01-09-2023 13:17:11] Context::mountResourceCandidateDataPath resource FAILED to mount from '/usr/local/driveworks-5.8/bin/../data': VirtualFileSystem: Failed to mount '/usr/local/driveworks-5.8/bin/../data/resources.pak'
[01-09-2023 13:17:11] Context::findDataRootInPathWalk data/DATA_ROOT found at: /usr/local/driveworks-5.8/data
[01-09-2023 13:17:11] Context::mountResourceCandidateDataPath resource FAILED to mount from '/usr/local/driveworks-5.8/data': VirtualFileSystem: Failed to mount '/usr/local/driveworks-5.8/data/resources.pak'
[01-09-2023 13:17:11] Context::findResourcesPackageInPathWalk: Could not find ./resources/resources.pak in upto 7 parent directories from /usr/local/driveworks-5.8/bin/../lib/libdw_base.so.5.8
[01-09-2023 13:17:11] Context::findResourcesPackageInPathWalk: Could not find ./resources/resources.pak in upto 7 parent directories from /usr/local/driveworks-5.8/targets/x86_64-Linux/lib/libdw_base.so.5.8
[01-09-2023 13:17:11] SDK: No resources(.pak) mounted, some modules will not function properly
[01-09-2023 13:17:11] TimeSource: monotonic epoch time offset is 1693535343915321
[01-09-2023 13:17:11] Initialize DriveWorks SDK v5.8.82
[01-09-2023 13:17:11] Release build with GNU 9.3.0 from buildbrain-branch-0-g33d6f4a1440
[01-09-2023 13:17:11] Initialize DriveWorks VisualizationSDK v5.8.82
[01-09-2023 13:17:11] Initialize DriveWorksGL SDK v5.8.82
[01-09-2023 13:17:11] GL-SDK: initialize OpenGL
[01-09-2023 13:17:11] SensorFactory::createSensor() -> camera.usb, device=6,mode=0
[01-09-2023 13:17:11] CameraBase: pool size set to 8
Dear @christopher.tuch,
Per my understanding after inspecting code path, it is not a supported on target and hence hitting issue. I am yet to get confirmation from core team. Thanks for reminder.
Thanks for your response, will this be supported maybe in the future? The v4l2loopback dummy cameras do work on target - as I said on a website, which can test webcams. It seems strange to me that the v4l2loopback dummy cameras work on x86 in DriveWorks, but not on the ORIN DevKit.
Dear @christopher.tuch,
We have released DRIVE OS 6.0.8.1 on DevZone. Could you give a try with recent release. There are few known issues with usb cameras in last release.
So, after flashing 6.0.8.1 and adjusting cross compilation pipeline, the sample_camera_usb (compiled with default toolchain) cannot show the video from the v4l2loopback camera, on the other hand the website webcamtest shows the expected video on the ORIN board.
sudo ./sample_camera_usb --device 6
[sudo] password for nvidia:
ProgramArguments: Missing argument 'dwTracePath' requested
[17-10-2023 10:37:16] Platform: Detected Drive Orin P3710
[17-10-2023 10:37:16] Adding variable DW_Base:DW_Version
[17-10-2023 10:37:16] Added variable DW_Base:DW_Version
[17-10-2023 10:37:16] Platform: number of GPU devices detected 1
[17-10-2023 10:37:16] Platform: currently selected GPU device 0, Resource Data Dir: trt_08_06_10_03, Arch: ga10b
[17-10-2023 10:37:16] Platform: currently selected GPU device integrated ID 0
[17-10-2023 10:37:16] CUDLAEngine:getDLACount: CUDLA version is = 1004000
[17-10-2023 10:37:16] CUDLAEngine:getDLACount: Number of DLA devices = 2
[17-10-2023 10:37:16] Context::mountResourceCandidateDataPath resource FAILED to mount from './resources': VirtualFileSystem: Failed to mount './resources/resources.pak'
[17-10-2023 10:37:16] Context::mountResourceCandidateDataPath resource FAILED to mount from '/home/nvidia/apps/samples-6-0-8-1/data': VirtualFileSystem: Failed to mount '/home/nvidia/apps/samples-6-0-8-1/data/resources.pak'
[17-10-2023 10:37:16] Context::findDataRootInPathWalk data/DATA_ROOT found at: /usr/local/driveworks/data
[17-10-2023 10:37:16] Context::mountResourceCandidateDataPath resource FAILED to mount from '/usr/local/driveworks/data': VirtualFileSystem: Failed to mount '/usr/local/driveworks/data/resources.pak'
[17-10-2023 10:37:16] Context::findDataRootInPathWalk data/DATA_ROOT found at: /usr/local/driveworks-5.14/data
[17-10-2023 10:37:16] Context::mountResourceCandidateDataPath resource FAILED to mount from '/usr/local/driveworks-5.14/data': VirtualFileSystem: Failed to mount '/usr/local/driveworks-5.14/data/resources.pak'
[17-10-2023 10:37:16] Context::findResourcesPackageInPathWalk: Could not find ./resources/resources.pak in upto 7 parent directories from /usr/local/driveworks/lib/libdw_base.so.5.14
[17-10-2023 10:37:16] Context::findResourcesPackageInPathWalk: Could not find ./resources/resources.pak in upto 7 parent directories from /usr/local/driveworks-5.14/targets/aarch64-Linux/lib/libdw_base.so.5.14
[17-10-2023 10:37:16] SDK: No resources(.pak) mounted, some modules will not function properly
[17-10-2023 10:37:16] SDK: use EGL display as provided
[17-10-2023 10:37:16] [17-10-2023 10:37:16] Initialize DriveWorks SDK v5.14.74
[17-10-2023 10:37:16] [17-10-2023 10:37:16] Release build with GNU 9.3.0 from buildbrain-branch-0-g30b7ba5bb0c against Drive PDK v6.0.8.0
[17-10-2023 10:37:16] SensorFactory::createSensor() -> time.nvpps, nvpps-device=/dev/nvpps0
[17-10-2023 10:37:16] Found driver: time.nvpps
[17-10-2023 10:37:16] TimeSensor: failed to set NVPPS parameters. Error: Invalid argument
[17-10-2023 10:37:16] This platform does not support NVPPS GPIO mode. Fallback to timer mode
[17-10-2023 10:37:16] TimeSensor: initialized with no UTC time reference.
[17-10-2023 10:37:16] SensorFactory: Override default timeSensor with the user passed one
[17-10-2023 10:37:16] EndpointNVPPS: started on /dev/nvpps0
[17-10-2023 10:37:16] Initialize DriveWorks VisualizationSDK v5.14.74
[17-10-2023 10:37:16] Initialize DriveWorksGL SDK v5.14.74
[17-10-2023 10:37:16] SensorFactory::createSensor() -> camera.usb, device=6,mode=0
[17-10-2023 10:37:16] Found driver: camera.usb
[17-10-2023 10:37:16] CameraBase: pool size set to 8
[17-10-2023 10:37:16] CameraV4L: Device does not support user pointer i/o.
[17-10-2023 10:37:16] CameraV4L: Pool size reduced from 8 to 2.
[17-10-2023 10:37:16] CameraV4L: initialized in READ mode
[17-10-2023 10:37:16] Driveworks exception thrown: DW_SAL_CANNOT_CREATE_SENSOR: CameraV4L: Could not initialize resources(Invalid argument)
terminate called after throwing an instance of 'std::runtime_error'
what(): [2023-10-17 10:37:16] DW Error DW_SAL_CANNOT_CREATE_SENSOR executing DW function:
dwSAL_createSensor(&m_camera, params, m_sal)
at /usr/local/driveworks/samples/src/sensors/camera/camera_usb/main.cpp:127
Aborted
This is the error log running sample camera usb, while the devices work in the firefox.