nmcli con up ifname ap 看起来不错,但不幸的是它不起作用。它只会重新连接到原始网络。
$ nmcli -f in-use,ssid,bssid,signal,bars dev wifi
* SSID BSSID SIGNAL BARS
* Apollo III (TWC) XX:XX:XX:XX:XX:XX 98 ▂▄▆█
Chromecast8481 XX:XX:XX:XX:XX:XX 97 ▂▄▆█
-- XX:XX:XX:XX:XX:XX 94 ▂▄▆█
Apollo III (1) XX:XX:XX:XX:XX:XX 87 ▂▄▆█
TWCWiFi XX:XX:XX:XX:XX:XX 80 ▂▄▆_
CableWiFi XX:XX:XX:XX:XX:XX 80 ▂▄▆_
TWCWiFi-Passpoint XX:XX:XX:XX:XX:XX 80 ▂▄▆_
Apollo III (1) XX:XX:XX:XX:XX:XX 70 ▂▄▆_
BSSID
的CLI为:$ nmcli d wifi connect XX:XX:XX:XX:XX:XX
$ nmcli d wifi connect XX:XX:XX:XX:XX:XX password "mypassword"
希望这能帮到你。You can do it by connecting to the AP manually.
First, it is easiest to turn off network manager, if you are running one:
sudo service network-manager stop
Then you need to identify the BSSID of the AP you wish to join: the command
sudo iw dev wlan0 scan
(if you are using wlan0 as your wireless interface) will produce a lot of output, among which you will find something like:
BSS f8:1a:67:aa:7f:b9 (on wlan0) -- associated TSF: 629432841083 usec (7d, 06:50:32) freq: 2417 beacon interval: 100 capability: ESS Privacy ShortPreamble SpectrumMgmt ShortSlotTime (0x0531) signal: -70.00 dBm last seen: 0 ms ago Information elements from Probe Response frame: SSID: MySSID_NAME
(the output is longer than this). The relevant part is of course BSS f8:1a:67:aa:7f:b9.
Next, you will have to free your interface of any previous IP addresses, just in case:
sudo ip link set wlan0 down sudo ip addr flush dev wlan0 sudo ip link set wlan0 up
Now you specify you want to connect to the specific AP:
sudo iwconfig wlan0 essid MySSID_NAME ap f8:1a:67:aa:7f:b9
where of course ap precedes the BSSID you just identified. Now you need to start wpa_supplicant,
sudo wpa_supplicant -Dnl80211 -i wlan0 -B -c FILE_with_WPA_Secrets
(if you do not know how to set up the file with your WPA credentials, you may look it up here for instance; just be careful, where it says network= {, it should be network={ without a space). Lastly,
sudo dhclient -v wlan0
(the -v flag does not work on all Linux distros, I like it because I can monitor what is happening).
EDIT
The instructions above work for a network with WPA security. Fore WEP security, replace the wpa_supplicant command with:
sudo iwconfig wlan0 key s:Your_WEP_password
Remember that the two characters s: before your password are necessary. After this, once again
sudo dhclient -v wlan0
iw wlan0 link
将wlan0断开连接:
sudo ip link set wlan0 down
清除WNIC上任何先前的IP地址:
sudo ip addr flush dev wlan0
删除旧的DHCP租约:
sudo dhclient -r wlan0
将WNIC重新启动:
sudo ip link set wlan0 up
扫描,记录频率:
sudo iw dev wlan0 scan
使用iw(而不是iwconfig)指定ESSID和频率与特定的接入点进行关联:nmcli设备wifi列表
nmcli连接编辑连接名称
设置802-11-wireless.bssid 12:34:56:AB:CD:EF
保存
退出
或者:
nmcli连接修改连接名称 802-11-wireless.bssid 12:34:56:AB:CD:EF
其中连接名称
通常与ESSID相同(如果是自动创建的,可以使用nmcli连接
列出所有存储的连接名称),
将12:34:56:AB:CD:EF
替换为连接ID。nmcli连接启动连接名称
手动恢复更改。
做同样的事情,但在第2步中需要执行以下操作:
nmcli connection edit ConnectionName
remove 802-11-wireless.bssid
save
quit
或者
nmcli connection modify ConnectionName 802-11-wireless.bssid ''
创建一个新的连接,克隆现有的连接。
nmcli connection delete ConnectionName-cloned # 删除所有名为“ConnectionName-cloned”的现有连接
nmcli connection clone ConnectionName ConnectionName-cloned # 创建一个名为“ConnectionName-cloned”的新连接,从名为“ConnectionName”的连接复制。请注意,如果已存在一个连接,它将创建一个同名的新连接
nmcli connection modify ConnectionName-cloned 802-11-wireless.bssid 12:34:56:AB:CD:EF # 如上所述
nmcli connection up ConnectionName-cloned # 如上所述
nmcli
只显示2.4Ghz的连接?我来到这个页面的原因就是想强制我的电脑连接到5Ghz的mesh网络! - Gabriel Staples