ifup-ppp

Tomasz Witek tiwek w manta.univ.gda.pl
Sob, 3 Gru 2005, 12:28:34 CET


mała poprawka która ucieszy wszystkih posiadaczy neostrady i modemu
sagem.

Problem: nie startuje siec podczas bootowania systemu.

Powod: czas pomiedzy zaladowaniem sterownika przez udev lub rc-scripty 
jest zbyt krótki aby użadzenie zainicjalizowac i żeby ifup-ppp poprawnie
ruszyl.

Objawy: okolo polowa startów neostrady konczy sie podniesieniem pppd
ktory zabiera po jakims czasie wszystkie tty's bez uruchomienia pppoa
potrzebnego do poprawnego dzialania.

Rozwiazanie:

Wystarczy sprawdzic czy eaglectl -w zakonczyl sie z 0.

--- ifup-ppp.orig       2005-11-22 20:05:33.000000000 +0100
+++ ifup-ppp    2005-12-03 11:47:33.000000000 +0100
@@ -69,6 +69,17 @@
                exit 1
        fi
        $EAGLECTRL -w
+       EAGLE_STAT=$?
+       EAGLE_COUNT=0
+       while [ $EAGLE_STAT -ne 0 -a $EAGLE_COUNT -lt 10 ];  do
+               sleep 3;
+               $EAGLECTRL -w
+               EAGLE_STAT=$?
+               EAGLE_COUNT=`expr $EAGLE_COUNT + 1`
+       done
+       if [ $EAGLE_STAT -ne 0 ]; then
+               exit 1;
+       fi
        PPPOA_IFACE=$( $EAGLECTRL -i 2>/dev/null)
        if [ -z "$PPPOA_IFACE" ]; then
                PPPOA_IFACE="(unknown)"

Nie jest to przykład super programowania ale dziala.

Tak naprawde to ta 10 powinna byc brana z pliku konfiguracyjnego, sleep
tez jakos dobrany.
Moze to sie da zrobic bez expr i jakos ladnie i prosto, ale ja nie
potrafie. To zostawiam juz opiekunom rc-scripts.

TiweK




Więcej informacji o liście dyskusyjnej pld-devel-pl