Salta al contenuto

Chiavetta wireless usb con chipset zd1211 su Ubuntu (funziona!)

2 settembre 2007

Ubuntu contiene già i driver per i chipset zd1211 e zd1211b, tuttavia questi non supportano alcune funzionalità (come il funzionamento in modalità Master che serve a renderle un Access Point). I driver in questione sono gli zd1211rw.

Se la vostra chiavetta funziona bene, potete anche tenere quelli.

Tuttavia, il mio lettore Hideo, dopo avermi detto che non funzionava in modalità Master, mi ha chiesto di aiutarlo a trovare i driver e ad installarli. In questo caso si parla del chipset zd1211, non è garantita la funzionalità con il zd1211b, né è stata testata da noi…

Ci abbiamo perso due ore (non perché siano difficili da installare, è una stupidaggine, ma perché non mi ero accorto che sul sito era presente la patch dei nuovi kernel… ) e quindi voglio riassumere qui il procedimento, che vi impiegherà pochi minuti.

Scaricate da qui il firmware già patchato (da me) con la patch quasi-ufficiale-ma-non-supportata e estraetelo sul desktop.

Poi fate quanto segue:

cd ~/Desktop/ZD1211LnxDrv_2_16_0_0/
sudo make

E aspettate che il driver venga installato. Questo funzionerà solo per i nuovi kernel (dal 2.6.20 in su), per quelli vecchi è necessario il firmware non patchato.

Adesso dovete caricare il driver e rendere tutto ciò automatico.

Fate nel terminale:

sudo modprobe -r zd1211rw
sudo modprobe zd1211
Dopodiché modificate il file /etc/modules:
sudo gedit /etc/modulesE inserite in fondo in una nuova riga la parola zd1211. Infine modificate il file /etc/modprobe.d/blacklist:
sudo gedit /etc/modprobe.d/blacklist

E aggiungete in fondo, in una nuova riga, le parole blacklist zd1211rw.

Per ultima cosa dovete far ripartire i servizi di rete:

sudo /etc/init.d/networking restart

Questo farà saltare per un istante la vostra connessione ad internet.

Adesso inserite la chiavetta usb e dovreste essere in grado di utilizzarla anche in modalità Master.

La funzionalità è stata testata con la chiavetta di id 0ace:1211 ma dovrebbe funzionare con tutte le periferiche supportate dal driver.

Aggiornamento del 02/06/2008: se avete ancora problemi di compilazione coi kernel recenti, leggete questo commento.

