Dealing with wifi driver crash that doesn't remove wlan interface

Bryce Johnson <[email protected]> Tue, 15 Jul 2025 11:28:36 -0600
Newsgroups dev.linux.lists.iwd
Message-ID <CADXxVSK3vr5=wsB8q6yz1KvB5VqSnQNW+8Nf_Wn7OrAQN470Kw@mail.gmail.com>
Hi All,
Long shot if there is something I can do with iwd, but I figured I'd
ask... We are dealing with an occasional wifi-driver crash on silabs
wf200 that silabs hasn't been able to fix... so we had implemented a
workaround that seems to be working fairly well up until now.

From our wifi provisioning application, we query a few params over
dbus periodically and log them:
mac_address: "70:c5:9c:xx:xx:xx"
ssid: "xxxxxxxx"
freq: 2412
rssi: -32
security: "WPA2-Personal"

If our dbus path fails in our application it will trigger the
wifi-driver to be restarted.  That fixes many of the issues, but we
ran into an issue at a friendly customer site, where the driver
failed, but apparently left enough up where the wlan0 was up and iwd
was just getting stale data from it.

The correct answer is for silabs to fix the driver, but I was
wondering if there were any other additional workarounds I could try
in the meantime...

This in on iwd 3.4, Here is a snip of the iwd log with debug enabled:

at ~2025-07-14 18:45: the driver crashed:
dmesg: [ 3253.325450] wfx-spi spi0.0: firmware exception

at ~2025-07-15 16:20 we manually restarted the driver
dmesg: [80768.916153] wlan0: deauthenticating from 90:09:d0:42:07:56
by local choice (Reason: 3=DEAUTH_LEAVING)


