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 zd1211rwDopodiché modificate il file /etc/modules:
sudo modprobe zd1211
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.


















Lazza non vorrei esagerare ma… vuoi sposarmi?
No sul serio, mi hai risolto un problemone
Davvero? Anche tu hai una chiavetta con questo chipset?
Comunque… No grazie, non voglio sposarti!
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?
@ 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.
la persona in questione è mia moglie, quindi ho già capito che mi dovrò smanazzare la patch da solo
[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….”
@ Daniele, buona fortuna.
@ blood, accidenti! Ma cosa vai a pensare…
@ blood:
@ Lazza: faccio una previsione… tra 1 anno tu diventerai il nuovo Pollycoke!!!
@ 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.
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!
@ mistico86, mi sa che hai sbagliato post però…
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/
il link http://www.divshare.com/download/1833080-724 non funziona più
qualcuno potrebbe mandarmi i file o indicare un nuovo link?
grazie
@ salvo, se leggi il messaggio c’è scritto che è temporaneamente non disponibile. Riprova più tardi…
non è che per caso potresti mandarmelo tu via e-mail? se ti scoccia fa niente…
grazie per avermi risposto
@ 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…
ok grazie lo stesso.. aspetterò
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?
Non devi compilarla, devi applicarla al file dei sorgenti originali. Consulta la documentazione del comando patch.
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
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…
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
Purtroppo questi driver a volte fanno un po’ le bizze…
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
Non possedendo personalmente la chiavetta non posso provare… Credo che sarebbe il caso tu tentassi con il driver indicato da me (2_16 quindi).
/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è?
Se è il firmware patchato non ne ho idea… Se non è quello patchato, bisogna patcharlo.
patchato….
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…
ho risolto da solo…cmq grazie della guida!!!
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 ^_^
Eh sarei curioso anch’io di sapere come ha risolto lui.
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! ^_^
Ottima segnalazione. Aggiorno l’articolo.
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.
D’oh, be’ magari a qualcuno può risolvere. Fai una cosa, casomai abilitati i backports e aggiorna tutto. Chissà…
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
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?
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…
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!
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/
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
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.
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?
Rimetti a posto i due file che ho fatto modificare, e poi riavvia. Dovrebbe andare.
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.