> To emulate rfkill functionality, just write directly to the ec, for ex > to turn on wwan and wifi: > ./ec_access -w 0x3a -v 0x60 > Usecase?
Example: I have a wwan card, but I mostly use it for GPS. I can save some power by turning it off without rebooting, while keeping wifi on with:
I'd like to see some real figures on power saved between idle wwan and disabled wwan, I really doubt it's anything noticeable
The hardware button is not safe enough : register 0x3A hasthe H/W Override bitto "enable to control wireless devices even if the global WAN disable switch is ON". Disabling the USB ports through the RCBA registers (nice idea!) would prevent such an override.
Also, it would save more power on the wwan that the hardware button : the wwan module is not fully desactivated since it replies to AT commands
Several persons do not fully trust a wwan module. Physically removing it is the solution suggested. Disabling the usb port would be a simpler solution for those than do not want to physically open their laptop yet do not trust the hardware button due to the override bit.
wwan module is powered unconditionally. So if you don't trust it - remove it. Also none of disables discussed here is irreversible if you're concerned about rogue software.
It seems to have several usecase.
None of them looks valid
Hello
On Sat, Dec 6, 2014 at 9:09 PM, Vladimir 'φ-coder/phcoder' Serbinenko < phcoder@gmail.com> wrote:
Example: I have a wwan card, but I mostly use it for GPS. I can save some power by turning it off without rebooting, while keeping wifi on
with: I'd like to see some real figures on power saved between idle wwan and disabled wwan, I really doubt it's anything noticeable
Correct.
I don't have a x60 with an "official" wwan module, so can't test how it works with lenovo bios (saving more or less power?), but from the datasheet of a Huawei 770, with idle meaning usb connected, and disabled meaning rfkill (hardware switch or using ec_access to write to the H8) : - in idle mode it goes from ~92 mA when it's disabled to about ~100mA when it's not (I'm using an average of 3G and 2G power consumption, but they only differ by about 4 mA) - when it's suspended, between 3 and 4mA (tell me if you want a copy of the datasheet. I guess it's similar to other modules)
So basically, the hardware switch or the ec_access command disable currently saves 8 mA, about 0.026W at 3.3.V, ie almost nothing, while properly suspending wwan and not letting it come back in idle mode (or even disconnecting it from the USB bus) would save 90 mA so 0.330 W, which starts becoming interesting.
The latter can be already be done with ec_access and echo -n "suspend" > /sys/bus/usb/drivers/whatever/power/level, but that's not very user friendly, and I don't know if the module won't try to wake-up from suspend.
wwan module is powered unconditionally. So if you don't trust it - remove
it.
It can be powered, since in the X60 the WWAN port only has the USB lines wired, so it's not much of a security problem for the PCI bus as long as it is not connected to the USB bus where it could wake up from suspend and pretend to be many different things.
The hardware swich properly disconnects the bluetooth module from USB. It would be nice to do the same for wwan, but I guess ec_access and echo -n "suspend" are better than nothing. I plan to try and create a rfkill-wwan kernel module doing just that. I tried to find some code example for the RCBA but couldn't.