Tiny Core Linux

Tiny Core Base => Raspberry Pi => Topic started by: mehstg on May 13, 2015, 04:16:15 PM

Title: Serial /dev/ttyAMA0
Post by: mehstg on May 13, 2015, 04:16:15 PM
Hi all

I am out of ideas now, hoping one of you will be able to help me. I have a python script that uses /dev/ttyAMA0 (the built in serial on the GPIO). I am unable to use it however as the system reports it is already in use.

I have removed the offending code from cmdline.txt on partition mmcblk01p1. I have also commented out the serial console line in bootlocal.sh.

I checked /etc/inittab for a reference to the serial device and there is nothing in there.....I am now out of ideas what else could be holding the port open.

Any ideas. I'm running piCore 6.x on a Armv6 pi.

Paul
Title: Re: Serial /dev/ttyAMA0
Post by: Rich on May 13, 2015, 05:37:40 PM
Hi mehstg
Try:
Code: [Select]
fuser -m /dev/ttyAMA0That should return a list of process IDs. Then run:
Code: [Select]
psand check which process IDs match.
Title: Re: Serial /dev/ttyAMA0
Post by: bmarkus on May 13, 2015, 10:50:35 PM
By default serial terminal on ttyAMA0 is started in /opt/bootlocal.sh


Code: [Select]
# Start serial terminal.
/sbin/getty -L ttyAMA0 115200 vt100 &

Comment this line to disable. After editing do not forget to backup before reboot.
Title: Re: Serial /dev/ttyAMA0
Post by: mehstg on May 13, 2015, 11:28:43 PM
Hi, as mentioned in my original post, I have commented the line out in bootlocal.sh already and rebooted.

Running fuser -m /dev/ttyAMA0 shows two PID's holding the terminal open. Both are labelled '-sh' when I run PS
Title: Re: Serial /dev/ttyAMA0
Post by: bmarkus on May 14, 2015, 01:00:46 AM
On a stock piCore-6.1beta1 I get:

Code: [Select]
root@box:/home/tc# fuser /dev/ttyAMA0
21641

21641 root     /sbin/getty -L ttyAMA0 115200 vt100

Only getty is using serial line from /opt/bootlocal.sh no any other process.

Title: Re: Serial /dev/ttyAMA0
Post by: mehstg on May 14, 2015, 01:26:11 AM
bootlocal.sh:
Code: [Select]
#!/bin/sh

/usr/local/bin/wifi.sh -a 2>&1 > /tmp/wifi.log

# Set CPU frequency governor to ondemand (default is performance)
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

# Load modules
/sbin/modprobe i2c-dev

# Start openssh daemon
/usr/local/etc/init.d/openssh start

# ------ Put other system startup commands below this line

cmdline.txt
Code: [Select]
dwc_otg.lpm_enable=0 console=tty1 root=/dev/ram0 elevator=deadline rootwait nortc loglevel=3 noembed
fuser:
Code: [Select]
tc@nixiePi:~$ fuser -m /dev/ttyAMA0
1581 1789

1581 tc       -sh
1789 tc       -sh

If that is the case bmarkus, I may do a re-install. I wonder if it is one of my extensions that is holding the serial line open. (I have wifi and python gpio installed)

Title: Re: Serial /dev/ttyAMA0
Post by: mehstg on May 14, 2015, 01:29:50 AM
A little more digging.....It appears it is the busybox terminal...almost like I had not commented it out in bootlocal.sh

Code: [Select]
tc@nixiePi:~$ lsof | grep 1581
1581 /bin/busybox /dev/tty1
1581 /bin/busybox /dev/tty1
1581 /bin/busybox /dev/tty1
1581 /bin/busybox /dev/tty
tc@nixiePi:~$ lsof | grep 1789
1789 /bin/busybox /dev/pts/0
1789 /bin/busybox /dev/pts/0
1789 /bin/busybox /dev/pts/0
1789 /bin/busybox /dev/tty
Title: Re: Serial /dev/ttyAMA0
Post by: mehstg on May 15, 2015, 01:21:12 PM
Just wanted to report back on this. Did a reinstall from scratch and all is working as expected.

thanks for your help