L'installation dans le serveur ne pose aucun problème. Après redémarrage, faisont un petit teste:
#lspci -vv
00:0e.0 Network controller: Harris Semiconductor: Unknown device 3873 (rev 01)
Subsystem: Netgear: Unknown device 4105
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
La carte de mande, pour être gérer comme un point d'acces, l'installation de hostap-source.
L'installation va demander pas mal de travail. Voilà le déroulement des opérations.
Installation de hostap-source et compilation dans la foulées (noyo 2.4.22)
On voit qu'il faut les paquets suivant AVANT l'installation des modules: wireless-tools, hostap-utils, kernel-pcmcia-modules.
Je récupère donc les sources des divers paquets sous forme de sources uniquement, car apparemment, il y a des problèmes de libc6:
# dpkg -i hostap-source_0.1.2-2_all.deb
# cd /usr/src
# tar xzvf hostap-source.tar.gz
# cd linux
# make-kpkg --revision=ncc1701d.0.1 kernel-image
# make-kpkg --revision=ncc1701d.0.1 modules-image
# dpkg -i kernel-image*deb
# dpkg -i hostap*deb
# dpkg -i hostap-modules-2.4.22_0.1.2-2_i386.deb
(Lecture de la base de données... 33727 fichiers et répertoires déjà installés.)
Préparation du remplacement de hostap-modules-2.4.22 1:0.1.2-2 (en utilisant hostap-modules-2.4.22_0.1.2-2_i386.deb) ...
Dépaquetage de la mise à jour de hostap-modules-2.4.22 ...
dpkg : des problèmes de dépendances empêchent la configuration de hostap-modules-2.4.22 :
hostap-modules-2.4.22 dépend de wireless-tools ; cependant :
Paquet wireless-tools n'est pas installé.
hostap-modules-2.4.22 dépend de hostap-utils ; cependant :
Paquet hostap-utils n'est pas encore configuré.
hostap-modules-2.4.22 dépend de kernel-pcmcia-modules-2.4.22 ; cependant :
Paquet kernel-pcmcia-modules-2.4.22 n'est pas installé.
dpkg : erreur de traitement de hostap-modules-2.4.22 (--install) :
problèmes de dépendances - laissé non configuré
Des erreurs ont été rencontrées pendant l'exécution :
hostap-modules-2.4.22
# reboot
(exemple avec l'installation de hostapd_0.1.0-4_i386.deb):
Pour la création des paquets, il faut au moins 2 fichiers:
$ sudo dpkg -i /root/hostapd_0.1.0-4_i386.deb
(Lecture de la base de données... 33517 fichiers et répertoires déjà installés.)
Préparation du remplacement de hostapd 1:0.1.0-4 (en utilisant /root/hostapd_0.1.0-4_i386.deb) ...
Dépaquetage de la mise à jour de hostapd ...
dpkg : des problèmes de dépendances empêchent la configuration de hostapd :
hostapd dépend de libc6 (>= 2.3.2.ds1-4) ; cependant :
La version de libc6 sur le système est 2.2.5-11.5.
dpkg : erreur de traitement de hostapd (--install) :
problèmes de dépendances - laissé non configuré
Des erreurs ont été rencontrées pendant l'exécution :
hostapd
$ dpkg-source -x hostap-utils_0.1.2-1.dsc
$ cd hostap-utils-0.1.2/
$ debuild
$ cd ..
$ dpkg -i hostap-utils_0.1.2-1_i386.deb
Idem pour les paquets suivants:
$ dpkg-source -x hostapd_0.1.0-4.dsc
...
$ dpkg-source -x wireless-tools_26-5.dsc
...
Il a fallut aussi installer pcmcia-cs (je ne sais pas pourquoi, puisque c'est une carte pci!)
/lib/modules/2.4.22/net/hostap_plx.o: init_module: No such device
Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters
/lib/modules/2.4.22/net/hostap_plx.o: insmod /lib/modules/2.4.22/net/hostap_plx.o failed
/lib/modules/2.4.22/net/hostap_plx.o: insmod hostap_plx failed
Première chose à faire ensuite, allez voir dans /var/log/syslog:
# tail -22 /var/log/syslog
Dec 15 15:25:37 ncc1701d kernel: no bridges found.
Dec 15 15:25:37 ncc1701d kernel: ds: no socket drivers loaded!
Dec 15 15:25:37 ncc1701d cardmgr[4869]: starting, version is 3.1.33
Dec 15 15:25:37 ncc1701d cardmgr[4869]: no pcmcia driver in /proc/devices
Dec 15 15:25:37 ncc1701d cardmgr[4869]: exiting
Dec 15 15:41:35 ncc1701d kernel: hostap_crypt: registered algorithm 'NULL'
Dec 15 15:41:42 ncc1701d kernel: hostap_pci: 0.1.2 - 2003-11-02 (Jouni Malinen )
Dec 15 15:41:42 ncc1701d kernel: PCI: Found IRQ 10 for device 00:0e.0
Dec 15 15:41:42 ncc1701d kernel: hostap_pci: Registered netdevice wlan0
Dec 15 15:41:42 ncc1701d kernel: prism2_hw_init: initialized in 200 ms
Dec 15 15:41:42 ncc1701d kernel: wlan0: trying to read PDA from 0x007f0000: OK
Dec 15 15:41:42 ncc1701d kernel: wlan0: NIC: id=0x8013 v1.0.0
Dec 15 15:41:42 ncc1701d kernel: wlan0: PRI: id=0x15 v1.0.7
Dec 15 15:41:42 ncc1701d kernel: wlan0: STA: id=0x1f v1.3.6
Dec 15 15:41:42 ncc1701d kernel: wlan0: defaulting to host-based encryption as a workaround for firmware bug in Host AP mode WEP
Dec 15 15:41:42 ncc1701d kernel: wlan0: defaulting to bogus WDS frame as a workaround for firmware bug in Host AP mode WDS
Dec 15 15:41:42 ncc1701d kernel: wlan0: Intersil Prism2.5 PCI: mem=0xf4001000, irq=10
Dec 15 15:41:51 ncc1701d kernel: hostap_plx: 0.1.2 - 2003-11-02 (Jouni Malinen )
Dec 15 15:41:51 ncc1701d kernel: hostap_plx: No devices found, driver not installed.
Dec 15 15:42:02 ncc1701d kernel: hostap_crypt: registered algorithm 'WEP'
On voit que hostap_plx ne marche pas, ainsi que le pcmcia n'est pas activé (normal), mais pour le reste, apparemment, pas de problème!
On va à présent faire quelque tests....
Cela a l'air de marcher, en plus! Le serveur a l'adresse 192.168.3.1 et donc l'adresse réseau sera 192.168.3.0.
Et la carte est configurée en point d'acces avec une clef WEP de 128 bits (104 en fait). Vérifions quelques éléments:
# ifconfig wlan0 192.168.3.1
# ifconfig
wlan0 Lien encap:Ethernet HWaddr 00:09:5B:91:56:F5
inet adr:192.168.3.1 Bcast:192.168.3.255 Masque:255.255.255.0
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:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interruption:10 Mémoire:c88fe000-c88ff000
# iwconfig
lo no wireless extensions.
dummy0 no wireless extensions.
eth0 no wireless extensions.
eth1 no wireless extensions.
wlan0 IEEE 802.11b ESSID:"test"
Mode:Master Frequency:2.422GHz Access Point: 00:09:5B:91:56:F5
Bit Rate:11Mb/s Sensitivity=1/3
Retry min limit:8 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
# iwconfig wlan0 mode Master
# iwconfig wlan0 channel 11
# iwconfig wlan0 essid "Wifi Starfleet Acces Point 01"
# iwconfig wlan0 nickname "Starfleet Acces Point 01"
# iwconfig wlan0 key s:AP01StarFleet [1]
# iwconfig wlan0
wlan0 IEEE 802.11b ESSID:"Wifi Starfleet Acces Point 01" Nickname:"Starfleet Acces Point 01"
Mode:Master Frequency:2.462GHz Access Point: 00:09:5B:91:56:F5
Bit Rate:11Mb/s Sensitivity=1/3
Retry min limit:8 RTS thr:off Fragment thr:off
Encryption key:4150-3031-5374-6172-466C-6565-74 Security mode:restricted
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Nous voyons le mode wep actif, avec une seule clef. Pendant que nous y sommes, faisons un scanning (le portable est connecté):
# iwlist wlan0 key
wlan0 2 key sizes : 40, 104bits
4 keys available :
[1]: 4150-3031-5374-6172-466C-6565-74 (104 bits)
[2]: off
[3]: off
[4]: off
Current Transmit Key: [1]
Security mode:restricted
(l'addresse mac de la carte réseau du portable est 00:09:5B:92:D2:65, cf la doc wifiwg511.php)
# iwlist wlan0 scanning
wlan0 Scan completed :
Cell 01 - Address: 00:09:5B:92:D2:65
Mode:Managed
Quality:239/92 Signal level:-27 dBm Noise level:-34 dBm
Dans les log du serveur lorsqu'une carte est insérée dans le portablie, on apperçoit tout de suite l'arrivée de celui-ci:
Jan 15 19:10:17 ncc1701d kernel: wlan0: 00:09:5b:92:d2:65 auth_cb - STA authenticated
Jan 15 19:10:17 ncc1701d kernel: wlan0: assoc from 00:09:5b:92:d2:65 with extra data (10 bytes) [<32><08><0c><12><18><24><30><48><60><6c>]
Jan 15 19:10:17 ncc1701d kernel: wlan0: 00:09:5b:92:d2:65 assoc_cb - STA associated
La plus grande difficulté a été la configuration automatique de la carte avec les outils debian. En effet, après mes premiers testes, j'ai tenté d'utiliser
'ifup wlan0', mais le systeme me renvoyait toujours une erreur 'interface inconnue wlan0=wlan0'. Après quelques recherches, et essais, ça a bien voulu fonctionner,
mais en fait, je ne sais pas pourquoi! (en fait, je ne sais pas pourquoi cela ne fonctionnait pas avant). Voici donc la configuration actuelle.
D'abord, j'ai créé un script /usr/local/bin/inet_wireless.sh qui parametre la carte réseau:
le seul parametre à lui passer, c'est l'adresse de la carte (ici, c'est wlan0, trouvé avec iwconfig sans autre argument). Ensuite, il faut
renseigner le réseau comme n'importe quelle carte, dans /etc/network/interfaces:
#!/bin/bash
# -----------------------------------
# preconfiguration de la carte wifi
# sur le serveur debian woody
# ----------------------------------
IFACE=$1
# iwconfig $IFACE nick fang mode Managed
# iwconfig $IFACE rate Auto
# iwconfig $IFACE essid "Wifi Starfleet Acces Point 01"
# iwconfig $IFACE key on
# iwspy $IFACE mac-address
iwconfig wlan0 mode Master
iwconfig wlan0 channel 11
iwconfig wlan0 essid "Wifi Starfleet Acces Point 01"
iwconfig wlan0 nickname "Starfleet Acces Point 01"
iwconfig wlan0 key s:AP01StarFleet [1]
exit 0
Une fois ceci fait, il suffit d'utiliser ifup wlan0 pour que cela fonctionne!
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
# The loopback interface
# automatically added when upgrading
auto lo eth1 wlan0
iface lo inet loopback
# configuration du modem adsl sur port eth1
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
# configuration de la carte ethernet interne n° 2
iface eth1 inet static
address 192.168.2.1
netmask 255.255.255.0
network 192.168.2.0
# configuration du reseau wifi sur la crate ma311 (wlan0)
iface wlan0 inet static
pre-up /usr/local/bin/inet_wireless.sh wlan0
address 192.168.3.1
netmask 255.255.255.0
network 192.168.3.0
Voila au démarage de la machine, ce que donne syslog:
Jan 25 16:25:00 ncc1701d kernel: hostap_crypt: registered algorithm 'NULL'
Jan 25 16:25:00 ncc1701d kernel: hostap_pci: 0.1.2 - 2003-11-02 (Jouni Malinen