Search Linux Wireless

Re: [Fwd: airo with WPA support merge]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



matthieu castet wrote:
[2]
http://svn.gna.org/viewcvs/airo-wpa/branches/kernel-merge/

[3]
Dan Williams :
One problem I have is that after setting the TKIP key, I always get a
sequence of 3 bad MICs, and then the MAC sends a status of 0x8117 which
causes the driver to send a disconnection event to userspace, which
makes wpa_supplicant fail the connection.  If I comment out the 'goto
badrx;' in the interrupt handler where the WPA mic is checked,
everything works great and I can complete the 4-way handshake.  It needs
more investigation, but do you have any thoughts on what might be going
on here?

I had a quick look at [2].

The WPA support is similar to that posted for the orinoco driver last weekend. The driver calculates the MIC using the current software keys and appends it to the packet to be transmitted; the firmware/hardware encrypts the packet with the keys set in hardware.

For orinoco the TKIP changing code waits until the card has finished transmitting queued packets before changing the keys [4]. This prevents the software keys from getting out of step with the hardware keys. Orinoco makes use of a RID to determine if there's anything in the TX queue, but I don't think this is necessary.

Might a similar change work for the airo driver?

Regards,

Dave.

[4] <http://marc.info/?l=linux-wireless&m=121467838917394&w=4>
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux