I am looking to attach a custom PCB to the RockPro64 board, a simple extension board with custom firmware that communicates over UART.
Up until now I have no luck getting even a basic two-way communication over UART2 working.
Steps taken:
* The RockPro64 runs on Armbian Ubuntu 18.04
* The RP64 is connected to a Ubuntu Laptop with the Pine64 UART-USB adapter. Due to voltage issues, we regulated the TXD and RTX pins to exactly 3.3V (see schematic attached). Bidirectional communication works fine for the serial login prompt.
* Serial console on ttyS2 is now disabled. We get some Uboot messages on boot, after that the port is silent
* picocom is running both on the RP64 (over SSH) and on the Ubuntu laptop
Expected result:
* Both machines should be able to communicate usint picocom, if started e.g. like `picocom -b 1500000 /dev/ttyS2`
Actual result:
* The RP64 is able to output some characters unreliably to the laptop
* The laptop cannot send any characaters to the RP64, instead mirroring some <?> characters despite local echo off
Some status logs:
Does anyone have an idea what I am doing wrong?
Best,
Meier
Up until now I have no luck getting even a basic two-way communication over UART2 working.
Steps taken:
* The RockPro64 runs on Armbian Ubuntu 18.04
* The RP64 is connected to a Ubuntu Laptop with the Pine64 UART-USB adapter. Due to voltage issues, we regulated the TXD and RTX pins to exactly 3.3V (see schematic attached). Bidirectional communication works fine for the serial login prompt.
* Serial console on ttyS2 is now disabled. We get some Uboot messages on boot, after that the port is silent
* picocom is running both on the RP64 (over SSH) and on the Ubuntu laptop
Expected result:
* Both machines should be able to communicate usint picocom, if started e.g. like `picocom -b 1500000 /dev/ttyS2`
Actual result:
* The RP64 is able to output some characters unreliably to the laptop
* The laptop cannot send any characaters to the RP64, instead mirroring some <?> characters despite local echo off
Some status logs:
Code:
$ dmesg | grep tty
[ 0.000000] Kernel command line: earlycon=uart8250,mmio32,0xff1a0000 swiotlb=1 no_console_suspend=1 usbcore.autosuspend=-1 root=UUID=4e0c7993-7cbb-46f7-acd0-2e3acdfa20ef rootwait rootfstype=ext4 console=tty1 panic=10 consoleblank=0 loglevel=1 ubootpart=350ce75a-01 usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1
[ 0.001397] console [tty1] enabled
[ 0.328959] Registered FIQ tty driver
[ 1.945780] ff180000.serial: ttyS0 at MMIO 0xff180000 (irq = 36, base_baud = 1500000) is a 16550A
[ 1.946282] ff1a0000.serial: ttyS2 at MMIO 0xff1a0000 (irq = 37, base_baud = 1500000) is a 16550A
[ 4.946846] systemd[1]: Created slice system-serial\x2dgetty.slice.
[ 15.681434] ttyS2 - failed to request DMA, use interrupt mode
$ sudo setserial -g /dev/ttyS[0123]
/dev/ttyS0, UART: 16550A, Port: 0x0000, IRQ: 36
/dev/ttyS2, UART: 16550A, Port: 0x0000, IRQ: 37
Does anyone have an idea what I am doing wrong?
Best,
Meier