Utilizzare la modalità SoftAP di una scheda wifi con chipset RaLink RT2500 su GNU/Linux, tramite ndiswrapper e un driver per Windows XP “modificato”

Come molti di voi sapranno, Ndiswrapper rappresenta un’ancora di salvezza per tutti coloro (il 98% degli utenti) che si trovano ad utilizzare una scheda wireless 802.11a/b/g per cui non esistono driver per GNU/Linux (o meglio: non esistono driver che non siano per un sistema operativo proprietario :-) ).

Ndiswrapper ci viene in aiuto emulando quanto basta del sottosistema di rete NDIS in Windows a far funzionare i driver per le schede di rete (non necessariamente wireless: ndiswrapper comprende da sè quali sono le capacità della scheda, leggendo il file .INF di installazione, e si comporta di conseguenza).

Purtroppo, però, non sono molto frequenti le testimonianze di persone che siano state in grado di far funzionare le proprie schede in modalità Software Access Point. La comodità di questa modalità di funzionamento è notevole – pensate solo alla differenza di prezzo tra una scheda wireless, anche di bassa “caratura”, e il più economico access point.

Su GNU/Linux, è possibile nutrire una speranza nel progetto hostapd: questo server fornisce funzioni supplementari alle schede wireless, tra cui l’autenticazione di client, richiesta per il funzionamento in modalità access point. Sfortunatamente, però, solo le schede di pochi fortunati funzionano con questo server: è infatti necessario un modulo nativo GNU/Linux per la scheda, e non è detto che basti.

Veniamo alle schede basate su chipset RT2500. I ragazzi del progetto rt2×00, noti per aver preso il codice originale da mamma RaLink ed aver creato un driver molto più stabile e con supporto hardware più ampio dell’originale, stanno lavorando sull’integrazione della futura versione del loro modulo con la versione CVS di hostapd. Questa, in un futuro non so quanto vicino, sarà la soluzione da adoperare per ottenere funzionalità “avanzate” dalla scheda – come vedremo, il mio metodo è poco più di un hack, e come tale non presenta il miglior scenario possibile. Il problema è che, attualmente, tale connubio è pesantemente instabile allo stato attuale.

Andando in giro sulla rete, però, è possibile trovare un driver per Windows di Gigabyte Technology che è in grado di attivare (su Windows) la modalità SoftAP di schede basate su chipset RT2500. Con pochi, semplici passaggi potremo utilizzare tale driver anche sulla nostra distribuzione GNU/Linux. Assumerò che il modulo di ndiswrapper e le utility di gestione dei driver Windows siano già installati.

  1. Prelevate il driver per Windows da qui, salvandolo nella vostra home directory.
  2. Decomprimete l’archivio dando un
    cd $HOME; unzip wpkg_softap_v234005.zip
  3. Ci dobbiamo procurare il driver (file .SYS) e il relativo file di informazioni (.INF) per la modalità access point: sembrano un po’ nascosti, ma ci sono :-) – già che ci siamo, li copiamo in /tmp per poterli gestire meglio:
    cp GN-WPKG/Drivers/WINXPAP/rt2500.sys /tmp/rt2500.sys
    cp GN-WPKG/Drivers/xp2k/rt2500.inf /tmp/rt2500.inf

Il driver sarà quindi installabile con l’usuale

ndiswrapper -i /tmp/rt2500.inf

Per finire, vorrei chiarire alcune cose:

  1. Il driver supporta solo autenticazione cifrata WEP – o, per meglio dire, ndiswrapper rileverà solo tale capacità (fate
    dmesg | tail

    dopo aver caricato il modulo per rendervene conto). Nulla vi so dire sul WPA, che è comunque previsto all’interno del file .INF. Il mio consiglio è quello di tunnelare tutto il vostro traffico in uscita, per esempio utilizzando una connessione SSH al vostro server principale, se siete dietro una rete locale – magari mi soffermerò su questo in un altro articolo.

  2. L’utility che viene fornita a corredo del driver per Windows esiste per un motivo ben preciso: infatti, il cambiamento di modalità di funzionamento (da client ad access point) avviene cambiando fisicamente driver (e intendo proprio il file di sistema) – e l’utility velocizza enormemente questo processo. Poichè il programmanon funzionerà, ovviamente, con ndiswrapper, se vorrete cambiare driver, dovrete disinstallare il vecchio, sostituire il file .INF con quello adatto ad utilizzi come client, e reinstallare il driver.
  3. Gli utenti di UNIX *BSD potrebbero provare la procedura descritta con la loro creatura, Project Evil. In tutte le occasioni che mi sono capitate finora, tutto ciò che era funzionante su ndiswrapper on GNU/Linux lo è stato anche utilizzando l’emulazione NDIS di FreeBSD (e fra breve anche Net/OpenBSD). Ritengo che, compensando adeguatamente le differenze procedurali, la modalità SoftAP possa funzionare anche lì – aspetto eventuali testimonianze per esserne certo.

