Commit Graph

5790 Commits

Author SHA1 Message Date
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
Aleksander Morgado
089dc1ddc0 man,mmcli: --simple-connect allows any of the --create-bearer options 2013-04-10 09:26:03 +02:00
Aleksander Morgado
a12d979373 huawei: increase the connection timeout to 60s 2013-04-09 18:42:46 +02:00
Aleksander Morgado
cb11bd09d6 huawei: plug memleak 2013-04-09 18:41:15 +02:00
Franko Fang
01400024cd huawei: add port type rules for modems 2013-04-09 18:41:15 +02:00
Franko Fang
d56a87a3bd base-modem: keep AT port as possible data port if flagged as PPP 2013-04-09 18:41:14 +02:00
Franko Fang
9d4091cc89 huawei: flag modems which support NDISDUP 2013-04-09 18:41:14 +02:00
Aleksander Morgado
4d31315b95 port-probe: fix source_remove() vs signal_handler_disconnect() 2013-04-09 17:20:27 +02:00
Aleksander Morgado
dff23f57b3 huawei: use a 3s timeout as after-sim-unlock step
Huawei e220 may fail miserably (rebooting itself) if we issue commands just
after having unlocked the PIN.
2013-04-08 18:10:01 +02:00
Dan Williams
55fdc76a56 blacklist: move Arduino USB/Serial adapter to greylist
It's a generic adapter, should be in the manual-probe-only
greylist instead of the blacklist.
2013-04-08 11:09:46 -05:00
Dan Williams
660d59ab44 blacklist: ignore a few more Arduinos (rh #861620) 2013-04-08 10:54:47 -05:00
Aleksander Morgado
358fe7f906 base-modem: don't assume primary AT port is available
QMI modems may not have it.
2013-04-06 22:47:13 +02:00
Aleksander Morgado
3b6b049e51 serial-parser: detect 'NA' as a mobile equipment error
Just treat 'NA' as MM_MOBILE_EQUIPMENT_ERROR_NOT_ALLOWED error.

https://bugzilla.gnome.org/show_bug.cgi?id=697368
2013-04-05 19:11:24 +02:00
Aleksander Morgado
a294800c7f icera: create generic bearer when no net port available
https://bugzilla.gnome.org/show_bug.cgi?id=697374
2013-04-05 19:10:53 +02:00
Aleksander Morgado
f9105bff87 api,introspection: update 'Validity' property in the SMS interface
We don't want to support only 'relative' validity, so don't assume that the
Validity property will always be a uint32 value.

Instead, we define the Validity propery as '(uv)' tuple, where the first value
(a MMSmsValidityType) specifies the type of validity, and the second value is
a variant formatted accordingly to what the validity type specifies (e.g. a
uint32 value if the type is MM_SMS_VALIDITY_TYPE_RELATIVE).
2013-04-05 17:48:51 +02:00
Dan Williams
372a49bbf6 qcdm: add unsolicited signal level indication from Samsung Z810 2013-04-05 10:33:16 -05:00
Aleksander Morgado
086557e5d5 iface-modem-simple: log about all parameters passed to Simple.Connect() 2013-04-05 10:27:43 +02:00
Aleksander Morgado
a2d2f83910 mbm: plug memleaks 2013-04-05 10:27:43 +02:00
Aleksander Morgado
30e2a0f4d0 mbm: don't pass (null) as string when either user or password is empty
E.g. instead of:
  (ttyACM1): --> 'AT*EIAAUW=2,1,"(null)","vodafone"<CR>'
  (ttyACM1): <-- '<CR><LF>OK<CR><LF>'

Better pass:
  (ttyACM1): --> 'AT*EIAAUW=2,1,"","vodafone"<CR>'
  (ttyACM1): <-- '<CR><LF>OK<CR><LF>'
2013-04-05 10:27:43 +02:00
Aleksander Morgado
1cb5831af3 iface-modem: ensure we cancel the re-initialization idle if the modem goes away
https://bugzilla.gnome.org/show_bug.cgi?id=697290
2013-04-05 08:54:09 +02:00
Ben Chan
76ecc1301a broadband-bearer: handle NULL and character escaping of APN value 2013-04-05 08:10:26 +02:00
Aleksander Morgado
5554658cd2 port-probe: remove non-AT port hint, as it may come in ATI replies
We remove "/SRC/AMSS" as a hint of non-AT port, as it really comes in ATI
replies, see:

  [mm-at-serial-port.c:408] debug_log(): (ttyUSB6): <-- '<CR><LF>Manufacturer: Sierra Wireless, Incorporated<CR><LF>Model: USB 306<CR><LF>Revision: M3_0_10_1AP C:/WS/FW/M3_0_10_1AP/MDM8200/SRC/AMSS 2010/03/29 17:52:11<CR><LF>IMEI: xxxxxxxx<CR><LF>IMEI SV: 11<CR><LF>FSN: xxxxxxxxxx<CR><LF>3GPP Release 7<CR><LF>+GCAP: +CGSM,+DS,+ES<CR><LF><CR><LF><CR><LF>OK<CR><LF>'
  [mm-serial-parsers.c:188] mm_serial_parser_v1_parse(): Got response filtered in serial port: Not an AT response
  [mm-port-probe.c:148] mm_port_probe_set_result_at(): (tty/ttyUSB6) port is not AT-capable
2013-04-04 19:27:05 +02:00