[BPI-R4]Scrambled UART output with Debian image

Hi folks,

I’ve had my R4 for several months. I initially had it running with OpenWRT but eventually decided it wasn’t for me. I’m trying to switch to Debian instead as I’m much more experienced with it.

When booted, the R4 doesn’t get an IP address on lan1. I’ve tried to attach a serial console to the UART headers but I get intermittent scrambled data. Curiously, it also makes GNU Screen struggle to quit when it gets the mangled characters onscreen - I’ve never had Screen hesitate to exit before.

I’ve tried with both a PL2303 USB-TTL adapter and with a Pi 3B UART - I get the same scrambled text with both. With the PL2303, no inputs register at all, even at the boot menu. With the Pi, inputs do register at the boot menu, but not always - it seems to drop occasional keystrokes. Partway through the Debian boot screen, the scrambled text starts but also clears. I’m able to log in, but while at the shell, I get occasional bursts of scrambled text and it completely messes up the shell midway through commands. It’s quite frustrating as I haven’t been able to get an IP address on the device by editing the config files on the SD card.

Do I need any additional configuration? All I can see on the R4’s UART is that the baud rate is 115200.

Edit: after trial and error, I managed to get a DHCP address on lan2, so at least I can configure it now.

Cheers, Gargravarr

Change port usb3 to usb2 or adapter, cheap have not so good interference isolation.

Is this a ftdi ft232 adapter? Then that should be ok.

It sounds like a bad connection of either the signal (rx-tx) or the gnd. Is gnd connected at all?

Disconnect and try again. Check the copper of the dupont plug, sometimes the spring action is damaged and there is no pressure applied on the pin. It needs to be a tight and firm fit.

Well, the obvious recomendation is for you to check if the cables are inserted in the right way.

I don’t have any USB 2.0 ports on my computers. I’ve never had interference problems with these adapters before, only with the R4.

No, I mean using the Pi’s GPIO headers and integrated UART. No USB-Serial involved. Ground is absolutely connected and this is with completely different Dupont cables to the USB-Serial.

Yeah, uh, thanks for the ‘hint’ but if you note from my post that I’m getting actual valid text in amongst the garbage, it’d be pretty clear that I’ve got the wires in the right order…

Shouldn’t that imply flow control issues?

Which flow control? It is only RX - TX and TX- RX and GND - GND.

I don’t know what machine you are using to try to connect to the BPi with using the serial type connection but both sides need to use the same settings for: Speed (baud rate) Data bits Stop bits -AND- Flow Control (XON/XOFF, RTS/CTS, DSR/DTR, or NONE)

Your Debian install may default to something different than whatever system you are tying to use to ‘dial into’ the BPi with!

It has nothing to do with debian on the r4

The uart on pi has to be configured as 115200 baud 8n1 flowcontrol off (and maybe rx/tx only - no rts/cts and similar)

So there are no configuration options on the R4? OK. But the settings still need to match on the other end, no? That was my point!

Afaik settings on R4 (debug-uart) are fixed

FYI: You can try and de/increase speed via stty -F, but it isn’t stable.

Just use minicom with the settings as in here: Getting Started With Minicom - Getting Started With Minicom (emacinc.com)

I always use the ft232rl module, easily available and have not seen any reports of failures with these… Also works great with rockchip devices.

1 Like

The best USB to TTL Serial Cable Adapter with FTDI chip:

TTL-232R-RPi (Datasheet)

Drivers:

.

Maybe this will solve your problem of scrambled text or mangled characters:

Hmm, whilst that might explain the USB-serial problem, I’m still having the same issue trying to get connected via my RPi 3B. I have to keep quitting and restarting Screen. I’ll get about 1-2 minutes before this happens:

root@BPI-R4:~# ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
^C
--- 192.168.1.1 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1030ms

root@BPI-R4:~# ip r s
192.168.1.0/24 dev lan1 proto kernel scope link src 192.168.1.254 
root@BPI-R4:~# ip r aAU�QMEU��MAiSQ"
                                    ���J
�'�����k����Sk���m@S�k��                R�
                        �ZO�獔k��ʞJ.�H�B������L��ʍk�K�s���Ԑ��'�k����ɐt�{�����ʞB�튚'A�[�@�{���B��Hm��[nr
                                                                                                       R��u[���Mj
                                                                                                                 ��e�H�J.��B$

and the terminal stops responding. I also can’t seem to get an IP reliably on the LAN1 port, even though ethtool shows it as being connected.

1 Like

So with a fair amount of patience and many reloads of Screen, I was able to get the IP address changed to something more suitable (as I’m already using 192.168.1.1) - for those looking for a shortcut, mount the SD card and edit the file /etc/systemd/network/25-lanbr.network to set the R4’s IP address.

The serial output is still spewing garbage every so often even with no keypresses sent to the R4.

1 Like

I had this issue with one of my SBC devices once. It ended up being the keyboard, even when buttons were not pressed it would generate junk. Switching to a different keyboard resolved the issue.

1 Like

I think @Gibbz is right, I had a similar problem (typing junk from time to time even without pressing keys or while typing) and the culprit was the was the USB connector on the keyboard which had the solder partially broken, but after re-soldering the USB connector on the keyboard the problem was fixed.

As @Gibbz advised you, try connecting another keyboard and disconnect the one you are currently using, maybe the keyboard you are currently using is causing this problem.