[coreboot] rfkill equivalent on the X60 - first partial success

Charles Devereaux coreboot at guylhem.net
Sun Dec 7 04:31:23 CET 2014


Hello

On Sat, Dec 6, 2014 at 9:09 PM, Vladimir 'φ-coder/phcoder' Serbinenko <
phcoder at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20141206/78b3a3df/attachment.html>


More information about the coreboot mailing list