SL80XX linux pm faulty behaviour



I have some problems with power management in SL8090 and SL8082 using
linux drivers sierra.c and sierra_net.c (2.0 and 3.0) in direct-ip mode.

I want to ask about meaning of some defines in sierra_net.c modem driver.


is used for timer and scheduling work which sends/receives some data
(kind of sync). Such timing will brake usb pm (autosuspend) because
autosuspend - too frequent communication disables suspend.
After increasing this time usb autosuspend is achieved but data
connection is unstable. Data connection is stopped (dead until modem reboot)
and sometimes the modem can reboot itself (or usb iface).
The same behaviour is when SIERRA_NET_SYNCDELAY is unchanged (2 HZ - seconds)
but autosuspend is set to 0 in kernel sysfs.

It seems that every pm cycle in usb can lead to some bogus behaviour, using
direct-ip mode.

I have tested the modems witch ppp configuration (sierra.c is only used)
and it seems to work better.

I will be grateful for any help or opinion.




SIERRA_NET_SYNCDELAY parameter is for clock synchronization between processor and drivers.

from sierra_net.c,"#define POWER_LEVEL_AUTO" can be uncommented to force power level set to auto.This will enable to put the module in low power mode when automatically.

Also,this does not work,you can uncomment the #define DEBUG abd capure sys logs to analyze.



I done it at the beginning of work with them modem. There is nothing special in logs.

On the other hand i found some interesting thing. It is the difference between two configurations:

  1. modem is configured by pppd alone so there is only APN set so there is used several AT commands like ATZ,
    AT+CGDCONT=1,“IP”,“internet” - 2 mA consumption in sleep.

  2. It is started by RIL (this one from Sierra) or reference RIL from Android. In both cases current consumption is about 20 mA and more. It looks like there is no special communication with the modem (ttyUSB dev are untouched at this time and usb read/write methods are not called). POWER_LEVEL_AUTO is also set. I start to think that
    the modem firmware in some cases won’t sleep. The reference-ril conf is interesting because it do not use sierra_net driver but only sierra and pppd. The difference between pppd alone conf is that there are several AT commands sent but anyone seems to affect power consumption directly. The same is with sierra ril 2.03. I sniffed traffic on usb but there is nothing special. It was logged that this usb device is autosuspended but still there is 20 >= mA

Is there any way to find out about the modem state - dump some statistic form SL8090 device. I’m confused but I guess that it can be some firmware issue (or configuration).