USB issues with A603 Carrier board and Jetson Orin NX 16GB

We have bought the A603 carrier board for jetson orin from you.

The jetson is flashed with Jetpack version 5.1.2 (L4T Version 35.4.1) following the wiki guide A603 Carrier Board | Seeed Studio Wiki.

Note that we made sure to get the correct BSP driver for jetson 5.1.2. When we interact with our connected mipi camera using v4l2, all connected USB devices disconnects. We do have a NVIDIA jetson orin nano developer kit, this carrier board does not present the same issue.
This causes us to believe that the error is in your provided peripheral drivers. Is this an issue you are familiar with, or can you propose a solution?

attached are the system logs from when the issue is encountered.
Feb 29 16:19:51 haawkai systemd[1]: Starting AutoSensorā€¦
Feb 29 16:19:51 haawkai systemd[1]: Started AutoSensor.
Feb 29 16:19:51 haawkai kernel: [ 77.759896] nvgpu: 17000000.ga10b fbp_pg_mask_store:981 [INFO] no value change, same mask already set
Feb 29 16:19:51 haawkai kernel: [ 77.759911] nvgpu: 17000000.ga10b tpc_pg_mask_store:1070 [INFO] no value change, same mask already set
Feb 29 16:19:51 haawkai kernel: [ 77.802807] nvgpu: 17000000.ga10b railgate_enable_store:323 [INFO] railgate is disabled.
Feb 29 16:19:51 haawkai kernel: [ 77.846953] v4l2loopback driver version 0.12.3 loaded
Feb 29 16:19:52 haawkai nvargus-daemon[1207]: === NVIDIA Libargus Camera Service (0.99.33)=== Listening for connectionsā€¦=== gst-launch-1.0[3125]: Connection established (FFFF9A73E900)OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
Feb 29 16:19:52 haawkai nvargus-daemon[1207]: OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
Feb 29 16:19:52 haawkai nvargus-daemon[1207]: NvPclHwGetModuleList: No module data found
Feb 29 16:19:52 haawkai nvargus-daemon[1207]: NvPclHwGetModuleList: No module data found
Feb 29 16:19:52 haawkai nvargus-daemon[1207]: OFParserGetVirtualDevice: NVIDIA Camera virtual enumerator not found in proc device-tree
Feb 29 16:19:52 haawkai nvargus-daemon[1207]: ---- imager: No override file found. ----
Feb 29 16:19:52 haawkai nvargus-daemon[1207]: ---- imager: No override file found. ----
Feb 29 16:19:52 haawkai nvargus-daemon[1207]: (NvCamV4l2) Error ModuleNotPresent: V4L2Device not available (in /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function findDevice(), line 256)
Feb 29 16:19:52 haawkai nvargus-daemon[1207]: (NvCamV4l2) Error ModuleNotPresent: (propagating from /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function initialize(), line 60)
Feb 29 16:19:52 haawkai nvargus-daemon[1207]: (NvOdmDevice) Error ModuleNotPresent: (propagating from dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2SensorViCsi.cpp, function initialize(), line 111)
Feb 29 16:19:52 haawkai nvargus-daemon[1207]: NvPclDriverInitializeData: Unable to initialize driver v4l2_sensor
Feb 29 16:19:52 haawkai nvargus-daemon[1207]: NvPclInitializeDrivers: error: Failed to init camera sub module v4l2_sensor
Feb 29 16:19:52 haawkai nvargus-daemon[1207]: NvPclStartPlatformDrivers: Failed to start module drivers
Feb 29 16:19:52 haawkai nvargus-daemon[1207]: NvPclDriver_V4L2_Focuser_Stub_Close: Invalid NULL input pPclDriver
Feb 29 16:19:52 haawkai nvargus-daemon[1207]: NvPclStateControllerOpen: Failed ImagerGUID 0. (error 0xA000E)
Feb 29 16:19:52 haawkai nvargus-daemon[1207]: NvPclOpen: PCL Open Failed. Error: 0xf
Feb 29 16:19:52 haawkai nvargus-daemon[1207]: SCF: Error BadParameter: Sensor could not be opened. (in src/services/capture/CaptureServiceDeviceSensor.cpp, function getSourceFromGuid(), line 726)
Feb 29 16:19:52 haawkai nvargus-daemon[1207]: SCF: Error BadParameter: (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 453)
Feb 29 16:19:52 haawkai nvargus-daemon[1207]: SCF: Error BadParameter: (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 347)
Feb 29 16:19:52 haawkai nvargus-daemon[1207]: SCF: Error BadParameter: (propagating from src/api/CameraDriver.cpp, function getSource(), line 519)
Feb 29 16:19:53 haawkai kernel: [ 79.987259] falcon 154c0000.nvenc: Direct firmware load for nvhost_nvenc080.fw failed with error -2
Feb 29 16:19:53 haawkai kernel: [ 79.996590] falcon 154c0000.nvenc: Falling back to sysfs fallback for: nvhost_nvenc080.fw
Feb 29 16:19:53 haawkai kernel: [ 80.005859] falcon 154c0000.nvenc: looking for firmware in subdirectory
Feb 29 16:19:54 haawkai nvargus-daemon: E/ libnvphs:socket: Error[2]: socket connection /var/lib/nvphs/nvphsd.ctl to PHS failed: No such file or directory
Feb 29 16:19:54 haawkai nvargus-daemon: D/ libnvphs:socket: Warning: connecting to Power Hinting Service failed. Is PHS running?
Feb 29 16:19:54 haawkai nvargus-daemon[1207]: === gst-launch-1.0[3125]: CameraProvider initialized (0xffff946ccbe0)SCF: Error BadValue: NvPHSSendThroughputHints (in src/common/CameraPowerHint.cpp, function sendCameraPowerHint(), line 56)
Feb 29 16:19:54 haawkai nvargus-daemon: E/ libnvphs:socket: Error[2]: socket connection /var/lib/nvphs/nvphsd.ctl to PHS failed: No such file or directory
Feb 29 16:19:54 haawkai nvargus-daemon: D/ libnvphs:socket: Warning: connecting to Power Hinting Service failed. Is PHS running?
Feb 29 16:19:54 haawkai nvargus-daemon: E/ libnvphs: Error: NvPHSSendThroughputHints[usecase=camera, hint=MinCPU, value=4294967295, timeout_ms=1000]: queue_or_send() failed
Feb 29 16:19:54 haawkai geoclue[2775]: Service not used for 60 seconds. Shutting downā€¦
Feb 29 16:19:54 haawkai systemd[1]: geoclue.service: Succeeded.
Feb 29 16:19:54 haawkai kernel: [ 80.720153] bwmgr API not supported
Feb 29 16:19:54 haawkai kernel: [ 80.790413] bwmgr API not supported
Feb 29 16:19:54 haawkai kernel: [ 80.849704] bwmgr API not supported
Feb 29 16:19:54 haawkai kernel: [ 80.894229] usb 1-3.1: USB disconnect, device number 3
Feb 29 16:19:54 haawkai kernel: [ 80.898118] cp210x ttyUSB0: cp210x converter now disconnected from ttyUSB0
Feb 29 16:19:54 haawkai kernel: [ 80.898205] cp210x 1-3.1:1.0: device disconnected
Feb 29 16:19:54 haawkai kernel: [ 80.908455] nvmap_alloc_handle: PID 3125: gst-launch-1.0: WARNING: All NvMap Allocations must have a tag to identify the subsystem allocating memory.Please pass the tag to the API call NvRmMemHanldeAllocAttr() or relevant.
Feb 29 16:19:54 haawkai kernel: [ 81.099187] tegra-xusb 3610000.xhci: entering ELPG done
Feb 29 16:19:55 haawkai systemd[1]: autosensor.service: Control process exited, code=exited, status=1/FAILURE
Feb 29 16:19:55 haawkai dbus-daemon[1659]: [session uid=1000 pid=1659] Activating via systemd: service name=ā€˜org.gtk.vfs.Metadataā€™ unit=ā€˜gvfs-metadata.serviceā€™ requested by ā€˜:1.38ā€™ (uid=1000 pid=2697 comm="/usr/bin/gnome-shell " label=ā€œkernelā€)
Feb 29 16:19:55 haawkai systemd[1616]: Starting Virtual filesystem metadata serviceā€¦
Feb 29 16:19:55 haawkai dbus-daemon[1659]: [session uid=1000 pid=1659] Successfully activated service ā€˜org.gtk.vfs.Metadataā€™
Feb 29 16:19:55 haawkai systemd[1616]: Started Virtual filesystem metadata service.
Feb 29 16:19:55 haawkai nvargus-daemon[1207]: === gst-launch-1.0[3125]: Connection closed (FFFF9A73E900)=== gst-launch-1.0[3125]: WARNING: CameraProvider was not destroyed before client connection terminated.=== gst-launch-1.0[3125]: The client may have abnormally terminated. Destroying CameraProviderā€¦=== gst-launch-1.0[3125]: CameraProvider destroyed (0xffff946ccbe0)=== gst-launch-1.0[3125]: WARNING: Cleaning up 1 outstanding requestsā€¦=== gst-launch-1.0[3125]: WARNING: Cleaning up 1 outstanding stream settingsā€¦=== gst-launch-1.0[3125]: WARNING: Cleaning up 1 outstanding queuesā€¦=== gst-launch-1.0[3125]: WARNING: Cleaning up 1 outstanding sessionsā€¦SCF: Error InvalidState: (propagating from src/services/gl/EGLStreamProducer.cpp, function presentBufferInternal(), line 535)
Feb 29 16:19:55 haawkai nvargus-daemon[1207]: SCF: Error InvalidState: (propagating from src/services/gl/EGLStreamProducer.cpp, function presentBufferInternal(), line 535)
Feb 29 16:19:55 haawkai systemd[1]: autosensor.service: Failed with result ā€˜exit-codeā€™.
Feb 29 16:19:55 haawkai nvargus-daemon[1207]: SCF: Error InvalidState: (propagating from src/services/gl/EGLStreamProducer.cpp, function presentBufferInternal(), line 535)
Feb 29 16:19:55 haawkai kernel: [ 81.554845] bwmgr API not supported
Feb 29 16:19:55 haawkai nvargus-daemon[1207]: message repeated 2 times: [ SCF: Error InvalidState: (propagating from src/services/gl/EGLStreamProducer.cpp, function presentBufferInternal(), line 535)]
Feb 29 16:19:55 haawkai nvargus-daemon[1207]: === gst-launch-1.0[3125]: WARNING: Cleaning up 1 outstanding streamsā€¦(Argus) Error InvalidState: Unknown stream deleted. (in src/api/CaptureSessionImpl.cpp, function outputStreamDeleted(), line 1104)

Here is a walk-through of reproducing the issue. As well as a trimmed dmesg log. After boot, I have the following USB devices connected.

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 10c4:ea60 Silicon Labs CP210x UART Bridge
Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

$ ls /dev/ttyUSB*
/dev/ttyUSB0**

I then run the following command.
$ v4l2-ctl -d /dev/video0 --stream-mmap --stream-count=100**

After I ran v4l2-ctl, I now no longer have any connected USB devices.
Physically replugging the USB devices has no visible effect.

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

$ ls /dev/ttyUSB*
ls: cannot access ā€˜/dev/ttyUSB*ā€™: No such file or directory**

Log from dmesg (only the relevant parts after running v4l2-ctl)

[ 398.207780] bwmgr API not supported [ 398.285863] usb 1-3.1: USB disconnect, device number 3 [ 398.289846] cp210x ttyUSB0: cp210x converter now disconnected from ttyUSB0 [ 398.289902] cp210x 1-3.1:1.0: device disconnected [ 398.481345] tegra-xusb 3610000.xhci: entering ELPG done

We can confirm that running v4l2-ctl seems to kill the USB system on the A603 board -
after running the v4l2-ctl! it is not possible to plug in USB devices on the carrier and make them work.

Desperatly seeking advice!

Hi there,
Two things Iā€™m Thinking is,
The command options for the v4l2-ctl donā€™t look correct or is missing something ?
Is the Seed Board able or compatible with 5.1.2 (L4T Version 35.4.1)
HTH
GL :slight_smile: PJ :v:

