Hi everyone,
I have two Jetsons and I wish to send data to one another using java. I am able to send data to one of the jetsons and read from the port with no problem but when it comes to the other way around, the jetson that is supposed to send a specific data, just ends up sending random data over and over.
I opened up putty to see what was being sent (without the java program running) and I just get these random lines and occasional characters.
I am using the pins 65 (RX) and 68 (TX) on the IO expansion header.Can someone help me out?
I have added a screenshot of the random data being received from one of the Jetsons.
Are both pins 65 (RX) and 68 (TX) pinmuxes configured properly?
they were working fine and then all of a sudden random data was being sent. When I opened putty I changed the baud rate to 115200 and then after closing it, the system froze. I rebooted and then it started to work normally again but today I was writing some code using threads so that one of the Jetsons could continously listen to its RX port, after multiple failes, the same thing happened again(the other jetson keeps sending random data). I did a loopback test on the Jetson that was sending the random data, and I was able to echo back my own input from the keyboard. Then when I connected the wire back to the other Jetsons RX, random data was still being sent. The Jetsons loopback test are a success but when connecting to each other, thats when the problem occurs.
Do you mean you have 2 Jetson boards. Only one special board will send random data sometimes ?
Can you probe the TX signal to see when it will fail and is there an actual data transfer?
How about the connection ? is it able to improve signal quality and try lower speed ?
Would you please try the UART communication between Jetson and PC ?
I would also suggest to use the shielded cable for the connection, such as:
http://www.iec.net/cab004-lc.html
Thank you for your responses.
edli1983 That’s right I have two Jetson boards and only one of them sends random data. Sometimes it will send all FFs or FEs or sometimes a different pattern. The TX pin does send actual data like for example when I opened putty on both systems, I was able to send letters that I typed on the keyboard but in between it keeps sending whatever its sending.
tyzhang may I ask why you suggest using a shielded cable?
Thanks for your update.
Is it possible to probe the TX signal to see it is a signal noise or actual data transfer.It will be great that have a waveform attach here.
You might need to improve the signal quality with a shielded cable if there are much noise.
is it possible to flash a clean image on the failure board to clarify is it caused by any application ?
Nezi,
Other than sending random data, is the unit itself basically functional and can be used for development and other purpose? Like to understand if it’s an isolated issue or general stability of the board itself.
@edli1983 it is possible to flash but because I already downloaded everything I need for projects and such I really don’t want to flash it again for I had flashed the board before. And when doing a normal loopback test, I expect the random data to be looped back and seen on the terminal but I just get the characters I type in, not the random data.
@chuang yes the board is functional and it runs code and compiles my projects with no issues. I’m starting to think the problem is a software issue…
One test possibility is to clone each board (or if rootfs size exactly matches, clone just rootfs partition), restore the clone to the opposite board. You would have an exact copy of your original installs, but on opposite boards. See if the issue reverses or sticks with the hardware to know if it is a software or hardware issue without losing any software install base (be sure to keep physical cabling and everything not software in the same configuration).
See: [url]http://elinux.org/Jetson/Cloning[/url]
Just a thought - since you mentioned only using two pins - have you tried connecting the GND between the two boards to make sure they share the same ground connection?
Hello I have configured the baud rate as 115200 8N1 , on both jetson side and PC side. The respective port is ‘/dev/ttyTHS1’. From PC to jetson data is sent successfully, but from jetson I am reciving random data as follows:
Nvidia is my jetson
PC serial ready…
('Nvidia: ', ‘\xc8\xe5\xfc\xeb\x8b\x047\xe5\xe9sS5+\xfe’)
PC serial ready…
('Nvidia: ', ‘Hglok+/\xf9\xbd\xbb\x02\xfa\xd3\xfe’)
PC serial ready…
('Nvidia: ', ‘Je\xfcl\x7faXCo\xee.\x92\xc8\xfe’)
PC serial ready…
('Nvidia: ', ‘Jg|l\x7f\xf8U\xae\xc9~\x12\xfe_\xfe’)
PC serial ready…
('Nvidia: ', ‘hY[\xeb\xe1P\xc7\xf7s\xa1\xbf=\xfe’)
PC serial ready…
('Nvidia: ', ‘H\xe7l\xfco9UCn.n\xa0=\n’)
PC serial ready…
('Nvidia: ', ‘Xel|\x7f;\xd2\x94r\xbe!\x8d\x85’)
PC serial ready…
('Nvidia: ', ‘Xm[[\x0b\t\xd5\xb4\xc9r\x81M\n’)
PC serial ready…
('Nvidia: ', ‘\xb4\xfb\xb7\xbe\x0f-\xb5\xca\xc9\xcf9\xbdr’)
PC serial ready…
('Nvidia: ', ‘Xeln\x7fpXx\xef\xe9\t\xe9J\xfa’)
PC serial ready…
('Nvidia: ', ‘melm\x7f\xa4\xac(\xd9\xd9\x19\xa9\xee\xfe’)
PC serial ready…
('Nvidia: ', ‘H\xf5l|\x85a\x1dn.\xee\xa5C\xe9’)
PC serial ready…
('Nvidia: ', ‘H\xf5\xec|\xef$T(zr\x0bM\x95’)
PC serial ready…
What is being sent? Is this plain text? Is there a serial console program involved? More information on what is going in which gets the hex data out would be useful. I am interested in how the sending side is sending, and how the receiving side is receiving…both data and program viewing the data. Also, on both sending side and receiving side what do you get from “echo $LANG”?