Skip to content

Serial Console Troubleshooting


No output on the serial port

1. Verify the cable

Many USB-C cables are charge-only and carry no data lines. Use a cable explicitly rated for data transfer, or test with a known-good cable.

2. Identify the correct port

After connecting the USB-to-serial adapter:

ls /dev/ttyUSB*
ls /dev/ttyACM*

If nothing appears, the driver may not be loaded. Check dmesg:

dmesg | tail -20

A recognised adapter shows something like:

usb 1-1.2: ch341-uart converter now attached to ttyUSB0

3. Connect with the correct settings

Baud rate 115200, 8 data bits, no parity, 1 stop bit (8N1):

picocom -b 115200 /dev/ttyUSB0
minicom -b 115200 -D /dev/ttyUSB0

4. Check permissions

If you get Permission denied on /dev/ttyUSB0:

sudo usermod -aG dialout $USER

Log out and back in for the group change to take effect.

5. Power on the board

Connect the serial adapter before powering the board to avoid missing early boot output.


Garbled characters on the terminal

The baud rate on the terminal does not match the board's output. Engicam boards use 115200 baud.

Verify your terminal emulator is set to 115200 and reconnect. In picocom, you can change baud rate at runtime with Ctrl+A B.


Serial connects but no login prompt appears

U-Boot output is visible but Linux doesn't start

The kernel may have booted but the serial console device is misconfigured. Check the console= parameter in bootargs:

printenv bootargs

It must include the correct UART device and baud rate, e.g.:

console=ttymxc1,115200

The UART number varies by SoC family:

SoC Typical console
i.MX6, i.MX8 ttymxc0 or ttymxc1
i.MX9x ttyLP0 or ttyLP1
STM32MP2 ttySTM0

Linux boots but getty is not started

Check if the serial getty service is active:

systemctl status serial-getty@ttymxc1.service

Enable it:

systemctl enable --now serial-getty@ttymxc1.service