Bug in madwifi communication

Jens Stavnstrup js
Wed Feb 23 06:15:29 PST 2005


In the mailing lists there have been an increasing number of statements
regarding a bug in either wpa_supplicant or the madwifi driver.

Originally I had no problems with these two running together back in
November 2004, but now after upgrading wpa_supplicant (through debians
apt-get) and the madwifi drive (manually), only part of the
authentification phase seems to work, which of course means I cannot
connect to the network.

Most comment on the on the mailinglists seems to indicate that the
problem must be with the madwifi driver. But replacing my current
version of the madwifi driver with snapshots from October (which
worked) does not make a difference. Unfortunately I do not have a
debian package of wpa_supplicant ver. 0.2.5 (which I know worked with
madwifi)

So how about looking for the bug in the wpa_supplicant ?

Is the following statement normal ?

WPA: EAPOL frame too short, len 48, expecting at least 99


Here is my config file and a debug from wpa_supplicant


Regards,

Jens

--------------------


eapol_version=1
ap_scan=1
fast_reauth=1

network={
        ssid="054"
        scan_ssid=1
        proto=WPA
        key_mgmt=WPA-EAP
        group=TKIP
        eap=MSCHAPV2 PEAP
        identity="SORT\js"
        password="???????????"
}

---------------------



Initializing interface 'ath0' conf '/etc/wpa_supplicant.conf' driver 'madwifi'
Configuration file '/etc/wpa_supplicant.conf' -> '/etc/wpa_supplicant.conf'
Reading configuration file '/etc/wpa_supplicant.conf'
ctrl_interface='/var/run/wpa_supplicant'
ctrl_interface_group=0
eapol_version=1
ap_scan=1
eapol_version=1
ap_scan=1
fast_reauth=1
Priority group 0
   id=0 ssid='054'
Initializing interface (2) 'ath0'
EAPOL: SUPP_PAE entering state DISCONNECTED
EAPOL: KEY_RX entering state NO_KEY_RECEIVE
EAPOL: SUPP_BE entering state INITIALIZE
EAP: EAP entering state DISABLED
EAPOL: External notification - portEnabled=0
EAPOL: External notification - portValid=0
Own MAC address: 00:05:4e:43:c3:fb
wpa_driver_madwifi_set_wpa: enabled=1
wpa_driver_madwifi_del_key: keyidx=0
wpa_driver_madwifi_del_key: keyidx=1
wpa_driver_madwifi_del_key: keyidx=2
wpa_driver_madwifi_del_key: keyidx=3
wpa_driver_madwifi_set_countermeasures: enabled=0
wpa_driver_madwifi_set_drop_unencrypted: enabled=1
Setting scan request: 0 sec 100000 usec
Using existing control interface directory.
bind(PF_UNIX): Address already in use
ctrl_iface exists, but does not allow connections - assuming it was leftover from forced program termination
Successfully replaced leftover ctrl_iface socket '/var/run/wpa_supplicant/ath0'
Wireless event: cmd=0x8b06 len=8
RTM_NEWLINK, IFLA_IFNAME: Interface 'ath0' added
RTM_NEWLINK, IFLA_IFNAME: Interface 'ath0' added
Starting AP scan (specific SSID)
Scan SSID - hexdump_ascii(len=3):
     30 35 34                                          054
Wireless event: cmd=0x8b1a len=16
Wireless event: cmd=0x8b19 len=12
Received 1550 bytes of scan results (7 BSSes)
Scan results: 7
Selecting BSS from priority group 0
0: 00:0b:0e:02:32:40 ssid='054' wpa_ie_len=30 rsn_ie_len=0
   selected
