Deprecated: Creation of dynamic property Timber\Site::$pingback is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Site.php on line 180

Deprecated: Creation of dynamic property Timber\User::$name is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/User.php on line 118

Deprecated: Creation of dynamic property Timber\Post::$has_disclaimer is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_lock is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_edit_last is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$tipologia is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_tipologia is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$attributi is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_attributi is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$os_meta is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_category is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_blz_affiliation_attributes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_content_type is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_attributes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_primary_speciali is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_focuskw is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_metadesc is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_linkdex is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_content_score is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_focuskeywords is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_keywordsynonyms is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_wpseo_estimated-reading-time-minutes is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_thumbnail_id is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$os_previous_publish_date is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$os_notification_id is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_yoast_indexnow_last_ping is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_15fc9beda87889d8c62a75702cb443ae is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_time_15fc9beda87889d8c62a75702cb443ae is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_06ff8a75f37f27cfc9e393b7fc750226 is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_time_06ff8a75f37f27cfc9e393b7fc750226 is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_ec5cc2640a2c655b5c5e55ca56c0dc12 is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_time_ec5cc2640a2c655b5c5e55ca56c0dc12 is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_563f7be9897a11f48595fffb839326bb is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_time_563f7be9897a11f48595fffb839326bb is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_83a57d9bc25c4c13a3489b9b403aca65 is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_time_83a57d9bc25c4c13a3489b9b403aca65 is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_a2193abff61c261adb1f95ff83dd2404 is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$_oembed_time_a2193abff61c261adb1f95ff83dd2404 is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$in_evidenza_newsletter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_date_gmt is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$ping_status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_password is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_name is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$to_ping is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$pinged is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_modified_gmt is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_content_filtered is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$guid is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$menu_order is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$post_mime_type is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$comment_count is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$filter is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71

Deprecated: Creation of dynamic property Timber\Post::$status is deprecated in /var/www/html/web/app/themes/ilsoftware/vendor/timber/timber/lib/Core.php on line 71
Segnale WiFi instabile in casa? La configurazione OpenWrt che migliora roaming e copertura | IlSoftware.it

Segnale WiFi instabile in casa? La configurazione OpenWrt che migliora roaming e copertura

OpenWrt, usteer e i Neighbor Report 802.11k possono migliorare il roaming WiFi domestico riducendo gli sticky client e ottimizzando la distribuzione dei dispositivi tra gli access point.
Segnale WiFi instabile in casa? La configurazione OpenWrt che migliora roaming e copertura

Le reti WiFi domestiche moderne sono diventate sorprendentemente complesse. Smartphone, tablet, notebook, smart TV, dispositivi IoT, assistenti vocali e videocamere di sorveglianza convivono sulla stessa infrastruttura radio, spesso distribuita su più piani o in abitazioni caratterizzate da pareti spesse, elementi metallici e altre fonti di attenuazione del segnale.

Installare più access point rappresenta soltanto il primo passo perché la vera sfida consiste nel garantire che i dispositivi possano automaticamente utilizzare il punto di accesso più adatto mentre l’utente si muove all’interno dell’abitazione. Il concetto del quale stiamo parlando si chiama roaming WiFi.

Utilizzando OpenWrt è possibile costruire un’infrastruttura di roaming avanzata senza ricorrere a controller proprietari, servizi cloud o software specifici del produttore. Con alcuni componenti aggiuntivi e una corretta configurazione degli standard IEEE 802.11r, 802.11k e 802.11v, è possibile ottenere prestazioni paragonabili a quelle offerte da soluzioni enterprise molto più costose.

OpenWrt: trasformare un router domestico in una piattaforma di rete avanzata

OpenWrt è un progetto open source basato su Linux sviluppato per essere installato su router, access point e altri dispositivi di rete compatibili. A differenza del firmware installato dal produttore, offre un ambiente completamente personalizzabile che consente di configurare funzionalità avanzate come VLAN, VPN, firewall evoluti, reti WiFi multi-SSID, monitoraggio del traffico e roaming assistito tra access point.

