Commit Graph

5790 Commits

Author SHA1 Message Date
Aleksander Morgado
a691eec6ca build: avoid using 'INCLUDES' in Makefile.am
Avoids warnings during build; e.g.:
    warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
2014-06-22 18:24:21 +02:00
Prathmesh Prabhu
9e93e22482 bearer-mbim: fix disconnect error handling case split
The first case, with no error, needs to check that there was no original error.
Currently, if an error occurs and the resulting NwError is parsed correctly, the
case split treats it as a no-error case.
2014-06-20 12:54:39 -05:00
Prathmesh Prabhu
699a25b802 modem-helpers-mbim: map more MbimNwError to MMMobileEquipmentError
Commit 55e40ea b1ae81a in libmbim ("libmbim-glib: add additional GMM
cause codes to MbimNwError") added one more GMM cause code to
MbimNwError. This patch maps that to MMMobileEquipmentError.

This patch requires libmbim >= 1.9.0
2014-06-19 18:05:48 +02:00
Prathmesh Prabhu
6491d82655 bearer-mbim: disconnect attempt should succeed if bearer is already disconnected
When trying to disconnect bearer, if the modem responds with
MBIM_STATUS_ERROR_CONTEXT_NOT_ACTIVATED, take it to mean that the bearer has
already been disconnected.
2014-06-18 10:05:39 -05:00
Ben Chan
9e50209019 icera: fix 'sometimes-uninitialized' variable issues 2014-06-18 08:14:53 -05:00
Aleksander Morgado
ed623f6628 iface-modem-messaging: don't skip MT storage when reading if it's the only one 2014-06-16 18:03:38 +02:00
Dan Williams
6e490944d0 merge: fix IPv6 support and operation
Notable changes include reporting all available IP configruation
information in the bearer IP details, even if the method is DHCP,
in which case the client should apply the given configuration and
then proceed with DHCP/PPP/SLAAC/etc addressing mechanisms.

QMI, MBIM, and some other plugins have been switched to the "STATIC"
configuration method from DHCP when the firmware supplies all the
necessary details.
2014-06-13 14:57:08 -05:00
Dan Williams
02f9b926cd broadband-bearer-mbm: support IPv6 DNS and use static IPv4 configuration 2014-06-13 11:30:49 -05:00
Dan Williams
ca0a567f74 broadband-bearer-qmi: support IPv6 configuration and use static for IPv4 2014-06-13 11:30:49 -05:00
Dan Williams
8017628353 cli: print IP details for all valid bearer types
Even DHCP or PPP may have some IP details, like the link-local
address for IPv6 bearers.
2014-06-13 11:30:49 -05:00
Dan Williams
7673a1d3a3 bearer-mbim: use DHCP method when only an IPv6 link-local address is found
When only given a link-local address, then SLAAC must be used to
retrieve the real prefix.
2014-06-13 11:30:49 -05:00
Dan Williams
33eba0393d api: update documentation about IPv6 bearer methods
Even if the IPv6 bearer method is DHCP, the client should use SLAAC
(eg, IPv6 Router Solicitations, Router Adverisements, and possibly
DHCPv6) to determine the correct prefix and DNS information.  In
some cases, even with the DHCP method, and IPv6 "address" will be
given which should be assigned to the data port before beginning
an IP addressing as the mobile network may expect this address
to be used.
2014-06-13 11:30:49 -05:00
Dan Williams
6e5d013eb1 broadband-bearer-sierra: use Icera authentication for Icera devices
Devices with Icera chipsets (USB305) don't support the Qualcomm
proprietary $QCPDPP command, and we must use the Icera command
instead.  Otherwise authenticated bearer creation will fail.
2014-06-13 11:30:49 -05:00
Dan Williams
a416d8056c broadband-bearer-icera: add IPv6 support
Split out the %IPDPADDR parsing into a helper and add testcases for it,
and add support for IPv6 handling.  If the returned IPv6 is link-local,
the address should be assigned to the interface and SLAAC performed to
retrieve the actual IPv6 prefix and RDNSS/DNSSD information.
2014-06-13 11:30:49 -05:00
Dan Williams
e68d51f439 broadband-bearer: also return IPv6 config if IPv6 context is used
If the subclass doesn't override IP config retrieval, and IPv6 was
used when connecting the bearer, return IPv6 config too.
2014-06-13 11:30:49 -05:00
Dan Williams
e9395d83e3 broadband-bearer: pass the IP family to subclasses when getting IP config
Subclasses may need to know which IP families were used for the setup
so they can return the correct IP configuration.  We can't just use
the MMBearer default_ip_family becuase that isn't the family that
was actually used during the connection.
2014-06-13 11:30:49 -05:00
Dan Williams
502a5dbaf5 broadband-bearer-sierra: use correct modem type when creating bearer
MMBroadbandModemSierraIcera is not a subclass of
MMBroadbandModemSierra, so we cannot cast it to that type when
passing it to bearer creation.  Luckily the bearer doesn't
care, so just downgrade the type to MMBroadbandModem.
2014-06-13 11:30:49 -05:00
Dan Williams
1e30bad174 libmm-glib: always return all bearer properties
IPv6 may have addresses and other information even if the bearer's
method is DHCP.
2014-06-13 11:30:48 -05:00
Aleksander Morgado
ff4e45791d build: use the correct pkg-config in checks 2014-06-13 16:54:06 +02:00
Aleksander Morgado
6313f5707e build: look for gdbus-codegen through pkg-config 2014-06-11 17:14:18 +02:00
Aleksander Morgado
8ca6c6cbad build: glib-genmarshal no longer needed 2014-06-11 17:12:52 +02:00
Ben Chan
235fb874c9 modem-helpers-mbim: map more MbimNwError to MMMobileEquipmentError
Commit b1ae81a in libmim ("libmbim-glib: add additional GMM cause codes
to MbimNwError") added additional GMM cause codes to MbimNwError. This
patch maps some of those MbimNwError to MMMobileEquipmentError.

This patch requires libmbim >= 1.9.0
2014-06-10 10:18:28 +02:00
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
Ben Chan
af810a0a87 bearer-mbim: pass the right GError pointer to response parsers 2014-06-09 12:28:19 +02:00
Dan Williams
aedcb376a8 iface-modem: make "signal quality updated" log message debug not info
Otherwise your logs fill up if the signal quality changes, which is
pretty frequently for many devices.
2014-06-04 14:11:16 -05:00
Yegor Yefremov
dcb627a61f trivial: resolve maybe-uninitialized warnings
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2014-06-04 14:11:16 -05: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
Ben Chan
7c389511d8 tests: fix more memory leaks 2014-06-03 10:51:51 +02:00
Ben Chan
830ef27bac libmm-glib: fix a memory leak of GMutex 2014-06-03 10:51:31 +02:00
Aleksander Morgado
c9dc702eaa plugin-manager: fix defer-until-suggested probing tasks
If a task is marked as defer-until-suggested (e.g. a wwan port) and there was
already a 'best' plugin set in the parent device, use it to complete the
deferred task.

This may happen in e.g. MBIM devices if the WWAN port arrives later than the
already probed /dev/cdc-wdm character device.
2014-06-02 17:41:49 +02:00
Bjørn Mork
239ab6ca6b blacklist: ignore Infineon flashloader device
A device like this shows up briefly while the Sierra EM7345 is booting:

P:  Vendor=8087 ProdID=0716 Rev= 0.00
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=(none)
E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

We do have a driver identifying this as an "Infineon Flashloader"
device.  It is not a modem in any case, and should be ignored.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
2014-06-02 16:42:25 +02:00
Ben Chan
4213d2fe69 broadband-modem: report an error when enabling a modem in FAILED state
If the initialization of the Modem3gpp / ModemCdma interface fails, the
modem transitions to the FAILED state. But since the Modem interface is
already initialized and exported over DBus, it is possible to invoke the
Enable method on the Modem interface. This patch changes
MMBroadbandModem to report an error if one tries to enable the modem in
the FAILED state instead of raising an assertion.
2014-06-02 08:55:08 +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
6e7bae9dc5 tests: fix memory leaks
This patch fixes memory leaks in unit tests detected by LeakSanitizer.
2014-05-30 13:31:41 +02:00
Aleksander Morgado
c2d3704aa5 api,doc: add missing documentation for the new GPRS errors 2014-05-29 10:10:16 +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
Ben Chan
8cdf45c66c core: add E-UTRAN operating band 44
E-UTRAN operating band 44 is specified in 3GPP release 11 (see Table
5.5-1 "E-UTRA operating bands" in 3GPP TS 36.101 version 11.2.0 Release
11).
2014-05-29 10:06:24 +02:00
Ben Chan
54b75e3bcd qcdm: fix memory leaks in tests 2014-05-29 10:05:45 +02:00
Ben Chan
f0542aa809 cli: show a nicer modem description if manufacturer or model is unknown 2014-05-29 10:05:28 +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
c8ad177db9 sms: remove unnecessary MM_BASE_MODEM() casts 2014-05-21 11:59:11 +02:00
Ben Chan
d375224ffe broadband-bearer: remove unnecessary MM_BASE_MODEM() casts 2014-05-21 11:58:32 +02:00
Ben Chan
3d378bef5d tests: consistently use spaces for indentation 2014-05-21 11:58:03 +02:00
Ben Chan
37b0402ee5 core: minor coding style fixes 2014-05-20 09:32:29 +02:00
Ben Chan
d4177f554b cli: consistently use spaces for indentation 2014-05-20 09:32:15 +02:00
Ben Chan
5d47478d06 libmbim-glib: consistently use spaces for indentation 2014-05-20 09:32:02 +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