Wifi power consuption when not associated

Bug #193670 reported by Pat McGowan
8
Affects Status Importance Assigned to Milestone
Moblin Network Profile Manager
Fix Released
Low
ToddBrandt

Bug Description

Dynamic wi-fi power mangement while "not associated" will require the following modification to network-manager (or connection manager):

1 - modify the core auto-connect loop to "give-up" after some configured time period of not being able to associate with any known access points
2 - [optional] - allow the user to specify the time period (including a way to say "never give up"
3 - when the time period is reached, the auto-connect loop should be stopped/suspended, and an ioctl call made to put the card into "deep sleep". This will use a driver-specific private ioctl. This can be tested now with the following command: "iwpriv wlan0 deepsleep" The iwpriv command knows how to translate the argument "deepsleep" into a private ioctl to the driver.
4 - after putting the card into deep sleep, set a timer for a second configured time period. once this timer expires, network-manager will wake the card up from deep sleep and restart the auto-connect loop.
5 - [optional] - allow the user to specify the sleep time period.

Tags: intel
Changed in acton:
assignee: nobody → tonyespy
importance: Undecided → Wishlist
Revision history for this message
craig roberts (craig-n-roberts) wrote :

Tony, should we list this in the Moblin DB?

Revision history for this message
Tony Espy (awe) wrote :

I'm not sure where you'd add it.

This probably should be something that gets folded into Connection Manager, but at this point, there's no bug list for it yet. Also, Marcel might consider this a feature as opposed to a "bug".

Revision history for this message
Tony Espy (awe) wrote :

Craig, just saw that you just linked it to the "moblin-network-profile-manager" project. Is there a piece of software called the "network profile manager" that I should know about, or is it a "catch-all" category for networking bugs on Moblin?

Revision history for this message
Tony Espy (awe) wrote : Network Profile Manager

Lets... re-phrase that ( wish there was a way to edit comments in LP )...

Craig, just saw that you tagged this bug as "also affects" the project "moblin-network-manager". Is there a piece of software called the "network profile manager" that I should know about, or is it a "catch-all" category for networking bugs on Moblin?

Revision history for this message
Pat McGowan (pat-mcgowan) wrote :

target beta2

Changed in acton:
milestone: none → beta2
status: New → In Progress
Revision history for this message
Tony Espy (awe) wrote :

Just to be more explicit.

I'm planning on implementing this feature in NetworkManager for the beta2 milestone for Acton.

Right now I'm working on this as a patch, but may find the need to create my own bzr branch of network-manager on launchpad.

Tony Espy (awe)
Changed in acton:
importance: Wishlist → High
Jing Wang (jing-j-wang)
Changed in moblin-network-profile-manager:
assignee: nobody → todd-e-brandt
importance: Undecided → Low
Revision history for this message
ToddBrandt (todd-e-brandt) wrote :

we'll hold off on this as Tony already has a prospective solution in mind

Changed in moblin-network-profile-manager:
status: New → Triaged
Revision history for this message
Tony Espy (awe) wrote : Description of solution

I've implemented a new power-saving scheme for the Jax10. I have not yet pushed my changes to a Launchpad bzr project yet, but will try and do so ASAP.

Currently this solution is implemented via a set of Jax10 specific packages. I have no current plans to push this into the PPA due to the following:

- core UME doesn't include the sd8686 firmware

- the code relies on the fact that I implemented a Hal Killswitch method for the Marvell driver that uses the private deepsleep ioctl ( via iwpriv ).

- the code also relies on a patch to the sd8686 driver so that "iwpriv deepsleep 2" ( query deepsleep status ) will work even if the interface is currently associated with an access point.

It might be possible to make this a generic solution and once I have my code published in a bzr branch, I will try and coordinate with upstream.

The code works like this:

1. The ume-config-jax package installs a Hal .fdi file which adds the KillSwitch capability to the Wi-Fi device.

2. Modified Hal to add a new method in the backend killswitch script to handle type="wlan" and method="marvell"; control of the adapter DeepSleep is accomplished via "iwpriv deepsleep".

2. I added code to nm-dbus-nm.c ( probably not the best place, but sufficient for now ) which allows NetworkManager to send KillSwitch:SetPower On/Off messages to Hal.

3. I added code to nm-device-802-11-wireless.c which modifies the scan scheduling logic such that when the scan interval is changed to inactive ( 2 min ), Wi-Fi is put to sleep at the beginning of this interval and the woken up ~5 seconds before the start of the next scan.

4. If the scan interval is reset due the UI being activated by the user, the card is woken immediately.

Changed in acton:
status: In Progress → Fix Committed
Revision history for this message
Tony Espy (awe) wrote :

Released in beta1.5

Changed in acton:
status: Fix Committed → Fix Released
Revision history for this message
ToddBrandt (todd-e-brandt) wrote :

Closed in lieu of Tony's fix

Changed in moblin-network-profile-manager:
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.