Commit Graph

22 Commits

Author SHA1 Message Date
Nagi Marupaka
eeba2ff32b broadband-modem-mbim: account for race condition in quick hot swap case
On MBIM modems, when the SIM is ejected and re-inserted in a quick manner,
the state machine logic encounters a race condition and eventually, the
modem response for subscriber status is ignored. This change accounts
for that state transition without erroring out.

Fixes #672.
2023-05-12 11:46:17 +00:00
Aleksander Morgado
234f185c3a iface-modem: fail initialization if eSIM without profiles
A modem using an eSIM without profiles should not be allowed to get
enabled, it should be really treated as a modem without a physical
SIM.
2022-05-25 11:14:45 +02:00
Aleksander Morgado
34a50edde1 api,errors: document all DBus error name prefixes
Since ModemManager 1.0 we were publishing symbols to identify all the
possible DBus error name prefixes, but these were never documented,
they were explicitly ignored in gtk-doc.

Let's provide proper documentation for them and make them first-class
API symbols.
2021-05-22 22:58:37 +00:00
Aleksander Morgado
8da8fd0248 api: update MMMobileEquipmentError enum values
Update the list of mobile equipment error codes according to v17.1.0
of 3GPP TS 27.007 (March 2021).

A lot of the enum values that were prefixed with the 'GPRS_' keyword
have now been flagged as deprecated, and a new enum name given to the
corresponding value.

The deprecated symbol names are kept in the compat support to avoid
breaking API/ABI.
2021-05-22 22:58:37 +00:00
Aleksander Morgado
f157d02fc6 include,errors: define +CME ERROR code 151 equal to 171
When the MT detects an attempt to disconnect the last PDN or when the
network returns a response message with cause value #49, the "Last PDN
disconnection not allowed" error is returned.

The numeric error code was changed from 151 to 171 in 3GPP Rel-11, and
therefore there are devices out there that would conform to Rel-10 or
below and that would report +CME ERROR code 151 instead of 171. Given
that 151 isn't defined to a different meaning in the specs, let's
define it in the same way as 171.
2019-12-16 14:39:22 +01:00
Aleksander Morgado
cf14fba5b7 docs,api: provide per-version indices 2019-10-24 13:02:37 +02:00
Dan Williams
aecc3e99a0 include: fix up whitespace 2018-05-24 10:00:10 -05:00
Dan Williams
b074a2b4a4 include: add more 3GPP errors
From 3GPP TS 27.007 version 11.6.0 Release 11, sections 9.2.1,
9.2.2.1, 9.2.2.2, and 9.2.2.3.
2018-05-22 12:03:28 -05:00
Aleksander Morgado
f2fa7a7fbf qcdm: don't retry probing if QCDM unescaping fails
But keep the retries when the frame marker isn't found.

https://bugzilla.gnome.org/show_bug.cgi?id=708861
2014-10-15 18:29:18 +02:00
Aleksander Morgado
c2d3704aa5 api,doc: add missing documentation for the new GPRS errors 2014-05-29 10:10:16 +02:00
Dan Williams
66e4b0d603 api,errors: define new EPS-related errors
We can use these to return better error messages if an operator
does not support the default subscription APN functionality,
and the user does not give us an APN.
2014-05-07 16:19:00 -05:00
Aleksander Morgado
d1d2868785 api: Change error enum nicks
Introspection can't copy with a '.' in the value nicks, so just remove those.

Note: This could be considered an ABI break!

Bug #705641.

Patch based on a previous one from Christian Persch <chpe@gnome.org>.
2013-08-14 13:30:35 +02:00
Aleksander Morgado
c7f3d33b3e api,errors: define new GPRS related errors 2013-04-17 15:19:41 +02:00
Aleksander Morgado
f24fc68e04 port-probe: add a new serial parser filter to detect non-AT strings
We will check each string with our custom filter before even trying to
parse them. A MM_SERIAL_ERROR_PARSE_FAILED error will be issued whenever the
string doesn't match the filter.
2013-04-04 19:26:51 +02:00
Aleksander Morgado
4251030bd8 api: only allow including `ModemManager.h' directly 2012-10-04 10:17:13 +02:00
Aleksander Morgado
815693661c core: compile all ports before creating the modem object
Before this, we only exported the modem to DBus when all ports were organized,
in order to make sure that we select as primary port the one we really want and
not the first AT port grabbed. Given that to get all the ports organized we also
needed to wait to get all the ports grabbed, we can now also defer the creation
of the modem object until all the ports get grabbed. This allows us to create
different types of objects based on the ports available (e.g. we can now create
QMI-supported modem objects if we see a QMI port around).
2012-08-06 20:06:44 +02:00
Aleksander Morgado
961290ddd7 build: autogenerate `mm-errors-quarks.c'
We define custom nicks for each error enum, matching the DBus error entry that
we want to have with each of them.
2012-03-16 14:53:23 +01:00
Aleksander Morgado
120ac6da39 api,errors: new `MM_CORE_ERROR_RETRY'
Lets operations specify that they cannot be run currently, but that the caller
may retry later. Of course, it depends on the caller to really honour the
retry-later suggestion.
2012-03-16 14:53:20 +01:00
Aleksander Morgado
4bf03a24a1 api,header: treat CDMA activation errors as any other error 2012-03-15 14:14:51 +01:00
Aleksander Morgado
0793522d28 errors: new TOO_MANY and NOT_FOUND core errors 2012-03-15 14:14:33 +01:00
Aleksander Morgado
7b12da9169 errors: new MM_CORE_ERROR_CONNECTED error
To be returned when we try to send an AT command to a modem, but there is no
usable AT port available, as the primary port is connected (hence the name)
and there is no secondary port.
2012-03-15 14:14:31 +01:00
Aleksander Morgado
4643dca4a2 api,errors: implement all errors from the new API
Errors that will/may be reported via DBus are defined in the public interface
header.
2012-03-15 14:14:18 +01:00