I am having trouble using UART on Jetson Nano Board (B01). I need to use multiple UARTs on the board. I donβt have any problem using UART at J41 - 40 pin exp. header.
For the second UART I wanted to use the UART at the back of the board, located at the J50 - 12 - pin button header. As the document states that Pin3 and Pin4 are RX and TX. It says UART console. I am not sure what does this mean. I tried to disable the console following the guide at the link.
I am confused about how can utilize this UART to read sensor data from there. Is this even possible?
I know and applied the guide on the link to test out if the UART (at J50) is working fine and it turned out well. But at this point I do not need the debug console function, I need to operate this UART as normal just like UART at expansion header. My goal is to use this UART to read sensor from here.
Is this possible? If it is what is the correct way to achieve this because I tried several guides but all of them ended up with failure.
A related bit of information you might find useful: Depending on driver, and load order, the specific UART name and number might vary. However, this should tell you permissions of the various UART drivers loaded on a Jetson, along with permissions: ls -l /dev/ttyTHS* /dev/ttyS*
Note that each of the ttyTHS are talking to the same driver that the ttyS are talking to, but they are different drivers (donβt use both simultaneously).
Also, the command I gave above to list these shows owner and group. The owner is always root, but the group might be either of βdialoutβ or βttyβ. Those of group dialout are usually free for you to use. Those of group tty are being used as a serial console. The commands given by @KevinFFF are one way to remove this.
Note that the boot stages of any computer are actually a tiny operating system (despite having the only goal to overwrite itself with another operating system), and so driver enable/disable during boot stages will differ from enable/disable under Linux (the other operating system). Those commands should disable both (the p3448-0000.conf.common is part of the flash parameters, and will generally propagate those changes when flashing).
If you want to see if the kernel parameters you are looking for exist once booted, then you can βcat /proc/cmdlineβ, and this will tell you what the kernel parameters are.
We solved our issue and we wanted to share the story and steps for those who are having the same issues similar to us.
We needed two UART ports for our project. One is the β/dev/ttyTHS1β (J41 - 40 pin expansion header) and the other one is the β/dev/ttyS0β (J50 - 12 pin button header, located under the SD Card Slot and the Heat Sink). When we flashed the Jetson Nano B01 carrier board we faced another issue related to booting. The SDK Manager tried to flash the board using eMMC but our board only has SD Card. The solution was simple. Using the βflash.shβ script file we flashed the Jetson Nano according to this link.
Before the flash operation we changed the βp3448.conf.commonβ file according to instructions given by @KevinFFF. After this we proceeded with the flashing.
In the βflash.shβ file there is an argument for flashing with SD Card which is βmmcblk1p1β. After the flash operation we created the image with βimage creatorβ located in the βLinux_for_Tegra/toolsβ.
After the flashing and etching the SD Card with the image that we created, the OS became operational. Using the commands given by @linuxdev, we checked that both the β/dev/ttyTHS1β and β/dev/ttyS0β are βttyβ. Using the commands below disables the βttyβ and converts it to βdialoutβ which we wanted.
We rebooted our Jetson Nano and now using the commands given by @linuxdev , all of the serial ports are now βdialoutβ. We connected the TTL connectors and tested the serial communication, everything works fine.