History log of /external/autotest/client/cros/cellular/pseudomodem/modem.py
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
32e5b1007e23a9a95139a21765adf92542160a05 02-May-2014 Prathmesh Prabhu <pprabhu@chromium.org> autotest: pseudomodem: import dbus.service explicitly when needed.

dbus.service was used in many places without explicit import.
This breaks when submodules are used by tests.

BUG=None.
TEST=(1) Run pseuomodem standalone.
(2) Run network_3GSmokeTest.pseudomodem

Change-Id: I7966f7e18311788af0156038e43e1a8afaf2fdc6
Reviewed-on: https://chromium-review.googlesource.com/197893
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Thieu Le <thieule@chromium.org>
Commit-Queue: Prathmesh Prabhu <pprabhu@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
f4a8ac8f76cfc06249dc8139fca4728700d8b0dc 14-Apr-2014 Thieu Le <thieule@chromium.org> pseudomodem: Fix DeleteBearer() failure when bearer is not connected

BUG=chromium:363385
TEST=network_SIMLocking

Change-Id: Iaee34c478191185e857d134362b074e7684c848d
Reviewed-on: https://chromium-review.googlesource.com/194874
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
Commit-Queue: Thieu Le <thieule@chromium.org>
Tested-by: Thieu Le <thieule@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
8e81156f1f2fd18b8b648b34e2e72f4b2d37d48f 10-Apr-2014 Thieu Le <thieule@chromium.org> pseudomodem: Make DeleteBearer behave like ModemManager

BUG=chromium:362275
TEST=cellular_OutOfCreditsSubscriptionState

Change-Id: I1c7de303848063eb2be57ba0d006180d079c227e
Reviewed-on: https://chromium-review.googlesource.com/194146
Reviewed-by: Thieu Le <thieule@chromium.org>
Commit-Queue: Thieu Le <thieule@chromium.org>
Tested-by: Thieu Le <thieule@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
c43ea562a0447330b26eeec3c7b1fb935958e985 08-Feb-2014 Prathmesh Prabhu <pprabhu@chromium.org> pseudomodem: Some simple style fixes.

Fix where this doesn't hold:
- Two lines between top level classes, functions, class methods.
- No lines between @param/@returns/@raises in docstrings
- One blank line at the end of docstring, unless it's a one line docstring.
- Uniformity: Change to @returns and @raises.

BUG=chromium:339312
TEST=None.

Change-Id: I959aa27875531644fd0f34a54d0046a059dbf164
Reviewed-on: https://chromium-review.googlesource.com/185475
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
Commit-Queue: Prathmesh Prabhu <pprabhu@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
c569e99b922542e7ddbbc4cd465fc8328ec16214 22-Jan-2014 Thieu Le <thieule@chromium.org> cellular: Refactor pseudomodem mm1.py into constants and errors.

cros/cellular/mm1_constants.py: This module contains ModemManager
specific constants which are used by the pseudomodem and a future
ModemManager proxy.

cros/cellular/pseudomodem/pm_constants.py: Pseudomodem specific
constants (eg. testing interface, state machine names)

cros/cellular/pseudomodem/pm_errors.py: Pseudomodem specific exception
classes.

BUG=chromium:219144
TEST=network_3GDisconnectFailure/control
network_3GDisableWhileConnecting/control.pseudomodem
network_3GFailedConnect/control.pseudomodem
network_3GIdentifiers/control.pseudomodem
network_3GModemControl/control.pseudomodem
network_3GModemPresent/control.pseudomodem
network_3GSafetyDance/control.pseudomodem
network_3GScanningProperty/control
network_3GSmokeTest/control.pseudomodem
network_3GStressEnable/control.pseudomodem
network_CDMAActivate/control
network_ChromeCellularNetworkPresent/control
network_ChromeCellularNetworkProperties/control
network_ChromeCellularSmokeTest/control
network_LTEActivate/control
network_SIMLocking/control

Change-Id: I7b02cf0ee6b1b73fb1eb7fcf0f10068e7515e465
Reviewed-on: https://chromium-review.googlesource.com/183526
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Thieu Le <thieule@chromium.org>
Commit-Queue: Thieu Le <thieule@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
020e9a87a0a0e607eab3494ac8468315ddc33c25 15-Jan-2014 Prathmesh Prabhu <pprabhu@chromium.org> pseudomodem: Add 'Bearers' property to I_MODEM interface.

