Starlink's USB ethernet shares a hub with the rtw89 Wi-Fi adapter; when Starlink flaps, the hub re-enumerates and tears the radio down, so hostapd loses its interface and exits. Two stock defaults left the AP dark: Restart=on-failure misses clean exits, and the 5-in-10s start limit makes systemd give up during a re-enumeration storm. - hostapd-restart.conf drop-in: Restart=always, RestartSec=5, StartLimitIntervalSec=0 so hostapd retries forever until the interface returns (verified: SIGKILL -> back to state=ENABLED in ~7s). - van-ap-watchdog daemon: backstop for the case systemd can't see (hostapd running but radio wedged). Polls hostapd_cli status; restarts hostapd if the iface is present but not ENABLED, waits it out if the iface is mid-re-enumeration. - hostapd.conf: add ctrl_interface so the watchdog can read the real AP state. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
32 lines
980 B
Plaintext
32 lines
980 B
Plaintext
interface=wlxc83a35a4ee55
|
|
# Put the AP into br0 so Wi-Fi and the wired LAN port share one 10.42.0.0/24 segment.
|
|
# hostapd adds the wlan to the bridge after setting AP mode; the bridge itself + its
|
|
# wired member + the gateway IP are defined under /etc/systemd/network (2x-van-br0/lan).
|
|
bridge=br0
|
|
# Control socket so van-ap-watchdog (and hostapd_cli) can read the AP's real state
|
|
# (state=ENABLED means it's actually beaconing) — used to detect a wedged radio that
|
|
# stays "running" but stops serving after a USB glitch.
|
|
ctrl_interface=/var/run/hostapd
|
|
driver=nl80211
|
|
ssid=VanLink
|
|
country_code=CA
|
|
ieee80211d=1
|
|
ieee80211h=0
|
|
hw_mode=a
|
|
channel=149
|
|
wmm_enabled=1
|
|
ieee80211n=1
|
|
ht_capab=[HT40+][SHORT-GI-20][SHORT-GI-40]
|
|
ieee80211ac=1
|
|
vht_oper_chwidth=1
|
|
vht_oper_centr_freq_seg0_idx=155
|
|
vht_capab=[RXLDPC][SHORT-GI-80][SU-BEAMFORMEE]
|
|
ieee80211ax=1
|
|
he_oper_chwidth=1
|
|
he_oper_centr_freq_seg0_idx=155
|
|
auth_algs=1
|
|
wpa=2
|
|
wpa_passphrase=1foot11foot11
|
|
wpa_key_mgmt=WPA-PSK
|
|
rsn_pairwise=CCMP
|