MBIM modems report RSSI and sometimes don't report more detailed RSRP
and SNR info their MBIMex v2 signal-state replies. RSSI gets reported
for every other access technology, and while it's not as good a signal
indicator as the others, we might as well show something.
Signed-off-by: Dan Williams <dan@ioncontrol.co>
Add some mmcli D-Bus timeout slack, making them slightly higher than the
ModemManager internal timeout, to ensure the cli doesn't time out the
D-Bus call when MM succeeds.
For 3GPP scan, some modems appear to have internal 5 minute timeouts,
so ensure MM doesn't time out right before the modem returns results:
ModemManager[282578]: <dbg> [1741054422.321400] [ttyUSB2/at] --> 'AT+COPS=?<CR>'
ModemManager[282578]: <wrn> [1741054722.247806] [modem1] failed scanning networks: Serial command timed out
ModemManager[282578]: <dbg> [1741054724.119770] [ttyUSB2/at] <-- '<CR><LF>+COPS: (1,"T-Mobile","T-Mobile","310260",0),,(0,1,2,3,4),(0,1,2)<CR><LF><CR><LF>OK<CR><LF>'
Signed-off-by: Dan Williams <dan@ioncontrol.co>
For a ModemManager simple connect using mmcli, added the bearer
path on which call is connected. This helps in determining the
bearer path to directly retrieve bearer information easily
of this particular call.
Signed-off-by: Anagh G <quic_anaghg@quicinc.com>
This adds
```
$ mmcli -m 0 --cell-broadcast-list-cbm
/org/freedesktop/ModemManager1/CBM/0 (received)
/org/freedesktop/ModemManager1/CBM/0 (received)
$ mmcli -m 0 --cell-broadcast-delete-cbm=0
successfully deleted CBM from modem
$ mmcli -m 0 --cbm 0
--------------------------
General | path: /org/freedesktop/ModemManager1/CBM/1
--------------------------
Content | text: This is a test of the Ontario Alert Ready System. There is no danger to your health or safety
--------------------------
Properties | update: 0
| message code: 0
```
Signed-off-by: Guido Günther <agx@sigxcpu.org>
When a modem is not able to register to the network, MBIM and QMI indications
related to registration reports network rejection cause codes if request is
rejected by the network. This information is currently logged in the ModemManager
but not exposed outside of ModemManager.
These are the changes to define interface to expose network reject cause codes
over d-bus to the above layers which could be used by above layers to present
this information in a user friendly way.
When the modem is in a failed state because of a SIM-related error,
like a missing SIM, or if the modem is SIM-locked, allow the
Location interface to initialize and be enabled anyway.
This allows someone without a SIM to use the GPS, which does not
particularly require a phone subscription. It also allows
someone with a SIM to use the GPS even if the SIM is still
locked.
This patch was reworked, while keeping the original idea, by:
Aleksander Morgado <aleksander@aleksander.es>
Fixes#183
Added a `--messaging-create-sms-with-text' command line option that works similar to
`--messaging-create-sms-with-data', except that it uses the content of the file as the
message text instead of data.
This allows creating mesasges containing both double and single quotes, which was not
possible with the existing `--messaging-create-sms' command line option.
A network scan with json output currently returns the following:
root@G3-10940 ~ # mmcli -m 0 -J --3gpp-scan --timeout=300 | jq
{
"modem": {
"3gpp": {
"scan-networks": [
"operator-code: 26201, operator-name: TDG, access-technologies: lte, availability: forbidden",
"operator-code: 26203, operator-name: o2 - de, access-technologies: lte, availability: forbidden",
"operator-code: 26202, operator-name: vodafone.de, access-technologies: lte, availability: current"
]
}
}
}
This is a valid JSON, but in order to be able to access the individual
data elements more easily, the line can also be dumped as a json object.
The following commit converts the lines into a JSON obejct, so that it
looks like this:
root@G3-10940 ~ # mmcli -m 0 -J --3gpp-scan --timeout=300 | jq
{
"modem": {
"3gpp": {
"scan-networks": [
{
"operator-code": "26201",
"operator-name": "TDG",
"access-technologies": "lte",
"availability": "forbidden"
},
{
"operator-code": "26203",
"operator-name": "o2 - de",
"access-technologies": "lte",
"availability": "forbidden"
},
{
"operator-code": "26202",
"operator-name": "vodafone.de",
"access-technologies": "lte",
"availability": "current"
}
]
}
}
}
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
We're bumping the current "INFO" level messages to the new "MSG"
level, also making the new level the default.
The old "INFO" level will be used to setup an intermediate level of
logging which is not as verbose as "DEBUG" but still provides some
capabilities to analyze the behavior of a modem.
The g_date_time_new_from_unix_utc() method in glib2 may fail if the
given timestamp is too far into the future. The value is supposed to
be seconds since unix time origin, but internally it will be converted
into usecs, so any value longer than G_MAXINT64 / USEC_PER_SECOND
isn't allowed.
This is currently used in the CLI, and we're anyway ignoring the error
returned in that case, but at least it won't crash if it ever happens.
We don't have a clear way to report "unknown" signal quality, so for
now just skip printing it altogether in the mmcli human output if the
modem is not yet enabled.
In order to show the properties of the profile management interface, e.g.:
$ sudo mmcli -m a --3gpp-profile-manager-status
-----------------------------------
3GPP profile manager | index field: apn-type