BeagleBoard character faults on serial after boot (UART wakeup issue)

I have been getting junk/corrupting/incorrect characters on my serial line after I rebuilt Angstrom with OpenEmbedded. Here is an example:

.---O---.
|       |                  .-.           o o
|   |   |-----.-----.-----.| |   .----..-----.-----.
|       |     | __  |  ---'| '--.|  .-'|     |     |
|   |   |  |  |     |---  ||  --'|  |  |  '  | | | |
'---'---'--'--'--.  |-----''----''--'  '-----'-'-'-'
                -'  |
                '---'

The Angstrom Distribution beagleboard ttyS2

Angstrom 2011.03 beagleboard ttyS2

beagleboard login: ¹root
Ðass÷ïòdº

I managed to track it down to “UART wakeup and timeout options” as described here [1] and here [2]. The first character I type is rubbish, because of the wakeup and everything after that becomes corrupted. I noticed [3] has a solution which is outdated locations, once I found the new locations of these settings disabling the wakeup option of the ttyS2 uart fixed the problem.

echo disabled > /sys/devices/platform/serial8250.2/power/wakeup

Fixed:

.---O---.
|       |                  .-.           o o
|   |   |-----.-----.-----.| |   .----..-----.-----.
|       |     | __  |  ---'| '--.|  .-'|     |     |
|   |   |  |  |     |---  ||  --'|  |  |  '  | | | |
'---'---'--'--'--.  |-----''----''--'  '-----'-'-'-'
                -'  |
                '---'

The Angstrom Distribution beagleboard ttyS2

Angstrom 2011.03 beagleboard ttyS2

beagleboard login: root
root@beagleboard:~#

You could also increase the timeout so that the UART doesn’t go to sleep but this isn’t very useful if you leave it running in the background!

root@beagleboard:~# tail /sys/devices/platform/serial8250.2/sleep_timeout
5

Update: 2011-07-10
Unfortunately I’ve still had a few issues with reliability on the serial port to the BeagleBoard. Appears to be some sort of grounding issue (combined with the timeout issue). I found it all clears up if I do the above and ground the BeagleBoard USB otg port to one of my laptop’s USB ports.

[1] http://groups.google.com/group/beagleboard/browse_thread/thread/718af8f541a8eed2/d803c87e452092f9?lnk=gst&q=serial+characters#d803c87e452092f9
[2] http://groups.google.com/group/beagleboard/browse_thread/thread/a794ca286fbea94f
[3] http://elinux.org/OMAP_Power_Management#UART_wakeup_and_timeout_options

avatar

About Dave

"if it's not on fire, it's usually a software problem"