Known issues with SDIO Wi-Fi module

I was trying to figure out for hours why I could not have multiple SSIDs… turns out it is a hardware defect and also not not working with 2.4g either! I consider this a hardware defect because the hardware supplier won’t fix their drivers! I am a little disappointed by this. I am in the United States, it’s a little difficult to get more modules for the Mox here, so this thing will be relegated to a single 2.4g signal and stored in my closet as a dump AP. I hope cz.nic will be sending replacement parts soon! I received mine from being a kickstarter backer.

3 Likes

Hi guys,
I’m very sad about SDIO wifi. No mlutiple SSID, no stable 5Ghz :frowning:

Unfortunately I cannot connect more than 8 devices to 2.4Gh SDIO. Is it also known issue?

[28590.029517] iwlwifi 0000:03:00.0: Radio type=0x1-0x2-0x0
[28590.356284] iwlwifi 0000:03:00.0: Radio type=0x1-0x2-0x0
[28593.830071] iwlwifi 0000:03:00.0: Radio type=0x1-0x2-0x0
[28594.136561] iwlwifi 0000:03:00.0: Radio type=0x1-0x2-0x0
[28597.687091] wlp3s0: authenticate with d0:c5:d3:34:10:39
[28597.688928] wlp3s0: send auth to d0:c5:d3:34:10:39 (try 1/3)
[28597.710967] wlp3s0: send auth to d0:c5:d3:34:10:39 (try 2/3)
[28597.822340] wlp3s0: send auth to d0:c5:d3:34:10:39 (try 3/3)
[28597.932373] wlp3s0: authentication with d0:c5:d3:34:10:39 timed out
[28611.257342] wlp3s0: authenticate with d0:c5:d3:34:10:39
[28611.258751] wlp3s0: send auth to d0:c5:d3:34:10:39 (try 1/3)
[28611.371989] wlp3s0: send auth to d0:c5:d3:34:10:39 (try 2/3)
[28611.481940] wlp3s0: send auth to d0:c5:d3:34:10:39 (try 3/3)
[28611.591923] wlp3s0: authentication with d0:c5:d3:34:10:39 timed out

Any news with SDIO module?

SDIO module in MOX functionality is somehow locked with channel 36. I have tried to set another channel or automatic and SDIO module stopped working. It took me sometime, but I finally made it working as netboot, two wifi modules with the same SSID. I have HBT branch means TOS 5.1 latest update.

A post was split to a new topic: SDIO Wi-Fi card issue on 2.4 GHz

It turns out what was stated to be fixed

edit: … is fixed (at least for running 3 SSIDs on 5GHz mode and channel 36). Thanks alot to Turris team, you are fantastic! :star_struck:

There’s some small thing that drove me absolutely crazy (which is by no means the fault of the Turris guys - this is an OpenWrt problem): Even if you are parametrising a 5GHz-SSID you have still this options in luci configuration:


And if you uncheck the box for 802.11b legacy rates (equivalent uci option option legacy_rates '0') the complete cards will not come up until you delete wifi-configuration and reboot your MOX. And this might also be the same if you choose “force 40MHz mode” (equivalent uci option option noscan '1') - those options only belong to 2,4GHz networks and the mwifiex_sdio will crash if their default options are changed in luci.

What doesn’t work either is uci option option require_mode '<n/ac>' (at least for 5GHz band) which is quite nice to force older devices to fall back on 2,4GHz band and leave 5GHz band to the newer devices.

1 Like

I tried the SDIO-module with a slidely different usecase again after some time. But even though the above mentioned functionality stays correct, even on 2,4GHz I create only three SSIDs in parallel. More SSIDs will cause the WI-FI to fail:

