# [wifi] intel 3945ABG n'accepte pas d'être configurer

## At0m3

Bonjour,

Je viens de recevoir ma carte wifi interne : une intel PRO/Wireless 3945ABG pour mon portable

J'ai donc suivi à la lettre le tuto approprié (http://gentoo-wiki.com/HARDWARE_ipw3945). Faut bidouiller un peu avec l'histoire du bouton pour activer/désactiver le wifi et qui semble pas être forcément reconnu. Mais la carte fonctionne : j'arrive à détecter mon essid :

```
Kenny at0m3 # iwlist eth1 scanning

eth1      Scan completed :

          Cell 01 - Address: 00:14:BF:23:C3:C0

                    ESSID:"-Monessid-"

                    Protocol:IEEE 802.11bg

                    Mode:Master

                    Channel:13

                    Encryption key:on

                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s

                              11 Mb/s; 12 Mb/s; 18 Mb/s; 22 Mb/s; 24 Mb/s

                              36 Mb/s; 48 Mb/s; 54 Mb/s

                    Quality=96/100  Signal level=-32 dBm  Noise level=-32 dBm

                    Extra: Last beacon: 11ms ago
```

Le problème maintenant, c'est que je ne peux pas configurer ma carte comme je le veux. Je dois donc me connecter avec une adresse statique à un routeur avec une clé wep.

```
Kenny at0m3 # cat /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.12 netmask 255.255.255.0" )

routes_eth0=( "default gw 192.168.1.1" )

modules=( "iwconfig" )

essid_eth1="-Monessid-"

key_Delalandre="-Maclewephexadecimal- enc open"

preferred_aps=( "-Monessid-" )

channel_eth1="13"

config_eth1=( "192.168.1.12 netmask 255.255.255.0" )

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

L'interface eth0 est la connexion ethernet, et eth1 la connexion wifi.

Maintenant, le résultat quand j'essaye de démarrer net.eth1 :

```
Kenny at0m3 # /etc/init.d/net.eth1 start

 *  Caching service dependencies ...                                                                                                                   [ ok ]

 *  Starting eth1

 *  Configuring wireless network for eth1

 *  Failed to configure wireless for eth1                                                                                                                [ !! ]

```

Merci d'avance  :Confused: 

----------

## antoine_

Est-ce que tu as lancé ipw3945d ? Attention des fois le programme plante au démarrage et il faut le lancer manuellement. Il y a un script qui traîne sur le forum en anglais pour gérer le problème.

Est-ce que tu arrives à te connecter juste en ligne de commande ? Ca donnerait :

```
$ iwconfig eth1 essid TON_SSID key TA_CLE_EN_HEXA
```

Quel est ton problème avec ton bouton wifi ?

C'est quoi le problème qui t'empêche de configurer ta carte comme tu veux ?

L'adresse IP statique, c'est que tu la veux vraiment ou bien tu as un problème avec le DHCP ?

----------

## -KuRGaN-

Bonjour, j'ai exactement la même carte sur mon laptop et depuis la dernière mise à jour (je suis en ~x86) le démon ne plante plus au démarrage.

Par contre je n'ai toujours pas tester le wep avec (la flemme   :Laughing:  ).

----------

## Mickael

 *-KuRGaN- wrote:*   

> Bonjour, j'ai exactement la même carte sur mon laptop et depuis la dernière mise à jour (je suis en ~x86) le démon ne plante plus au démarrage.
> 
> Par contre je n'ai toujours pas tester le wep avec (la flemme   ).

 

Exacte, le demon ne plante plus, mais surtout n'oubli pas de mettre ipw3945 dans /etc/modules.autoload.d/kernel-2.6. Avec la clé wep cela fonctionne très bien.

Voilà mes dex cents.

----------

## -KuRGaN-

Tu n'es pas obligé de mettre le module dans le fichier modules.autoload/kernel2.6, le module est monté automatiquement par le démon ipw3945d il me semble.

----------

## Mickael

Sans le mettre en autoload, j'avais un gros freeze Ã  la fin du boot.... Le systeme tout entier Ã©tait pris dans les glaces de l'arctique.

----------

## -KuRGaN-

Désolé pour le freeze, mais chez moi ça marche.

Tu es en ~x86??

----------

## Mickael

 *-KuRGaN- wrote:*   

> Désolé pour le freeze, mais chez moi ça marche.
> 
> Tu es en ~x86??

 

OUI je suis en ~x86.

----------

## -KuRGaN-

Bon alors c'est ton portable qui est tout pourri !!!   :Rolling Eyes: 

Merde c'est le même que moi   :Laughing:   :Laughing: 

----------

## Mickael

 *-KuRGaN- wrote:*   

> Bon alors c'est ton portable qui est tout pourri !!!  
> 
> Merde c'est le même que moi   

 

Tu sors..  :Rolling Eyes: 

----------

## -KuRGaN-

Bon et bien après avoir mis à jour mon système hier qui m'a passer ieee80211 de la version 1.1.13 à la 1.1.15, mon système à freezer au démarrage au lancement du wifi.

Par contre, en faisant un emerge -pvuD world ce matin, il veut me repasser à la version 1.1.13 ??

Et ce n'est pas la première fois qu'il me fait ce coup là sur ce paquet, je fais mes mises à jour tous les jours.

Bon j'update et je vous tiens au courant.

----------

## Mickael

Idem pour moi, j'ai du bloqué la version 15. Un truc étrange est que les pilotes 3945 actuel (en version ~x86) demande la version 13.

EDIT : si le freeze continu après ton retour en version 13, met le ipw3945 dans les modules autoload, unique solution pour passer le freeze.

----------

## -KuRGaN-

Bon et bien retour à la version 1.1.13 ce matin et démarrage sans problème, même pas besoin de spécifier le module dans le fichier modules.autoload/kernel2.6 par contre après un emerge --sync ce matin, il veut me repasser la version 1.1.15   :Shocked: 

Je sens que je vais masquer la version 1.2.15 car là ça commence à me gonfler d'avoir le wifi un jour sur deux   :Laughing: 

----------

## Mickael

IDEM.  :Confused: 

----------

## -KuRGaN-

Allez je pose la ligne pour ceux qui ne connaissent pas l'existence du fichier portage.mask:

```

