How to set wifi driver settings to prefer 5 GHz channel above 2.4 GHz

204,272

Solution 1

Change that "Ad-hoc" option to something else, like "Infrastructure" (or a similar menu option). Infrastructure wireless is your typical "lots of devices connecting to a single router" approach, while ad-hoc wireless is intended for a "mesh" of wireless devices with no centralized router.

Being in ad-hoc mode is likely what's causing your problem (and this is further evidenced by the error message you provided).

Solution 2

Run:

$ iwlist wlan0 scanning | grep -C3 <name of your network>

You should find 2 entries for the network, for example:

Cell XX - Address: 11:11:11:11:11:11 // This will be different in your machine
ESSID: "name of your network" // This will be different on your machine
Protocol: IEEE 802.11bgn
Mode: Master
Frequency: 2.437 Ghz

--

Cell XX - Address: 22:22:22:22:22:22 // This will be different on your machine
ESSID: "name of your network // This will be different on your machine
Protocol: IEEE 802.11AC
Mode: Master
Frequency: 5.18 Ghz
  • BSSID for the 5Ghz Network, in this example: 22:22:22:22:22:22
  • BSSID for the 2.4 Ghz Network, in this example: 11:11:11:11:11:11

Now what you do is:

  1. click on 'Network Connections'
  2. 'Edit Connections...'
  3. [Select your network connection] (there could be 2 entries, any will do)
  4. Click Edit
  5. Go to 'Wi-Fi' or 'Wireless' Tab
  6. Click the BSSID Dropdown
  7. Select the BSSID Matching the 5 Ghz Network (22:22:22:22:22:22 in this example)
  8. Switch to the 'General Tab'
  9. Make sure to check the checkbox that is labeled: 'Automatically connect to this network when it is available'
  10. Rename the Connection Name (not the SSID) to 'your network name'_AC
  11. Click Save
  12. If there were 2 entries for 'your network name' in your Network Connections list, proceed with next step, otherwise go to the last step.
  13. Click on the other 'your network name' entry
  14. Click Edit
  15. Go to 'Wi-Fi' or 'Wireless' Tab
  16. Click the BSSID Dropdown
  17. Select the BSSID Matching the 2.4 Ghz Network (11:11:11:11:11:11 in this example) OR leave the BSSID empty if there are multiple other secondary access points
  18. Switch to the 'General' Tab
  19. Uncheck the checkbox that is labeled: 'Automatically connect to this network when it is available'
  20. Set the 'Connection name' to [your network name]_N
  21. Click Save...
  22. Disconnect from your network and re-connect

You should now be connected to the 5Ghz network, and you would have to explicitly do the opposite process in order to connect to the 2.4 Ghz Network.

Solution 3

Method 1 — for use at home with a single wireless router

First, connect to your basic wifi network under "Infrastructure". Next, click on BSSID. The BSSID you are connected to at that time should appear when you click on that arrow. This feature prevents your computer from switching networks. 2.4 Ghz and 5 Ghz.


Method 2 — roaming on a network with multiple access points like a college campus or public wifi

NOTE: If you used the method above, you will need to do the opposite before you begin. Make sure the BSSID is not set to anything (is blank) so that you can use multiple access-points and roam across the network.

First, you will need to edit the system-connections file that corresponds to your network. For this example, I will use a network named "coffee-shop".

sudo nano /etc/NetworkManager/system-connections/coffee-shop

Now, under the [wifi] section, edit the band field to the following (if band= is not listed, you can insert it on the line below [wifi]):

band=a

This will set the network to use 5 GHz only. If you want to use 2.4 GHz, use band=bg instead.

When you are done editing, press CTRL+o and then press ENTER to save the file and then press CTRL+x to exit nano.

Finally, restart network-manager to apply the changes:

sudo systemctl restart network-manager

Click here for more information.