ModemManager now has a 'Bearers' property on the
org.freedesktop.ModemManager1.Modem interface. Since crosreview.com/181717,
shill tracks property updates on this property to maintain its list of known
bearers. This CL brings pseudomodem up to the mark.

BUG=chromium:334436
TEST=network_3GModemControl.pseudomodem passes.

Change-Id: I63f0ec705b15a48af0abdfb5047774cb1cc13a56
Reviewed-on: https://chromium-review.googlesource.com/182538
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
Commit-Queue: Prathmesh Prabhu <pprabhu@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
6be2bce4a88f601f488643cfec2c1c8831c61091 07-Jan-2014 Prathmesh Prabhu <pprabhu@chromium.org> pseudomodem: Improve dbus method logging further.

dbus-python catches exceptions raised when servicing a dbus remote call and
returns error to the remote caller. This hides the exceptions from the user of
the python module.

This CL adds a decorator that logs the return value (or error) of a dbus call
before returning it to the remote caller. This is the second attempt in this
regard. Improvements:
- In the earlier impelementation, we missed out on base class implementations
of the methods decorated with dbus.service.method
This problem is not solved, but the new decorator must be used with the most
concerete implementation of the function.
- We now support logging the returns/errors sent asynchronously.

BUG=chromium:326394
TEST=(1) Run pseudomodem in standalone mode. Make sure you see logs from
SimpleModem::Connect method.
(2) Raise an exception in StateMachine::Step and make sure it gets logged.
(3) Run pseudomodem autotests.

Change-Id: Ic00c03f03e1d902c2bd1b9bebd92f0411608d45b
Reviewed-on: https://chromium-review.googlesource.com/180085
Reviewed-by: Ben Chan <benchan@chromium.org>
Commit-Queue: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Thieu Le <thieule@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
4b64e9ff090ace27a336d1444a120f22fba15cc9 05-Dec-2013 Prathmesh Prabhu <pprabhu@chromium.org> pseudomodem: Add interactive state machines

This CL adds an option to run pseudomodem machines in interactive mode. When a
state machine is run in this mode, it exports a new testing object on a testing
interface, and waits for an |Advance| call on this testing interface before
taking each step. This is intended to allow tests fine grained control on the
progress of the state machine.

Specifically, this CL,
(1) Extends StateMachine to support interactive mode
(2) Adds a StateMachineFactory to increase flexibility in how state machines
are instantiated by the Modem.
(3) Extends the standalone mode of pseudomodem to run with some or all state
machines in interactive mode.
(4) Extends Client to add basic functionality to allow interacting with a
machine from the cli.

BUG=chromium:326439
TEST=(1) Run pseudomodem in standalone mode and interactive mode with
interactive state machines.
(2) Run existing pseudomodem tests.
Change-Id: Ic448be4958904842a683bd441362ae0262c1c3bc
Reviewed-on: https://chromium-review.googlesource.com/179070
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
Commit-Queue: Prathmesh Prabhu <pprabhu@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
133ca6d66774bf3b8de9e3568afdf7b3340135c2 06-Dec-2013 Prathmesh Prabhu <pprabhu@chromium.org> pseudomodem: Improve dbus method logging

dbus-python catches exceptions raised when servicing a dbus remote call and
returns the error to the remote caller. This hides the exceptions from the user
of the python service. This CL add a decorator that logs the return value (or
error) of a dbus call before returning it to the remote caller.

BUG=chromium:326394
TEST=(1) Run pseudomodem in standalone mode.
(2) Raise an exception in StateMachine::Step and make sure it gets logged.
Without this CL, that would have been a silent death.
(3) Run pseudomodem autotests.
Change-Id: I982a41ad028c1dec3066fd715aa7811b64870c19
Reviewed-on: https://chromium-review.googlesource.com/179013
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
Commit-Queue: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
5e9c75754783e81975e0208c32e984269a988b20 12-Sep-2013 Prathmesh Prabhu <pprabhu@chromium.org> pseudomodem: Export the Ports property on modem interface correctly.

The ports property must specify the AT and the net ports used by the
pseudomodem. Shill now uses this property to obtain the net port.

