[rft] improved hostap powersave / ps-poll support is now in HEAD

Lev Serebryakov lev at FreeBSD.org
Thu May 16 09:10:14 UTC 2013


Hello, Adrian.
You wrote 15 мая 2013 г., 22:34:26:

AC> I've just committed my first pass of improved power save and ps-poll
AC> support in AP mode to -HEAD.
AC> There's a bunch of corner cases I'm trying to solve but I'd rather
AC> this be in the driver now rather than later.
AC> So please, update to -HEAD and give this a whirl. Let me know if
AC> things are better, worse or the same.
 r250675, my ususal test (300 mbit AP -> Client).
Looks good. First of all, it gives me stable 100-150Mbit, so it could
negotiate HT rates again without TCP :)


 And it sustain for 600 seconds in this mode, which was impossible
before.

 There was several such messages:

May 16 12:57:31 gateway kernel: ath0: ath_tx_tid_bar_suspend: tid=0xffffff8000d82230, bar_wait=0, bar_tx=0, called
May 16 12:57:31 gateway kernel: ath0: ath_tx_tid_bar_tx_ready: c4:85:08:3f:9e:c2: tid=0xffffff8000d82230 (0), bar ready
May 16 12:57:31 gateway kernel: ath0: ath_tx_tid_bar_tx: c4:85:08:3f:9e:c2: tid=0xffffff8000d82230, called
May 16 12:57:31 gateway kernel: ath0: ath_tx_tid_bar_tx: c4:85:08:3f:9e:c2: tid=0xffffff8000d82230, new BAW left edge=676
May 16 12:57:31 gateway kernel: ath0: ath_bar_response: c4:85:08:3f:9e:c2: called; tap=0xffffff8000d7f3a0, atid=0xffffff8000d82230, txa_tid=0, atid->tid=0, status=0, attempts=1
May 16 12:57:31 gateway kernel: ath0: ath_tx_tid_bar_unsuspend: c4:85:08:3f:9e:c2: tid=0xffffff8000d82230, called

 But no full stalls.

 I have dev.ath.0.debug=0x900000020

 A lot of such messages in log when notebook is on battery (no such
messages when it is on AC power):

May 16 12:51:12 gateway kernel: ath0: ath_node_set_tim: c4:85:08:3f:9e:c2: enable=1, enabling TIM
May 16 12:51:12 gateway kernel: ath0: ath_node_powersave: c4:85:08:3f:9e:c2: enable=0
May 16 12:51:12 gateway kernel: ath0: ath_node_set_tim: c4:85:08:3f:9e:c2: enable=0, an_pwrsave=0, disabling
May 16 12:51:18 gateway kernel: ath0: ath_node_powersave: c4:85:08:3f:9e:c2: enable=1
May 16 12:51:18 gateway kernel: ath0: ath_node_set_tim: c4:85:08:3f:9e:c2: enable=1, enabling TIM
May 16 12:51:18 gateway kernel: ath0: ath_node_powersave: c4:85:08:3f:9e:c2: enable=0
May 16 12:51:18 gateway kernel: ath0: ath_node_set_tim: c4:85:08:3f:9e:c2: enable=0, an_pwrsave=0, disabling
May 16 12:51:20 gateway kernel: ath0: ath_node_powersave: c4:85:08:3f:9e:c2: enable=1
May 16 12:51:20 gateway kernel: ath0: ath_node_set_tim: c4:85:08:3f:9e:c2: enable=1, enabling TIM
May 16 12:51:20 gateway kernel: ath0: ath_node_powersave: c4:85:08:3f:9e:c2: enable=0
May 16 12:51:20 gateway kernel: ath0: ath_node_set_tim: c4:85:08:3f:9e:c2: enable=0, an_pwrsave=0, disabling
May 16 12:51:21 gateway kernel: ath0: ath_node_powersave: c4:85:08:3f:9e:c2: enable=1
May 16 12:51:21 gateway kernel: ath0: ath_node_set_tim: c4:85:08:3f:9e:c2: enable=1, enabling TIM
May 16 12:51:21 gateway kernel: ath0: ath_node_powersave: c4:85:08:3f:9e:c2: enable=0
May 16 12:51:21 gateway kernel: ath0: ath_node_set_tim: c4:85:08:3f:9e:c2: enable=0, an_pwrsave=0, disabling
May 16 12:51:31 gateway kernel: ath0: ath_node_powersave: c4:85:08:3f:9e:c2: enable=1
May 16 12:51:31 gateway kernel: ath0: ath_node_set_tim: c4:85:08:3f:9e:c2: enable=1, enabling TIM
May 16 12:51:31 gateway kernel: ath0: ath_node_powersave: c4:85:08:3f:9e:c2: enable=0
May 16 12:51:31 gateway kernel: ath0: ath_node_set_tim: c4:85:08:3f:9e:c2: enable=0, an_pwrsave=0, disabling
May 16 12:51:32 gateway kernel: ath0: ath_node_powersave: c4:85:08:3f:9e:c2: enable=1
May 16 12:51:32 gateway kernel: ath0: ath_node_set_tim: c4:85:08:3f:9e:c2: enable=1, enabling TIM
May 16 12:51:32 gateway kernel: ath0: ath_node_powersave: c4:85:08:3f:9e:c2: enable=0
May 16 12:51:32 gateway kernel: ath0: ath_node_set_tim: c4:85:08:3f:9e:c2: enable=0, an_pwrsave=0, disabling
May 16 12:51:34 gateway kernel: ath0: ath_node_powersave: c4:85:08:3f:9e:c2: enable=1

And sometimes it shows:

May 16 13:05:52 gateway kernel: ath0: ath_node_set_tim: c4:85:08:3f:9e:c2: enable=1, enabling TIM
May 16 13:05:52 gateway kernel: ath0: ath_node_recv_pspoll: c4:85:08:3f:9e:c2: leaking frame to TID 0
May 16 13:05:52 gateway kernel: ath0: ath_tx_leak_count_update: c4:85:08:3f:9e:c2: leak count = 1, psq=1, swq=6, MORE=1
May 16 13:05:52 gateway kernel: ath0: ath_node_recv_pspoll: c4:85:08:3f:9e:c2: leaking frame to TID 0
May 16 13:05:52 gateway kernel: ath0: ath_tx_leak_count_update: c4:85:08:3f:9e:c2: leak count = 1, psq=1, swq=8, MORE=1
May 16 13:05:52 gateway kernel: ath0: ath_node_powersave: c4:85:08:3f:9e:c2: enable=0

  It is when traffic goes 100-150Mbit/s, with drops to 75-85 every
~10th second.

  At second test, after ~300 seconds of test in battery mode it drops to non-N speeds
 and never recovered.

-- 
// Black Lion AKA Lev Serebryakov <lev at FreeBSD.org>



More information about the freebsd-wireless mailing list