I have litterally spent days trying to use uart1 from the GPIO bank on the NanoPi NEO 3 without success
The schematic indcates the two pins as uart1
8 GPIO3_A4/UART1_TX (Linux gpio 100)
10 GPIO3_A6/UART1_RX (Linux gpio 102)
By default, the Neo3 has a multitude of /dev/ttys (ttyS0–>ttyS7), (tty,tty0–>tty63), ttyGS0. I have tried all those with an index <10 and the only one that respond to any command is /dev/S2 i.e. the UART2 used for boot debugging. However I have utterly failed with the uart 1 on gpios pins. I also disable serial console from dietpi-config but that seems to make no difference.
Can anyone give me a hint on how using uart1 shoud work? BTW, in the folder :/boot/dtb/rockchip/overlay there is a rockchip-uart4.dtbo that I have also tried as overlays=uart4 in the /boot/armbianEnv.txt file but still no idea what pins that uart4 would use, /dev/ttyS4 still does’t wotk with stty anyways…
Out of desperation I tried to use the debug interface /dev/ttyS2. That one respond to stty command and I can set it to 115200, loopback (shorting TX and RX) works fine, I was even able to get gpsmon to work and see all the NMEA serial data from a GPS module connected to it. This debug interface has the tx and rx pins on a separated header on the nanopi Neo3. In general that would be enough for me as all I need to do is talk to that GPS module. However:
if I leave the GPS module connected to the nanopi Neo 3 debug uart, it won’t boot!! I need to unplug the RX pin on the NEO3 to make it boot. Once the green led start to flash I can then reconnect the RX (NEO)–>TX(GPS) and everything works again. I was thinking that the issue may be with the default debug uart baud rate of 1500000, so I added an stty command to rc.local to change that to 115200 but still no joy (maybe the rc.local happens too late?)
Why is the NanoPi NEO3 not booting if it is receiving data on the RX pin of its debug uart?!?
I’m seriously stuck!