Channel 13 blocked on SparkLAN module?

Hello all, I received my new SparkLAN wifi card and it’s not able to connect to my home WiFi. It just doesn’t appear in the list of visible networks. After investigating I noticed my home WiFi is on channel 13 (I’m in Switzerland).

Looking around I saw suggestions to set the ieee_80211_regdom=CH parameter (CH is the Swiss country code) by creating a file /etc/modprobe.d/cfg80211.conf with contents options cfg80211 ieee_80211_regdom=CH. (I did so, doesn’t help).

When I run iw reg get it says a bunch of things starting like this:

global
country 00: DFS-UNSET
(snipped: lines with numbers and keywords I don't understand)

phy#0
country 99: DFS-UNSET
(snipped a few lines)

so I guess it didn’t work. I tried sudo iw reg set CH but it has no effect. But when I do iw list it does seem to know about channel 13:

Wiphy phy0
    (snipped many lines)
    Band 1:
        (snipped many lines)
        Frequencies:
        * 2412 MHz [1] (20.0 dBm)
        [...]
        * 2472 MHz [13] (20.0 dBm)
        * 2484 MHz [14] (20.0 dBm)
    Band 2:
[...]

which is NOT like what people saw when the regulatory domain was wrong. They would see (disabled) instead of (20.0 dBm).

It’s a bit of a pain to get data out of the phone to post full command outputs but if needed I can manage. Question: did anyone not in US face this issue? What else can I try?

I should say that the wi-fi works fine on all the computers in the house, it was working on the Librem5 until the old wi-fi card died, and I can see other wi-fi networks (on other channels like 6 and 11) from the Librem5.

EDIT: when I saw it works fine on other computers (including many Linux computers of different brands), I mean I never had to do any gymnastics related to regulatory domain or stuff like that. I would just select the network on the list, type the password and connect. I didn’t have to configure anything related to that on the old wi-fi module on the Librem5 either.

I don’t have a SparkLAN module but

To be clear … you used sudo iw in front of that?

Maybe it does have an effect but just doesn’t solve the problem?

Maybe you need to do something else after changing the regulatory domain in order to get the change recognised.

Yes, sorry. I updated the post. I did sudo iw reg set CH and just got the prompt back. Maybe it did something somewhere but I don’t see it :slight_smile: I don’t see any change in the output of iw reg get, I don’t see any in iw list, I don’t see any when I scan for networks.

Fair enough. On a completely different computer with a completely different distro with a completely different WiFi card …

Prompted by your topic I noticed that my WiFi was (incorrectly) set to regulatory domain “US” which means that channel 13 was disabled. I corrected the regulatory domain (using the command that you specified) and then magically the output from iw list did change and change in the expected way. Unfortunately my APs are not using channel 13 (don’t know whether they don’t want to, don’t need to, or can’t) so I can’t actually test whether channel 13 is now working.

One thing I do note is that with iw reg get it seems that only the global setting has changed. The setting for “phy#0” is still saying “US”. Might look at that tomorrow.

Until the driver gets improved, you can workaround it by editing ccode=0 line in /lib/firmware/brcm/brcmfmac43752-sdio.txt file to set your country code (for example, ccode=PL).

1 Like

Wow, thank you @dos, that worked!

For the record, looks like this is non-persistent anyway. After a reboot, I am back to the “US”. So I suppose that I have to track down what config file or whatever will do the trick in my situation (which in this topic is nothing to do with the Librem 5).