Client Wi-Fi e hotspot su una sola radio: cosa si rompe
Un hotspot sul Pi può sembrare sano mentre il suo collegamento Wi-Fi a monte si blocca. Leggi le combinazioni di interfaccia e i limiti di canale della radio installata prima di dare la colpa alla VPN.
Il telefono resta connesso all'hotspot mentre il collegamento a monte non lascia passare nulla. Il Pi segnala ancora un'associazione Wi-Fi, il punto di accesso emette ancora le beacon e ogni richiesta va in timeout. Una sola radio serve due ruoli insieme, e uno dei due vince quando l'altro ha bisogno del canale. Prima di toccare la VPN, stabilisci se il driver e il firmware installati accettano del tutto quella coppia di ruoli.
Il sintomo indica la radio, non il tunnel
Guarda il guasto in ordine e smette di sembrare un bug di routing. Un client si unisce all'hotspot, ottiene un indirizzo e carica una o due pagine. Poi l'interfaccia stazione si riassocia al router a monte dopo un roaming, un rinnovo di chiave o un breve calo di segnale. Il punto di accesso o riavvia la sua beacon o lascia i client senza percorso, e il registro della VPN si riempie di tentativi di riconnessione che non sono mai stati la causa.
Due nomi di interfaccia non fanno due radio. wlan0 e l'interfaccia del punto di accesso condividono un solo dispositivo, una macchina a stati del canale e uno scheduler del firmware. Il kernel espone esattamente quali combinazioni di ruolo e canale quel dispositivo supporta, quindi leggi quell'elenco invece di supporre che la coppia funzioni perché entrambe le interfacce sono salite.
Leggi la combinazione prima di cambiare qualcosa
Lo stack wireless dichiara il proprio contratto nella sezione delle combinazioni di interfaccia di iw list. Ogni combinazione numerata elenca i conteggi di ruoli consentiti, quante interfacce possono esistere e quanti canali diversi quelle interfacce possono occupare contemporaneamente. Una combinazione che nomina una stazione e un punto di accesso su un solo canale è quella che serve a questa installazione.
iw list | sed -n '/valid interface combinations/,/^$/p'
Leggi i numeri, non solo la presenza delle parole. Un driver può supportare il modo stazione e il modo punto di accesso separatamente, mentre l'unica combinazione legale di entrambi consente un solo canale, un numero ridotto di interfacce o un intervallo di beacon che l'hotspot non può rispettare. Alcuni firmware lasciano cadere un ruolo durante una scansione o un rinnovo di chiave, il che sembra un collegamento a monte instabile più che un limite di capacità. Se nessuna combinazione elenca entrambi i ruoli, la coppia non è supportata, qualunque cosa suggerisca il pulsante hotspot del desktop.
La documentazione sulle combinazioni di interfaccia di cfg80211 descrive i campi e il vincolo della beacon. I valori di un adattatore non dicono nulla di un altro, quindi conserva l'output con la macchina invece di generalizzarlo.
Il piano di canale e indirizzi decide il resto
Un punto di accesso deve stare su un canale che la radio può servire, e un collegamento a monte della stazione deve seguire il punto di accesso a monte. Quando queste due decisioni non concordano, un ruolo deve riavviarsi. Su molti adattatori a radio singola l'hotspot rispecchia quindi il canale della stazione, e un cambio di canale a monte fa brevemente cadere l'hotspot con sé.
Pianifica il lato IP separatamente dalla radio. Un hotspot instradato usa di solito una sottorete privata come 192.168.50.0/24 con il Pi su 192.168.50.1, un pool DHCP dentro quella sottorete e il Pi come inoltratore del resolver. La modalità condivisa di NetworkManager configura l'inoltro e la traduzione degli indirizzi per quella sottorete, ma non aggiunge capacità radio né rende il tunnel l'unica uscita. Annota se i client sono bridgati al livello due o instradati al livello tre prima di discutere della politica VPN.
Ordine di test che separa la radio dal routing
Lavora dal dispositivo verso l'esterno e fermati al primo passo che fallisce. Queste letture sono sicure su un sistema in esecuzione e non cambiano alcuna configurazione. Eseguile mentre un client è associato e il collegamento a monte è nello stato che stai debuggando.
iw dev
iw dev wlan0 link
nmcli -t -f DEVICE,STATE,CONNECTION device status
ip -br addr show
sysctl net.ipv4.ip_forward
Se iw dev wlan0 link non mostra alcuna associazione, il problema radio viene prima e il tunnel è irrilevante. Se il collegamento a monte è associato e il client non ha un indirizzo, l'aggancio e l'autorità DHCP sono sbagliati. Se il client ha un indirizzo ma nessuna raggiungibilità, mancano inoltro, traduzione o consegna del resolver. Solo quando funzionano sia il percorso dell'hotspot sia quello del collegamento a monte, un tunnel che fallisce diventa la prossima cosa da testare.
Annota l'adattatore, il driver e il firmware accanto alla combinazione e alla regola di canale accettate. Un successivo aggiornamento del kernel o del firmware può cambiare l'elenco supportato, e quella nota è ciò che trasforma un mistero in un limite noto.