OldGentooWiki:Migration vers lwlwifi

De Gentoo-Quebec.

(Redirigé depuis Migration vers lwlwifi)

Go-previous.png Index Wifi et sécurité


Gentoo-quebec+Funtoo-quebec.png

Migration vers lwlwifi


Sommaire

Mise en contexte

Ce guide est basé sur la version 2.6.26-gentoo-r1 du noyau dans lequel le pilote lwl3945 est intégré.

Comme à notre habitude, nous avons utilisé un portable IBM Thinkpad T60P. Ce portable est équipé d'une carte wifi lpw3945ABG et nous utilisons le chiffrage Wep.

Ce guide décrit la migration du pilote lpw3945 vers le pilote lwl3945 intégré au noyau.

Le lecteur peut se référer au "howto" suivant: http://en.gentoo-wiki.com/wiki/Iwlwifi.

Fonctionnement générale

Spécifications du pilote lpw3945

Pour migrer avec succès vers le pilote lpw3945 il nous faut comprendre son fonctionnement.

Le pilote IPW3945 est en fait composé de trois "packages".

  • net-wireless/ipw3945
  • net-wireless/ipw3945-ucode
  • net-wireless/ipw3945d

Le pilote lpw3945 utilise un démon qui doit être actif en permanence.

Voici les commandes pour un lancement manuel:

Gnome-dev-computer.png
# modprobe ipw3945
# /etc/init.d/net.eth1 start

Le démon est lancé automatiquement lors du chargement du module ipw3945 (modprobe) et permet d'accéder à l'interface réseau net.eth1. Il suffit ensuite de démarrer celle-ci pour activer le réseau wifi.

Spécifications du pilote lwl3945

Le pilote lwlwifi est un nouveau projet développé par Intel pour la création d'un pilote 100% Open source.

Ce pilote est compatible avec les cartes sans-fil Intel lpw3945ABG et lpw4965AGN. Le pilote lwlwifi se compose de deux "package".

  • net-wireless/iwl3945-ucode
  • net-wireless/iwl4965-ucode

A ces micrologiciels s'ajoute un module intégré au noyau depuis la version 2.6.24 de celui-ci.

Emblem-documents.png
Note !
contrairement au pilote lpw3945, le pilote lwl3945 ne nécessite pas la présence d'un démon

Configuration du noyau

Le noyau doit être configuré avec les options suivantes:

Section "networking"

Configuration du noyau - section "networking"

(*) Wireless

    (M) Improved wireless configuration API

    (*) nl80211 new netlink interface support

    (M) Generic IEEE 802.11 Networking Stack (mac80211)

    (M) Generic IEEE 802.11 Networking Stack

    (M) IEEE 802.11 WEP encryption (802.1x)

    (M) IEEE 802.11i CCMP support

    (M) IEEE 802.11i TKIP encryption


(M) RF switch subsystem support

    (M) Input layer to RF switch connector


Warning 64.png
Attention !
Les options Generic IEEE 802.11 doivent être compilées sous la forme de modules, sinon cela cause des problèmes.

Section "Wireless LAN"

Configuration du noyau - section "Wireless LAN"

(*) Wireless LAN (IEEE 802.11)

    (M) Intel Wireless Wifi Core

    (*) IWLWIFI RF kill support

        (M) Intel PRO/Wireless 3945ABG/BG Network Connection

        (*) Enable Spectrum Measurement in iwl3945 drivers

        (*) Enable LEDS features in iwl3945 driver

        (*) Enable full debugging output in iwl3945 driver


Section "LED Support"

L'option suivante permet d'activer les diodes d'un portable lors du fonctionnement du réseau sans-fil.

Configuration du noyau - section "LED Support"

(*) LED Class Support

    (*) LED Trigger support


Section "Cryptographic options"

Configuration du noyau - section "Crypthographic option"

(*) Cryptographic algorithm manager

(M) SHA1 digest algorithm

(M) SHA256 digest algorithm

(M) ECB support

(M) CBC support

(M) PCBC support

(*) AES cipher algorithms

(*) AES cipher algorithms (i586)

(*) ARC4 cipher algorithm

(*) Michael MIC keyed digest algorithm


Après avoir activé ces options, il ne vous reste plus qu'à recompiler le noyau et à l'installer.

Migration de IPW3945 vers IWLWIFI

Préparation

Avant de commencer, vous devez installer ce dont vous allez avoir besoin.

