Ludo blog

en
Oct 2017
Mo Tu We Th Fr Sa Su
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

Mode AP pour ath5k avec Lenny

Présentation

J'ai un Packard Bell Imax mini N3600 qui me sert de passerelle et de plateforme d'auto-hébergement sous Debian Lenny. Celui-ci possède une carte wifi qui ne me sert pas car la connectivité est fournie par ma connexion ADSL.

Je souhaite utiliser cette carte en tant que point d'accès Wifi, à la place de mon AP Linksys WRT54GL.

Pour ceux qui veulent les grandes lignes sans tout lire:

La carte wifi

Description

Cette ordinateur inclut une carte wifi intégrée, il s'agit d'une Atheros AR2425 (168c:001c) qui fonctionne avec le driver ath5k:

# lspci -v -s 05:00.0
05:00.0 Ethernet controller:   Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01)
        Subsystem: AMBIT Microsystem Corp. Device 0428
        Flags: bus master, fast devsel, latency 0, IRQ 19
        Memory at febf0000 (64-bit, non-prefetchable) [size=64K]
        Capabilities: [40] Power Management version 2
        Capabilities: [50] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
        Capabilities: [60] Express Legacy Endpoint, MSI 00
        Capabilities: [90] MSI-X: Enable- Mask- TabSize=1
        Capabilities: [100] Advanced Error Reporting <?>
        Capabilities: [140] Virtual Channel <?>
        Kernel driver in use: ath5k
        Kernel modules: ath5k

Sortie de dmesg:

# dmesg
[   16.735520] ath5k 0000:05:00.0: PCI INT A -> Link[LN4A] -> GSI 19 (level, low) -> IRQ 19
[   16.735619] ath5k 0000:05:00.0: setting latency timer to 64
[   16.735706] ath5k 0000:05:00.0: registered as 'phy0'
...
[   19.006496] ath: EEPROM regdomain: 0x65
[   19.006503] ath: EEPROM indicates we should expect a direct regpair map
[   19.006513] ath: Country alpha2 being used: 00
[   19.006519] ath: Regpair used: 0x65
...
[   21.942054] phy0: Selected rate control algorithm 'minstrel'
[   21.943763] Registered led device: ath5k-phy0::rx
[   21.943869] Registered led device: ath5k-phy0::tx
[   21.943938] ath5k phy0: Atheros AR2425 chip found (MAC: 0xe2, PHY: 0x70)

En mode client sous Debian

Avant d'attaquer le mode AP, il faut valider le bon fonctionnement de la carte wifi avec le driver ath5k sur la Debian Lenny.

Pour cela le mieux est de l'utiliser en mode client, le mode le plus standard.

La page Debian ath5k peut vous être utile. Il faut vérifier que la carte est bien reconnue. Si l'OS ne charge pas tout seul le module ath5k, le charger et vérifier que la carte est reconnue, cf la sortie dmesg ci-dessus.

Est-ce que l'interface est bien créée, pour cela il suffit d'installer le package wireless-tools et vérifier la sortie de iwconfig, ici c'est l'interface wlan0 qui est en mode Managed:

# iwconfig
wlan0     IEEE 802.11bg  Mode:Managed  Access Point: Not-Associated
          Tx-Power=0 dBm
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off

Maintenant vous devez la configurer pour se connecter à votre réseau sans-fil (manuellement avec iwconfig, avec wicd ou autre gestionnaire de connexion).

Le mode AP

Description

Les cartes wifi possèdent plusieurs mode de fonctionnement, le plus classique est le mode client (mode Managed) pour se connecter à un réseau wifi.

Mais il existe de nombreux autres modes: le mode AP (Mode Master), le mode écoute (Mode Monitor) utiliser par des outils comme Kismet, le mode ad-hoc (Mode Ad-Hoc) pour faire un réseau direct entre clients sans AP...

Avec les wireless-tools

J'ai déjà utilisé le mode AP avec une carte PCI wifi avec le driver prism54g, il suffisait d'utiliser la commande iwconfig:

