Ublox F9P with Jetson Xavier NX Jetpack 5.2 - baudrate problem

ttyACM0 Connection problems between Ublox F9P and Jetson Xavier NX and Jetpack 5.2 and ROS Foxy. Ublox sensor is connected to the ublox board and
this via usb with the Jetson.

ROS Ublox Package

When start the ublox I get a baudrate error

  1. cd ublox_ws
  2. source install/setup.bash
  3. ros launch ublox_gps ublox_gps_node-launch.py

Error
Could not configure serial baudrate

Thx for your support

Hi alexander102,

Are you using the devkit or custom board for Xavier NX?

It seems we don’t have this release.
Could you share the result of the following command on your board?

$ cat /etc/nv_tegra_release

Could you share the block diagram of your connection and also the full dmesg for further check?

Dev Kit

Result from cat /etc/nv_tegra_release

#R35 (release), REVISION: 4.1 GCID: 33958178, BOARD: t186ref, EABI: aarch64,
DATE: Tue Aug, 1 19:57:35 UTC 2023

You are using L4T R35.4.1 (In Jetpack 5.1.2).

Please also share the block diagram of your connection and the full dmesg for further check.

The Connection is quite simple

  1. The ublox receiver is connected to the simpleRTK2B Fusion, multiband RTK w u-blox ZED-F9R - ArduSimple Board (simpleRTK2B Fusion, multiband RTK w u-blox ZED-F9R - ArduSimple) from here via usb cable direct to the Jetson Xavier NX

  2. we use the ROS2 package
    KumarRobotics/ublox at foxy-devel
    GitHub - KumarRobotics/ublox at foxy-devel

ros2 launch ublox_gps ublox_gps_node-launch.py

will try to send you dmesg by mail

From your dmesg, I can’t find any error reported from USB.
and it seems your device is detected with ttyACM0 on your board.

[   23.502631] cdc_acm 1-2.4:1.0: ttyACM0: USB ACM device

You are using a 3rd-party module and driver which we don’t have them to verify it locally.

From the log of your application, it is failed during configuring baud rate.
What’s your baud-rate using?
Could you add more logs in this application to debug further?

will send you the dmesg when all ros nodes are running later of today

there are some realsense problems. One topic teensy 4.0 and the f9P ublox try to use ttyACM0, so first teensy started used ttyACM0

Do you mean that there’re two driver want to use the same ttyACM0 interface?

Do you still can’t configure the baudrate for your device?

The ublox baudrate problem is solved. Now only the ttyACM topic is open.
teensy should talk with ttyACM0 and the ublox with ttyACM1. For the ublox
we followed this docu How to use ArduSimple RTK receivers and get GPS data in ROS - ArduSimple but we updated the symlink from

KERNEL==β€œttyACM[0-9]", ATTRS{idVendor}==β€œ1546”, ATTRS{idProduct}==β€œ01a9”, SYMLINK=β€œtty_Ardusimple”, GROUP=β€œdialout”, MODE=β€œ0666”
to
KERNEL=="ttyACM[1-9]
”, ATTRS{idVendor}==β€œ1546”, ATTRS{idProduct}==β€œ01a9”, SYMLINK=β€œtty_Ardusimple”, GROUP=β€œdialout”, MODE=β€œ0666”

so that ttyACM0 is free for the teensy. The teensy uses following symlink

