无需 nmcli 连接到 WEP/WPA?

无需 nmcli 连接到 WEP/WPA?

我面临一个问题,nmcli停止在自定义瑞芯微控制器上工作。

运行时nmcli dev wifi,我没有得到任何结果,所以我不得不开始使用iwlist scan。有类似的东西吗nmcli d wifi connect

我不断地No network with SSID '2KLIC Guests' found回来nmcli

这是我要替换的脚本:

if [ -n "$2" ];then
  nmcli d wifi connect "$1" password "$2"
else
  nmcli d wifi connect "$1"
fi

或者也许有一个命令我可以运行来修复nmcli(它确实在某一时刻返回结果,似乎在使用 AP 模式时更改了配置)。


结果iwconfig wlan3

wlan3     unassociated  Nickname:"<WIFI@REALTEK>"
          Mode:Auto  Frequency=2.412 GHz  Access Point: Not-Associated   
          Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=0/100  Signal level=0 dBm  Noise level=0 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

答案1

您可以通过wpa_supplicant命令连接,wpa_supplicant.conf通过wpa_passphrase命令创建文件然后连接:

touch /etc/wpa_supplicant/wpa_supplicant.conf
echo ctrl_interface=/run/wpa_supplicant > /etc/wpa_supplicant/wpa_supplicant.conf
echo update_config=1 >> /etc/wpa_supplicant/wpa_supplicant.conf
wpa_passphrase "Your_SSID" Your_PASSWORD >> /etc/wpa_supplicant/wpa_supplicant.conf
i=$(iw dev | grep Interface | awk '{ print $2}')
killall wpa_supplicant
wpa_supplicant -i $i -c/etc/wpa_supplicant/wpa_supplicant.conf -B
dhclient $i

示例脚本可能包含以下行:

i=$(iw dev | grep Interface | awk '{ print $2}')
killall wpa_supplicant
wpa_supplicant -i $i -c/etc/wpa_supplicant/wpa_supplicant.conf -B
dhclient $i

添加它killall wpa_supplicant是因为您正在使用 network-manager ,它将创建一个 wpa_supplicant 实例。

您也可以wpa_supplicant使用 WEP 密钥进行连接。

手动创建wpa_supplicant.confwpa_passphrase无法生成conf文件),例如:

ctrl_interface=/run/wpa_supplicant
update_config=1

network={
    ssid="YOUR-SSID"
    key_mgmt=NONE
    wep_key0="12345"
    wep_tx_keyidx=0
}

或者您可以通过以下方式连接:

iwconfig <interface> essid "Your_SSID" key WEP_KEY

或者:

iw dev <interface> connect "Your_SSID" key 0:WEP_KEY

命令wpa_cli行工具(由@德克特) 也是 的替代方法,您可以通过键入或直接通过以下方式nmcli使用交互模式:wpa_cli

wpa_cli -p/var/run/wpa_supplicant OPTION

可以OPTION是:scanscan_results, add_network 0..... 请参阅man wpa_cliwpa_cli --help了解更多详细信息。

答案2

我最终用这个替换了我的脚本。似乎适用于我的系统并保持原始结构。

wifi=$(cat /proc/net/wireless | perl -ne '/(\w+):/ && print $1')

if [ -n "$2" ];then
  iwconfig $wifi essid "$1" key "s:$2"
else
  iwconfig $wifi essid "$1" key
fi

dhclient $wifi

答案3

您可以使用维德,它有一个命令行和 GUI 界面来管理您的 wifi 网络。我已经使用它一段时间了,作为 NM 的轻量级替代品。这将使您不必手动处理wpa_supplicant

相关内容