Gnome-dev-computer.png
# emerge -fv ipw3945 ipw3945d ipw3945-ucode iwl3945-ucode

Supression du driver lpw3945

Pour effectuer la migration avec succès, vous devez effacer toutes les traces du driver lpw3945.

Gnome-dev-computer.png
# /etc/init.d/net.eth1 stop
# rmmod ipw3945
# emerge -aCv ipw3945 ipw3945d ipw3945-ucode
Emblem-documents.png
Note !
A ce stade, vous n'avez plus de connexion sans-fil. Redémarrer l'ordinateur pour vous assurez qu'il ne reste rien du pilote lpw3945 en mémoire.

Installation du nouveau pilote lwl3945

Gnome-dev-computer.png
# emerge -v iwl3945-ucode

Ce micrologiciel permet la communication entre le noyau et la carte wifi.

Vérification du nouveau driver

Maintenant, il faut charger le module iwl3945 afin de vérifier la présence des nouvelles interfaces réseaux.

Gnome-dev-computer.png
# rmmod iwl3945
# modprobe iwl3945

La commande ifconfig devrait afficher deux nouvelles interfaces (wlan0 et wmaster0).

Résultat de "iwconfig"

ifconfig -a

irda0 Lien encap:IrLAP HWaddr 00:00:00:00

    NOARP MTU:2048 Metric:1

    RX packets:0 errors:0 dropped:0 overruns:0 frame:0

    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

    collisions:0 lg file transmission:8

    RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)


lo Lien encap:Boucle locale

    inet adr:127.0.0.1 Masque:255.0.0.0

    adr inet6: ::1/128 Scope:H^ote

    UP LOOPBACK RUNNING MTU:16436 Metric:1

    RX packets:0 errors:0 dropped:0 overruns:0 frame:0

    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

    collisions:0 lg file transmission:0

    RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

sit0 Lien encap:IPv6-dans-IPv4

    NOARP MTU:1480 Metric:1

    RX packets:0 errors:0 dropped:0 overruns:0 frame:0

    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

    collisions:0 lg file transmission:0

    RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)


wlan0 Lien encap:Ethernet HWaddr 00:1B:77:4F:4B:1A

    inet adr:192.168.1.103 Bcast:192.168.1.255 Masque:255.255.255.0

    adr inet6: fe80::21b:77ff:fe4f:4b1a/64 Scope:Lien

    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

    RX packets:617 errors:0 dropped:0 overruns:0 frame:0

    TX packets:675 errors:0 dropped:0 overruns:0 carrier:0

    collisions:0 lg file transmission:1000

    RX bytes:535606 (523.0 Kb) TX bytes:178848 (174.6 Kb)


wmaster0 Lien encap:UNSPEC HWaddr 00-1B-77-4F-4B-1A-40-CD-00-00-00-00-00-00-00-00

    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

    RX packets:0 errors:0 dropped:0 overruns:0 frame:0

    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

    collisions:0 lg file transmission:1000

    RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)


Emblem-documents.png
Note !
A ce point, votre connexion sans-fil devrait être de nouveau disponible.


Résultat de "ifconfig" et "iwlist scan"

ifconfig wlan0 up

iwlist scan
    lo Interface doesn't support scanning.


    irda0 Interface doesn't support scanning.


    sit0 Interface doesn't support scanning.


    wmaster0 Interface doesn't support scanning.

wlan0 Scan completed :

    Cell 01 - Address: 00:1D:5A:E4:6C:D9

        ESSID:"BELL887"

        Mode:Master

        Channel:1

        Frequency:2.412 GHz (Channel 1)

        Quality=69/100 Signal level=-64 dBm Noise level=-71 dBm

        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; 24 Mb/s; 36 Mb/s

            48 Mb/s; 54 Mb/s

        Extra:tsf=00000054d16f134f

    Cell 02 - Address: 00:1A:70:62:40:88

        ESSID:"gentoonet"

        Mode:Master

        Channel:6

        Frequency:2.437 GHz (Channel 6)

        Quality=93/100 Signal level=-36 dBm Noise level=-71 dBm

        Encryption key:on

        Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s

            24 Mb/s; 36 Mb/s; 54 Mb/s; 6 Mb/s; 9 Mb/s

            12 Mb/s; 48 Mb/s

        Extra:tsf=0000002a20b44885

    Cell 03 - Address: 00:1B:11:40:D6:58

        ESSID:"ChC)rie"

        Mode:Master

        Channel:6

        Frequency:2.437 GHz (Channel 6)

        Quality=69/100 Signal level=-64 dBm Noise level=-71 dBm

        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; 24 Mb/s; 36 Mb/s

            48 Mb/s; 54 Mb/s

        Extra:tsf=0000000279c69cb9


