Problem Enabling BBB UART's

Hello All;

I have a script that enables the other UARTs on the BBB, when I run it after the system has booted.

The problem is I can’t get the same commands to execute automatically when UBUNTU 12.04LTS boots.

This is the bash file that works:

serials.sh

#!/bin/bash

cd /lib/firmware/

echo ttyO1_armhf.com > /sys/devices/bone_capemgr*/slots

echo ttyO2_armhf.com > /sys/devices/bone_capemgr*/slots

echo ttyO4_armhf.com > /sys/devices/bone_capemgr*/slots

echo tty01_armhf.com > /sys/devices/bone_capemgr*/slots

echo tty02_armhf.com > /sys/devices/bone_capemgr*/slots

echo tty04_armhf.com > /sys/devices/bone_capemgr*/slots

cd ~

Here is the result:

root@ubuntu-armhf:/# bash serials.sh

root@ubuntu-armhf:/# ls -l /dev/ttyO*

crw------- 1 root tty 249, 0 Jul 28 22:28 /dev/ttyO0

crw-rw---- 1 root dialout 249, 1 Jul 28 22:28 /dev/ttyO1

crw-rw---- 1 root dialout 249, 2 Jul 28 22:28 /dev/ttyO2

crw-rw---- 1 root dialout 249, 4 Jul 28 22:28 /dev/ttyO4

root@ubuntu-armhf:/#

If I put the same commands in .bash_profile this is what I get:

.bash_profile

PATH=$PATH:/home/ubuntu/local/cloud9/:/home/ubuntu/local/cloud9/bin/

export PATH

export NODE_PATH=/usr/local/bin/cloud9/node_modules

Required For Device Tree Overlays

export SLOTS=/sys/devices/bone_capemgr.9/slots

export PINS=/sys/kernel/debug/pinctrl/44e10800.pinmux/pins

Setup the other Serial Ports

echo “Setting up ttyO1 - ttyO4”

echo /lib/firmware/ttyO1_armhf.com > /sys/devices/bone_capemgr*/slots

echo /lib/firmware/ttyO2_armhf.com > /sys/devices/bone_capemgr*/slots

echo /lib/firmware/ttyO4_armhf.com > /sys/devices/bone_capemgr*/slots

ubuntu-armhf login: root

Password:

Last login: Mon Jul 28 22:25:16 UTC 2014 on ttyO0

Welcome to Ubuntu 12.04.4 LTS (GNU/Linux 3.8.13-bone20 armv7l)

Setting up ttyO1 - ttyO4

[ 25.020726] bone-capemgr bone_capemgr.9: failed to load firmware ‘/lib/firmware/tt-00A0.dtbo’

-bash: echo: write error: No such file or directory

[ 25.050049] bone-capemgr bone_capemgr.9: failed to load firmware ‘/lib/firmware/tt-00A0.dtbo’

-bash: echo: write error: No such file or directory

[ 25.079348] bone-capemgr bone_capemgr.9: failed to load firmware ‘/lib/firmware/tt-00A0.dtbo’

-bash: echo: write error: No such file or directory

root@ubuntu-armhf:~# ls -l /dev/ttyO*

crw------- 1 root tty 249, 0 Jul 28 22:27 /dev/ttyO0

The .dtbo files are in /lib/firmware/ or the bash script wouldn’t work. Is there somewhere else I should put the commands ?

Thanks.

Bill

“No one could make a greater mistake than he who did nothing because he could do only a little.”

“All that is necessary for the triumph of evil is that good men do nothing” Edmond Burke (1729 - 1797)

http://www.packtpub.com/building-a-home-security-system-with-beaglebone/book

Hello again William,

http://serverfault.com/questions/444685/run-linux-script-at-startup.

Apparently Ubuntu 12.10 lts uses Upstart as the init daemon which I know nothing about. But the first answer to the question on that link seems reasonable.