Trying to associate with 00:0b:0e:02:32:40 (SSID='054' freq=2462 MHz)
Cancelling scan request
Automatic auth_alg selection: 0x1
WPA: using IEEE 802.11i/D3.0
WPA: Selected cipher suites: group 8 pairwise 24 key_mgmt 1
WPA: using GTK TKIP
WPA: using PTK CCMP
WPA: using KEY_MGMT 802.1X
WPA: Own WPA IE - hexdump(len=24): dd 16 00 50 f2 01 01 00 00 50 f2 02 01 00 00 50 f2 04 01 00 00 50 f2 01
No keys have been configured - skip key clearing
wpa_driver_madwifi_set_drop_unencrypted: enabled=1
wpa_driver_madwifi_associate
Setting authentication timeout: 5 sec 0 usec
EAPOL: External notification - portControl=Auto
Wireless event: cmd=0x8b1a len=16
Wireless event: cmd=0x8b15 len=20
Wireless event: new AP: 00:0b:0e:02:32:40
Association event - clear replay counter
Associated to a new BSS: BSSID=00:0b:0e:02:32:40
No keys have been configured - skip key clearing
Associated with 00:0b:0e:02:32:40
EAPOL: External notification - portEnabled=0
EAPOL: External notification - portValid=0
EAPOL: External notification - portEnabled=1
EAPOL: SUPP_PAE entering state CONNECTING
EAPOL: txStart
EAPOL: SUPP_BE entering state IDLE
EAP: EAP entering state INITIALIZE
EAP: EAP entering state IDLE
Setting authentication timeout: 10 sec 0 usec
RX EAPOL from 00:0b:0e:02:32:40
Setting authentication timeout: 70 sec 0 usec
EAPOL: Received EAP-Packet frame
EAPOL: SUPP_PAE entering state RESTART
EAP: EAP entering state INITIALIZE
EAP: EAP entering state IDLE
EAPOL: SUPP_PAE entering state AUTHENTICATING
EAPOL: SUPP_BE entering state REQUEST
EAPOL: getSuppRsp
EAP: EAP entering state RECEIVED
EAP: Received EAP-Request method=1 id=1
EAP: EAP entering state IDENTITY
EAP: EAP-Request Identity data - hexdump_ascii(len=37):
     00 6e 65 74 77 6f 72 6b 69 64 3d 30 35 34 2c 6e   _networkid=054,n
     61 73 69 64 3d 6e 6f 73 2d 32 2e 30 2c 70 6f 72   asid=nos-2.0,por
     74 69 64 3d 30                                    tid=0
EAP: using real identity - hexdump_ascii(len=7):
     53 4f 52 54 5c 6a 73                              SORT\js
