Is there an easy way to test power modes on SL8082?
Does linux drivers for kernel 2.6.37 support different modes and how power level transitions can be achieved?
Which AT commands are responsible for power management and are supported in SL8082?
Please refer to the “Extended AT Commands.pdf” provided for SL808x to use the AT commands for power management.
The power modes are supported by the Sierra drivers(SL8082).The power levels can be achieved by enabling a macro in the driver code(sierra.c) and by monitoring the device states using /var/log/syslog
Thank you for reply.
Are AT power managment commands supported in firmware
!GVER: S2_0_0_21AP R1071 CARMD-EN-10526 2011/08/30 12:13:02 ?
I use AirPrime SL80xx Socket Board alone - are there any hardware configuration requirements to achieve power management functionality?
All SL80xx supports power saving with same procedure, no specific HW required and you should able to achieve it using the socketup board also.
For detail, please refer to AT cmd and PTS doc.
With power flag enabled in the driver I have current consumption about 20-30 mA (mean value), so it is a bit too much. Usb driver is suspended/resumed.
I tried also SLEEP command but even AT!SLEEP? returned ERROR.
I can’t figure out that should be and conf setup done before i.e. SLEEP command.
AT!SLEEP is a protected command, one should use AT!ENTERCND to get access to protected command.
Do you have AT guide? And are you able to reach your FAE or distributor for further info?
Thanks. I’m not familiar wit AT at all and your answer really helped me.
Yes, I have all needed stuff for this now.
There is different problem but it is on side android drivers and can be located in usb or sierra module.
When POWER_LEVEL_AUTO is enabled I have kernel panics frequently - from unknown reason device is disconnected while suspend/resume transitions.
Would you mind to share the FW version the SL8082 running?
Do you see same pb on Linux Desktop?
!GVER: S2_0_0_21AP R1071 CARMD-EN-10526 2011/08/30 12:13:02
drivers: sierra 1.7.40, sierra_net 3.0
I suppose that it is the newest one.
I haven’t tried on desktop but I will do It - It can be caused by sierra module or also omap usb drivers.
Device is removed from system (not physically) and after that kernel goes crazy.
You can see:
crash.log (36.5 KB)
Please do test on Linux desktop machine and please check OMAP errata as well.
One more question, from where you get these Android driver? Are you using the open source driver available in Sierra website or from FAE/Distributor?
I got drivers from FAE/Distributor -I suppose that drivers distributed with linux kernel do not have usb autoidle support.
I put these drivers (found in RIL integration 2.0.3 for android) into linux 3.0 kernel in PC and it seems to work really good. I haven’t done long time testing.
Does LPM in SL8082 depend mostly on usb autoidle mechanism?
In v 1.7.16 which is in kernel mainline there are sierra_suspend/sierra_resume functions but they are not called even when autoidle is set in sysfs (PM support is enabled).
It is sad but it seems that the problem is in omap-usb itself or configuration.
Thanks for help.
I want to ask this question again. Something strange takes place when RIL daemon is started on Android. I want to achieve the lowest power level as possible. I tried 2 scenarios:
I put proper drivers into kernel with autosuspend enabled. The RIL daemon is not started so modem is not connected to any network etc. The consumed current is low (about 4 mA). I can see that usb is suspended and resumed. Also I disabled autosuspend and current increased to 60-70 mA. So it looks ok.
Similar to 1. but ril daemon is started. Logs from kernel say that usb is suspended/resumed (usb autosuspend is enabled) but current is about 50-70 mA. I understand that modem is connected to a network but I expected that current would be the same as in scenario nr 1.
I’ve started to wonder what ril library (ril 2.03) do with the modem (which AT command can affect on power transitions) , maybe it is configuration. Is there any chance to achieve 4 mA ? What configuration fields are worthy to check to figure out the cause of the problem?
From (1), we can verify that module and driver able to enter low power mode.
For behavior in (2), I believe RIL daemon try to query AT cmd from time to time so we expect SL module keep working thus avoid entering sleep.
Still, I guess you should expect the low power (~4mA) during device suspend.
Hope it helps.
I work with 2 modules SL8082 and SL8090 on Android 2.3.4 and RIL 2.03. As you wrote I should expect current draw about 2-4 mA but it is not possible if I use the RIL (I have 20-30 mA with RIL enabled and no data connection [SL8090]) - I examined logs from driver and USB bus seems to be in suspend mode - there is no traffic. At the beginning I thought that RIL can produce to much traffic on USB bus and this can prevent suspend mode but I was wrong. Now I’m trying to watch AT commands which were sent to modem and can force certain power level but they seem to be pretty neutral for power consumption.
About power level at all - from my tests SL8090 can achieve 4 mA (even less) but I managed to configure it using
simple script and pppd.
here are some RIL logs:
One interesting thing is that the modem acts differently when incoming phone call is rejected or not.
If call is picked up and ended SL8090 returns to proper power level. So if one call is made the modem starts to
have proper PM.
Such behaviour is achieved using reference-ril 1.0 from android and ppp connection for data.
I can’t understand why current consumption is increased.
When there is only ppp connection (data) - only pdp context is set the consumption is very low.