Commit Graph

2351 Commits

Author SHA1 Message Date
Aleksander Morgado
4bf03a24a1 api,header: treat CDMA activation errors as any other error 2012-03-15 14:14:51 +01:00
Aleksander Morgado
6238ba8568 api,dbus: don't return immediate CDMA activation errors
Seems like an unnecessary complication, as the client anyway needs to handle
asynchronously reported errors.
2012-03-15 14:14:51 +01:00
Aleksander Morgado
15f2c56f89 cinterion: avoid after-power-up step
Split the after power up step into:
 * querying supported functionality status during the first power-down request.
 * querying supported networks during supported modes loading.
2012-03-15 14:14:51 +01:00
Aleksander Morgado
d76f545322 plugin-base: use MM_TYPE_POINTER_ARRAY for custom init callbacks 2012-03-15 14:14:51 +01:00
Aleksander Morgado
0358c787c0 core: new boxed type for NULL-terminated array of gpointers 2012-03-15 14:14:51 +01:00
Aleksander Morgado
af41076e7d plugin-base: use MM_TYPE_UINT16_ARRAY for vendor/product ID properties 2012-03-15 14:14:51 +01:00
Aleksander Morgado
2052b8184f core: new boxed type for 0-terminated array of guint16 values 2012-03-15 14:14:51 +01:00
Aleksander Morgado
536865040e plugin-base: use GStrv boxed types for string array properties 2012-03-15 14:14:51 +01:00
Aleksander Morgado
771e3c4ff7 nokia: plugin fully ported to the new codebase 2012-03-15 14:14:50 +01:00
Aleksander Morgado
983f081f30 nokia: include port type hints
Ported commit 44194ac to the new codebase.
2012-03-15 14:14:50 +01:00
Aleksander Morgado
0d5c237428 bearer-cdma: use #777 as default number to dial when none given explicitly 2012-03-15 14:14:50 +01:00
Aleksander Morgado
e5c5411d05 broadband-modem: redefine generic supported mode loading implementation
* assume CDMA1x is 2G
 * consider CS/PS/CDMA1x/EVDO network support flags specified by the plugins
2012-03-15 14:14:50 +01:00
Aleksander Morgado
8adc9cd699 broadband-modem: we can expect non-LTE 3GPP+CDMA modems 2012-03-15 14:14:50 +01:00
Aleksander Morgado
c0e0649a82 core,plugins: handle missing `last_command' flags
These didn't get compilation errors when `MMBaseModemAtResponseProcessor'
was changed, as we're doing an explicit casting.
2012-03-15 14:14:50 +01:00
Aleksander Morgado
31131a1f66 cli: print properties only if registered in the specific network(s)
If registered in the 3GPP network, print 3GPP-specific properties; and if
registered in a CDMA network, print CDMA-specific properties.
2012-03-15 14:14:50 +01:00
Aleksander Morgado
5f5ad38431 cli: include CDMA-specific properties in the simple status report 2012-03-15 14:14:50 +01:00
Aleksander Morgado
801a129fe9 iface-modem-cdma: bind CDMA-specific properties for the simple status 2012-03-15 14:14:50 +01:00
Aleksander Morgado
6c36ae9101 libmm-glib: include CDMA-specific items in the simple status properties 2012-03-15 14:14:50 +01:00
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