# [ipw2200] Eth1 does not exist ... (resolu)

## C3DScredi

Alors voila j'ai du deleter ma partitions qui etait trop petite et maintenant j'en ai refais une de 20 Go donc j'ai tout réinstaller. Seulement voila encore ma carte Wifi qui me fait me frapper la tete sur le bureau :/

J'ai suivi a la lettre cette methode : http://gentoo-wiki.com/HARDWARE_ipw2200

J'ai fais ln -s /etc/init.d/net.eth0 /etc/init.d/net.eth1

j'ai fait modprobe ipw2200 pour charger le module qui se charge d'ailleurs sans probleme mais apres je fais iwconfig et je ne vois que eth0 et lo et donc pas d' interfaces sans fil puisque c'est la eth1

lorsque je fais /etc/init.d/net.eth1 il me dit :

```
* Caching service dependencies ...

* Starting eth1

*      Bringing up eth1

*           192.168.1.101

*           eth1 does not exist
```

J'ai reflechi a toute les solutions possibles mais la je ne vois plus alors j'appelle votre aide si précieuse   :Laughing: Last edited by C3DScredi on Sun May 14, 2006 9:13 am; edited 1 time in total

----------

## E11

J'ai eu le même problème, et j'ai réussi à le résoudre seulement en chipotant...

J'ai commencé par changer de version de driver ( en changeant de version de packages ) et puis j'ai tenté différente version de noyau... 

Au final, pour je ne sais quelle raison exactement, ça a fonctionné... ! 

Il y a sans doute un moyen plus "mathematique" mais chez moi c'est comme ça que j'ai reussi   :Laughing: 

----------

## balpage

et quand tu fais 

# ifconfig 

il reconnait ta carte ou non ?

----------

## E11

 *Quote:*   

> j'ai fait modprobe ipw2200 pour charger le module qui se charge d'ailleurs sans probleme mais apres je fais iwconfig et je ne vois que eth0 et lo et donc pas d' interfaces sans fil puisque c'est la eth1 

 

Je crois que je peux répondre pour lui : Non   :Laughing: 

D'ailleurs, mon problème fut identique, et le seul moyen que j'ai trouvé c'est de chipoter avec les versions et les kernels... si je me souviens bien, je n'avais trouvé aucune aide à pareil problème...

----------

## C3DScredi

Mais il y a d'autres version que le ipw2200 que portage emerge par defaut ? Si oui comment je fais pour l'installer a la place ?

Merci  :Smile: 

----------

## E11

```
emerge =ipw2200-x.x.x 
```

