WLAN Power Save Mode in Linux Kalle Valo kalle.valo@iki.fi - - PowerPoint PPT Presentation

wlan power save mode in linux
SMART_READER_LITE
LIVE PREVIEW

WLAN Power Save Mode in Linux Kalle Valo kalle.valo@iki.fi - - PowerPoint PPT Presentation

WLAN Power Save Mode in Linux Kalle Valo kalle.valo@iki.fi (...@nokia.com) FUDCon Berlin 2009 Linux Wireless Linux Wireless Outline 1 Introduction 2 Status 3 Future Linux Wireless Linux Wireless Introduction Introduction Linux Wireless


slide-1
SLIDE 1

Linux Wireless Linux Wireless

WLAN Power Save Mode in Linux

Kalle Valo kalle.valo@iki.fi (...@nokia.com) FUDCon Berlin 2009

slide-2
SLIDE 2

Linux Wireless Outline

1 Introduction 2 Status 3 Future

Linux Wireless

slide-3
SLIDE 3

Linux Wireless Introduction

Introduction

Linux Wireless

slide-4
SLIDE 4

Linux Wireless Introduction

Why?

  • Total system power consumption of Nokia N800 (stlc45xx,

mac80211, 2.6.29-omap-wl):

200 400 600 800 1000 1200 PSM off PSM on PSM + beacon filter WLAN off power (mW)

Linux Wireless

slide-5
SLIDE 5

Linux Wireless Introduction

Power Save Mode (PSM) simplified

  • client informs Access Point (AP) of the PSM status with a flag in

Frame Control header

  • AP buffers all unicast, broadcast and multicast frames
  • AP informs of buffered unicast frames with TIM bits in beacons
  • AP sends broadcast and multicast frames immediately after the

DTIM beacons with a special TIM bit set

  • AP sends buffered unicast frames either when client wakes up or

requests them with a PS-Poll frame

Linux Wireless

slide-6
SLIDE 6

Linux Wireless Introduction

PSM example

Linux Wireless

slide-7
SLIDE 7

Linux Wireless Introduction

Downsides

  • few ms latency in transmission due to firmware wakeup (depends
  • n hardware)
  • hundreds of ms latency in receive, depends on:
  • beacon interval
  • DTIM period
  • how often client wakes up for beacons
  • broken APs → strange packet loss
  • broken firmware and/or HW, timing is very delicate

Linux Wireless

slide-8
SLIDE 8

Linux Wireless Status

Status

Linux Wireless

slide-9
SLIDE 9

Linux Wireless Status

Dynamic and Static PSM

  • timeout > 0 → Dynamic PSM
  • stays awake a certain period after a last transmission
  • wakes up with Nullfunc
  • should not affect throughput
  • in certain cases increases latency considerably, but user won’t

notice in practise

  • timeout = 0 → Static PSM
  • goes immediately to sleep after transmitting a frame
  • fetches buffered frames with PS-Poll frame
  • decreases throughput
  • increases latency significantly

Linux Wireless

slide-10
SLIDE 10

Linux Wireless Status

User space interface

  • Wireless Extensions have power and power timeout:
  • iwconfig wlan0 power timeout 200m
  • the dynamic PSM timeout value
  • no support in nl80211, yet
  • network latency PM QoS interface
  • /dev/network_latency
  • how often hardware wakes up for beacons

Linux Wireless

slide-11
SLIDE 11

Linux Wireless Status

mac80211 status

  • supported HW types:
  • HW supports PSM (IEEE80211_HW_SUPPORTS_PS)
  • Stack must create Nullfunc and PS-Poll frames

(IEEE80211_HW_PS_NULLFUNC_STACK)

  • HW has timers for dynamic PSM transitions

(IEEE80211_HW_SUPPORTS_DYNAMIC_PS)

  • drivers supporting PSM:
  • ath9k
  • rt2x00
  • iwlwifi (was disabled due to bugs, just re-enabled today)
  • stlc45xx (staging, patches pending)
  • wl1251 (patches pending)
  • PSM enabled by default for the drivers which claim to support it,

default timeout 500 ms

Linux Wireless

slide-12
SLIDE 12

Linux Wireless Status

Fullmac driver support

  • unknown, any comments?

Linux Wireless

slide-13
SLIDE 13

Linux Wireless Status

Beacon filtering

  • in softmac beacons are normally forwarded to the host CPU
  • wakes up CPU unnecessarily
  • some HWs support a feature to only forward beacons which have

chaned in relevant parts

  • HW sends an event when beacons are lost

Linux Wireless

slide-14
SLIDE 14

Linux Wireless Future

Future

Linux Wireless

slide-15
SLIDE 15

Linux Wireless Future

Unscheduled Automatic Power Save Delivery (U-APSD)

  • also known as WMM Power Save
  • needs QoS support from the applications, otherwise legacy PSM

is used

Linux Wireless

slide-16
SLIDE 16

Linux Wireless Future

Improvements to Dynamic Power Save

  • an interface for the applications to influence the timeout value
  • use PM QoS network_latency somehow?
  • more advanced algorithm for adaptation
  • academic papers available

Linux Wireless

slide-17
SLIDE 17

Linux Wireless Future

User space

  • nl80211 support
  • wpa_supplicant:
  • support to disable PSM?
  • configure timeout value?
  • more QoS information from applications?

Linux Wireless

slide-18
SLIDE 18

Linux Wireless

Thanks for listening. Questions? http://wireless.kernel.org/