Serial Connection Issue - Jetson Nano and Arduino


I am receiving this error when trying to send data from my Nano via USB to an arduino. The python code sending the data and the Arduino code receiving the data are included. Does anyone know what the problem could be?

/dev/ttyACM0 is right?

hello jpurpura37,

please check you’re having correct serial port connections,
for example, please confirm you have port /dev/ttyACM0 registered and able to access.
thanks

FYI, the file “/dev/ttyACM0” is not a real file, it is the driver pretending to be a file (the content is really in RAM). If the driver does not load, then the file won’t exist. Can you say exactly what cable is plugging into which socket of which computer? I’m just wondering if it is just a simple cable issue.

When I type in “dmesg | grep tty” while in my home directory the port shows up, but when I do it in the my-detection directory mounted into the jetson-inference docker it does not show up and I get this error: “dmesg: read kernel buffer failed: Operation not permitted.” Currently, I have the arduino plugged directly into one of the usb ports on the Jetson.

In addition, I know the chord is not the issue because it has no problem uploading Arduino ide code from the Jetson to the Arduino board. I suspect it is a path issue, in the docker container the port cannot be recognized but outside it is recognized. How can I fix this?

I have now tried mounting the usb device in the container using the --device flag, as well as giving the docker container access to all devices using the --privileged, and have even tried mounting the /dev/bus/usb directory in as well. Nothing is working. I get this error while the container is opening as an example, “WARN: Unknown option (ignored): --device=/dev/ttyACM0.” I have been at his for hours and I don’t understand what is going on.

I don’t know enough about how to pass on devices to Docker, but this would no doubt be an extra step in container setup which you wouldn’t need to worry about in a native environment. Someone else will need to answer how to pass on “/dev/ttyACM0” to Docker. Docker pretty much changes everything when it comes to hardware access.

All good, I think passing the device in is the issue and I appreciate your help!