summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* fixup! basic-connect-extensions: add support for 'MS Sys Caps'aleksander/bc-extensionsAleksander Morgado2018-09-101-1/+73
|
* basic-connect-extensions: add support for 'MS Device Caps v2'Aleksander Morgado2018-09-101-0/+43
|
* basic-connect-extensions: add support for 'MS Sys Caps'Aleksander Morgado2018-09-101-0/+14
|
* mbimcli,atds: fix thresholds in LTE SNR processingAleksander Morgado2018-08-091-2/+2
| | | | The encoded LTE SNR value is between 0 and 35, not up to 97.
* mbimcli,atds: fix LTE SNR processingAleksander Morgado2018-08-091-1/+1
|
* build: version bump to 1.17.3 for newly added MBIM_CID_PCO supportBen Chan2018-07-301-1/+1
|
* mbimcli: new '--query-pco' actionBen Chan2018-07-285-0/+260
| | | | Change-Id: I7f24d481cb92b2e817eba487d38739b8fed58b28
* libmbim-glib: add partial support for Basic IP Connectivity Extensions serviceBen Chan2018-07-2813-0/+158
| | | | | | This patch adds partial support for the Basic IP Connectivity Extensions service defined in Microsoft Mobile Broadband Design Guide. Only the Protocol Configuration Operations (PCO) command is defined.
* mbim-codegen: handle 'ref-byte-array-no-offset' fields in StructsBen Chan2018-07-281-9/+11
|
* libmbim-glib: handle MBIM_SERVICE_INTEL_FIRMWARE_UPDATE in ↵Ben Chan2018-06-281-0/+2
| | | | | | | | mbim_cid_get_printable() This patch adds a missing handling of MBIM_SERVICE_INTEL_FIRMWARE_UPDATE in mbim_cid_get_printable() for commit d2ae618d ("intel-firmware-update: add support for Intel Firmware Update service")
* build: version bump to 1.17.2 to flag existence of new API (QMI indications)Aleksander Morgado2018-06-241-1/+1
|
* libmbim-glib,qmi: enable notifications in the QMI_MSG CIDAleksander Morgado2018-06-242-10/+13
| | | | | | The QMI service allows QMI indications to be reported via MBIM notifications, once they're enabled with 'Basic Connect Device Service Subscribe List'.
* libmbim-glib,cid: fix QMI_MSG documentationAleksander Morgado2018-06-241-1/+1
|
* build: version bump to 1.17.1 to flag existence of new APIAleksander Morgado2018-06-021-1/+1
|
* libmbim-glib: add additional cause codes to MbimNwErrorBen Chan2018-06-021-35/+57
| | | | | | This patch updates MbimNwError to include additional cause codes, which are related to PDP context activation, defined in the 3GPP TS 24.008 specification section 6.1.3.1.3.1.
* build: figure out the right Python provider for the buildLubomir Rintel2018-04-242-13/+15
| | | | | Python can be called python3, python2 or merely python, but we're fine with either.
* all: drop exec bit and shebang from Python modulesLubomir Rintel2018-04-244-4/+0
| | | | Only the executables are supposed to possess those.
* mbimcli: longer timeout for '--disconnect' operationBen Chan2018-02-061-1/+1
|
* libmbim-glib,message: handle unknown status when setting errorBen Chan2018-02-061-16/+24
| | | | | | | | g_set_error_literal() requires a non-NULL 'message' argument. Passing mbim_status_error_get_string() as the 'message' argument to g_set_error_literal() could result in an assertion as mbim_status_error_get_string() returns NULL for a status code without an associated MbimStatusError enum.
* mbimcli: add "ip-type" property to --connectDan Williams2018-01-231-15/+49
|
* build: post release version bump to 1.17.0Aleksander Morgado2018-01-201-1/+1
|
* release: 1.16.01.16.0Aleksander Morgado2018-01-201-2/+2
| | | | Updated libtool versioning for the stable release.
* Revert "build: post-release version bump to 1.17.0"Aleksander Morgado2018-01-201-1/+1
| | | | | | This reverts commit 3134204465a2b13316bcbcf6c646b521c4389cec. Didn't bump libtool library versioning...
* build: post-release version bump to 1.17.0Aleksander Morgado2018-01-201-1/+1
|
* release: bump version to 1.16.0Aleksander Morgado2018-01-201-1/+1
|
* NEWS: update for 1.16.0Aleksander Morgado2018-01-201-0/+42
|
* AUTHORS: update based on latest git statsAleksander Morgado2018-01-201-5/+12
|
* mbimcli,mbim-proxy,mbim-network: update copyright year to 2018Aleksander Morgado2018-01-203-4/+4
|
* build: ignore built test fileAleksander Morgado2018-01-201-0/+2
|
* docs: update copyright year to 2018Aleksander Morgado2018-01-201-0/+1
|
* build: don't rebuild mbim-proxy-helpersAleksander Morgado2018-01-101-3/+1
| | | | They're already included in the non-inst core library.
* docs: add missing pieces to document the Intel Firmware Update serviceAleksander Morgado2018-01-102-0/+5
|
* mbimcli: new '--intel-modem-reboot' actionBen Chan2018-01-105-1/+174
|
* intel-firmware-update: add support for Intel Firmware Update serviceBen Chan2018-01-1011-5/+89
|
* libmbim-glib,device: port transactions to GTaskAleksander Morgado2017-10-081-216/+248
|
* mbim-proxy: port internal device open to GTaskAleksander Morgado2017-10-081-43/+40
|
* build: add missing gtk-doc.m4Aleksander Morgado2017-09-141-0/+88
| | | | Fixes: 9ef8723927c28d731e8f4041e45fb4df6c919a0b
* build: generate ChangeLog from git during distAleksander Morgado2017-09-132-1/+14
|
* doc,atds: avoid redefining MbimAtdsProvider documentationAleksander Morgado2017-09-131-1/+0
| | | | | MbimAtdsProvider is a struct and is already documented in the ATDS service doc.
* libmbim-glib,uuid: also document internal enum valueAleksander Morgado2017-09-131-0/+1
| | | | Just to make gtk-doc happy really.
* build: the m4 directory always existsAleksander Morgado2017-09-131-1/+0
| | | | | Even when cloning a git checkout, as we have m4/compiler-warnings under version control.
* build: import gtk-doc supportAleksander Morgado2017-09-133-2/+302
| | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the need to run `gtkdocize' when building from git; this should be an operation done by the maintainer when modernizing the gtk-doc setup (think of e.g. gettextize), no need to do it unconditionally. This makes it easier for platforms without gtk-doc to build from git. When trying to build with documentation enabled and gtk-doc isn't found, we get some nice warnings and errors in the configure report: checking for gtk-doc... no configure: WARNING: You will not be able to create source packages with 'make dist' because gtk-doc >= 1.0 is not found. checking for gtkdoc-check... no checking for gtkdoc-check... no checking for gtkdoc-rebase... no checking for gtkdoc-mkpdf... no checking whether to build gtk-doc documentation... yes configure: error: You must have gtk-doc >= 1.0 installed to build documentation for ModemManager. Please install gtk-doc or disable building the documentation by adding '--disable-gtk-doc' to './configure'. Files generated with gtkdocize (gtk-doc) 1.26.1.
* api: don't use intermediate variables for deprecation warningsAleksander Morgado2017-09-134-9/+22
| | | | | | | | | | | | | | | | | Using an intermediate constant variable breaks compilation with C compilers, as these variables cannot be used as initializers. Instead, define a deprecated type and cast all deprecated symbols to that type. We lose the information about what the new replacement symbol is, but we don't break compilation. Also, add MBIM_DISABLE_DEPRECATED guards around deprecated symbols. So that when this symbol is defined, e.g. via CFLAGS, building a program that uses the libmbim API will fail if the program references deprecated symbols. For now we just use it to keep gtk-doc-scan happy and avoid unnecessary warnings. Equivalent to ModemManager commits eedd4ab4457 and f0bb6ef856.
* device: detect already open MBIM channel on EM7345Aleksander Morgado2017-09-122-5/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we try to 'MBIM open' the channel with a Sierra Wireless EM7345 (FIH7160_V1.1_MODEM_01.1349.12) and the channel is already open in the device (e.g. mbim-proxy crashed and we try to reopen, or just running consecutive mbimcli commands with --no-close), the device returns a 'MBIM close done' message for every 'MBIM open' request we send. We update the logic to try to detect this case, and if we do, we launch an explicit 'MBIM close' operation before retrying the 'MBIM open' again. E.g. this is the flow when trying to run mbimcli command while the MBIM channel is already open in the device side: $ mbimcli -d /dev/cdc-wdm1 --query-device-caps --no-close --verbose [06 ago 2017, 16:58:21] [Debug] opening device... [06 ago 2017, 16:58:21] [Debug] [/dev/cdc-wdm1] Queried max control message size: 512 [06 ago 2017, 16:58:21] [Debug] [/dev/cdc-wdm1] Sent message... <<<<<< RAW: <<<<<< length = 16 <<<<<< data = 01:00:00:00:10:00:00:00:01:00:00:00:00:02:00:00 [06 ago 2017, 16:58:21] [Debug] [/dev/cdc-wdm1] Sent message (translated)... <<<<<< Header: <<<<<< length = 16 <<<<<< type = open (0x00000001) <<<<<< transaction = 1 <<<<<< Contents: <<<<<< max_control_transfer = 512 [06 ago 2017, 16:58:21] [Debug] [/dev/cdc-wdm1] Received message... >>>>>> RAW: >>>>>> length = 16 >>>>>> data = 02:00:00:80:10:00:00:00:02:00:00:00:00:00:00:00 [06 ago 2017, 16:58:21] [Debug] [/dev/cdc-wdm1] No transaction matched in received message [06 ago 2017, 16:58:21] [Debug] [/dev/cdc-wdm1] Received unexpected message (translated)... >>>>>> Header: >>>>>> length = 16 >>>>>> type = close-done (0x80000002) >>>>>> transaction = 2 >>>>>> Contents: >>>>>> status error = 'None' (0x00000000) [06 ago 2017, 16:58:21] [Debug] [/dev/cdc-wdm1] Sent message... <<<<<< RAW: <<<<<< length = 12 <<<<<< data = 02:00:00:00:0C:00:00:00:02:00:00:00 [06 ago 2017, 16:58:21] [Debug] [/dev/cdc-wdm1] Sent message (translated)... <<<<<< Header: <<<<<< length = 12 <<<<<< type = close (0x00000002) <<<<<< transaction = 2 [06 ago 2017, 16:58:21] [Debug] [/dev/cdc-wdm1] Received message... >>>>>> RAW: >>>>>> length = 16 >>>>>> data = 02:00:00:80:10:00:00:00:02:00:00:00:00:00:00:00 [06 ago 2017, 16:58:21] [Debug] [/dev/cdc-wdm1] Sent message... <<<<<< RAW: <<<<<< length = 16 <<<<<< data = 01:00:00:00:10:00:00:00:03:00:00:00:00:02:00:00 [06 ago 2017, 16:58:21] [Debug] [/dev/cdc-wdm1] Sent message (translated)... <<<<<< Header: <<<<<< length = 16 <<<<<< type = open (0x00000001) <<<<<< transaction = 3 <<<<<< Contents: <<<<<< max_control_transfer = 512 [06 ago 2017, 16:58:21] [Debug] [/dev/cdc-wdm1] Received message... >>>>>> RAW: >>>>>> length = 16 >>>>>> data = 01:00:00:80:10:00:00:00:03:00:00:00:00:00:00:00 [06 ago 2017, 16:58:21] [Debug] MBIM Device at '/dev/cdc-wdm1' ready
* device: open timeout check in main state machineAleksander Morgado2017-09-121-15/+24
| | | | | | | Lets check if the operation timed out on the main state machine, instead of when the open command response is processed. This will allow us to queue up new steps sending/receiving messages and have a single place to check the timeout for all of them.
* mbim-device: prefer realpath() to canonicalize_file_name()Aleksander Morgado2017-09-111-1/+1
| | | | | | | | | | | | Usually the canonicalize_file_name() GNU extension is preferred to the POSIX realpath(), as it covers some of the limitations the latter has. But this extension isn't available in lots of platforms or in other c library implementations (e.g. musl), so just default to the POSIX method to improve portability. Note that the check for canonicalize_file_name() availability during configure isn't as trivial as adding a new AC_CHECK_FUNCS(), and importing a gnulib module seems overkill just for this one liner.
* device: avoid signals sent to the mbim-proxy processAleksander Morgado2017-08-081-1/+8
| | | | | | | | | If e.g. mbim-proxy is started by ModemManager and we send a Ctrl+C to it, the signal would be propagated to the mbim-proxy process and we would kill it right away, while leaving ModemManager still around wondering why the socket to the proxy got a HUP. Avoid this, by making sure the mbim-proxy gets its own process group.
* mbimcli: new '--query-pin-list' actionBen Chan2017-08-081-0/+116
| | | | | | This patch adds a new '--query-pin-list' action to mbimcli for querying the list of PINs supported by a MBIM device and additional details for each PIN type.
* mbim-proxy: avoid double-free of 'opening device info' structAleksander Morgado2017-08-031-9/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the device is gone while an open() operation is ongoing, we're completing and freeing the 'opening device info' struct, but we didn't remove it from the private info, so when device_open_ready() happened, we were trying to complete and free it again. Avoid this issue by making sure no already-freed structs are kept in the private info, and also allowing device_open_ready() to get called without a valid pending 'opening device info'. [30 Jul 2017, 15:24:33] [Debug] [/dev/cdc-wdm0] Sent message (translated)... <<<<<< Header: <<<<<< length = 16 <<<<<< type = open (0x00000001) <<<<<< transaction = 1 <<<<<< Contents: <<<<<< max_control_transfer = 4096 [30 Jul 2017, 15:24:38] [Debug] [/dev/cdc-wdm0] Sent message... <<<<<< RAW: <<<<<< length = 16 <<<<<< data = 01:00:00:00:10:00:00:00:02:00:00:00:00:10:00:00 [30 Jul 2017, 15:24:38] [Debug] [/dev/cdc-wdm0] Sent message (translated)... <<<<<< Header: <<<<<< length = 16 <<<<<< type = open (0x00000001) <<<<<< transaction = 2 <<<<<< Contents: <<<<<< max_control_transfer = 4096 [30 Jul 2017, 15:24:42] [Debug] [/dev/cdc-wdm0] unexpected port hangup! [30 Jul 2017, 15:24:42] [Debug] Client (7) connection closed... [30 Jul 2017, 15:24:42] -Warning ** error opening device: Device is gone [30 Jul 2017, 15:24:43] [Debug] open operation timed out: closed ==24404== Invalid read of size 8 ==24404== at 0x4E4A673: peek_opening_device_info (in /usr/lib/libmbim-glib.so.4.2.0) ==24404== by 0x4E4BD7B: device_open_ready (in /usr/lib/libmbim-glib.so.4.2.0) ==24404== by 0x50CAF61: g_simple_async_result_complete (in /usr/lib/libgio-2.0.so.0.3707.0) ==24404== by 0x50CB028: complete_in_idle_cb (in /usr/lib/libgio-2.0.so.0.3707.0) ==24404== by 0x5602EEA: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3707.0) ==24404== by 0x5603207: g_main_context_iterate.isra.13 (in /usr/lib/libglib-2.0.so.0.3707.0) ==24404== by 0x56035D1: g_main_loop_run (in /usr/lib/libglib-2.0.so.0.3707.0) ==24404== by 0x4010F8: main (in /usr/lib/mbim-proxy) ==24404== Address 0x6d3bfe0 is 0 bytes inside a block of size 16 free'd ==24404== at 0x4C2A0C0: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==24404== by 0x4E4AC21: untrack_device (in /usr/lib/libmbim-glib.so.4.2.0) ==24404== by 0x5395392: _g_closure_invoke_va (in /usr/lib/libgobject-2.0.so.0.3707.0) ==24404== by 0x53A805D: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.3707.0) ==24404== by 0x53A8A51: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.3707.0) ==24404== by 0x4E49424: data_available (in /usr/lib/libmbim-glib.so.4.2.0) ==24404== by 0x5602EEA: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3707.0) ==24404== by 0x5603207: g_main_context_iterate.isra.13 (in /usr/lib/libglib-2.0.so.0.3707.0) ==24404== by 0x56035D1: g_main_loop_run (in /usr/lib/libglib-2.0.so.0.3707.0) ==24404== by 0x4010F8: main (in /usr/lib/mbim-proxy) ==24404== Block was alloc'd at ==24404== at 0x4C2B3D0: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==24404== by 0x5607B00: g_malloc (in /usr/lib/libglib-2.0.so.0.3707.0) ==24404== by 0x5617E12: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.3707.0) ==24404== by 0x5618385: g_slice_alloc0 (in /usr/lib/libglib-2.0.so.0.3707.0) ==24404== by 0x4E4B1A9: internal_open (in /usr/lib/libmbim-glib.so.4.2.0) ==24404== by 0x4E4BAC5: device_new_ready (in /usr/lib/libmbim-glib.so.4.2.0) ==24404== by 0x50CAF61: g_simple_async_result_complete (in /usr/lib/libgio-2.0.so.0.3707.0) ==24404== by 0x50CB028: complete_in_idle_cb (in /usr/lib/libgio-2.0.so.0.3707.0) ==24404== by 0x5602EEA: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3707.0) ==24404== by 0x5603207: g_main_context_iterate.isra.13 (in /usr/lib/libglib-2.0.so.0.3707.0) ==24404== by 0x56035D1: g_main_loop_run (in /usr/lib/libglib-2.0.so.0.3707.0) ==24404== by 0x4010F8: main (in /usr/lib/mbim-proxy) ==24404==
* mbimcli: make output more consistent in capitalizationBen Chan2017-08-031-9/+9
|