NOTE: this setting does not exclude you from using wireless n or wireless c (so don't worry), this feature is only used to select 2.4 or 5 GHz

Solution 4

This may work or may not work. Based on my experience, it is inconsistent. On the network manager settings, you can manually enter the BSSID of the AP. You can found out the BSSID using an android application called 'WIFI analyzer'. You can also use other linux based wifi monitoring tools like Kismet, but the easiest way that I found out is using the android application. If you don't know, 5Ghz AP have higher channel number (more than 13). Now, the inconsistency, depending on distro, the BSSID select box may be populated, or you have to input it manually. Either way, enter the BSSID that you wish to connect, and set the name of the network to something you can remember, like "U-WIFI-5Ghz". Now unfortunately, sometimes the network will appear (and you can connect to that specific AP) and sometimes it do not even if you know the AP is close by.

Share:
204,272

Related videos on Youtube

anonygrits
Author by

anonygrits

Updated on September 18, 2022

Comments

  • anonygrits
    anonygrits over 1 year

    Currently I'm in a new building of my university. In this building my wifi often breaks down and then restores connection again. This is really irritating since it happens a lot.

    Now as a coincidence there were some tech guys running around here and where asking everyone if the wifi was doing fine. I told them that my wifi tears down all the time and then reconnects. They figured out that my wifi is switching all the time between the 2.4 GHz channel and 5 GHz channel. They asked me if I could acces the driver settings of my wireless card. Unfortunately I don't know how to do this is in either Linux or Windows. And unfortunately again they only knew the windows solution xD.

    So I hope somebody can tell me how I tell my wifi that it should stay on the 5 GHz network and not disconnect and switch to the 2.4 GHz channel?

    -edit-

    @arhimed, firstly thank you for your help.

    I just tried what you said. It is some what different for me. I can't seem to save the settings when I change the setting and choose to use only the 5 GHz band.

    "Network connections"->"Select the appropriate wireless network and click edit"->"In the wireless tab"->"Change the mode from infrastructure to ad-hoc"->"Choose 5 GHz band"

    Wireless connection settings panel

    However when I want to change the mode from infrastructure to ad-hoc the "save" button tells me that I have to authenticate myself. However I get no pop-up asking me for a password. Using sudo gnome-control-center didn't help either. I could still not save it. Also a error occured then in the terminal:

    ** (nm-connection-editor:5577): WARNING **: Invalid setting Wireless Security: Security not compatible with Ad-Hoc mode

    Hopefully this is some useful info for you to help me further.

    • Viktor K
      Viktor K over 11 years
      I haven't tried but I hope that will help you. So, go to network-manager-> edit connections, wireless connections->select you network->Change... Set 'Mode' to 'Special' and frequency to 5GHz.
    • anonygrits
      anonygrits over 11 years
      @arhimed I replied to you in my main post. Hopefully you can help me further with this new info.
    • anonygrits
      anonygrits over 11 years
      No because I don't know how to do that. All the info I find about it I find hard to understand.
    • Alvar
      Alvar over 11 years
      there may be some information here! portforward.com
    • anonygrits
      anonygrits over 11 years
      That is a website about how to forward a port on different types of routers for games and such, and basic wifi setup. Not something that could help me with fixing my wifi connection, i.e. changing the setting to prefer 5 GHz to 2.4 GHz.
    • Plumpie
      Plumpie almost 4 years
      The answers here are a bit outdated, in Ubuntu 20 it's simple: run nm-connection-editor, click your wifi, and in 'mode' choose 2.4Ghz.
    • Gabriel Staples
      Gabriel Staples over 3 years
    • Gabriel Staples
      Gabriel Staples over 3 years
      Also related: bbs.archlinux.org/viewtopic.php?id=250872. Contains the seemingly-useful command nm-connection-editor to open up a GUI configuration tool (that appears to be NOT the default on Ubuntu 20.04).
  • anonygrits
    anonygrits over 11 years
    Thank you for your reply. Further I am not in Ad-hoc. The option stands on Infrastructure. In infrastructure mode the wifi changes from band all the time, 2.4 GHz <-> 5 GHz. I want to try to put my settings in Ad-hoc because in that mode I can select which band I want to use. I can't select a band when in Infrastructure mode.
  • YellowApple
    YellowApple over 11 years
    Alrighty then... The problem with ad-hoc mode is that it's not compatible with WPA and WPA2 security protocols (hence the error you got). Normally, the channel/frequency is set by the router. You can use iwconfig to set the channel manually. In a terminal, try the following: iwconfig eth0 freq 5G
  • anonygrits
    anonygrits over 11 years
    Thank you very much. I will try this monday when I'm on the university. It is indeed possible on the router, but this problem occurs only on the routers when I'm in a certain building at my university. And the IT guys there are not going to configure all the routers just for me ;)
  • anonygrits
    anonygrits over 11 years
    Hmmm wel I still get disconnected sometimes but I have the feeling that it is a lot less then it used to be.
  • YellowApple
    YellowApple over 11 years
    I should probably correct my own comment... eth0 normally points to your wired internet connection, so try iwconfig wlan0 freq 5G instead. Sorry about that.
  • anonygrits
    anonygrits over 11 years
    Yes you are totally correct. I should also have mentioned that I indeed already changed it to the correct name ;-).
  • Marcel Valdez Orozco
    Marcel Valdez Orozco almost 9 years
    This won't work if both the 2.4 Ghz and 5 Ghz network connections have the 'Connect automatically when this network is available' checkbox ticked, which is the crux of the problem.
  • mchid
    mchid almost 9 years
    @MarcelValdezOrozco I believe the solution to that problem would be to untic the box of the 2.4 network.
  • Marcel Valdez Orozco
    Marcel Valdez Orozco almost 9 years
    Yes, it would be.
  • Nathan J.B.
    Nathan J.B. over 8 years
    This doesn't really work when your company/school has 100+ access points across multiple buildings and floors...
  • Nathan J.B.
    Nathan J.B. over 8 years
    @mchid, not sure where you got that idea. If I limit my wireless connection to ONE mac address, when I go to a different building or different floor (where that ONE mac address isn't available), I won't be able to connect until I update my network settings to accept a different mac address (which I will have to update again when I go back to my desk). And I haven't even mentioned how to find which mac IDs are 5ghz vs 2.4ghz (that dropdown lists 100s of mac IDs, not just the two you mention).
  • mchid
    mchid over 8 years
    you can also find out by simply using one of the following commands: nm-tool or iwlist scan | grep -B 4 "Frequency:5" | grep "Address:" you could also use iwlist scan | grep -B 4 "Frequency:5" you could narrow the results of the first one: nm-tool | egrep 'Freq 5.......' you can even set up an alias for any one of these in your bashrc file to call on any one of these using a single command.
  • mchid
    mchid over 8 years
    @NathanJ.Brauer it depends on which version of network-manager you are using. On 14.04, you can easily use the nm-tool command to list the local BSSIDs, their strength and their frequency. Based upon the strength, it's quite easy to see which one you should choose. Use grep to narrow the output to only relevant results like: nm-tool | egrep 'Freq 5.......' If you are using 15.04 you can download the old network manager from here: security.ubuntu.com/ubuntu/pool/main/n/network-manager/… extract the deb and nm-tool is under usr/bin/nm-tool
  • mchid
    mchid over 8 years
    @NathanJ.Brauer just to be clear, do not install the old version of network-manager just download it, extract nm-tool from it, and discard the rest.
  • mchid
    mchid over 8 years
    @NathanJ.Brauer also, just to be clear, set a new separate profile for each ap that you use instead of constantly updating the existing one and make sure to use the "automatically connect to this network" option. This way, you can roam more freely. And it should go without saying that you need to delete any an all existing 2.4Ghz profiles.
  • Nathan J.B.
    Nathan J.B. over 8 years
    Yikes. Seems it would be easier if we could just disable 2.4GHz globally.
  • mchid
    mchid over 8 years
    @NathanJ.Brauer Android is the only OS that I heard of that has this capability out the box it's seems it's a source of frustration for even the other mainstream operating systems as well: superuser.com/questions/362366/… and it seems the solution for windows is pretty much the same as described here delete any existing profile for all 2.4Ghz networks and set the 5Ghz networks to automatically connect: tomshardware.com/answers/id-2156077/…
  • kchoi
    kchoi about 8 years
    Worked for me (as in force it to use 5ghz via BSSID method). I thought Linux wifi driver would have transparent support for using dual band concurrently, but I guess not.
  • Jesse Glick
    Jesse Glick almost 8 years
    Also works to force 2.4Ghz, which gave me dramatically better range.
  • mchid
    mchid almost 7 years
    F@JesseGlick Yes, lower frequencies travel through solid objects more easily so range is much better on 2.4, however, nearly every radio interference that exists is somewhere near the 2.4 frequency so 5Ghz has the advantage of a less crowded and much less noisy airspace or whatever that is :)
  • Ufos
    Ufos about 5 years
    2019 called: iwconfig wlan0 freq 5
  • jason m
    jason m about 4 years
    iwlist scan | grep -B 4 "Frequency:5" then finding my BSSID in wifi->my connection-> edit->identity->BSSID worked.
  • Mike Chelen
    Mike Chelen almost 4 years
    ty this was super helpful! works on ubuntu 20.04 as well
  • Mike Chelen
    Mike Chelen almost 4 years
    thanks this worked for me on ubuntu 20.04 as well!
  • Gabriel Staples
    Gabriel Staples over 3 years
    -C3 wasn't enough context lines. I had to do -C5 or higher to obtain the line containing the Cell xx line with the BSSID in it. Ex: iwlist wlan0 scanning | grep -C5 my_network_name.
  • mchid
    mchid over 3 years
    @NathanJ.B. I finally found a way to do that. See the appended instructions above.
  • faiwer
    faiwer about 3 years
    Thx for so detailed answer. Just wanted to note that your network interface may be named differently. In my case it is not wlan0, but wlx0013eff40041. To get the real name you can use iwconfig
  • tparker
    tparker about 2 years
    Where is "Network Connections"?