Commit Graph

5661 Commits

Author SHA1 Message Date
Aleksander Morgado
3e758d5394 broadband-modem-mbim: implement enabled facility locks loading 2013-04-17 15:19:40 +02:00
Aleksander Morgado
115bf6c077 broadband-modem-mbim: implement IMEI loading 2013-04-17 15:19:40 +02:00
Aleksander Morgado
e878a8ef06 broadband-modem-mbim: implement the 3GPP interface 2013-04-17 15:19:40 +02:00
Aleksander Morgado
bb9031ed38 broadband-modem-mbim: build fake manufacturer and model strings 2013-04-17 15:19:40 +02:00
Aleksander Morgado
45ae6dd672 broadband-modem-mbim: implement power up/down 2013-04-17 15:19:40 +02:00
Aleksander Morgado
9504cb9339 broadband-modem-mbim: simplify power state loading 2013-04-17 15:19:40 +02:00
Aleksander Morgado
f6958bb362 broadband-modem-mbim,sim-mbim: update message creator/parser names
Sync with libmbim commit:
    commit b73673bf30a82e95819deb17296c9234399f0795
    Author: Aleksander Morgado <aleksander@lanedo.com>
    Date:   Thu Apr 11 20:07:12 2013 +0200

        mbim-codegen: properly define the 4 types of messages that we may have
2013-04-17 15:19:40 +02:00
Aleksander Morgado
67c322361e broadband-modem-mbim: implement own numbers loading 2013-04-17 15:19:40 +02:00
Aleksander Morgado
04d515497d sim-mbim: implement SIM identifier and IMSI loading 2013-04-17 15:19:40 +02:00
Aleksander Morgado
6024142fac sim-mbim: these modems don't allow to enable/disable/change PIN if locked 2013-04-17 15:19:40 +02:00
Aleksander Morgado
cd610fb620 sim-mbim: implement PIN changing 2013-04-17 15:19:39 +02:00
Aleksander Morgado
ef7e6a14f0 broadband-modem-mbim: check SIM status with 'Subscriber Ready Status' 2013-04-17 15:19:39 +02:00
Aleksander Morgado
659d942c33 mbim-port: make port closing async always
Don't just close the port and forget, really wait to get the CLOSE response
before going on.
2013-04-17 15:19:39 +02:00
Aleksander Morgado
d1d5616ca5 sim-mbim: implement PIN enabling/disabling 2013-04-17 15:19:39 +02:00
Aleksander Morgado
c67fa3459b broadband-modem-mbim,sim-mbim: consider MBIM result errors 2013-04-17 15:19:39 +02:00
Aleksander Morgado
8a8dc23f50 sim-mbim: implement PUK unlocking 2013-04-17 15:19:39 +02:00
Aleksander Morgado
abd22dacfb broadband-modem-mbim: don't cache remaining attempts, just requery
There are many more places where we reload remaining attempts, not just after
querying initial lock status. So re-query to get the most up to date info.
2013-04-17 15:19:39 +02:00
Aleksander Morgado
b8904b3b52 mbim-port: no longer needed to request next transaction ID
Already handled by the MbimDevice if none given.
2013-04-17 15:19:39 +02:00
Aleksander Morgado
8232d023c1 port-probe: delay 3s MBIM probing 2013-04-17 15:19:39 +02:00
Aleksander Morgado
968c2e360a sim-mbim: implement PIN unlocking 2013-04-17 15:19:39 +02:00
Aleksander Morgado
cc76e7a41c broadband-modem-mbim: sync with libmbim 'input-parameters' branch 2013-04-17 15:19:39 +02:00
Aleksander Morgado
df4cd12fef broadband-modem-mbim: implement initial power state loading 2013-04-17 15:19:39 +02:00
Aleksander Morgado
deb9f21a66 broadband-modem-mbim: implement unlock required & retries loading 2013-04-17 15:19:39 +02:00
Aleksander Morgado
affe2fdeeb broadband-modem-mbim: disable unneeded steps 2013-04-17 15:19:38 +02:00
Aleksander Morgado
14a03848ce broadband-modem-mbim: implement supported modes loading 2013-04-17 15:19:38 +02:00
Aleksander Morgado
6ebda738f4 broadband-modem-mbim: implement device identifier loading 2013-04-17 15:19:38 +02:00
Aleksander Morgado
6b379e525d plugin: limit cdc-wdm port probing types depending on the available drivers
We'll use the given device drivers as a hint of what we can or should probe.
2013-04-17 15:19:38 +02:00
Aleksander Morgado
00ec505e74 broadband-modem-mbim: implement equipment id loading 2013-04-17 15:19:38 +02:00
Aleksander Morgado
3b8c9a0e2d broadband-modem-mbim: implement revision string loading 2013-04-17 15:19:38 +02:00
Aleksander Morgado
211803f886 broadband-modem-mbim: implement current capabilities loading 2013-04-17 15:19:38 +02:00
Aleksander Morgado
07f39cc29f mbim-port: provide access to the internal MbimDevice 2013-04-17 15:19:38 +02:00
Aleksander Morgado
12d6e59c86 log: enable MBIM traces if running in debug mode 2013-04-17 15:19:38 +02:00
Aleksander Morgado
cbee87f2f5 iface-modem: let the MBIM port be the primary one 2013-04-17 15:19:38 +02:00
Aleksander Morgado
76ed80e1c9 generic: allow MBIM devices 2013-04-17 15:19:38 +02:00
Aleksander Morgado
2e4a83628a huawei: allow MBIM devices 2013-04-17 15:19:38 +02:00
Aleksander Morgado
e476c1c67b mbim: add initial MBIM support skeleton 2013-04-17 15:19:37 +02:00
Aleksander Morgado
a0ced36f14 base-modem: allow grabbing MBIM ports 2013-04-17 15:19:37 +02:00
Aleksander Morgado
cb45de048f plugin: allow plugins to require MBIM probing of cdc-wdm ports 2013-04-17 15:19:37 +02:00
Aleksander Morgado
3d2c0cc83c port-probe: include MBIM port probing logic 2013-04-17 15:19:37 +02:00
Aleksander Morgado
dd5680debe build: new '--with-mbim' configure switch
Will enable MBIM support through libmbim.
2013-04-17 15:19:37 +02:00
Dan Williams
463de46e9e novatel: ignore USB551L
Just like the E362, which the USB551L is quite similar to.
2013-04-16 19:36:55 -05:00
Aleksander Morgado
d3831fc641 serial greylist: tag device from Netchip Technology 2013-04-16 14:42:28 +02:00
Aleksander Morgado
7244167761 serial greylist: fix udev tag name for Arduino devices 2013-04-16 14:42:21 +02:00
Dan Williams
f770ea43c2 huawei: fix up udev rules file name 2013-04-11 14:46:43 -05:00
Aleksander Morgado
3c1e77d789 sim: fix signal emission
Signal should be emitted by the SIM object, not by the Modem object.
2013-04-11 19:21:56 +02:00
Aleksander Morgado
31215aba32 modem-helpers-qmi: explicitly add LTE as current cap if modem caps report it
For loading current capabilities we use a mix of "Technology Preference" (TP),
"System Selection Preference" (SSP) and DMS-reported capabilities. But, as we
also use TP and SSP for allowed modes, it may be the case that we end up
leaving 4G out of the allowed modes, which afterwards will make the modem not
report LTE as current capabilitiy, as TP/SSP don't include LTE.

