Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[RISOLTO] Conexant ADSL e PPPD - Stato Connessione
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
spugna
Tux's lil' helper
Tux's lil' helper


Joined: 26 Nov 2004
Posts: 97

PostPosted: Tue Jul 05, 2005 10:13 am    Post subject: [RISOLTO] Conexant ADSL e PPPD - Stato Connessione Reply with quote

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
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Tue Jul 05, 2005 12:28 pm    Post subject: Reply with quote

Quote:
Mi chiedevo se qualcuno di voi conosceva un modo per monitorare lo stato dell'interfaccia ppp
Code:
ifconfig ppp0
Back to top
View user's profile Send private message
spugna
Tux's lil' helper
Tux's lil' helper


Joined: 26 Nov 2004
Posts: 97

PostPosted: Tue Jul 05, 2005 12:59 pm    Post subject: Reply with quote

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
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Tue Jul 05, 2005 3:24 pm    Post subject: Reply with quote

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
View user's profile Send private message
spugna
Tux's lil' helper
Tux's lil' helper


Joined: 26 Nov 2004
Posts: 97

PostPosted: Tue Jul 05, 2005 7:21 pm    Post subject: Reply with quote

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
View user's profile Send private message
spugna
Tux's lil' helper
Tux's lil' helper


Joined: 26 Nov 2004
Posts: 97

PostPosted: Tue Jul 05, 2005 7:49 pm    Post subject: Reply with quote

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
View user's profile Send private message
oRDeX
Veteran
Veteran


Joined: 19 Oct 2003
Posts: 1325
Location: Italy

PostPosted: Tue Jul 05, 2005 7:52 pm    Post subject: Reply with quote

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 :P
Back to top
View user's profile Send private message
spugna
Tux's lil' helper
Tux's lil' helper


Joined: 26 Nov 2004
Posts: 97

PostPosted: Tue Jul 05, 2005 9:21 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum