# [ifplugd] - Pb de configuration de ifplugd - [résolu]

## knoax

Bonjour

J'ai un PC avec 2 cartes reseaux 

- carte réseau ethernet => eth0

- carte réseau wifi => ath0

J'ai installé le demon ifplugd afin qu'il se charge de la configuation de ma carte ethernet lors de la connexion de mon cable sur mon PC à mon routeur.

Cela avait pour but de ne plus attendre lors du redemarrage de ma gentoo de la configuration de eth0 lorsque mon cable n'était pas connecté.

J'ai alors installé ifplugd en faisant:

```
# USE="doc" emerge ifplugd
```

Puis j'ai configuré mon fichier /etc/conf.d/net en suivant un exemple trouvé sur le net

```
# This blank configuration will automatically use DHCP for any net.*

# scripts in /etc/init.d.  To create a more complete configuration,

# please review /etc/conf.d/net.example and save your configuration

# in /etc/conf.d/net (this file :]!).

modules=( "dhcpcd" "wpa_supplicant" "ifplugd" )

# Carte reseau Ethernet

config_eth0=( "dhcpcd" )

dhcpcd_eth0="release nodns nontp nonis nogateway nosendhost"

ifplug_eth0=( "--no-beep --ignore-fail --ignore-retval --pol-time=1 --delay-up=0 --delay-down=0 --monitor" )

# Carte reseau WIFI

config_ath0=( "dhcpcd" )

dhcpcd_ath0="-t 30"

wpa_supplicant_ath0="-Dmadwifi"

wpa_timeout_ath0=60

```

Mais lorsque je désactive ma carte wifi et que je branche mon cable ethernet rien ne se passe.

J'ai remarqué que si je voulais avoir le net j'étais obligé de relancer le démon dhcpcd manuellement puis de restarter ma carte eth0

Si je suis le manuel d'installation officiel Gentoo chapitre réseau il parle de 

```
(Remplacez eth0 par l'interface à surveiller.)

ifplugd_eth0="..."
```

Mais lorsque j'utilise 

ifplugd_eth0=( "--no-beep --ignore-fail --ignore-retval --pol-time=1 --delay-up=0 --delay-down=0 --monitor" )

j'ai une error lors de mon démarrage m'indiquant qu'il ne peut pas demarrer eth0

Alors je recherche des exemples de configuration de ifplugd.

Si des personnes ont des exemples à me donner pour m'aider ça serait génial

Merci

Knoax

====================================================================

====================================================================

SOLUTION que j'ai trouvé en m'inspirant du fichier /etc/conf.d/net de geekounet

Mon fichier /etc/conf.d/net était incorrect, j'avais 2 erreurs dont les corrections sont:

1- charger et configurer ifplugd avant toute conf d'autre module tel que dhcpcd

2- utiliser ifplugd_eth0=... et non ifplug_eth0=...

Voici mon fichier de config /etc/conf.d/net testé mais ifplugd gère le filaire et non le wifi

```
# This blank configuration will automatically use DHCP for any net.*

# scripts in /etc/init.d.  To create a more complete configuration,

# please review /etc/conf.d/net.example and save your configuration

# in /etc/conf.d/net (this file :]!).

modules=( "dhcpcd" "wpa_supplicant" )

# Carte reseau Ethernet

modules_eth0=( "ifplugd" )

ifplugd_eth0=( "--no-beep --ignore-fail --ignore-retval --poll-time=1 --delay-up=0 --delay-down=0 --monitor" )

config_eth0=( "dhcp" )

dhcpcd_eth0="-I ''"

# Carte reseau WIFI

config_ath0=( "dhcp" )

dhcpcd_ath0="-t 30 -I ''"

wpa_supplicant_ath0="-Dmadwifi"

wpa_timeout_ath0=60
```

J'ai essayé de modifier le fichier de config /etc/conf.d/net de façon que ifplugd gére le filaire ET le wifi mais ça n'a pas fonctionné

