Question: Up squared i12 UART is not working
I am experiencing an issue with UART communication.
Although the devices are initiated correctly, the echo test using a loopback connection does not work.
[ System Info ]
Model: UP Squared i12, Intel Core i7-1260P
OS: Ubuntu 22.04.5 LTS
Kernel: 6.8.0-50-generic
Driver: pinctrl-upboard (v1.1.6)
[Observations]
When executing "dmesg | grep tty*", ttyS4 and ttyS5 appear to be activated.
[2.988076] dw-apb-uart.6: ttyS4 at MMIO 0x4017006000 (irq = 16, base_baud = 6250000) is a 16550A
[3.015300] dw-apb-uart.7: ttyS5 at MMIO 0x4017007000 (irq = 17, base_baud = 6250000) is a 16550A
[Run Test]
1. To perform the UART Loopback Test, pin8 and pin10 were connected with a jumper.
2. Open terminal “screen /dev/ttyS5 115200”.
3. Enter text into the terminal to perform an echo test.
[ Result ]
Characters entered in the terminal are not echoed.
[Question]
I also tested this setup under Ubuntu 20.04 with kernel versions 5.15.x and 5.4.x, but the issue persists.
Could you help identify the issue or suggest further debugging steps?
Thank you!!
Answers
-
Hi @khkim
UPS-ADLP has 2 UART on board, ttyS4 (HAT40 pin8(TX) – pin10(RX)) and ttyS5 (CN2).
You connect the TX and RX of HAT40 together, which is the loopback method. (Only tested for ttyS4)
It is normal that the UART ttyS5 cannot receive.
Please change to ttyS4.Best Regards,
Harry Chiu -
Thank you for your response.
You would need to connect the TX and RX of HAT40 together, which is the loopback method. (Only tested for ttyS4)
It is normal that the UART ttyS5 cannot receive.
It should be tested with ttyS4.-> I also tested for ttyS4, but it can not receive any characters. Please check the following:
LED (working)
LED works well after installing pinctrl(v1.1.6)Turn on the Green LED
echo 1 > /sys/class/leds/upboard:green:/brightness
Turn off the Green LED
echo 0 > /sys/class/leds/upboard:green:/brightness
This is a photo of the LEDs turned on using echo message.
Image.jpegUART (Not working)
TTY device node number can not be identified unlike wiki(https://github.com/up-board/up-community/wiki/How-to-use-the-peripherals-on-40-Pin-Header),
root@rov3-UPS-ADLP01:~# ls /sys/bus/pci/devices/0000\:00\:18.?/dw-apb-uart.*/tty/ | grep tty ls: cannot access '/sys/bus/pci/devices/0000:00:18.?/dw-apb-uart.*/tty/': No such file or directory
Thus, I checked the dirver installation(dw-apb-uart.*) by following command :
root@rov3-UPS-ADLP01:~# find / -name *dw-apb-uart.* find: ‘/run/user/1000/doc’: Permission denied find: ‘/run/user/1000/gvfs’: Permission denied /run/udev/data/+platform:dw-apb-uart.7 /run/udev/data/+platform:dw-apb-uart.6 /sys/kernel/software_nodes/node1/dw-apb-uart.7 /sys/kernel/software_nodes/node1/dw-apb-uart.6 /sys/kernel/debug/clk/dw-apb-uart.7-update /sys/kernel/debug/clk/dw-apb-uart.7-div /sys/kernel/debug/clk/dw-apb-uart.7-enable /sys/kernel/debug/clk/dw-apb-uart.6-update /sys/kernel/debug/clk/dw-apb-uart.6-div /sys/kernel/debug/clk/dw-apb-uart.6-enable /sys/devices/pci0000:00/0000:00:1e.0/dw-apb-uart.6 /sys/devices/pci0000:00/0000:00:1e.1/dw-apb-uart.7 /sys/bus/platform/devices/dw-apb-uart.7 /sys/bus/platform/devices/dw-apb-uart.6 /sys/bus/platform/drivers/dw-apb-uart/dw-apb-uart.7 /sys/bus/platform/drivers/dw-apb-uart/dw-apb-uart.6 not found, So I entered the following. root@rov3-UPS-ADLP01:~# ls /sys/devices/pci0000:00/0000:00:1e.0/dw-apb-uart.*/tty/ | grep tty ttyS4
dmesg shows that ttyS4 is initiated,
root@rov3-UPS-ADLP01:~# dmesg | grep tty [ 0.082949] printk: console [tty0] enabled [ 3.065371] dw-apb-uart.6: ttyS4 at MMIO 0x4017006000 (irq = 16, base_baud = 6250000) is a 16550A [ 3.101588] dw-apb-uart.7: ttyS5 at MMIO 0x4017007000 (irq = 17, base_baud = 6250000) is a 16550A
I will also attach the boot log file below. Please refer to
-
Hi @khkim
I tested with your command, the UART ttyS4 works normally.
Could you try UART with minicom??
And it needs to disable the hardware flow control.I'm not sure if using the command "screen" will automatically turn off hardware flow control.
Best Regards,
Harry Chiu -
Thank you for your answer.
"Could you try uart with minicom ??"
As a result of testing with ANSWER: "Minicom", the Loopback test is not executed as the same result as above."And it needs to disable the hardware flow control."
Answer: I disable the Hardware Flow Control at $ sudo minicom -s and do not work as a minicom.
It will still not work even if you run it with other Serial Program (cutecom, Moserial Putty ,,,, ETC).'' ''
$ Echo "test_message"> /dev /TTYS4
$ cat /dev /TTYS4
'' ''
This does not run either.This is my /dev /TTYS4 information.
'' ''
$ sty -f /dev /TTYS4
SPEED 115200 BAUD; LINE = 0;
min = 1; Time = 5;
Ignbrk -brkint -icrnl -IMAXBEL
-OPOST -NLCR
-ISig -icanon -ECHO -ECHO -ECHOE -ECHOK -ECHOCTL -ECHOKE'' ''
Result:
"Still control of LED works normal and does not work for UART."We would like to ask for additional answers to the LOG and Driver for the previous question.
BEST Regards,
Kyunghyun Kim -
-
Hi @HarryChiu
The bios version I use is " UPS-ADLP01 R1.1 (USADAM11) (06/07/2023) "
Best Regards,
Kyunghyun Kim -
Hi @khkim
After updating to your BIOS version, I was able to reproduce the issue, so I believe it is caused by an outdated BIOS version.
Please update bios.
I will reply this via mail.
Best Regards,
Harry Chiu -
Hi @HarryChiu,
I downloaded and executed the file with the Release Date: 2025-01-13 from the following link:
Download Link :"https://www.aaeon.com/kr/product/detail/up-board-up-squared-i12/download"I then followed the guide provided at this link to update the BIOS:
Firmware Guide : "https://github.com/up-board/up-community/wiki/Firmware"
In the "Step" section, I changed the 'Me FW Image Re-Flash' option to Enable.
After selecting fs0:, I executed go.nsh.However, as shown in the image below, I encountered the following error:
4 - Error: ROM file ROMID is not compatible with existing BIOS ROMID.
Based on what I found in the forum, it was suggested to forcibly add the -x option to the last line of the go.nsh file, like this:
AfuEfix64_5.15.03.0081.efi USRPAM14.bin -x /P /N /B /ME /RLC:M
Would this approach work? Or is there something I might have missed in the procedure?
Best Regards,
Kyunghyun Kim -
Hi @khkim
Because your code base is outdated, you must include the command
/X
when updating via shell.However, please note that flashing a different model's board is prohibited, as it may result in the device failing to boot.
Please download the attachment and unzip it using the password:
0000
.Best Regards,
Harry Chiu -
Hi @HarryChiu,
I downloaded the attached file, extracted it to a USB drive, and proceeded with the same steps as before.
However, the following error occurred:
Could you please advise on how to address this error?
Best Regards,
Kyunghyun Kim