EAP: EAP entering state SEND_RESPONSE
EAP: EAP entering state IDLE
EAPOL: SUPP_BE entering state RESPONSE
EAPOL: txSuppRsp
EAPOL: SUPP_BE entering state RECEIVE
WPA: EAPOL frame too short, len 48, expecting at least 99
RTM_NEWLINK, IFLA_IFNAME: Interface 'ath0' added
RX EAPOL from 00:0b:0e:02:32:40
EAPOL: Received EAP-Packet frame
EAPOL: SUPP_BE entering state REQUEST
EAPOL: getSuppRsp
EAP: EAP entering state RECEIVED
EAP: Received EAP-Request method=1 id=1
EAP: EAP entering state RETRANSMIT
EAP: EAP entering state SEND_RESPONSE
EAP: EAP entering state IDLE
EAPOL: SUPP_BE entering state RESPONSE
EAPOL: txSuppRsp
EAPOL: SUPP_BE entering state RECEIVE
WPA: EAPOL frame too short, len 48, expecting at least 99
RX EAPOL from 00:0b:0e:02:32:40
EAPOL: Received EAP-Packet frame
EAPOL: SUPP_BE entering state REQUEST
EAPOL: getSuppRsp
EAP: EAP entering state RECEIVED
EAP: Received EAP-Request method=25 id=2
EAP: EAP entering state GET_METHOD
EAP: initialize selected EAP method (25, PEAP)
EAP-PEAP: Phase2 EAP types - hexdump(len=8): 04 1a 06 05 12 11 ff 17
EAP: EAP entering state METHOD
EAP-PEAP: Received packet(len=6) - Flags 0x20
EAP-PEAP: Start (server ver=0, own ver=1)
EAP-PEAP: Using PEAP version 0
SSL: (where=0x10 ret=0x1)
SSL: (where=0x1001 ret=0x1)
SSL: SSL_connect:before/connect initialization
SSL: (where=0x1001 ret=0x1)
SSL: SSL_connect:SSLv3 write client hello A
SSL: (where=0x1002 ret=0xffffffff)
SSL: SSL_connect:error in SSLv3 read server hello A
SSL: SSL_connect - want more data
SSL: 100 bytes pending from ssl_out
SSL: 100 bytes left to be sent out (of total 100 bytes)
EAP: method process -> ignore=FALSE methodState=CONT decision=FAIL
EAP: EAP entering state SEND_RESPONSE
EAP: EAP entering state IDLE
EAPOL: SUPP_BE entering state RESPONSE
EAPOL: txSuppRsp
EAPOL: SUPP_BE entering state RECEIVE
WPA: EAPOL frame too short, len 48, expecting at least 99
RX EAPOL from 00:0b:0e:02:32:40
EAPOL: Received EAP-Packet frame
EAPOL: SUPP_BE entering state REQUEST
EAPOL: getSuppRsp
EAP: EAP entering state RECEIVED
EAP: Received EAP-Request method=25 id=3
EAP: EAP entering state METHOD
EAP-PEAP: Received packet(len=1496) - Flags 0xc0
EAP-PEAP: TLS Message Length: 3902
SSL: Need 2416 bytes more input data
SSL: Building ACK
EAP: method process -> ignore=FALSE methodState=CONT decision=FAIL
EAP: EAP entering state SEND_RESPONSE
EAP: EAP entering state IDLE
EAPOL: SUPP_BE entering state RESPONSE
EAPOL: txSuppRsp
EAPOL: SUPP_BE entering state RECEIVE
IEEE 802.1X RX: version=1 type=0 length=1496
WPA: EAPOL frame (type 0) discarded, not a Key frame
RX EAPOL from 00:0b:0e:02:32:40
EAPOL: Received EAP-Packet frame
EAPOL: SUPP_BE entering state REQUEST
EAPOL: getSuppRsp
EAP: EAP entering state RECEIVED
EAP: Received EAP-Request method=25 id=4
EAP: EAP entering state METHOD
EAP-PEAP: Received packet(len=1496) - Flags 0x40
SSL: Need 926 bytes more input data
SSL: Building ACK
EAP: method process -> ignore=FALSE methodState=CONT decision=FAIL
EAP: EAP entering state SEND_RESPONSE
EAP: EAP entering state IDLE
EAPOL: SUPP_BE entering state RESPONSE
EAPOL: txSuppRsp
EAPOL: SUPP_BE entering state RECEIVE
IEEE 802.1X RX: version=1 type=0 length=1496
WPA: EAPOL frame (type 0) discarded, not a Key frame
RX EAPOL from 00:0b:0e:02:32:40
EAPOL: Received EAP-Packet frame
EAPOL: SUPP_BE entering state REQUEST
EAPOL: getSuppRsp
EAP: EAP entering state RECEIVED
EAP: Received EAP-Request method=25 id=5
EAP: EAP entering state METHOD
EAP-PEAP: Received packet(len=932) - Flags 0x00
SSL: (where=0x1001 ret=0x1)
SSL: SSL_connect:SSLv3 read server hello A
SSL: (where=0x1001 ret=0x1)
SSL: SSL_connect:SSLv3 read server certificate A
SSL: (where=0x1001 ret=0x1)
SSL: SSL_connect:SSLv3 read server certificate request A
SSL: (where=0x1001 ret=0x1)
SSL: SSL_connect:SSLv3 read server done A
SSL: (where=0x1001 ret=0x1)
SSL: SSL_connect:SSLv3 write client certificate A
SSL: (where=0x1001 ret=0x1)
SSL: SSL_connect:SSLv3 write client key exchange A
SSL: (where=0x1001 ret=0x1)
SSL: SSL_connect:SSLv3 write change cipher spec A
SSL: (where=0x1001 ret=0x1)
SSL: SSL_connect:SSLv3 write finished A
SSL: (where=0x1001 ret=0x1)
SSL: SSL_connect:SSLv3 flush data
SSL: (where=0x1002 ret=0xffffffff)
SSL: SSL_connect:error in SSLv3 read finished A
SSL: SSL_connect - want more data
SSL: 194 bytes pending from ssl_out
SSL: 194 bytes left to be sent out (of total 194 bytes)
EAP: method process -> ignore=FALSE methodState=CONT decision=FAIL
EAP: EAP entering state SEND_RESPONSE
EAP: EAP entering state IDLE
EAPOL: SUPP_BE entering state RESPONSE
EAPOL: txSuppRsp
EAPOL: SUPP_BE entering state RECEIVE
IEEE 802.1X RX: version=1 type=0 length=932
WPA: EAPOL frame (type 0) discarded, not a Key frame
RX EAPOL from 00:0b:0e:02:32:40
EAPOL: Received EAP-Packet frame
EAPOL: SUPP_BE entering state REQUEST
EAPOL: getSuppRsp
EAP: EAP entering state RECEIVED
EAP: Received EAP-Request method=25 id=6
EAP: EAP entering state METHOD
EAP-PEAP: Received packet(len=53) - Flags 0x80
EAP-PEAP: TLS Message Length: 43
SSL: (where=0x1001 ret=0x1)
SSL: SSL_connect:SSLv3 read finished A
SSL: (where=0x20 ret=0x1)
SSL: (where=0x1002 ret=0x1)
SSL: 0 bytes pending from ssl_out
SSL: No data to be sent out
EAP-PEAP: TLS done, proceed to Phase 2
EAP-PEAP: using label 'client EAP encryption' in key derivation
EAP-PEAP: Derived key - hexdump(len=64): [REMOVED]
SSL: Building ACK
EAP: method process -> ignore=FALSE methodState=CONT decision=FAIL
EAP: EAP entering state SEND_RESPONSE
EAP: EAP entering state IDLE
EAPOL: SUPP_BE entering state RESPONSE
EAPOL: txSuppRsp
EAPOL: SUPP_BE entering state RECEIVE
WPA: EAPOL frame too short, len 57, expecting at least 99
RX EAPOL from 00:0b:0e:02:32:40
EAPOL: Received EAP-Packet frame
EAPOL: SUPP_BE entering state REQUEST
EAPOL: getSuppRsp
EAP: EAP entering state RECEIVED
EAP: Received EAP-Request method=25 id=7
EAP: EAP entering state METHOD
EAP-PEAP: Received packet(len=28) - Flags 0x00
EAP-PEAP: received 22 bytes encrypted data for Phase 2
EAP-PEAP: Decrypted Phase 2 EAP - hexdump(len=1): 01
EAP-PEAP: received Phase 2: code=1 identifier=7 length=5
EAP-PEAP: Phase 2 Request: type=1
EAP: using real identity - hexdump_ascii(len=7):
     53 4f 52 54 5c 6a 73                              SORT\js
