SIGSEGV with timeouted WiFi 6 driver
Antonio Prcela
antonio.prcela at gmail.com
Wed Dec 20 03:19:16 PST 2023
Had a similar issue this morning after i pulled latest commits.
What worked for me: 'make clean' then 'make'
issue before clean build:
sudo hostapd h_ax.conf
wlan0: interface state UNINITIALIZED->COUNTRY_UPDATE
ACS: Automatic channel selection started, this may take a bit
wlan0: interface state COUNTRY_UPDATE->ACS
wlan0: ACS-STARTED
wlan0: ACS-COMPLETED freq=5745 channel=149
Segmentation fault
On 20. 12. 2023. 12:10, Maciej Witkowski wrote:
> Hi,
>
> i'm running a WiFi 6 USB dongle CF-953AX that sometimes times out.
>
> When driver mt7921u is in timeouted state, every time I start hostapd, it crashes with SIGSEGV.
>
> The driver or the device is faulty [1] but it's independent to the hostapd issue,
>
> because hostapd should exit normally, without memory violations.
>
>
> # /root/hostapd -P /run/hostapd.pid /etc/hostapd/hostapd.conf
> Could not set interface wlan1 flags (UP): Connection timed out
> nl80211: Could not set interface 'wlan1' UP
> nl80211: deinit ifname=wlan1 disabled_11b_rates=0
> nl80211: remove link (0) failed. ret=-100 (Network is down)
> Segmentation fault
>
>
> $ uname -r
> 6.7.0-rc5-v8-Upgrade_RasPiOS_Kernel-wifi-rpi-6.7.y+
>
> Reading symbols from /root/hostapd...
> (gdb) run
> Starting program: /root/hostapd -P /run/hostapd.pid /etc/hostapd/hostapd.conf
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".
> Could not set interface wlan1 flags (UP): Connection timed out
> nl80211: Could not set interface 'wlan1' UP
> nl80211: deinit ifname=wlan1 disabled_11b_rates=0
> nl80211: remove link (0) failed. ret=-100 (Network is down)
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x00000055555cb470 in nl80211_cmd (cmd=5 '\005', flags=0, msg=0x55556bce10, drv=0x556b92b0) at ../src/drivers/driver_nl80211.c:737
> 737 return genlmsg_put(msg, 0, 0, drv->global->nl80211_id,
> (gdb)
> (gdb) bt
> #0 0x00000055555cb470 in nl80211_cmd (cmd=5 '\005', flags=0, msg=0x55556bce10, drv=0x556b92b0) at ../src/drivers/driver_nl80211.c:737
> #1 nl80211_cmd_msg (bss=bss at entry=0x55556b99b0, flags=flags at entry=0, cmd=cmd at entry=5 '\005') at ../src/drivers/driver_nl80211.c:758
> #2 0x00000055555cb514 in nl80211_get_ifmode (bss=bss at entry=0x55556b99b0) at ../src/drivers/driver_nl80211.c:868
> #3 0x00000055555cb714 in i802_set_iface_flags (bss=0x55556b99b0, up=0) at ../src/drivers/driver_nl80211.c:2923
> #4 0x00000055555d1e74 in wpa_driver_nl80211_deinit (bss=0x55556b99b0) at ../src/drivers/driver_nl80211.c:3213
> #5 0x00000055555d26f4 in wpa_driver_nl80211_drv_init (ctx=0x55556b7d70, ifname=0x55556b7680 "wlan1", global_priv=0x55556b8c70, hostapd=hostapd at entry=1, set_addr=0x0, driver_params=0x0)
> at ../src/drivers/driver_nl80211.c:2433
> #6 0x00000055555d2808 in i802_init (hapd=<optimized out>, params=0x7ffffff100) at ../src/drivers/driver_nl80211.c:8619
> #7 0x000000555555e178 in hostapd_driver_init (iface=0x55556b6a50) at main.c:274
> #8 0x000000555555d84c in main (argc=<optimized out>, argv=<optimized out>) at main.c:1002
>
> ```
> void * nl80211_cmd(struct wpa_driver_nl80211_data *drv,
> struct nl_msg *msg, int flags, uint8_t cmd)
> {
> if (TEST_FAIL())
> return NULL;
> return genlmsg_put(msg, 0, 0, drv->global->nl80211_id, // here SIGSEGV
> 0, flags, cmd, 0);
> }
> ```
>
>
> [1] https://github.com/morrownr/USB-WiFi/issues/107#issuecomment-1850778201
>
>
>
> Best regards,
>
> Maciej Witkowski
>
>
> _______________________________________________
> Hostap mailing list
> Hostap at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/hostap
More information about the Hostap
mailing list