UART1 (RS-232) communication issue on Aquila Development Board V1.2

Hello,

I’m currently trying to test the UART1 (RS-232) interface on the Aquila Development Board V1.2.

I connected the TX and RX lines as indicated in the datasheet, and I crossed them on the PC side (TX ↔ RX and RX ↔ TX) so that the two devices can communicate.

After connecting the board via the USB Type-C debugging port, I listed the available UART devices and got the following:

root@aquila-am69-12593514:~# ls -l /dev/aquila-uart*
lrwxrwxrwx 1 root root 5 May 29 18:48 /dev/aquila-uart2 → ttyS1
lrwxrwxrwx 1 root root 5 May 29 18:48 /dev/aquila-uart3 → ttyS2
lrwxrwxrwx 1 root root 5 May 29 18:48 /dev/aquila-uart4 → ttyS3

As far as I understand, /dev/ttyS1 (or /dev/aquila-uart2) corresponds to UART1, which is routed to the RS-232 connector (J67).

When I connect this port to the PC serial interface, I don’t see any data — the terminal stays blank and I cannot type anything.

I tried configuring the UART with:

stty -F /dev/aquila-uart2 115200

echo “Test” > /dev/aquila-uart2

but nothing appears on the PC side.

I also tried opening the port with microcom, but I still cannot send or receive any data.

In addition, I tested both J87 jumper positions (1–2 and 2–3) , but the result is the same in both cases — no communication at all.

Could you please check if I’m missing something or if there are any other steps or settings required to make RS-232 (UART1 / J67) work correctly on this board?

Thank you,
Stefano

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


UART1 (RS-232) Configuration on Aquila Development Board V1.2

Based on the Aquila Development Board V1.2 datasheet, I can help clarify the UART configuration and troubleshooting steps.

Correct UART Mapping

According to the datasheet, the Aquila Development Board exposes four UART interfaces(1):

  • UART_1 is available on connector J67 (9-pin male D-Sub serial connector) through an RS-232 transceiver(1)
  • UART_2 is available on connector J20 (2-position Wire to Board Terminal Block) through an RS-485 transceiver(1)
  • UART_3 and UART_4 are available on the USB Type-C port (J23) via the USB to serial converter FT4232H(1)

Device Naming Issue

Your device listing shows:

/dev/aquila-uart2 → ttyS1
/dev/aquila-uart3 → ttyS2
/dev/aquila-uart4 → ttyS3

However, you’re missing /dev/aquila-uart1, which should correspond to the RS-232 connector (J67). This suggests that UART_1 may not be properly enabled in your current configuration.

Hardware Configuration

For the RS-232 interface on J67, the datasheet mentions that hardware configuration is available via jumpers J87(1). You mentioned testing both positions (1-2 and 2-3), which is correct.

USB Debugger UART Access

The Aquila Development Board provides an on-board USB Debugger (U15) based on the FT4232H chip with the following features(2):

  • 2x UART ports connected to the Aquila Module’s UART3 and UART4(2)
    • UART3: Primary operating system debug port that gives access to a Linux console(2)
    • UART4: Secondary real-time OS debug port that might also be used as a general purpose UART(2)

Troubleshooting Steps

  1. Check if UART_1 is enabled: The missing /dev/aquila-uart1 device suggests this interface may not be active
  2. Verify device tree configuration: UART_1 may need to be enabled through device tree overlays
  3. Check jumper J87 configuration: Refer to the specific jumper settings in the datasheet for proper RS-232 operation
  4. Test with UART_3 or UART_4: These are accessible via the USB Type-C debug port (J23) and are known to be working(2)

Alternative Testing

Since UART_3 and UART_4 are available through the USB Type-C connector (J23) and are confirmed working in the debugger configuration(2), you could test UART communication using these interfaces first to verify your setup methodology.

The issue appears to be that UART_1 (which connects to the RS-232 J67 connector) is not currently enabled or accessible as a device file in your system configuration.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

Hello @Stefano,

UART1, as labeled in the Aquila Development board corresponds to Aquila UART1.
This port is not present in your logs.
Which version of the Toradex BSP are you using?
Do you have a custom device tree?

In my setup I do see it with a default device tree:

torizon@aquila-am69-12593493:~$ ls -l /dev/aquila-uart*
lrwxrwxrwx 1 root root 5 May 29 18:48 /dev/aquila-uart1 -> ttyS0
lrwxrwxrwx 1 root root 5 May 29 18:48 /dev/aquila-uart2 -> ttyS1
lrwxrwxrwx 1 root root 5 May 29 18:48 /dev/aquila-uart3 -> ttyS2
lrwxrwxrwx 1 root root 5 May 29 18:48 /dev/aquila-uart4 -> ttyS3

You could look into why /dev/aquila-uart1 is not showing up for you, or, if your intention is to just test the UART functionality and you do not need UART1 specifically, you could just connect to UART2.
In software, this is already the port you are using if you open /dev/ttyS1.

Best Regards,
Bruno

Hi Bruno,

I followed your suggestion to try a different BSP version.

I was previously using BSP 7 Mainline Linux Reference Multimedia (v7.3), and after switching to BSP 7 Downstream Linux Reference Multimedia, I can now see UART1 directly and successfully communicate with the serial ports on my PC.

Thanks again for your help!

Best regards,
Stefano

Hi @Stefano,

Thanks for the update.
The mainline-based BSP is experimental for the Aquila AM69 and not feature complete.
For information on the supported BSPs for each SoM, you can check the Release Matrix: Release Matrix - Kernel/U-Boot Version | Toradex Developer Center

Best Regards,
Bruno