Commit Graph

1207 Commits

Author SHA1 Message Date
Ben Chan
771c83a73a huawei: treat CFUN 0 as low power state
The Huawei plugin uses +CFUN=0 to put the modem in low power mode as
+CFUN=4 isn't supported by all Huawei modems. This patch modifies the
plugin to treat CFUN 0 as the 'LOW' power state, which is necessary as
otherwise ModemManager would prevent the modem from transitioning to the
'ON' power state.
2014-05-01 16:57:30 +02:00
Aleksander Morgado
1af1d1fb78 novatel: read HDR signal quality
(ttyUSB0): --> 'AT$NWRSSI<CR>'
(ttyUSB0): <-- '<CR><LF><CR><CR><LF> HDR RSSI= 93<CR><LF><CR><LF><CR><LF>OK<CR><LF>
2014-04-01 18:33:09 +02:00
Aleksander Morgado
4eb733c07c wavecom: avoid +COPS=0 if already in automatic registration mode
AT+COPS=0 in a FXT009 may end up making the device stuck in a weird state
in which it only replies "+CME ERROR: 515" to every AT command. So try to
avoid this command whenever possible.
2014-03-07 12:30:36 +01:00
Aleksander Morgado
f3ded99af1 cinterion: implement unlock retries loading 2014-03-03 16:33:51 +01:00
Aleksander Morgado
191168e3ef cinterion: after SIM unlock, query SIM status until ready 2014-03-03 14:33:12 +01:00
Aleksander Morgado
17bf3f8578 cinterion: request to force refresh access tech after current bands update 2014-02-28 16:38:05 +01:00
Aleksander Morgado
019d038c17 cinterion: force band preference update to be applied immediately 2014-02-28 16:37:49 +01:00
Aleksander Morgado
f2024b78b2 cinterion: consolidate setting current bands in 2G and 3G devices 2014-02-28 16:37:32 +01:00
Aleksander Morgado
c1e2a3a5bc cinterion: consolidate current bands loading for 2G and 3G devices 2014-02-28 16:35:18 +01:00
Aleksander Morgado
0877f68a84 cinterion: consolidate supported bands loading for 2G and 3G devices 2014-02-28 16:35:18 +01:00
Aleksander Morgado
87d867c8ae cinterion: add helper to build Cinterion band mask 2014-02-28 16:35:18 +01:00
Aleksander Morgado
e6430acaaa cinterion: add helper to parse AT^SCFG="Radio/Band" response in 3G devices 2014-02-28 16:35:18 +01:00
Aleksander Morgado
82067915d1 cinterion: use AT^SCFG=? to parse supported bands in 3G devices 2014-02-28 16:35:18 +01:00
Aleksander Morgado
e6cfa57c60 cinterion: request access tech update after allowed mode change 2014-02-28 16:35:18 +01:00
Aleksander Morgado
82340cd5f7 cinterion: add support for HSUPA+HSDPA reported access tech 2014-02-28 16:35:17 +01:00
Aleksander Morgado
a9a4a2a337 cinterion: allow recovering automatic mode
When automatic mode (i.e. 2G+3G+none preferred) is selected, we need to
explicitly request it by giving the AT+COPS write command with values (i.e. not
just empty fields).
2014-02-28 16:35:17 +01:00
Aleksander Morgado
177f15f295 cinterion: cache operator id if manual selection attempted
We'll need it afterwards for proper mode switching
2014-02-28 16:34:59 +01:00
Aleksander Morgado
914caf0f3b cinterion: unsupported modes are already filtered out
So no need to try to handle error cases or fallbacks to support them.
2014-02-28 16:34:59 +01:00
Aleksander Morgado
ece4f0f014 cinterion: increase AT command timeout when changing modes 2014-02-28 16:34:59 +01:00
Aleksander Morgado
e3c4dec3d7 wavecom: implement power off
Powering off Wavecom devices is done via the AT^CPOF=1 command. These devices
seem to not only power-off, but also power-cycle when this command is received,
which means that the user needs to make sure to fully cut the power to the
device when the SetPowerState() method replies.
2014-02-20 11:18:22 +01:00
Aleksander Morgado
f9b9f25cd1 cinterion: implement power off
Powering off Cinterion modems is done with the AT^SMSO command. Once this
command is sent to the device, ModemManager still needs to wait to get an
unsolicited ^SHUTDOWN message from the modem, which is when the shutdown
is considered complete.

Newer Cinterion devices, though, don't seem to follow this rule and just
reply OK to AT^SMSO (i.e. no ^SHUTDOWN), but instead, they will remove the
tty ports.
2014-02-20 11:15:32 +01:00
Ben Chan
1bd939d4b8 huawei: fix a debug message
This patch simply fixes the following debug message:

from:
  <debug> (Huawei) couldn't turn off unsolicited messages insecondary ports: 'Unknown error'

to:
  <debug> (Huawei) couldn't turn off unsolicited messages in secondary ports: 'Unknown error'
2014-02-19 18:49:30 -06:00
Dan Williams
9e1472d5ec trivial: fix dist of gsm-port.conf 2014-02-17 12:34:05 -06:00
Ben Chan
d278f381d2 tests: fix array bound checks in process_next_command
This patch fixes the out-of-bounds array accesses in test-port-context.c,
which is detected by AddressSanitizer, by checking the index against the
array length before accessing the array.
2014-02-14 09:03:13 +01:00
Ben Chan
0ce4244517 tests: add missing call to g_type_init()
This patches fixes the following error when testing ModemManager with
glib < 2.36, which still requires g_type_init() to be called:

