2

My router (Google WiFi) have 2 access points with the same ssid: a 2.4GHz and a 5GHz. It seems that multicasting between these networks is unstable, so I want my raspberry (buster) to force a connection to the 2.4GHz network.

I've tried to add bssid and bssid_blacklist to the config, but it did not work. After a while, the connection changes to 5GHz

# /etc/wpa_supplicant/wpa_supplicant.conf
network={
        ssid="name"
        psk="*****"
        bssid=70:3A:CB:84:01:B4
        bssid_blacklist=70:3A:CB:84:01:B0
}

Is there a way to achieve this?

Update: None of the options seem to work. Here is a discussion on the official forum

Update 2: freq_list seems to solve the problem, although many on the internet say it won't work. Here is my new config:

network={
        bssid=70:3A:CB:84:01:B4
        freq_list=2412 2417 2422 2427 2432 2437 2442 2447 2452 2457 2462
        ssid="..."
        psk="*****"
        bssid_blacklist=70:3A:CB:84:01:B0
}

My raspberry has been running on Buster Raspbian at 2.4GHz for a week now

1

Making that choice on the Raspberry Pi seems to be a problem. I would have thought that bssid or bssid_blacklist would have worked for you, at least. Being able to choose which access point to connect to based on BSSID is rather important...

I've tried to limit a Pi 3B+ to 2.4 GHz frequencies using the freq_list parameter in wpa_supplicant.conf, but with no success. This seems to be a common problem. Something seems to be broken in the Raspberry Pi's wpa_supplicant.

An ugly work-around would be to choose a restrictive Wi-Fi country code that does not allow the 5 GHz frequency your router is using. Mainland China or Israel seem like good choices. By setting my Pi 3B+ to "Israel", which does not allow the 5 GHz frequency used by my router, it then connected using 2.4 GHz.

You COULD look at rebuilding the Central Regulatory Domain Agent (I think this is where the country Wi-Fi frequencies live, but I do not know for sure) to create your own custom "country" that only allows 2.4 GHz. Hopefully this work-around is good enough, though. :-)

EDIT: The link to the Raspberry Pi forum discussion of this problem was incorrect.

| improve this answer | |
0

Change the APs SSID on the 2,4GHz and 5GHz so they do have separate names.

The other solution is to specify the parameter freq_list in the file /etc/wpa_supplicant/wpa_supplicant.conf:

ctrl_interface=/var/run/wpa_supplicant

network={
    ssid="Your_AP"
    psk="Your_Passphrase"
    freq_list=2412 2437 2462
}

Ref.: https://askubuntu.com/questions/1058622/how-to-force-to-linux-to-connect-only-5ghz-channel

| improve this answer | |
  • Unfortunately, freq_list is currently broken in the Raspberry Pi OS. – Chris Aug 30 at 16:53
  • Do you have a ref. to that? – Mats Karlsson Aug 30 at 17:32
  • 1
    This link is the discussion of the issue. I tested it myself and found the same issue. If I set the Wi-Fi county code to Israel, which is very restrictive for 5 GHz frequencies, my Pi would not connect to the router. (The router frequency was, obviously, one of those prohibited in Israel.) However, freq_list changes to wpa_supplicant.conf gave no results. raspberrypi.org/forums/viewtopic.php?t=261222 – Chris Aug 31 at 13:58
  • Now Im curious, are you trying to use a channel that is prohibited by the country setting? – Mats Karlsson Sep 1 at 3:34
  • 1
    The opposite, actually: as a test, I tried to take advantage of a prohibited channel to force the Pi to use 2.4 GHz when the AP was using the same SSID for both 2.4 GHz and 5GHz. Limiting the frequencies the Pi would use through wpa_supplicant.conf was not working, and I was curious if the Pi would respect the CRDA regulatory list. It did. 🙂 It's an ugly work-around to the problem. – Chris Sep 1 at 13:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.