L’installazione avviene generalmente caricando l’immagine firmware specifica per il proprio modello di dispositivo attraverso l’interfaccia di amministrazione originale oppure tramite procedure “ad hoc”.

Una volta installato, OpenWrt mette a disposizione un’interfaccia web intuitiva chiamata LuCI e l’accesso completo al sistema tramite SSH, permettendo agli utenti più esperti di gestire la rete con un livello di controllo difficilmente raggiungibile avvalendosi delle soluzioni commerciali tradizionali.

Prima di procedere è tuttavia fondamentale verificare con attenzione la compatibilità dell’hardware e seguire scrupolosamente le istruzioni ufficiali, poiché l’installazione di OpenWrt comporta la sostituzione del firmware originale del dispositivo e un errore durante la procedura potrebbe renderlo temporaneamente o definitivamente inutilizzabile.

Perché il roaming rappresenta ancora un problema nelle reti domestiche

Molti utenti ritengono che assegnare lo stesso SSID a tutti gli access point sia sufficiente per ottenere un roaming efficace. In realtà il comportamento finale dipende principalmente dai client.

La maggior parte degli smartphone e dei notebook decide autonomamente quando abbandonare un access point e associarsi a un altro. Alcuni dispositivi adottano politiche aggressive e cercano rapidamente il segnale migliore; altri, invece, tendono a mantenere la connessione esistente anche quando la qualità radio è ormai degradata.

Questo fenomeno è noto come sticky client problem: un dispositivo continua a restare associato a un access point lontano pur trovandosi nelle immediate vicinanze di un altro punto d’accesso che offrirebbe condizioni radio decisamente migliori.

Le conseguenze sono facilmente riscontrabili:

  • riduzione della velocità di trasmissione;
  • aumento della latenza;
  • peggioramento della qualità delle chiamate VoIP;
  • buffering durante lo streaming;
  • maggiore occupazione dello spettro radio.

Il problema diventa ancora più evidente negli edifici caratterizzati da ostacoli strutturali particolarmente penalizzanti per le frequenze WiFi più elevate, come ascensori, colonne tecniche, impianti idraulici, rivestimenti metallici o grandi elettrodomestici.

Separare le reti a 2,4 GHz e 5 GHz: una scelta ancora valida

Molte guide suggeriscono di utilizzare un SSID unico per tutte le bande disponibili. Una strategia spesso più efficace consiste nel mantenere due reti distinte:

  • una rete a 2,4 GHz dedicata ai dispositivi legacy e IoT;
  • una rete a 5 GHz destinata ai client più recenti.

L’approccio consente di adottare configurazioni differenti sul piano della sicurezza e delle prestazioni.

La rete a 2,4 GHz può mantenere la compatibilità WPA2 necessaria per dispositivi più datati, sensori smart, prese intelligenti e altri apparati che non supportano gli standard più recenti. La rete a 5 GHz, viceversa, può invece utilizzare WPA3-SAE, sfruttando canali più ampi, minori interferenze e migliori velocità di trasferimento.

In una configurazione del genere, il roaming WiFi è gestito separatamente all’interno di ciascuna banda. Non esiste alcuna migrazione automatica tra 2,4 GHz e 5 GHz orchestrata dall’infrastruttura: la scelta rimane responsabilità del client.

Il ruolo di 802.11r, 802.11k e 802.11v

Le moderne implementazioni di roaming si basano su tre standard complementari.

IEEE 802.11r introduce il Fast Transition, riducendo il tempo necessario per autenticarsi presso un nuovo access point durante il roaming. Senza Fast Transition, il dispositivo deve eseguire nuovamente l’intera procedura di autenticazione. Con 802.11r gran parte delle informazioni di sicurezza sono invece preparate in anticipo, permettendo una transizione quasi istantanea.