TEST: test-service-generic... (pid=20166)
  /MM/Service/Generic:
(/work/ModemManager/plugins/.libs/lt-test-service-generic:20166): GLib-GObject-CRITICAL **: gtype.c:2720: You forgot to call g_type_init()
FAIL
2014-02-14 09:03:13 +01:00
Aleksander Morgado
bff2a8d2f2 tests: added support for DBus service tests
We can now run 'simulated' modems against a ModemManager running in its own
session bus.
2014-02-13 13:41:58 +01:00
Aleksander Morgado
e684851698 huawei: use shortened version of NDISDUP when possible
Adds support for the Huawei E3276 by sending the shortened form of the
AT^NDISDUP command where possible, as the E3276 fails with an '+CME ERROR:
Incorrect parameters' if encoded_auth is set to 0. This behaviour is slightly
different to the E1820 and K4605 (E372) which will happily establish a
connection with encoded_auth set to 0, 1 or 2.
2014-02-13 13:41:09 +01:00
Aleksander Morgado
a2f4fbe373 port-serial-qcdm: commands are never cached
The QCDM port commands are never cached, so remove the option from the command()
method. Will also simplify command caching afterwards as it will be an AT-only
thing.
2014-02-13 13:40:44 +01:00
Aleksander Morgado
d4dfd661b9 port-serial-at: use GIO Async API like methods 2014-02-13 13:40:21 +01:00
Aleksander Morgado
81ee07832d port-serial-qcdm: use GIO Async API like methods 2014-02-13 13:40:17 +01:00
Aleksander Morgado
0c86840dde ports: rename 'libserial' to 'libport' 2014-02-13 13:40:11 +01:00
Aleksander Morgado
6f235b9948 ports: rename 'MMAtSerialPort' to 'MMPortSerialAt' 2014-02-13 13:40:01 +01:00
Aleksander Morgado
0d1602bf0f ports: rename 'MMQcdmSerialPort' to 'MMPortSerialQcdm' 2014-02-13 13:39:57 +01:00
Aleksander Morgado
e505ea0a58 ports: rename 'MMGpsSerialPort' to 'MMPortSerialGps' 2014-02-13 13:39:54 +01:00
Aleksander Morgado
9cde02111b ports: rename 'MMSerialPort' to 'MMPortSerial' 2014-02-13 13:39:51 +01:00
Aleksander Morgado
c9e2b46b21 cinterion: try to gather port type for devices with multiple tty ports
The new PHS8 or PXS8 devices may expose multiple tty ports, but only one is
supposed to be used for PPP. So, query which port that is and flag it before
grabbing it in the modem.
2014-02-13 11:56:09 +01:00
Aleksander Morgado
e60485a4aa wavecom: implement after-sim-unlock step
Just give some time to the SIM to get properly initialized, so that we avoid
errors when reloading e.g. facility lock status.
2014-02-12 17:18:24 +01:00
Ben Chan
5d2f15041b zte: allow MBIM devices 2014-02-12 09:41:19 +01:00
Arnd Hannemann
bd5cecb577 mbm: add lenovo branded ericsson ID (Lenovo N5321gw)
This device ID is used in a Lenovo Thinkpad T440s.

Link: http://forums.debian.net/viewtopic.php?f=7&t=107986&sid=4f81b9c1a8f4563f26fec24f7b65aaea&start=15

Signed-off-by: Arnd Hannemann <arnd@arndnet.de>
2014-02-11 10:10:35 +01:00
Ben Chan
06d2e51bbc zte: add port type hints for the ZTE MF190 (19d2:1254) 2014-01-30 12:27:48 +01:00
Aleksander Morgado
fdba981f8e huawei: fix leaked string 2014-01-26 19:56:58 +01:00
Aleksander Morgado
48585c250b udev: apply udev rules upon 'move' events as well
Otherwise, we may end up losing the tags we expect if the device gets a 'move'
event just after the initial 'add'.
2014-01-26 19:33:45 +01:00
Aleksander Morgado
72d83898da huawei: fix some leaked 'GStrv' arrays 2014-01-26 11:01:42 +01:00
Aleksander Morgado
0cfc825e11 huawei: fix leaked 'GUdevDevice' 2014-01-26 10:55:43 +01:00
Aleksander Morgado
93108fdb60 novatel: fix leaked 'GSimpleAsyncResult' 2014-01-25 20:45:34 +01:00
Aleksander Morgado
95249239a2 sierra: fix leaked 'GStrv' with CDMA modems 2014-01-25 20:01:32 +01:00
Aleksander Morgado
3914808120 zte: support for QMI-based modems
E.g. the ZTE MF190

[/dev/cdc-wdm1] QMI Device supports 4 services:
[/dev/cdc-wdm1]    ctl (1.2)
[/dev/cdc-wdm1]    wds (1.3)
[/dev/cdc-wdm1]    dms (1.2)
[/dev/cdc-wdm1]    nas (1.0)
2014-01-24 18:35:40 +01:00
Aleksander Morgado
19b0a7e28f altair-lte: add 'mm' prefix in the exported helper methods 2014-01-18 14:16:59 +01:00
Thieu Le
87f0f808bf altair-lte: set subscription state using PCO
This patch sets the subscription state using Verizon's PCO values.
2014-01-18 14:08:31 +01:00
Aleksander Morgado
afabde0f2c build: fix linker flags when building plugins
MM_LIBS was missing in PLUGIN_COMMON_LINKER_FLAGS, and replace GUDEV_LDFLAGS
with GUDEV_LIBS.
2014-01-17 11:58:18 +01:00