All of lore.kernel.org
 help / color / mirror / Atom feed
* rt61pci and group re-keying
@ 2012-10-08 17:49 Joerg Platte
  0 siblings, 0 replies; only message in thread
From: Joerg Platte @ 2012-10-08 17:49 UTC (permalink / raw)
  To: linux-wireless

Hi list,

I'm using an Intel based computer with a network card supported by the 
rt61pci driver. This computer has a quite strange problem, sometimes it 
cannot be connected from other computers in the same network, sometimes 
it can. Today I have spent some time to debug this and it looks like the 
problem is caused by the group rekeying (rt61pci_config_shared_key). I'm 
using WPA2 with TKIP group key.

Here the problem. After first association everything works and it still 
works after the first re-keying. After the second one the computer no 
longer responds to pings (arp "who has" request gets no answer). Then, 
after the next re-keying it works again (and so on). So basically only 
the first, third, fifth and so on re-keing works. After adding some 
debug information to the driver I think that the driver is doing the 
right thing. In total two keys are marked as active and before the third 
re-keying the oldest one is deleted via DISABLE_KEY.

I solved the problem by setting only the new key as valid by changing
         if (crypto->cmd == SET_KEY)
                 reg |= mask;

to

         if (crypto->cmd == SET_KEY)
                 reg = mask;


However, the hardware seems to be able to support up to four keys. Do 
you have any idea why the card behaves wrongly? Kernel is 2.6.36.2, but 
according to git there are no important changes on recent kernels for 
this driver.

Best regards,
Joerg

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2012-10-08 17:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-08 17:49 rt61pci and group re-keying Joerg Platte

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.