iwconfig wlan0 mode Master
iwconfig wlan0 essid test
iwconfig wlan0 key maclefWEP

Hélas, le driver ath5k ne supporte pas ce mode de configuration. Il faut donc passer par hostapd.

Installation d'hostapd

Il faut installer le package hostapd. Lenny propose la version 5.10 de hostapd qui est trop ancienne. En effet, il faut utiliser le driver nl80211 de hostapd, et cette version ne le supporte pas. Je comptais utiliser la version de lenny-backport, mais ... il n'y en a pas.

J'ai regardé les packages hostapd disponibles, et j'ai essayé celui de la squeeze. J'ai téléchargé le package:

wget http://ftp.fr.debian.org/debian/pool/main/h/hostapd/hostapd_0.6.10-2_i386.deb

et une tentative d'installation m'a indiqué deux conflits libnl1 et libssl. J'ai donc installé libnl1:

apt-get install libnl1

Je suis passé outre le conflit libssl car la version demandée était très proche de celle déjà installée (oui ce n'est pas bien). Donc j'ai forcé l'installation:

dpkg --force-depends-version -i hostapd_0.6.10-2_i386.deb

A noter qu'il est aussi souhaitable d'avoir un noyau >= 2.6.30. J'avais déjà un noyau de lenny-backport : linux-image-2.6.32-bpo.4-686.

Configuration d'hostapd

J'ai modifié le fichier /etc/defaut/hostapd pour indiquer le fichier de configuration:

DAEMON_CONF="/etc/hostapd/hostapd.conf"

Puis j'ai copié le fichier d'exemple:

cp /usr/share/doc/hostapd/examples/hostapd.conf.gz /etc/hostapd/
gunzip /etc/hostapd/hostapd.conf.gz

J'ai suivi le guide hostapd de mad-wifi. Il faut notamment utiliser le driver nl80211 de hostapd (basé sur la pile wifi mac80211 du noyau):

interface=wlan0
driver=nl80211
ssid=test

Puis lancer hostapd:

/usr/sbin/hostapd /etc/hostapd/hostapd.conf

Hélas le guide hostapd de mad-wifi est succinct, et je n'ai pas réussi à configurer correctement hostapd. J'avais un message d'incompatibilité matérielle.

Mon salut est venu du blog d'Insignificant Bits avec l'article Ath5k AP Mode qui est plus détaillé. J'avais oublié de configurer de nombreux paramètres (notamment le mode g au lieu de a), en WPA2:

hw_mode=g
channel=5
own_ip_addr=192.168.2.1
wpa=2
wpa_passphrase=MaClefWPA
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

Puis un nouveau test, qui est passé:

# /usr/sbin/hostapd /etc/hostapd/hostapd.conf
Configuration file: /etc/hostapd/hostapd.conf
Using interface wlan0 with hwaddr 00:24:2c:78:xx:xx and ssid 'test'

Et la connexion d'un client:

wlan0: STA 00:1b:b1:48:xx:xx IEEE 802.11: authenticated
STA 00:1b:b1:48:xx:xx: No WPA/RSN IE in association request
wlan0: STA 00:1b:b1:48:xx:xx IEEE 802.11: authenticated
wlan0: STA 00:1b:b1:48:xx:xx IEEE 802.11: associated (aid 1)
wlan0: STA 00:1b:b1:48:xx:xx RADIUS: starting accounting session 4D44ACF5-00000000
wlan0: STA 00:1b:b1:48:xx:xx WPA: pairwise key handshake completed (RSN)

Il ne reste plus que des manipulations assez simples et très documentées: automatiser le lancement d'hostapd avec /etc/init.d/hostapd, configurer le serveur dhcp pour ce nouveau réseau, modifier la conf iptable pour le nat de ce réseau et le filtrage souhaité.

Je remercie Insignificant Bits pour son article Ath5k AP Mode.

Liens et articles annexes

by ludovic Bellier on Sat Jan 29 21:38:47 2011 (Viewed: 3538 / 0 comments )
  |   RSS  |   RSS2  |   Atom  |   Source  |   Edit
Comments not allowed anymore on this post