wpa_supplicant를 사용하여 무선 인터페이스에서 essid 및 기타 매개변수를 설정할 수 없습니다.
-Dwext를 사용하여 던지기ioctl[SIOCSIWENCODEEXT]
$ sudo wpa_supplicant -B -i wlan0 -Dwext -c universitywpa
Successfully initialized wpa_supplicant
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
또한 ESSID를 설정할 수 없습니다.
$ iwconfig wlan0
wlan0 IEEE 802.11abgn ESSID:off/any
Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
Tx-Power=15 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:off
다음을 사용하면 -Dnl80211
IOCTL 오류가 발생하지 않습니다 .
$ sudo wpa_supplicant -B -i wlan0 -Dnl80211 -c universitywpa
Successfully initialized wpa_supplicant
그러나 ESSID는 여전히 꺼져 있습니다.
$ iwconfig wlan0
wlan0 IEEE 802.11abgn ESSID:off/any
Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
Tx-Power=15 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:off
무슨 일이 일어나고 있는지 확인하기 위해 -d(verbose)와 함께 동일한 명령을 실행했습니다.
$ sudo wpa_supplicant -B -i wlan0 -Dnl80211 -c universitywpa -d
wpa_supplicant v2.3
random: Trying to read entropy from /dev/random
Successfully initialized wpa_supplicant
Initializing interface 'wlan0' conf 'universitywpa' driver 'nl80211' ctrl_interface 'N/A' bridge 'N/A'
Configuration file 'universitywpa' -> '/home/my-user/repos/university_connect/universitywpa'
Reading configuration file '/home/my-user/repos/university_connect/universitywpa'
Priority group 0
id=0 ssid='UNIVERSITY-SECURE'
rfkill: initial event: idx=0 type=2 op=0 soft=0 hard=0
rfkill: initial event: idx=1 type=1 op=0 soft=0 hard=0
rfkill: initial event: idx=43 type=2 op=0 soft=0 hard=0
nl80211: Supported cipher 00-0f-ac:1
nl80211: Supported cipher 00-0f-ac:5
nl80211: Supported cipher 00-0f-ac:2
nl80211: Supported cipher 00-0f-ac:4
nl80211: Using driver-based off-channel TX
nl80211: interface wlan0 in phy phy0
nl80211: Set mode ifindex 3 iftype 2 (STATION)
nl80211: Subscribe to mgmt frames with non-AP handle 0x7ff6aa428fc0
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0x7ff6aa428fc0 match=040a
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame match - hexdump(len=2): 04 0a
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0x7ff6aa428fc0 match=040b
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame match - hexdump(len=2): 04 0b
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0x7ff6aa428fc0 match=040c
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame match - hexdump(len=2): 04 0c
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0x7ff6aa428fc0 match=040d
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame match - hexdump(len=2): 04 0d
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0x7ff6aa428fc0 match=090a
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame match - hexdump(len=2): 09 0a
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0x7ff6aa428fc0 match=090b
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame match - hexdump(len=2): 09 0b
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0x7ff6aa428fc0 match=090c
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame match - hexdump(len=2): 09 0c
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0x7ff6aa428fc0 match=090d
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame match - hexdump(len=2): 09 0d
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0x7ff6aa428fc0 match=0409506f9a09
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame match - hexdump(len=6): 04 09 50 6f 9a 09
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0x7ff6aa428fc0 match=7f506f9a09
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame match - hexdump(len=5): 7f 50 6f 9a 09
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0x7ff6aa428fc0 match=0801
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame match - hexdump(len=2): 08 01
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0x7ff6aa428fc0 match=06
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame match - hexdump(len=1): 06
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0x7ff6aa428fc0 match=0a07
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame match - hexdump(len=2): 0a 07
nl80211: Register frame type=0xd0 (WLAN_FC_STYPE_ACTION) nl_handle=0x7ff6aa428fc0 match=0a11
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame match - hexdump(len=2): 0a 11
nl80211: Failed to register Action frame processing - ignore for now
netlink: Operstate: ifindex=3 linkmode=1 (userspace-control), operstate=5 (IF_OPER_DORMANT)
nl80211: driver param='(null)'
Add interface wlan0 to a new radio phy0
nl80211: Regulatory information - country=00
nl80211: 2402-2472 @ 40 MHz 20 mBm
nl80211: 2457-2482 @ 40 MHz 20 mBm (no IR)
nl80211: 2474-2494 @ 20 MHz 20 mBm (no OFDM) (no IR)
nl80211: 5170-5250 @ 80 MHz 20 mBm (no IR)
nl80211: 5250-5330 @ 80 MHz 20 mBm (DFS) (no IR)
nl80211: 5490-5730 @ 160 MHz 20 mBm (DFS) (no IR)
nl80211: 5735-5835 @ 80 MHz 20 mBm (no IR)
nl80211: 57240-63720 @ 2160 MHz 0 mBm
nl80211: Added 802.11b mode based on 802.11g information
wlan0: Own MAC address: a0:88:b4:98:95:d4
wpa_driver_nl80211_set_key: ifindex=3 (wlan0) alg=0 addr=(nil) key_idx=0 set_tx=0 seq_len=0 key_len=0
wpa_driver_nl80211_set_key: ifindex=3 (wlan0) alg=0 addr=(nil) key_idx=1 set_tx=0 seq_len=0 key_len=0
wpa_driver_nl80211_set_key: ifindex=3 (wlan0) alg=0 addr=(nil) key_idx=2 set_tx=0 seq_len=0 key_len=0
wpa_driver_nl80211_set_key: ifindex=3 (wlan0) alg=0 addr=(nil) key_idx=3 set_tx=0 seq_len=0 key_len=0
wpa_driver_nl80211_set_key: ifindex=3 (wlan0) alg=0 addr=(nil) key_idx=4 set_tx=0 seq_len=0 key_len=0
wpa_driver_nl80211_set_key: ifindex=3 (wlan0) alg=0 addr=(nil) key_idx=5 set_tx=0 seq_len=0 key_len=0
wlan0: RSN: flushing PMKID list in the driver
nl80211: Flush PMKIDs
wlan0: Setting scan request: 0.100000 sec
TDLS: TDLS operation not supported by driver
TDLS: Driver uses internal link setup
wlan0: WPS: UUID based on MAC address: 886beebd-10cf-544f-bba7-5c23f8ceb3b3
EAPOL: SUPP_PAE entering state DISCONNECTED
EAPOL: Supplicant port status: Unauthorized
nl80211: Skip set_supp_port(unauthorized) while not associated
EAPOL: KEY_RX entering state NO_KEY_RECEIVE
EAPOL: SUPP_BE entering state INITIALIZE
EAP: EAP entering state DISABLED
wlan0: Added interface wlan0
wlan0: State: DISCONNECTED -> DISCONNECTED
nl80211: Set wlan0 operstate 0->0 (DORMANT)
netlink: Operstate: ifindex=3 linkmode=-1 (no change), operstate=5 (IF_OPER_DORMANT)
Daemonize..
$
나는 다음을 발견했습니다.
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Register frame command failed (type=208): ret=-114 (Operation already in progress)
nl80211: Failed to register Action frame processing - ignore for now
그러나 이것을 어떻게 해석해야 할지 모르겠습니다.
ESSID가 설정되지 않은 이유는 무엇입니까?
iwconfig를 수동으로 실행하면 ESSID를 설정할 수 있습니다.
sudo iwconfig wlan0 essid UNIVERSITY-SECURE
$ iwconfig wlan0
wlan0 IEEE 802.11abgn ESSID:"UNIVERSITY-SECURE"
Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
Tx-Power=15 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:off
$
그러나 분명히 연결이 작동하려면 ESSID 이상의 것이 필요합니다.
대학 WPA의 내용:
network={
ssid="UNIVERSITY-SECURE"
scan_ssid=1
key_mgmt=WPA-EAP
pairwise=CCMP TKIP
group=CCMP TKIP
eap=PEAP
identity="my-user"
password="mypass"
ca_cert="university_comodo_cert.pem"
phase1="peapver=0"
phase2="MSCHAPV2"
}
저는 이 설정을 사용하여 아무런 문제 없이 다른 컴퓨터에 연결했습니다. 하지만 저는 항상 -Dnl80211을 사용하지 않고 -Dwext를 사용합니다.
lshw 무선 인터페이스:
*-network
description: Wireless interface
product: Centrino Advanced-N 6205 [Taylor Peak]
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:03:00.0
logical name: wlan0
version: 34
serial:
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=iwlwifi driverversion=3.16.0-4-amd64 firmware=18.168.6.1 latency=0 link=no multicast=yes wireless=IEEE 802.11abgn
운전사는 입니다 iwlwifi
.
이것이 iwlwifi와 -Dnl80211 사이의 문제입니까? 이 문제를 추가로 진단하려면 어떻게 해야 합니까?
답변1
결국 -B를 제거했습니다(백그라운드에서 데몬 실행).
sudo wpa_supplicant -i wlan0 -c wpaconfig -D nl80211,wext
내 스크립트가 연결이 완료되기를 기다리고 있지 않다는 것을 깨달았습니다.
wlan0: CTRL-EVENT-CONNECTED - Connection to 00:11:22:33:44:55 completed [id=0 id_str=]
essid가 보이지 않아서 일찍 중단되었습니다. CTRL-EVENT-CONNECTED에서만 프로그래밍 방식으로 데몬을 요구하는 옵션이 없는 것 같으므로 wpa_supplicant
이를 위해 Expect 스크립트를 사용해야 할 수도 있습니다.