Getting UART2 to operate on BBG


I have a BeagleBone Green running Linux version 4.1.15-ti-rt-r43 and Debian 8.3 (Jessie). I am cannot seem to send or receive data on UART2.

What I can see see is that UART2 is enabled:

[ 4.368638] 48024000.serial: ttyS2 at MMIO 0x48024000 (irq = 160, base_baud = 3000000) is a 8250).

I have used minicom, a C++ QT application, and an online script ( to try and send data over UART2 but nothing seems to get to the pins.

I feel confident in the hardware I use to verify that no data is sent over the UART2 pins (I have yet to get an oscilloscope out though).

Looking at the BBG schematic, it seems the UART2 pins are shared with the SPI. I am wondering if by default SPI might be configured, which might prevent UART2 from operating.

Has anybody ever gotten UART2 to work on the BBG? If so, what steps did you take?
What software check can I perform to verify UART2 is effectively ready to operate?


Out of the box, we have it setup to utilize universal io, so to enable ths
uart pinmux:

debian@beaglebone:~$ config-pin -l P9.21
default gpio gpio_pu gpio_pd spi uart i2c pwm
debian@beaglebone:~$ config-pin -l P9.22
default gpio gpio_pu gpio_pd spi uart i2c pwm

debian@beaglebone:~$ config-pin P9.21 uart
debian@beaglebone:~$ config-pin P9.22 uart

debian@beaglebone:~$ config-pin -q P9.21
P9_21 Mode: uart
debian@beaglebone:~$ config-pin -q P9.22
P9_22 Mode: uart

ttyS2 should now be working..


Hello guys,

I have the same issue, indeed all the UARTs coming disabled with this image, even though all the /dev/ttyOx are available. My solution maybe is not the best one, but I just change the version of Debian 7 release 2015-07-13, and everything works like we expect, I mean like books and tutorials about how to enable ports, and these stuff. Later I will try the RobertCNelson solution, it looks very well, maybe is a more reliable solution.


ttyS2 works using this method for the BBG wireless edition also.

Is there a way to automate this on boot thru uEnv other than placing it in a shell script that is executed on startup?

I’m using BBG with Debian 8.5 now, and this solution is working.