Nov 22 00:05:53 turris kernel: [  315.639814] mwifiex_sdio mmc0:0001:1: CMD_RESP: cmd 0x20 error, result=0x1
Nov 21 23:05:53 turris mac80211: Failed command: iw phy phy0 set antenna 0xffffffff 0xffffffff
Nov 21 23:05:53 turris netifd: radio0 (7045): command failed: Not supported (-95)
Nov 21 23:05:53 turris mac80211: Failed command: iw phy phy0 set antenna_gain 0
Nov 21 23:05:53 turris hostapd: Configuration file: /var/run/hostapd-phy0.conf
Nov 22 00:05:53 turris kernel: [  316.168854] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
Nov 22 00:05:53 turris kernel: [  316.181310] br-lan: port 2(wlan0) entered blocking state
Nov 22 00:05:53 turris kernel: [  316.186954] br-lan: port 2(wlan0) entered disabled state
Nov 22 00:05:53 turris kernel: [  316.193135] device wlan0 entered promiscuous mode
Nov 21 23:05:53 turris hostapd: wlan0: interface state UNINITIALIZED->COUNTRY_UPDATE
Nov 21 23:05:53 turris hostapd: wlan0: interface state COUNTRY_UPDATE->HT_SCAN
Nov 21 23:05:55 turris hostapd: Using interface wlan0 with hwaddr  and ssid "<SSID>"
Nov 22 00:05:56 turris kernel: [  319.218213] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
Nov 22 00:05:56 turris kernel: [  319.225076] br-lan: port 2(wlan0) entered blocking state
Nov 22 00:05:56 turris kernel: [  319.230637] br-lan: port 2(wlan0) entered forwarding state
Nov 22 00:05:57 turris kernel: [  319.262929] br-lan: port 3(wlan0-1) entered blocking state
Nov 22 00:05:57 turris kernel: [  319.268729] br-lan: port 3(wlan0-1) entered disabled state
Nov 22 00:05:57 turris kernel: [  319.274820] device wlan0-1 entered promiscuous mode
Nov 22 00:05:57 turris kernel: [  319.286530] IPv6: ADDRCONF(NETDEV_UP): wlan0-1: link is not ready
Nov 22 00:05:57 turris kernel: [  319.292878] br-lan: port 3(wlan0-1) entered blocking state
Nov 22 00:05:57 turris kernel: [  319.298340] br-lan: port 3(wlan0-1) entered forwarding state
Nov 21 23:05:57 turris hostapd: Using interface wlan0-1 with hwaddr d2:c5:d3:33:dd:f1 and ssid "<SSID2>"
Nov 22 00:05:57 turris kernel: [  319.381764] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0-1: link becomes ready
Nov 22 00:05:57 turris kernel: [  319.408178] br-lan: port 4(wlan0-2) entered blocking state
Nov 22 00:05:57 turris kernel: [  319.414885] br-lan: port 4(wlan0-2) entered disabled state
Nov 22 00:05:57 turris kernel: [  319.420737] device wlan0-2 entered promiscuous mode
Nov 22 00:05:57 turris kernel: [  319.442373] IPv6: ADDRCONF(NETDEV_UP): wlan0-2: link is not ready
Nov 22 00:05:57 turris kernel: [  319.450026] br-lan: port 4(wlan0-2) entered blocking state
Nov 22 00:05:57 turris kernel: [  319.455727] br-lan: port 4(wlan0-2) entered forwarding state
Nov 21 23:05:57 turris hostapd: Using interface wlan0-2 with hwaddr d6:c5:d3:33:dd:f1 and ssid "<SSID3>"
Nov 22 00:05:57 turris kernel: [  319.565954] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0-2: link becomes ready
Nov 22 00:05:57 turris kernel: [  319.574600] mwifiex_sdio mmc0:0001:1: cannot create multiple AP ifaces
Nov 21 23:05:57 turris hostapd: Failed to create interface wlan0-3: -22 (Invalid argument)
Nov 21 23:05:57 turris hostapd: Failed to add BSS (BSSID=da:c5:d3:33:dd:f1)
Nov 22 00:05:58 turris kernel: [  320.349140] mwifiex_sdio mmc0:0001:1: EVENT: BT coex wlan param update
Nov 22 00:05:58 turris kernel: [  320.366696] br-lan: port 4(wlan0-2) entered disabled state
Nov 22 00:05:58 turris kernel: [  320.377110] device wlan0-2 left promiscuous mode
Nov 22 00:05:58 turris kernel: [  320.382287] br-lan: port 4(wlan0-2) entered disabled state
Nov 21 23:05:58 turris hostapd: nl80211: Failed to remove interface wlan0-2 from bridge br-lan: No such device
Nov 22 00:05:58 turris kernel: [  320.575533] br-lan: port 3(wlan0-1) entered disabled state
Nov 22 00:05:58 turris kernel: [  320.585380] device wlan0-1 left promiscuous mode
Nov 22 00:05:58 turris kernel: [  320.590088] br-lan: port 3(wlan0-1) entered disabled state
Nov 21 23:05:58 turris hostapd: nl80211: Failed to remove interface wlan0-1 from bridge br-lan: No such device
Nov 21 23:05:58 turris hostapd: Interface initialization failed
Nov 21 23:05:58 turris hostapd: wlan0: interface state HT_SCAN->DISABLED
Nov 21 23:05:58 turris hostapd: wlan0: AP-DISABLED 
Nov 21 23:05:58 turris hostapd: wlan0: interface state DISABLED->DISABLED
Nov 21 23:05:58 turris hostapd: wlan0-3: AP-DISABLED 
Nov 21 23:05:58 turris hostapd: wlan0-3: CTRL-EVENT-TERMINATING 
Nov 21 23:05:58 turris hostapd: hostapd_free_hapd_data: Interface wlan0-3 wasn't started
Nov 21 23:05:58 turris hostapd: wlan0-2: AP-DISABLED 
Nov 21 23:05:58 turris hostapd: wlan0-2: CTRL-EVENT-TERMINATING 
Nov 21 23:05:58 turris hostapd: hostapd_free_hapd_data: Interface wlan0-2 wasn't started
Nov 21 23:05:58 turris hostapd: wlan0-1: AP-DISABLED 
Nov 21 23:05:58 turris hostapd: wlan0-1: CTRL-EVENT-TERMINATING 
Nov 21 23:05:58 turris hostapd: hostapd_free_hapd_data: Interface wlan0-1 wasn't started
Nov 21 23:05:58 turris hostapd: wlan0: AP-DISABLED 
Nov 21 23:05:58 turris hostapd: wlan0: CTRL-EVENT-TERMINATING 
Nov 21 23:05:58 turris hostapd: hostapd_free_hapd_data: Interface wlan0 wasn't started
Nov 21 23:05:58 turris hostapd: nl80211: deinit ifname=wlan0 disabled_11b_rates=0
Nov 22 00:05:58 turris kernel: [  320.779599] device wlan0 left promiscuous mode
Nov 22 00:05:58 turris kernel: [  320.784899] br-lan: port 2(wlan0) entered disabled state
Nov 21 23:05:58 turris hostapd: ELOOP: remaining socket: sock=28 eloop_data=0x55990cc6e0 user_data=0x7fb15b2cc0 handler=0x55917f2598
Nov 21 23:05:58 turris hostapd: ELOOP: remaining socket: sock=31 eloop_data=0x55990cc8a0 user_data=0x55990cd300 handler=0x55917f2598
Nov 21 23:05:58 turris netifd: radio0 (7045): WARNING (wireless_add_process): executable path /usr/sbin/wpad does not match process 3386 path ()
Nov 22 00:05:58 turris kernel: [  320.945842] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
Nov 21 23:05:58 turris netifd: radio0 (7045): Cannot find device "wlan0-1"
Nov 21 23:05:58 turris netifd: radio0 (7045): Interface 1 setup failed: IFUP_ERROR
Nov 21 23:05:58 turris netifd: radio0 (7045): Cannot find device "wlan0-2"
Nov 21 23:05:58 turris netifd: radio0 (7045): Interface 2 setup failed: IFUP_ERROR
Nov 21 23:05:58 turris netifd: radio0 (7045): Cannot find device "wlan0-3"
Nov 21 23:05:58 turris netifd: radio0 (7045): Interface 3 setup failed: IFUP_ERROR

