Aleksander Morgado
18c8dd60a7
qmi: just one InvalidCommand error is enough to avoid all DMS UIM commands
...
The MMBroadbandModemQmi will not create a MMSimQmi until the unlock status has
been checked, and therefore this means that when the SIM object is being created
we already know whether the modem supports DMS UIM commands or not, so avoid
further fallbacks in the SIM object.
2016-02-11 10:52:09 +01:00
Aleksander Morgado
9cbd0c61b0
sim-qmi: implement SIM verify/unblock/change/enable with UIM service
...
Newer modems like the MC7455 don't implement the "DMS UIM" commands in the
DMS service, and therefore these modems need to use the UIM service directly.
We include a new flag to detect whether any of the DMS UIM commands is flagged
as invalid, and if so, we'll fallback to the UIM specific implementations for
all.
libqmi version bump to 1.13.7, which includes the new required methods.
2016-02-11 10:51:53 +01:00
Aleksander Morgado
aeb6362172
sim-qmi: port to GTask
2016-01-30 18:38:05 -08:00
Aleksander Morgado
35ab3dedd6
sim-qmi: try to gather from the optional TLV whether MNC is 2 or 3 digits
...
We bump libqmi requiremetn to 1.13.5, which is the one with support for the new TLV.
2015-10-25 15:48:42 +01:00
Aleksander Morgado
77b6b02fd3
sim-qmi: fix building MCCMNC string
...
For now, use 2 digits for MNC if < 100 and 3 digits otherwise.
2015-10-25 15:15:33 +01:00
Dan Williams
3f3ad507e2
sim-qmi: load operator identifier and name from NAS home network
2015-10-25 15:11:37 +01:00
Aleksander Morgado
5358d6fea0
sim: rename 'MMSim' to 'MMBaseSim'
...
Just so that we don't have same header names in src/ and /libmm-glib.
2014-07-06 16:55:29 +02:00
Aleksander Morgado
403e013f15
ports: rename 'MMQmiPort' to 'MMPortQmi'
2014-02-13 13:40:04 +01:00
Dan Williams
f50aa47fb2
sim-qmi: fix trivial GError literal issues/format string warnings
2013-01-10 10:09:35 -06:00
Aleksander Morgado
dc7aa25f0a
sim-qmi: translate common SIM-related QMI errors into ME errors
...
Upper layers expect Mobile Equipment errors, so try to translate known QMI
protocol errors.
2013-01-08 18:40:48 +01:00
Aleksander Morgado
014d0688ff
core,qmi: don't assume QMI port is always available
...
When the modem gets unplugged all ports disappear from the modem, so don't
assume the port is always given.
E.g. if the unplug happens in the middle of the initialization sequence we may
end up with nasty segfaults:
Crash reason: SIGSEGV
Crash address: 0x0
Thread 0 (crashed)
0 ModemManager!mm_qmi_port_peek_client [mm-qmi-port.c : 50 + 0x0]
rbx = 0x00007fbb5c1d8010 r12 = 0x0000000000000003
r13 = 0x00007fbb5c1f9880 r14 = 0x00007fbb59a30980
r15 = 0x00007fbb5c187a60 rip = 0x00007fbb5a1a54c0
rsp = 0x00007fffc6c0f628 rbp = 0x00007fffc6c0f650
Found by: given as instruction pointer in context
1 ModemManager!peek_qmi_client [mm-broadband-modem-qmi.c : 109 + 0x24]
rbx = 0x00007fbb5c1d8010 r12 = 0x0000000000000003
r13 = 0x00007fbb5c1f9880 r14 = 0x00007fbb59a30980
r15 = 0x00007fbb5c187a60 rip = 0x00007fbb5a193851
rsp = 0x00007fffc6c0f630 rbp = 0x00007fffc6c0f650
Found by: call frame info
2 ModemManager!ensure_qmi_client [mm-broadband-modem-qmi.c : 132 + 0x4]
rbx = 0x00007fbb5c1d8010 r12 = 0x00007fbb5a165140
r13 = 0x00007fbb5c1f9880 r14 = 0x00007fbb59a30980
r15 = 0x00007fbb5c187a60 rip = 0x00007fbb5a1938e4
rsp = 0x00007fffc6c0f650 rbp = 0x00007fffc6c0f690
Found by: call frame info
...
Reported by: Ben Chan <benchan@chromium.org >
2012-10-11 09:23:49 +02:00
Aleksander Morgado
c250fa3797
libmm-glib: remove the `libmm-common.h' header
...
Both the ModemManager daemon and the mmcli will now include `libmm-glib.h' only.
We also handle two new special `_LIBMM_INSIDE_MM' and `LIBMM_INSIDE_MMCLI'
symbols, which if included before the `libmm-glib.h' library allow us to:
* Don't include the libmm-glib high level API in the ModemManager daemon, as
the object names would clash with those in the core.
* Define some of the methods of helper objects to be included only if compiling
ModemManager daemon or the mmcli.
2012-10-04 10:17:12 +02:00
Aleksander Morgado
28eb5df342
qmi-port: allow allocating more than one client of a given service
...
We'll uniquely identify each client generated by the service ID and a user
defined flag, so that we then allow to peek/get the specific client.
2012-08-29 17:26:47 +02:00
Aleksander Morgado
a17bc801a5
sim-qmi: enable/disable PIN using QMI
2012-08-29 17:26:41 +02:00
Aleksander Morgado
1e6d8ba779
sim-qmi: change PIN using QMI
2012-08-29 17:26:41 +02:00
Aleksander Morgado
36aca91abb
sim-qmi: skip loading operator identifier/name
...
Not yet implemented in libqmi-glib.
2012-08-29 17:26:41 +02:00
Aleksander Morgado
30bdc8d592
sim-qmi: send PUK using QMI
2012-08-29 17:26:41 +02:00
Aleksander Morgado
d1d5322f51
sim-qmi: send PIN using QMI
2012-08-29 17:26:41 +02:00
Aleksander Morgado
6dc6f7bf0d
sim-qmi: update IMSI using QMI
2012-08-29 17:26:41 +02:00
Aleksander Morgado
742527aa60
sim-qmi: update SIM ID (ICCID) using QMI
2012-08-29 17:26:41 +02:00
Aleksander Morgado
e64bb09731
sim-qmi: new `MMSimQmi' object
2012-08-29 17:26:41 +02:00