wpa_supplicant 噩梦

wpa_supplicant 噩梦

我已经摆弄 WPA 请求者好几天了,我终于到了在谷歌上找不到任何新线索的地步。所以问题是:我刚刚在运行 debian wheezy 的台式电脑上安装了新的 tp-link tl-wn881nd pci-e wifi 卡。wlan0声称已连接(是吗?见下文)到接入点,ifconfig报告我分配给它的正确静态 IP 地址,但是我无法 ping 接入点并syslog表示握手有错误。

首先,我读过network-manager可能会弄乱事情的内容。我相当确定这对我来说不是问题:

$ which NetworkManager
##### blank #####
$ dpkg -l | grep -i network-manager
rc network-manager           0.9.4.0-10    amd-64    network management framework (daemon and userspace tools)
ii network-manager-openvpn   0.9.4.0-1     amd-64    network management framework (OpenVPN plugin core)

我的电脑规格是:

$ uname -a
Linux mypc 3.2.0-4-amd64 #1 SMP Debian 3.2.60-1+deb7u3 x86_64 GNU/Linux
$ sudo dmidecode | grep -iA3 '^system information'
System Information
    Manufacturer: Dell Inc.                
    Product Name: OptiPlex 745                 
    Version: Not Specified

无线网卡规格为:

$ lspci | grep -i wireless
02:00.0 Network controller: Atheros Communications Inc. AR9287 Wireless Network Adapter (PCI-Express) (rev 01)

我已确保 wifi 卡处于活动状态:

$ sudo ip link set wlan0 up
$ sudo ip link show wlan0
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisk mq state DORMANT mode DORMANT qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff

并且该卡能够找到我的 ssid:

$ sudo iw wlan0 scan
BSS xx:xx:xx:xx:xx:xx (on wlan0) -- associated
    TSF: 2639667559 ysec (0d, 00:43:59)
    freq:2412
    beacon interval: 100
    capability: ESS Privacy ShortSlotTime (0x0411)
    signal: -56.00 dBm
    last seen: 692 ms ago
    Information elements from Probe Response frame:
    SSID: aphanumeric_with_underscores
    Supported rates: 1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0
    DS Parameter set: channel 1
    ERP: Use_Protection Barker_Preamble_Mode
    Extended supported rates: 6.0 12.0 24.0 48.0
    HT capabilities:
        Capabilities: 0x106e
            HT20/HT40
            SM Power Save disabled
            RX HT20 SGI
            RX HT40 SGI
            No RX STBC
            Max AMSDU length: 3839 bytes
            DSSS/CCK HT40
        Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
        Minimum RX AMPDU time spacing: 4 usec (0x05)
        HT RX MCS rate indexes supported: 0-7, 32
        HT TX MCS rate indexes are undefined
    HT operation:
        * primary channel: 1
        * secondary channel offset: no secondary
        * STA channel width 20MHz
        * RIFS: 0
        * HT protection: non-HT mixed
        * non-GF present: 1
        * OBSS non-GF present: 0
        * dual beacon: 0
        * dual CTS protection: 0
        * STBC beacon: 0
        * L-SIG TXOP Prot: 0
        * PCO active: 0
        * PCO phase: 0
    RSN:* Version: 1
        * Group cipher: CCMP
        * Pairwise ciphers: CCMP
        * Authentication suites: PSK
        * Capabilities: (0x0000)
    WMM:* Parameter version 1
        * BE: CW 15-1023, AIFSN 3
        * BK: CW 15-1023, AIFSN 7
        * VI: CW 7-15, AIFSN 2, TXOP 3008 usec
        * VO: CW 3-7, AIFSN 2, TXOP 1504 usec
    Extended capabilities: HT Information Exchange Supported
    Country: AL Environment: Indoor/Outdoor
        Channels [1 - 13] @ 15 dBm

在某处读您可以直接将 wpa_supplicant 选项放入 中/etc/network/interfaces,所以这是我的:

$ cat /etc/network/interfaces
auto lo
iface lo inet loopback

