_____________________________________________________________________
724-746-5500 | b lackb o x.co m
Page 200
When an alert occurs on a port:
-
The portmanager will attempt to execute
/etc/config/scripts/portXX.alert
(where XX is the port
number, e.g. 08)
-
The script is run with STDIN containing the data which triggered the alert, and STDOUT redirected to
/dev/null, NOT to the serial port. If you want to communicate with the port, use
pmshell
or
pmchat
from within the script.
-
If the script cannot be executed, then the alert will be mailed to the address configured in the
system administration section.
When a user connects to any port:
-
If a file called
/etc/config/pmshell-start.sh
exists it is run when a user connects to a port. It is
provided 2 arguments, the "Port number" and the "Username". Here is a simple example:
</etc/config/pmshell-start.sh >
#!/bin/sh
PORT="$1"
USER="$2"
echo "Welcome to port $PORT $USER"
< /etc/config/pmshell-start.sh>
-
The return value from the script controls whether the user is accepted or not, if 0 is returned (or
nothing is done on exit as in the above script) the user is permitted, otherwise the user is denied
access.
-
Here is a more complex script which reads from configuration to display the port label if available
and denies access to the root user:
</etc/config/pmshell-start.sh>
#!/bin/sh
PORT="$1"
USER="$2"
LABEL=$(config -g config.ports.port$PORT.label | cut -f2- -d' ')
if [ "$USER" == "root" ]; then
echo "Permission denied for Super User"
exit 1
fi
if [ -z "$LABEL" ]; then
echo "Welcome $USER, you are connected to Port $PORT"
else
echo "Welcome $USER, you are connected to Port $PORT ($LABEL)"
fi
</etc/config/pmshell-start.sh>
15.3 Raw Access to Serial Ports
15.3.1 Access to serial ports
You can use
tip
and
stty
to completely bypass the
portmanager
and have raw access to the serial ports.
When you run
tip
on a
portmanager
controlled port,
portmanager
closes that port, and stops
monitoring it until
tip
releases control of it.