project/umbim.git
20 months agoumbim: fix invalid mbim message string encoding master
Daniel Danzberger [Tue, 10 May 2022 11:34:03 +0000 (13:34 +0200)]
umbim: fix invalid mbim message string encoding

Strings in mbim messages have to follow these formatting rules:
 - 4 byte alignment, padded if not.
 - utf-16 little endian.

Fixes:
 - mbim connect fails with more than 1 string parameter (apn/user/pass)
   when they are not 4 byte aligned.

Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
2 years agoumbim: fix compilation with GCC 10
Stijn Tintel [Wed, 18 Aug 2021 17:27:40 +0000 (20:27 +0300)]
umbim: fix compilation with GCC 10

When building umbim with GCC 10, a bunch of these errors appear:

cli.c: In function 'mbim_device_caps_response':
cli.c:55:29: error: taking address of packed member of 'struct mbim_basic_connect_device_caps_r' may result in an unaligned pointer value [-Werror=address-of-packed-member]
   55 |  deviceid = mbim_get_string(&caps->deviceid, buffer);
      |                             ^~~~~~~~~~~~~~~

Fix them by disabling padding between fields of struct mbim_string.

Acked-by: John Crispin <john@phrozen.org>
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
4 years agoumbim: add home provider query support
Ingo Feinerer [Sun, 4 Aug 2019 11:02:16 +0000 (13:02 +0200)]
umbim: add home provider query support

This adds support to query the home provider, mainly for debugging and
information purposes.

Signed-off-by: Ingo Feinerer <feinerer@logic.at>
Reviewed-by: Bjørn Mork <bjorn@mork.no>
5 years agoIron out all extra compiler warnings
Petr Štetiar [Wed, 10 Apr 2019 09:05:57 +0000 (11:05 +0200)]
Iron out all extra compiler warnings

mbim-msg.c:83:17: error: comparison between signed and unsigned integer expressions
cli.c:50:10: error: comparison between signed and unsigned integer expressions
cli.c:81:10: error: comparison between signed and unsigned integer expressions
cli.c:104:10: error: comparison between signed and unsigned integer expressions
cli.c:140:10: error: comparison between signed and unsigned integer expressions
cli.c:154:18: error: comparison between signed and unsigned integer expressions
cli.c:171:10: error: comparison between signed and unsigned integer expressions
cli.c:194:10: error: comparison between signed and unsigned integer expressions
cli.c:223:10: error: comparison between signed and unsigned integer expressions
cli.c:229:17: error: comparison between signed and unsigned integer expressions
cli.c:241:17: error: comparison between signed and unsigned integer expressions
cli.c:247:17: error: comparison between signed and unsigned integer expressions
cli.c:259:17: error: comparison between signed and unsigned integer expressions
cli.c:272:10: error: comparison between signed and unsigned integer expressions
cli.c:549:16: error: comparison between signed and unsigned integer expressions
mbim-dev.c:68:21: error: comparison between signed and unsigned integer expressions
mbim-dev.c:97:10: error: comparison between signed and unsigned integer expressions

Reviewed-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agoEnable extra compiler checks
Petr Štetiar [Wed, 10 Apr 2019 09:02:12 +0000 (11:02 +0200)]
Enable extra compiler checks

Let's enforce additional automatic checks enforced by the compiler in
order to catch possible errors during compilation.

Reviewed-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years agombim-proxy support
Bjørn Mork [Fri, 15 Feb 2019 13:24:57 +0000 (14:24 +0100)]
mbim-proxy support

This adds support for the libmbim-glib "mbim-proxy", allowing umbim to access
a device under ModemManager control. The feature is mostly useful for debugging
and development purposes, and is therefore disabled by default.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
5 years agoumbim: add registration set support
Ingo Feinerer [Thu, 10 Jan 2019 14:58:00 +0000 (15:58 +0100)]
umbim: add registration set support

This implements the MBIM automatic registration mode to let the function
select the best provider network.

Signed-off-by: Ingo Feinerer <feinerer@logic.at>
Reviewed-by: Bjørn Mork <bjorn@mork.no>
7 years agoadd radio_state set/query support
Bjørn Mork [Wed, 11 May 2016 11:24:04 +0000 (13:24 +0200)]
add radio_state set/query support