(voir mon dernier message pour plus d'info)

Merci à tous ceux qui m'ont aidé 

====================================================================

====================================================================

----------

## loopx

tiens, ca m'intéresse ca  :Smile: 

----------

## loopx

Je pense que ca a peut etre un rapport avec mii-tool ou autre ...

```

loop-nb runlevels # mii-tool

SIOCGMIIPHY on 'eth0' failed: Invalid argument

SIOCGMIIPHY on 'eth1' failed: Operation not supported

no MII interfaces found

loop-nb runlevels # ifplug

ifplugd       ifplugstatus

loop-nb runlevels # ifplugstatus

lo: link beat detected

eth0: unplugged

eth1: unplugged

```

Juste avant, j'avais fait un dhcpcd eth0, je l'ai donc tué via pkill dhcpcd et un ptit ifconfig eth0 down avant de tester la commande ifplugstatus qui ne détecte jamais quand le cable est branché   :Rolling Eyes: 

EDIT: voilà, c'est bon ca fonctionne ...  En fait, il faut que l'interface soit UP... ifplug utilise visiblement dhcpcd comme client dhcp (donc, faut l'emerger). Une fois l'interface UP, il peut détecter si le cable est branché ou non ... ensuite, si ifplugd est lancé, il te démarre automatiquement un dhcpcd sur la bonne interface (j'ai pas testé avec le wifi). POur le boot, il faut que tu modifie le fichier /etc/rc.conf (ou /etc/conf.d/rc ...)  faut mettre un truc pour pas que ca démarre l'interface .. mais si y a ifplugd et que le cable est pas branché, dans ce cas, j'ai aucune idée de comment ca fonctionne ...

----------

## geekounet

Il suffit de laisser l'interface démarrer toute seule, ça passe en background et ça se lance tout seul quand il faut quand on branche le cable  :Wink: 

----------

## loopx

faut apporter une config spécifique au fichier /etc/conf.d/net ???

----------

## geekounet

 *loopx wrote:*   

> faut apporter une config spécifique au fichier /etc/conf.d/net ???

 

Non, moi pour l'ethernet ça se résume à :

```
hotplug_eth0="yes"

config_eth0="dhcp"
```

Ptêt que le hotplug y fait quelque chose remarque ...

----------

## SnowBear

Mon /etc/conf.d/net :

 *Quote:*   

> modules=( "plug" )
> 
> config_eth0=( "dhcp" )
> 
> modules=( "wpa_supplicant" )
> ...

 

Le tout fonctionnant à merveille avec ifplugd

----------

## knoax

Merci à tout le monde pour votre participation à mon pb.

Je vais essayé dès ce soir les différentes conf que propose geekounet et SnowBear

J'ai néanmoins quelques questions:

geekounet :  tu sembles utiliser hotplug, je vais vérifier si j'ai installé hotplug (je pense mais j'en suis pas certain) mais dans ton /etc/conf.d/net utilises tu un modules=( "quelque chose" )  par exemple modules=( "hotplug" )  ou modules=( "ifplugd" ) ?

Utilises tu hotplug à la place de ifplugd?

SnowBear: tu utilise 

```
modules=( "plug" ) 
```

et non 

```
modules=( "ifplugd" )
```

C'est interessant car j'ai vu dans /etc/conf.d/net.example qu'il utilisait modules=( "ifplugd" ).

ton /etc/conf.d/net prend en compte ifplugd pour tes 2 interfaces (ethernet et wifi) ?

Merci encore de votre aide

Knoax

----------

## SnowBear

A priori ifplugd ne fonctionne que pour ma connexion filaire, ma connexion wifi étant prise en charge via wpa_supplicant.

Dès qu'il y a un réseau wifi inscrit dans mon wpa_supplicant.conf à porté j'y suis connecté automatiquement.

Dès que ma carte filaire est connectée ifplugd s'occupe de lui trouver une ip et tout ce que va bien.

----------

## geekounet

 *knoax wrote:*   

> geekounet :  tu sembles utiliser hotplug, je vais vérifier si j'ai installé hotplug (je pense mais j'en suis pas certain) mais dans ton /etc/conf.d/net utilises tu un modules=( "quelque chose" )  par exemple modules=( "hotplug" )  ou modules=( "ifplugd" ) ?
> 
> Utilises tu hotplug à la place de ifplugd?

 

Hotplug est intégré à udev depuis un bail  :Rolling Eyes:  Mais là n'est pas la question de toute façon, c'est pas parce qu'ya le mot hotplug dans un fichier de conf que ça correspond forcement au sys-apps/hotplug ...

Et cette variable $modules, on n'est pas censé avoir besoin d'y toucher, le baselayout utilise automatiquement le meilleur de ce qu'il trouve, en ce qui concerne ifplugd, il le prend automatiquement une fois qu'il est installé par exemple, pareil pour wpa_supplicant, iproute2, etc.

Si tu veux savoir quand même, voilà le fichier entier (j'avoue que je l'ai encore cette variable $modules, mais la flemme de rééditer le fichier juste pour ça  :Razz: ) :

```
modules=( "iproute2" "dhcpcd" "wpa_supplicant" )

hotplug_eth0="yes"

config_eth0=( "dhcp" )

hotplug_eth1="yes"

config_eth1=( "dhcp" )

wpa_supplicant_eth1="-Dwext -w -c /etc/wpa_supplicant/wpa_supplicant.conf"

wpa_timeout_eth1=60

preup() {

  if [[ ${IFACE} = "eth1" ]]; then

    sleep 5

  fi

  return 0

}
```

----------

## knoax

Merci à toutes les personnes qui m'ont proposé leur aide

J'ai suivi les conseils de SnowBear et de geekounet mais ça n'a rien donné

Conseil de SnowBear:

Utiliser modules=( "plug" ) => Gentoo m'indique que le module plug n'existe pas

Conseil de geekounet:

Utiliser hotplug => hotplug n'est pas installé

J'ai néanmoins trouvé ma solution en m'inspirant du /etc/conf.d/net de geekounet

J'ai édité mon fichier /etc/conf.d/net de manière à charger le module ifplugd avant de configurer le module dhcpcd

De plus dans mon ancienne config j'utilisais ifplug_eth0 au lieu de ifplugd_eth0=...

Voici ma config de /etc/conf.d/net

```
# This blank configuration will automatically use DHCP for any net.*

# scripts in /etc/init.d.  To create a more complete configuration,

# please review /etc/conf.d/net.example and save your configuration

# in /etc/conf.d/net (this file :]!).

modules=( "dhcpcd" "wpa_supplicant" )

# Carte reseau Ethernet

modules_eth0=( "ifplugd" )

ifplugd_eth0=( "--no-beep --ignore-fail --ignore-retval --poll-time=1 --delay-up=0 --delay-down=0 --monitor" )

config_eth0=( "dhcp" )

dhcpcd_eth0="-I ''"

# Carte reseau WIFI

config_ath0=( "dhcp" )

dhcpcd_ath0="-t 30 -I ''"

wpa_supplicant_ath0="-Dmadwifi"

wpa_timeout_ath0=60
```

Avec cette config seul ma connexion filaire est géré par ifplugd, j'en n'ai pas besoin pour l'interface wifi

J'ai  modifié le fichier /etc/conf.d/net afin que ifplugd gére le filaire ET le Wifi mais la conf suivante ne me permet plus de me connecter avec l'interface wifi.

Je ne vois pas pourquoi si quelqu'un à une idée

```
# This blank configuration will automatically use DHCP for any net.*

# scripts in /etc/init.d.  To create a more complete configuration,

# please review /etc/conf.d/net.example and save your configuration

# in /etc/conf.d/net (this file :]!).

modules=( "dhcpcd" "wpa_supplicant" "ifplugd" )

# Carte reseau Ethernet

ifplugd_eth0=( "--no-beep --ignore-fail --ignore-retval --poll-time=1 --delay-up=0 --delay-down=0 --monitor" )

config_eth0=( "dhcp" )

dhcpcd_eth0="-I ''"

# Carte reseau WIFI

# ligne venant du manuel officiel d'installation de Gentoo mais rend impossible la connexion wifi

# si on la retire la connexion wifi fonctionne mais n'est pas géré par ifplugd

ifplugd_ath0="--api-mode=wlan"

config_ath0=( "dhcp" )

dhcpcd_ath0="-t 30 -I ''"

wpa_supplicant_ath0="-Dmadwifi"

wpa_timeout_ath0=60

```

Merci de vos aides

Knoax

----------

## geekounet

 *knoax wrote:*   

> Conseil de geekounet:
> 
> Utiliser hotplug => hotplug n'est pas installé

 

Relis ce que j'ai écris au dessus, ya pas besoin de l'installer, et ça n'a rien avoir avec sys-apps/hotplug de toute manière !

Ensuite l'ordre dans lequel t'écris tes variables dans /etc/conf.d/net ne change rien.

Et ya rien besoin de faire à part installer ifplugd pour que ça marche tout seul.

Et pour le wifi, wpa_supplicant tout seul suffit, ifplugd c'est fait pour l'ethernet.

----------

## knoax

Oups désolé geekounet, tu as raison j'avais bien lu ton post au début. Mais quand j'ai trouvé la solution j'avais oublié quelques passages

Si je comprends bien selon toi, l'ordre des variables n'a pas d'importance.

Néanmoins quand j'avais corrigé la ligne ifplug_eth0 par ifplugd_eth0

Cela ne fonctionnait pas

Mais dès que j'ai modifié l'ordre des variables ça a fonctionné.

Je ne comprends plus

Enfin le principal c'est que ça fonctionne

Merci en tout cas de tes conseils geekounet

Knoax

----------

## julroy67

Ah la nouvelle version de KDE est disponible, vivement qu'elle soit dans Portage  :Smile: 

----------

## Mickael

Et quel rapport avec ce post?  :Confused: 

----------

## SnowBear

 *Mickael wrote:*   

> Et quel rapport avec ce post? 

 

Je me suis posé exactement la même question.

----------

