Raspberry Pi 5 with USB ports
Raspberry Pi Pico WH with a micro USB Cable to USB
Goal: Connect the RP Pico to the RP 5, in order to then use Thonny IDE on RP5 for programming. Also, update the firmware of the RP Pico
Issue: When I connect the RP Pico, I get conflict errors, to the point where I cannot restart the RP 5. I thought it was a corrupt SD card, or recent Tor installation, but the troubleshooting boards all point to a serial port conflict.
Error I saw: Failed to start serial-getty@ttyAMA10.service. NOTE: Typically happens on the Raspberry Pi 5 when systemd tries to launch a login console (getty) on the dedicated 3-pin debug UART port (ttyAMA10), but the port is either disabled, being blocked by another process, or the kernel serial console argument has been modified or removed from your boot configuration.
Background:
-Getty is the Linux background service that manages terminal login lines
-When I hook up Pico WH to the Raspberry Pi’s GPIO UART pins (GPIO 14 and 15) to transfer data or execute code, getty will aggressively hijack the port. In my case I’m not specifically thinking of using UART pins, but there is still a conflict
-When I had initially plugged in the RP Pico and worked in Thonny, I saw this:
-Configure Interpreter; Select Micropython (Raspberry Pi Pico)
-Port selected was n/a @ /dev/ttyAMA10
-This confirms that the RP Pico was using the same port as Getty
Proposed solution, according to troubleshooting boards:
To resolve this conflict and free up the serial port entirely for Pico WH, you must disable both the serial boot console and the getty service
Initial confirmation steps:
-Check what is currently connected to ttyAMA10, in terminal:
sudo fuser -v /dev/ttyAMA10
It came back with a reference to Getty
Turning off ttyAMA10 from Getty accessing:
raspi-config to Free the Port- Navigate to Interface Options (or Advanced Options in older versions) → Serial Port.
- When asked: “Would you like a login shell to be accessible over serial?”, select No.
- When asked: “Would you like the serial port hardware to be enabled?”, select Yes.
- Finish and exit, but do not reboot just yet.
getty Servicegetty can sometimes still stubbornly cling to the hardware interface despite using raspi-config. You need to manually terminate and mask the systemd service to make sure it never starts again.