fix(mdns): Bekanntmachung auch im eigenen AP
This commit is contained in:
+11
-1
@@ -280,7 +280,8 @@ static void net_task(void *arg)
|
||||
void *msg = NULL;
|
||||
nl_wifi_actions_t ev, tick;
|
||||
uint32_t m = 0, now;
|
||||
bool got_ip_event = false, connected_now, ap_wanted, unexpected_softap;
|
||||
bool got_ip_event = false, connected_now, ap_wanted, unexpected_softap,
|
||||
standalone_ap_up;
|
||||
bool recheck_ap = false;
|
||||
|
||||
memset(&ev, 0, sizeof ev);
|
||||
@@ -331,6 +332,9 @@ static void net_task(void *arg)
|
||||
* clear_softap_param() touch the SDK's own state and must not run while s_lock
|
||||
* (which only guards s_sm and the credential buffers) is held. */
|
||||
unexpected_softap = m == (MSG_NETIF | NETIF_WIFI_SOFTAP_SUCCESS) && !ap_wanted;
|
||||
/* Nur die Lage merken; der Aufruf nach aussen folgt hinter der Entsperrung. */
|
||||
standalone_ap_up = m == (MSG_NETIF | NETIF_WIFI_SOFTAP_SUCCESS) &&
|
||||
s_sm.state == NL_WIFI_ST_STANDALONE;
|
||||
unlock();
|
||||
|
||||
if (unexpected_softap) {
|
||||
@@ -348,6 +352,12 @@ static void net_task(void *arg)
|
||||
execute(tick);
|
||||
if (got_ip_event && connected_now)
|
||||
nl_mdns_on_ip_up();
|
||||
/* Im eigenen AP gibt es kein Stationsereignis, an dem mDNS haengen koennte.
|
||||
* Ohne diesen Aufruf findet die App ein Standalone-Geraet nicht - am
|
||||
* 2026-10-01 am EVK gemessen: REST auf der AP-IP lief, ninlight-681f.local
|
||||
* war weder aufloesbar noch sichtbar. */
|
||||
if (standalone_ap_up)
|
||||
nl_mdns_on_ip_up();
|
||||
|
||||
/* M3: retry a softap create that failed, as long as the SM still wants the AP up. */
|
||||
if (s_ap_create_pending && ap_wanted && due_now(now, s_ap_create_retry_at)) {
|
||||
|
||||
Reference in New Issue
Block a user