Kul*_*lfy 7 wireless networking
在我住的大楼里有一个有两个频道和相同 SSID 的 WiFi。每当我连接到 WiFi 时,它总是连接到 2.4GHz 频段,但我想连接到 5GHz 频段。我已经尝试过这个,但都是徒劳的。另外,我尝试过 linSSID 应用程序,但它甚至没有启动。
我正在使用 Ubuntu 18.04 LTS 和输出lshw -C network:
*-network
description: Wireless interface
product: Wireless 3160
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:01:00.0
logical name: wlp1s0
version: 83
serial: e4:02:9b:d2:65:c7
width: 64 bits
clock: 33MHz
capabilities: bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=iwlwifi driverversion=4.15.0-34-generic firmware=17.948900127.0 ip=172.21.126.136 latency=0 link=yes multicast=yes wireless=IEEE 802.11
resources: irq:128 memory:df100000-df101fff
Run Code Online (Sandbox Code Playgroud)
的输出iwlist chan:
wlp1s0 26 channels in total; available frequencies :
Channel 01 : 2.412 GHz
Channel 02 : 2.417 GHz
Channel 03 : 2.422 GHz
Channel 04 : 2.427 GHz
Channel 05 : 2.432 GHz
Channel 06 : 2.437 GHz
Channel 07 : 2.442 GHz
Channel 08 : 2.447 GHz
Channel 09 : 2.452 GHz
Channel 10 : 2.457 GHz
Channel 11 : 2.462 GHz
Channel 12 : 2.467 GHz
Channel 13 : 2.472 GHz
Channel 36 : 5.18 GHz
Channel 40 : 5.2 GHz
Channel 44 : 5.22 GHz
Channel 48 : 5.24 GHz
Channel 52 : 5.26 GHz
Channel 56 : 5.28 GHz
Channel 60 : 5.3 GHz
Channel 64 : 5.32 GHz
Channel 149 : 5.745 GHz
Channel 153 : 5.765 GHz
Channel 157 : 5.785 GHz
Channel 161 : 5.805 GHz
Channel 165 : 5.825 GHz
Run Code Online (Sandbox Code Playgroud)
要确认您的无线网卡能够连接到 5ghz,请执行iw list并查找如下所示的部分
...
Frequencies:
* 5180 MHz [36] (22.0 dBm) (no IR)
* 5200 MHz [40] (22.0 dBm) (no IR)
* 5220 MHz [44] (22.0 dBm) (no IR)
* 5240 MHz [48] (22.0 dBm) (no IR)
* 5260 MHz [52] (20.0 dBm) (no IR, radar detection)
* 5280 MHz [56] (20.0 dBm) (no IR, radar detection)
* 5300 MHz [60] (20.0 dBm) (no IR, radar detection)
* 5320 MHz [64] (20.0 dBm) (no IR, radar detection)
* 5500 MHz [100] (22.0 dBm) (no IR, radar detection)
* 5520 MHz [104] (22.0 dBm) (no IR, radar detection)
* 5540 MHz [108] (22.0 dBm) (no IR, radar detection)
* 5560 MHz [112] (22.0 dBm) (no IR, radar detection)
* 5580 MHz [116] (22.0 dBm) (no IR, radar detection)
* 5600 MHz [120] (22.0 dBm) (no IR, radar detection)
* 5620 MHz [124] (22.0 dBm) (no IR, radar detection)
* 5640 MHz [128] (22.0 dBm) (no IR, radar detection)
* 5660 MHz [132] (22.0 dBm) (no IR, radar detection)
* 5680 MHz [136] (22.0 dBm) (no IR, radar detection)
* 5700 MHz [140] (22.0 dBm) (no IR, radar detection)
...
Run Code Online (Sandbox Code Playgroud)
为了回答您的问题,我假设网卡能够连接到 5ghz 网络。与使用网络管理器 gui 相比,使用命令行界面更灵活。重要的是获取您要连接的 5GHz 网络的 ssid 和 bssid。
sudo systemctl restart wpa_supplicant
sudo wpa_cli -iwlp2s0 scan_results
Run Code Online (Sandbox Code Playgroud)
这将列出一些值,例如
bssid / frequency / signal level / flags / ssid
54:a2:74:03:c3:a2 2437 -79 [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS] \x00
54:a2:74:03:c3:a0 2437 -79 [WPA2-EAP-CCMP][ESS] SOME WIFI
00:42:68:15:f0:92 2437 -90 [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS] \x00
d8:b1:90:3e:e4:62 2412 -79 [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS] \x00
d8:b1:90:3e:e4:6e 5700 -84 [WPA2-EAP-CCMP][ESS] DESIRED SSID
54:a2:74:03:c6:a1 2462 -90 [WPA2-EAP-CCMP][ESS] eduroam
2a:a3:c4:8d:32:85 2437 -71 [WPA2-PSK-CCMP][WPS][ESS][P2P] Another SSid
54:a2:74:03:c6:ae 5500 -89 [WPA2-EAP-CCMP][ESS] eduroam
54:a2:74:03:c3:a1 2437 -73 [WPA2-EAP-CCMP][ESS] eduroam
00:42:68:15:f0:91 2437 -88 [WPA2-EAP-CCMP][ESS] eduroam
d8:b1:90:3e:e4:61 2412 -74 [WPA2-EAP-CCMP][ESS] eduroam
Run Code Online (Sandbox Code Playgroud)
寻找您想要的 ssid 和相应的频率。现在查找与所需频率和 SSID 匹配的 BSSID。
接下来,杀死 network-manager 和 wpa_supplicant:
sudo service network-manager stop && sudo killall wpa_supplicant
Run Code Online (Sandbox Code Playgroud)
对于大多数人来说,这可能不是可取的,但对于您的问题而言。
创建一个wpa_supplicant.conf:
sudo nano /etc/wpa_supplicant.conf
Run Code Online (Sandbox Code Playgroud)
并粘贴您要连接的网络的网络规格:
ctrl_interface=/var/run/wpa_supplicant
#settings for an AP using preshared keys, PSK
network={
ssid="DESIRED SSID"
scan_ssid=1
key_mgmt=WPA-PSK
psk="PassworD"
bssid=d8:b1:90:3e:e4:6e #the important part
}
#settings for an open AP. if you use this then don't use the above settings
network={
ssid="DESIRED SSID"
key_mgmt=NONE
bssid=d8:b1:90:3e:e4:6e
}
Run Code Online (Sandbox Code Playgroud)
将bssid替换为您要连接的网络之一
现在通过该 conf 文件启动 wpa_supplicant:
sudo wpa_supplicant -iwlp2s0 -c/etc/wpa_supplicant.conf
Run Code Online (Sandbox Code Playgroud)
身份验证后刷新所有持有的 ip 地址:
sudo dhclient -r
Run Code Online (Sandbox Code Playgroud)
请求动态 ip (dhcp):
sudo dhclient wlp2s0
Run Code Online (Sandbox Code Playgroud)
此时您应该已连接到 5GHz 网络。
要检查你是否真的连接到 5ghz 而不是 2ghz 做iw dev,你应该有这样的结果
Interface wlp2s0
ifindex 2
wdev 0x1
addr b4:6d:83:15:9c:5d
ssid DESIRED SSID
type managed
channel 140 (5700 MHz), width: 20 MHz (no HT), center1: 5700 MHz
txpower 22.00 dBm
Run Code Online (Sandbox Code Playgroud)
上面的整个过程运行良好,但可能无法在重新启动后继续存在,如果您想在不同类型的网络之间切换,则没有用。
开始初始化网络管理:
sudo service network-manager restart
Run Code Online (Sandbox Code Playgroud)
然后从网络托盘图标连接到您的 DESIRED SSID。不管是 2.4 还是 5GHz。我们稍后会这样做。
现在做:
sudo wpa_cli -iwlp2s0 scan_results
Run Code Online (Sandbox Code Playgroud)
获取与所需频率和 ssid 匹配的 BSSID
接下来单击网络管理器托盘图标 > 编辑连接 > 双击 DESIRED SSID 进行如下编辑
在 wifi 选项卡上:SSID(所需 SSID)、模式(客户端)、频段(5)、频道(输入您从扫描结果中获得的值)、bssid(输入所需的 bssid)设备(wlp1s0)、克隆的 mac(永久)、 mtu(自动)
然后断开连接并再次连接,它应该可以工作。
| 归档时间: |
|
| 查看次数: |
8763 次 |
| 最近记录: |