Hello all, I'm working on a project which is using wpa_supplicant 2.9 with NetworkManager 1.22.10 on a NVIDIA Jetson TX2 system-on-module using a CYW4354=BCM4354. The GNU/Linux distribution is a custom one created with Yocto; the kernel used is 4.9.140-l4t-r32.4+g3924d6fccfbf provided by NVIDIA. I observed the following behaviour: 1. The error message `Failed to enable signal strength monitoring` shows up in our logs. 2. When roaming to a access point with a similar SSID, roaming works. (WebRTC video stream stutters but doesn't break.) 3. When roaming to an access point with a different SSID, the "Dongle Host Driver" (which is a kernel module I guess?) restarts. I would kindly ask if you have advice, hints or other information which could help me to track down these issues. Please note that I'm no a WiFi specialist by any means. I assume you came across many issues, so perhaps something rings a bell for you. The following section is with respect to bullet point 1.: I set the `-d` option for wpa_supplicant and got the following log output: ``` wlan0: CTRL-EVENT-CONNECTED - Connection to 86:5a:1c:02:2c:b3 completed [id=0 id_str=] nl80211: Set wlan0 operstate 0->1 (UP) netlink: Operstate: ifindex=7 linkmode=-1 (no change), operstate=6 (IF_OPER_UP) bgscan simple: Signal strength threshold -70 Short bgscan interval 30 Long bgscan interval 86400 nl80211: Signal monitor threshold=-70 hysteresis=4 bgscan simple: Failed to enable signal strength monitoring bgscan simple: Init scan interval: 86400 bgscan: Initialized module 'simple' with parameters '30:-70:86400' nl80211: Received scan results (32 BSSes) nl80211: Scan results indicate BSS status with 86:5a:1c:02:2c:b3 as associated wlan0: BSS: Start scan result update 2 bgscan simple: scan result notification ``` The presence of the `nl80211: Signal monitor threshold` line tells me the error is caused by either the `return -1` or the `return send_and_recv_msgs(...)` in driver_nl80211.c: ``` static int nl80211_signal_monitor(void *priv, int threshold, int hysteresis) { struct i802_bss *bss = priv; struct wpa_driver_nl80211_data *drv = bss->drv; struct nl_msg *msg; struct nlattr *cqm; wpa_printf(MSG_DEBUG, "nl80211: Signal monitor threshold=%d " "hysteresis=%d", threshold, hysteresis); if (!(msg = nl80211_bss_msg(bss, 0, NL80211_CMD_SET_CQM)) || !(cqm = nla_nest_start(msg, NL80211_ATTR_CQM)) || nla_put_u32(msg, NL80211_ATTR_CQM_RSSI_THOLD, threshold) || nla_put_u32(msg, NL80211_ATTR_CQM_RSSI_HYST, hysteresis)) { nlmsg_free(msg); return -1; } nla_nest_end(msg, cqm); return send_and_recv_msgs(drv, msg, NULL, NULL); } ``` The following is with respect to bullet point 3.: Dmesg output: ``` [ 189.073237] wl_is_linkdown : [ 189.076170] Link down Reason : WLC_E_LINK [ 189.080236] [06-09 10:09:57.500] wl_notify_connect_status: link down if wlan0 may call cfg80211_disconnected. event : 16, reason=1 from 86:5a:1c:02:2a:fb [ 189.097327] wl_is_linkdown : [ 189.100317] Link down Reason : WLC_E_LINK [ 204.352918] wl_android_wifi_off in [ 204.357537] dhd_wlfc_deinit():3472, maintain HOST RXRERODER flag in tvl [ 204.364639] dhdsdio_isr : bus is down. we have nothing to do [ 204.370401] gpio tegra-gpio-aon wake69 for gpio=59(FF:3) [ 204.375713] Disabling wake69 [ 204.378741] sdhci-tegra 3440000.sdhci: Tuning done, restoring the best tap value : 20 [ 204.387658] wifi_platform_set_power = 0 [ 204.606754] dhd_set_mac_addr_handler: interface info not available/down [ 204.707936] [ 204.707936] [ 204.707936] Dongle Host Driver, version 1.201.82 (r) <------- Kernel driver seems to restart [ 204.707936] Compiled from [ 204.718675] wl_android_wifi_on in [ 204.722112] wifi_platform_set_power = 1 ping: sendto: Network is unreachable root@redacted:~# [ 204.936832] vdd-1v8: voltage operation not allowed [ 204.941701] sdhci-tegra 3440000.sdhci: could not set regulator OCR (-1) [ 204.969038] vdd-1v8: voltage operation not allowed [ 204.973887] sdhci-tegra 3440000.sdhci: could not set regulator OCR (-1) [ 204.997827] vdd-1v8: voltage operation not allowed [ 205.002673] sdhci-tegra 3440000.sdhci: could not set regulator OCR (-1) [ 205.011717] vdd-1v8: voltage operation not allowed [ 205.016537] sdhci-tegra 3440000.sdhci: could not set regulator OCR (-1) [ 205.124664] vdd-1v8: voltage operation not allowed [ 205.129526] sdhci-tegra 3440000.sdhci: could not set regulator OCR (-1) [ 205.137064] vdd-1v8: voltage operation not allowed [ 205.141900] sdhci-tegra 3440000.sdhci: could not set regulator OCR (-1) [ 205.150213] vdd-1v8: voltage operation not allowed [ 205.155051] sdhci-tegra 3440000.sdhci: could not set regulator OCR (-1) [ 205.161704] sdhci-tegra 3440000.sdhci: Tuning done, restoring the best tap value : 20 [ 205.170149] F1 signature read @0x18000000=0x17214354 [ 205.179474] F1 signature OK, socitype:0x1 chip:0x4354 rev:0x1 pkg:0x2 [ 205.186659] DHD: dongle ram size is set to 786432(orig 786432) at 0x180000 [ 205.263135] dhdsdio_write_vars: Download, Upload and compare of NVRAM succeeded. [ 205.315157] dhd_bus_init: enable 0x06, ready 0x06 (waited 0us) [ 205.321312] gpio tegra-gpio-aon wake69 for gpio=59(FF:3) [ 205.326674] gpio tegra-gpio-aon wake69 for gpio=59(FF:3) [ 205.331979] Enabling wake69 [ 205.337489] wifi_platform_get_mac_addr [ 205.342950] Firmware up: op_mode=0x0005, MAC=00:04:4b:a7:e6:b4 [ 205.352998] clm path from default:/lib/firmware/brcm/bcmdhd.clm_blob [ 205.359398] Skipping the clm download. len:0 memblk: (null) [ 205.368020] dhd_preinit_ioctls pspretend_threshold for HostAPD failed -23 [ 205.379962] Firmware version = wl0: Nov 6 2019 21:22:23 version 7.35.349.85 (r723239 CY) FWID 01-a59d25b5 ``` Thank you! Manuel _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap