QNX / libpcap / wpa_supplicant -- packet loss

Andreas Fenkart andreas.fenkart at streamunlimited.com
Fri Oct 1 09:04:11 EDT 2010


Hi

I observed a problem, when bpf queues 3 packages for
wpa_supplicant.  Only the first package is received, then
wpa_supplicant blocks in select without reading the other 2
packages.

The is what I debugged so far:

   wpa_supplicant                 io-pkt
------------------------------------------------------
select:
  -      -      -      -    |  -> bpf_poll
 <-      -      -      -    |  -  <data available
 -> pcap_next       "       |
    -> pcap_dispatch        |
       -> pcap_read_bpf     |
           -    -      -    |  -> bpf_read
          <-    -      -    |  -  <pass all queued data>

      --> libpcap extracts 1 packet queues remaining data <--

    <- 1 packet
 <- 1 packet
..
  process packet
..
do select:
 -      -      -      -     |  -> bpf_poll
 <-      -      -      -    |  -  <no data available
repeat


The problem is that the data is queued in pcap, but the
supplicant not checking this before calling 'select' again. Select
will fail, since it checks for available data in io-pkt which in
my case receives no more data.

Any suggestions, hints and existing patches very welcome.

kind regards

Andreas


---- configuration --------------------------------------------

QNX 6.4.1 / wpa_supplicant 0.6.4 / libpcap 0.9.8

network={
        ssid="MotorolaWPA-EAP"
        scan_ssid=1
        # IEEE 802.1X (i.e., no WPA) with dynamic WEP keys
        key_mgmt=IEEE8021X
        eap=TTLS
        identity="xxxx"
        password="xxxx"
        priority=1
}



More information about the HostAP mailing list