Commit Graph

899 Commits

Author SHA1 Message Date
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
Ben Chan
e18778d815 samsung: fix crash due to uninitialized GError variables
BUG=chromium-os:32475
TEST=emerge modemmanager-next

Change-Id: I8dad924dae9a249c3b9235786226b7dd40bd8819
2012-08-06 20:07:26 +02:00
Dan Williams
3a28f660c5 icera: fix timezone request AT command
Actual command uses a *, not a %.  Must have been a typo when
porting to the new MM since 0.6 uses a * too.
2012-08-06 20:07:26 +02:00
Dan Williams
8740f0b72f trivial: comment spelling fix 2012-08-06 20:07:26 +02:00
Dan Williams
6f3a83534c longcheer: implement unlock retries checking 2012-08-06 20:07:26 +02:00
Dan Williams
4e92b849af hso: fix small error in unlock retries checking
_OERCN only reports PIN and PUK, so we only check for two values.
2012-08-06 20:07:26 +02:00
Dan Williams
32bc031ae6 hso: implement unlock retries checking 2012-08-06 20:07:26 +02:00
Aleksander Morgado
cc095c9a94 samsung: plugin fully ported 2012-08-06 20:07:26 +02:00
Aleksander Morgado
d820ca8f27 samsung: use CFUN=4 for power down 2012-08-06 20:07:26 +02:00
Aleksander Morgado
ef217c23b0 samsung: custom configuration for AT serial ports 2012-08-06 20:07:26 +02:00
Aleksander Morgado
5fcc8d1629 samsung: use Icera-based time loading 2012-08-06 20:07:26 +02:00
Aleksander Morgado
e70fea145e samsung: user Icera-based timezone loading 2012-08-06 20:07:26 +02:00
Aleksander Morgado
268db7fe0b samsung: minor coding style fixes 2012-08-06 20:07:26 +02:00
Aleksander Morgado
d8ae69e7d1 samsung: use the generic Icera bearer 2012-08-06 20:07:26 +02:00
Aleksander Morgado
8d651dd68e samsung: use Icera-based unsolicited messages setup and access tech loading 2012-08-06 20:07:25 +02:00
Aleksander Morgado
01e85aa1ef samsung: don't hardcode supported modes
Don't try to implement supported modes loading if we're just hardcoding the
values; the proper way would be to run the %IPSYS=? test command and parse
the results.
2012-08-06 20:07:25 +02:00
Aleksander Morgado
4f0157cec4 samsung: use Icera-based allowed mode setting 2012-08-06 20:07:25 +02:00
Aleksander Morgado
f127afd402 samsung: use Icera-based initial allowed mode loading 2012-08-06 20:07:25 +02:00
Aleksander Morgado
ae22a99dab samsung: implement the `MMIfaceIcera' interface 2012-08-06 20:07:25 +02:00
Aleksander Morgado
6d6fc3bcde icera: plugin fully ported 2012-08-06 20:07:25 +02:00
Aleksander Morgado
89834810ae icera: provide method to check Icera support 2012-08-06 20:07:25 +02:00
Aleksander Morgado
6c0f14132b icera: implement network time retrieval 2012-08-06 20:07:25 +02:00
Aleksander Morgado
a105ffa7b7 icera: implement timezone loading 2012-08-06 20:07:25 +02:00
Aleksander Morgado
051b79cba3 icera: try to gather extended connection failed reasons when reporting error 2012-08-06 20:07:25 +02:00
Aleksander Morgado
7209a09033 icera: implement IP config retrieval in the bearer 2012-08-06 20:07:25 +02:00
Aleksander Morgado
4dbc213184 icera: implement modem reset 2012-08-06 20:07:25 +02:00
Aleksander Morgado
5246a842ca icera: implement 3GPP disconnection 2012-08-06 20:07:25 +02:00
Aleksander Morgado
4dc9d674d1 icera: listen for %IPDPACT unsolicited messages and report connection status 2012-08-06 20:07:25 +02:00
Aleksander Morgado
35df0bfc74 icera: implement 3GPP dialling
The modem object needs to listen to unsolicited messages and report bearer
connection status itself.
2012-08-06 20:07:25 +02:00
Aleksander Morgado
fa6ea4258a icera: new `MMBroadbandBearerIcera' 2012-08-06 20:07:25 +02:00
Aleksander Morgado
e8aa5d0f72 icera: ignore +PACSP unsolicited messages 2012-08-06 20:07:25 +02:00
Aleksander Morgado
b4f20bfaca icera: implement 3GPP unsolicited messages enabling/disabling 2012-08-06 20:07:25 +02:00
Aleksander Morgado
7163f4fe5f icera: implement loading access technologies 2012-08-06 20:07:25 +02:00
Aleksander Morgado
8ddd6e097d icera: implement %NWSTATE unsolicited messages handling 2012-08-06 20:07:24 +02:00
Aleksander Morgado
a47cbae678 icera: implement allowed mode setting 2012-08-06 20:07:24 +02:00
Aleksander Morgado
b8310729ad icera: implement initial allowed mode loading 2012-08-06 20:07:24 +02:00