sd8686: Can't query deepsleep mode while associated
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Moblin Kernel |
Fix Released
|
Low
|
Feng Tang |
Bug Description
During power consumption testing we determined that the only way to reduce power consumption of the Wi-Fi card while un-associated was to put the adapter into "Deep Sleep" mode via a driver-specific ioctl.
We found that the radiooff doesn't have the same effect on power consumption.
So, while trying to modify the Hal backend scripts to control the Wi-Fi power via "iwpriv wlan0 deepsleep X", I noticed that not only does the code disallow setting the mode while associated, it also disallows querying the current setting. This is partially due to the fact that instead of creating a separate "getdeepsleep" ioctl, the value '2' is used with "deepsleep" to return the current value.
In wlan_wext.c : wlan_deepsleep_
if (Adapter-
PRINTM(MSG, "Cannot enter Deep Sleep mode in connected state.\n");
return -EINVAL;
}
I'll attach a patch later this afternoon. The above code should only come into play if the value passed to the ioctl is 0 or 1.
Changed in moblin-kernel: | |
status: | New → Triaged |
Changed in moblin-kernel: | |
milestone: | none → m11 |
Changed in acton: | |
milestone: | none → beta2 |
Changed in moblin-kernel: | |
status: | Fix Committed → Fix Released |
Feng, pls. have a look at this bug.