CallBack
Jan Kasprzak
kas na informatics.muni.cz
Úterý Červen 9 09:52:13 CEST 1998
cech pise:
:
: Mam nastaveny callback v linuxu....
: Kdyz pustim soubor callback a zadam cislo a snad i dokonce jede...
: Potrebuji ted nastavit W95 na prijem....
: Jak postupovat? (jak nastavit W95)....
:-) To jste asi ve spatne konferenci ...
Ale vazne. Napise se standardni login script typu:
... ogin: <logname> ssword: <heslo> <prompt_s_dotazem_na_cislo> 12345678
\d+++\dATH0 OK(nebo NO CARRIER, podle typu modemu) RING ATA CONNECT
Detaily si nepamatuju, ale ve tri_roky_starych_woknech jsou podobne,
jako v Linuxu. Nejdulezitejsi vec u woken je, ze se musi nechat nahore
signal DCD, jinak po ukonceni prvniho spojeni wokna zahlasi chybu.
To se udela prikazem AT&C0&W (myslim - podivejte se do manualu k prislusnemu
typu modemu).
: Jake reseni je nejlepsi na strane linuxu?
Existuje samostatny program callback, ale ja to resim (zhruba receno)
tak, ze na callback vyrobim pseudo-uzivatele, kteri jsou ve skupine uucp,
a jako shell jim nastavim program, ktery se zepta na cislo, a pak pusti
na pozadi nejaky callback skript a skonci. Callback skript zamce prislusny
modem (pomoci zamku ve /var/lock/LCK..<linka>) a zavola zpet. A pak pusti
uzivateli pppd.
Zamykani v shellu vypada asi takto:
sleep $FIRST_DELAY
set -C
while true
do
for LINE in $LINES
do
if printf "%10d\n" $$ >/var/lock/LCK..$LINE 2>|/dev/null
then break 2
fi
echo "device $LINE is locked." >&2
# LOCKING_PROCESS=`cat /var/lock/LCK..$LINE`
# test -d /proc/$LOCKING_PROCESS || \
# rm -f /var/lock/LCK..$LINE && \
# echo "Removing lock file LCK..$LINE">&2
done
sleep $DELAY
MAX_ATTEMPTS=`expr $MAX_ATTEMPTS - 1`
[ "$MAX_ATTEMPTS" -le 0 ] && exit 1
done
: (callback se musi pouste jako root?)
Nemusi - staci mit pristupova prava k modemu. Ale pppd se musi
poustet jako root. To resim tak, ze callback-uzivatele jsou ve skupine
uucp, a pppd ma prava 4750 root.uucp.
-Yenya
--
\ Jan "Yenya" Kasprzak <kas at fi.muni.cz> http://www.fi.muni.cz/~kas/
\\ PGP: finger kas at aisa.fi.muni.cz 0D99A7FB206605D7 8B35FCDE05B18A5E //
\\\ Czech Linux Homepage: http://www.linux.cz/ ///
If there are race conditions in programs fix them. The "my programs suck fix
something else" mentality leads you to things like Java. -- Alan Cox
Další informace o konferenci Linux