I’m having an issue trying to use UART1 and UART2. I can get UART4 to work fine.
cat /etc/dogtag
BeagleBoard.org Debian Image 2015-11-01
uname -r
4.1.13-ti-r34
I’ve disabled cape-universal and enabled the UARTs in uEnv.txt:
cmdline=coherent_pool=1M quiet
cape_enable=bone_capemgr.enable_partno=BB-UART1,BB-UART2,BB-UART4
I can see the loaded capes:
0: PF---- -1
1: PF---- -1
2: PF---- -1
3: PF---- -1
4: P-O-L- 0 Override Board Name,00A0,Override Manuf,BB-UART1
5: P-O-L- 1 Override Board Name,00A0,Override Manuf,BB-UART2
6: P-O-L- 2 Override Board Name,00A0,Override Manuf,BB-UART4
Symptom is (e.g.) `stty -F /dev/ttyS2 -a’ prints info but then hangs for a number of seconds and finally seems to timeout and I get the bash prompt again (no error message). Trying to echo something (e.g. echo ‘hello world’ >/dev/ttyS2) also hangs with no output but eventually appears to timeout (with no output). I have seen.
These same things seem to work fine for /dev/ttyS4.
I have a FTDI cable hooked up to the RX/TX pins on the BBB UART. Using screen on the host side (a Mac) to display serial data.
FWIW:
dmesg>grep tty
[ 0.000000] Kernel command line: console=ttyO0,115200n8 bone_capemgr.enable_partno=BB-UART1,BB-UART2,BB-UART4 root=UUID=afd9b951-1277-4c59-9ea3-46a1824b7a46 ro rootfstype=ext4 rootwait fixrtc coherent_pool=1M quiet
[ 0.000458] WARNING: Your ‘console=ttyO0’ has been replaced by ‘ttyS0’
[ 3.375973] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 155, base_baud = 3000000) is a 8250
[ 3.383668] console [ttyS0] enabled
[ 4.091115] 48022000.serial: ttyS1 at MMIO 0x48022000 (irq = 192, base_baud = 3000000) is a 8250
[ 4.101751] 48024000.serial: ttyS2 at MMIO 0x48024000 (irq = 193, base_baud = 3000000) is a 8250
[ 4.102859] 481a8000.serial: ttyS4 at MMIO 0x481a8000 (irq = 194, base_baud = 3000000) is a 8250
I have also tried all of this using cape-universal and config-pin and manually enabling UART mode on the appropriate pins. Same symptoms including a working /dev/ttyS4.
What am I missing?
Cheers,
ba