View previous topic :: View next topic |
Author |
Message |
CoinCoin Tux's lil' helper
Joined: 30 Apr 2004 Posts: 100 Location: France
|
Posted: Wed Jun 16, 2004 6:48 am Post subject: [net.ethx] activer apres la synchro du modem (Résolu) |
|
|
Salut tout le monde,
Mon modem sagem 908 free dégroupé fonctionne en IP routée, ainsi j'ai simplement rajouté une carte réseau au démarrage:
Code: | ln -s net.eth0 net.eth2 |
et modifié le fichier:
Code: | /etc/conf.d/net
iface_eth2="dhcp" |
Cela marche à merveille, sauf au démarrage. Comment pourrais-je lui dire de récupérer l'adresse IP dhcp, seulement après la synchronisation du modem USB? (la synchro s'enclenche) lors du lancement d'hotplug. _________________ J'aime la bière, même si la recette n'est pas libre.
Last edited by CoinCoin on Wed Jun 16, 2004 2:23 pm; edited 1 time in total |
|
Back to top |
|
|
theturtle123 l33t
Joined: 19 Sep 2003 Posts: 621 Location: Lille, France
|
Posted: Wed Jun 16, 2004 7:08 am Post subject: |
|
|
essayer de faire s'executer hotplug dans un runlevel avant le up des cartes réseaux ?
mais il y a plus simple... si tu es dégroupé c'est que tu as une ip fixe donc à la limite pas besoin de dhcp, tu peux fixer l'adresse à l'avance de la carte réseau je pense |
|
Back to top |
|
|
Pachacamac Veteran
Joined: 22 Nov 2003 Posts: 1264 Location: Paris - France
|
Posted: Wed Jun 16, 2004 10:59 am Post subject: |
|
|
Ou alors tu peux ajouter un dans le script /etc/init.d/net.eth1 pour qu"il patiente n secondes avant de se lancer. |
|
Back to top |
|
|
CoinCoin Tux's lil' helper
Joined: 30 Apr 2004 Posts: 100 Location: France
|
Posted: Wed Jun 16, 2004 12:51 pm Post subject: |
|
|
Tout d'abord j'ai essayé en précisant une IP fixe au lieu d'utiliser une requete DHCP. J'arrive bien à avoir l'IP fixe, mais impossible de communiquer apres cela. Donc j'imagine qu'il faut bel et bien en rester avec cette IP dynamique.
Pour ce qui est du script net.eth1 qui équivaut donc à mon modem, j'ai essayé 2 choses différentes:
1. qui me fait effectivement bien une pause équivalante au nombre de secondes indiqué.
2. que m'avait conseillé Sleeper dans le thread de l'ebuild de l'eagle-usb, commande parfaite puisqu'en effet elle attend la synchronisation du modem.
Maintenant dans les 2 cas j'ai le même problème: les 2 scripts s'executent parfaitement bien, ils patientent comme demandé, le script renvoie un joli [ok] pour me dire que j'ai recu une IP... et là, ca bloque complètement. Le seul moyen de le débloquer c'est de débrancher le modem.
Je soupconne qu'il s'agisse d'un problème avec ma facon de rajouter ces commandes dans le script. Je les ai directement misent comme premiere commande de la fonction start()
A noter aussi quand que le problème ne se reproduit pas quand je refais la meme manipulation manuellement. _________________ J'aime la bière, même si la recette n'est pas libre. |
|
Back to top |
|
|
yoyo Bodhisattva
Joined: 04 Mar 2003 Posts: 4273 Location: Lyon - France
|
Posted: Wed Jun 16, 2004 1:26 pm Post subject: |
|
|
Sans rien modifier dans tes scripts d'init :
theturtle123 wrote: | essayer de faire s'executer hotplug dans un runlevel avant le up des cartes réseaux ? |
C'est-à-dire :
Code: | rc-update del hotplug
rc-update del net.eth2
rc-update add hotplug boot
rc-update add net.eth2 default |
Sinon, tu peux faire un tour ici : Les scripts d'initialisation et la section Écrire un script d'initialisation (notamment le passage sur les dépendances).
My 2 cents ... _________________ La connaissance s'accroît quand on la partage.
JCB |
|
Back to top |
|
|
scout Veteran
Joined: 08 Mar 2003 Posts: 1991 Location: France, Paris en Semaine / Metz le W-E
|
Posted: Wed Jun 16, 2004 1:47 pm Post subject: |
|
|
Pachacamac wrote: | Ou alors tu peux ajouter un dans le script /etc/init.d/net.eth1 pour qu"il patiente n secondes avant de se lancer. |
Normalement les scripts ne se lancent que l'un après l'autre, donc attendre 1 seconde ne changera pas grand chose. Pour qu'ils se lancent en parallèle il y a une petite modif à faire dans /etc/conf.d/rc, à savoir mettre RC_PARALLEL_STARTUP="yes"
CoinCoin wrote: | 2. que m'avait conseillé Sleeper dans le thread de l'ebuild de l'eagle-usb, commande parfaite puisqu'en effet elle attend la synchronisation du modem. |
Parfait ! tu suis les howto donnés par yoyo: tu fait ton propre script /etc/init.d/initialisationeagle et ensuites tu rajoutes dans les dépendances de /etc/init.d/net : need initialisationeagle et hop le tour est joué.
[EDIT]comme Pachacamac dans le post ci-dessous, je pense aussi que c'est un problème plus profond. _________________ http://petition.eurolinux.org/ - Petition against ePatents
L'essence de la finesse
Last edited by scout on Wed Jun 16, 2004 1:52 pm; edited 3 times in total |
|
Back to top |
|
|
Pachacamac Veteran
Joined: 22 Nov 2003 Posts: 1264 Location: Paris - France
|
Posted: Wed Jun 16, 2004 1:48 pm Post subject: |
|
|
CoinCoin wrote: |
Maintenant dans les 2 cas j'ai le même problème: les 2 scripts s'executent parfaitement bien, ils patientent comme demandé, le script renvoie un joli [ok] pour me dire que j'ai recu une IP... et là, ca bloque complètement. Le seul moyen de le débloquer c'est de débrancher le modem.
Je soupconne qu'il s'agisse d'un problème avec ma facon de rajouter ces commandes dans le script. Je les ai directement misent comme premiere commande de la fonction start()
|
J'aurai aussi mis le sleep en 1er.
Que se passe-t-il quand tu dis que çà bloque ? C'est quoi qui ne vas pas ?
CoinCoin wrote: |
A noter aussi quand que le problème ne se reproduit pas quand je refais la meme manipulation manuellement. |
Et comment tu fais la manip manuelle ?
EDIT : Pour scout : Je ne pense pas qu'attendre une seule seconde suffise pour initialiser son modem, mais il peux ar exemple mettre 20secondes.
La méthode qu'il a trouvé pour attendre l'initialisation est certes mieux que la mienne.
EDIT 2 : Je vois que je ne suis pas le seul à éditer |
|
Back to top |
|
|
CoinCoin Tux's lil' helper
Joined: 30 Apr 2004 Posts: 100 Location: France
|
Posted: Wed Jun 16, 2004 2:20 pm Post subject: |
|
|
Au bout de quelques heures sur le problème, je l'ai enfin résolu.
Mon problème avec les scripts était en fait celui que j'ai eu depuis le tout débout: la première requête DHCP ne fonctionne jamais! Il faut dans tous les cas la répéter 2 fois (?!).
J'aimerais savoir si d'autres utilisateurs on eu le même problème, car pour l'instant je ne sais pas si ca vient du modem ou de mon propre système. Je ne sais pas combien nous somme à utiliser la gentoo avec un Sagem 908 free dégroupé, en mode USB, mais on ne doit pas être des masses.
Pour le problème du script, je me suis laisser berné par le [ok] avec lequel j'ai cru obtenir une IP. En fait le script net.ethx de gentoo indique l'IP obtenue via DHCP lorsque l'opération c'est bien passé... ce que je n'avais pas. J'ai compris que lancer le script manuellement avec /etc/init.d/net.eth1 restart fonctionnait parcequ'il s'agissait tout simplement de la seconde requete DHCP.
Voici donc la partie modifié du script net.eth1:
Code: | start() {
/usr/local/sbin/eaglectrl -s 0
/sbin/dhcpcd -t 1 $(/usr/local/sbin/eaglectrl -i)
|
- eaglectrl -s 0 indique une pause jusqu'a ce que le modem soit synchronisé, 0 signifer sans timeout, il attendra indéfiniment tant que le modem n'est pas synchronisé.
- dhcpcd -t 1 lance la premiere requete DHCP qui est voué à l'échec, ainsi le timeout de 1 seconde rend l'opération relativement transparente.
Voilà le tout marche bien, en modifiant un minimum les scripts. Maintenant je pourrais encore jouer avec les dépendances des scripts pour gagner qq secondes lors de la synchro, mais je suis déjà satisfait.
En tout cas merci à tous.
[EDIT] Je rappelle juste qu'il s'agit des nouveaux drivers eagle-usb 1.9.8 avec un kernel 2.6.7-rc3. _________________ J'aime la bière, même si la recette n'est pas libre. |
|
Back to top |
|
|
|