The command options for v4l2-ctl are chosen only as a bare minimum way of requesting a video-stream from the video device in order to reproduce the bug. Something like

gst-launch-1.0 -e nvarguscamerasrc sensor-id=0 ! fakesink

will cause exactly the same issue.
Seeedstudio implies that the board is compatible as they provide peripheral drivers for jetpack version 5.1.2 (L4T Version 35.4.1).

1 Like

Hi there,
Ok I see, Is that for a ā€œUSBā€ video device capture? I was thinking maybe it needs to be a separate driver for the USB camera, looks to be trying the Nvidia one?
Wacky for sure.
Iā€™m puzzled, but will continue to look.
GL :slight_smile: PJ :v:

Hi and thanks for your interest!
We are using a Sony IMX477 with an MIPI CSI-2 interface.
The USB works fine until we start the camera with

v4l2-ctl -d /dev/video0 --stream-mmap --stream-count=100

When this command is issued the USB shuts down and no USB connections work!

Hi there,
Are you able to roll it back to 5.1.1 without too much trouble?
I think is this true ?
ā€œthat it should be noted that Jetson Orin NX module only supports JetPack 5.1 and above, while Jetson Orin Nano module only supports JetPack 5.1.1 and above.ā€
from the wiki
I donā€™t think it was fully baked :face_with_peeking_eye: :v:
HTH
GL :slight_smile: PJ

