Commit Graph

2083 Commits

Author SHA1 Message Date
Aleksander Morgado
263f106b33 libmm-common: include CDMA-specific items in the simple properties 2012-03-15 14:14:50 +01:00
Aleksander Morgado
9324c9cbb7 api,dbus: include CDMA-specific properties in the simple status query 2012-03-15 14:14:50 +01:00
Aleksander Morgado
71fbd2248c api,dbus: prefix with 'm3gpp' the 3GPP-specific entries returned in the simple status
Note that we cannot have properties starting with a digit :-/
2012-03-15 14:14:50 +01:00
Aleksander Morgado
8c704ea7a2 libmm-glib: prefix with '3gpp' the 3GPP-specific simple status properties 2012-03-15 14:14:50 +01:00
Aleksander Morgado
d2af326e1a libmm-common: prefix with '3gpp' the 3GPP-specific simple properties 2012-03-15 14:14:50 +01:00
Aleksander Morgado
f07101943c iface-modem-simple: new connection logic when more than one bearer around
For mixed 3GPP+CDMA modems, we first try to connect the 3GPP bearers, and then
the CDMA ones.
2012-03-15 14:14:49 +01:00
Aleksander Morgado
d19cf55f8f libmm-common: allow duplicating the bearer properties object 2012-03-15 14:14:49 +01:00
Aleksander Morgado
8782df1b15 broadband-modem: on mixed CDMA+LTE modems, guess which kind of bearer to create 2012-03-15 14:14:49 +01:00
Aleksander Morgado
744fe5712d iface-modem-simple: build 3GPP+CDMA registration check logic
For mixed 3GPP+CDMA modems, we check registrations in both 3GPP and CDMA
networks, and we stop checks when we find ourselves registered in either one
or the other.
2012-03-15 14:14:49 +01:00
Aleksander Morgado
a0255273f0 iface-modem-cdma: let caller decide the maximum registration timeout 2012-03-15 14:14:49 +01:00
Aleksander Morgado
cc4e469b1a iface-modem-3gpp: let caller decide the maximum registration timeout 2012-03-15 14:14:49 +01:00
Aleksander Morgado
787a651f19 broadband-modem: implement CDMA registration method
Will wait up to 60s to be registered in the CDMA network.
2012-03-15 14:14:49 +01:00
Aleksander Morgado
0b8ad70250 iface-modem-cdma: provide a method to register in the CDMA network
This will really not be like the 3GPP method. In 3GPP we can request to do
auto-registration, or request to lock to a specific Operator. Once that done,
we wait for unsolicited registration messages and also perform peridic
registration checks.