45 commenti Lascia un →
  1. 2 settembre 2007 7:38 pm

    Lazza non vorrei esagerare ma… vuoi sposarmi? :D

    No sul serio, mi hai risolto un problemone ;)

  2. 2 settembre 2007 7:56 pm

    Davvero? Anche tu hai una chiavetta con questo chipset? :-)
    Comunque… No grazie, non voglio sposarti! :lol:

  3. 3 settembre 2007 10:59 am

    a parte il problema “master”, conosco una persona che usa quella chiavetta per collegarsi wifi (ubuntu feisty) e gli cade regolarmente l’aggancio all’AP ad intervallo regolare di circa 15 min in assenza di attività (es. traffico attivo di pacchetti). Suggerimenti a riguardo?

  4. 3 settembre 2007 11:41 am

    @ Daniele, be’ purtroppo i driver non sono proprio il massimo…
    Sul forum di Ubuntu c’è un lettore che dice di aver cambiato i driver e che li funziona senza problemi. Però personalmente io non sono riuscito a replicare la soluzione che proponeva. Se vuoi dacci un’occhiata, spero che la persona che conosci possa risolvere. :-)

  5. 3 settembre 2007 12:44 pm

    la persona in questione è mia moglie, quindi ho già capito che mi dovrò smanazzare la patch da solo :)

  6. blood permalink
    3 settembre 2007 5:47 pm

    [OFF TOPIC!]
    non so se hai sentito il Tg oggi! ma a me è venuto un mezzo infarto! :)

    Oggi un tizio di nome Andrea LanZarotto è stato ammazzato, ma io lì per lì avevo capito Lazzarotto!! e ho pensato: “deve aver cercato di disinstallare un windows senza il consenso del proprietario del PC e….”

  7. 3 settembre 2007 6:52 pm

    @ Daniele, buona fortuna. :-)
    @ blood, accidenti! Ma cosa vai a pensare…

  8. 3 settembre 2007 7:11 pm

    @ blood: :)
    @ Lazza: faccio una previsione… tra 1 anno tu diventerai il nuovo Pollycoke!!!

  9. 3 settembre 2007 7:30 pm

    @ phoenix, vediamo. Se questo significa avere un blog molto visitato e apprezzato ti ringrazio anche se non credo che succederà in modo così “famoso”.
    Se invece significa essere disprezzato solo per invidia, be’ quello mi è già capitato.

  10. 6 settembre 2007 10:29 am

    anche io ho reso il mio desk simile ad Osx basandomi sulla guida di tamila..
    x chi interessato nel mio blog l’ho tradotto in italiano e semplificata con pacchetti già compilati e tutti i link utili.
    spero possa servire!

  11. 6 settembre 2007 12:18 pm

    @ mistico86, mi sa che hai sbagliato post però… :-P
    Comunque io spero che NON sia utile, anche perché i miei lettori sanno cosa ne penso…
    http://lazza.wordpress.com/2007/06/19/personalizzare-il-proprio-desktop-senza-scadere-nel-patetico/ ;-)

  12. salvo permalink
    17 febbraio 2008 12:23 pm

    il link http://www.divshare.com/download/1833080-724 non funziona più

    qualcuno potrebbe mandarmi i file o indicare un nuovo link?

    grazie

  13. 17 febbraio 2008 12:33 pm

    @ salvo, se leggi il messaggio c’è scritto che è temporaneamente non disponibile. Riprova più tardi…

  14. salvo permalink
    17 febbraio 2008 12:49 pm

    non è che per caso potresti mandarmelo tu via e-mail? se ti scoccia fa niente…

    grazie per avermi risposto

  15. 17 febbraio 2008 12:55 pm

    @ salvo, lo farei volentieri ma io stesso per scaricarlo devo andare a quella pagina lì, e non ne ho una copia sul pc. Non ti resta che aspettare mi sa… ;-)

  16. salvo permalink
    17 febbraio 2008 1:18 pm

    ok grazie lo stesso.. aspetterò

  17. salvo permalink
    17 febbraio 2008 2:25 pm

    potresti dare un occhiata a questa?

    http://www.reactivated.net/software/zd1211-vendor/UNSUPPORTED-patches/ZD1211-2_16_0_0-linux-2.6.20.patch

    credo sia la patch che hai usato ache tu, ma come si fa a compilarla?

  18. 17 febbraio 2008 2:40 pm

    Non devi compilarla, devi applicarla al file dei sorgenti originali. Consulta la documentazione del comando patch. ;-)

  19. salvo permalink
    17 febbraio 2008 5:37 pm

    non capisco come… non capisco a quali sorgenti ti riferisci… Non vorrei abusare della tua pazienza e gentilezza ma se potresti postarmi i link diretti e i comandi precisi di quello che devo fare te ne sarei grato. altrimenti ti ringrazio lo stesso

  20. 17 febbraio 2008 5:47 pm

    I sorgenti sono quelli del driver ovviamente, il link è sull’ultima parola del post, e i comandi per patchare li ho trovati leggendomi il manuale del comando patch, non è difficile, solo che non me li ricordo… :-D

  21. salvo permalink
    17 febbraio 2008 7:03 pm

    niente da fare.. mi sa che ci rinuncio… ho applicato la patch nel modo corretto credo, e ho installato quei driver, ma adesso la rete va peggio di prima, non riesco nemmeno a metterla in monitor-mode

  22. 17 febbraio 2008 7:23 pm

    Purtroppo questi driver a volte fanno un po’ le bizze…

  23. 2 marzo 2008 8:50 pm

    ho una chiavetta con chipset zd1211b, senza installare nulla ubuntu 7.10 me la riconosceva, pero’ non permetteva di settarla come Master.

    Ho quindi seguito la tua guida installando pero’ gli ultimi driver che sono i 2_22
    non li ho pachati, perche’ credo che la patch serva solo per la versione 2_16 che hai usato tu giusto ? almeno cosi’ mi sembra leggendo la pagina dei driver che hai postato a fine articolo.

    Il risultato e’ che ora la chiavetta non mi appare piu’ al comando ifconfig

    hai qualche consiglio ?
    Grazie

  24. 3 marzo 2008 3:10 pm

    Non possedendo personalmente la chiavetta non posso provare… Credo che sarebbe il caso tu tentassi con il driver indicato da me (2_16 quindi).

  25. tdinfo permalink
    5 marzo 2008 7:41 pm

    /home/mio/ZD1211LnxDrv_2_16_0_0/src/zd1205.c:10117: warning: assignment from incompatible pointer type a me quando faccio sudo make da terminale mi dà questo problema perkè?

  26. 5 marzo 2008 9:52 pm

    Se è il firmware patchato non ne ho idea… Se non è quello patchato, bisogna patcharlo. :-P

  27. tdinfo permalink
    5 marzo 2008 11:16 pm

    patchato….

  28. tdinfo permalink
    11 marzo 2008 3:16 am

    sono riuscito a metterlo ma una volta messa la chiavetta e installati i driver e fatto tutto ciò ke hai detto nel post come faccio a connettermi?
    sembrerà una domanda stupida ma purtroppo è la prima volta ke uso il wifi…

  29. tdinfo permalink
    11 marzo 2008 8:08 pm

    ho risolto da solo…cmq grazie della guida!!!

  30. Giotto permalink
    2 giugno 2008 4:27 pm

    tdinfo, posso sapere come hai risolto?
    Sto impazzendo dietro questi driver. Purtroppo ho bisogno della master mode, ma, qualsiasi driver cerchi di compilare (da quello di lazza, a quello gestito dalla comunità, a quello ufficiale), mi dà lo stesso errore che dava a te.

    Grazie mille ^_^

  31. 2 giugno 2008 6:13 pm

    Eh sarei curioso anch’io di sapere come ha risolto lui. :-)

  32. Giotto permalink
    2 giugno 2008 7:01 pm

    Ho trovato questo sul sito http://zd1211.wiki.sourceforge.net/VendorDriver
    “In order to avoid errors and compile the driver version 2.21.0.0 with recent kernels you should modify the source file zd1205.c and substitute this:
    eth_copy_and_sum(skb, pData, length, 0);
    for this:
    memcpy(skb, pData, length);
    This is a very poor solution but it works: tested with 2.6.23.1-23.fc8 kernel (Fedora 7.92 test 3)
    And remember: to bring up the wireless interface you must “ifconfig ethX up” it first.”

    E’ una soluzione barbara, ma sembra essere l’unica che funziona…

    Spero di poter esser stato d’aiuto a qualcuno che come me ci ha perso un pomeriggio senza risultato ;)

    Saluti

    P.S. Complimenti Lazza, bel blog! ^_^

  33. 2 giugno 2008 7:02 pm

    Ottima segnalazione. Aggiorno l’articolo.

  34. Giotto permalink
    2 giugno 2008 7:14 pm

    Spiacente, ma non risolve il problema… Ho provato con i Vendor Driver, con i tuoi patchati e anche con quelli presenti nei repository di ubuntu…
    Continua a non funzionare purtroppo…
    Poi non so dirti se dipende da qualche arcana maledizione che ha colpito la mia distro oppure se il kernel 2.6.24 semplicemente non è compatibile.

  35. 2 giugno 2008 7:17 pm

    D’oh, be’ magari a qualcuno può risolvere. Fai una cosa, casomai abilitati i backports e aggiorna tutto. Chissà…

  36. Giotto permalink
    2 giugno 2008 7:45 pm

    Lo farei, ma non posso rischiare di sputtanarmi la distro visto che son sotto esami e non ho tempo di reinstallare tutto. Appena avrò occasione perverò e scriverò qui i risultati :)

  37. Diego permalink
    15 luglio 2008 2:56 pm

    Ciao!
    Su Ububtu Hardy 8.0.4 non compila.
    E’ possibile trovare un driver patchato in modo che la chiavetta usb possa funzionare come access point anche su Hardy?

  38. 16 luglio 2008 2:15 pm

    Hai provato a leggere la nota in fondo al post che ho scritto (che si riferisce al commento di Giotto qui sopra)? Ok che a lui non ha funzionato, ma si può sempre provare. Se non ti funziona nemmeno quello non saprei cosa consigliarti…

  39. andrea permalink
    10 agosto 2008 6:51 pm

    ciao,
    posso chiedere un consiglio? io vorrei comprare una chiavetta wifi e vorrei sceglierne una che funzioni automagicamente in Ubuntu (hardy, o meglio se anche precedente)… che prendo?

    Grazie 1K!

  40. 10 agosto 2008 6:56 pm

    Ti consiglio di consultare questa lista:
    https://help.ubuntu.com/community/WifiDocs/WirelessCardsSupported#Wireless%20USB%20Adapters
    Inoltre forse puoi trovare informazioni utili su questi siti:
    http://madwifi.org/
    http://ndiswrapper.sourceforge.net/

  41. silvio permalink
    18 settembre 2008 3:38 pm

    ciao
    io ho ubuntu gutsy, versione kernel 2.6.22-14-generic.
    quando faccio make con il driver patachato ricevo questo errore
    cosa posso fare???

    silvio@aspire:~$ cd /home/silvio/Scrivania/ZD1211LnxDrv_2_16_0_0
    silvio@aspire:~/Scrivania/ZD1211LnxDrv_2_16_0_0$ sudo make
    make both
    make[1]: Entering directory `/home/silvio/Scrivania/ZD1211LnxDrv_2_16_0_0'
    make clean
    make[2]: Entering directory `/home/silvio/Scrivania/ZD1211LnxDrv_2_16_0_0'
    rm -rf .tmp_versions .*.cmd *.ko *.mod.c *.mod.o *.o src/*.o src/.*.o.cmd menudbg apdbg winevl_iface
    make[2]: Leaving directory `/home/silvio/Scrivania/ZD1211LnxDrv_2_16_0_0'
    make ZD1211REV_B=0
    make[2]: Entering directory `/home/silvio/Scrivania/ZD1211LnxDrv_2_16_0_0'
    /lib/modules/2.6.22-14-generic/build
    /home/silvio/Scrivania/ZD1211LnxDrv_2_16_0_0
    -I/home/silvio/Scrivania/ZD1211LnxDrv_2_16_0_0/src/include -fomit-frame-pointer -O2 -Wall -Wstrict-prototypes -pipe -Wno-unused -DZDCONF_WE_STAT_SUPPORT=1 -DHOST_IF_USB -DAMAC -DGCCK -DOFDM -DHOSTAPD_SUPPORT -DUSE_EP4_SET_REG -DDOWNLOADFIRMWARE -DfTX_GAIN_OFDM=0 -DfNEW_CODE_MAP=1 -DfWRITE_WORD_REG=1 -DfREAD_MUL_REG=1 -DENHANCE_RX=1 -DZDCONF_MENUDBG -DZDCONF_APDBG -DPRODUCTION -DZDCONF_BANDEDGE_ADJUST -DZDCONF_SES_SUPPORT=1 -DAAAA03_FIX=1 -DZD1211 -DZDCONF_LP_SUPPORT=0
    src/zd1205.o src/zdreq.o src/zdasocsvc.o src/zdauthreq.o src/zdauthrsp.o src/zdmmrx.o src/zdshared.o src/zdhci.o src/zdglobal.o src/zdencrypt.o src/zdpmfilter.o src/zdpsmon.o src/zdsynch.o src/zdbuf.o src/zd1205_proc.o src/zdhw.o src/zddebug.o src/zdtkipseed.o src/zdmic.o src/zddebug2.o src/zdlpmgt.o src/zdturbo_burst.o src/zdusb.o src/zdmisc.o src/zd1211.o
    make -C /lib/modules/2.6.22-14-generic/build SUBDIRS=/home/silvio/Scrivania/ZD1211LnxDrv_2_16_0_0 modules
    make[3]: Entering directory `/usr/src/linux-headers-2.6.22-14-generic'
    CC [M] /home/silvio/Scrivania/ZD1211LnxDrv_2_16_0_0/src/zd1205.o
    /home/silvio/Scrivania/ZD1211LnxDrv_2_16_0_0/src/zd1205.c:450: warning: initialization from incompatible pointer type
    /home/silvio/Scrivania/ZD1211LnxDrv_2_16_0_0/src/zd1205.c: In function ‘zd1205_rx_isr’:
    /home/silvio/Scrivania/ZD1211LnxDrv_2_16_0_0/src/zd1205.c:4212: error: ‘struct sk_buff’ has no member named ‘mac’
    /home/silvio/Scrivania/ZD1211LnxDrv_2_16_0_0/src/zd1205.c: In function ‘zd1205_xmit_frame’:
    /home/silvio/Scrivania/ZD1211LnxDrv_2_16_0_0/src/zd1205.c:5019: warning: ISO C90 forbids mixed declarations and code
    /home/silvio/Scrivania/ZD1211LnxDrv_2_16_0_0/src/zd1205.c:5020: warning: assignment from incompatible pointer type
    /home/silvio/Scrivania/ZD1211LnxDrv_2_16_0_0/src/zd1205.c:5023: warning: assignment from incompatible pointer type
    /home/silvio/Scrivania/ZD1211LnxDrv_2_16_0_0/src/zd1205.c: In function ‘zd1205_set_zd_cbs’:
    /home/silvio/Scrivania/ZD1211LnxDrv_2_16_0_0/src/zd1205.c:10117: warning: assignment from incompatible pointer type
    make[4]: *** [/home/silvio/Scrivania/ZD1211LnxDrv_2_16_0_0/src/zd1205.o] Error 1
    make[3]: *** [_module_/home/silvio/Scrivania/ZD1211LnxDrv_2_16_0_0] Error 2
    make[3]: Leaving directory `/usr/src/linux-headers-2.6.22-14-generic'
    make[2]: *** [all] Error 2
    make[2]: Leaving directory `/home/silvio/Scrivania/ZD1211LnxDrv_2_16_0_0'
    make[1]: *** [both] Error 2
    make[1]: Leaving directory `/home/silvio/Scrivania/ZD1211LnxDrv_2_16_0_0'
    make: *** [all] Error 2

  42. 18 settembre 2008 4:01 pm

    Sinceramente non lo so. Ti consiglio, se non l’hai già fatto, di leggere i commenti precedenti e provare qualche suggerimento proposto. Se continua a non funzionare, forse è il caso di chiedere sul forum di Ubuntu-it, dato che ci sono molte persone esperte. :-)

  43. Filippo Castelli permalink
    30 giugno 2009 9:06 pm

    Ragazzi ho un problemone,
    ho seguito la procedura alla lettera, ma quando sono arrivato ad inserire il comando sudo modprobe zd1211 mi ha detto che il modulo al quale mi riferivo non esisteva, sono andato avanti e il risultato è che non mi riconosce piu la chiavetta. esiste un modo per rimettere i driver originali?

  44. 30 giugno 2009 9:10 pm

    Rimetti a posto i due file che ho fatto modificare, e poi riavvia. Dovrebbe andare.

  45. FILIPPO permalink
    1 luglio 2009 8:05 pm

    Grazie infinite, se non mi avessi risposto sarei stato perso…
    Comunque a parte il fatto che nel mio caso non ha funzionato, hai fatto davvero una bella guida, esplicativa e facile da seguire.

Che cosa ne pensi?

Fill in your details below or click an icon to log in:

Gravatar
Logo WordPress.com

You are commenting using your WordPress.com account. Log Out / Modifica )

Foto Twitter

You are commenting using your Twitter account. Log Out / Modifica )

Foto di Facebook

You are commenting using your Facebook account. Log Out / Modifica )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 37 other followers