BUG=chromium:289140
TEST=Run network_3GSmokeTest.pseudomodem

Change-Id: I82187003ffac6f1441aaa05fe9e8101f65db6264
Reviewed-on: https://chromium-review.googlesource.com/169203
Reviewed-by: Arman Uguray <armansito@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
Commit-Queue: Prathmesh Prabhu <pprabhu@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
6e5f5087e263d7bf17dda8b8324c6b1648debcb9 16-Aug-2013 Arman Uguray <armansito@chromium.org> pseudomodem: Add support for 'VendorPcoInfo'.

Added support for reading and debugging the Modem3gpp VendorPcoInfo property.

BUG=chromium:273847
TEST=1. stop modemmanager; pseudomodem.py -f 3GPP -i
2. Use "set pco" to set the pco value.
3. The org.freedesktop.ModemManager1.Modem.Modem3gpp.VendorPcoInfo
property should update to the value set by "set pco". Check
using DBus-Python.

Change-Id: I9c52b4165fd909f81c4cfc71c37e9778c61b741d
Reviewed-on: https://gerrit.chromium.org/gerrit/66052
Reviewed-by: Thieu Le <thieule@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
Commit-Queue: Arman Uguray <armansito@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
f4fc926ee1a10609e545b0edbc2921be93a78790 06-Aug-2013 Arman Uguray <armansito@chromium.org> pseudomodem: Added SMS support.

Pseudomodem can now simulate fake SMS reception. It doesn't yet handler
multi-part SMS.

BUG=chromium:268573
TEST=1. stop modemmanager; stop cromo; pseudomodem -f 3GPP -i
2. In the shell run 'sms 15555555555 This is a fake SMS message.'
The UI should notify the arrival of a new SMS.

Change-Id: Iceadfd77cf0bd436c6f1b781311de37d28d61395
Reviewed-on: https://gerrit.chromium.org/gerrit/65037
Commit-Queue: Arman Uguray <armansito@chromium.org>
Reviewed-by: Arman Uguray <armansito@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
ed1b5861b9cf7e5f1307e5558beb0016e532a1eb 16-Jul-2013 Arman Uguray <armansito@chromium.org> pseudomodem: Support roaming.

Added support for roaming in 3GPP.

BUG=chromium:260524
TEST=1. network_3GSmokeTest/control.pseudomodem
2. - stop modemmanager
- cd /usr/local/autotest/cros/cellular/pseudomodem
- ./pseudomodem -f 3GPP -r 5
- Navigate to Settings. Click on the cellular network and choose
'Other mobile network...'
- This should bring up a menu containing 5 networks with the
name 'Roaming Network Long i' where i is an integer in [0-4].
In addition, the home network 'Test Network - Fake' should be
displayed.
- Connecting to a roaming network should display the roaming
triangle icon on top of the bars. Any one of these networks
should be connectable.

Change-Id: I974faf8891f3d975d02f4a323daee4b50223227a
Reviewed-on: https://gerrit.chromium.org/gerrit/62073
Reviewed-by: Thieu Le <thieule@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
Commit-Queue: Arman Uguray <armansito@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
22166000282b57509b2df7d8532880e967830971 20-Jun-2013 Arman Uguray <armansito@chromium.org> pseudomodem: Implement SIM pin disable.

Implemented PIN disabling for
org.freedesktop.ModemManager1.Sim.EnablePin.

BUG=chromium:249184
TEST=- Start pseudomodem in locked mode.
- Run 'mmcli -i 0 --disable-pin --pin=1234'. This should fail
with 'Incorrect password'. Running this too many times should
PUK-lock the SIM.
- Restart pseudomodem in locked mode.
- Run 'mmcli -i 0 --disable-pin --pin=1111'. This should
succeed. 'mmcli -m 0' should show 'none' as the value for
'enabled locks' under 3GPP.
- Run 'mmcli -m 0 -r'. Modem and SIM should reset.
- 'mmcli -m 1' should show that the modem is not in the 'locked'
state and 'enabled locks' under 3GPP should remain as 'none'.

Change-Id: I4c62e7c6179dd2b4120bd722b785e05341ed8548
Reviewed-on: https://gerrit.chromium.org/gerrit/59367
Reviewed-by: Arman Uguray <armansito@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
Commit-Queue: Arman Uguray <armansito@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
99d6065c3e945e5bf223edf722dbb341371b58b7 20-Jun-2013 Arman Uguray <armansito@chromium.org> pseudomodem: Implemented PIN enable.