In the case of the CDMA network, the registration seems to be always automatic.
Therefore, this method to register in the CDMA network will just make sure that
we got registered, by waiting up to N seconds while doing periodic registration
checks.
2012-03-15 14:14:49 +01:00
Aleksander Morgado
165a4dcb94 cli: split the command to register in a 3GPP network
We provide `--3gpp-register-home' to request automatic registration. This will
try to register in the home network if available; and if not available, in any
other network being allowed.

We also provide `--3gpp-register-in-operator' to try to lock the registration
in the network of a given specific operator, specified by MCCMNC.
2012-03-15 14:14:49 +01:00
Aleksander Morgado
e7e1a4d156 api,dbus: MCCMNC identifies the operator (country+network), not just the network
MCCMNC = MCC (Mobile Country Code) + MNC (Mobile Network Code)
2012-03-15 14:14:49 +01:00
Aleksander Morgado
205dc51cb5 broadband-modem: refactor the code a bit
* Include interface-specific prefixes in methods implemented (e.g.
   'modem_3gpp_' for all 3GPP interface method implementations.

 * Pack together in the private struct variables required in the implementation
   of a given interface.
2012-03-15 14:14:49 +01:00
Aleksander Morgado
b74c01478e broadband-modem: set auto registration with AT+COPS=0
This is, remove the use of "AT+COPS=0,,". The extra commas break its use in a
Nokia C7, and the proper/clean way to do it anyway is to avoid using the commas.
2012-03-15 14:14:49 +01:00
Aleksander Morgado
d3c25e54c4 cli: print CDMA-related info from the modem 2012-03-15 14:14:49 +01:00
Aleksander Morgado
c5fdd83905 cli: new helper to get the CDMA registration state string 2012-03-15 14:14:49 +01:00
Aleksander Morgado
a71393f227 libmm-glib: handle the CDMA interface 2012-03-15 14:14:48 +01:00
Dan Williams
713937f1f0 manager: make sure modems get exported when all their ports are finished
My LG Rumor2 phone (ttyACM0 - AT, ttyUSB0 - QCDM) was never getting
exported after the QCDM port finished probing.  Not entirely sure
why, but we should check whether we need to export a modem or not
any time a port gets grabbed.
2012-03-15 14:14:48 +01:00
Dan Williams
ded020efeb gobi: ensure QCDM ports are correctly grabbed
Need to suggest that it's QCDM since the MMPortProbe stuff
doesn't get passed through to mm_base_modem_grab_port() so
we can't detect QCDM ports automatically there.
2012-03-15 14:14:48 +01:00
Dan Williams
c697027cee broadband-modem: fix check for QCDM capability
has_qcdm_port was never set to TRUE anywhere...
2012-03-15 14:14:48 +01:00
Dan Williams
0ccfcbd986 gobi: port to 06-api 2012-03-15 14:14:48 +01:00
Dan Williams
98755bd508 broadband-modem: ignore early AT error responses for modem info
Where we have multiple commands that are all supposed to return
the same thing (ie, GMM/CGMM, CSQ/CSQ?) but some modems
support one and not the other, don't exit the sequence early if
the modem doesn't support one of them.

Gobi modems with CDMA firmware don't support the Cxxx variants
so the returned ERROR (CME error 100) made the generic parser
break out of the AT sequence without trying the additional
commands that are supported.
2012-03-15 14:14:48 +01:00
Dan Williams
cb2d6d6105 base-modem-at: indicate sequence status to response parsers
Let parsers know if this command is the last in a sequence since
they may want to handle errors differently if that's the case.
2012-03-15 14:14:48 +01:00
Aleksander Morgado
4e06e0e67d bearer-cdma: implement bearer connection and disconnection 2012-03-15 14:14:48 +01:00
Aleksander Morgado
9641c63759 bearer-cdma: new property for the number to dial 2012-03-15 14:14:48 +01:00
Aleksander Morgado
d1cfdd974c bearer-cdma: when specific RM protocol given to be used, ensure it is supported
If the requested RM protocol is not supported, the CDMA Bearer creation will
fail.
2012-03-15 14:14:48 +01:00
Aleksander Morgado
070c277013 bearer-cdma: make it async-initable
We'll run some checks before having the object fully created.
2012-03-15 14:14:48 +01:00
Aleksander Morgado
2a0deb47f4 bearer-cdma: avoid the need of the modem object during new_finish() 2012-03-15 14:14:48 +01:00
Aleksander Morgado
56956a36ad bearer-cdma: allow subclasses to use the same unique path generator 2012-03-15 14:14:48 +01:00
Aleksander Morgado
91eb041a63 bearer-3gpp: avoid the need of the modem object during new_finish() 2012-03-15 14:14:48 +01:00
Aleksander Morgado
ba9bdb37a9 bearer-3gpp: allow subclasses to use the same unique path generator 2012-03-15 14:14:47 +01:00
Aleksander Morgado
3d6df6a1f4 bearer: export the object whenever both path and connection are set 2012-03-15 14:14:47 +01:00
Aleksander Morgado
816a1318cb sim: minor code simplification 2012-03-15 14:14:47 +01:00
Aleksander Morgado
a534afa84d sim: handle initialization failures properly
We should't use MM_SIM() on possibly NULL values.
2012-03-15 14:14:47 +01:00
Aleksander Morgado
7db16d2279 bearer: make bearer creation an asynchronous operation
We may want to do some checks while creating a new bearer.
2012-03-15 14:14:47 +01:00
Aleksander Morgado
6a38bcf1a1 broadband-modem: setup 3GPP and CDMA bearer creation logic
On mixed CDMA+LTE modems, just default to create a 3GPP bearer.
2012-03-15 14:14:47 +01:00
Aleksander Morgado
cc4f662239 iface-modem-cdma: setup creation of CDMA bearers 2012-03-15 14:14:47 +01:00
Aleksander Morgado
06ea25c0d4 bearer-cdma: new bearer to handle connections in CDMA networks 2012-03-15 14:14:47 +01:00
Aleksander Morgado
531c1fa660 bearer: set allow-roaming as property at generic bearer object level 2012-03-15 14:14:47 +01:00
Aleksander Morgado
7f975a30b3 build: remove glib-mkenums generated files during make clean 2012-03-15 14:14:47 +01:00
Aleksander Morgado
ad95567e88 cli: print Rm protocol in bearer info 2012-03-15 14:14:47 +01:00
Aleksander Morgado
014a9eddab libmm-glib: allow passing Rm protocol to bearer properties 2012-03-15 14:14:47 +01:00
Aleksander Morgado
1c447ba85b libmm-common: expect 'rm-protocol' in the common bearer properties 2012-03-15 14:14:47 +01:00
Aleksander Morgado
fa0dba6a6e api,dbus: expect 'rm-protocol' in Simple Connect() and CreateBearer() 2012-03-15 14:14:47 +01:00
Aleksander Morgado
aaf9234747 api,header: new enum to specify Rm protocol 2012-03-15 14:14:47 +01:00
Aleksander Morgado
d178fb1f09 plugin-manager: fix loop of deferred tasks when no best plugin found
If deferring tasks until result suggested, and we never got a suggestion, the
tasks may have been left deferred in loop forever. We now remove the defer
timeout in the case of waiting for suggestion, and ensure that we cancel tasks
if the last valid probing ended without best plugin found.
2012-03-15 14:14:46 +01:00
Aleksander Morgado
4d19a66722 cli: fix invalid write when completing async operation
Don't use the same context to pass the results to finalize().
2012-03-15 14:14:46 +01:00