A parte questo,
Enjoy!

6 Risposte a “Utilizzare la modalità SoftAP di una scheda wifi con chipset RaLink RT2500 su GNU/Linux, tramite ndiswrapper e un driver per Windows XP “modificato””

  1. kubu Dice:

    ciao scusa…sapresti dirmi la procedura per installare una scheda wifi pcmcia su linux distribuzione kubuntu 5.10 oppure 6.10 come client!!!
    La scheda è una conceptronic c54rc che dovrebbe usare i driver rt2500…ma tutte le procedure spiegate su internet non vanno hai qualche idea in proposito???

    risp. a [NOSPAM]

  2. Enzo Dice:

    Ciao Scusami ma questa procedura è valida solo con schede con il chip..rt2500 con un altro chip tipo BCM43XX non è possibile fare niente…..???

  3. Emanuele Cipolla Dice:

    Enzo: La via corretta per ottenere il support al master mode è quella di usare hostapd, che funziona solo con determinati chipset (elencati nella pagina).

    Per i chip bcm43xx ci sarebbe una patch, ma non ho idea se funzioni o meno, e non posso provarla.

  4. ASTRO Dice:

    PROBLEMA:-potreste indicarmi delle guide valide(UBUNTU) per risolvere questo problema??

    Vorrei creare con una versione di ubuntu (8.10plus) questo Acces Point Virtuale con la mia scheda pci interna, in modo da poter connettermi con un altro desk che ha una scheda wifi usb della Sitecom (fornendo internet, stampante, condivisione cartelle..).

    —————-Schema logico—————

    adslModem—PC1(wifiPci)……..PC2(wifiUsb)

    pc1: AccessPoint Wifi
    pc2: client wifi
    ———————————————-

    PROBLEMI

    —PRIMO—
    come creo l’access point?? (crisi mistica..LOL)

    SPECIFICHE SCHEDA PCI wifi
    TIPO:
    Wireless LAN 54 MB
    MODELLO:
    Atlantisland A02-PCI-W54
    VELOCITA’:
    54 Mbps IEEE 802.11g and backwards compatible with 11 Mbps IEEE 802.11b

    —SECONDO—
    come faccio a far vedere la scheda usbWifi della sitecom?? ho il suo cd e so che in sta scheda come in molti prodotti della sitecom si deve installare il software e poi l’hardware, è una buona idea provare a emulare con wine per installarla??? o meglio altra via??

  5. Emanuele Cipolla Dice:

    ASTRO, non c’è bisogno che usi il plurale, c’è solo una persona dietro questo sito (io).

    Veniamo ai tuoi due problemi:

    come creo l’access point?

    Certamente non con la scheda che hai intenzione di usare. La Atlantisland A02-PCI-W54, a quanto ne so, ha un chipset Marvell che quasi certamente richiede ndiswrapper. hostapd, il software che ti serve per creare l’access point, non supporta ndiswrapper. Nella pagina puoi trovare la lista delle poche schede con cui il software funziona

    Il fatto che nell’unico caso presentato in questo post si sia potuto usare ndiswrapper è dovuto al particolare funzionamento di questo specifico driver per questa scheda (oltre che da una particolare versione di nsdiswrapper, non compatibile coi kernel più recenti).

    come faccio a far vedere la scheda usbWifi della sitecom?? ho il suo cd e so che in sta scheda come in molti prodotti della sitecom si deve installare il software e poi l’hardware, è una buona idea provare a emulare con wine per installarla??? o meglio altra via??

    La via più sicura è installare il driver con il setup su un sistema Windows vero (macchina virtuale o reale, non importa) e poi copiare manualmente il file .inf e il file .sys estratti in una locazione visibile a ndiswrapper.

  6. ASTRO Dice:

    THANKS!! mi hai risparmitao ore di navigazione!!

    Penso che creero l’access point virtuale su PC1 da win (se cio sara possibile con qualche programmino, senno mi tocca compra il modem-router wifi) mentre provero come mi hai detto per far funzionare il wifi sul PC2(client).
    Appena riesco a combinare qualcosa magari ti posto la soluzione qui!!! grazie ancora!! byez!!! :-)

I commenti sono chiusi.