en remplaçant les x par la version voulue... (si tu utilise zsh à la place de bash, il faut ajouter un "\" devant le "=")

Ou bien dans le cas de l'emerge d'un programme qui est masqué, mettre dans /etc/portage/package.keywords le nom du programme plus le niveau de masquage...

expl : 

```
app-office/openoffice ~x86
```

 pour démasquer un package masqué par ~ pour une x86... et si c'est une hard masqued, il suffit juste de remplacer par -* à la place du ~

----------

## C3DScredi

 *E11 wrote:*   

> 
> 
> ```
> emerge =ipw2200-x.x.x 
> ```
> ...

 

OK mais comment savoir s'il existe une version instable ? pcq si oui je sais pas quelle version donc je sais pas remplacer les x.x.x de la version ....

----------

## nemo13

 *C3DScredi wrote:*   

> 
> 
> OK mais comment savoir s'il existe une version instable ? pcq si oui je sais pas quelle version donc je sais pas remplacer les x.x.x de la version ....

 

Sur ce lien par exemple

----------

## E11

 *nemo13 wrote:*   

>  *C3DScredi wrote:*   
> 
> OK mais comment savoir s'il existe une version instable ? pcq si oui je sais pas quelle version donc je sais pas remplacer les x.x.x de la version .... 
> 
> Sur ce lien par exemple

 

Ou en allant faire un tour à l'endroit où se trouve le paquet que tu veux installer...

Tous se trouve classé dans /usr/portage/...

Et tu pourras alors voir toutes les version présente ! Et si tu édites les fichiers, tu pourras même voir la varirable keywords et donc savoir comment le paquet est masqué !

Mais bon, le système internet est quand même plus convivial... C'est juste que personnellement, je n'y pense jamais   :Laughing:  lol

----------

## PabOu

 *E11 wrote:*   

>  *nemo13 wrote:*    *C3DScredi wrote:*   
> 
> OK mais comment savoir s'il existe une version instable ? pcq si oui je sais pas quelle version donc je sais pas remplacer les x.x.x de la version .... 
> 
> Sur ce lien par exemple 
> ...

 

Ou bien de cette facon :

```
# ACCEPT_KEYWORDS="~ARCH" emerge truc/truc -pv
```

----------

## C3DScredi

Merci pour les conseils je vais tester les précédentes versions alors ...

----------

## C3DScredi

Mais en fait pour créer Eth1 il faut bien faire ln -s /etc/init.d/net.lo /etc/init.d/net.eth1 ??

----------

## kernelsensei

oui, net.lo et non net.eth0 comme tu l'annonces plus haut ! C'est bien ce que dit la doc non ?

----------

## C3DScredi

Ben oui mais voila j'ai fais comme ca et toujours pas moyen de la lancer il me dit toujours eth1 does not exist ...

mais un lspci | grep 2200 me retourne :

```
01:03.0 Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05)
```

donc ma carte est bien reconue non ? ca peut quand meme etre un probleme de driver ou de firmware ?

je galere et je suis obligé de rester branché a ce cable  :Crying or Very sad: 

----------

## C3DScredi

Bon ben voila ... Il n'y a qu'un seul driver : 

```
ls /usr/portage/net-wireless/ipw2200/

ChangeLog                files/                   metadata.xml

Manifest                 ipw2200-1.1.2-r1.ebuild
```

Et j'ai essayé les drivers de version precedente et toujours eth1 does not exist ...

Quelqu'un aurait une petite idée   :Idea:  ?

Edit : ca ne peut pas venir de mon /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 :]!).

config_eth0=( "192.168.1.102 netmask 255.255.255.0 brd 192.168.1.255" )

routes_eth0=( "default gw 192.168.1.1" )

modules=( "iwconfig" )

config_eth1=( "192.168.1.101 netmask 255.255.255.0 brd 192.168.1.255" )

routes_eth1=( "default gw 192.168.1.1" )
```

on sait jamais   :Rolling Eyes: 

----------

## kernelsensei

C'est pas la peine de créer plusieurs posts de suite, le bouton "éditer" est là pour ça  :Wink: 

Maintenant, que donne cette manipulation ? :

```
rmmod ipw2200

dmesg -c ; dmesg -c

modprobe ipw2200

dmesg
```

En fait je veux seulement le resultat du dernier dmesg !

----------

## C3DScredi

Ah oui effectivement il y a un probleme :

```
ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.1.2mprq

ipw2200: Copyright(c) 2003-2006 Intel Corporation

ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection

ipw2200: ipw2200-bss.fw request_firmware failed: Reason -2

ipw2200: Unable to load firmware: -2

ipw2200: failed to register network device

ipw2200: probe of 0000:01:03.0 failed with error -5

