WiFi 오류 wpa_supplicant


14

wpa_supplicant프로그램에 문제가 있습니다.

내 문제는 용도에 wpa_cli관한 것 wpa_supplicant입니다. 내가 실행할 때 오류가 발생했습니다 sudo wpa_cli:

Could not connect to wpa_supplicant

수동 시작시 wpa_supplicant오류가 발생합니다.

sudo wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf

rfkill: Cannot open RFKILL control device
ioctl[SIOCSIWAP]: Operation not permitted
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
wlan0: CTRL-EVENT-DISCONNECTED bssid=00:00:00:00:00:00 reason=0   ### NEW!!!

구성 DHCP

## /etc/dhcp/dhcpd.conf
subnet 192.168.2.0 netmask 255.255.255.0 {
   range 192.168.2.2 192.168.2.9;
   option domain-name-servers 192.168.1.1;
   option domain-name "home";
   option routers 192.168.2.1;
}

구성 wpa_supplicant

## /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
# network={
#   ssid="__SSID__"
#   key_mgmt=WPA-PSK
#   psk="__PASS__"
#   id_str="home"
# }

hostapd 구성

## /etc/hostapd/hostapd.conf
interface=wlan0
driver=rtl871xdrv
ieee80211n=1
ssid=__SSID__
hw_mode=g
channel=1
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=__PASS__
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

# EDIT
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0

ifconfig/의 결과iwconfig

wlan0   Link encap:Ethernet  HWaddr c0:4a:00:17:40:fd
          inet adr:192.168.2.1  Bcast:192.168.2.255  Masque:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:14 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan0     IEEE 802.11bgn  ESSID:"__SSID__"  Nickname:"<WIFI@REALTEK>"
          Mode:Master  Frequency:2.412 GHz  Access Point: C0:4A:00:17:40:FD
          Sensitivity:0/0
          Retry:off   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=100/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

wpa_supplicant오류없이 시작 하고 wpa_cli연결하려면 어떻게 해야 합니까?

답변:


8

발생 wpa_supplicant하는 오류 가 반드시wpa_cli 연결 문제 와 관련 이있는 것은 아닙니다 . 여기서 문제 는 제어 소켓을 열 수없는 wpa_cli연결을 설정할 wpa_supplicant수 없다는 것입니다. 몇 가지 원인이있을 수 있습니다.

  1. 실행중인 사용자 wpa_cli는 다음과 wpa_supplicant.conf같이 주어진 소켓에 액세스 할 수 없습니다 :

    ctrl_interface=DIR=/var/run/wpa_supplicant
    

    해당 디렉토리의 파일이 wpa_cli실행 되는 사용자가 액세스 할 수 있는지 확인해야합니다 . 즉, 소켓 일뿐 아니라 rw위의 모든 디렉토리는 최소한 x마지막 디렉토리 여야 r하므로 wpa_clie사용 가능한 모든 소켓을 나열 할 수 있습니다.

  2. 달리 wpa_supplicant, wpa_cli할 수없는 DBUS입니다. wpa_supplicantDBus를 통해서만 듣고 있지 않은지 확인하십시오 . 구성 파일로 판단하면 아마도 귀하의 경우 가 아닙니다 .

  3. wpa_supplicant실행되지 않습니다 (아래 의견에 따라). 이는 실제로 생성 된 오류 메시지 wpa_supplicant와 오류 메시지간에 연결이있을 수 있음을 나타냅니다 . 디버깅 하지 않고 자세한 모드 ( -d또는 심지어 -dd)로 실행하려면 ( 기본값)- 옵션을 사용하고 있지 않은지 확인하십시오 . 제어 소켓을 감시 할 수도 있습니다. 예 :-B

    watch -n 0.1 "ls -al /var/run/wpa_supplicant"
    

    이러한 명령의 대부분은 루트 권한으로 실행해야하므로 디버깅을 위해 su - root각 명령 앞에 접두사를 붙이는 것보다 영구적으로 쉽게 수행 할 수 있습니다 sudo.


답변 주셔서 감사합니다. 첫 번째 요점에 대해서는 파일 /var/run/wpa_supplicant이 존재하지 않는다고 말해야 합니다. 이것이 문제라고 생각하십니까?
Val

1
wpa_supplicant필요할 때 작성됩니다 . 실행 중에 존재하지 않으면 옵션 2가 갑자기 가능성이 높아집니다. :)
peterph

좋아,하지만 난 정말 당신의 옵션 2 .. 당신은 "기본 응용 프로그램"에 대한 sepaking하고 있지만 난 그냥 대해 말한 명령을 사용하고 적용하는 방법을 모르는 wpa_cli등을 wpa_supplicant방지하는 방법, 그리고 나도 몰라 DBUS은 ... 나는 당신을 말할했다 rfkill list내가 정말 잃었어요 .. "그런 파일이나 디렉토리를 열고 RFKILL 장치를 할 수 없습니다"(이 관련이있는 경우) 너무 나에게 오류를주고있다

1
주요 응용 프로그램 = wpa_supplicant-수정했습니다. 실제로 약간 오도되었습니다. 소켓 : 확인 lsof | grep wpa_supplicant(실행중인 경우)-열린 소켓이 표시되어야합니다. 에 관해서는 rfkill- /dev/rfkill실행중인 사용자 가 액세스 할 수 rfkill있습니까?
peterph 2019

lsof | grep wpa_supplicant명령을 시도했지만 결과가 반환되지 않습니다. Btw, 내 문제는 wpa_supplicant시작되지 않는다고 생각합니다 . 나는 시도했지만 ps -e | grep wpa비어 있습니다. 에 대해 rfkill, /dev/rfkill나는 존재하지 않습니다 ..
Val

5

마지막으로, 작성된 오류는 시스템에 영향을 미치지 않았습니다.

/etc/network/interfaces파일은 다음과 같습니다.

iface wlan0 inet static
    address 192.168.2.1
    netmask 255.255.255.0
    pre-up wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -B

이 구성을 사용하면 sudo wpa_cli오류없이 명령을 사용할 수 있습니다 ! 어쨌든 peterph
덕분에 :)!


나는 이것을 몇 시간 동안 찾고있었습니다. 마지막 줄은 내 문제를 해결했습니다. 감사.
mehrmoudi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.