From: Jouni Malinen (jkmaline_at_cc.hut.fi)
Date: 2002-06-10 09:14:07 UTC
On Mon, Jun 10, 2002 at 12:46:23PM +1000, wayne wrote:
> wlan0: timeout on waiting pending transmit command..
> wlan0: handle_pspoll - to BAP0 failed
> hfa384x_cmd: timeout on waiting pending TX
> wlan0: hfa384x_set_rid: CMDCODE_ACCESS_WRITE failed (res=-110, rid=fc40,
> len=2)
> hostap_cs: wlan0: resetting card
OK, this is an issue with power saving mode and buffering packets to stations. I haven't tested the driver with stations using PS for a long time. It did not apparently survive PRISM2_USE_CMD_COMPL_INTERRUPT related changes without breaking..
The driver tried to setup STA's TIM bit just after performing transmit command. However, with cmd completion events, the next command should not be started before the previous one has completed. This leads to the reported timeouts. In addition, there's another problem that can occur if the station has many buffered frames and it moves into non-PS mode.
I have not fixed those two cases. I used busy waiting in set_tim, but this could at some point be replaced with something like delayed command queue that would be handled after command completion event.
These fixes seemed to take care of all the problems I saw in my PS test setup. Please let me know, if there are still problems with the fixed version. It is available as CVS snapshot from http://hostap.epitest.fi/.
PS.
I also noticed that a Lucent WaveLAN did not seem to work with Addtron card (that was using STA f/w 0.7.6). There is a workaround for this in the driver, but it is automatically enabled only for STA f/w 0.8.0. In other words, you might want to test setting this workaround manually if you happen to use STA f/w 0.7.6 in the AP. I'll consider changing it to be used also with that version, if it is needed with my another test card using 0.7.6. This workaround can be enabled with 'prism2_param wlan0 ap_nullfunc_ack 1'.
-- Jouni Malinen PGP id EFC895FA