View previous topic :: View next topic |
Author |
Message |
codadilupo Advocate
Joined: 05 Aug 2003 Posts: 3135
|
Posted: Mon Nov 03, 2003 10:53 am Post subject: eth0 in background [RISOLTO] |
|
|
S'ciao Gechi,
ho un preoblema fastidioso: quando accendo il portatile scollegato dalla rete, come é normale, visto che sono in dhcp, mi trovo sempre a dover aspettare parecchio tempo che fallisca la ricerca della rete.
Secondo voi, é possibile, con poche modifiche, fare in modo che il pc non si fermi all' ETH0 UP, ma continui il processo di boot ?
Tipo, imporre un processo background, che non attenda l'esito del processo, per continuare.....
Coda
Last edited by codadilupo on Wed Nov 05, 2003 9:35 pm; edited 1 time in total |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 30916 Location: here
|
Posted: Mon Nov 03, 2003 10:57 am Post subject: |
|
|
Non so se dica qualcosa di utile per il tuo problema (io la lessi tempo fa e non ricordo) ma prova
a leggere questo.
Oppure disabilita il servizio e lo fai partire manualmente quando ti serve. _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
Ginko Guru
Joined: 01 May 2002 Posts: 371 Location: nearby my linux laptop
|
Posted: Mon Nov 03, 2003 10:59 am Post subject: |
|
|
Io ho risolto il problema utilizzando i profili. Mi spiego, all'accensione del laptop, tramite il prompt di LILO, comunico il profilo di rete che desidero (casa, cliente1, cliente2, no-rete, ecc.), dopodiche' uso questa informazione all'interno degli startup scripts per attuare la relativa configurazione di rete (oltre ad altre cose).
Volendo puoi usare anche gli schemi di PCMCIA ammesso che la tua scheda di rete lo sia.
Di letteratura sul tema ce n'e' abbastanza in giro, ma se ti servono piu' info batti un colpo.
--Gianluca |
|
Back to top |
|
|
codadilupo Advocate
Joined: 05 Aug 2003 Posts: 3135
|
Posted: Mon Nov 03, 2003 11:03 am Post subject: |
|
|
fedeliallalinea wrote: | Non so se dica qualcosa di utile per il tuo problema (io la lessi tempo fa e non ricordo) ma prova
a leggere questo. |
L'avevo letto, ma non so come utilizzarlo: in piu', se non ho capito male, non mi risolve il problema: dovrei startare sempre senza rete, e, successivamente, lanciare la rete: allora tanto vale che...
Quote: | Oppure disabilita il servizio e lo fai partire manualmente quando ti serve. |
... e non mi sembra una soluzione
Coda |
|
Back to top |
|
|
codadilupo Advocate
Joined: 05 Aug 2003 Posts: 3135
|
Posted: Mon Nov 03, 2003 11:19 am Post subject: |
|
|
Ginko wrote: | Io ho risolto il problema utilizzando i profili. Mi spiego, all'accensione del laptop, tramite il prompt di LILO, comunico il profilo di rete che desidero (casa, cliente1, cliente2, no-rete, ecc.), dopodiche' uso questa informazione all'interno degli startup scripts per attuare la relativa configurazione di rete (oltre ad altre cose).
Volendo puoi usare anche gli schemi di PCMCIA ammesso che la tua scheda di rete lo sia.
Di letteratura sul tema ce n'e' abbastanza in giro, ma se ti servono piu' info batti un colpo.
--Gianluca |
dunque: la scheda non é una pcmcia, uso grub, e mi servono piu' info, quindi... batto il colpo !
A parte gli scherzi: ho capito solo che hai risolto, ma non sono assolutamente in grado di replicare la tua soluzione: non programmo, o meglio, non so programmare, quindi, quando leggo un banalissimo script bash, ho bisogno di sapere, step by step, a cosa serve, e dove va a parare: é già tanto se capisco la logica, di uno script, ma modificarlo... ehhhh, ce ne vuole ancora!
Coda |
|
Back to top |
|
|
Drospy n00b
Joined: 29 Aug 2003 Posts: 42 Location: Cosenza, Italy
|
Posted: Mon Nov 03, 2003 12:26 pm Post subject: Re: eth0 in background |
|
|
codadilupo wrote: | S'ciao Gechi,
ho un preoblema fastidioso: quando accendo il portatile scollegato dalla rete, come é normale, visto che sono in dhcp, mi trovo sempre a dover aspettare parecchio tempo che fallisca la ricerca della rete.
Secondo voi, é possibile, con poche modifiche, fare in modo che il pc non si fermi all' ETH0 UP, ma continui il processo di boot ?
Tipo, imporre un processo background, che non attenda l'esito del processo, per continuare.....
Coda |
Ciao,
io ho risolto così, ho modificato il file /etc/init.d/net.eth0 alla riga 64:
da
/sbin/dhcpcd ${dhcpcd_IFACE} ${IFACE} >/dev/null || {
a
/sbin/dhcpcd -t 1 ${dhcpcd_IFACE} ${IFACE} >/dev/null || {
ho aggiunto l'opzione t ( timeout ) cioè il tempo di attesa della risposta da parte del dhcp, l'unica controindicazione è che se hai problemi di rete per cui la risposta del dhcp è lenta, la rete potrebbe non salire. In caso aumenta il time-out.
Ciao |
|
Back to top |
|
|
Ginko Guru
Joined: 01 May 2002 Posts: 371 Location: nearby my linux laptop
|
Posted: Mon Nov 03, 2003 12:30 pm Post subject: |
|
|
codadilupo wrote: | dunque: la scheda non é una pcmcia, uso grub, e mi servono piu' info, quindi... batto il colpo ! |
Allora, innanzittutto prova a dare un'occhiata a questo post alla fine del quale viene descritto come impostare un profilo utilizzando grub. La soluzione globale descritta e' piuttosto complessa e non te la suggerisco a meno che tu non sappia esattamente quello che stai facendo.
L'idea di base pero' e' buona e puoi prenderne spunto. In pratica tu imposti la variabile d'ambiente $PROFILE medinate grub e poi nello script che fa partire la rete verifichi che tale variabile sia (ad esempio) "nonetwork" nel qual caso non fai partire il demone dhcp.
Il problema principale e' che cosi' facendo modifichi uno script (/etc/init.d/net.eth0) che fa parte di un pacchetto gentoo (sys-apps/baselayout), ossia una volta che fai un upgrade di quel pacchetto, ti perdi le tue modifiche.
Il mio consiglio e' il seguente :
Imposti la rete in /etc/conf.d/net con un indirizzo fisso : 10.0.0.1/255.255.255.252, nessun default-gw e metti net.eth0 nel runlevel di default.
Nello script /etc/conf.d/local.start metti il seguente codice :
Code: | if [ ! $PROFILE == "nonetwork" ]; then
/sbin/dhcpd eth0
fi |
Il gioco e' fatto!
Saluti
--Gianluca |
|
Back to top |
|
|
MyZelF Bodhisattva
Joined: 25 Feb 2003 Posts: 2010 Location: Venice, Italy
|
Posted: Mon Nov 03, 2003 1:13 pm Post subject: |
|
|
Sono tutte soluzioni valide al problema.
Dai un'occhiata anche qui:
https://forums.gentoo.org/viewtopic.php?t=70712
https://forums.gentoo.org/viewtopic.php?t=72757
dove si consiglia anche:
Code: | * sys-apps/ifplugd
Latest version available: 0.13-r1
Latest version installed: [ Not Installed ]
Size of downloaded files: 32 kB
Homepage: http://www.stud.uni-hamburg.de/users/lennart/projects/ifplugd
Description: Brings up/down ethernet ports automatically with cable detection
|
(non l'ho ancora provato, ma è nella mia todo list) |
|
Back to top |
|
|
codadilupo Advocate
Joined: 05 Aug 2003 Posts: 3135
|
Posted: Mon Nov 03, 2003 6:35 pm Post subject: |
|
|
grassie! Le provo tutte, e poi vi dico
Coda |
|
Back to top |
|
|
micron Guru
Joined: 23 Jul 2003 Posts: 411 Location: Bergamo, Italy
|
Posted: Mon Nov 03, 2003 6:41 pm Post subject: |
|
|
Anche io ho avuto per un po' di tempo lo stesso problema, ho risolto passando un valore di timeout a dhcpcd. Proprio come ha fatto Drospy.
Inoltre ho modificato anche /etc/init.d/net.eth0 aggiungendo:
Code: |
if [ -f /var/cache/dhcpcd-eth0.cache ] ; then
rm /var/cache/dhcpcd-eth0.cache
fi |
Tutto questo per velocizzare la connessione ad una rete dove è presente un dhcp server, ma c'è una classe di indirizzi diversi dall'ultima rete a cui dhcpcd si è connesso.
Senza questa aggiunta il mio dhcpcd tenta di prendersi l'ultimo ip che gli era stato assegnato, nonostante non centri nulla con lla rete in cui si trova. _________________ ~ "Progress is merely a realisation of utopias" ~ |
|
Back to top |
|
|
MyZelF Bodhisattva
Joined: 25 Feb 2003 Posts: 2010 Location: Venice, Italy
|
Posted: Mon Nov 03, 2003 11:49 pm Post subject: |
|
|
MyZelF wrote: | (non l'ho ancora provato, ma è nella mia todo list) |
Ho provato ifplugd, funziona perfettamente ed è probabilmente una delle soluzioni più comode per risolvere il problema.
Per installarlo (supponendo che l'interfaccia interessata sia eth0):
Code: |
# emerge sys-apps/ifplugd
# rc-update del net.eth0 default
# rc-update add ifplugd default
|
Se l'interfaccia usa DHCP è necessario (e comunque non fa male):
Code: |
# emerge sys-apps/net-tools
|
Editare /etc/conf.d/ifplugd aggiungendo ad ARGS le opzioni -a e -mm:
Code: |
ARGS="-f -u0 -d5 -w -a -mm"
|
Editare /usr/sbin/ifplugd.action in modo che sbatta giù l'interfaccia quando viene disconnesso il cavo:
Code: |
case "$2" in
up)
state=start
;;
down)
state=stop
/sbin/ifconfig $1 down
;;
*)
echo "$0: wrong arguments"
echo "Call with <interface> <up|down>"
exit 1
;;
esac
[ -x /etc/init.d/net.$1 ] && /etc/init.d/net.$1 --quiet $state
exit 0
|
...ed ora godetevi ifplugd che tira sù/giù la rete quando il cavo di rete viene collegato/scollegato. |
|
Back to top |
|
|
selene_luna3 n00b
Joined: 12 Dec 2003 Posts: 11 Location: Fribourg, Lugano
|
Posted: Sun Jan 04, 2004 2:51 pm Post subject: |
|
|
ehmmm.... ho fatto passo dopo passo come ha detto MyZelF ma... non funziona.. non mi dà errori, ma la rete non la trova, a meno che non riaggiungo net.eth0 al default.... in questo modo però rimane lo stesso problema iniziale.. _________________ Blessed Be
)O( Anh
Selene LuNa
Le persone viaggiano per stupirsi delle montagne, dei mari, dei fiumi, delle stelle e passano accanto a sé stessi senza meravigliarsi... |
|
Back to top |
|
|
Benve l33t
Joined: 13 Mar 2003 Posts: 897 Location: Italy Romagna
|
Posted: Sun Jan 04, 2004 2:53 pm Post subject: |
|
|
a dire il vero ho fatto anchiu una prova veloce e non aveva funzionato. Pensavo di aver dimenticato qualcosa |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 30916 Location: here
|
Posted: Sun Jan 04, 2004 3:30 pm Post subject: |
|
|
selene_luna3 wrote: | ehmmm.... ho fatto passo dopo passo come ha detto MyZelF ma... non funziona.. non mi dà errori, ma la rete non la trova, a meno che non riaggiungo net.eth0 al default.... in questo modo però rimane lo stesso problema iniziale.. |
Non e' una soluzione elegante ma puoi mettere nel tuo /etc/conf.d/net la riga
dove 5 sta per 5 secondi e poi fallisce se non trova. Di default e' 60 sec. _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
selene_luna3 n00b
Joined: 12 Dec 2003 Posts: 11 Location: Fribourg, Lugano
|
Posted: Sun Jan 04, 2004 3:33 pm Post subject: |
|
|
Ok grazie, meglio che niente. _________________ Blessed Be
)O( Anh
Selene LuNa
Le persone viaggiano per stupirsi delle montagne, dei mari, dei fiumi, delle stelle e passano accanto a sé stessi senza meravigliarsi... |
|
Back to top |
|
|
MoEbIuZ n00b
Joined: 25 Jan 2004 Posts: 15 Location: Italy
|
Posted: Thu Jan 29, 2004 9:05 pm Post subject: |
|
|
Io uso due righe di bash che potrebbero essere utili in casi simili:
Code: | #!/bin/bash
#Cerco mygateway, se non lo trovo mi attacco al internet da solo
ping -c 1 mygateway > /dev/null
if [ $? ]
then
adsl-start
fi
|
Il succo sta nel fatto che ping rende "exit 0" se tutto va bene e la variabile $? contiene lo stato di uscita dell'ultimo programma lanciato. |
|
Back to top |
|
|
randomaze Bodhisattva
Joined: 21 Oct 2003 Posts: 9985
|
Posted: Thu Jan 29, 2004 10:12 pm Post subject: |
|
|
MoEbIuZ wrote: |
Il succo sta nel fatto che ping rende "exit 0" se tutto va bene e la variabile $? contiene lo stato di uscita dell'ultimo programma lanciato. |
Non ci avevo mai pensato...questa me la segno come tip! |
|
Back to top |
|
|
elfo n00b
Joined: 30 Jun 2003 Posts: 12
|
Posted: Fri Jun 04, 2004 5:03 pm Post subject: /etc/conf.d/net && /etc/resolv.conf |
|
|
Quote: | ...ed ora godetevi ifplugd che tira sù/giù la rete quando il cavo di rete viene collegato/scollegato. |
proprio per questo NON uso ifplugd! Dato che l'implementazione di TCP permette un delay di 3 minuti di connessione "rotta" prima di resettare il socket, é pratico poter scollegare il cavo di rete, cambiarlo (per esempio con uno piu' lungo quando, stanchi di stare seduti alla scrivania vi volete fare l'ultima mezz'oretta di internet con il portatile comodamente sdraiati a letto). Se quando lo stacchi tira giu' l'interfaccia la cosa non funzionerebbe per niente.
La mia "soluzione" e' la piu' semplice ma un pochino piu' laboriosa:
in /etc/conf.d/net ho diversi "profili" che corrispondono alla configurazione delle reti a cui mi collego di frequente e non hanno dhcpd. Nel caso edito il file e cambio il profilo "scommentato".
Ho pure diversi /etc/resolv.conf-LUOGO che copio in /etc/resolv.conf a seconda di dove mi trovo.
SE ho bisogno la rete (conf. statica) lancio /etc/init.d/net.eth0 dopo aver modificato e copiato come sopra, senno' lancio sudo dhcpcd eth0. |
|
Back to top |
|
|
|