Age | Commit message (Collapse) | Author | Files | Lines |
|
Possibly a cut'n'paste oversight or something.
|
|
Release it when not needed any more.
|
|
|
|
The result is not properly disposed in error handling path, resulting
in a potential leak.
|
|
Do it for consistence's sake but also because it's apparently an easy
thing to mess up.
No change in behavior, purely a cosmetic change.
|
|
In various places we fail to free up whatever g_strsplit() returned in
error handling paths. Let's use automatic pointers in those cases.
|
|
In various places in we follow this pattern:
input = qmi_message_uim_power_on_sim_input_new ();
if (bad arguments) {
complain();
return; // leak input
}
issue_message(input);
Let's, instead, always do the argument sanity checks before allocating
the message, to avoid leaking the message.
|
|
Technically, zero is a perfectly fine file descriptor for open() to
return in case the parent process feels frivolous and chooses to
close stdin.
|
|
Largest QmiService is QMI_SERVICE_SSC=0x190 (400 dec) whereas
service_info[] has 255 elements. This made a static analyzer
frown. Make it happy again!
|
|
|
|
According to gobi-api sources this TLV exists:
https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/blob/main/gobi-api/GobiAPI_2013-07-31-1347/GobiConnectionMgmt/GobiConnectionMgmtAPIStructs.h#L24641-24645
|
|
While the "Logical Channel" command can do more things, it can be used
for closing a logical channel that has been opened previously.
QMI format is based on gobi-api definition:
https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/blob/main/gobi-api/GobiAPI_2013-07-31-1347/GobiConnectionMgmt/GobiConnectionMgmtAPIStructs.h#L24531-24584
|
|
Allow an APDU to be sent to the SIM card, using the logical channel
opened with Open Logical Channel.
QMI format is based on ChromiumOS hermes definition:
https://chromium.googlesource.com/chromiumos/platform2/+/eab2f7edb247fc11b3f0ec4b886aa7a5b12f24f6/hermes/uim_cmd.qmi#38
|
|
Allows the client to open a logical channel to the SIM card which can
then be used to e.g. send APDU requests to the SIM card.
QMI format is based on ChromiumOS hermes definition:
https://chromium.googlesource.com/chromiumos/platform2/+/eab2f7edb247fc11b3f0ec4b886aa7a5b12f24f6/hermes/uim_cmd.qmi#17
|
|
This message is sometimes required to precede other IMS Settings
messages. Add the qmicli action to bind a number for IMS Settings.
|
|
This message is sometimes required to precede other IMSA messages. Add
the qmicli action to bind this number for IMSA.
|
|
Indications on the IMSA service allow the Application Processor to be
notified when the modem's IMS state changes. Add the indications, which
are similar to Get IMS Services/Registration Status responses. Since the
Application Processor must subscribe to the indications to receive them,
also add the IMSA Register Indications request.
There is another 0x33 indication which corresponds to field 0x1B of the
IMSA Register Indications request, but omit it until it is understood
enough to be named.
|
|
Binding a number is a prerequisite to reading the IMS status on the IMS
application service using the 0x20, 0x21, and 0x22 message IDs. It is
the first request sent on startup. Without it, an invalid operation
error is emitted for all IMSA requests. Add this message to allow status
reporting on the IMS application service.
|
|
Binding a number is a prerequisite to interacting with IMS settings
using the 0x8F and 0x90 message IDs. It is the first request sent on
startup. Without it, an invalid operation error is emitted for both
settings requests. Add this message to allow the listing and changing of
IMS settings.
|
|
|
|
session-type
This commit makes it possible to unlock other SIM cards in multi-SIM environments.
Instead of using the hard-coded session-type `card-slot-1` it is now possible to append `,session-type=card-slot-2` to the parameters of the following actions:
- `--uim-set-pin-protection=[(PIN1|PIN2|UPIN),(disable|enable),(current PIN)[,"key=value,..."]]`
- `--uim-verify-pin=[(PIN1|PIN2|UPIN),(current PIN)[,"key=value,..."]]`
- `--uim-unblock-pin=[(PIN1|PIN2|UPIN),(PUK),(new PIN)[,"key=value,..."]]`
- `--uim-change-pin=[(PIN1|PIN2|UPIN),(old PIN),(new PIN)[,"key=value,..."]]`
This change is backward compatible because the key-value-pair parameters are optional and without them `card-slot-1` will be used.
|
|
Enable insert_final_newline to comply with the current style.
|
|
EditorConfig projects helps maintaining consistent coding styles
across various editors and IDEs.
|
|
|
|
Example:
$ sudo qmicli -d /dev/wwan0qmi0 --gas-dms-get-ethernet-mac-address
Ethernet MAC address 0: E2:92:0C:A6:27:07
Ethernet MAC address 1: DD:95:72:49:59:48
|
|
Rename qmi_helpers_str_hex() to qmi_common_str_hex() and move it to
the new library libqmi-common that will be shared between libqmi-glib
and qmicli.
|
|
|
|
|
|
|
|
|
|
https://lists.freedesktop.org/archives/libqmi-devel/2023-November/003922.html
|
|
|
|
If the build system has defined a username to change the ownership of
the QMI control device, use the same username to change ownership of
the sysfs attributes exposed by the qmi_wwan driver, which allow us to
control e.g. raw-ip vs 802.3 link layer protocol management or
multiplexing support features.
# ls -ltr /sys/class/net/wwan0/qmi
total 0
-rw-r--r--. 1 modem root 4096 Nov 20 05:35 del_mux
-rw-r--r--. 1 modem root 4096 Nov 20 05:35 add_mux
-rw-r--r--. 1 modem root 4096 Nov 20 05:36 pass_through
-rw-r--r--. 1 modem root 4096 Nov 20 05:36 raw_ip
|
|
The latest release introduces handling of 16-bit service indications.
However, only the raw message data is returned from
`qmi_message_get_service()`, leading to incorrect values on big-endian
architectures. As a consequence, `libqmi` ultimately fails to build as
the corresponding test errors out in this case.
This patch ensures the service indication is correct on all kinds of
architectures.
|
|
Just a simplification.
|
|
As a shell globbing pattern, "[0-9]" means "one single digit", and
would not apply if there is more than one digit.
|
|
|
|
Move the udev rule under the libqmi-glib sources, not the qmi-proxy
sources.
|
|
There is no reason why we should allow attempting to use QMI over MBIM
if the library is built without that support.
|
|
Ensure all strings start with a capital letter.
|
|
|
|
|
|
|
|
|
|
|
|
Otherwise the message printing won't work for the SSC service.
|
|
|
|
So that the same logic is reused with the new 16bit service support.
|
|
So that the same logic is reused with the new 16bit service support.
|
|
|