So, just assume LTE is a current capability if DMS-reported capabilities include
it. We can really do this because LTE is the only 4G technology, the same logic
wouldn't apply correctly for 2G or 3G (due to having different techs for 3GPP
and 3GPP2).
2013-04-11 09:17:13 +02:00
Aleksander Morgado
162d96b116 test-modem-helpers-qmi: new unit tests to check the 'current-capabilities' logic
Based on Dan's tests with QMI modems.
2013-04-11 09:17:13 +02:00
Ben Chan
be8c8a99bb device: handle NULL returned by g_udev_device_get_driver() gracefully
This patch fixes a crash in mm_device_grab_port() when doing a string
comparison on a NULL returned by g_udev_device_get_driver().

Thread 0 *CRASHED* ( SIGSEGV @ 0x00000000 )

0x76b760b4   [libc-2.15.so]               - strcmp.c:38                      strcmp
0x76c66a7d   [libglib-2.0.so.0.3200.4]    - ghash.c:1704                     g_str_equal
0x76ee0e5d   [ModemManager]               - mm-device.c:147                  mm_device_grab_port
0x76edf9d9   [ModemManager]               - mm-manager.c:313                 device_added
0x76e95b2d   [libgudev-1.0.so.0.1.0]      - extras/gudev/gudevmarshal.c:84   g_udev_marshal_VOID__STRING_OBJECT
0x76d1fb2b   [libgobject-2.0.so.0.3200.4] - gclosure.c:777                   g_closure_invoke
0x76d2b88b   [libgobject-2.0.so.0.3200.4] - gsignal.c:3551                   signal_emit_unlocked_R
0x76d313c5   [libgobject-2.0.so.0.3200.4] - gsignal.c:3300                   g_signal_emit_valist
0x76d31569   [libgobject-2.0.so.0.3200.4] - gsignal.c:3356                   g_signal_emit
0x76e93bdd   [libgudev-1.0.so.0.1.0]      - extras/gudev/gudevclient.c:105   monitor_event
0x76c9beb7   [libglib-2.0.so.0.3200.4]    - giounix.c:166                    g_io_unix_dispatch
0x76c714c1   [libglib-2.0.so.0.3200.4]    - gmain.c:2539                     g_main_context_dispatch
0x76c71745   [libglib-2.0.so.0.3200.4]    - gmain.c:3146                     g_main_context_iterate
0x76c71a59   [libglib-2.0.so.0.3200.4]    - gmain.c:3340                     g_main_loop_run
0x76ede8ed   [ModemManager]               - main.c:142                       main
0x76b35f79   [libc-2.15.so]               - libc-start.c:226                 __libc_start_main
0x76edea49   [ModemManager]               + 0x00014a49
0x76eb4eab   [ld-2.15.so]                 + 0x0000aeab
2013-04-10 15:04:36 -05:00
Dan Williams
33a572b9d0 broadband-modem-qmi: ignore invalid signal strengths
Sometimes invalid signal strengths will be returned by the modem,
which we should ignore.  Otherwise they make the reported signal
quality bounce around from eg 21% -> 100%, or cause access
technology updates for radio interfaces that can't possible have
a usable signal.
2013-04-10 09:55:07 +02:00
Aleksander Morgado
c737c57eb0 broadband-modem-qmi: fix setup of unsolicited registration updates 2013-04-10 09:49:25 +02:00