```

----------

## kernelsensei

mhh t'as bien ipw2200-firmware d'installé ?

EDIT: en tout cas, t'es pas seul : voir ici

----------

## PabOu

 *PabOu wrote:*   

>  *E11 wrote:*    *nemo13 wrote:*    *C3DScredi wrote:*   
> 
> OK mais comment savoir s'il existe une version instable ? pcq si oui je sais pas quelle version donc je sais pas remplacer les x.x.x de la version .... 
> 
> Sur ce lien par exemple 
> ...

 

Ou bien encore... udept

----------

## E11

Essaye de changer de kernel... Je ne peux t'assurer que l'erreur que tu as es à 100% celle que j'avais, mais en tout cas elle y resemblent beaucoup ! 

Personnellement, j'avais essayé 4-5 kernel avant d'en trouver un où toute mes options fonctionnaient   :Laughing:  ( de quoi passé de bon moment en tête à tête avec son ordi lol )

C'est sans doute la partie la plus casse tête que j'ai eu à reglé depuis un pas mal de temps...

PS : il faut aussi que tu ne coches aucun des modules inclus dans le kernel si tu install le paquet ipw2200 sinon ça peut poser problème...  :Wink:  (juste un petit rappel sans doute inutile mais ça serait trop con  :Razz: )

----------

## C3DScredi

Non je n'ai pas coché les modules inclus dans le kernel pour ipw2200 et oui j'ai bien emergé ipw-firmware-3.0 et j'ai même testé des versions antérieures mais sans succès ...

Dans mais quand je fais un dmesg je me rends compte qu'il y a un message d'erreur qui précède :

```
ieee80211_crypt: registered algorithm 'NULL'

ieee80211: 802.11 data/management/control stack, 1.1.13

ieee80211: Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com>

--------> ipw2200: no version for "ieee80211_wx_get_encodeext" found: kernel tainted.

ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.1.2mprq

ipw2200: Copyright(c) 2003-2006 Intel Corporation

ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection

ipw2200: ipw2200-bss.fw request_firmware failed: Reason -2

ipw2200: Unable to load firmware: -2

ipw2200: failed to register network device

ipw2200: probe of 0000:01:03.0 failed with error -5

```

Ce n'est pas une erreur ca ?

----------

## Ey

 *fichier INSTALL du module IPW2200 wrote:*   

> 2.  The following error appears in the dmesg kernel ring buffer output:
> 
> ipw2200: ipw2200-bss.fw load failed: Reason -2
> 
> ipw2200: Unable to load firmware: -2
> ...

 

EDIT : sinon dans l'absolu il faut CONFIG_FW_LOADER dans ta config noyau et ton FIRMWARE_DIR est indiqué dans /etc/hotplug/firmware.agent (à priori si tu n'y a pas touché c'est : /lib/firmware)

EDIT2 : l'ebuild ipw2200-firmware installe de toute façon le firmware dans le rep /lib/firmware donc à moins que tu ais bidouillé le fichier /etc/hotplug/firmware.agent je te conseilles d'aller voir du côté de CONFIG_FW_LOADER dans le noyau.

EDIT3 : le CONFIG_FW_LOADER correspond à

```
Device Drivers -->

  Generic Driver Options -->

    <*> Userspace firmware loading support
```

----------

## C3DScredi

J'ai eu un soupcon d'espoir mais non toujours rien   :Crying or Very sad: 

Mon firmware est bien dans /lib/firmware qui est bien mon FIRMWARE_DIR et     <*> Userspace firmware loading support est bien coché ...

sysfs est monté aussi donc pas ca non plus :/

----------

## Ey

Le service hotplug est bien démarré ?

----------

## C3DScredi

Comment je peux le voir ? c'est un module ? je ne le vois pas en faisant lsmod en tou cas ...

----------

## C3DScredi

Ah non OK j'ai fait un /etc/init.d/hotplug status et il n'était pas lancé ...

Je dois le lancer au démarrage mais avant ipw2200 c'est ca ? En faisant un rc-update add hotplug default ca devrait aller ?

----------

## E11

oui c'est ça !

----------

## geekounet

Heu ça ne sert à rien de lancer /etc/init.d/hotplug, c'est un script vide. Enfin ptêt que je me trompe, que c'est qu'en ~x86 ...

EDIT : par vide, j'entends qu'il ne sert plus à rien, parce qu'effectivement ya 3-4 lignes de code ...

----------

## Ey

Je viens de voir un truc qui m'étonne chez moi :

```
$ sudo cat /proc/sys/kernel/hotplug 

