To resolve the issue, I have added the proper pinctrl signals for the uart, I did this for uart0 & uart1
uart1_pins: pinmux_uart1_pins { pinctrl-single,pins = < 0x170 0x30 /* (E15) uart0_rxd.uart0_rxd, PIN_INPUT | MUX_MODE0 */ 0x174 0x00 /* (E16) uart0_txd.uart0_txd, PIN_OUTPUT | MUX_MODE0 */ >; }; uart2_pins: pinmux_uart2_pins { pinctrl-single,pins = < 0x180 0x30 /* (D16) uart1_rxd.uart1_rxd, PIN_INPUT | MUX_MODE0 */ 0x184 0x00 /* (D15) uart1_txd.uart1_txd, PIN_OUTPUT | MUX_MODE0 */ >; }; This worked for me uart1: serial@44e09000 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&uart1_pins>; }; uart2: serial@48022000 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&uart2_pins>; }; On Wednesday, April 9, 2014 at 1:09:03 AM UTC+5:30, polloc...@gmail.com 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. > > > > -- 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 beagleboard+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.