Implemented PIN enabling for
org.freedesktop.ModemManager1.Sim.EnablePin.

BUG=chromium:249184
TEST=(1) - Start pseudomodem in unlocked mode.
- Run 'mmcli -m 0 -r'. Modem and SIM should reset.
- Run 'mmcli -i 1 --enable-pin --pin=1234'. This should fail
with 'Incorrect password'. Running this too many times should
PUK-lock the SIM.
- Restart pseudomodem in unlocked mode.
- Run 'mmcli -i 0 --enable-pin --pin=1111'. This should
succeed. 'mmcli -m 0' should show 'sim' as the value for
'enabled locks' under 3GPP.
- 'mmcli -m 0 -r'. Modem and SIM should reset.
- 'mmcli -m 1' should show that modem is locked.
(2) Also verify that mmcli --pin and --puk works correctly.

Change-Id: Ic2cc6d880a929e7a560372fd813a2617726c5589
Reviewed-on: https://gerrit.chromium.org/gerrit/59356
Commit-Queue: Arman Uguray <armansito@chromium.org>
Reviewed-by: Arman Uguray <armansito@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
bcb8e3102a5c90fd0d78cd6a8fcfe22350a46291 19-Jun-2013 Arman Uguray <armansito@chromium.org> pseudomodem: Implement sim.SIM.SendPuk.

Implemented org.freedesktop.ModemManager1.Sim.SendPuk.

BUG=chromium:249184
TEST=Initialize a SIM locked pseudomodem and enter the wrong PIN to
bring it to to a 'PUK locked' state. Verify that:
- Entering the wrong PUK decreases the PUK retry count.
- Entering the wrong PUK too many times causes a SIM failure.
- Entering the correct PUK unlocks the SIM and the modem becomes
registered.

Change-Id: I56b5c026b1a6c0d4ee74f1a7dd7de8354c4ff76a
Reviewed-on: https://gerrit.chromium.org/gerrit/59300
Reviewed-by: Ben Chan <benchan@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
Commit-Queue: Arman Uguray <armansito@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
d86715c7469992a66ce5e820491414af88e794cd 18-Jun-2013 Arman Uguray <armansito@chromium.org> pseudomodem: Add basic SIM lock support.

Pseudomodem now supports basic SIM locking. This enables the pseudomodem
to be initialized as locked and allows shill's static behavior to be
tested.

BUG=chromium:249184
TEST=(1) Run './pseudomodem -f 3GPP.' Use mmcli to verify that the
following values match:
- lock: 'none'
- unlock retries: 'unknown'

Run 'connectivity show devices' to verify the following matches:
- Cellular.SIMLockStatus/0/LockEnabled: false
- Cellular.SIMLockStatus/1/LockType:
- Cellular.SIMLockStatus/2/RetriesLeft: 999

(2) Run './pseudomodem -f 3GPP -l'. Use mmcli to verify that the
following values match:
- lock: 'sim-pin'
- unlock retries: 'sim-pin (3), sim-puk (3)'
- state: 'locked'

mmcli should also show display no properties for '3GPP'.

Run 'connectivity show devices' to verify the following matches:
- Cellular.SIMLockStatus/0/LockEnabled: true
- Cellular.SIMLockStatus/1/LockType: sim-pin
- Cellular.SIMLockStatus/2/RetriesLeft: 3

Change-Id: Ic8b5189ae4b86e17c01d1732d9fc09517aa7498a
Reviewed-on: https://gerrit.chromium.org/gerrit/58957
Commit-Queue: Arman Uguray <armansito@chromium.org>
Reviewed-by: Arman Uguray <armansito@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
cdf723e16bae24c8e5774e3c517375274e0e9f15 19-Jun-2013 Arman Uguray <armansito@chromium.org> pseudomodem: Updated DBus API according to ModemManager API 0.8.

Made the necessary API changes to be compatible with ModemManager API 0.8.

BUG=chromium:246349
TEST=(1) network_3GModemPresent.pseudomodem should pass.
(2) Running shill against pseudomodem should cause shill to crash
due to an exception thrown in the DBus proxy layer, saying
"Error::InvalidArgs".