EAP-PEAP: Encrypting Phase 2 data - hexdump(len=12): [REMOVED]
EAP: method process -> ignore=FALSE methodState=CONT decision=FAIL
EAP: EAP entering state SEND_RESPONSE
EAP: EAP entering state IDLE
EAPOL: SUPP_BE entering state RESPONSE
EAPOL: txSuppRsp
EAPOL: SUPP_BE entering state RECEIVE
WPA: EAPOL frame too short, len 48, expecting at least 99
RX EAPOL from 00:0b:0e:02:32:40
EAPOL: Received EAP-Packet frame
EAPOL: SUPP_BE entering state REQUEST
EAPOL: getSuppRsp
EAP: EAP entering state RECEIVED
EAP: Received EAP-Request method=25 id=8
EAP: EAP entering state METHOD
EAP-PEAP: Received packet(len=52) - Flags 0x00
EAP-PEAP: received 46 bytes encrypted data for Phase 2
EAP-PEAP: Decrypted Phase 2 EAP - hexdump(len=25): 1a 01 08 00 18 10 e9 87 ac 4f d0 fe dd b1 4a 6a 1b d2 c4 30 a9 48 4b 55 4c
EAP-PEAP: received Phase 2: code=1 identifier=8 length=29
EAP-PEAP: Phase 2 Request: type=26
EAP-PEAP: Selected Phase 2 EAP method 26
EAP-MSCHAPV2: Received challenge
EAP-MSCHAPV2: Authentication Servername - hexdump_ascii(len=3):
     4b 55 4c                                          KUL
EAP-MSCHAPV2: Generating Challenge Response
EAP-MSCHAPV2: auth_challenge - hexdump(len=16): e9 87 ac 4f d0 fe dd b1 4a 6a 1b d2 c4 30 a9 48
EAP-MSCHAPV2: peer_challenge - hexdump(len=16): 25 77 ca 73 bc 33 a7 2f 39 59 4a 2c af 15 e0 d4
EAP-MSCHAPV2: username - hexdump_ascii(len=2):
     6a 73                                             js