# don't use `auto wlan0` since this will infinitely try to connect at
# boot time, and i will have to remove the hard drive, mount it on
# another pc and remove `auto wlan0` from this file just to get a
# command prompt again!
iface wlan0 inet static
    wpa-ssid "aphanumeric_with_underscores"
    wpa-psk "my wpa2 password"
    wpa-ap-scan 1
    wpa-proto WPA2
    wpa-pairwise CCMP
    wpa-group CCMP
    wpa-key-mgmt WPA-PSK
    address 192.168.1.50
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8 8.8.4.4

并注意当前没有wpa_supplicant.conf文件:

$ ls /etc/wpa_supplicant.conf
ls: cannot access /etc/wpa_supplicant.conf: No such file or directory
$ ls /etc/wpa_supplicant/*
action_wpa.sh  functions.sh  ifupdown.sh    

现在如果重新启动wlan0界面:

$ sudo ifdown wlan0
$ sudo ifup wlan0

IP地址已被正确分配:

$ ifconfig
lo       ...

wlan0    Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
         inet addr 192.168.1.50  Bcast:192.168.1.255  Mask:255.255.255.0
         inet6 addr: fe80::16cc:20ff:feea:4578/64 Scope:Link
         UP BROADCAST MULTICAST  NTU:1500  Metric:1
         RX packets:3075 errors:0 dropped:0 overruns:0 frame:0
         TX packets:4028 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:347475 (339.3KiB)  TX bytes:586219 (572.4KiB)

但问题是:wlan0接口似乎已启动,但我无法访问互联网,甚至无法 ping 通接入点:

$ ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
From 192.168.1.50 icmp_seq=2 Destination Host Unreachable
From 192.168.1.50 icmp_seq=3 Destination Host Unreachable
^C
--- 192.168.1.1 ping statistics ---
3 packets transmitted, 0 received, +2 errors, 100% packet loss, time 2015ms

当我查看时,/var/log/syslog我看到一些令人讨厌的错误:

Mar 18 01:23:11 mypc kernel: [  148.242137] wlan0: authenticate with xx.xx.xx.xx.xx.xx (try 1)
Mar 18 01:23:11 mypc kernel: [  148.244009] wlan0: authenticated
Mar 18 01:23:11 mypc kernel: [  148.265967] wlan0: associate with xx.xx.xx.xx.xx.xx (try 1)
Mar 18 01:23:11 mypc kernel: [  148.287770] wlan0: RX AssocResp from xx.xx.xx.xx.xx.xx (capab=0x411 status=0 aid=1)
Mar 18 01:23:11 mypc kernel: [  148.287774] wlan0: associated
Mar 18 01:23:11 mypc kernel: [  148.287774] wlan0: associated
Mar 18 01:23:11 mypc wpa_supplicant[4473]: wlan0: Associated with xx.xx.xx.xx.xx.xx
Mar 18 01:23:11 mypc kernel: [  148.297421] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
Mar 18 01:23:11 mypc kernel: [  148.297651] cfg80211: Calling CRDA for country AL
Mar 18 01:23:11 mypc kernel: [  148.303008] cfg80211: Regulatory domain changed to country: AL
Mar 18 01:23:11 mypc kernel: [  148.303013] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
Mar 18 01:23:11 mypc kernel: [  148.303018] cfg80211: (2402000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm)
Mar 18 01:23:11 mypc kernel: [  148.303022] cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz), (N/A, 2000 mBm)
Mar 18 01:23:11 mypc kernel: [  148.303026] cfg80211: (5250000 KHz - 5330000 KHz @ 80000 KHz), (N/A, 2000 mBm)
Mar 18 01:23:11 mypc kernel: [  148.303029] cfg80211: (5490000 KHz - 5710000 KHz @ 80000 KHz), (N/A, 2700 mBm)
Mar 18 01:23:19 mypc kernel: [  155.819739] wlan0: deauthenticated from xx:xx:xx:xx:xx:xx (Reason: 15)
Mar 18 01:23:19 mypc wpa_supplicant[4473]: wlan0: WPA: 4-Way Handshake failed - pre-shared key may be incorrect
Mar 18 01:23:19 mypc wpa_supplicant[4473]: wlan0: CTRL-EVENT-DISCONNECTED bssid=xx:xx:xx:xx:xx:xx reason=15

有人知道我如何解决这个问题并通过 ping 我的接入点wlan0吗?


修改1:尝试使用dhcp代替静态ip

/etc/network/interfaces像这样改变:

$ cat /etc/network/interfaces
auto lo
iface lo inet loopback

# don't use `auto wlan0` since this will infinitely try to connect at
# boot time, and i will have to remove the hard drive, mount it on
# another pc and remove `auto wlan0` from this file just to get a
# command prompt again!
iface wlan0 inet dhcp
    wpa-ssid "aphanumeric_with_underscores"
    wpa-psk "my wpa2 password"
    wpa-ap-scan 1
    wpa-proto WPA2
    wpa-pairwise CCMP
    wpa-group CCMP
    wpa-key-mgmt WPA-PSK

(请注意,wpa_supplicant.conf修改 1 中仍然不存在),现在当我启动界面时,我在命令行上收到一些新错误:

$ sudo ifup wlan0
Operation failed.
Failed to bring up wlan0

系统日志和以前一样一遍又一遍地显示相同的失败消息:

Mar 18 08:59:01 mypc kernel: [ 2493.163777] ADDRCONF(NETDEV_UP): wlan0: link is not ready
Mar 18 08:59:02 mypc wpa_supplicant[6151]: wlan0: SME: Trying to authenticate with xx:xx:xx:xx:xx:xx (SSID='alphanumeric_with_underscores' freq=2412 MHz)
Mar 18 08:59:02 mypc kernel: [ 2493.974111] wlan0: authenticate with xx:xx:xx:xx:xx:xx (try 1)
Mar 18 08:59:02 mypc kernel: [ 2493.976083] wlan0: authenticated         
Mar 18 08:59:02 mypc wpa_supplicant[6151]: wlan0: Trying to associate with xx:xx:xx:xx:xx:xx (SSID='aphanumeric_with_underscores' freq=2412 MHz)
Mar 18 08:59:02 mypc kernel: [ 2493.998016] wlan0: associate with xx:xx:xx:xx:xx:xx (try 1)
Mar 18 08:59:02 mypc kernel: [ 2494.019518] wlan0: RX ReassocResp from xx:xx:xx:xx:xx:xx (capab=0x411 status=0 aid=2)
Mar 18 08:59:02 mypc kernel: [ 2494.019523] wlan0: associated            
Mar 18 08:59:02 mypc wpa_supplicant[6151]: wlan0: Associated with xx:xx:xx:xx:xx:xx
Mar 18 08:59:02 mypc kernel: [ 2494.028721] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
Mar 18 08:59:02 mypc kernel: [ 2494.028873] cfg80211: Calling CRDA for country: AL
Mar 18 08:59:02 mypc kernel: [ 2494.033830] cfg80211: Regulatory domain changed to country: AL
Mar 18 08:59:02 mypc kernel: [ 2494.033835] cfg80211:     (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
Mar 18 08:59:02 mypc kernel: [ 2494.033839] cfg80211:     (2402000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm)
Mar 18 08:59:02 mypc kernel: [ 2494.033843] cfg80211:     (5170000 KHz - 5250000 KHz @ 80000 KHz), (N/A, 2000 mBm)
Mar 18 08:59:02 mypc kernel: [ 2494.033846] cfg80211:     (5250000 KHz - 5330000 KHz @ 80000 KHz), (N/A, 2000 mBm)
Mar 18 08:59:02 mypc kernel: [ 2494.033849] cfg80211:     (5490000 KHz - 5710000 KHz @ 80000 KHz), (N/A, 2700 mBm)
Mar 18 08:59:09 mypc kernel: [ 2501.499716] wlan0: deauthenticated from xx:xx:xx:xx:xx:xx (Reason: 15)
Mar 18 08:59:09 mypc wpa_supplicant[6151]: wlan0: WPA: 4-Way Handshake failed - pre-shared key may be incorrect
Mar 18 08:59:09 mypc wpa_supplicant[6151]: wlan0: CTRL-EVENT-DISCONNECTED bssid=xx:xx:xx:xx:xx:xx reason=15
Mar 18 08:59:09 mypc kernel: [ 2501.536289] cfg80211: Calling CRDA to update world regulatory domain
Mar 18 08:59:09 mypc kernel: [ 2501.541764] cfg80211: World regulatory domain updated:
Mar 18 08:59:09 mypc kernel: [ 2501.541770] cfg80211:     (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
Mar 18 08:59:09 mypc kernel: [ 2501.541775] cfg80211:     (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm)
Mar 18 08:59:09 mypc kernel: [ 2501.541779] cfg80211:     (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm)
Mar 18 08:59:09 mypc kernel: [ 2501.541782] cfg80211:     (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm)
Mar 18 08:59:09 mypc kernel: [ 2501.541786] cfg80211:     (5170000 KHz - 5250000 KHz @ 80000 KHz), (N/A, 2000 mBm)
Mar 18 08:59:09 mypc kernel: [ 2501.541790] cfg80211:     (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm)
Mar 18 08:59:09 mypc kernel: [ 2501.541794] cfg80211:     (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm)
Mar 18 08:59:10 mypc wpa_supplicant[6151]: wlan0: SME: Trying to authenticate with xx:xx:xx:xx:xx:xx (SSID='aphanumeric_with_underscores' freq=2412 MHz)
Mar 18 08:59:10 mypc kernel: [ 2502.434112] wlan0: authenticate with xx:xx:xx:xx:xx:xx (try 1)
Mar 18 08:59:10 mypc kernel: [ 2502.436071] wlan0: authenticated
etc

请注意,eth0 与 dhcp 配合良好,因此 dhcp 本身没有问题。


修改 2:尝试使用 wpa_passphrase 中的 psk 哈希

$ wpa_passphrase myssid mypassword
network={
    ssid="myssid"
    #psk="mypassword"
    psk=xxxxxxxxxxxx...
}

在以下位置使用这个新的 psk /etc/network/interfaces

$ cat /etc/network/interfaces
auto lo
iface lo inet loopback

# don't use `auto wlan0` since this will infinitely try to connect at
# boot time, and i will have to remove the hard drive, mount it on
# another pc and remove `auto wlan0` from this file just to get a
# command prompt again!
iface wlan0 inet dhcp
    wpa-ssid "aphanumeric_with_underscores"
    wpa-psk xxxxxxxxxxxxxxxx
    wpa-ap-scan 1
    wpa-proto WPA2
    wpa-pairwise CCMP
    wpa-group CCMP
    wpa-key-mgmt WPA-PSK

再试一次:

$ sudo iplink set wlan0 down
$ sudo iplink set wlan0 up
$ sudo ifup wlan0
cat: /var/run/wpa_supplicant.wlan0.pid: No such file or directory
Operation failed.
Failed to bring up wlan0.

嗯,那次有趣的错误。调查:

$ sudo su
# cd /var/run/wpa_supplicant/
# ls -l
total 0
srwxrwx--- 1 root root 0 Mar 18 09:26 wlan0
# cat wlan0 
cat: wlan0: No such device or address

/var/log/syslog但仍然显示相同的错误。


修改3:设置一个非常基本的ssid和密码

我将 ssid 设置为abc并将密码设置为abcdefgh

$ wpa_passphrase abc abcdefgh
network={
    ssid="abc"
    #psk="abcdefgh"
    psk=ba89407e92b8efec11c227e3cce9f25c8dcc4b3651fe2be02d91d9ebda96e913
}

但无论我输入哪一个预共享密钥,结果都与修改 1 和修改 2 相同/etc/network/interfaces

$ sudo ip link set wlan0 down                                                   
$ sudo ip link set wlan0 up                                                     
$ sudo ip link show wlan0                                                       
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DORMANT mode DEFAULT qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff                          
$ sudo ifdown wlan0                                                             
ifdown: interface wlan0 not configured                                          
$ sudo rm /var/run/wpa_supplicant/wlan0                                         
$ sudo ifup wlan0                                                               
wpa_supplicant: ctrl_interface socket not found at /var/run/wpa_supplicant/wlan0
run-parts: /etc/network/if-pre-up.d/wpasupplicant exited with return code 1     
Operation failed.                                                               
Failed to bring up wlan0.

修改4:在命令行调试模式下使用wpa_supplicant

从以下位置删除所有 wpa 设置/etc/network/interfaces

$ cat /etc/network/interfaces
auto lo
iface lo inet loopback
iface wlan0 inet dhcp

现在创建wpa_supplicant.conf文件:

$ sudo sh -c 'wpa_passphrase abc abcdefgh > /etc/wpa_supplicant/wpa_supplicant.conf'

编辑该文件以包含以下信息:

ap_scan=1
ctrl_interface=DIR=/var/run/wpa_supplicant
ctrl_interface_group=0
network={
    proto=WPA2
    pairwise=CCMP
    group=CCMP
    key_mgmt=WPA-PSK
    ssid="abc"
    #psk="abcdefgh"
    psk=ba89407e92b8efec11c227e3cce9f25c8dcc4b3651fe2be02d91d9ebda96e913
}

直接运行wpa_supplicant

$ sudo ip link show wlan0
3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN mode DEFAULT qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
$ sudo ip link set wlan0 up
$ sudo wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
wlan0: Trying to associate with xx:xx:xx:xx:xx:xx (SSID='abc' freq=2412 MHz)
wlan0: Associated with 00:00:00:00:00:00
wlan0: CTRL-EVENT-DISCONNECTED bssid=xx:xx:xx:xx:xx:xx reason=0
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
wlan0: Trying to associate with xx:xx:xx:xx:xx:xx (SSID='abc' freq=2412 MHz)
wlan0: Associated with 00:00:00:00:00:00
wlan0: CTRL-EVENT-DISCONNECTED bssid=xx:xx:xx:xx:xx:xx reason=0
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWSCAN]: Device or resource busy
wlan0: Failed to initiate AP scan
wlan0: Trying to associate with xx:xx:xx:xx:xx:xx (SSID='abc' freq=2412 MHz)
wlan0: Associated with 00:00:00:00:00:00
wlan0: CTRL-EVENT-DISCONNECTED bssid=xx:xx:xx:xx:xx:xx reason=0
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
^Cwlan0: CTRL-EVENT-TERMINATING - signal 2 received

再次,详细一点调试:

$ sudo wpa_supplicant -d -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -f /tmp/wpa_supplicant.tl-wn881nd.errors

查看输出这里

看来ioctl[SIOCSIWENCODEEXT]: Invalid argumentwifi卡和内核之间可能不兼容?如果是这样,我该如何诊断和解决这个问题?

答案1

该死的 wifi 卡没有正确插入 pci-express 插槽!我把它拿出来,吹掉插槽上的灰尘,然后这次用力把它推了进去。现在一切正常:

# the wifi led is not lit up on the outside of the pc case

$ sudo ip link show wlan0
3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
$ sudo ip link set wlan0 up

# now the wifi led is lit up on the outside of the pc case

$ sudo ip link show wlan0
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
$ sudo wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
wlan0: Trying to associate with 00:60:64:4c:37:fc (SSID='abc' freq=2412 MHz)
wlan0: Associated with 00:60:64:4c:37:fc
wlan0: WPA: Key negotiation completed with 00:60:64:4c:37:fc [PTK=CCMP GTK=CCMP]
wlan0: CTRL-EVENT-CONNECTED - Connection to 00:60:64:4c:37:fc completed (auth) [id=0 id_str=]
wlan0: CTRL-EVENT-DISCONNECTED bssid=00:60:64:4c:37:fc reason=0
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
wlan0: Trying to associate with 00:60:64:4c:37:fc (SSID='abc' freq=2412 MHz)
wlan0: Associated with 00:60:64:4c:37:fc
wlan0: WPA: Key negotiation completed with 00:60:64:4c:37:fc [PTK=CCMP GTK=CCMP]
wlan0: CTRL-EVENT-CONNECTED - Connection to 00:60:64:4c:37:fc completed (reauth) [id=0 id_str=]
$ ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_req=1 ttl=254 time=0.510 ms
64 bytes from 192.168.1.1: icmp_req=2 ttl=254 time=0.578 ms
^C
--- 192.168.1.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.510/0.544/0.578/0.034 ms

正确的/var/log/syslog看起来像这样:

Mar 18 13:38:19 mypc kernel: [  542.538613] wlan0: authenticate with 00:60:64:4c:37:fc (try 1)
Mar 18 13:38:19 mypc kernel: [  542.540517] wlan0: authenticated         
Mar 18 13:38:19 mypc kernel: [  542.540553] wlan0: associate with 00:60:64:4c:37:fc (try 1)
Mar 18 13:38:19 mypc kernel: [  542.563331] wlan0: RX AssocResp from 00:60:64:4c:37:fc (capab=0x411 status=0 aid=3)
Mar 18 13:38:19 mypc kernel: [  542.563336] wlan0: associated            
Mar 18 13:38:19 mypc kernel: [  542.573034] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
Mar 18 13:38:19 mypc kernel: [  542.573220] cfg80211: Calling CRDA for country: AL
Mar 18 13:38:19 mypc kernel: [  542.578955] cfg80211: Regulatory domain changed to country: AL
Mar 18 13:38:19 mypc kernel: [  542.578960] cfg80211:     (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
Mar 18 13:38:19 mypc kernel: [  542.578965] cfg80211:     (2402000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm)
Mar 18 13:38:19 mypc kernel: [  542.578969] cfg80211:     (5170000 KHz - 5250000 KHz @ 80000 KHz), (N/A, 2000 mBm)
Mar 18 13:38:19 mypc kernel: [  542.578972] cfg80211:     (5250000 KHz - 5330000 KHz @ 80000 KHz), (N/A, 2000 mBm)
Mar 18 13:38:19 mypc kernel: [  542.578976] cfg80211:     (5490000 KHz - 5710000 KHz @ 80000 KHz), (N/A, 2700 mBm)

这些行只出现一次 - 它们不再一遍又一遍地重复syslog

:)

wpa_supplicant.conf请注意,如果我删除文件并将所有内容放入其中,它现在也可以正常工作/etc/network/interfaces

$ cat /etc/network/interfaces
auto lo
iface lo inet loopback

# don't use `auto wlan0` since this will infinitely try to connect at
# boot time, and i will have to remove the hard drive, mount it on
# another pc and remove `auto wlan0` from this file just to get a
# command prompt again!
iface wlan0 inet static
    wpa-ssid "aphanumeric_with_underscores"

    # both the plaintext password and the ascii-hex hash from
    # wpa_passphrase work fine for me here:
    wpa-psk "my wpa2 password"

    wpa-ap-scan 1
    wpa-proto WPA2
    wpa-pairwise CCMP
    wpa-group CCMP
    wpa-key-mgmt WPA-PSK
    address 192.168.1.50
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8 8.8.4.4
and note that there is currently no wpa_supplicant.conf file:

$ ls /etc/wpa_supplicant.conf
ls: cannot access /etc/wpa_supplicant.conf: No such file or directory
$ ls /etc/wpa_supplicant/*
action_wpa.sh  functions.sh  ifupdown.sh  

答案2

我会尝试根据以下内容使用 wpa_supplicantUbuntu 用户维基。 这意味着:将所有 wpa 内容放入/etc/wpa_supplicant/wpa_supplicant.conf并修改/etc/network/interfaces为仅包含

...
auto wlan0
iface wlan0 inet dhcp
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
...

进一步手动启动wpa_supplicant ( wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -d)。如果 wpa_supplicant 有问题,应该会显示出来。


编辑:我进一步同意@casey的观点,密钥中可能存在一些错误

相关内容