Code: Select all
###################SETUP SERVICES################
echo "SETUP SERVICES"
echo -n "Setting up services (network, printing, etc.)..." >/dev/console
if [ -e /dev/modem ];then
setserial -v -b /dev/modem auto_irq skip_test autoconfig
check_status 0
fi
In the scenario where setserial did not crash, the subsequent "check_status 0" command caused an error message that it does not exist! I could not find it.
So, two suggestions:
1. protect setserial by changing the preceding test to select only devices ttyS0-ttyS4:
Code: Select all
if [ -e /dev/modem -a "`readlink /dev/modem | grep 'tty[0-4]'`" != "" ];then
Barry, for the /dev/modem > modem problem, please tell me where that might happen, earlier in initialization. It causes all other "ln"s for it to fail, making it difficult to determine the origin. But I do not know what happens with serial devices before the point I discussed above.
Thanks.
Richard
EDIT 7/22:
I replicated both the "check_status and /dev/modem problems, with only my external serial modem in ttyS0. The bootsysinit.log after probe and first reboot afterward:
Code: Select all
SETUP SERVICES
/dev/modem at 0x03f8 (irq = 4) is a 16550A
/etc/rc.d/rc.sysinit: line 272: check_status: command not found
RECOGNISE MEDIA DEVICES
Code: Select all
if [ -f /etc/wvdial.conf ];then
echo "DEVM1: `cat /etc/wvdial.conf | tr -s ' ' | grep '^Modem = ' | head -n 1 | cut -f 3 -d ' '`" >> /tmp/bootsysinit.log #rse
wvdialconf /etc/wvdial.conf >/tmp/logwvdialprobe 2>&1
DEVM="`cat /etc/wvdial.conf | tr -s ' ' | grep '^Modem = ' | head -n 1 | cut -f 3 -d ' '`"
echo "DEVM2: $DEVM" >> /tmp/bootsysinit.log #rse
else
So. wvdialconf changes the valid setting of ttyS0 to "modem = /dev/modem" in wvdial.conf, even though the modem was still connected in the same way! What to make of that?DEVM1: /dev/ttyS0
DEVM2: /dev/modem
Richard