A Novembre del 2008 comprai per la prima volta in fiera dell’elettronica a Pordenone una scheda Wi-Fi PCI e provai ad utilizzarla su Linux, in particolare sul mio primo Muletto, che era dotato di Ubuntu Server 8.10. Era una Edimax con chip Ralink RT2561 o RT61.
La prima volta ebbi un po’ di difficoltà, perché c’era da compilare il driver incluso nel CD, però con le successive formattazioni e i successivi computer il tutto diventò più semplice.
In tutti questi anni il supporto alle schede wireless su Linux è aumentato parecchio e al massimo l’unica cosa che rimane da fare, e solo nelle distribuzioni più puriste come Debian, è installare il blob binario del produttore del chip.
Pensavo dunque che ormai non ci fossero più problemi nel comprare una scheda WiFi, o che al massimo verificare che Linux sia tra i sistemi operativi supportati fosse quasi una formalità. Lo pensavo, finché non mi sono interessato ai 5GHz.
Nel mio appartamento a Padova sono servito da una FTTC Fastweb e la velocità del collegamento è di quasi 100Mbit/s, però i dispositivi che si connettono in WiFi sono limitati a meno di 40Mbit/s a causa della tecnologia 802.11n a 2,4GHz.
Avendo visto che al DEI la rete Eduroam, dotata di access point 802.11ac, riesce ad andare a 160Mbit/s e poiché ho sempre la Raspberry Pi accesa e le chiavette USB WiFi AC costano relativamente poco, ho deciso di comprarne una per fare un access point con la Raspberry Pi.
Anche dal punto di vista energetico la cosa ha abbastanza senso: Raspberry e switch hanno consumato 3.6kWh in 42 giorni.
Ho dunque comprato questa chiavetta su Amazon:
Purtroppo il risultato è estremamente deludente. Ho scoperto che la maggior parte delle chiavette che si trovano sulla stessa fascia di prezzo (10-20€) sono dotate del chip Mediatek MT7610U. Questo è un problema perché il produttore ha rilasciato un driver che non compila con le ultime versioni di kernel. Su GitHub si trovano una serie di fork, che cercano di migliorare un po’ la situazione, ma in ogni caso rimane un driver non funzionante e che usa strane interfacce anziché le classiche Linux Wireless Extensions o le più recenti cfg80211 e nl80211.
Non sono mai riuscito a connettermi, neanche all’access point a 2,4GHz e addirittura Network Manager non riusciva a fare la lista delle reti presenti. Come se non bastasse il tempo boot con la chiavetta già inserita viene allungato di diversi secondi e una volta la rimozione fisica da una porta USB ha comportato un kernel panic.
Giusto per curiosità ho provato anche sotto Windows e ho misurato il throughput. Ho usato un Nexus 9, dotato di Android 7.1 e impostato come hotspot. Come software ho usato l’app Magic iPerf, disponibile sul Play Store, impostata su iPerf 3 e iPerf 3 ufficiale su Windows 10. La distanza tra table e computer era in entrambi i casi di circa 1m.
Come si vede c’è effettivamente un ampio vantaggio nell’uso dei 5GHz, perlomeno con un unico client, però se non posso creare un access point su Linux non me ne faccio molto di questa chiavetta, dunque ho già avviato il reso su Amazon.
Inoltre, secondo le mie ricerche sembra che purtroppo il supporto alla modalità AP sia limitato a pochissimi chip. Come al solito gli Atheros sono i favoriti, con l’uso del driver ath10k, però ho trovato pochissimi prodotti USB dotati di un tale chip. Altre due famiglie promettenti sono le Realtek RTL8811AU (USB 2.0) e la RTL8812AU (USB 3.0), però tutte le chiavette che sono elencate su WikiDev partono dai 25-26€.
Quindi non essendo una spesa indispensabile, visto che per il momento ce la caviamo bene con i cavi, ho deciso di rimandare.
Aggiornamento (Ottobre 2021): la situazione dopo 5 anni si è capovolta. I driver Realtek continuano a non seguire gli standard del kernel. Il produttore continua ad aggiornarli di tanto in tanto, ma rimangono usabili solo grazie al lavoro della community. I driver MediaTek invece sono stati mainlined. Quindi le varie chiavette (almeno le MT7612) funzionano non appena connesse, ed estremamente bene, anche in modalità access point.