Da qualche giorno mi sono trasferito a Oslo, dove starò 5 mesi grazie al programma Erasmus.
In particolare alloggerò in una delle residenze a Krinsjå, gestite da SiO. Nel canone è compreso una abbonamento a internet da 20Mbps simmetrici, erogati tramite una presa Ethernet e ciascuno deve procurarsi il suo router.
Io ho pensato di usare la Raspberry Pi, che avevo già trasformato qualche tempo fa in un accesso point a 5GHz grazie ad una Edimax EW-7811UTC e di ottenere una seconda presa Ethernet grazie ad un convertitore USB.
Le cose non sono andate come previsto. Cominciamo dalla chiavetta WiFi: ormai mi sono rassegnato, la situazione dei suoi driver è un colabrodo. Realtek ha fatto un pessimo lavoro e non si sa se qualcuno mai sistemerà i driver per questi chip. È tragico non poter aggiornare il kernel o non poter riflashare Raspbian perché una volta che la chiavetta funziona l’unica cosa da fare è non toccare più nulla.
Fortunatamente mi sono salvato perché la Raspberry Pi 3 ha una scheda wireless integrata. Io avevo sempre capito che non potesse fare da AP, invece quella che non funzionava (o non funziona ancora, non ho mai usato questa funzione) è la modalità monitor, quindi almeno per questa cosa mi sono salvato. Pazienza se non ho la 5GHz, tanto per i 20Mbps che mi vengono dati la 2.4GHz funziona abbastanza bene.
Il vero problema, per una volta, è la connessione cablata.
Tralasciando il mal di testa causato dall’aver tentato di usare un bridge con hotplug (e anche il fatto che in generale il bridge mi ha spesso dato problemi anche con hostapd), ciò che ha fatto affondare veramente la mia idea è stato il dongle USB 2.0-Fast Ethernet che volevo usare.
Ho pensato di procurarne uno 2.0 e Fast Ethernet perché la Raspberry non ha porte 3.0 e magari qualche volta avrei usato uno switch da 100Mbps, o comunque non c’era la necessità di avere di più.
Ho dato per scontato la solidità e la diffusione di queste tecnologie e di conseguenza ho sempre pensato che fossero praticamente la cosa più economica che il mercato avesse da offrire e mi sono rivolto ad un’offerta di AliExpress.
Per 1,93€ pensavo di aver portato a casa un buon adattatore, con chip Realtek e che non avesse alcun problema, e queste cose le avevo scritte anche nel feedback. Avevo fatto anche dei test, ma mi sa che a questo punto avevo controllato solo che si connettesse, perché con iperf avrei trovato subito il problema. Forse in quel periodo avevo altri pensieri, forse su lsusb
mi sono confuso con il mio lettore di memory card, che invece presenta un chip Realtek, fatto sta che l’adattatore è basato sul maledetto Kontron DM9601.
Questo chip, venduto ancora nel 2018, è un chip USB 1.1. Per chi se lo fosse dimenticato, USB 1.1 dispone di 12Mbps di bitrate lordo, non di throughput. Di download riuscivo ad ottenere 400KiB/s.
Non è stato facile capirlo. All’inizio pensavo che succedesse solo quando scaricavo dati con OpenVPN, anche se non usava mai il 100% di CPU. Poi mi sono accorto che anche iperf3
soffriva dello stesso problema, per poi accorgermi infine che era proprio la velocità massima a cui riusciva ad andare il mio computer, ma che la Raspberry andava invece ai 20Mbps promessi da SiO.
Un utente ha avuto la mia stessa idea con il mio stesso adattatore e quindi aveva avuto lo stesso problema e aveva aperto un issue al riguardo su GitHub.
La cosa più tragicamente divertente è che un utente gli aveva anche detto che è normale, che era dovuto alle limitazioni di USB, etc, al che io avevo cominciato a disperarmi. Solo alla fine dell’issue è venuto fuori che il problema era il dongle, e cercando meglio ho trovato che è conosciuto per la sua pessima qualità, sia hardware, che software.
Alla fine ho risolto con un altro adattatore che mi sono portato via, uno di quegli hub USB 3.0 che hanno anche la porta gigabit ethernet. Con quello iperf arriva a più di 200Mbps. Alla faccia dell’«è normale avere 400KiB/s».
Questa volta penso di averle imparate le lezioni:
- non fidarsi dei prodotti di AliExpress e testarli sempre molto bene appena arrivano;
- fare dei test di tutto il sistema, prima di andare via, in modo da riuscire a procurarsi un’altra soluzione alternativa senza svenarsi (qui in Norvegia costa tutto tantissimo);
- RTL8811AU è una causa persa.
Alla fine gran parte della colpa comunque è mia, però mi infastidisce sia l’aver dato quel feedback scorretto, che cercherò di far rimuovere, che aver dato anche un solo centesimo a quel venditore truffaldino. Perché scrivere nel titolo USB 2.0, nonché in un’etichetta del dispositivo stesso a me sembra una truffa.