On Tuesday, April 8, 2014 2:39:03 PM UTC-5, [email protected] wrote:
>
> 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. I tried disabling the HDMI port by changing the optargs line in
> /boot/uboot/uEnv.txt to use capemgr.disable_partno as follows:
>
ubuntu@ubuntu-armhf:~$ cat /boot/uboot/uEnv.txt
optargs=fixrtc capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN
loadfdt=ext4load mmc ${mmcdev}:2 ${fdtaddr} /boot/dtbs/${fdtfile}
loaduimage=mw.l 4804c134 fe1fffff; if ext4load mmc 0:2 ${loadaddr}
/boot/zImage; then mw.l 4804c194 01200000; echo Booting from external
microSD...; setenv mmcdev 0; else setenv mmcdev 1; if test $mmc0 = 1; then
setenv mmcroot /dev/mmcblk1p2 rw; fi; ext4load mmc 1:2 ${loadaddr}
/boot/zImage && mw.l 4804c194 00c00000; echo Booting from internal eMMC...;
fi
mmcboot=run mmcargs; bootz ${loadaddr} - ${fdtaddr}
uenvcmd=i2c mw 0x24 1 0x3e; run findfdt; if test $board_name = A335BNLT;
then setenv mmcdev 1; mmc dev ${mmcdev}; if mmc rescan; then setenv mmc1 1;
else setenv mmc1 0; fi; fi; setenv mmcdev 0; mmc dev ${mmcdev}; if mmc
rescan; then setenv mmc0 1; else setenv mmc0 0; fi; run loaduimage && run
loadfdt && run mmcboot
After re-booting the HDMI entry still appeared in the 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
So this doesn't appear to 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.