Signed-off-by: Bjørn Mork <bjorn@mork.no>
7 years agoupdate usage()
Bjørn Mork [Wed, 11 May 2016 11:24:03 +0000 (13:24 +0200)]
update usage()

Signed-off-by: Bjørn Mork <bjorn@mork.no>
7 years agoget buffer size from driver
Bjørn Mork [Wed, 11 May 2016 11:24:02 +0000 (13:24 +0200)]
get buffer size from driver

Signed-off-by: Bjørn Mork <bjorn@mork.no>
7 years agodynamically allocate buffer
Bjørn Mork [Wed, 11 May 2016 11:24:01 +0000 (13:24 +0200)]
dynamically allocate buffer

Signed-off-by: Bjørn Mork <bjorn@mork.no>
9 years agosupport non default ip-types
Bjørn Mork [Wed, 8 Apr 2015 13:31:24 +0000 (15:31 +0200)]
support non default ip-types

Signed-off-by: Bjørn Mork <bjorn@mork.no>
9 years agosupport IPv6 configuration
Bjørn Mork [Wed, 8 Apr 2015 13:31:23 +0000 (15:31 +0200)]
support IPv6 configuration

Signed-off-by: Bjørn Mork <bjorn@mork.no>
9 years agofix IP configuration prefix output
Bjørn Mork [Wed, 8 Apr 2015 13:31:22 +0000 (15:31 +0200)]
fix IP configuration prefix output

Signed-off-by: Bjørn Mork <bjorn@mork.no>
9 years agoadd command_id to verbose output
Bjørn Mork [Wed, 8 Apr 2015 13:31:21 +0000 (15:31 +0200)]
add command_id to verbose output

Signed-off-by: Bjørn Mork <bjorn@mork.no>
9 years agoavoid parsing InformationBuffer unless status is "success"
Bjørn Mork [Wed, 8 Apr 2015 13:31:20 +0000 (15:31 +0200)]
avoid parsing InformationBuffer unless status is "success"

The MBIM specification requires that the InformationBuffer
is empty unless the status field is MBIM_STATUS_SUCCESS,
except for 4 explicit combinations of status code and
command id.

Avoid calling the reply handler if the status code is
non-zero and the information buffer is empty.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
9 years agoadd command done status to verbose output
Bjørn Mork [Wed, 8 Apr 2015 13:31:19 +0000 (15:31 +0200)]
add command done status to verbose output

Signed-off-by: Bjørn Mork <bjorn@mork.no>
9 years agofix subscriber response segfault
Bjørn Mork [Wed, 8 Apr 2015 13:31:18 +0000 (15:31 +0200)]
fix subscriber response segfault

Signed-off-by: Bjørn Mork <bjorn@mork.no>
9 years agofix build for 64 bit systems
John Crispin [Wed, 10 Dec 2014 05:22:21 +0000 (06:22 +0100)]
fix build for 64 bit systems

Signed-off-by: John Crispin <blogic@openwrt.org>
9 years agocleanup authprotocol handling
John Crispin [Mon, 8 Sep 2014 00:01:58 +0000 (02:01 +0200)]
cleanup authprotocol handling

Signed-off-by: John Crispin <blogic@openwrt.org>
9 years agoadd support for authproto/username/password
John Crispin [Sun, 24 Aug 2014 19:27:31 +0000 (21:27 +0200)]
add support for authproto/username/password

Signed-off-by: John Crispin <blogic@openwrt.org>
9 years agosanitize pincode properly
John Crispin [Sun, 24 Aug 2014 19:13:38 +0000 (21:13 +0200)]
sanitize pincode properly

Signed-off-by: John Crispin <blogic@openwrt.org>
9 years agoadd gpl license
John Crispin [Sun, 24 Aug 2014 18:47:21 +0000 (20:47 +0200)]
add gpl license

Signed-off-by: John Crispin <blogic@openwrt.org>
9 years agoinitial import
John Crispin [Thu, 14 Aug 2014 13:32:11 +0000 (15:32 +0200)]
initial import