nmcli 없이 WEP/WPA에 연결하시겠습니까?

nmcli 없이 WEP/WPA에 연결하시겠습니까?

nmcli맞춤형 Rockchip 마이크로컨트롤러에서 작동이 중단되는 문제에 직면했습니다 .

을 실행했는데 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이는 wpa_supplicant 인스턴스를 생성하는 network-manager를 사용하고 있기 때문에 추가되었습니다 .

wpa_supplicantWEP 키를 사용하여 연결할 수도 있습니다 .

수동으로 생성합니다 wpa_supplicant.conf( wpa_passphraseconf 파일을 생성할 수 없음). 예:

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줄 도구(제공:@decter) 또한 대안으로, 다음을 입력하거나 직접 통해 nmcli대화형 모드를 사용할 수 있습니다.wpa_cli

wpa_cli -p/var/run/wpa_supplicant OPTION

다음이 가능 OPTION합니다: scan; scan_results, add_network 0..... 자세한 내용을 확인 man wpa_cli하고 wpa_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

당신은 그것을 사용할 수 있습니다베이더, Wi-Fi 네트워크를 관리하기 위한 명령줄과 GUI 인터페이스가 있습니다. 나는 NM의 가벼운 대안으로 한동안 그것을 사용해 왔습니다. 이렇게 하면 수동으로 처리할 필요가 없어집니다 wpa_supplicant.

관련 정보