View previous topic :: View next topic |
Author |
Message |
spugna Tux's lil' helper
Joined: 26 Nov 2004 Posts: 97
|
Posted: Tue Jul 05, 2005 10:13 am Post subject: [RISOLTO] Conexant ADSL e PPPD - Stato Connessione |
|
|
Salve a tutti...
ho appena installato un modem ADSL PCI Conexant (Trust Speedlink ADSL) sul mio serverino gentoo, dando un bel calcione al router d-link che si inchiodava ogni 12 ore circa.
Per l'installazione ho seguito questo tutorial http://gentoo-wiki.com/HOWTO_PPPoA_ADSL_with_a_Conexant_Accessrunner_PCI_modem, apportando alcune modifiche allo script di init proposto:
Code: |
#/etc/init.d/cnxadslctl
start() {
# if the driver is not already loaded then
# Load the module
if [[ `lsmod | grep -o -e "CnxADSL"` ]] ; then
eerror "AccessRunner is already loaded"
eend $?
else
ebegin "Starting Conexant AccessRunner"
modprobe -i CnxADSL \
CnxtDslVendorId=0x14F1 \
CnxtDslArmDeviceId=0x1610 \
CnxtDslAdslDeviceId=0x1611 \
CnxtDslPhysicalDriverType=1 >/dev/null 2>/dev/null
# Initialize the firmware
/etc/Conexant/cnxadslload /etc/Conexant >/dev/null 2>/dev/null
#INIZIO MODIFICHE
if [ $? -eq 0 ]; then
ebegin "Bringing up ppp0 interface"
/usr/bin/pppd
sleep 180
fi
#FINE MODIFICHE
eend $?
fi
}
|
Quello sleep 180 non mi piace molto... solo che mi serve perché ho altri servizi che dipendono strettamente dalla connessione a internet (non a caso è tutto nel runlevel internet).
Mi chiedevo se qualcuno di voi conosceva un modo per monitorare lo stato dell'interfaccia ppp e infilarlo in un loop, che stilisticamente mi pare un po' meglio di uno sleep... _________________ Don't think, drink your wine, watch the fire burn... his problems not mine...
Just be that model citizen.
Last edited by spugna on Wed Jul 06, 2005 1:15 pm; edited 1 time in total |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Tue Jul 05, 2005 12:28 pm Post subject: |
|
|
Quote: | Mi chiedevo se qualcuno di voi conosceva un modo per monitorare lo stato dell'interfaccia ppp |
|
|
Back to top |
|
|
spugna Tux's lil' helper
Joined: 26 Nov 2004 Posts: 97
|
Posted: Tue Jul 05, 2005 12:59 pm Post subject: |
|
|
Quindi una cosa del tipo...
Code: |
TIME_LIMIT=180 #Tempo limite in secondi
var="1"
START_TIME=$(date +'%s')
ebegin "Bringing up ppp0 interface"
/usr/sbin/pppd
while [ $var = "1" ]
do
sleep 5 #Dormo un po'...
ifconfig ppp0 > /dev/null 2>&1 #l'exitcode di ifconfig è 1 quando l'interfaccia non è "up"...
var= $?
END_TIME=$(date +'%s')
if [ $(expr $(expr $END_TIME - $START_TIME) \>= $TIME_LIMIT) = "1" ]; then
var="2"
fi
done
eend $var
|
...funzionerà il mio bash raffazzonato? _________________ Don't think, drink your wine, watch the fire burn... his problems not mine...
Just be that model citizen. |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Tue Jul 05, 2005 3:24 pm Post subject: |
|
|
spugna wrote: | Quindi una cosa del tipo...
Code: |
TIME_LIMIT=180 #Tempo limite in secondi
var="1"
START_TIME=$(date +'%s')
ebegin "Bringing up ppp0 interface"
/usr/sbin/pppd
while [ $var = "1" ]
do
sleep 5 #Dormo un po'...
ifconfig ppp0 > /dev/null 2>&1 #l'exitcode di ifconfig è 1 quando l'interfaccia non è "up"...
var= $?
END_TIME=$(date +'%s')
if [ $(expr $(expr $END_TIME - $START_TIME) \>= $TIME_LIMIT) = "1" ]; then
var="2"
fi
done
eend $var
|
...funzionerà il mio bash raffazzonato? |
+ o - funziona ... però non capisco la necessità di farlo dormire ... non funziona senza lo sleep ? |
|
Back to top |
|
|
spugna Tux's lil' helper
Joined: 26 Nov 2004 Posts: 97
|
Posted: Tue Jul 05, 2005 7:21 pm Post subject: |
|
|
In effetti... era per non continuare a fare il polling...
comunque ho verificato e non va...
quando pppd viene lanciato crea subito l'interfaccia ppp0, a me servirebbe di "capire" quando il provider mi assegna l'ip o al massimo l'indirizzo del gw...
Output di ifconfig non appena /usr/sbin/pppd viene lanciato...
Code: |
pantoufles ~ # ifconfig ppp0
ppp0 Link encap:Point-to-Point Protocol
POINTOPOINT NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
|
_________________ Don't think, drink your wine, watch the fire burn... his problems not mine...
Just be that model citizen. |
|
Back to top |
|
|
spugna Tux's lil' helper
Joined: 26 Nov 2004 Posts: 97
|
Posted: Tue Jul 05, 2005 7:49 pm Post subject: |
|
|
Risolto così, con awk...
Code: |
#INIZIO MODIFICHE
TIME_LIMIT=180 #Tempo limite in secondi
var="1"
START_TIME=$(date +'%s')
ebegin "Bringing up ppp0 interface"
/usr/sbin/pppd > /dev/null 2>&1
if [ "$?" != "0" ]; then
var=1
else
while [ $var = "1" ]
do
sleep 2 #Dormo un po'...
var=$(ifconfig ppp0 | awk '/inet addr:/')
if [ "$var" = "" ]; then
var=1
else
var=0
fi
END_TIME=$(date +'%s')
if [ $(expr $(expr $END_TIME - $START_TIME) \>= $TIME_LIMIT) = "1" ]; then
var="2"
fi
done
fi
eend $var
#FINE MODIFICHE
|
_________________ Don't think, drink your wine, watch the fire burn... his problems not mine...
Just be that model citizen. |
|
Back to top |
|
|
oRDeX Veteran
Joined: 19 Oct 2003 Posts: 1325 Location: Italy
|
Posted: Tue Jul 05, 2005 7:52 pm Post subject: |
|
|
la cosa più iideale sarebbe greppare RUNNING, è quella la parola chiave in una interfaccia che ti fa capire che è up veramente, tipo una eth0, anche se ha già l'ip, se il cavo è scollegato non trovi la parola RUNNING, cmq penso che nel tuo caso la mia rpecisazione sia poco opportuna |
|
Back to top |
|
|
spugna Tux's lil' helper
Joined: 26 Nov 2004 Posts: 97
|
Posted: Tue Jul 05, 2005 9:21 pm Post subject: |
|
|
Grazie del consiglio... anche greppare "UP POINTOPOINT RUNNING"...
un'altra cosa...
secondo voi lasciare MTU a 1500 è male? _________________ Don't think, drink your wine, watch the fire burn... his problems not mine...
Just be that model citizen. |
|
Back to top |
|
|
|