No Serial Console Output on S2 Port Despite Keyboard Display Booting

This is a Google and AI translation, so please excuse any difficult-to-read parts.

Dear MNT Community,

We are having trouble getting serial console output from our MNT PocketReform’s S2 port (pins 1-3: GND, RX2, TX2) and would greatly appreciate your assistance. The keyboard display (7-inch MIPI-DSI) has started booting, which is a relief after fearing the device was bricked, but we are unable to obtain logs to move forward. Below, we summarize the situation and what we have tried.

Current Status:
Hardware:
We are using an MNT PocketReform with an A311D (RCM4-BPI module). An SD card with the official Debian image (pocket-reform-system-a311d.img.gz) is inserted, the battery is removed, and the device is powered via USB-C with an Energear series 65W charger.

Symptoms:
The keyboard display boots, but no LEDs or other indicators are visible. There is no serial output on the S2 port (pins 1/GND, 2/RX2, 3/TX2) or the RP2040 UART (pins 5/RX1, 6/TX1). The display shows no boot process information.

Past Issue:
The device was booting normally, but we damaged the eMMC partition, causing it to stop booting. We suspect eMMC/U-Boot corruption as the cause.

What We Have Tried:
Raspberry Pi 4 with minicom:
We connected an Adafruit USB-to-Serial cable [954] (black/GND, green/TX, white/RX) to the S2 port (pin 1/GND, 2/RX2, 3/TX2).

We used the command: sudo minicom -D /dev/ttyUSB0 -b 115200 -8 -o.

Result:
The screen shows “Welcome to minicom” followed by a blank screen with no logs. We tried 57600 and 9600 baud rates, pin reversal (RX2/white, TX2/green), and pin 4/GND.

The dmesg output showed CP210x errors: urb stopped: -32, failed set request: -19.

We reloaded the CP210x driver (sudo modprobe -r cp210x; sudo modprobe cp210x) and updated the OS (kernel version TBD).

Windows 11 with Tera Term:
We installed the CP2102 driver and confirmed the COM port.

We connected the same Adafruit cable to the S2 port with the same pinout.

Tera Term settings were configured to 115200 baud, 8N1, with no flow control.

Result:
The screen remained blank with no logs. We tried 57600 and 9600 baud rates and pin reversal.

RP2040 UART:
We tested pins 5/RX1 (green/TX), 6/TX1 (white/RX), and 1/GND (black) using minicom.

Result:
No output was observed, and the screen remained blank.

SD Boot:
An SD card with the official Debian image (pocket-reform-system-a311d.img.gz, written with dd) is inserted.

We attempted to boot using Hyper + Enter, but the display showed no boot process information.

We suspect eMMC corruption may be interfering with the SD boot.

Hardware Checks:
We confirmed the Energear series 65W charger provides sufficient power (5V/3A or higher). The standoff switch is ON (click confirmed).

We inspected the pin header and found no bent pins or shorts.

The RCM4-BPI module and keyboard connector are securely attached.

There are no signs of burns, overheating, or odors on the motherboard.

Questions:
Why is there no serial output on the S2 port despite the keyboard display booting? Is the U-Boot console disabled (e.g., missing console=ttyAML0,115200)?

Is the eMMC corruption blocking the S2 port logs? Are there any methods to disable the eMMC via hardware?

Are there any tips for using the RP2040 UART (pins 5/6) to diagnose system controller issues?

If a hardware failure is suspected, what are the options for paid repair services?

We would be very grateful for any advice on enabling S2 port logs or recovering U-Boot/eMMC.

Thank you for your support!

Best regards,
Arasi

:waving_hand:
the keyboard display is indipendent from the rest of the mainboard, so the logo being displayed does not actually mean much, sadly (besides confirming you have power)
now, i only have experience with the classic reform, but did you also try checking serial port S1? on the classic, it’s what is usually getting output.
the baudrate these SoCs commonly use is 115200. if you can’t find the serial port, you can always use the test pins directly on the module (see marked areas here, i might be forgetting which one is rx and tx so swap if needed: )


the pins i crossed out are serial port 2 which is not going to do much this early in the boot
it’s strange that with the sd card inserted it is not booting from the sd card, i wonder if there’s a quirk i am not aware of with the pocket?
good luck, and keep us posted.

Thank you for the S1 information and suggestions!

It’s a bit disappointing to hear that the keyboard display lighting up doesn’t mean much. :frowning:

I connected UART1_TXD (pin 4) to RX, UART1_RXD (pin 5) to TX, and GND (pin 6) to GND, but unfortunately, I got no output on either minicom or Tera Term (COM3, tried baud rates 115200, 57600, and 9600). I also tried swapping RX and TX, but still no luck.

Do you have any advice on the SD card boot issue or U-Boot settings (e.g., should I set boot_targets=mmc1)?

Regarding the connection to the BPI-CM4 test pins shown in the image, I’m worried that my clumsiness (think Yeti-level!! :weary_face:) might lead to damaging the board if I attempt soldering. As a Yeti-handed person, are there any good tools or alternative connection methods you’d recommend?

Looking forward to your insights!

Hi all, I have some progress to share!

I removed the BPI-CM4, stared at it thinking “Do I really have to connect to these tiny pins…?” with a sigh, and put it back. Then I tried S2 again, and logs finally started flowing! It seems the issue was likely a connection problem with the BPI-CM4 from the last time I removed it. (Guess that’s what happens with Yeti-level clumsiness! :sweat_smile:)

Current situation: My PocketReform is stuck in a reset loop due to eMMC corruption (“NO find ddr boot_info from eMMC” error). I can get logs via S2 port (pins 1/GND, 2/RX2, 3/TX2, 115200bps), but I can’t interrupt BL2 by pressing keys (Enter, Space, etc.) to force SD boot (mmc1). The boot process is too fast to catch.

Boot process (key parts of the log):

Get wrong ddr fw magic! Error!!
NO find ddr boot_info from eMMC
reset...  # Reset loop starts here

Clock settings: A53/A73 at 1200MHz, CLK81 at 166.6MHz.
Board ID: 12 (PocketReform board ID).
(I can provide the full log if needed!)

Is there a way to modify BL2 to enable key interrupts (e.g., CONFIG_BOOTDELAY)? Or any other method to prioritize SD boot over eMMC? Looking forward to your advice!