shill: cellular: Implement CDMA activation over non-cellular.
Added OTASP activation logic over a non-cellular network to
CellularCapabilityUniversalCDMA.
BUG=chromium:221698,chromium:217324
TEST=1. Build and run unit tests.
2. - Acquire an unactivated Gobi3k (this can be achieved on an
activated modem by cancelling the account and factory
resetting the modem).
- Reimage the Chromebook (with the above Gobi3k) with an image
which was compiled with 'USE="-gobi qmi"'.
- If the carrier is not already set to Verizon Wireless, switch
firmware to the Verizon firmware.
- Verify that the modem supported by ModemManager and not cromo. The
modem properties should be exposed and the CDMA
ActivationState property should be 'not-activated'. All of this can
be verified using mmcli.
- The Chrome OS UI should display the cellular network as 'not
activated'. Use the UI to activate the service.
- Once payment is done, service should be marked as
"Activating". /var/cache/shill/activating_iccid_store.profile
should have a new entry under "[meid_list]" set to "1".
- Monitor /var/log/net.log (with a debug scope of at least
"cellular" and level "-3"). Cellular activation related
messages should be logged. ModemManager should be in the
process of "automatic activation" and logging appropriate
updates.
- The modem should eventually reset. Afterwards the UI should
pop-up a "3G network activated" dialog.
Change-Id: Iff9d1b88012dad1d3552af12d9ae7f510a988a54
Reviewed-on: https://gerrit.chromium.org/gerrit/49696
Reviewed-by: Arman Uguray <armansito@chromium.org>
Commit-Queue: Arman Uguray <armansito@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
diff --git a/pending_activation_store.h b/pending_activation_store.h
index 633283b..f27af77 100644
--- a/pending_activation_store.h
+++ b/pending_activation_store.h
@@ -41,6 +41,9 @@
// This state indicates that a timeout has expired in which the modem
// failed to register to a network.
kStatePendingTimeout,
+ // This state is used in CDMA activation to indicate that OTA activation
+ // failed and was scheduled for a retry.
+ kStateFailureRetry,
kStateMax,
};