fix: self-heal radio1 AP after stock daemon wireless writes

This commit is contained in:
2026-08-18 08:08:50 -05:00
parent be2685aa15
commit 7536f3ca45
2 changed files with 35 additions and 0 deletions
@@ -1682,6 +1682,11 @@ def h_pineap_wifi_get_ap(ctx):
pinecfg = data2 if status2 == 200 and isinstance(data2, dict) else {}
pool = _uci_section('pineapd.@ssidpool[0]')
radio1 = _uci_wifi_iface('radio1')
for name in ('wlan1open', 'wlan1wpa'):
cfg = _uci_wifi_iface(name)
if cfg and cfg.get('disabled') != '1' and not os.path.exists('/sys/class/net/%s' % name):
device_run(['wifi', 'reload'])
break
return 200, {
'open': {
'enabled': open_cfg.get('disabled') == '0',
@@ -1793,6 +1798,7 @@ def _apply_radio1_ap(openap, wpa):
device_run(['uci', 'set', 'wireless.%s=wifi-iface' % iface])
device_run(['uci', 'set', 'wireless.%s.device=radio1' % iface])
device_run(['uci', 'set', 'wireless.%s.mode=ap' % iface])
device_run(['uci', 'set', 'wireless.%s.ifname=%s' % (iface, iface)])
device_run(['uci', 'set', 'wireless.%s.ssid=%s' % (iface, cfg.get('ssid') or '')])
device_run(['uci', 'set', 'wireless.%s.hidden=%d' % (iface, 1 if cfg.get('hidden') else 0)])
device_run(['uci', 'set', 'wireless.%s.channel=%d' % (iface, int(cfg.get('channel')))])