Lo standard 802.11k fornisce ai client informazioni dettagliate sugli access point vicini: invece di scandagliare l’intero spettro radio alla ricerca di possibili candidati, il dispositivo riceve direttamente una lista di access point suggeriti. Il risultato è un roaming più rapido e meno dispendioso dal punto di vista energetico.

Infine, 802.11v (Network Assisted Roaming) permette all’infrastruttura di fornire indicazioni ai client riguardo ai punti di accesso preferibili. L’access point può suggerire che un altro nodo della rete rappresenti una scelta migliore, lasciando comunque la decisione finale al dispositivo.

Quando gli standard da soli non bastano

In teoria, l’abilitazione di 802.11r, 802.11k e 802.11v dovrebbe essere sufficiente. Invece, all’atto pratico, si riscontrano evidenti limitazioni legate all’implementazione.

Uno dei problemi più comuni riguarda i riscontri chiamati Neighbor Reports previsti dallo standard 802.11k. Se gli access point non pubblicano correttamente l’elenco dei vicini, i client non dispongono delle informazioni necessarie per prendere decisioni ottimali.

È possibile verificare la presenza di tali informazioni impartendo il comando seguente sul dispositivo aggiornato a OpenWrt:

ubus call hostapd.wlan0 rrm_nr_get_own

Al posto di wlan0 bisogna sostituire l’identificativo corretto dell’interfaccia WiFi. In molte installazioni di OpenWrt si scopre che la lista dei vicini è vuota o incompleta, di fatto annullando l’efficacia del roaming assistito.

Come usare usteer con OpenWrt

Per migliorare il comportamento complessivo della rete è possibile utilizzare usteer, il daemon di steering sviluppato per OpenWrt. L’obiettivo di usteer consiste nel condividere informazioni tra gli access point e favorire decisioni di roaming più intelligenti.

Rui Carmo ha pubblicato di recente una breve guida che riassume i passaggi da seguire con OpenWrt per installare e configurare usteer. L’installazione richiede pochi passaggi:

opkg update
opkg install usteer luci-app-usteer

/etc/init.d/usteer enable
/etc/init.d/usteer restart

Una volta operativo, ogni access point mantiene informazioni aggiornate sui client associati e condivide tali dati con gli altri nodi della rete attraverso la LAN. Il meccanismo consente una visione distribuita dello stato della rete WiFi locale senza la necessità di controller centralizzati.

Neighbor Reports statici: il tassello mancante

Come spiega ancora Carmo (ha usato un sistema mesh Cudy), in molte configurazioni il vero miglioramento arriva grazie al pacchetto static-neighbor-reports. Il software automatizza infatti la creazione e la distribuzione delle Neighbor Reports di 802.11k.

Anche qui i passaggi da seguire per l’installazione e l’attivazione sono molto semplici:

opkg install static-neighbor-reports

/etc/init.d/static-neighbor-reports enable
/etc/init.d/static-neighbor-reports restart

Ogni access point è così informato dell’esistenza degli altri nodi appartenenti alla stessa rete. Gli access point a 2,4 GHz pubblicizzano esclusivamente altri punti d’accesso operanti a 2,4 GHz; analogamente, i dispositivi sui 5 GHz si riferiscono soltanto ai vicini appartenenti alla stessa banda.

Mescolare informazioni provenienti da reti con SSID differenti o politiche di sicurezza diverse potrebbe generare comportamenti imprevedibili da parte dei client.

Come misurare i risultati

La valutazione di un’infrastruttura di roaming non può basarsi esclusivamente sulle impressioni soggettive degli utenti.

È consigliabile monitorare diversi parametri, tra cui il rapporto segnale/rumore (SNR, Signal-to-Noise Ratio), che misura la qualità del collegamento wireless; RSSI, che indica la potenza del segnale ricevuto; i bitrate effettivamente raggiunti; il numero di passaggi dei dispositivi tra i vari access point (roaming), la distribuzione dei client sugli access point e l’eventuale presenza di dispositivi connessi con un segnale particolarmente debole.

OpenWrt mette a disposizione diversi strumenti per monitorare in tempo reale il comportamento della rete wireless.

