Lỗi WiFi wpa_supplicant


14

Tôi có một vấn đề với wpa_supplicantchương trình.

Vấn đề của tôi là về việc sử dụng wpa_clinhu cầu nào wpa_supplicant. Lỗi khi tôi thực thi sudo wpa_cli:

Could not connect to wpa_supplicant

Hướng dẫn bắt đầu wpa_supplicantcho tôi một số lỗi:

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!!!

Cấu hình 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;
}

Cấu hình 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"
# }

Cấu hình máy chủ lưu trữ

## /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

Kết quả của 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

Làm thế nào tôi có thể bắt đầu wpa_supplicantmà không có lỗi và có wpa_clikết nối?

Câu trả lời:


8

Các lỗi wpa_supplicanttạo ra không nhất thiết liên quan đến wpa_clivấn đề kết nối của bạn . Vấn đề ở đây là wpa_clikhông thể thiết lập kết nối với wpa_supplicant- không thể mở ổ cắm điều khiển. Điều này có thể có một số nguyên nhân:

  1. người dùng đang chạy wpa_clikhông thể truy cập vào ổ cắm được cung cấp, ví dụ wpa_supplicant.conf:

    ctrl_interface=DIR=/var/run/wpa_supplicant
    

    Bạn cần kiểm tra xem các tập tin trong thư mục đó có thể truy cập được đối với người dùng đang wpa_clichạy. Điều đó có nghĩa là không chỉ các socket đang tồn tại rw- tất cả các thư mục trên phải có ít nhất x, thư mục cuối cùng có lẽ cũng rđể wpa_cliecó thể liệt kê tất cả các socket có sẵn.

  2. Không giống như wpa_supplicant, wpa_cliDBus không có khả năng. Hãy chắc chắn rằng wpa_supplicantkhông chỉ nghe qua DBus. Đánh giá bởi các tập tin cấu hình của bạn đây có lẽ không phải là trường hợp của bạn.

  3. wpa_supplicantkhông chạy (theo ý kiến ​​dưới đây). Điều này sẽ chỉ ra rằng, thực sự có thể có một kết nối giữa các thông báo lỗi được phát ra wpa_supplicantvà không thể kết nối với nó. Để đảm bảo chạy nó trong chế độ dài dòng ( -dhoặc thậm chí -dd) và không daemonizing (đó là mặc định - chỉ cần đảm bảo rằng bạn không sử dụng -Btùy chọn). Bạn cũng có thể coi chừng ổ cắm điều khiển, vd:

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

    Hãy nhớ rằng hầu hết các lệnh này cần được chạy với quyền root, vì vậy để gỡ lỗi có thể dễ dàng hơn chỉ là su - rootvĩnh viễn thay vì tiền tố mỗi lệnh với sudo.


Cảm ơn câu trả lời của bạn. Về điểm đầu tiên của bạn, tôi phải nói với bạn rằng tập tin /var/run/wpa_supplicantkhông tồn tại .. Bạn có nghĩ đây là vấn đề không?
Val

1
Nó được tạo ra wpa_supplicantkhi cần thiết. Nếu nó không tồn tại trong khi nó đang chạy, thì tùy chọn 2 đột nhiên trở nên có khả năng hơn. :)
peterph

Được rồi, nhưng tôi thực sự không biết cách áp dụng tùy chọn 2 của bạn .. Bạn đang nói về một "ứng dụng chính", nhưng tôi chỉ sử dụng các lệnh tôi đã nói wpa_cliwpa_supplicant, và tôi không biết cách tránh chỉ dbus .. Tôi đã phải nói với bạn rằng nó rfkill listcũng gây ra lỗi cho tôi (nếu có liên quan) "Không thể mở thiết bị RFKILL: Không có tệp hoặc thư mục như vậy" .. Tôi thực sự bị mất
Val

1
ứng dụng chính = wpa_supplicant- Tôi đã sửa nó, nó thực sự là một chút sai lệch. Ổ cắm: kiểm tra lsof | grep wpa_supplicant(khi bạn chạy nó) - nó sẽ hiển thị cho bạn ổ cắm đang mở. Đối với rfkill- có /dev/rfkillthể truy cập cho người dùng đang chạy rfkill?
peterph

Tôi đã thử lsof | grep wpa_supplicantlệnh, nhưng nó không trả về kết quả. Btw, tôi nghĩ vấn đề của tôi wpa_supplicantlà không bắt đầu .. Tôi đã thử ps -e | grep wpavà nó cũng trống rỗng. Giới thiệu rfkill, /dev/rfkillkhông tồn tại đối với tôi ..
Val

5

Cuối cùng, các lỗi bằng văn bản đã không ảnh hưởng đến hệ thống.

/etc/network/interfacesTập tin của tôi trông giống như (chỉ một phần wlan):

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

Với cấu hình này, tôi có thể sử dụng sudo wpa_clilệnh mà không gặp lỗi! Dù sao cũng
cảm ơn peterph :)!


Tôi đã tìm kiếm điều này trong nhiều giờ. Dòng cuối cùng đã khắc phục vấn đề của tôi. Cảm ơn.
mehrmoudi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.