Change-Id: Iedc6e210548bfc14fb8260fbbd4e5f1b1f49c14b
Reviewed-on: https://gerrit.chromium.org/gerrit/59165
Commit-Queue: Arman Uguray <armansito@chromium.org>
Reviewed-by: Arman Uguray <armansito@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
b852a15feebd1364e4cbcdf9e64bec68e906c8d2 14-May-2013 Arman Uguray <armansito@chromium.org> pseudomodem: Clearing bearers should remove them from DBus connection.

Bearers will now get properly removed from the DBus connection when the
pseudomodem is reset. Also fixed bug involving Ip4Config/Ip6Config
property of bearer.

BUG=chromium:240598
TEST=network_3GSmokeTest.pseudomodem should pass.

Change-Id: I96ae164ee01514ffe10c0db70593705314c050ac
Reviewed-on: https://gerrit.chromium.org/gerrit/51159
Commit-Queue: Arman Uguray <armansito@chromium.org>
Reviewed-by: Arman Uguray <armansito@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
1080b2fe7308469e0e24a85ef2bc2481fdb402d5 08-May-2013 Arman Uguray <armansito@chromium.org> cellular: pseudomodem: Support CDMA activation.

Implemented fake 'OTA automatic activation' mechanism.

BUG=chromium:219160
TEST=1. Initialize pseudo modem manager as 'not-activated' (use the -n flag).
Not providing the '-n' flag to pseudomodem.py should initialize
the modem as 'activated'. Note that the -n flag currently only
works if "-f CDMA" is also passed. Verify that the CDMA
ActivationState property is set to 'not-activated' when -n is
present
2. Activate the modem using "mmcli -m 0 --cdma-activate=0000".
Use mmcli to verify that the CDMA ActivationState property is set to
'activating'.
3. Wait 5 seconds. The modem should reset (i.e. runnin mmcli -m 0 should
return an error. The modem should be available at mmcli -m 1.)
The CDMA ActivationState property should be set to 'activated'.

Change-Id: I0091ea5f6ab355914d27b1a402458bb9cbc130d0
Reviewed-on: https://gerrit.chromium.org/gerrit/50416
Commit-Queue: Arman Uguray <armansito@chromium.org>
Reviewed-by: Arman Uguray <armansito@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
5555f62fedfdc36cc8c4911eb24299008d961263 08-May-2013 Arman Uguray <armansito@chromium.org> cellular: pseudomodem: Fix Python style issues in pseudomodem/

BUG=chromium:238809
TEST=Running ./utils/run_pylint.py inside the client/cros/cellular/pseudomodem
directory should show no error messages.

Change-Id: I6848ceb6b9b5a0f59e0b1d3acbdfa4410fd1dfbb
Reviewed-on: https://gerrit.chromium.org/gerrit/50419
Commit-Queue: Arman Uguray <armansito@chromium.org>
Reviewed-by: Arman Uguray <armansito@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
de923a7b86b6e3c195bf8173dfcdb81294e558ad 07-May-2013 Arman Uguray <armansito@chromium.org> cellular: pseudomodem: Make Modem.Reset recycle modem object.

Instead of asynchronously disabling and enabling during reset, the
pseudomodem object will now disappear from the DBus connection and
reappear with a new DBus path, followed by an Enable if necessary. The
Reset call returns immediately while the logic takes place
asynchronously, which is much closer to what the real modem manager
does.

BUG=chromium:238409
TEST=1. network_LTEActivate.
2. Remote trybots.

Change-Id: I3b5df85272a02781028758b5d045204587744c4b
Reviewed-on: https://gerrit.chromium.org/gerrit/50247
Commit-Queue: Arman Uguray <armansito@chromium.org>
Reviewed-by: Arman Uguray <armansito@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
0b03eab867e84dc28a61595afe02283f4ac6aab0 27-Mar-2013 Arman Uguray <armansito@chromium.org> cellular: pseudomodem: Support CDMA without activation.

Pseudo modem manager now supports the
org.freedesktop.ModemManager1.Modem.ModemCdma interface, except it
doesn't implement ActivateAutomatic/ActivateManual.

Also fixed a few minor issues, such as bearer initialization and state
machine clean up.

BUG=chromium:219160
CQ-DEPEND=I1b1d78909287e21eb3fbe462869097809d004a1c
TEST=Run "pseudomodem.py -f CDMA". Shill should pick up the CDMA network.
Perform Enable/Disable/Connect/Disconnect in various orders and make
sure that they succeed (the UI and mmcli should show the correct values
for properties). Also verify that Connect/Disconnect operations
correctly update bearer properties using mmcli.

Change-Id: I1bdc0658f858d81215775880ac6045700609d983
Reviewed-on: https://gerrit.chromium.org/gerrit/50090
Commit-Queue: Arman Uguray <armansito@chromium.org>
Reviewed-by: Arman Uguray <armansito@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
e94efecceed2a21d35c7a56b306498b53f0fa68e 03-May-2013 Arman Uguray <armansito@chromium.org> cellular: pseudomodem: Make Modem.Enable asynchronous.

Shill will now receive a completion reply from the pseudo modem manager
only after the enable/disable state machine has run completely.

BUG=chromium:237725
TEST=network_LTEActivate, network_3GSmokeTest.pseudomodem,
network_3GDisableWhileConnecting.pseudomodem

Change-Id: I07be247836a3cc67ed8e3684815b4740d375d728
Reviewed-on: https://gerrit.chromium.org/gerrit/50057
Reviewed-by: Thieu Le <thieule@chromium.org>
Commit-Queue: Arman Uguray <armansito@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
494cb655cf158c37c6f84c37954b683df8928f0a 26-Apr-2013 Arman Uguray <armansito@chromium.org> cellular: Add network_LTEActivate

Added network_LTEActivate to test LTE specific service activation
behavior using the psuedo modem manager.

BUG=chromium:217695
TEST=Run network_LTEActivate on any platform. It should pass.

Change-Id: I07292db5e2223ddef7c0f54ef21e8afa2ae538e2
Reviewed-on: https://gerrit.chromium.org/gerrit/49285
Commit-Queue: Arman Uguray <armansito@chromium.org>
Reviewed-by: Arman Uguray <armansito@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
3ecbf9e5d6b26e75b59f7f631fae9e6150f6e936 14-Feb-2013 Arman Uguray <armansito@chromium.org> pseudomodem: Implement org.freedesktop.ModemManager1.Modem.SetPowerState

This CL implements the SetPowerState method and PowerState property for
interface org.freedesktop.ModemManager1.Modem.

BUG=chromium-os:38897
TEST=Run pseudomodem. Should be able to set power state via DBus
commands.

Change-Id: I45860db432b37a5d87236d9c084343db0e647caf
Reviewed-on: https://gerrit.chromium.org/gerrit/43242
Reviewed-by: Ben Chan <benchan@chromium.org>
Commit-Queue: Arman Uguray <armansito@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
a5b80d9fdb4d8a54bad447d9e78a6e0b6d4c2d23 03-Jan-2013 Arman Uguray <armansito@chromium.org> pseudomodem: Refactor state machine cancellation.

This CL adds a Cancel method to necessary state machine classes that
handle the correct state transition upon cancellation. This CL also
removes execute permissions from all files except pseudomodem.py.

BUG=chromium-os:37581
TEST=Run network_3GModemControl/control.pseudomodem.

Change-Id: Ia8b1c767f4b5732044feaf1a986d51bcc680fc61
Reviewed-on: https://gerrit.chromium.org/gerrit/40405
Reviewed-by: Ben Chan <benchan@chromium.org>
Commit-Queue: Arman Uguray <armansito@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
b320e28a899a00f6fcc96d28dd0f1e5f46a32032 19-Dec-2012 Arman Uguray <armansito@chromium.org> pseudomodem: Refactor Disable

This CL modifies the state machine that manages the disable cycle to use
the new object model.

BUG=chromium-os:37233
TEST=network_3GModemControl/control.pseudomodem,
1. stop cromo; stop modemmanager
2. Run /usr/local/autotest/cros/cellular/pseudomodem/pseudomodem.py
3. Verify that the fake mobile network shows up in the UI.
4. Manually disable mobile connectivity through the UI.
5. Verify that mobile connectivity successfully becomes disabled.
6. Verify that shill hasn't crashed.
7. Check the pseudomodem output in the console to verify that the
disable operation proceeded as expected.

