| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Bjørn Mork <bjorn@mork.no>
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This effectively makes mbim-network work with multiple devices in a single system.
|
|
|
|
| |
https://bugs.freedesktop.org/show_bug.cgi?id=94881
|
| |
|
|
|
|
|
|
| |
There's really not much benefit on a hard build-dependency on gudev if we're
just using it to get the path of the descriptors path, so provide an alternate
implementation for now just using sysfs paths, and make gudev selection auto.
|
| |
|
|
|
|
|
|
|
|
|
| |
If building from a clean git clone with builddir ≠ srcdir, the configure
script is (correctly) generated in builddir by autoconf. Execute it from
there, rather than from the srcdir, so that all the configure products
(Makefiles, etc.) are generated in the builddir.
https://bugs.freedesktop.org/show_bug.cgi?id=94639
|
| |
|
|
|
|
|
|
|
|
|
| |
Sierra Mobile Broadband EM7455 won't work while the retry interval is
only one second.
https://bugs.freedesktop.org/show_bug.cgi?id=91189
Signed-off-by: Shih-Yuan Lee (FourDollars) <sylee@canonical.com>
|
|
|
|
|
| |
Fixes: 4e58451a744dbc3f086e9c1dd2d7469ff70d50ef ("mbimcli: add support for Basic Connect session IDs")
Signed-off-by: David Ward <david.ward@ll.mit.edu>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
4e58451
From f6d10eb69eefeb190c9349fdbd3a23b0e838913e Mon Sep 17 00:00:00 2001
From: Dan Williams <dcbw@redhat.com>
Date: Wed, 9 Sep 2015 12:06:00 -0500
Subject: [PATCH] mbimcli: fix parsing --query-connection-state and
--disconnect args after 4e58451
Fixes: 4e58451a744dbc3f086e9c1dd2d7469ff70d50ef ("mbimcli: add support for Basic Connect session IDs")
Reported-by: David Ward
|
|
|
|
|
|
|
|
|
|
| |
--query-connection-state=[SessionID]
--disconnect=[SessionID]
--connect=["key=value,..."]
As part of enabling session IDs, we must also convert --connect
over to a key=value format for all its arguments, but still
preserve backwards compat with the old format.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Once a service has been registered, we should allow users of the library to
actually build Command messages with the new service.
https://bugs.freedesktop.org/show_bug.cgi?id=77225
|
|
|
|
| |
Just warn and return NULL.
|
| |
|
|
|
|
| |
https://bugs.freedesktop.org/show_bug.cgi?id=87901
|
|
|
|
| |
or not
|
|
|
|
|
|
|
|
|
|
| |
Never assume that mbim_device_is_open() will return the valid open status of the
real device. If we're in the middle of a suspend/resume cycle, the logic will
think that the session is open, while in reality it may not be.
To really make sure that we're open, explicitly send a Command message to the
device, and react on the possible NotOpened error by re-opening the device right
away.
|
| |
|
|
|
|
|
| |
We were already doing this as g_simple_async_result_new() was taking one itself,
so this is just to make the code clearer and to ease next changes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
And avoid segfault in weird situations....
E.g. if we send Open(3) and we get Close-Done(3) (as with a Telit LN930 device)
the logic was segfaulting. The reason being that device_release_transaction()
was returning a valid Transaction (that with ID 3) but wasn't being released
from the internal HT (as we were asking for Open-Done, not Close-Done or Invalid).
[17 ene 2015, 18:09:23] [Debug] [/dev/cdc-wdm0,3] transaction open: store
[17 ene 2015, 18:09:23] [Debug] [/dev/cdc-wdm0] Sent message...
<<<<<< RAW:
<<<<<< length = 16
<<<<<< data = 01:00:00:00:10:00:00:00:03:00:00:00:00:02:00:00
[17 ene 2015, 18:09:23] [Debug] [/dev/cdc-wdm0] Sent message (translated)...
<<<<<< Header:
<<<<<< length = 16
<<<<<< type = open (0x00000001)
<<<<<< transaction = 3
<<<<<< Contents:
<<<<<< max_control_transfer = 512
[17 ene 2015, 18:09:23] [Debug] [/dev/cdc-wdm0] Received message...
>>>>>> RAW:
>>>>>> length = 16
>>>>>> data = 02:00:00:80:10:00:00:00:03:00:00:00:00:00:00:00
[17 ene 2015, 18:09:23] [Debug] [/dev/cdc-wdm0,3] transaction open: complete: error
[17 ene 2015, 18:09:23] [Debug] getting open done result failed: closed
[17 ene 2015, 18:09:23] [Debug] Client (6) connection closed...
[17 ene 2015, 18:09:23] -Warning ** error opening device: Unexpected response message type: 0x80000002
**
Mbim:ERROR:mbim-device.c:2205:finalize: assertion failed: (g_hash_table_size (self->priv->transactions[i]) == 0)
Program received signal SIGABRT, Aborted.
0x00007ffff6f56a97 in raise () from /usr/lib/libc.so.6
(gdb) bt
#0 0x00007ffff6f56a97 in raise () from /usr/lib/libc.so.6
#1 0x00007ffff6f57e6a in abort () from /usr/lib/libc.so.6
#2 0x00007ffff73357f5 in g_assertion_message () from /usr/lib/libglib-2.0.so.0
#3 0x00007ffff733588a in g_assertion_message_expr () from /usr/lib/libglib-2.0.so.0
#4 0x00007ffff7bb44c3 in finalize (object=0x617100) at mbim-device.c:2205
#5 0x00007ffff75e925a in g_object_unref () from /usr/lib/libgobject-2.0.so.0
#6 0x00007ffff7bb4bd7 in client_set_device (client=0x607300, device=0x0) at mbim-proxy.c:172
#7 0x00007ffff7bb4cd8 in client_unref (client=0x607300) at mbim-proxy.c:199
#8 0x00007ffff7bb522f in request_complete_and_free (request=0x613350) at mbim-proxy.c:369
#9 0x00007ffff7bb59d1 in proxy_config_internal_device_open_ready (self=0x60f880, res=0x6494a0, request=0x613350) at mbim-proxy.c:616
#10 0x00007ffff78976d7 in g_simple_async_result_complete () from /usr/lib/libgio-2.0.so.0
#11 0x00007ffff7897739 in ?? () from /usr/lib/libgio-2.0.so.0
#12 0x00007ffff730f91d in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#13 0x00007ffff730fcf8 in ?? () from /usr/lib/libglib-2.0.so.0
#14 0x00007ffff7310022 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#15 0x000000000040153b in main (argc=1, argv=0x7fffffffead8) at mbim-proxy.c:243
Conflicts:
src/libmbim-glib/mbim-device.c
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Even if MBIM_USERNAME is defined to a non-root user, root should always be able
to access the proxy. E.g. ModemManager (run as root) must be able to launch and
access the proxy even if MBIM_USERNAME was set to a non-root user.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If --enable-mbim-username isn't explicitly used, we should just check for the
root user UID, without using getpwnam(). See e.g. these SELinux warnings:
SELinux is preventing /usr/bin/bash from read access on the file /etc/passwd.
***** Plugin catchall (100. confidence) suggests **************************
If you believe that bash should be allowed read access on the passwd file by default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
Do allow this access for now by executing:
# grep mbim-proxy /var/log/audit/audit.log | audit2allow -M mypol
# semodule -i mypol.pp
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
not-opened errors
We're forcing close the MbimDevice whenever we detect a not-opened error; so if we
afterwards get more commands from the clients, don't just timeout the requests, instead
return our own generated function error messages specifying not-opened.
|
| |
|
|
|
|
| |
To be used by the proxy to mimic modem-generated commands.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(mbim-proxy:17046): GLib-CRITICAL **: g_byte_array_remove_range: assertion 'array' failed
Program received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff7316ae0 in g_logv () from /usr/lib/libglib-2.0.so.0
(gdb) bt
#0 0x00007ffff7316ae0 in g_logv () from /usr/lib/libglib-2.0.so.0
#1 0x00007ffff7316d1f in g_log () from /usr/lib/libglib-2.0.so.0
#2 0x00007ffff72e49ba in g_byte_array_remove_range () from /usr/lib/libglib-2.0.so.0
#3 0x00007ffff7bb126d in parse_response (self=0x618100) at mbim-device.c:642
#4 0x00007ffff7bb151c in data_available (source=0x64ab60, condition=G_IO_IN, self=0x618100) at mbim-device.c:708
#5 0x00007ffff730f91d in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#6 0x00007ffff730fcf8 in ?? () from /usr/lib/libglib-2.0.so.0
#7 0x00007ffff7310022 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#8 0x000000000040153b in main (argc=1, argv=0x7fffffffeac8) at mbim-proxy.c:243
(gdb) fr 3
#3 0x00007ffff7bb126d in parse_response (self=0x618100) at mbim-device.c:642
642 g_byte_array_remove_range (self->priv->response, 0, in_length);
(gdb) p self->priv->response
$1 = (GByteArray *) 0x0
|