[Gta04-owner] Modem USB suspend (possible ~80mA reduction on active system?)

Dr. H. Nikolaus Schaller hns at goldelico.com
Sun Jun 1 10:09:27 CEST 2014


Hi Sebastian,

Am 01.06.2014 um 02:19 schrieb Sebastian Krzyszkowiak <dos at dosowisko.net>:

> Hello!
> 
> I spent last days playing a lot with Cinterion PHS8 modem connected to
> PC and operated by fsogsmd. And... one thing caught my attention.
> 
> PHS8 has a LCI - Low Current Indicator - which on my Neo900 prototype
> board is connected to a LED. It shines when the modem is in SLEEP mode
> with lowest power consumption rate.
> 
> Initially I thought that this LED is broken (and knowing that there
> was some mistake in LEDs design of that proto it was easy to believe)
> as I haven't seen it shining, but once, after playing with modem
> settings that enable this indicator (without any results), I unplugged
> the USB cable while leaving the modem on... and tada, LED shined
> brightly!
> 
> This meant that with USB cable attached, modem didn't go into SLEEP
> state at all. However, quick look at modem spec told me that modem
> should go into SLEEP state when either USB is disconnected or...
> suspended.

Yes, that is what I would expect as well.

> 
> I recalled that PowerTOP had some options for auto-suspending USB, so
> I launched it, went to "Tunables" and switched "Autosuspend for USB
> device PH8 [Cinterion]" from "Bad" to "Good".
> 
> Tada! LED shined brighly (with some occasional blinks).
> 
> So it looks like Linux doesn't automatically enable power saving of
> USB devices! I started to wonder if maybe something similar could have
> place on GTA04 with its Option GTM601 modem. I've checked on SHR.
> 
> root at om-gta04:~# cat
> /sys/devices/platform/usbhs_omap/ehci-omap.0/usb1/1-2/power/control
> on
> 
> "on" means "constantly on", so no suspend. Power consumption: about
> 250-260mA, stable
> 
> echo auto > /sys/devices/platform/usbhs_omap/ehci-omap.0/usb1/1-2/power/control
> 
> Power consumption: about 170-180mA, jumping back from time to time to
> 250-260mA and returning again to former ones. Jumps are probably
> caused by modem resuming due to _QSIGQ reports (network signal
> strength) which are sent pretty often - I guess configuring the modem
> properly could reduce it and make the modem sleep more.
> 
> Communication with the modem appears to still work (or at least in no
> worse way than before - modem support in SHR isn't perfect yet :P).
> 
> I have added following udev rule:
> 
> ACTION=="add", SUBSYSTEMS=="*", TEST=="power/control",
> ATTR{power/control}="auto"

isn't that a little too generic?

> 
> ...and power saving mode is now enabled automatically on boot.
> 
> Is this something that was already known or a new finding? (it's for
> sure something new for SHR it seems ;))

I don't remember that we did discuss that before. Maybe it was done
in QtMoko because Radek just was more aware, but he can comment
best on this.

At least it should reduce power consumption while the device is
resumed. It will not save power during suspend (which is the more
critical part because id defines the standby time).

There is also a minor difference between GTM601 and PHS8. The
PHS8 has a sense line to detect the +5V VBUS while the GTM601
doesn't (it just looks for 3.3V activity on D+ and D-).

So the way VBUS of a real or "virtual" USB host socket is controlled
by the EHCI+PHY subsystem may also influence the modem going
to sleep.

BR,
Nikolaus



More information about the Gta04-owner mailing list