Re: [PATCH] rt61pci: Work around a firmware bug with shared keys

From: Kalle Valo
Date: Wed Jan 16 2019 - 11:29:15 EST


Stanislaw Gruszka <sgruszka@xxxxxxxxxx> writes:

> On Tue, Jan 15, 2019 at 02:01:29PM +0000, Bernd Edlinger wrote:
>> Apparently the rt2x61 firmware fails temporarily to decode
>> broadcast packets if the shared keys are not assigned
>> in the "correct" sequence. At the same time unicast
>> packets work fine, since they are encrypted with the
>> pairwise key.
>>
>> At least with WPA2 CCMP mode the shared keys are
>> set in the following sequence: keyidx=1, 2, 1, 2.
>> After a while only keyidx 2 gets decrypted, and
>> keyidx 1 is ignored, probably because there is never
>> a keyidx 3.
>>
>> Symptoms are arping -b works for 10 minutes, since
>> keyidx=2 is used for broadcast, and then it stops
>> working for 10 minutes, because keyidx=1 is used.
>> That failure mode repeats forever.
>>
>> Note, the firmware does not even know which keyidx
>> corresponds to which hw_key_idx so the firmware is
>> trying to be smarter than the driver, which is bound
>> to fail.
>>
>> As workaround the function rt61pci_config_shared_key
>> requests software decryption of the shared keys,
>> by returning EOPNOTSUPP. However, pairwise keys are
>> still handled by hardware which works just fine.
>>
>> Signed-off-by: Bernd Edlinger <bernd.edlinger@xxxxxxxxxx>
>
> Acked-by: Stanislaw Gruszka <sgruszka@xxxxxxxxxx>

The prefix should be "rt2x00:", I can change that.

--
Kalle Valo