2025-07-14 17:58:11.565200658  src/station.c:station_print_scan_bss()
Processing BSS '38:70:0c:41:d2:b8' with SSID: ROBBY, freq: 2462, rank:
37, strength: -8500, data_rate: 5.5
2025-07-14 17:58:11.566580887  src/station.c:station_print_scan_bss()
Processing BSS '18:90:88:2e:88:05' with SSID: , freq: 2412, rank: 13,
strength: -8800, data_rate: 2.0
2025-07-14 17:58:11.566801362  src/station.c:station_add_seen_bss()
BSS has hidden SSID
2025-07-14 17:58:11.566967170  src/station.c:station_print_scan_bss()
Processing BSS '64:51:06:db:a5:ae' with SSID: HP-Print-AE-Photosmart
6520, freq: 2412, rank: 13, strength: -8800, data_rate: 2.0
2025-07-14 17:58:11.569713212  src/station.c:station_print_scan_bss()
Processing BSS '76:54:25:16:80:39' with SSID: , freq: 2462, rank: 13,
strength: -9100, data_rate: 2.0
2025-07-14 17:58:11.569950527  src/station.c:station_add_seen_bss()
BSS has hidden SSID
2025-07-14 17:58:11.570111448  src/station.c:station_print_scan_bss()
Processing BSS '1c:39:29:02:b4:c5' with SSID:
AT_401_WIN_056905_WW_b4c5, freq: 2462, rank: 13, strength: -9200,
data_rate: 2.0
2025-07-14 17:58:11.573726453  src/wiphy.c:wiphy_radio_work_done()
Work item 4 done
2025-07-14 17:58:11.575809796  src/netdev.c:netdev_link_notify() event
16 on ifindex 2
2025-07-14 17:58:17.677447209  src/netdev.c:netdev_link_notify() event
16 on ifindex 6
2025-07-14 17:58:17.677731675  src/netdev.c:netdev_link_notify() event
16 on ifindex 5
2025-07-14 17:59:23.451727924  src/netdev.c:netdev_link_notify() event
16 on ifindex 5
2025-07-14 17:59:23.463000704  src/netdev.c:netdev_link_notify() event
16 on ifindex 5
2025-07-14 17:59:23.482318002  src/netdev.c:netdev_link_notify() event
16 on ifindex 5
2025-07-14 17:59:23.483857888  src/netdev.c:netdev_link_notify() event
17 on ifindex 5
2025-07-14 17:59:23.485664308  src/netdev.c:netdev_link_notify() event
16 on ifindex 4
2025-07-14 17:59:23.487021309  src/netdev.c:netdev_link_notify() event
17 on ifindex 5
2025-07-14 17:59:31.211091899  src/netdev.c:netdev_link_notify() event
16 on ifindex 8
2025-07-14 17:59:31.213708170  src/netdev.c:netdev_link_notify() event
16 on ifindex 8
2025-07-14 17:59:31.276263723  src/netdev.c:netdev_link_notify() event
16 on ifindex 8
2025-07-14 17:59:31.283333624  src/netdev.c:netdev_link_notify() event
16 on ifindex 8
2025-07-14 17:59:31.285134352  src/netdev.c:netdev_link_notify() event
16 on ifindex 8
2025-07-14 17:59:31.286224134  src/netdev.c:netdev_link_notify() event
16 on ifindex 4
2025-07-14 17:59:31.288634631  src/netdev.c:netdev_link_notify() event
16 on ifindex 8
2025-07-14 17:59:31.289996567  src/netdev.c:netdev_link_notify() event
16 on ifindex 8
2025-07-14 17:59:31.339801875  src/netdev.c:netdev_link_notify() event
16 on ifindex 8
2025-07-14 17:59:31.340068480  src/netdev.c:netdev_link_notify() event
16 on ifindex 8
2025-07-14 17:59:31.341316514  src/netdev.c:netdev_link_notify() event
16 on ifindex 8
2025-07-14 17:59:46.764125543  src/netdev.c:netdev_link_notify() event
16 on ifindex 8
2025-07-14 18:45:50.472050964  src/netdev.c:netdev_unicast_notify()
Unicast notification Control Port Frame(129)
2025-07-14 18:45:50.472323982  src/netdev.c:netdev_control_port_frame_event()
2025-07-14 18:45:50.489657876  src/eapol.c:eapol_handle_gtk_1_of_2() ifindex=2
2025-07-14 18:45:50.503031733  src/netdev.c:netdev_set_gtk() ifindex=2 key_idx=2
2025-07-14 18:45:50.526112177  src/netdev.c:netdev_new_group_key_cb()
ifindex: 2, err: 0
2025-07-14 18:45:50.527560761  src/netdev.c:try_handshake_complete()
ptk_installed: 1, gtk_installed: 1, igtk_installed: 1
2025-07-14 18:45:50.528956809  src/netdev.c:try_handshake_complete()
nhs->complete: 1
2025-07-14 18:45:50.559356169  src/netdev.c:netdev_mlme_notify() MLME
notification Control Port TX Status(139)
2025-07-15 16:20:46.865790966  src/netdev.c:netdev_mlme_notify() MLME
notification Notify CQM(64)
2025-07-15 16:20:46.866248149  src/station.c:station_packets_lost()
Packets lost event: 50
2025-07-15 16:20:46.866559823  src/station.c:station_start_roam()
Requesting neighbor report for roam
2025-07-15 16:20:49.674634613  src/netdev.c:netdev_link_notify() event
16 on ifindex 2
2025-07-15 16:20:49.689872602  src/netdev.c:netdev_link_notify() event
16 on ifindex 2
2025-07-15 16:20:49.690157914
src/station.c:station_neighbor_report_cb() ifindex: 2, error:
-107(Transport endpoint is not connected)
2025-07-15 16:20:49.690321414
src/station.c:station_neighbor_report_cb() no neighbor report results
or known freqs
2025-07-15 16:20:49.690755567  src/station.c:station_roam_failed() 2
2025-07-15 16:20:49.690928478  src/station.c:station_free()
2025-07-15 16:20:49.691063826  src/netconfig.c:netconfig_destroy()
2025-07-15 16:20:49.694320325
src/netconfig.c:netconfig_event_handler() l_netconfig event 2
2025-07-15 16:20:49.696345663
src/netconfig-commit.c:netconfig_commit_print_addrs() removing
address: 192.168.1.100
2025-07-15 16:20:52.482746720  resolve: /sbin/resolvconf exited with
status (36096).
2025-07-15 16:20:52.483011183  src/station.c:station_roam_state_clear() 2
2025-07-15 16:20:52.520806556  src/netdev.c:netdev_link_notify() event
17 on ifindex 2
2025-07-15 16:20:52.522040814  src/netdev.c:netdev_free() Freeing
netdev wlan0[2]
2025-07-15 16:20:52.524139481  src/device.c:device_free()
2025-07-15 16:20:52.526958891  Removing scan context for wdev 1