Hi Johannes, Thank you for you answer. Sorry for the answer delay, I wasn't familiar with the kernel tracing features. I attached the trace file since it is quite long (about 1400 lines). Here are some pointers : Original AP = 90:A4:DE:AA:42:94, channel : 132, ssid : acksyscdtest Second AP = 90:A4:DE:AA:41:ED, channel : 132, ssid : acksyscdtest When wpa_supplicant is launched, it associates directly with 90:A4:DE:AA:42:94. The roaming order is given by the wpa_cli roam command (roam 90:A4:DE:AA:41:ED). You can find it at line 1042 of the traces. I used the -T option of wpa_supplicant. In order to get cfg80211 traces I had to switch to compat wireless version 2012-12-06 (previous was 2012-09-07). Nevertheless, the behavior seems to remain the same (same exit in ieee80211_key_enable_hw_accel at the first roam). Just let me know if you need more information. Best regards, Cédric DEBARGE -----Message d'origine----- De : Johannes Berg [mailto:johannes@xxxxxxxxxxxxxxxx] Envoyé : mercredi 9 janvier 2013 13:27 À : Cedric Debarge Cc : linux-wireless@xxxxxxxxxxxxxxx Objet : Re: missing RX_FLAG_DECRIPTED in ieee80211_rx_status after first reassociation in 802.11R On Tue, 2013-01-08 at 12:11 +0100, Cedric Debarge wrote: > Hi all, > > I dug a little more on this problem and I found that hardware encryption is disabled after the first roam because ieee80211_key_enable_hw_accel fails on the following test : > if (sta && !sta->uploaded) > goto out_unsupported; > > After the first roam, sta->uploaded is tested before sta_info_move_state sets it to true. > > At the first association/authentication : > 1) sta_info_move_state sets sta->uploaded to true > 2) ieee80211_key_enable_hw_accel test it and find it true --> > hardware decoding > > When the station changes from an AP to another : > 1) ieee80211_key_enable_hw_accel test it and find it false --> software decoding > 2) sta_info_move_state sets sta->uploaded to true I cannot reproduce this. Could you obtain tracing information ("trace-cmd record -e cfg80211") on an affected system? Also a wpa_supplicant debug log would be helpful. Or better yet, use a new supplicant with the "-T" parameter -- this will make its debug information go into the cfg80211 tracing that you record as per above. johannes
Attachment:
trace.dat
Description: Binary data