There is another interesting issue with this is that there are NO messages in the logs other than ā€œdisconnectingā€ - so it is very hard to debug this error!

Did you manage to solve the issue with usb and csi camera? I have the same issue with Jetson Orin Nano. I have flashed 5.1.1 and 5.1.2 and achieve the same result.

I apologize for being late. We have now updated a new A603 driver for this situation. Please replace it with the following driver when you install JP5.1.2. We have already tested it and confirmed that it allows USB and CSI to be used together normally.

2 Likes

Has anyone else tried this solution? It seems to have the same issues for me. As soon as i run

v4l2-ctl -d /dev/video0 --stream-mmap --stream-count=100

my peripherals stop working, even when using this new driver.

We apologize for any inconvenience caused. Our engineers have made an urgent change to the version and confirmed that it is compatible with both. You can try this version to see if it works for you!

Hey, thanks for the reply and the new zip.

Unfortunately, this new zip yielded the same results for me.
Maybe Iā€™m doing something wrong, honestly.

My Jetson is flashed with Jetpack 5.1.2 (L4T 35.4.1) using the official guide (link has already been posted in this thread).

No errors during flashing.

I followed the steps here to make sure IMX477 is setup:

Yet, when i run either

v4l2-ctl -d /dev/video0 --stream-mmap --stream-count=100

or

gst-launch-1.0 nvarguscamerasrc sensor-id=$SENSOR_ID ! "video/x-raw(memory:NVMM),width=1920,height=1080,framerate=$FRAMERATE/1" ! nvvidconv ! nv3dsink

the peripherals stop working. Hereā€™s the output of the latter command (if it helps):

The errors in the output may be relating to another (maybe unrelated) issue Iā€™m having in which the camera outputs a black screen when the command is run.

The camera Iā€™m using is this (if it helps):

Best regards :v:

I noticed that the link you provided is based on the J401 carrier board, but the carrier board for our post is the A603. Please confirm that your device is the A603 so that we can better answer your question.

If your device is indeed the A603, were you able to successfully replace the driver with the zip file I mentioned earlier?

Yes, I can confirm the device is the A603.

Yes, I was able to successfully replace the driver with the zip file. (though it never prompted me to ā€œreplace the filesā€). Other than that, the flashing was successful with no errors.

I have the same issue with the JP5.1.1, I am able to flash with the JP 5.1.2 with both drivers, however the NX does not boot up after the flash.

I have the A603 version with the 1R0 inductor.

Sorry for being late. We tested it on our end. We used this camera:

We obtained the same results. Later, we discovered that the A603 provides 1.8V for the reset GPIO in the camera interface, but the camera module requires 3.3V. To fix this issue a resistor labeled as R8 must be removed from the camera module.

So I suspect that your camera has the same situation as we did. When we remove R8, we can use the IMX477 normally.

Hi,
Iā€™m having the same issue as the original poster and I tried the fix by replacing with the new drivers provided in the thread (thank you for providing those!), however Iā€™m still getting the same bug where the USB ports shutoff as soon as I launch a gscam ROS node. The difference is that Iā€™m using an imx219 camera not an imx477 camera, so would this patch fix the imx219 camera as well?

Please note that the IMX219 and IMX477 are not the same driver package, so you need to check which link the driver you are replacing comes from.
The driver packages that support IMX219 are under this link.

If you need IMX477 driver, you need to get it here.