I didn’t add wifi-config because it doesn’t make any difference what options you use - if there are more than 3 SSIDs in total, it will fail.
@Pepe Could you please confirm that the SDIO-firmware doesn’t allow for more than 3 SSIDs? If yes I do not have any usecase for the SDIO-module anymore… :frowning:

What also doesn’t work for me (smartphone XZ2c lineageOS 17.1; laptop Win10x64 21H1 with Intel Wi-Fi 6E AX211) is roaming - when activating the option 802.11r via LuCI the WI-FI will come up but my devices will fail to connect:

Nov 22 00:19:12 turris hostapd: wlan0: STA <MAC> IEEE 802.11: disassociated
Nov 22 00:19:26 turris hostapd: wlan0: STA <MAC> IEEE 802.11: disassociated
Nov 22 00:19:36 turris hostapd: wlan0: STA <MAC> IEEE 802.11: disassociated
Nov 22 00:19:47 turris hostapd: wlan0: STA <MAC> IEEE 802.11: disassociated
Nov 22 00:19:54 turris hostapd: wlan0: STA <MAC> IEEE 802.11: disassociated

Uhh, this one is complicated. I spoke with one of our kernel gurus. Unfortunately, Marvell SDIO FW allows up to 4 SSID, but the driver (mwifiex) has a hardcoded limit for SSID for 3. It is the same even in mainline kernel. But, I also have good news about what we can do, and it was tested for this card. We will increase the limit globally from 3 to 4 in one of the upcoming updates by creating a patch that will not be in upstreamed shape. Moving the global limit into the card-specific structure needs to be done, and it will take time.

2 Likes

I assume that the 4 SSIDs-limit coming from firmware is a hard fact that will not be changed, right? But thanks for your efforts!

What about the other functionality like 802.11r - can you reproduce that it is not working for you as well on SDIO-SSIDs (conducting to such an SSID is not possible for me). Can this be activated via driver as well?

Edit: I think I accepted this ridiculous fact too fast - why would one restrict allowed number of SSIDs in general and to such a small number in detail?! (sorry, but that’s what it is :expressionless: - again, no blame on Turris team, you had to learn this the hard way just like us). The mwifiex-card inside the Linksys WRT3200/32x was causing the OpenWrt-developers also only problems for several versions (17, 18 and 19 - it is only fixed for 21 afaik, but that one is in total unstable for me yet that is a totally different story) btw…

1 Like