$
```

en théorie là dedans il devrait y avoir /sbin/hotplug pour qu'il démarre le firmware.agent quand il en a besoin...

----------

## geekounet

Il me semble que c'est udev qui gère l'hotplug maintenant, enfin je sais pas en stable, mais en ~x86 c'est le cas : c'est annoncé en fin d'emerge d'udev, et j'ai dû unmerger coldplug sinon ça lui allait pas. Et ça marche très bien  :Smile: 

----------

## Ey

 *pierreg wrote:*   

> Il me semble que c'est udev qui gère l'hotplug maintenant, enfin je sais pas en stable, mais en ~x86 c'est le cas : c'est annoncé en fin d'emerge d'udev, et j'ai dû unmerger coldplug sinon ça lui allait pas. Et ça marche très bien 

 

En regardant l'ebuild de udev je vois ça :

```
# still rely on hotplug (need to fix that), but now we implement coldplug
```

et ensuite tu vois que udev dépend de hotplug base et installe des trucs dans /etc/hotplug.d/default qui est justement ce à quoi /sbin/hotplug délègue les messages que le noyau lui envoi... (et le seul contenu réel de l'ebuild hotpug-base)...

EDIT : pour me résumer, je propose un test à base de

```
echo /sbin/hotplug > /proc/sys/kernel/hotplug
```

en root avant le modprobe

----------

## E11

Juste une petite vérification... 

Le modules hotplug firmware (ou quelques choses comme ça) est-il bien compilé par le noyau ? Car il est indispensable si je ne me trompe et peut être la cause des mauvais lancement du firmware...

----------

## C3DScredi

 *Ey wrote:*   

>  *pierreg wrote:*   Il me semble que c'est udev qui gère l'hotplug maintenant, enfin je sais pas en stable, mais en ~x86 c'est le cas : c'est annoncé en fin d'emerge d'udev, et j'ai dû unmerger coldplug sinon ça lui allait pas. Et ça marche très bien  
> 
> En regardant l'ebuild de udev je vois ça :
> 
> ```
> ...

 

BINGOOOOOO !!!

waah je suis épaté là ^^

Le module s'est chargé sans emcombres  :Smile:  mais j'ai pas bien compris le pourquoi du comment   :Confused:  et maintenant c'est bon ? il se chargera correctement a chaque demarrage ?

En tout cas je te remercie sincèrement pour ton aide précieuse  :Smile: 

----------

## Ey

 *C3DScredi wrote:*   

> BINGOOOOOO !!!
> 
> waah je suis épaté là ^^
> 
> Le module s'est chargé sans emcombres  mais j'ai pas bien compris le pourquoi du comment   et maintenant c'est bon ? il se chargera correctement a chaque demarrage ?
> ...

 

Pour que ça soit fait automatiquement rajoute ceci dans ton /etc/sysctl.conf :

```
kernel.hotplug = /sbin/hotplug
```

----------

## Ey

 *C3DScredi wrote:*   

> BINGOOOOOO !!!
> 
> waah je suis épaté là ^^
> 
> Le module s'est chargé sans emcombres  mais j'ai pas bien compris le pourquoi du comment  

 

En fait pour expliquer un peu ce qu'il se passe :

Le module a besoin du firmware, pour ça il fait appel à l'API standard du noyau qui demande à hotplug de loader le firmware. Le noyau a donc besoin de démarrer un service dans le userspace pour gérer l'évennement (dans ce cas précis : loader un firmware). Il faut donc qu'il connaisse le nom de ce process qui est définit dans /proc/sys/kernel/hotplug.

Le script /sbin/hotplug est ce service, tout ce qu'il fait c'est redispatcher l'évennement aux scripts qui se trouvent dans /etc/hotplug.d/

