Re: [MM master] Re: [MM06] [PATCH] sierra: use +CFUN=4 for powering down



Den 10. sep. 2012 11:56, skrev Aleksander Morgado:
See patch attached.

sierra: use +CFUN=4 for powering down

    plugins/mm-modem-sierra-gsm.c |   32
++++++++++++++++++++++++++++++++
    1 file changed, 32 insertions(+)
This also needs to be intregrated in the master branch version.
Attached
is my attempt to do it, but it seems not to work. I see no effect of
disabling the modem with "mmcli -m X -d".
See review below.

Also, it seems like the power down is not done before the modem enters
disabled state at startup of MM or after modem is inserted, so I
filed a
bug about that:

https://bugzilla.gnome.org/show_bug.cgi?id=683681

Yes, that's a known issue, see TODO in the source tree.
The text there is slightly incorrect. It does not help if the modem is
in low power mode when started (some might also be configured to be),
because at least in the Sierra plugin, it is waked up to CFUN=1 in the
init anyway. This could be avoided by accepting CFUN mode 4 and 7 as
well. But then it must be changed to mode 1 when connecting.

I am not sure if all the init steps are possible in low power mode.

CFUN=1 is sent when *enabling* the modem, not during init. All the init
steps should really be possible while in CFUN=4 low power mode as that
should only kill the radio power.
Sorry, I did not test it or dig deep enough in the code. If I sent the 
modem to CFUN=4, it actually keeps this state after the init, and 
enabling works fine.
Also, for Sierra modems there's the problem that CFUN=1 may actually
reboot the modem, so the problem with powering down the radio with
CFUN=4 in Sierra is that this may require a reboot/reprobing of the
modem afterwards :-/ IIRC Wavecom (which also suffers from the same
issue) had a CFUN=1,0 to try to go into full functionality mode without
rebooting, not sure if Sierra has something similar.
Seems my Sierra modem has the same:

+CFUN: (0-1,4-7),(0-1)

but the default is ",0" on my modem, as "CFUN=1,1" behaves just like "CFUN=1", but "CFUN=1,1" causes a restart.
We could do a detection of the right version by using some regex of the 
CFUN=? output.
--
Marius



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]