echo "=net-wireless/ieee80211-1.2.15" >> /etc/portage/package.mask

```

----------

## Mickael

Et faite gaffe lorsque vous passez sur votre nouveau noyau, les emmerdes arrive très vite. J'ai pas encore trouvé la marche à suivre pour le upgrade, ça va être coton.  :Mad: 

Genre :  *Quote:*   

> 
> 
> ieee80211-1.1.13 requires the in-kernel version of the IEEE802.11 subsystem to be disabled (CONFIG_IEEE80211)
> 
>  * Please check to make sure these options are set correctly.
> ...

 

Et le prolème pour l'instant c'est qu'il ne m'affiche plus la petite ligne magique qui me permettait de virer proprement les modules en question...

EDIT la marche à suivre pour le upgrade : 

 *Quote:*   

> Since this script may not work thoroughly and reliably for your particular
> 
> distribution, the following is a summary of what you can do manually to check
> 
> and/or complete its work.
> ...

 

EDIT ; ne vous emballez pas j'ai suivi que cette partie du readme et ça marche pâs.

EDIt 2 : J'ai demandé quelques renseignements à VinzC, qui semble très câlé sur le sujet dont voici la réponse :

 *Quote:*   

> In general you can use module-rebuild to know what packages you need to emerge when you compile a new kernel. This command is part of package... sys-kernel/module-rebuild.
> 
> In this case the required modules are ieee80211 and ipw3945. Both are "external" kernel modules. If you use my modified version of net-wireless/ipw3945 you'll only have to emerge ipw3945 and no more ieee80211 because ipw3945 can actually be linked against kernel module ieee80211 instead of the one in portage.
> 
> In both cases module-rebuild list will tell you what modules should be re-emerged after you compiled your new kernel. Running module-rebuild rebuild does the whole thing for you.
> ...

 

----------

## -KuRGaN-

Ben j'ai changé plusieurs fois de noyau avec ces modules et à chaque fois j'ai du recompilé ipw3945 et ieee80211 et ça roule.

----------

## Mickael

Et pourquoi c'est pour ma pomme   :Evil or Very Mad: 

----------

## -KuRGaN-

Concernant l'histoire de virer le module ieee80211 proprement à l'air d'être intégré maintenant, en tout cas moi je n'ai pas eu besoin de le refaire depuis un petit moment.

----------

## At0m3

Merci pour vos réponses, je n'ai pas répondu car j'étais à l'internat, et j'ai pas d'accès à Internet  :Confused: 

Je viens de refaire les manips que vous proposez (je les avais déjà essayé), et j'ai tout réinstaller, au début, je lance kwifimanager, il détecte tout, impeccable, mais je ne peux apparement toujours pas me connecter (il refuse toujours de se laisser configurer le bougre ?). Je m'aperçois que je n'ai pas démarrer net.eth1 (l'init qui correspond à ma carte wifi donc), je le lance et c'est encore plus l'horreur : la carte apparaît comme ne fonctionnant pas, ou bien comme ne détectant rien (n'arrive pas à scanner).

Et je pense que je me suis planté dans la configuration wep, peut être en partie à cause de ça d'ailleurs... Vous avec pas un bon tuto (plus solide que ceux sur le wiki gentoo je veux dire) pour expliquez ? On dirait que le wep a disparu, plus que du wpa, et moi je peux pas passer au wpa à cause d'un pc qui n'est pas compatible....

----------

## antoine_

Je n'ai pas bien compris : est-ce qu'à un moment, avec kwifimanager par exemple, tu arrives à avoir une carte qui fonctionne ?Par exemple tu arrives à scanner...

----------

## At0m3

J'arrive à scanner, mais impossible de me connecter au SSID   :Confused:  Je viens d'utiliser wpa_supplicant, et ça marche pas fort non plus :

```
 * Starting eth1

 *   Wireless radio has been killed for interface eth1

 *   wpa_supplicant will launch, but not associate until

 *   wireles radio is re-enabled for interface eth1

 *   Starting wpa_supplicant on eth1 ...

