U-Boot can't boot with serial console attached

I connected serial console cable and tried to get some output from rock3a, both rx and tx communication works, but I cannot boot from it when console is attached. It displays “Starting kernel …” message and goes back to u-boot command prompt.
When I reboot and disconnect RX line it boots system with no problem and reconnecting console cable gives me output from kernel and then system login.
Is there any additional command I need to invoke?
Is there any docs and examples about u-boot with examples on radxa products?

What usb to TTL serial cable are you using? Make sure you are connecting the pins right.


I’m using USB RS232 FT232RL UART, seems that it’s based on same FTDI chip as in docs. I don’t expect there is anything wrong about cable or connected pins because I can read and send back messages (if it’s connected before power then it stuck at u-boot, if some time after - then I have kernel boot messages and login prompt, on both I can send and read messages).

i have the same issuse

U-Boot 2017.09-g3163a2399be-210525 #stephen (Sep 09 2021 - 15:43:03 +0800)

Model: Radxa ROCK 3 Model A
PreSerial: 2, raw, 0xfe660000
DRAM:  4 GiB
Sysmem: init
Relocation Offset: ed355000, fdt: eb9f9378
Using default environment

Hotkey: ctrl+s
no mmc device at slot 1
dwmmc@fe2b0000: 1 (SD), dwmmc@fe2c0000: 2, sdhci@fe310000: 0
Bootdev(atags): mmc 1
MMC1: Legacy, 50Mhz
PartType: EFI
No misc partition
boot mode: None
FIT: No fdt blob
No resource partition
Failed to load DTB
I2c0 speed: 100000Hz
PMIC:  RK8090 (on=0x40, off=0x00)
vdd_logic init 900000 uV
vdd_gpu init 900000 uV
vdd_npu init 900000 uV
io-domain: OK
Could not find baseparameter partition
Model: Radxa ROCK 3 Model A
No resource partition
No file: logo.bmp
failed to display uboot logo
CLK: (sync kernel. arm: enter 816000 KHz, init 816000 KHz, kernel 0N/A)
  apll 816000 KHz
  dpll 528000 KHz
  gpll 1188000 KHz
  cpll 1000000 KHz
  npll 1200000 KHz
  vpll 24000 KHz
  hpll 24000 KHz
  ppll 200000 KHz
  armclk 816000 KHz
  aclk_bus 150000 KHz
  pclk_bus 100000 KHz
  aclk_top_high 500000 KHz
  aclk_top_low 400000 KHz
  hclk_top 150000 KHz
  pclk_top 100000 KHz
  aclk_perimid 300000 KHz
  hclk_perimid 150000 KHz
  pclk_pmu 100000 KHz
Net:   eth1: ethernet@fe010000
Hit key to stop autoboot('CTRL+C'):  0
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
reading /extlinux/extlinux.conf
399 bytes read in 5 ms (77.1 KiB/s)
select kernel
1:      kernel-4.19.193-10-rockchip-g152e34a538b4
Enter choice: 1:        kernel-4.19.193-10-rockchip-g152e34a538b4
Retrieving file: /initrd.img-4.19.193-10-rockchip-g152e34a538b4
reading /initrd.img-4.19.193-10-rockchip-g152e34a538b4
6602737 bytes read in 552 ms (11.4 MiB/s)
Retrieving file: /vmlinuz-4.19.193-10-rockchip-g152e34a538b4
reading /vmlinuz-4.19.193-10-rockchip-g152e34a538b4
22337544 bytes read in 1858 ms (11.5 MiB/s)
append: earlyprintk console=ttyFIQ0,1500000n8 rw init=/sbin/init rootfstype=ext4 rootwait  root=UUID=baaba7e3-7d29-4f0d-b02d-492a4ee29111
Retrieving file: /dtbs/4.19.193-10-rockchip-g152e34a538b4/rockchip/rk3568-rock-3-a.dtb
reading /dtbs/4.19.193-10-rockchip-g152e34a538b4/rockchip/rk3568-rock-3-a.dtb
114825 bytes read in 16 ms (6.8 MiB/s)
Fdt Ramdisk skip relocation
## Flattened Device Tree blob at 0x0a100000
   Booting using the fdt blob at 0x0a100000
  'reserved-memory' ramoops@110000: addr=110000 size=f0000
   Using Device Tree in place at 000000000a100000, end 000000000a11f088
No resource partition
No file: logo_kernel.bmp
Adding bank: 0x00200000 - 0xf0000000 (size: 0xefe00000)
Adding bank: 0x1f0000000 - 0x200000000 (size: 0x10000000)
Total: 3734.347 ms

Starting kernel ...


this is exactly same thing as on my side,
aghost: do You have system on sd card or emmc?

I just tried other UART to USB adapters with Rock3A

First one: USB RS232 FT232RL UART 3,3V 5V
I needed to install ftdi drivers and was able to connect to rock 3A with 1,5M baud rate, it worked but as I wrote earlier u-boot won’t boot kernel with it. If it’s connected after system is booted - then without any problem I can log in, send and receive messages from system, I tested crux-arm and debian - both worked out of box.

Next one: Bluetooth HC06 HC-06 AVR
Easy to connect but probably something is wrong about baud rate, I could get some weird characters on console but nothing readable. Probably blutetooth is limiting bandwidth of device but I’m not sure. Maybe it could work with lower baud rate.

Next one: PL2303TA - USB-UART/RS232
I hoped that it’s same one as in wiki page, but I could not run it. No drivers needed but same thing as with BT adapter - only weird chars on console. Yet again maybe with different baud rate it can work.

Last one: CH340G CH340 3.3V 5V USB TO TTL UART
This was cheapest and I expected that there are less chances to make it run. I was wrong :slight_smile: This adapter don’t needed any driver, connected with 1,5M baud rate and has no problems to boot system with u-boot. It cost less than $1 so probably You can’t get anything cheaper :wink:

@jack - as You said - it’s all about right adapter, but the one from wiki probably don’t work or I have something different inside this blue case.

Good news for me is that at least I have some adapter that don’t cause problems.

sd card only.
i just test on my self made ft232r usb to ttl board, i will try to made a ch340 board, tks of your test

I was just curious if boot source (sd card) makes any difference with debug console. Now - after I test more adapters I know there are some that works with no problem. I’ll have eMMC card by the end of year and will repeat that test. For now we just need to find right, compatible adapter. Good news is that cheapest one worked perfectly :slight_smile:

i had update these to the wiki page :mask:

i had confirm this solution when boot from emmc module

1 Like

Here is one another uart adapter based on CH340G

works perfectly, I think anything on this chip should be ok
I think I got it from here: https://ameridroid.com/products/usb-uart-serial-console

ch340 series usb to ttl chip from nanjing wch works perfect.
if you want it work more stable, you can try to use oscillator instead of crystal.
like this

1 Like

By the way, were you using 3.3V or 5V mode?

Nvm, found out it should be 3.3V mode

You got it on my screen - jumper set to 3.3V :slight_smile: