Quantcast
Channel: Raspberry Pi Forums
Viewing full articles (7807 articles)
Browse article index
↧

Interfacing (DSI, CSI, I2C, etc.) • Garbled UART console on Pi Zero W with PL011 (disable-bt) despite correct baudrate — buildroot custom image

$
0
0
Hi all,

I'm running a custom Buildroot (2026.02) image on a Raspberry Pi Zero W, booting

Code:

zImage
directly (no U-Boot). UART console output is garbled/corrupted from the very first boot message onward — it never becomes readable, even after 30+ seconds.

Setup:
- Board: Raspberry Pi Zero W (BCM2835)
- Kernel: mainline linux (rpi fork), DTS

Code:

bcm2708-rpi-zero-w
- Terminal:

Code:

minicom -b 115200 -D /dev/ttyUSB0
(confirmed correct baudrate)
- USB-serial adapter on GPIO14 (TXD)/GPIO15 (RXD), 3.3V, wired crossed, common GND confirmed

config.txt (relevant parts, post-processed by build script):

Code:

core_freq=250force_turbo=1enable_uart=1dtoverlay=disable-bt

cmdline.txt:

Code:

console=tty1 console=serial0,115200

I intentionally disabled Bluetooth (

Code:

disable-bt
) to free up the full PL011 hardware UART on GPIO14/15, instead of the Mini-UART, specifically to avoid the classic mini-UART/VPU-clock baudrate drift issue.

What I've already tried:
- Confirmed terminal baudrate matches (115200 8N1)
- Added

Code:

force_turbo=1
in addition to

Code:

core_freq=250
— no change
- Verified

Code:

config.txt
actually deployed to the boot partition matches source (post-image script confirmed working)
- Captured raw bytes directly from

Code:

/dev/ttyUSB0
with

Code:

stty ... raw + xxd
: output is dominated by

Code:

0x00a
bytes with sparse single set bits (not random noise, not repeating printable-char garbage) — suggests receiver is oversampling relative to actual bit rate, i.e. sender's real baud rate is lower than expected 115200.

Question
Given PL011 is selected (not mini-UART) via

Code:

disable-bt
, and

Code:

core_freq/force_turbo
are both set, what else determines the UART reference clock on the Zero W specifically? I'm about to try adding

Code:

init_uart_clock=48000000
— has anyone confirmed this is still needed even with the full PL011 UART on BCM2835, or is there another firmware parameter I'm missing?

Any pointers appreciated — happy to post more logs/config if useful.

Statistics: Posted by Coolba — Sun Sep 13, 2026 7:10 am — Replies 0 — Views 16


↧

Viewing full articles (7807 articles)
Browse article index

Latest Images

Trending Articles



Latest Images