Wi-Fi-klient og hotspot på én radio: hvad der brækker
Et Pi-hotspot kan se sundt ud, mens dets Wi-Fi-uplink går i stå. Læs den installerede radios interfacekombinationer og kanalgrænser, før du bebrejder VPN'en.
Din telefon forbliver forbundet med hotspot'et, mens uplink'et ikke sender noget igennem. Pi'en rapporterer stadig en Wi-Fi-associering, adgangspunktet udsender stadig beacon, og hver anmodning timeouter. Én radio tjener to roller på én gang, og en af dem vinder, når den anden har brug for kanalen. Før du rører ved VPN'en, skal du fastslå, om den installerede driver og firmware overhovedet accepterer det rollerpar.
Symptomet peger på radioen, ikke på tunnelen
Følg fejlen i rækkefølge, og den holder op med at ligne en routingfejl. En klient forbinder til hotspot'et, får en adresse og indlæser en side eller to. Derefter associerer stationsinterfacet igen med den opstrøms router efter en roaming, en nøglefornyelse eller et kort signaldyk. Adgangspunktet genstarter enten sit beacon eller efterlader sine klienter uden en vej, og VPN-loggen fyldes med genopkoblingsforsøg, som aldrig var årsagen.
To interfacenavne giver ikke to radioer. wlan0 og adgangspunktets interface deler én enhed, én kanaltilstandsmaskine og én firmware-scheduler. Kernen viser præcis, hvilke rolle- og kanalkombinationer den enhed understøtter, så læs den liste i stedet for at antage, at parret virker, fordi begge interfaces kom op.
Læs kombinationen, før du ændrer noget
Den trådløse stak rapporterer sin egen kontrakt i afsnittet om interfacekombinationer i iw list. Hver nummereret kombination angiver tilladte rolleantal, hvor mange interfaces der må findes, og hvor mange forskellige kanaler disse interfaces må optage samtidig. En kombination, der angiver én station og ét adgangspunkt på én kanal, er den, denne udrulning har brug for.
iw list | sed -n '/valid interface combinations/,/^$/p'
Læs tallene frem for blot tilstedeværelsen af ordene. En driver kan understøtte stationstilstand og adgangspunktstilstand hver for sig, mens den eneste lovlige kombination af begge tillader én kanal, et lille samlet interfaceantal eller et beacon-interval, som hotspot'et ikke kan overholde. Nogle firmwares dropper også en rolle under en scanning eller en nøglefornyelse, hvilket ligner et ustabilt uplink snarere end en kapacitetsgrænse. Hvis ingen kombination angiver begge roller, understøttes parret ikke, uanset hvad skrivebordets hotspot-knap antyder.
cfg80211-dokumentationen for interfacekombinationer beskriver felterne og beacon-begrænsningen. Værdier fra én adapter siger intet om en anden, så gem outputtet sammen med maskinen i stedet for at generalisere det.
Kanal- og adresseplanen afgør resten
Et adgangspunkt skal ligge på en kanal, som radioen kan betjene, og et station-uplink skal følge det opstrøms adgangspunkt. Når de to beslutninger er uenige, skal én rolle genstarte. På mange enkeltradio-adaptere spejler hotspot'et derfor stationens kanal, og en kanalændring opstrøms tager kortvarigt hotspot'et med ned.
Planlæg IP-siden adskilt fra radioen. Et routet hotspot bruger typisk et privat subnet som 192.168.50.0/24 med Pi'en på 192.168.50.1, en DHCP-pulje i det subnet og Pi'en som resolver-forwarder. NetworkManagers delte tilstand opsætter videresendelse og adressetranslation for det subnet, men den tilføjer ikke radiokapacitet og gør ikke tunnelen til den eneste udgang. Skriv ned, om klienter er brokoblet på lag to eller routet på lag tre, før du diskuterer VPN-politik.
Testrækkefølge, der adskiller radio fra routing
Arbejd udad fra enheden og stop ved det første trin, der fejler. Disse aflæsninger er sikre på et kørende system og ændrer ingen konfiguration. Kør dem, mens en klient er associeret, og uplink'et er i den tilstand, du fejlfinder.
iw dev
iw dev wlan0 link
nmcli -t -f DEVICE,STATE,CONNECTION device status
ip -br addr show
sysctl net.ipv4.ip_forward
Hvis iw dev wlan0 link ikke viser nogen associering, kommer radioproblemet først, og tunnelen er irrelevant. Hvis uplink'et er associeret, og klienten ikke har nogen adresse, er tilkoblingen og DHCP-autoriteten forkert. Hvis klienten har en adresse, men ingen nåbarhed, mangler videresendelse, translation eller resolver-levering. Først når både hotspot-vejen og uplink-vejen virker, bliver en fejlende tunnel det næste, der skal testes.
Notér adapter, driver og firmware sammen med den accepterede kombination og kanalregel. En senere kerne- eller firmwareopdatering kan ændre den understøttede liste, og den note er det, der gør et mysterium til en kendt begrænsning.