Commit Graph

784 Commits

Author SHA1 Message Date
Aleksander Morgado
953f787bf3 novatel: allowed modes and access tech loading only in non-CDMA modems 2012-08-20 16:27:05 +02:00
Aleksander Morgado
c9337cc8b9 novatel: configure SM storage as default always 2012-08-20 16:27:04 +02:00
Aleksander Morgado
348a80374a novatel: implement custom messaging unsolicited messages enabling 2012-08-20 16:27:04 +02:00
Aleksander Morgado
1931a69e50 novatel: implement current access technology loading 2012-08-20 16:27:04 +02:00
Aleksander Morgado
e150c4cf92 novatel: implement allowed mode loading/setting
Settings are given with the 'AT$NWRAT' arguments as follows:
  1,1: 2G allowed
  2,1: 3G allowed
  0,2: 2G and 3G allowed, none preferred
  1,2: 2G and 3G allowed, 2G preferred
  2,2: 2G and 3G allowed, 3G preferred
2012-08-20 16:26:55 +02:00
Aleksander Morgado
b8e5dbcaf4 novatel: flip secondary ports to AT mode during port setup 2012-08-20 16:26:55 +02:00
Aleksander Morgado
058fd0256d novatel: new `MMBroadbandModemNovatel' 2012-08-20 16:26:55 +02:00
Aleksander Morgado
56a7e40e37 novatel: start porting the Novatel plugin 2012-08-20 16:26:55 +02:00
Aleksander Morgado
eb71b9464d novatel-lte: reorganize code
Just to make it more aligned with how other plugins are structured.
2012-08-20 16:26:55 +02:00
Aleksander Morgado
b399a17163 novatel-lte: renamed the plugin to "Novatel LTE"
This plugin only handles the E362 right now.
2012-08-20 16:26:55 +02:00
Ben Chan
7b13b5e1c0 broadband-bearer,icera: fix CID matching for unsolicited IPDPACT responses 2012-08-20 09:17:34 +02:00
Ben Chan
2b5fb682c6 icera: fix modem_load_current_bands and modem_set_bands
This patch modifies MMBroadbandModemIcera as follows:
- Change modem_load_current_bands to report only bands that are
  currently enabled
- Change modem_set_bands to handle setting ANY band in a way that no
  forbidden bands are activated.
2012-08-20 09:17:00 +02:00
Ben Chan
3955aab25b icera: add missing break statement in MMBroadbandBearerIcera set_property 2012-08-17 18:23:13 +02:00
Aleksander Morgado
6c9a7c5450 nokia: implement custom supported modes loading
Nokia handsets report incorrect modes in AT+WS46?, so just fully skip that.
2012-08-09 11:48:27 +02:00
Aleksander Morgado
1e687337c1 zte: plug memleak
The GError wasn't properly disposed.

Reported by: Ben Chan <benchan@google.com>
2012-08-09 09:33:23 +02:00
Aleksander Morgado
4d5892204d zte: use +CFUN=4 for powering down
Icera-based ZTE already has the same functionality coming from the parent
`MMBroadbandModemIcera' modem object.
2012-08-06 20:07:50 +02:00
Aleksander Morgado
793218bfdb zte: plugin fully ported 2012-08-06 20:07:50 +02:00
Aleksander Morgado
125f297434 zte: setup/cleanup unsolicited messages in Icera based modems 2012-08-06 20:07:49 +02:00
Aleksander Morgado
efe85fd1ab zte: use common unsolicited messages handler setup in Icera based modems 2012-08-06 20:07:49 +02:00
Aleksander Morgado
64dfa59c42 zte: use common unsolicited messages handler setup 2012-08-06 20:07:49 +02:00
Aleksander Morgado
a8516fa1f8 zte: new common code to setup unsolicited event handlers 2012-08-06 20:07:49 +02:00
Aleksander Morgado
1f2a7bd87c zte: try +CPMS? calls after SIM unlock until SIM gets ready 2012-08-06 20:07:49 +02:00
Aleksander Morgado
dcde1e0408 zte: carrier-detect disabled in serial ports 2012-08-06 20:07:49 +02:00
Aleksander Morgado
4cf4a98bba zte: support Icera-based modems
We request Icera support check during port probing, and we then decide which
modem object to create based on the check results.
2012-08-06 20:07:49 +02:00
Aleksander Morgado
855c0ec514 zte: implement access technology loading 2012-08-06 20:07:49 +02:00
Aleksander Morgado
169ccdf1d4 zte: implement allowed mode loading/setting 2012-08-06 20:07:49 +02:00
Aleksander Morgado
641c5aed06 zte: setup ports and unsolicited message handling 2012-08-06 20:07:49 +02:00
Aleksander Morgado
3b00c6f5ac zte: new `MMBroadbandModemZte' 2012-08-06 20:07:49 +02:00
Aleksander Morgado
bbb4ed2b0a zte: start porting the ZTE plugin 2012-08-06 20:07:49 +02:00
Aleksander Morgado
bdcc4becab nokia: no need specific port grabbing
The udev tags for port grabbing hints are for Icera-based Nokia modems only.
2012-08-06 20:07:27 +02:00
Aleksander Morgado
5c2df4a0ca nokia-icera: new plugin to handle Icera-based Nokia modems
We have a whole new plugin because the whole probing process is different
between the Icera and non-Icera based Nokia modems.
2012-08-06 20:07:27 +02:00
Aleksander Morgado
3b6a20dfb6 nokia: don't support Icera-based modems
Nokia CS Internet sticks are based on Icera chipsets; the default Nokia plugin
shouldn't handle them.
2012-08-06 20:07:27 +02:00
Aleksander Morgado
5b96aa9db4 samsung: use generic power down of the Icera modem 2012-08-06 20:07:27 +02:00
Aleksander Morgado
53707357f3 icera: use +CFUN=4 for power down in all Icera modems 2012-08-06 20:07:27 +02:00
Aleksander Morgado
e9a367eb21 icera: remove `MMIfaceIcera' 2012-08-06 20:07:27 +02:00
Aleksander Morgado
7ad73e4fa3 samsung: make the modem object inherit from the `MMBroadbandModemIcera' 2012-08-06 20:07:27 +02:00
Aleksander Morgado
4f1269344f icera: create a generic broadband bearer when no net ports available 2012-08-06 20:07:27 +02:00
Aleksander Morgado
fa8bcb0a7f icera: allow specifying at modem/bearer level whether we want DHCP or STATIC 2012-08-06 20:07:27 +02:00
Aleksander Morgado
ef4de86b42 icera: new `MMBroadbandModemIcera'
We'll get rid of the `MMIfaceIcera'.
2012-08-06 20:07:27 +02:00
Dan Williams
e0c17f936f icera: implement dynamic band support checking
Turns out we can check supported bands by asking the modem what
the enabled state is for the bands it says it supports, and then
setting the enabled state to what it currently is.  For bands the
modem actually doesn't support, it'll return an error.  Use that
to build up the modem's actual supported band list.
2012-08-06 20:07:27 +02:00
Dan Williams
ea024f2e52 samsung: use generic Icera band handling functions 2012-08-06 20:07:27 +02:00
Dan Williams
a532c081d1 icera: add generic band handling functions 2012-08-06 20:07:27 +02:00
Dan Williams
b1c2e0ba5f samsung: use generic Icera unlock retries checking functions 2012-08-06 20:07:27 +02:00
Dan Williams
abfce5493c icera: add generic unlock retries checking 2012-08-06 20:07:27 +02:00
Aleksander Morgado
36924d8f82 samsung: add Samsung Electronics, Inc. as copyright owners
They actually wrote the original Samsung plugin in ModemManager 0.5.
2012-08-06 20:07:27 +02:00
Aleksander Morgado
2bf2b8e848 samsung: new `MMBroadbandBearerSamsung'
Based on the Icera bearer, but using DHCP in the net port.
2012-08-06 20:07:27 +02:00
Aleksander Morgado
93252f39ef icera: avoid highly unlikely use of already unref-ed bearer
In the connection and disconnection sequences, we make sure that the Bearer
object is valid by keeping a reference in the Dial3gppContext and
Disconnect3gppContext (actually, another one kept by the GSimpleAsyncResult as
well). But we are considering here the case where the context is completed and
freed by an unsolicited message handler before we get the reply to the AT
command, so to properly ensure that the bearer object is still valid when we try
to check if the context is in the priv struct, we need to keep an extra ref
around.
2012-08-06 20:07:26 +02:00
Aleksander Morgado
40730b115e hso: avoid highly unlikely use of already unref-ed bearer
In the connection sequence, we make sure that the Bearer object is valid by
keeping a reference in the Dial3gppContext (actually, another one kept by the
GSimpleAsyncResult as well). But we are considering here the case where the
connection context is completed and freed by an unsolicited message handler
before we get the reply to the AT command, so to properly ensure that the bearer
object is still valid when we try to check if the context is in the priv struct,
we need to keep an extra ref around.
2012-08-06 20:07:26 +02:00
Aleksander Morgado
63a45f8082 hso: avoid trying to use an already freed context
In the connection sequence, we keep the context in the private info of the
Bearer object, so that we can complete and free it when we receive OWANCALL
unsolicited messages. Now, the reply of the OWANCALL itself may get processed
as an unsolicited message, so effectively we're processing and finishing the
connection/disconnection context *before* we process the reply of the AT
command.

This patch ensures that we do not try to re-use the connection context after it
has been processed by the unsolicited messages handler.
2012-08-06 20:07:26 +02:00
Aleksander Morgado
d065dd572b icera: avoid trying to use an already freed context
In both the connection and disconnection sequences, we keep the context in the
private info of the Bearer object, so that we can complete and free it when we
receive %IPDPACT unsolicited messages. Now, the reply of the %IPDPACT itself may
get processed as an unsolicited message, so effectively we're processing and
finishing the connection/disconnection context *before* we process the reply of
the AT command.

This patch ensures that we do not try to re-use the connection/disconnection
context after it has been processed by the unsolicited messages handler.
2012-08-06 20:07:26 +02:00