ATTRS{idVendor}==β€œ16c0”, ATTRS{idProduct}==β€œ04*”, ENV{ID_MM_DEVICE_IGNORE}=β€œ1”, ENV{ID_MM_PORT_IGNORE}=β€œ1”
ATTRS{idVendor}==β€œ16c0”, ATTRS{idProduct}==β€œ04[789a]", ENV{MTP_NO_PROBE}=β€œ1”
KERNEL=="ttyACM
”, ATTRS{idVendor}==β€œ16c0”, ATTRS{idProduct}==β€œ04*”, MODE:=β€œ0666”, RUN:=β€œ/bin/stty -F /dev/%k raw -echo”
KERNEL==β€œhidraw*”, ATTRS{idVendor}==β€œ16c0”, ATTRS{idProduct}==β€œ04*”, MODE:=β€œ0666”
SUBSYSTEMS==β€œusb”, ATTRS{idVendor}==β€œ16c0”, ATTRS{idProduct}==β€œ04*”, MODE:=β€œ0666”
KERNEL==β€œhidraw*”, ATTRS{idVendor}==β€œ1fc9”, ATTRS{idProduct}==β€œ013*”, MODE:=β€œ0666”
SUBSYSTEMS==β€œusb”, ATTRS{idVendor}==β€œ1fc9”, ATTRS{idProduct}==β€œ013*”, MODE:=β€œ0666”

But still, when i plug in both USB Devices, the teensy Micro Ros Agent is not starting. When i took of the ublox, it works. How can i tell the teensy to use only
ttyACM0

ls /dev/ttyACM* shows ttyACM0 and ttyACM1 are available

thx

Alexander

Sorry that I’m not clear about what is β€œteensy”?
Is it also an UART device connected on your board?

I think it should be depending on the order of your connection.

its a board simular to arduino, to connect motorboards with the system.
https://www.pjrc.com/store/teensy40.html

Okay, so you have 2 UART devices (one is teensy as MCU to communicate with, one is ublox as sensor) connected on your Xavier NX.
For ublox, you connect it through USB port.
How about teensy? Do you connect it also through USB or UART interfaces?

Maybe a clear connection block diagram would let us know your status.

Ublox card and teensy are connected via usb to the Jetson Xavier NX

okay, they are both connected through USB interface.

If you connect only one device at the same time, would they work as expected?

Is your current issue specific to use both of them at the same time?

yes exactly thats the fact, if i plug them in on single base it works,
also if i plug in teensy first run ros node, then plug in ublox and run ros node.
is there no way to tell teensy use ttyACM0 and ublox ttyACM1 so that they do
not get in conflict.

Normally, the name of USB node is determined by the connection order.
If you want to use static name for name, you can try to create udev rule for your use case.

Hi Kevin

see above in the communication


Udev rule ublox

KERNEL=="ttyACM[1-9]”, ATTRS{idVendor}==β€œ1546”, ATTRS{idProduct}==β€œ01a9”, SYMLINK=β€œtty_Ardusimple”, GROUP=β€œdialout”, MODE=β€œ0666”

Udev rule teensy (defined by the software stack we use)

ATTRS{idVendor}==β€œ16c0”, ATTRS{idProduct}==β€œ04*”, ENV{ID_MM_DEVICE_IGNORE}=β€œ1”, ENV{ID_MM_PORT_IGNORE}=β€œ1”
ATTRS{idVendor}==β€œ16c0”, ATTRS{idProduct}==β€œ04[789a]", ENV{MTP_NO_PROBE}=β€œ1”
KERNEL=="ttyACM
”, ATTRS{idVendor}==β€œ16c0”, ATTRS{idProduct}==β€œ04*”, MODE:=β€œ0666”, RUN:=β€œ/bin/stty -F /dev/%k raw -echo”
KERNEL==β€œhidraw*”, ATTRS{idVendor}==β€œ16c0”, ATTRS{idProduct}==β€œ04*”, MODE:=β€œ0666”
SUBSYSTEMS==β€œusb”, ATTRS{idVendor}==β€œ16c0”, ATTRS{idProduct}==β€œ04*”, MODE:=β€œ0666”
KERNEL==β€œhidraw*”, ATTRS{idVendor}==β€œ1fc9”, ATTRS{idProduct}==β€œ013*”, MODE:=β€œ0666”
SUBSYSTEMS==β€œusb”, ATTRS{idVendor}==β€œ1fc9”, ATTRS{idProduct}==β€œ013*”, MODE:=β€œ0666”

There is no update from you for a period, assuming this is not an issue any more.
Hence we are closing this topic. If need further support, please open a new one.
Thanks

Is this still an issue to support? Any result can be shared?

1 Like