WP7702 Power optimization

We are trying to optimize the consumption of the WP7702 modem. We have 2 modes, one in which the system is fully operational and therefore GPS + GSM and a state (the one in which the modem remains most of the time) in which the GSM system is registered but inactive and the GNSS is turned off. I would need the WP7702 modem to remain in a low power state when not transmitting, but with the modem in registered state, capable of receiving SMS at least. GNSS is turned off. The target consumption would be around 30mA when in this state. I have tried different combinations, but excluding the methods in which I completely turn off the device (and then wake it up with an accelerometer or when a timer expires), consumption remains around 80Ma, and we are running out of ideas. Any suggest?

Regards,
Gianmaria

does this help on HSIC turned off?

Have you put the module to USB_SS mode?

How much current did the module consume when it is in power off mode with AT+CFUN=0 ?
Can it reach to this level?

Dear jyijyi,
we dont use LTE-NB modes, but just GSM (radio rat GSM). In ULPM mode we are round 2 microA. This is nice. What we are looking for is a middle-way mode. Modem registered cause customer have to send SMS and wake-up the system but at same time optimze as much as we can this idle state.

Actually we sand this commands to optimize when low power needed:

“echo -e "AT!LEDTEST=0,1;!LEDTEST=0,0\r\n" > /dev/ttyAT”
“echo 0 > /sys/bus/usb/devices/usb1/authorized”
“echo NO_SLEEP > /sys/power/wake_lock”
“echo interactive > /sys/bus/cpu/devices/cpu0/cpufreq/scaling_governor”

But all this commands dont seems to have a great effect on power consumption.

We are also tring to optimize code as much as we can but we need a coumple of timers running in code at least. We cant avoid using.

can you specify: Have you put the module to USB_SS mode?

thanks,
Gian

If you use this, the application processor will not go to sleep

To get into usb_ss mode, easiest way is to remove the usb cable from the host.

Or you can also see this.
Here is an example on how to control the USB in linux:

Sorry i copied the wrong line from code. We send the no_sleep when we came out from Power Save. Ignore that line.

Thanks for the document, i will try it later.
Any other command i can issue to optimize?

I Also want to try to issue AT+KSLEEP=1 to see if have some effects.

Regards,
Gian

How much current did the module consume when it is in power off mode with AT+CFUN=0 ?

70mA in CFUN=0 and AT+KSLEEP=1 (but i dont know if it ever enters KSLEEP mode).

So problem is not related to gsm at least, but 70ma does not meet the specification

Maybe module does not go to usb selective suspend mode

Did you try to remove usb cable?

Please note that if modules goes to usb selective suspend mode, there is no response on uart2 console port, so you can double check that

I remove the usb cable, but when I reconnect the console is active. How can I solve this? There are specific commands or settings?

Thanks for your help

Gianmaria

How is the current consumption when removing the usb cable?

Round 70 ma. No difference.

if so, then network and USB are not related to your problem. Probably your circuit has some current leakage

BTW, after you remove the USB cable, have you checked if there is response in the UART2 console port?

The console is still responsive. But on the board now i have a connector for both console and usb. I will discuss it with engineering and will give you some feedbacks…

thanks

That means it is not in usb selective suspend mode, you need to check wake_lock to see what is holding the module to go to sleep mode

root@swi-mdm9x28-wp:~# cat /sys/power/wake_lock
NO_SLEEP

What value is expected here instead of NO_SLEEP?

Seems you have input this command:

echo NO_SLEEP > /sys/power/wake_lock

Yes… in legatostart.sh… but now it’s removed.

then can it sleep? what do you see in wake_lock now?

root@swi-mdm9x28-wp:~# cat /sys/power/wake_lock
app_init

and after some a while
root@swi-mdm9x28-wp:~# cat /sys/power/wake_lock

nothing.

Oct 27 16:45:55 swi-mdm9x28-wp user.info kernel: [ 393.271420] msm_hsic_host 7c00000.hsic_host: HSIC-USB in low power mode

then if you remove the USB cable now, will the UART console still have response?