EAP-MSCHAPV2: password - hexdump_ascii(len=11): [REMOVED]
EAP-MSCHAPV2: response - hexdump(len=24): f1 e5 5d ca d9 a7 5f 19 81 5a 16 a5 1e 27 42 31 11 0e 4e 76 42 bb da ed
EAP-PEAP: Encrypting Phase 2 data - hexdump(len=66): [REMOVED]
EAP: method process -> ignore=FALSE methodState=CONT decision=FAIL
EAP: EAP entering state SEND_RESPONSE
EAP: EAP entering state IDLE
EAPOL: SUPP_BE entering state RESPONSE
EAPOL: txSuppRsp
EAPOL: SUPP_BE entering state RECEIVE
WPA: EAPOL frame too short, len 56, expecting at least 99
RX EAPOL from 00:0b:0e:02:32:40
EAPOL: Received EAP-Packet frame
EAPOL: SUPP_BE entering state REQUEST
EAPOL: getSuppRsp
EAP: EAP entering state RECEIVED
EAP: Received EAP-Request method=25 id=9
EAP: EAP entering state METHOD
EAP-PEAP: Received packet(len=74) - Flags 0x00
EAP-PEAP: received 68 bytes encrypted data for Phase 2
EAP-PEAP: Decrypted Phase 2 EAP - hexdump(len=47): 1a 03 08 00 2e 53 3d 44 34 33 46 30 44 38 39 39 44 35 35 39 41 30 36 43 32 38 42 42 33 44 42 38 44 46 31 39 46 37 33 45 30 44 43 46 34 46 46
EAP-PEAP: received Phase 2: code=1 identifier=9 length=51
EAP-PEAP: Phase 2 Request: type=26
EAP-MSCHAPV2: Received success
EAP-MSCHAPV2: Success message - hexdump_ascii(len=0):
EAP-MSCHAPV2: Authentication succeeded
EAP-PEAP: Encrypting Phase 2 data - hexdump(len=6): [REMOVED]
EAP: method process -> ignore=FALSE methodState=CONT decision=FAIL
EAP: EAP entering state SEND_RESPONSE
EAP: EAP entering state IDLE
EAPOL: SUPP_BE entering state RESPONSE
EAPOL: txSuppRsp
EAPOL: SUPP_BE entering state RECEIVE
WPA: EAPOL frame too short, len 78, expecting at least 99
RX EAPOL from 00:0b:0e:02:32:40
EAPOL: Received EAP-Packet frame
EAPOL: SUPP_BE entering state REQUEST
EAPOL: getSuppRsp
EAP: EAP entering state RECEIVED
EAP: Received EAP-Request method=25 id=10
EAP: EAP entering state METHOD
EAP-PEAP: Received packet(len=38) - Flags 0x00
EAP-PEAP: received 32 bytes encrypted data for Phase 2
EAP-PEAP: Decrypted Phase 2 EAP - hexdump(len=11): 01 0a 00 0b 21 80 03 00 02 00 01
EAP-PEAP: received Phase 2: code=1 identifier=10 length=11
EAP-PEAP: Phase 2 Request: type=33
EAP-TLV: Received TLVs - hexdump(len=6): 80 03 00 02 00 01
EAP-TLV: Result TLV - hexdump(len=2): 00 01
EAP-TLV: TLV Result - Success - EAP-TLV/Phase2 Completed
EAP-PEAP: Encrypting Phase 2 data - hexdump(len=11): [REMOVED]
EAP: method process -> ignore=FALSE methodState=DONE decision=UNCOND_SUCC
EAP: EAP entering state SEND_RESPONSE
EAP: EAP entering state IDLE
EAPOL: SUPP_BE entering state RESPONSE
EAPOL: txSuppRsp
EAPOL: SUPP_BE entering state RECEIVE
WPA: EAPOL frame too short, len 48, expecting at least 99
RX EAPOL from 00:0b:0e:02:32:40
EAPOL: Received EAP-Packet frame
EAPOL: SUPP_BE entering state REQUEST
EAPOL: getSuppRsp
EAP: EAP entering state RECEIVED
EAP: Received EAP-Success
EAP: EAP entering state DISCARD
EAP: EAP entering state IDLE
EAPOL: SUPP_BE entering state RECEIVE
WPA: EAPOL frame too short, len 48, expecting at least 99
RX EAPOL from 00:0b:0e:02:32:40
EAPOL: Ignoring WPA EAPOL-Key frame in EAPOL state machines
IEEE 802.1X RX: version=1 type=3 length=95
  EAPOL-Key type=254
WPA: RX message 1 of 4-Way Handshake from 00:0b:0e:02:32:40 (ver=2)
WPA: WPA IE for msg 2/4 - hexdump(len=24): dd 16 00 50 f2 01 01 00 00 50 f2 02 01 00 00 50 f2 04 01 00 00 50 f2 01
WPA: Renewed SNonce - hexdump(len=32): d3 4e ef 97 25 b2 99 85 5b d2 8e d2 79 07 81 b0 33 95 df c8 62 3b 07 74 75 72 8f db c4 41 96 14
WPA: Failed to get master session key from EAPOL state machines
WPA: Key handshake aborted





More information about the Hostap mailing list