Commit Graph

2375 Commits

Author SHA1 Message Date
Aleksander Morgado
a400db4b5c bearer: remove allow-roaming, only meaningful in the broadband bearer 2012-03-15 14:14:53 +01:00
Aleksander Morgado
fa17f90082 bearer-3gpp, bearer-cdma: removed, they were mixed in broadband-bearer 2012-03-15 14:14:53 +01:00
Aleksander Morgado
2b1aabe4fd iface-modem-3gpp: 3GPP bearer creation removed 2012-03-15 14:14:53 +01:00
Aleksander Morgado
63f209d6da iface-modem-cdma: CDMA bearer creation removed 2012-03-15 14:14:53 +01:00
Aleksander Morgado
24dd208b59 iface-modem-simple: remove dual 3GPP/CDMA bearers logic
Just rely on a single Bearer object created.
2012-03-15 14:14:53 +01:00
Aleksander Morgado
a3b5c9faef broadband-bearer: new generic 3GPP+CDMA bearer 2012-03-15 14:14:53 +01:00
Aleksander Morgado
6c2dc9eef1 bearer: set unique path when the bearer gets exported 2012-03-15 14:14:53 +01:00
Aleksander Morgado
7e36f04b37 core: use new enums/flags string getters/builders 2012-03-15 14:14:52 +01:00
Aleksander Morgado
04fc34fab8 build: autogenerate enum/flags string getter/builders
Each enum will have its own #_get_string (),
and each flags will have its own #_build_string_from_mask ().
2012-03-15 14:14:52 +01:00
Aleksander Morgado
3b443b6954 libmm-common: fix usage of main library header 2012-03-15 14:14:52 +01:00
Aleksander Morgado
bcdd376b6b iface-modem-3gpp, broadband-modem: update LAC/CI 3gpp-based location 2012-03-15 14:14:52 +01:00
Aleksander Morgado
71125777d3 iface-modem-location: handle 3GPP location 2012-03-15 14:14:52 +01:00
Aleksander Morgado
182a954205 broadband-modem: enable/disable the Location interface 2012-03-15 14:14:52 +01:00
Aleksander Morgado
74f29981c8 broadband-modem: load default location reporting capabilities
Currently, only LAC/CI if the modem has 3GPP capabilities.
2012-03-15 14:14:52 +01:00
Aleksander Morgado
03c5f4e6fb iface-modem-location: handle enabling/disabling location gathering 2012-03-15 14:14:51 +01:00
Aleksander Morgado
d7f98cf277 broadband-modem: implement the Location interface 2012-03-15 14:14:51 +01:00
Aleksander Morgado
d0a845c819 iface-modem-location: new interface for Location-related stuff 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
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
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
801a129fe9 iface-modem-cdma: bind CDMA-specific properties for the simple status 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
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
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
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
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
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