Adaptateur Wifi ALFA AWUS036s et mode « monitor »

walfa

Je cherchais depuis quelques temps une carte wifi « assez souple », je veux dire par là une carte qui accepterait sans trop de complications les modes « master », « ap » et surtout « monitor »; tout ceci sous Linux, bien évidemment.

Je me suis laissé tenter par l’adaptateur usb « Alfa Network AWUS036s » acheté pour la modique somme de 40 € sur internet et qui, aux vues de certaines lectures, pourrait bien faire mon bonheur.

Je commence par brancher la clef sur mon portable tournant avec une Debian Lenny et je constate immédiatement que….il ne se passe pas grand chose.

Un petit coup d’oeil dans le syslog :

# sudo tail -f /var/log/syslog
Mar 16 16:51:49 nomade kernel: usb 1-1: new full speed USB device using uhci_hcd and address 5
Mar 16 16:51:49 nomade kernel: usb 1-1: configuration #1 chosen from 1 choice
Mar 16 16:51:49 nomade NetworkManager: [1205682709.882804] nm_hal_device_added(): New device added (hal udi is ‘/org/freedesktop/Hal/devices/usb_device_148f_2573_noserial_2′).
Mar 16 16:51:50 nomade NetworkManager: [1205682710.013567] nm_hal_device_added(): New device added (hal udi is ‘/org/freedesktop/Hal/devices/usb_device_148f_2573_noserial_2_if0′).
Mar 16 16:51:50 nomade NetworkManager: [1205682710.084822] nm_hal_device_added(): New device added (hal udi is ‘/org/freedesktop/Hal/devices/usb_device_148f_2573_noserial_2_usbraw’).

Il doit manquer quelques bricoles… Comme je me sens un peu fainéant aujourd’hui (juste aujourd’hui ?), je vais essayer de « plugger » ma carte dans une machine sous Ubuntu (7.10) pour voir si c’est mieux…

# tail -f /var/log/syslog
Mar 16 17:00:33 tilapia64 kernel: [74271.965332] phy0 -> rt2500usb_enable_radio: Error – Register initialization failed.
Mar 16 17:00:38 tilapia64 NetworkManager: <info> wlan0: Device is fully-supported using driver ‘rt2500usb’.
Mar 16 17:00:38 tilapia64 NetworkManager: <info> nm_device_init(): waiting for device’s worker thread to start
Mar 16 17:00:38 tilapia64 NetworkManager: <info> nm_device_init(): device’s worker thread started, continuing.
Mar 16 17:00:38 tilapia64 NetworkManager: <info> Now managing wireless (802.11) device ‘wlan1′.
Mar 16 17:00:38 tilapia64 NetworkManager: <info> Deactivating device wlan0.

# iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
wmaster0 no wireless extensions.
wlan0 IEEE 802.11g ESSID: » »
Mode:Managed Channel:0 Access Point: Not-Associated
Retry min limit:7 RTS thr:off Fragment thr=2346 B
Encryption key: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

Et… et on dirait bien que c’est mieux !

Voyons maintenant si je peux passer facilement en mode monitor. J’utilise pour cela l’utilitaire airmon-ng fournit par le paquet aircrack-ng :

# airmon-ng start wlan1
Interface Chipset Driver
wlan1 Unknown Unknown (MONITOR MODE NOT SUPPORTED)

Hum…C’était trop beau ! Quels sont les modules utilisés ?

# lsmod |grep rt
rt73usb 27136 0
rt2500usb 23040 0
rt2x00usb 13696 2 rt73usb,rt2500usb
rt2x00lib 21760 3 rt73usb,rt2500usb,rt2x00usb
rfkill 9616 1 rt2x00lib
mac80211 196104 3 rc80211_simple,rt2x00usb,rt2x00lib
input_polldev 6672 1 rt2x00lib
crc_itu_t 3456 1 rt2x00lib
parport_pc 41896 1
parport 44172 3 ppdev,lp,parport_pc
usbcore 161584 11 rt73usb,rt2500usb,rt2x00usb,snd_usb_audio,snd_usb_lib,uvcvideo,usb_storage,libusual,ohci_hcd,ehci_hcd

Quelques rapides investigations m’apprennent que le module rt73usb ne supporte pas le mode « monitor »…pas glop ça… Par contre, il existe un module « rt73″ en cours de développement, dont les sources sont disponibles ici :

http://rt2x00.serialmonkey.com/rt73-cvs-daily.tar.gz

et qui supporterait ce fameux mode…

Je crois bien qu’il va falloir se salir les mains légèrement plus que prévu…

Commençons par installer ce qu’il faut pour compiler un module noyau :

$ sudo aptitude update
$ sudo aptitude install build-essential linux-headers-$(uname -r)

On télécharge les sources, on compile et on installe le module…

$ cd ~
$ mkdir rt73
$ cd rt73
$ wget http://rt2x00.serialmonkey.com/rt73-cvs-daily.tar.gz
$ tar -zxvf rt73-cvs-daily.tar.gz
$ cd rt73-cvs*/Module
$ make
$ sudo make install

Avant de tester le nouveau module tout neuf, commençons par dégager l’ancien. Dans l’ordre, on va « démonter » l’interface, décharger le module et le « blacklister » pour qu’il ne se charge plus automatiquement.

$ sudo ifconfig wlan0 down
$ sudo rmmod rt73usb
$ echo ‘blacklist rt73usb’ | sudo tee -a /etc/modprobe.d/blacklist

Chargeons maintenant notre nouveau module et faisons en sorte qu’il soit chargé à chaque démarrage:

$ sudo modprobe rt73auto
$ echo ‘rt73′ | sudo tee -a /etc/modules

Alors alors ?

$ sudo iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

wlan0 RT73 WLAN ESSID: » »
Mode:Managed Frequency=2.412 GHz Bit Rate=54 Mb/s
RTS thr:off Fragment thr:off
Encryption key:off
Link Quality=0/100 Signal level:-121 dBm Noise level:-111 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

Bien ! La clef est toujours reconnue, c’est déjà ça ! Et ce mode « monitor » ?

$ sudo airmon-ng start wlan0
Interface Chipset Driver
wlan0 Ralink USB rt73 (monitor mode enabled)

Laissez votre message après le bip...Biiiiip

Commentaires

Merci pour ça !

J’ai une clé Linksys WUSB54GC basée sur le même chipset et je voulais dire que la manip est aussi valable pour cette clé…

Merci pour cette précision,

La Linksys est également équipée d’un chipset Ralink RT73… Je confirme que la manip est la même !

Laisser un commentaire

(requis)

(requis)


*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Anti-spam image