summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-11-02libmbim-glib,device: rename 'dummy' with 'placeholder'HEADmasterAleksander Morgado1-1/+1
2021-11-02libmbim-glib,api: rename 'network blacklist' to 'network denylist'Aleksander Morgado4-3/+18
Unfortunately we cannot fully remove the blacklist name forever, as we must keep API. We move it to -compat so that it gets removed whenever we decide to break API.
2021-11-02libmbim-glib,enums: fix MbimAccessMediaType documentationAleksander Morgado1-6/+6
2021-11-02libmbim-glib,uuid: set missing Since tag in MBIM_UUID_MS_UICC_LOW_LEVEL_ACCESSAleksander Morgado1-9/+11
2021-11-02libmbim-glib,uuid: new context type definitions in Microsoft ExtensionsAleksander Morgado2-18/+103
2021-11-02mbimcli: implement --set-ip-packet-filtersAleksander Morgado3-28/+380
The option receives a key-value pair string that can be used to define zero or more filters. E.g. if we want to add TCP and UDP packets to the filters, we could run: $ PF_TCP="packet-filter=40000000000000000006,packet-mask=F00000000000000000FF" $ PF_UDP="packet-filter=40000000000000000011,packet-mask=F00000000000000000FF" $ sudo mbimcli -v -d /dev/wwan0mbim0 -p --set-ip-packet-filters="session-id=0,${PF_TCP},${PF_UDP}" Or, if we want to remove all filters, we could run: $ sudo mbimcli -v -d /dev/wwan0mbim0 -p --set-ip-packet-filters="session-id=0"
2021-11-02basic-connect: implement ip-packet-filtersSom_SP1-1/+45
This command is an extension for the existing MBIM_CID_IP_PACKET_FILTERS defined in the MBIM specification revision 1.0. This extension adds a new member called "FilterId" to the data structure to set command and response.
2021-11-02meson.build: add an option to not build man pages.Nicolas Cavallari2-1/+8
When cross-compiling, the compiled binaries cannot be run on the build machine, unless one defines a helper (e.g. qemu) in the meson configuration, which is most of the time undesirable. If help2man is installed on the build machine, then the build would fail because of this, so add an option to disable generating the man pages. With later versions of meson, it will be possible to automatically detect this condition.
2021-10-26build: Fix double quotes in rules fileIñigo Martínez1-1/+1
`MBIM_USERNAME` is quoted twice in the `76-mbim-proxy-device-ownership.rules` rules file. This is because the definition is used in two files. The first one is `config.h` file, that is used in source code files and needs to be explicitly quoted. The second one is the rules file, mentioned above that already has quotes in the template file. The explicit quotes have been removed in the rules file generation. Fixes #21
2021-10-25libmbim-glib,test: minor refactoring in method namesAleksander Morgado2-108/+116
2021-10-25libmbim-glib,test: add Device Caps v3 parser testAleksander Morgado1-0/+123
2021-10-25libmbim-glib,test: always enable message tracesAleksander Morgado2-12/+0
When running the tests normally under ninja, the output is not verbose at all; so we can enable the traces by default so that we get them if we run the tester manually.
2021-10-25libmbim-glib,tlv: parsers for wake command and wake packet typesAleksander Morgado7-12/+544
2021-10-25ms-basic-connect-extensions: implement wake-reasonSom_SP5-3/+104
This CID is used by host to query the modem for its wake reason when power up because of device wake. If the device supports this function, but fails the query from host, it means the power up is not caused by a wake from the device. Includes updates by Aleksander Morgado to fix coding style issues, message definitions add missing documentation items.
2021-10-25ms-basic-connect-extensions-v3: implement 'Modem Configuration'Som_SP5-1/+104
This CID is used to notify the host of the configuration progress and parameters of the device. This CID is added as part of MBIM 3.0 extension. Includes updates by Aleksander Morgado to fix coding style issues, memory handling fixes add missing documentation items.
2021-10-25mbimcli: add support for MBIMEx v3.0 Device CapsAleksander Morgado1-23/+91
2021-10-24MBIMEx 3.0: implement 'device caps v3'Som_SP1-1/+50
In this version MBIMDataClass5G_NSA and MBIMDataClass5G_SA are renamed to MBIMDataClass5G with corresponding data subclasses. These subclasses will give more detailed combination of 5G attach possiblities.
2021-10-24build-aux,codegen: new 'tlv-guint16-array' field typeAleksander Morgado6-17/+182
This is a TLV that contains an array of guint16 values. For now we only add reading support,
2021-10-24libmbim-glib,enums: update MbimCtrlCaps in MBIMEx v3.0Aleksander Morgado1-5/+13
2021-10-24libmbim-glib,enums: rename 'MbimDataClassV2' to 'MbimDataClassV3'Aleksander Morgado6-50/+52
The type is introduced in MBIMEx v3.0, so just name it with the v3 suffix, not to confuse with the updated introduced in MBIMEx v2.0, which is compatible with the original type in MBIM v1.0.
2021-10-24libmbim-glib,message: printable support for MBIMEx v2.0 extensionsAleksander Morgado1-3/+15
2021-10-24build-aux,codegen: fix attempting to unref a NULL MbimTlvAleksander Morgado1-1/+2
2021-10-23libmbim-glib,message: remove obsolete read_string_tlv() methodAleksander Morgado2-78/+0
The logic now uses the read_tlv_string() method, using the new TLV types.
2021-10-23libmbim-glib,tlv: fix string reading in BE systemsAleksander Morgado1-1/+1
The data length needs to be converted to HE before using it.
2021-10-23docs,reference: add missing entries for mbim_tlv_string_{new|get}Aleksander Morgado1-0/+3
2021-10-17libmbim-glib,proxy: fix wrong message unref in MBIMEx reporting logicAleksander Morgado1-2/+2
We're not taking a full reference to the MbimMessage with g_object_get_data() and therefore we must not free the object when going out of context.
2021-10-16libmbim-glib,enums: minor fix in MBIM_FREQUENCY_RANGE_UNKNOWNAleksander Morgado1-1/+1
2021-10-13build: version bump to flag existence of new API (NO_ESIM_PROFILE)Aleksander Morgado1-1/+1
2021-10-13libmbim-glib,enums: update MBIM_SUBSCRIBER_READY_STATE_NO_ESIM_PROFILE docAleksander Morgado1-1/+2
2021-10-13libmbim-glib: Adding esim no profile support in ready stateSom_SP1-0/+2
MBIM extension spec already provides update on ready state to inform the host on whether the inserted esim has profile in it or not. This needs an enum addition to enhance the info capability.
2021-10-13libmbim-glib,enums: add comment about MBimDataClass vs MbimDataClassV2Aleksander Morgado1-2/+9
2021-10-13libmbim-glib,enums: add missing Since tagsAleksander Morgado1-0/+4
2021-10-13libmbim-glib,mbimcli: 'Registration Parameters' command is part of MBIMEx v3.0Aleksander Morgado6-229/+230
2021-10-13libmbim-glib,tlv: specify it's used since MBIMEx v3.0Aleksander Morgado1-1/+2
2021-10-13libmbim-glib,mbimcli: 'Version' command is part of MBIMEx v2.0Aleksander Morgado7-113/+120
2021-10-12build-aux,mbim-codegen: report ms-struct and ms-struct-array as nullableAleksander Morgado1-2/+2
These two fields should be treated as optional fields that may or may not be given in the message response, and therefore %NULL is a valid output value for them even when the parsing is successful, unlike most other fields in the MBIM protocol.
2021-10-12mbimcli,basic-connect: avoid updating connect positional arguments logicAleksander Morgado1-19/+4
The supported way to use the connect operation is through key-value pairs; the positional arguments method is fully deprecated and should no longer be used or updated.
2021-10-12build-aux,codegen: remove 'string-tlv' from structsAleksander Morgado1-22/+1
This type was the original implementation of string TLVs, that required an intermediate struct to exist. The new 'tlv-string' type hides the need of the intermediate struct, and so this old type is no longer needed.
2021-10-12ms-basic-connect-v3: switch 'Basic Connect' to use MbimTlvsAleksander Morgado4-66/+433
The logic is updated to avoid requiring intermediate structs in the API; for the string TLVs that are included as named fields we'll use the 'tlv-string' types. We also add support for the unnamed IEs as 'tlv-list' fields at the end of the messages.
2021-10-12libmbim-glib,test,message-parser: include printable output in tracesAleksander Morgado1-1/+46
2021-10-12libmbim-glib,test,message-builder: include printable output in tracesAleksander Morgado1-0/+61
2021-10-12libmbim-glib: new MbimTlv generic typeAleksander Morgado16-9/+1402
The Microsoft Extensions define a new generic TLV type that allows including any kind of data in it: from strings, to arrays of uints, to more complex types. We define support for the generic 'tlv' type and the generic 'tlv-list' type, which allow implementing the "unnamed IEs" that are appended to some new messages in the MS extensions. And we also define support for a more specific 'tlv-string', used exclusively when the TLVs are part of the named fields, so that we can provide strings in our libmbim-glib APIs, instead of requiring the user to build MbimTlv instances.
2021-10-12ms-basic-connect: implement connect for mbim version 3Som_SP7-66/+444
This command is an extension for the existing MBIM_CID_CONNECT defined in the MBIM specification revision 1.0. This extension adds 5G SA specific parameters.
2021-10-12ms-basic-connect-v3: fix MbimTai struct definitionAleksander Morgado4-19/+66
The PLMN field is not a single 32 bit value, it's really 2 separate guint16 values. This is important because the endianness change in BE systems would be different. Also, the format of the MCC and MNC inside the PLMN fields is very specific to the implementation (BCD encoded, MNC PCS digit indicated in most significant bit of the MNC field...).
2021-10-12mbimcli,basic-connect: minor rework on how packet service status response is ↵Aleksander Morgado1-47/+30
printed No need to fully print the whole output in v3, just print the extra new things.
2021-10-12MBIMEx 3.0: implement "packet service v3" for SASom_SP2-21/+131
This command is an extension for the existing MBIM_CID_PACKET_SERVICE defined in the MBIM specification revision 2.0.
2021-10-12libmbim-glib: implement 'Base Stations Info v3'Aleksander Morgado4-42/+327
2021-10-12ms-basic-connect-extensions-v3: don't reimplement commands if they didn't changeAleksander Morgado2-9/+3
If a given command didn't change in the new version update of the service, skip creating methods to handle it, just use the ones from the original version.
2021-10-12ms-basic-connect-v3: don't reimplement commands if they didn't changeAleksander Morgado2-7/+2
If a given command didn't change in the new version update of the service, skip creating methods to handle it, just use the ones from the original version.
2021-10-12ms-basic-connect-v2: don't reimplement commands if they didn't changeAleksander Morgado2-40/+11
If a given command didn't change in the new version update of the service, skip creating methods to handle it, just use the ones from the original version.