ioctl[SIOCSIWMODE]: Resource temporarily unavailable

Could not configure driver to use managed mode

ioctl[SIOCGIWRANGE]: Resource temporarily unavailable

ioctl[SIOCSIWAUTH]: Resource temporarily unavailable

WEXT auth param 7 value 0x1 - ioctl[SIOCSIWENCODEEXT]: Resource temporarily unavailable

ioctl[SIOCSIWENCODEEXT]: Resource temporarily unavailable

ioctl[SIOCSIWENCODEEXT]: Resource temporarily unavailable

ioctl[SIOCSIWENCODEEXT]: Resource temporarily unavailable

ioctl[SIOCSIWAUTH]: Resource temporarily unavailable

WEXT auth param 4 value 0x0 - ioctl[SIOCSIWAUTH]: Resource temporarily unavailable  [ ok ]th param 5 value 0x1 -

 *   Starting wpa_cli on eth1 ...                                         [ ok ] *     Backgrounding ...

```

Je dois avouer que c'est tellement le bordel que je comprends pas encore trop comment enchaîner les différentes manips.

A propos, il y a un fichier dans proc qu'il faut modifier et mettre 0 dedans pour que le wifi soit reconnu comme activer par gentoo (ça sert parce qu'avec le bouton Fn+F2 ça merdoie de temps en temps)

----------

## antoine_

Pour les manips à effectuer :

1) tu vérifies que ta carte soit bien lancée (module chargé, ipw3945d...)

2) tu te connectes au réseau en utilisant wpa_supplicant ou bien iwconfig (moi j'utilise iwconfig car je suis sur de WEP).

3) tu configure ton ip par exemple avec dhcpcd : dhcpcd eth1

 *Quote:*   

> A propos, il y a un fichier dans proc qu'il faut modifier et mettre 0 dedans pour que le wifi soit reconnu comme activer par gentoo (ça sert parce qu'avec le bouton Fn+F2 ça merdoie de temps en temps)

 

Pareil pour moi. Pour activer la carte wifi je suis obligé de faire :

```
echo 0 > /sys/bus/pci/drivers/ipw3945/0000\:02\:00.0/rf_kill
```

----------

## At0m3

Merci antoine   :Very Happy: 

wpa_supplicant supporte le wep normalement ?

Théoriquement, ça devrais marcher si ma configuration est bonne :

```
Kenny Desktop # echo 0 > /sys/bus/pci/drivers/ipw3945/0000\:03\:00.0/rf_kill

Kenny Desktop # /etc/init.d/net.eth1 start

 * Starting eth1

 *   Starting wpa_supplicant on eth1 ...                                  [ ok ] *   Starting wpa_cli on eth1 ...                                         [ ok ] *     Backgrounding ...

Kenny Desktop #

```

Mais pas de web, je vais regarder la conf. Tu pourrais me passer ton fichier de configuration, que je le prenne en exemple. Et moi, je ne fonctionne pas avec dhcp, j'ai une adresse fixe...

EDIT : C'est bon, je me suis connecté, mais il me reste maintenant à définir une idresse ip statique et la passerelle, comment puis-je faire (à l'aide d'un fichier de conf) ?

----------

## antoine_

Dans ton fichier /etc/conf.d/net tu peux configurer la manière dont chaque interface se connecte (dhcp, adresse IP statique, rien du tout). Le fichier est bien documenté. Par exemple pour donner une adresse IP statique :

```
config_eth1=("192.168.1.100/24")
```

Pour indiquer une passerelle le fichier contient un exemple :

```
# Here's how todo routing if you need it - the below sets the default gateway

#routes_eth0=(

#       "default via 192.168.0.1"

#       "default via 4321:0:1:2:3:4:567:89ab"

#)

```

Si tu ne l'as pas déjà fait, intéresse toi aussi aux DNS : /etc/resolv.conf

Oala :o)

----------

## At0m3

Bizarre alors :

```
modules=( "wpa_supplicant" )

wpa_supplicant_eth1="-Dwext"

config_eth1=( "192.168.1.12 netmask 255.255.255.0" )

routes_eth1=( "default gw 192.168.1.1" )

channel_eth1="13"
```

wpa_sopplicant gui ne s'en sert peut-être pas :-/

----------

