web-dev-qa-db-ja.com

nmcliなしでWEP / WPAに接続しますか?

nmcliがカスタムロックチップコントローラーで動作しなくなるという問題に直面しています。

nmcli dev wifiを実行すると結果が得られないため、iwlist scanの使用を開始する必要がありました。 nmcli d wifi connectに似たものはありますか?

nmcliNo network with SSID '2KLIC Guests' foundを取り戻し続けます。

これは私が置き換えたいスクリプトです:

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

Network-managerを使用しているため、killall wpa_supplicantが追加され、wpa_supplicantインスタンスが作成されます。

また、WEPキーを使用してwpa_supplicantを介して接続することもできます。

wpa_supplicant.confを手動で作成します(wpa_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コマンドラインツール( @ dirkt で推奨)もnmcliの代わりになり、wpa_cliと入力するか、直接入力してインタラクティブモードを使用できます。 :

wpa_cli -p/var/run/wpa_supplicant OPTION

OPTIONは次のようになります:scan; scan_resultsadd_network 0 .....詳細については、man wpa_cliおよびwpa_cli --helpを参照してください。

3
GAD3R

スクリプトをこれに置き換えることになりました。私のシステムで動作しているようで、元の構造を維持しています。

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
1

Wicd を使用できます。これには、wifiネットワークを管理するためのコマンドラインとGUIインターフェイスがあります。 NMの軽量な代替品として、しばらく使用しています。 wpa_supplicantを手動で処理する手間が省けます。

0
Rolf