Attraverso l’interfaccia LuCI o mediante comandi eseguiti via SSH è possibile verificare tutti gli aspetti citati in precedenza mentre per analisi più approfondite si possono eventualmente aggiungere pacchetti come collectd, che raccolgono periodicamente le metriche di rete e le inviano a piattaforme di monitoraggio come Graphite, InfluxDB o Prometheus. In questo modo è possibile generare grafici storici e confrontare il comportamento della rete prima e dopo modifiche alla configurazione, individuando ad esempio client che rimangono associati a un access point con segnali molto deboli oppure verificando l’effettiva distribuzione dei dispositivi tra i vari punti di accesso.

Tanti dati sono immediatamente consultabili con OpenWrt senza installare nulla. Ad esempio il seguente comando mostra, per ciascun client WiFi collegato, RSSI, bitrate di trasmissione e ricezione, pacchetti inviati e ricevuti, tempo di connessione, traffico complessivo:

iw dev wlan0 station dump

Un comando come logread | grep hostapd consente di individuare associazioni, disassociazioni e roaming Fast Transition (802.11r).

Uno dei segnali più significativi consiste nella riduzione dei client associati con livelli di segnale inferiori a -85 dBm o addirittura -90 dBm. Quando tali associazioni scompaiono, significa che i dispositivi stanno effettuando il roaming WiFi in modo più tempestivo e corretto.

È in questo modo che funzionano i sistemi mesh commerciali?

I sistemi mesh WiFi commerciali implementano molti degli stessi principi, ma di solito aggiungono un livello di coordinamento centralizzato e algoritmi proprietari che OpenWrt, per scelta progettuale, non include.

Abbiamo detto che quando si parla di roaming WiFi, è il client che decide quasi sempre quando cambiare access point. Nemmeno un sistema mesh da migliaia di euro può “spostare” forzosamente uno smartphone da un access point all’altro come farebbe uno switch di rete con una porta Ethernet. Può però influenzare fortemente la decisione.

I sistemi mesh di produttori come Ubiquiti, TP-Link, ASUS, Netgear o eero utilizzano normalmente 802.11k per fornire ai client la lista degli access point vicini; 802.11v per suggerire il punto di accesso più opportuno; 802.11r per accelerare la riassociazione; Band Steering per spingere i dispositivi verso 5 GHz o 6 GHz; Load Balancing per distribuire i client tra i vari nodi; algoritmi proprietari che monitorano RSSI, SNR, traffico e congestione.

La differenza principale è che in un sistema mesh commerciale esiste quasi sempre un controller che possiede una visione completa della rete. Se uno smartphone rimane collegato a un access point con segnale molto debole, il controller può adottare strategie più aggressive come ignorare temporaneamente nuove richieste di associazione, rifiutare alcune autenticazioni, abbassare la potenza di trasmissione, disassociare il client affinché cerchi un nodo migliore (client steering o assisted roaming).

Nel caso di OpenWrt con usteer, si può realizzare qualcosa di molto simile a una versione distribuita di questo meccanismo.

La differenza tra mesh networking e roaming wireless

C’è poi un’importante considerazione da fare: il termine mesh è spesso usato impropriamente nel marketing: molti utenti pensano infatti che mesh significhi “roaming perfetto”.

In realtà, con mesh networking si intende il collegamento wireless tra gli access point (backhaul wireless) mentre il roaming WiFi, come abbiamo visto, è proprio il passaggio del client da un access point all’altro.

È quindi possibile avere un roaming eccellente senza alcuna rete mesh, ad esempio quando tutti gli access point sono collegati alla rete LAN tramite cavo Ethernet. Anzi, dal punto di vista delle prestazioni, un backhaul cablato è generalmente preferibile. Vi abbiamo raccontato, tempo fa, il caso di un collegamento di backhaul wireless su sistema WiFi mesh che risultava soggetto a interferenze, rendendo pessime le prestazioni dell’intera rete.

Ti consigliamo anche

Link copiato negli appunti