Change-Id: I44513e588bf7bc1f2a0a7f6762567aa37a5e09b5
Reviewed-on: https://gerrit.chromium.org/gerrit/40072
Reviewed-by: Ben Chan <benchan@chromium.org>
Reviewed-by: Thieu Le <thieule@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
Commit-Queue: Arman Uguray <armansito@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
451ce7ac8f6b7834dd01f94bb7f6ffa889a6da2c 18-Dec-2012 Arman Uguray <armansito@chromium.org> pseudomodem: Refactor Enable

This CL modifies the state machine that manages the enable cycle to use
the new object model.

BUG=chromium-os:37232
TEST=network_3GModemControl/control.pseudomodem

Change-Id: I50e8529837ce4b0643faf91af6a146d65f0f534a
Reviewed-on: https://gerrit.chromium.org/gerrit/39821
Reviewed-by: Arman Uguray <armansito@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
Commit-Queue: Arman Uguray <armansito@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
953468003fbe7d7988421b34083734c617aa7a35 04-Dec-2012 Arman Uguray <armansito@chromium.org> cellular: Support running network_3GModemControl using the new
pseudomodem

The network_3GModemControl test now uses the new pseudomodem to run its
pseudomodem enabled version. This CL also addresses chromium-os:35747
through the migration to the new pseudomodem and by restarting dnsmasq when
the pseudomodem enters the CONNECTED state.

BUG=chromium-os:35566,chromium-os:35747
TEST=network_3GModemControl/control.pseudomodem

Change-Id: Ia88bec7cede38e0f540bb02978136ba8c8129f6b
Reviewed-on: https://gerrit.chromium.org/gerrit/39291
Reviewed-by: Thieu Le <thieule@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>
Commit-Ready: Arman Uguray <armansito@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
ffe22ac212f64767a215ae8102e3f80c041748b7 03-Dec-2012 Arman Uguray <armansito@chromium.org> pseudomodem: Implement Disable.

This CL adds functionality that allows the pseudomodem to get into the
disabled state.

BUG=chromium-os:36652,chromium-os:34605
TEST=Tested the full enable-connect-disconnect-disable cycle by sending
dbus messages to the pseudomodem using dbus-send.

Change-Id: Iedc3434b1ada96ecff8b67b9512672cfa9cefaee
Reviewed-on: https://gerrit.chromium.org/gerrit/39119
Reviewed-by: Ben Chan <benchan@chromium.org>
Commit-Ready: Arman Uguray <armansito@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
cbb55d15c57486da4d9cd8faeeb113c211f112c4 27-Nov-2012 Arman Uguray <armansito@chromium.org> pseudomodem: Implement Disconnect.

This CL adds functionality that allows the pseudomodem to disconnect
from a network.

BUG=chromium-os:36651,chromium-os:34605
TEST=Tested the full connect-disconnect cycle by sending dbus messages
to the pseudomodem using dbus-send.

Change-Id: I7f07b96772e66d66df56a35b20f598d4675f04b3
Reviewed-on: https://gerrit.chromium.org/gerrit/38714
Commit-Ready: Arman Uguray <armansito@chromium.org>
Reviewed-by: Arman Uguray <armansito@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
277be76d1c6cc9253cd2f0d83ba368abb0e3488f 21-Nov-2012 Arman Uguray <armansito@chromium.org> pseudomodem: Implement Connect.

This CL adds functionality that allows the pseudomodem to connect to a
network after it has registered with it.

BUG=chromium-os:34605
TEST=Tested the full enable-register-connect cycle by sending dbus
messages to the pseudomodem using dbus-send.

Change-Id: I475287b794276a21841ce05a626da184aab49dca
Reviewed-on: https://gerrit.chromium.org/gerrit/38449
Reviewed-by: Thieu Le <thieule@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>
Commit-Ready: Arman Uguray <armansito@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
c1bd5d4756f30555b77788f82ed230a0a4e71d8b 15-Nov-2012 Arman Uguray <armansito@chromium.org> pseudomodem: Implement Register.

This CL adds partial functionality that allows the pseudomodem to
register with a network. The 3GPP modem uses the provided SIM object to
obtain information on the home network to initiate a fake network scan.