Parmis ces scripts il y a le script d'udev qui permet à udev de réagir aux évennements hotplug. Le deuxième script est /etc/hotplug.d/default/default.hotplug qui lui redispatche le message sur les agents dans /etc/hotplug/ et en particulier celui qui nous intéresse : /etc/hoplug/firmware.agent qui s'occupe de charger le firmware.

Bon je crois que j'ai été assez verbose là ça devrait à peu près suffire.

----------

## C3DScredi

Bof bof quoi c'est un peu trop pour un débutant dans mon genre ^^

Mais t'es sur que c'est 

```
kernel.hotplug = /sbin/hotplug
```

parce que il ne se charge toujours pas correctement au boot  :Confused:  Il n'y a pas une erreur de syntaxe ? des guillemets ou quoi ?

----------

## Ey

C'est peut-être du à l'ordre de chargement des scripts.

Tente de rajouter "bootmisc" sur la ligne "need" dans la fonction "depend" du script /etc/init.d/modules :

```
depend() {

        need checkroot hostname bootmisc
```

EDIT : bon je suis en train de te dire de faire de la merde... ça va donner une dépendance circulaire ça...

Tu devrais plutot mettre un joli petit script perso qui fait le "echo ... > ..." avec comme dependance before modules et l'ajouter dans le runlevel boot

EDIT2 : bon je vais meme te macher le travail histoire que t'ai plus qu'à faire un copier coller :

/etc/init.d/hotplug0

```
#!/sbin/runscript

# Copyright 1999-2006 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

# $Header: $

depend() {

  before modules

}

start() {

  echo /sbin/hotplug > /proc/sys/kernel/hotplug

}

stop() {

  return

}

restart() {

  return

}
```

Et ensuite un joli

```
rc-update add hotplug0 boot
```

EDIT : erf désolé j'avais pas testé... il n'aime pas les fonctions vides en fait...Last edited by Ey on Sat May 13, 2006 12:17 am; edited 1 time in total

----------

## C3DScredi

 :Confused:  Il se lance avant et en plus lorsqu'il se lance il ne se lance pas et il dit qu'il y a une erreur de syntaxe :/

Il fallait bien faire chmod +x hotplug0 avant de faire le rc-update ?

----------

## math_roc

j'utilise se script [url]http://mathroc.info/gentoo/etc/init.d/wifi|/url] (je sais plus si je l'ai créé ou pompé)

avec un rc-update add wifi default, ça roule.

normalment, avec les bonnes options, n'importe quel kernel permet de faire fonctionner la carte depuis environ un an (avant j'été pas la)

