Commit Graph
1120 Commits
Author SHA1 Message Date
Thieu Le 0b975f2266 altair-lte: update PCO to handle latest VZW deployment
Update PCO handling code such that it conforms to the latest VZW network
behavior. This includes updating the way we mark a SIM as provisioned.
In the old network, only provisioned SIMs can attach to the network.
Now, unprovisioned SIMs can attach and connect to the network.

Change-Id: Ie454f6fb6d8764161f167e93a4235bb93fbde59a
2014-06-09 16:55:12 +02:00
Thieu Le a038ff172b altair-lte: handle optional quotes around sim refresh
Some firmware version sends quotes around SIMREFRESH, this patch adds support
for those versions.
2014-06-03 10:52:13 +02:00
Ben Chan 8680e066b5 cinterion: fix memory leaks in tests 2014-06-03 10:52:01 +02:00
Thieu Le cdb334649d altair-lte: fix memory leak in PCO parsing code
This patch fixes memory leaks in PCO parsing code detected by LeakSanitizer.
2014-05-31 18:55:13 +02:00
Ben Chan c8f62fb4de altair-lte: ignore invalid bands in %BANDCAP / %GETCFG="BAND" responses
Due to a firmware issue, the modem may reply an invalid band value, such
as 0, for the %BANDCAP or %GETCFG="BAND" command. This patch moves
parse_bands_response() to mm-modem-helpers-altair-lte.c, modifies the
function to ignore any invalid band outside the range of E-UTRAN
operating bands, and add unit tests for the function.
2014-05-29 10:06:37 +02:00
Thieu Le 08d8524b17 altair-lte: prevent connect while processing sim refresh
This patch modifies the Altair LTE plugin to fail connect requests while the
modem has detached from the network when processing sim refresh.
2014-05-28 16:01:56 -05:00
Ben Chan 551197b4e5 plugins: remove unnecessary MM_BASE_MODEM() casts 2014-05-21 11:59:49 +02:00
Ben Chan 3d378bef5d tests: consistently use spaces for indentation 2014-05-21 11:58:03 +02:00
Ben Chan 7c656cce47 mbm: minor coding style fixes 2014-05-20 09:31:42 +02:00
Ben Chan bdab75d0b8 option,hso: minor coding style fixes 2014-05-20 09:31:31 +02:00
Ben Chan f5d7213a3c icera: minor coding style fixes 2014-05-20 09:31:18 +02:00
Ben Chan a0d15f23c9 huawei: minor coding style fixes 2014-05-19 12:47:28 +02:00
Aleksander Morgado 0126eb6311 sierra: PCSTATE=0 needs to be treated as low-power mode
OFF only applies to a real shutdown, where the modem no longer replies.
2014-05-05 20:30:45 +02:00
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