Hi,
On my BBB I have a Serial RS-232 BeagleBone Cape (BB_BONE_SERL-03 Rev A1)
that I have jumpered for UART4. It works under Angstrom and was recently
working under Ubuntu 12.04 LTS. Now it is not working under Ubuntu. There
seems to be pin error which may be preventing it from loading. I don't
know if this was caused by some configuration changes or not. I haven't
been able to figure out what is causing the conflict.
How can I find and fix this problem?
Thanks for your help.
Phil
--------------------------------------------------------------------------------------------------------------------
Background Information:
1. This is not a hardware problem. I have tested the same cape board under
Angstrom and it works (a remote putty serial session receives the
transmission); however, nothing is received from Ubuntu:
root@ubuntu-armhf:/home/ubuntu# echo hello > /dev/ttyO4
Note: I also tested UART4 using another micro-cape board that was working
earlier - it also failed.
2. Some time ago I replaced /boot/dtbs/am335x-boneblack.dtb (decompiled,
modified, recompiled .dts) to enable UART4 (/dev/ttyO4):
...
serial@481a8000 {
compatible = "ti,omap3-uart";
ti,hwmods = "uart5";
clock-frequency = <0x2dc6c00>;
reg = <0x481a8000 0x2000>;
interrupts = <0x2d>;
status = "okay";
linux,phandle = <0x1b>;
phandle = <0x1b>;
};
...
This was working under Angstrom and Ubuntu.
3. I tried restoring the original /boot/dtbs/am335x-boneblack.dtb and used
a .dtbo overlay for UART 4 - it still didn't work.
4. I scanned dmesg for config errors:
ubuntu@ubuntu-armhf:~$ dmesg | grep -iE "uart|tty|error:"
[ 0.000000] Kernel command line: console=ttyO0,115200n8 fixrtc
root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait
[ 0.507160] omap_uart 44e09000.serial: did not get pins for uart0 error: -19
[ 0.507505] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 88) is a OMAP
UART0
[ 1.218231] console [ttyO0] enabled
[ 1.222660] omap_uart 481a8000.serial: did not get pins for uart4 error: -19
[ 1.230408] 481a8000.serial: ttyO4 at MMIO 0x481a8000 (irq = 61) is a OMAP
UART4
ubuntu@ubuntu-armhf:~$ dmesg | grep capemgr
[ 1.314500] bone-capemgr bone_capemgr.9: Baseboard:
'A335BNLT,0A5C,2513BBBK0965'
[ 1.322289] bone-capemgr bone_capemgr.9:
compatible-baseboard=ti,beaglebone-black
[ 1.354316] bone-capemgr bone_capemgr.9: slot #0: 'BeagleBone RS232
CAPE,00A1,Beagleboardtoys,BB-BONE-SERL-03'
[ 1.392362] bone-capemgr bone_capemgr.9: slot #1: No cape found
[ 1.429467] bone-capemgr bone_capemgr.9: slot #2: No cape found
[ 1.466577] bone-capemgr bone_capemgr.9: slot #3: No cape found
[ 1.472829] bone-capemgr bone_capemgr.9: slot #4: specific override
[ 1.479431] bone-capemgr bone_capemgr.9: bone: Using override eeprom data
at slot 4
[ 1.487466] bone-capemgr bone_capemgr.9: slot #4:
'Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G'
[ 1.497595] bone-capemgr bone_capemgr.9: slot #5: specific override
[ 1.504197] bone-capemgr bone_capemgr.9: bone: Using override eeprom data
at slot 5
[ 1.512234] bone-capemgr bone_capemgr.9: slot #5:
'Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI'
[ 1.522697] bone-capemgr bone_capemgr.9: loader: before slot-0
BB-BONE-SERL-03:00A1 (prio 0)
[ 1.531582] bone-capemgr bone_capemgr.9: loader: check slot-0
BB-BONE-SERL-03:00A1 (prio 0)
[ 1.540465] bone-capemgr bone_capemgr.9: loader: before slot-4
BB-BONE-EMMC-2G:00A0 (prio 1)
[ 1.549338] bone-capemgr bone_capemgr.9: loader: check slot-4
BB-BONE-EMMC-2G:00A0 (prio 1)
[ 1.558137] bone-capemgr bone_capemgr.9: initialized OK.
[ 1.563745] bone-capemgr bone_capemgr.9: loader: before slot-5
BB-BONELT-HDMI:00A0 (prio 1)
[ 1.572511] bone-capemgr bone_capemgr.9: loader: check slot-5
BB-BONELT-HDMI:00A0 (prio 1)
[ 1.594787] bone-capemgr bone_capemgr.9: loader: after slot-0
BB-BONE-SERL-03:00A1 (prio 0)
[ 1.603587] bone-capemgr bone_capemgr.9: loader: check slot-4
BB-BONE-EMMC-2G:00A0 (prio 1)
[ 1.618764] bone-capemgr bone_capemgr.9: loader: check slot-5
BB-BONELT-HDMI:00A0 (prio 1)
[ 1.633551] bone-capemgr bone_capemgr.9: slot #0: Requesting part
number/version based 'BB-BONE-SERL-03-00A1.dtbo
[ 1.650222] bone-capemgr bone_capemgr.9: slot #0: Requesting firmware
'BB-BONE-SERL-03-00A1.dtbo' for board-name 'BeagleBone RS232 CAPE', version
'00A1'
[ 61.751962] bone-capemgr bone_capemgr.9: failed to load firmware
'BB-BONE-SERL-03-00A1.dtbo'
[ 61.760833] bone-capemgr bone_capemgr.9: loader: failed to load slot-0
BB-BONE-SERL-03:00A1 (prio 0)
[ 61.772418] bone-capemgr bone_capemgr.9: loader: check slot-5
BB-BONELT-HDMI:00A0 (prio 1)
[ 61.772447] bone-capemgr bone_capemgr.9: loader: after slot-5
BB-BONELT-HDMI:00A0 (prio 1)
[ 61.772475] bone-capemgr bone_capemgr.9: slot #5: Requesting firmware
'cape-boneblack-hdmi-00A0.dtbo' for board-name 'Bone-Black-HDMI', version
'00A0'
[ 61.772500] bone-capemgr bone_capemgr.9: slot #5: dtbo
'cape-boneblack-hdmi-00A0.dtbo' loaded; converting to live tree
[ 61.772829] bone-capemgr bone_capemgr.9: slot #5: #4 overlays
[ 61.773958] bone-capemgr bone_capemgr.9: loader: check slot-4
BB-BONE-EMMC-2G:00A0 (prio 1)
[ 61.773982] bone-capemgr bone_capemgr.9: loader: after slot-4
BB-BONE-EMMC-2G:00A0 (prio 1)
[ 61.774012] bone-capemgr bone_capemgr.9: slot #4: Requesting firmware
'cape-bone-2g-emmc1.dtbo' for board-name 'Bone-LT-eMMC-2G', version '00A0'
[ 61.774028] bone-capemgr bone_capemgr.9: slot #4: dtbo
'cape-bone-2g-emmc1.dtbo' loaded; converting to live tree
[ 61.774534] bone-capemgr bone_capemgr.9: slot #4: #2 overlays
[ 61.774704] bone-capemgr bone_capemgr.9: slot #4: Applied #2 overlays.
[ 61.774719] bone-capemgr bone_capemgr.9: loader: done slot-4
BB-BONE-EMMC-2G:00A0 (prio 1)
[ 61.964834] bone-capemgr bone_capemgr.9: slot #5: Applied #4 overlays.
[ 61.964861] bone-capemgr bone_capemgr.9: loader: done slot-5
BB-BONELT-HDMI:00A0 (prio 1)
5. I checked the /dev/ttyO4 settings and made sure they matched the remote
putty settings.
ubuntu@ubuntu-armhf:~$ stty -F /dev/ttyO4
speed 9600 baud; line = 0;
-brkint -imaxbel
6. I checked the current capemgr slots:
ubuntu@ubuntu-armhf:~$ cat /sys/devices/bone_capemgr.*/slots
1: 55:PF---
2: 56:PF---
3: 57:PF---
4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
5: ff:P-O-- Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
7. I checked for any running processes that might be locking the device -
none were seen:
ubuntu@ubuntu-armhf:~$ ps waux | grep tty
root 484 0.0 0.1 3364 708 tty4 Ss+ 19:07 0:00
/sbin/getty -8 38400 tty4
root 486 0.0 0.1 3364 708 tty5 Ss+ 19:07 0:00
/sbin/getty -8 38400 tty5
root 491 0.0 0.1 3364 708 tty2 Ss+ 19:07 0:00
/sbin/getty -8 38400 tty2
root 494 0.0 0.1 3364 708 tty3 Ss+ 19:07 0:00
/sbin/getty -8 38400 tty3
root 497 0.0 0.1 3364 708 tty6 Ss+ 19:07 0:00
/sbin/getty -8 38400 tty6
root 573 0.0 0.1 3364 708 tty1 Ss+ 19:07 0:00
/sbin/getty -8 38400 tty1
root 574 0.0 0.1 1612 636 ttyO0 Ss+ 19:07 0:00
/sbin/getty 115200 ttyO0
ubuntu 772 0.0 0.1 3116 712 pts/0 S+ 19:24 0:00 grep
--color=auto tty
8. I tried to disable the HDMI interface but couldn't find a way that would
work.
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.