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
b1ebf22182
TODO: add generic bearer improvements
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
Aleksander Morgado
2e8ede1a29
icera: add initial skeleton of the `MMIfaceIcera' interface
2012-08-06 20:07:24 +02:00
Aleksander Morgado
9a068b4294
samsung: port Bearer to use the 'config' property in the MMBearer class
...
This saves us from requiring to implement user & password in all modems.
2012-08-06 20:07:24 +02:00
Aleksander Morgado
fc9a7dbbd9
samsung: port plugin to the refactored probing logic
2012-08-06 20:07:24 +02:00
Aleksander Morgado
03a0fee4ff
samsung: minor coding style fixes
2012-08-06 20:07:24 +02:00
Aleksander Morgado
6f814bb15a
samsung: plug memleak
...
get_port() actually increases the refcount of the returned port, use peek_port()
instead.
2012-08-06 20:07:24 +02:00
Aleksander Morgado
a80e620342
samsung: fix typo, s/recieved/received
2012-08-06 20:07:24 +02:00
Nathan Williams
f15527eecd
samsung: plugin for Samsung Y3300/Y3400 UMTS modems based on the Icera/Nvidia chipset
2012-08-06 20:07:24 +02:00
Aleksander Morgado
ea3652ef63
TODO: add task to give time to modems to settle down after PIN entry
2012-08-06 20:07:24 +02:00
Aleksander Morgado
0bd8f5bc94
pantech: expect QCDM ports
2012-08-06 20:07:24 +02:00
Aleksander Morgado
b96a50f42b
pantech: always prefer the ttyACM port as primary AT port
2012-08-06 20:07:24 +02:00
Aleksander Morgado
f4754e150e
pantech: initial dummy plugin
2012-08-06 20:07:24 +02:00