KernelNewbies
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Kernel Hacking

  • Frontpage

  • Kernel Hacking

  • Kernel Documentation

  • Kernel Glossary

  • FAQ

  • Found a bug?

  • Kernel Changelog

  • Upstream Merge Guide

Projects

  • KernelJanitors

  • KernelMentors

  • KernelProjects

Community

  • Why a community?

  • Regional Kernelnewbies

  • Personal Pages

  • Upcoming Events

References

  • Mailing Lists

  • Related Sites

  • Programming Links

Wiki

  • Recent Changes

  • Site Editors

  • Side Bar

  • Tips for Editors

  • Hosted by WikiWall

Navigation

  • RecentChanges
  • FindPage
  • HelpContents
Revision 3 as of 2017-12-30 01:29:53
KernelNewbies:
  • KernelProjects
  • Mac80211Suspend

Problem Description

mac80211 is the Linux stack for wireless hardware that requires MLME implementation in software. Currently, mac80211 does not implement any kind of suspend/resume feature which leads to the following problems even with a short suspend/resume cycle:

  • hardware configuration (channel settings, encryption keys, filters, ...) breaks because hardware is reset
  • associations are assumed to be still valid although the computer may have been suspended for a long time, this leads to problems because mac80211 continually tries to communicate with the AP although it is long gone.

Starting Points

Support for key hardware removal/upload has been added to mac80211 recently, but the other configuration parameters need to be identified and restored to the driver (and thus hardware) at resume time. Additionally, API needs to be defined for drivers to call mac80211's suspend/resume functions at the right spot. It might be possible to have mac80211 register suspend/resume hooks itself but could well lead to ordering problems like trying to do settings on hardware that has not resumed yet.

http://thread.gmane.org/gmane.linux.kernel.wireless.general/16544

Project Difficulty

This project requires getting familiar with mac80211 internals but should be fairly straight-forward because of the limited interaction with the code.

  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01