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.

Reply via email to