pareil pour les versions des drivers, il m'est arrivé une seule fois d'avoir a forcer la version pour que ça fonctionne (j'suis en ~s86)

courage  :Wink: 

----------

## Ey

 *C3DScredi wrote:*   

>  Il se lance avant et en plus lorsqu'il se lance il ne se lance pas et il dit qu'il y a une erreur de syntaxe :/
> 
> Il fallait bien faire chmod +x hotplug0 avant de faire le rc-update ?

 

Oui oui, j'ai juste fait ce qu'il ne faut jammais faire : filler un code sans l'avoir testé...

J'ai édité le code au dessus (rajouter les 2 return)

----------

## C3DScredi

Et bien désolé mais ca ne fonctione toujours pas :/

----------

## Ey

Tu obtiens quoi ? Un message d'erreur ? Tu as bien le module dans /etc/modules.autoload.d/kernel-2.6 ?

Sinon ça date du 2.6.16 la suppression de /sbin/hotplug comme valeur par défaut pour hotplug... En fait udev est SENSE gérer tout tout seul... Donc il faudrait peut-être regarder un peu du côté de la conf d'udev pour résoudre le problème de façon plus pérenne (le parametre kernel.hotplug va disparaitre à l'avenir d'après le changelog du 2.6.16)

----------

## geekounet

Peut-être en installant udev en ~x86 ...

----------

## C3DScredi

 *Ey wrote:*   

> Tu obtiens quoi ? Un message d'erreur ? Tu as bien le module dans /etc/modules.autoload.d/kernel-2.6 ?
> 
> Sinon ça date du 2.6.16 la suppression de /sbin/hotplug comme valeur par défaut pour hotplug... En fait udev est SENSE gérer tout tout seul... Donc il faudrait peut-être regarder un peu du côté de la conf d'udev pour résoudre le problème de façon plus pérenne (le parametre kernel.hotplug va disparaitre à l'avenir d'après le changelog du 2.6.16)

 

Oui j'ai bien mis le module dans /etc/modules.autoload.d/kernel-2.6 mais au boot, au moment du chargement du module, il me dit loading hotplug0 ... Failed to load hotplug0  :Confused: 

----------

## Ey

 *C3DScredi wrote:*   

> Oui j'ai bien mis le module dans /etc/modules.autoload.d/kernel-2.6 mais au boot, au moment du chargement du module, il me dit loading hotplug0 ... Failed to load hotplug0 

 

Tu n'aurais pas initng par hasard ?

----------

## C3DScredi

Non je ne pense pas c'est quoi ? Je l'ai pas emergé ... et je ne le vois pas sur mon systeme non

----------

## Ey

 *C3DScredi wrote:*   

> Oui j'ai bien mis le module dans /etc/modules.autoload.d/kernel-2.6 mais au boot, au moment du chargement du module, il me dit loading hotplug0 ... Failed to load hotplug0 

 

Il te dit failed to load hotplug0 ?

Ce ne serait pas plutot failed to load ipw2200 ?

 *Quote:*   

> Non je ne pense pas c'est quoi ? Je l'ai pas emergé ... et je ne le vois pas sur mon systeme non

 

Non en fait j'avais mal compris le message que tu indiquais, je cherchais pourquoi il ne comprenait pas le script...

EDIT : sinon au pire j'ai une solution pas super clean mais qui devrait marcher à te proposer :

retire le script hotplug0 

```
rc-update del hotplug0 default
```

retire ipw2200 de ton /etc/modules.autoload.d/kernel-2.6

modifie ton /etc/conf.d/net en ajoutant ça :

```
preup() {

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

    echo /sbin/hotplug > /proc/sys/kernel/hotplug

    modprobe ipw2200

  fi

}
```

----------

## C3DScredi

Non non c'est bien hotplug0

D'accord je vais essayer ta solution de suite

----------

## C3DScredi

Oui, comme ca ca fonctionne  :Smile: 

Bizarre pour le script précédent ... et ca m'a fait remarqué que juste avant de charger les modules de l'autoload, il fait une erreur : WARNING : could not generate modprobe.conf ! C'est normal ?

Un grand merci pour ton aide !!!

----------

## Ey

Il te faudra quand même surveiller si le problème persiste après les mises à jour du noyau et/ou de udev.

C'est quand même du bricolage ce que je t'ai fait faire et le jour où ce ne sera plus nécessaire, tu dervais t'empresser de virer tout ça.

----------

## Ey

 *C3DScredi wrote:*   

> et ca m'a fait remarqué que juste avant de charger les modules de l'autoload, il fait une erreur : WARNING : could not generate modprobe.conf ! C'est normal ?

 

Essaie de faire en root

```
modules-update
```

Pour voir si tu obtiens la même erreur.

----------

## C3DScredi

Oui j'obtiens la même erreur   :Confused: 

Mais qu'est-ce ? ^^

----------

## boozo

'alute

c'est rien de grave t'inquiètes pas   :Wink:   tiens une piste par ici

----------

## kernelsensei

Salut,

j'aimerai savoir, c'est résolu ou pas ? C'est quoi le probleme actuel ? J'ai pas tout suivi... Je pose la question car je vois (resolu) mais ça n'arrete pas de remonter ^^

----------