The pseudomodem will now attempt to register to the home network (or
one of the roaming networks, if provided) as part of the Enable cycle.

BUG=chromium-os:34605
TEST=Tested the full enable cycle by sending dbus messages to the
pseudomodem using dbus-send.

Change-Id: I460045251448fc281345918c0836c1659bce00b0
Reviewed-on: https://gerrit.chromium.org/gerrit/38146
Reviewed-by: Ben Chan <benchan@chromium.org>
Commit-Ready: Arman Uguray <armansito@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
04c3973b70d40f326057c687d647becf1ea54460 08-Nov-2012 Arman Uguray <armansito@chromium.org> pseudomodem: Implement Enable.

This CL adds partial functionality that allows the pseudomodem to be
enabled without registering to a network. The state machine is
implemented as a step process that uses the modem state as its counter.

A minor change to the dbus_std_ifaces.DBusProperties constructor has
also been included, such that user provided properties are handled more
properly. The class also allows a dbus connection to be set at a later
time when this is not possible during initialization.

BUG=chromium-os:34605
TEST=I tested that the enable state changes function properly by sending
dbus messages to the pseudomodem using dbus-send.

Change-Id: I32d57d3664eb4ef3acb0ef46464736b39e8fd955
Reviewed-on: https://gerrit.chromium.org/gerrit/37589
Commit-Ready: Arman Uguray <armansito@chromium.org>
Reviewed-by: Arman Uguray <armansito@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
9bff0009bcb11b699497ae29b7688cd60179b9b5 08-Nov-2012 Arman Uguray <armansito@chromium.org> pseudomodem: Change class hierarchy and other minor fixes.

This CL applies the following minor changes:

- modem_simple.ModemSimple now inherits from dbus.service.Interface intead
of dbus.service.Object.

- modem_3gpp.Modem3gpp and modem_cdma.ModemCdma don't directly inherit
from modem_simple.ModemSimple any more. ModemSimple is now inherited
by modem.Modem, which causes Modem3gpp and ModemCdma to indirectly
inherit from it.

- modem_simple.ModemSimple.Connect now takes in two asynchronous
callbacks, so that the DBus response can be sent back to shill at a
later time.

- modem_simple.ModemSimple.Disconnect now takes an additional *args
argument, which can be used to pass in a callback to be invoked when
disconnect ends.

- The indentation of some of the docstrings have been fixed.

- In certain places, enumerations from mm1.py are now wrapped around
the appropriate dbus.types object, e.g.
dbus.types.Int32(mm1.MM_MODEM_STATE_ENABLED)

BUG=chromium-os:34605
TEST=pylint

Change-Id: I61b669ea2c8614e989fd95290afa1a0d039df61a
Reviewed-on: https://gerrit.chromium.org/gerrit/37587
Reviewed-by: Ben Chan <benchan@chromium.org>
Commit-Ready: Arman Uguray <armansito@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
9cbe47ad1d06e347cfba9a9c6feed233eef5383a 08-Nov-2012 Arman Uguray <armansito@chromium.org> pseudomodem: Shorten error enumerations in mm1.py

This CL shortens the error enumerations in mm1.py to prevent redundancy
in naming. For example,

mm1.MMCoreError.MM_CORE_ERROR_UNKNOWN

is now

mm1.MMCoreError.UNKNOWN

BUG=chromium-os:34605
TEST=pylint

Change-Id: I173fdd0d45ea5f21606380053dfc628f7bb51d45
Reviewed-on: https://gerrit.chromium.org/gerrit/37578
Reviewed-by: Thieu Le <thieule@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>
Commit-Ready: Arman Uguray <armansito@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py
3569f0cfc43e7f89366e3bf941d3e09662c21218 03-Oct-2012 Arman Uguray <armansito@chromium.org> Started pseudomodem implementation.

This CL includes files that form the basis of the new pseudomodem
utility. 90% of the methods are unimplemented and serve as stubs.

BUG=chromium-os:34605
TEST=pylint

Change-Id: Ic8b95b546b02e4b019a010d031a62506e9784b68
Reviewed-on: https://gerrit.chromium.org/gerrit/36294
Commit-Ready: Arman Uguray <armansito@chromium.org>
Reviewed-by: Arman Uguray <armansito@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
/external/autotest/client/cros/cellular/pseudomodem/modem.py