Merge lp://staging/~vicamo/ubuntu/vivid/wpa/add-wowlan-support into lp://staging/ubuntu/vivid/wpa

Proposed by You-Sheng Yang
Status: Needs review
Proposed branch: lp://staging/~vicamo/ubuntu/vivid/wpa/add-wowlan-support
Merge into: lp://staging/ubuntu/vivid/wpa
Diff against target: 39148 lines (+38938/-0)
19 files modified
.pc/add-wowlan-configuration-support.patch/src/drivers/driver.h (+3847/-0)
.pc/add-wowlan-configuration-support.patch/src/drivers/driver_nl80211.c (+11773/-0)
.pc/add-wowlan-configuration-support.patch/wpa_supplicant/config.c (+3468/-0)
.pc/add-wowlan-configuration-support.patch/wpa_supplicant/config.h (+1042/-0)
.pc/add-wowlan-configuration-support.patch/wpa_supplicant/config_file.c (+1147/-0)
.pc/add-wowlan-configuration-support.patch/wpa_supplicant/driver_i.h (+607/-0)
.pc/add-wowlan-configuration-support.patch/wpa_supplicant/wpa_supplicant.c (+4451/-0)
.pc/applied-patches (+2/-0)
.pc/install-nl80211-disconnect-wowlan-trigger-at-startup.patch/src/drivers/driver_nl80211.c (+11857/-0)
debian/patches/add-wowlan-configuration-support.patch (+474/-0)
debian/patches/install-nl80211-disconnect-wowlan-trigger-at-startup.patch (+55/-0)
debian/patches/series (+2/-0)
src/drivers/driver.h (+19/-0)
src/drivers/driver_nl80211.c (+92/-0)
wpa_supplicant/config.c (+2/-0)
wpa_supplicant/config.h (+7/-0)
wpa_supplicant/config_file.c (+4/-0)
wpa_supplicant/driver_i.h (+8/-0)
wpa_supplicant/wpa_supplicant.c (+81/-0)
To merge this branch: bzr merge lp://staging/~vicamo/ubuntu/vivid/wpa/add-wowlan-support
Reviewer Review Type Date Requested Status
Mathieu Trudel-Lapierre Needs Fixing
Review via email: mp+264157@code.staging.launchpad.net

Description of the change

This change back ports WoWLAN configuration support from upstream commit http://w1.fi/cgit/hostap/commit/src/drivers?id=e4fa8b120bf0014bc7f6f79f8d85923215833c9f , which is only available in v2.2 or newer, and installs a "disconnect" trigger automatically when changing interface mode.

This is for https://bugs.launchpad.net/tangxi/+bug/1465520 , Arale WiFi suspend power consumption improvements. For kernel v3.10(?) or newer, wlan devices with no wowlan trigger installed will be deactivated in function `wiphy_suspend` by calling function `cfg80211_leave_all` and results a DISCONNECT event dispatched to NetworkManager. NetworkManager on Arale does not aware that system is going to suspend, so it asks wpasupplicant to reconnect the device upon such DISCONNECT event received. Then it becomes a endless loop between kernel, wpasupplicant and NetworkManager, and the system is busy all the time, kills the battery in a few hours. With at least one trigger installed, such loop is prevented.

There is no WoWLAN configuration support in v2.1, so there shouldn't affect current system in installed wowlan triggers.

To post a comment you must log in.
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Have all the patches been sent upstream for review? It would be nice to have a trace of this on the relevant patches (ie. links to mailing list posts maybe?)

To go along with this, so we can provide this fix as a Stable Release update, please open a *public* bug that has all the information, against wpa, so that we can track the whole SRU process.

review: Needs Fixing

Unmerged revisions

20. By You-Sheng Yang

nl80211: install disconnect trigger at startup

This installs WoWLAN dissconnect trigger if supported. For WoWLAN
supported devices with kernel version 3.10 or newer, this keeps the
device from being disconnected before going to suspend, so that
NetworkManager won't be busy reconnecting the device during the
suspend-resume process.

19. By You-Sheng Yang

wpa_supplicant: Add Wake-on-WLAN configuration support

Add a new wowlan_triggers option to wpa_supplicant.conf. The triggers in
this key will be used to configure the kernel wowlan configuration.

For now, support only simple flags. More complex triggers can be added
later on.

cherry-picked from commit e4fa8b120

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches