Commit Graph

1803 Commits

Author SHA1 Message Date
Denis Kenzior 630e48465c atutil: Introduce at_util_open_device 2019-05-31 11:58:36 -05:00
Denis Kenzior 0d40114a14 qmi: Fix style issues 2019-05-24 12:27:27 -05:00
Denis Kenzior 765c6655f2 treewide: Use L_TFR macro 2019-05-24 11:55:38 -05:00
Denis Kenzior 4b8cc2fcac stemodem: Quiet warning about strncpy use 2019-05-16 15:10:09 -05:00
Antara Borwankar 90758c5ffc xmm7modem: enabling simtoolkit in modem driver
handled enabling of stk for xmm7modem vendor in atmodem
driver.
2019-05-16 10:44:44 -05:00
Antara Borwankar 41e1cfcd64 xmm7modem: handling of dual mode technology preference
Handled dual mode technology preference "umts,gsm" and
"lte,umts" for xmm7modem.
2019-05-16 10:40:45 -05:00
Richard Röjfors 9b1dae2e62 atmodem: Fix a race if a context get deactivated while read
When a context gets activated we read its settings, but
if the context gets deactivated during this time we should
not indicate that the context is activated when the settings
are received.
2019-05-08 09:38:11 -05:00
Denis Kenzior 74dc62b148 drivers: Silence strncpy use warnings 2019-04-30 11:35:14 -05:00
Denis Kenzior fbd9974998 qmimodem: Fix potential memory leak
In case strlen(ICCID) > 20, we simply return without freeing the ICCID
value first.
2019-04-29 14:20:25 -05:00
Denis Kenzior b126407632 mbmmodem: Remove unneeded if 2019-04-29 14:11:22 -05:00
Denis Kenzior 9da5779a90 stemodem: Remove unneeded if 2019-04-29 14:09:11 -05:00
Denis Kenzior 0b2de27727 telit: Remove unneeded if 2019-04-29 14:07:59 -05:00
Denis Kenzior ea6cd4e7fd huawei: Remove unneeded if statement 2019-04-29 14:06:58 -05:00
Denis Kenzior c13411da6f icera: Remove unneeded if statement 2019-04-29 14:06:27 -05:00
Denis Kenzior cdcb576692 hsomodem: Remove unneeded if statement 2019-04-29 14:06:19 -05:00
Denis Kenzior eef1f73cb3 swmodem: Remove unneeded if statement 2019-04-29 14:01:41 -05:00
Denis Kenzior c05cbf147d ifxmodem: Remove unneeded if statement
if (ctx->apn) always evalues to true since it is an array member
2019-04-29 14:00:42 -05:00
Denis Kenzior 88f2ae3869 atmodem: Remove unneeded if statement
if (ctx->apn) is always true since apn is an array variable
2019-04-29 13:59:36 -05:00
Antara Borwankar 413e6ecab0 xmm7modem: handling of IPv6 address for activated context
Handled IPv6 address after activating PDP context.
Received IPv6 address is of format addr + netmask in the same string
in the form of "a1.a2.a3.a4.a5.a6.a7.a8.a9.a10.a11.a12.a13.a14.a15.a16.
m1.m2.m3.m4.m5.m6.m7.m8.m9.m10.m11.m12.m13.m14.m15.m16"
2019-04-29 11:33:58 -05:00
Alexander Couzens 64df5344c5 qmi: netmon: fix crashs on get_rssi_cb when BER or RSSI are empty
The message can be emitted without the fields being present. In this case ber or rssi are 0
resulting in a null pointer deref.
2019-04-28 10:13:51 -05:00
Tom Nguyen 0ddb7c6e2f qmimodem: return all serial numbers
Some modems, eg. Quectel EC25E, return the ESN, IMEI, and MEID even
though they support only one network type in a region. Current serial
number query gives precedence to the ESN if it exists, and does not
consider the IMEI and MEID.

Add a check of the supported radio interfaces in deciding which
serial number to return. If radio interfaces are 3GPP based, then
return the IMEI, else return the ESN. If neither exist, return MEID
if available, else fail.
2019-04-16 11:51:37 -05:00
Richard Röjfors 64df539a27 ublox: gprs-context: Fix router mode IP settings.
The ublox modems always run DHCP when in router mode.
Unfortunately the code overwrote the IP settings with
static IP settings while activating.

Now we respect the networking_mode regardless if
we read settings during activation or read settings
phase.
2019-04-04 09:55:04 -05:00
Antara Borwankar c76b68d4bf xmm7modem: handling of dual sim single active feature
Handled DSSA use case for xmm7modem. Added driver function
to switch between available card slots for SIM.

Only one SIM will be active at a given time. On calling this
function the active SIM will be removed and the card slot made
inactive and SIM in the other card slot will be made active.

Use case is similar to a SIM swap/change where one SIM is replaced
another SIM in the same slot.
2019-04-02 10:34:11 -05:00
Jonas Bonn a55e797ba2 ublox: gprs-context: query networking mode for TOBY L2
The TOBY L2 may run in either "bridge" mode or "router" mode.  For this
model, query the configured mode so that the appropriate settings are
communicated when the context is activated.
2019-03-14 20:34:32 -05:00
Jonas Bonn efe1306ec2 ublox: TOBY L4 supports only router mode
The TOBY L4 supports only "router mode" where the modem presents a
network interface that one can run a DHCP client against.  Behind this
interface, the modem takes care of routing packets via NAT by:

i)  selecting the relevant context based on destination IP
ii) using the first activated context as the default route

In order to have the connection manager, thus, do the right thing, the
context only needs to report itself as being active and with the IP
settings set to method "dhcp".  There's no need for the connection manager
to know details like what IP address the context was assigned.

Tested with connman that does the right thing when it finds an active
"dhcp" context.
2019-03-14 20:34:32 -05:00
Jonas Bonn d393863486 ublox: gprs-context: take model parameter 2019-03-14 20:34:32 -05:00
Jonas Bonn 0c2afdd3f0 ublox: extend LTE driver
There are a couple of semi-independent changes here:

* use the 'vendor' parameter to pass the modem 'model'
* support TOBY L4 modem which uses a fixed CID for configuring the EPS
default bearer
* add the setup of authentication parameters that was recently added to
the atmodem LTE driver
2019-03-13 16:39:42 -05:00
Jonas Bonn 83834419e5 ublox: add TOBY L4 models 2019-03-13 16:38:55 -05:00
Jonas Bonn cfab42825d ublox: add model flag HAVE_USBCONF
This flag should be set on devices that support multiple USB profiles
and will be used to determine whether or not querying USB profiles is
appropriate/necessary.
2019-03-13 16:26:42 -05:00
Jonas Bonn d7844183c0 ublox: create model data structures
This sets up some device model data structures and adds some helpers for
manipulating them.  These data structures are a first step to trying to
support the large number of devices that ublox produces with a common
driver structure.
2019-03-13 13:48:54 -05:00
Jonas Bonn e70789534e atmodem: Remove TOBY_L2 vendor 2019-03-13 13:20:43 -05:00
Jonas Bonn a5adf39aa1 atmodem: drop vendor type for Toby L2 model
The 'Toby L2'-specific vendor type is used only to prevent the CMER
command from attempting to set mode '3'.  For all u-blox models, mode
'3' is just an alias for mode '1'.  As such, mode '1' can be used in
place of mode '3', removing the model-specific quirk in favour of a
vendor-specific quirk.

With this change, the L2-specific vendor type is no longer needed.
2019-03-13 13:19:15 -05:00
Jonas Bonn a88ebf4913 Fix whitespace weirdness 2019-03-13 13:13:27 -05:00
Denis Kenzior 54b8639c0e ifxmodem: Clean up the previous commit slightly
The if statements were over 80 characters and breaking them up made the
code look a bit uglier.  So refactor the if statements to just figure
out the data path 'n' parameter or return an error.  On success, form
the datapath string and return it.

Also bump the buffer size and use snprintf to be safe(r).
2019-03-04 13:34:13 -06:00
Antara Borwankar b51c1a23c0 xmm7modem: data channel setup for xmm7modem
Added the implementation required to setup data channel
in ifxmodem gprs-context driver for xmm7modem vendor
2019-03-04 13:21:34 -06:00
Christophe Ronco 34225d2681 qmi: support sim hotplug
Use card status indication to detect SIM removal and insertions
2019-02-17 20:48:54 -06:00
Nicolas Serafini 5e173b28d0 qmimodem: Notify when SIM is initialized
Since the commit that introduced the notification API of a SIM inserted
and initialized I can not unlock the SIM card on a WP7607 modem.

The previously mentioned commit: 54d56d763e
2019-02-08 14:02:02 -06:00
Pavel Machek cc3375e2dd rilmodem: fix compilation on gcc-6.3
gcc-6 fails to compile ofono due to #pragma directives. Limit them to
gcc versions where they are needed.
2019-01-22 11:02:30 -06:00
Antara Borwankar 80470869e5 ifxmodem: removing TAP/TUN support check for XMM vendor
skipping TAP/TUN support check from gprs-context probe for
xmm vendor. xmm modem does not require TAP/TUN support. Also
it is not enabled by default in enbedded yocto bsp.
2019-01-15 14:54:52 -06:00
Denis Kenzior 270d19495c rilmodem: Fix compiler error 2018-12-29 14:19:16 -06:00
Denis Kenzior 50077ee352 rilmodem: Use l_util_hexstring instead of encode_hex 2018-12-27 18:18:51 -06:00
Denis Kenzior 305ae9ba84 atmodem: Use l_util_hexstring instead of encode_hex 2018-12-27 18:18:51 -06:00
Denis Kenzior b2ebd60bcd rilmodem: Convert decode_hex to l_util_from_hexstring 2018-12-27 18:18:51 -06:00
Denis Kenzior a65bf69f38 drivers: update to use l_free
Previous commit changes character conversion functions to use ell memory
allocation routines.  Update all uses to free memory using the same.
2018-12-27 18:18:51 -06:00
Denis Kenzior 77271f33d2 drivers: switch g_convert usage to ell 2018-12-27 18:18:51 -06:00
Denis Kenzior 88ff5d36dd drivers: Update to new convert_ucs2_to_gsm API
Use l_free instead of g_free since the above API was changed to use ell
2018-12-27 18:18:51 -06:00
Denis Kenzior c2b68f20b3 drivers: Update to the new util api 2018-12-27 18:18:51 -06:00
Pau Espin 1749018577 qmi: Fix Secondary DNS overwriting Primary DNS
inet_ntoa was called twice in a row and as a result both primay and
secondary DNS were pointing to same static buffer containing last
value (secondary DNS).

As a result, ofono always advertised the secondary DNS twice through
DBus ConnectionContext.GetProperties 'DomainNameServers'.

Related: https://osmocom.org/issues/3031
2018-12-11 14:14:40 -06:00
Marcel Holtmann 2a5c9cf0f2 mbimmodem: Convert back to using __builtin_bswap16 with proper indexing 2018-10-31 21:03:49 +01:00
Marcel Holtmann 2df69194ac mbimmodem: Fix conversion of strings into UTF16-LE on big endian 2018-10-31 21:00:38 +01:00