Ho da poco comprato una scheda di rete wireless USB per il mio portatile, una Asus WL-167G
Inserisco la chiavetta nello slot USB e dopo pochi secondi mi accorgo che la mia openSuse 10.3 appena installata riconosce la scheda; dentro di me penso che sia stato fin troppo semplice e infatti……quando cerco di collegarmi usando KNetworkManager la connessione fallisce
iwconfig restituisce delle informazioni valide per l’interfaccia di rete ma se faccio ifconfig mi accorgo che l’interfaccia è giù; quindi provo
ifconfig wlan0 up che mi restituisce il seguente errore :
SIOCSIFFLAGS: No buffer space available
Quindi vado sul sito del costruttore e scarico i driver per linux; tramite yast installo i sorgenti del kernel , seguo le istruzioni presenti nel readme ma quando arrivo al punto di dover compilare ecco un altro errore :
make -C /lib/modules/2.6.22.12-0.1-default/build SUBDIRS=/home/matteo/download/Linux/rt73/RT73_Linux_STA_Drv1.0.3.6/Module modules
make[1]: Entering directory `/usr/src/linux-2.6.22.12-0.1-obj/i386/default'
make -C ../../../linux-2.6.22.12-0.1 O=../linux-2.6.22.12-0.1-obj/i386/default modules
CC [M] /home/matteo/download/Linux/rt73/RT73_Linux_STA_Drv1.0.3.6/Module/rtmp_main.o
/home/matteo/download/Linux/rt73/RT73_Linux_STA_Drv1.0.3.6/Module/rtmp_main.c: In function ‘usb_rtusb_probe’:
/home/matteo/download/Linux/rt73/RT73_Linux_STA_Drv1.0.3.6/Module/rtmp_main.c:2065: error: ‘struct net_device’ has no member named ‘get_wireless_stats’
/home/matteo/download/Linux/rt73/RT73_Linux_STA_Drv1.0.3.6/Module/rtmp_main.c:2085: warning: unused variable ‘device’
make[4]: *** [/home/matteo/download/Linux/rt73/RT73_Linux_STA_Drv1.0.3.6/Module/rtmp_main.o] Error 1
make[3]: *** [_module_/home/matteo/download/Linux/rt73/RT73_Linux_STA_Drv1.0.3.6/Module] Error 2
make[2]: *** [modules] Error 2
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.22.12-0.1-obj/i386/default'
make: *** [all] Error 2
Evidentemente il compilatore non trova il metodo “get_wireless_stats” allora mi metto alla ricerca su google e trovo che questa funzione non è più presente nei sorgenti del kernel ed è stata rimpiazzata da “get_stats”, quindi è sufficiente aprire il file rtmp_main.c , andare alla riga 2065 e sostituire get_wireless_stats con get_stats. A questo punto la compilazione termina con successo e possiamo proseguire con le istruzioni del readme.
Abbiamo finito ?? No, non ancora !!! Di default quando attacco la chiavetta carica anche il modulo standard che non funziona rt73usb, quindi editiamo /etc/modprobe.conf.local e aggiungiamo la seguente riga blacklist rt73usb per evitare che il modulo venga caricato.
Finalmente riesco a collegarmi all’access point !