Création du lien symbolique wlan0

L'étape suivante consiste à créer le lien symbolique net.wlan0

Gnome-dev-computer.png
# cd /etc/init.d/
# ln -sn net.lo net.wlan0

Démarrage de la nouvelle interface

Gnome-dev-computer.png
# /etc/init.d/net.wlan0 start

Le résultat devrait être similaire à celui-ci:

Résultat de "/etc/init.d/net.wlan0 start"

/etc/init.d/net.wlan0 start

* Caching service dependencies [ ok ]

*     Starting wlan0

*         Configuring wireless network for wlan0

*         wlan0 connected to ESSID "gentoonet" at 00:1A:70:62:40:88

*         in managed mode on channel 6 (WEP enabled)

*     Bringing up wlan0

*          dhcp

*              Running dhcpcd ... [ ok ]

*              wlan0 received address 192.168.1.100/24


La commande "dmesg" confirme le démarrage de l'interface

Résultat de "/etc/init.d/net.wlan0 start"

# dmesg

iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux,

1.2.22ds

iwl3945: Copyright(c) 2003-2007 Intel Corporation

ACPI: PCI Interrupt 0000:03:00.0[A] -> GSI 17 (level, low) -> IRQ 22

PCI: Setting latency timer of device 0000:03:00.0 to 64

iwl3945: Detected Intel PRO/Wireless 3945ABG Network Connection

iwl3945: Tunable channels: 11 802.11bg, 13 802.11a channels

wmaster0: Selected rate control algorithm 'iwl-3945-rs'

ADDRCONF(NETDEV_UP): wlan0: link is not ready
wlan0: Initial auth_alg=0

wlan0: authenticate with AP 00:1a:70:62:40:88

wlan0: Initial auth_alg=0

wlan0: authenticate with AP 00:1a:70:62:40:88

wlan0: RX authentication from 00:1a:70:62:40:88 (alg=0 transaction=2

wlan0: authenticated

wlan0: associate with AP 00:1a:70:62:40:88

wlan0: authentication frame received from 00:1a:70:62:40:88, but not

wlan0: RX AssocResp from 00:1a:70:62:40:88 (capab=0x411 status=0 aid

wlan0: associated

ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready


En cas de non fontcionnement vous verrez l'erreur suivante:

Résultat de "/etc/init.d/net.wlan0 start"

# dmesg

iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux,

1.2.22ds

iwl3945: Copyright(c) 2003-2007 Intel Corporation

ACPI: PCI Interrupt 0000:03:00.0[A] -> GSI 17 (level, low) -> IRQ 22

PCI: Setting latency timer of device 0000:03:00.0 to 64

iwl3945: Detected Intel PRO/Wireless 3945ABG Network Connection

iwl3945: Tunable channels: 11 802.11bg, 13 802.11a channels

wmaster0: Selected rate control algorithm 'iwl-3945-rs'

net eth1: device_rename: sysfs_create_symlink failed (-17)

udev: renamed network interface wmaster0 to eth1

net wlan0_rename: device_rename: sysfs_create_symlink failed (-17)


Ce problème est dû au fait que "udev" à réservé la carte wifi pour le pilote lpw3945. Pour le résoudre, vous devez comménter la ligne concernant eth1 dans le fichier /etc/udev/rules.d/70-persistent-net.rules.

/etc/udev/rules.d/70-persistent-net.rules

# This file was automatically generated by the /lib/udev/write_net_rules

# program, probably run by the persistent-net-generator.rules rules file.

#

# You can modify it, as long as you keep each rule on a single line.

# PCI device 0x8086:0x109a (e1000)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:1a:6b:35:9c:76", NAME="eth0"

# PCI device 0x8086:0x4227 (ipw3945)

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:1b:77:4f:4b:1a", NAME="eth1"


Il vous suffit ensuite de relancer les commandes suivantes:

Gnome-dev-computer.png
# /etc/init.d/net.wlan0 stop
# rmmod iwl3945
# modprobe iwl3945
# /etc/init.d/net.wlan0 start

Conclusion

La configuration du driver lwl4965 est identique en tout point sauf lors du choix du module dans la section "Wireless LAN3" et lors du chargement (modprobe) et du déchargement (rmmod) de celui-ci.


Outils personnels