Commit Graph

1531 Commits

Author SHA1 Message Date
Piotr Haber bf3890a445 telitmodem: support for CDC-NCM network adapter
Network Control Model is a new Communication Device Class
protocol for exchanging Ethernet frames over USB.
NCM is intended to be used with high-speed network
attachments such as HSDPA and LTE data services.
2017-01-27 20:35:50 -06:00
Piotr Haber 50f1dfcb24 qmimodem: send authentication credentials
Pass authentication method, user and password
to QMI WDS service.
2017-01-26 09:21:07 -06:00
Piotr Haber c493491c1a atmodem: add LTE to Telit #PSNT status parser
Network type of 4 in Telit #PSNT command response
denotes LTE network
2017-01-25 10:00:07 -06:00
Vincent Cesson c0c7c92a82 drivers: Add gemaltomodem driver to handle GNSS
Add a new location-reporting driver for Gemalto Cinterion modems based
on telit implementation + use it in gemalto plugin. It supports
activation of GNSS engine (Request) with command AT^SGPSC. This driver
is tested on PHS8. NMEA frames are accessible on /dev/ttyUSB1.
2017-01-19 13:34:36 -06:00
Christophe Ronco d6866f2f90 qmimodem: query_passwd_state can be retried
Retry command QMI_UIM_GET_CARD_STATUS during query_passwd_state if a
temporary error status has been detected.
This happens with a MC7430 modem when query_passwd_state is called just
after PIN is entered.
2017-01-16 22:25:23 -06:00
Vincent Cesson 4edc9fd57f atmodem: Fix CGDCONT result parsing.
CGDCONT result parsing fails if first list contains several ranges. For
example with modem Cinterion PHS8:

 AT+CGDCONT=?
 +CGDCONT: (1-17,101-116),"IP",,,(0),(0-4)

Solution: read first range and jump to second list instead of trying to
close the brackets.
2017-01-13 09:38:43 -06:00
Christophe Ronco b4cbe8d41a qmimodem: add pin_send feature
Add ability to send PIN to a QMI modem using QMI_UIM_VERIFY_PIN command.
This has been tested on MC7304 and MC7430 modems.
2017-01-11 09:57:53 -06:00
Christophe Ronco 6a1d111e21 qmimodem: get password state from modem
Password state and number of retries asked to modem using
QMI_UIM_GET_CARD_STATUS command rather than remembered after initial
QMI_UIM_GET_CARD_STATUS command.
2017-01-11 09:57:06 -06:00
Christophe Ronco 2505d96544 qmimodem: Add read_imsi to qmimodem sim driver
Add read_imsi feature to qmimodem sim driver.
This is based on DMS service.
On MC7430, this is mandatory to be able to use this driver for GPRS
connection because reading IMSI via EF reads fails.
2017-01-09 12:31:35 -06:00
Christophe Ronco 567e5ec9fc qmimodem: fix QMI notification messages handling
QMI notification messages handlers are never called on MC7430 without this fix.

- Do not test transaction id before calling notification handler.  On MC7430,
notification messages contain a not null transaction id (starts with 1,
increased at each message for a particular client).
- On MC7304 transaction id in notification messages is always 0.
2016-12-30 18:38:29 -06:00
Christophe Ronco f15c33ed20 qmimodem: fix get signal strength
Get current signal strength (type: 0x01), not list of other signals strength
(0x10)

Without this fix:
- I can't get a signal strength on MC7430 because list does not exist
	(only one signal strength).
- On MC7304, result is wrong
2016-12-30 18:37:30 -06:00
Marko Šulejić a9a477e469 atmodem: fix typo 2016-12-14 11:19:56 -06:00
Ankit Navik 6aa1f1b3be rilmodem: set LTE preferred in rat mode 2016-12-07 10:20:01 -06:00
Ankit Navik 94789031bb rilmodem: Add lte atom driver
Adds rilmodem driver for setting the default APN command.
The default APN is manage by config storage.
2016-12-07 10:20:01 -06:00
Denis Kenzior 3c473979c7 ubloxmodem: Fixup minor style issues
- useless return at the end of a function
- mixed tabs & spaces for indentation
- over 80 characters for the comment
- line > 80 characters due to access technology conversion.  Replaced
  with a direct assignment.
2016-12-01 11:27:21 -06:00
Denis Kenzior 83783a71d8 ubloxmodem: Fix warning
drivers/ubloxmodem/netmon.c: In function ‘req_cb_data_unref’:
drivers/ubloxmodem/netmon.c:131:10: error: ‘return’ with a value, in
function returning void [-Werror]
   return NULL;
2016-12-01 11:23:29 -06:00
Djalal Harouni a21f175ea1 ubloxmodem: add the netmon driver
This adds a netmon driver for ublox. The driver support both +COPS and
+CESQ commands to return the previously added ofono netmon types:

RSCP: Received Signal Code Power
ECN0: Received Energy Ratio
RSRQ: Reference Signal Received Quality
RSRP: Reference Signal Received Power

Current revision makes the driver use ref countig when chaining multiple
AT commands.
2016-12-01 11:21:59 -06:00
Dragos Tatulea eeaabafdee ubloxmodem: tweak to work on different firmware
The U-Blox documentation specifies the following:
* get interface ip and dns from +CGDCONTRDP
* get gw ip and netmask from +UIPADDR

However, different firmware versions have different befaviour:

* On newer firmware, +UIPADDR returns error. But it's possible to configure
gateway ip == ipterface ip (read from CGDCONTRDP).

* On older firmware, we can actually use the commands specified in the
docs.

This patch runs +CGDCONTRDP, configures everything and then tries to run
+UIPADDR. In that works, reconfigures gw ip and netmask.
2016-11-16 11:49:38 -06:00
Dragos Tatulea 5d276f953e ubloxmodem: add lte atom driver
Adds U-Blox Toby L2 driver for setting the default APN via the
+UCGDFLT command. Currently only IPv4 is supported. APN is
not stored to modem's non-volatile memory. oFono will manage this
default APN via it's config storage.

When receiving an empty default APN, the value is reset.
2016-11-15 13:45:35 -06:00
Dragos Tatulea c43e44b154 ubloxmodem: fix memory leak in gprs_context_remove 2016-11-14 11:27:39 -06:00
Santtu Lakkala 54c9068ff2 huaweimodem: Fix DHCP parsing on 32-bit platforms
strtol clamps returned value between INT_MIN and INT_MAX, causing
invalid value (255.255.255.127) being reported for any address
if last octet > 127 when sizeof(long) == 4.
2016-08-10 11:21:56 -05:00
Samrat Guha Niyogi 2ba2ccbee4 rilmodem: fix cbd init in ril_query_facility_lock 2016-08-06 11:06:58 -05:00
Samrat Guha Niyogi cafd98778d rilmodem: fix num_params in query_facility_lock_cb 2016-08-06 11:06:14 -05:00
Denis Kenzior eaed7dd7e9 rilmodem: Co-locate the callback with invocation 2016-08-06 11:05:12 -05:00
Denis Kenzior d2ec4a2309 rilmodem: Co-locate the callback with invocation 2016-08-06 11:04:20 -05:00
Samrat Guha Niyogi 3047fbd87b rilmodem: split ril_pin_change_state_cb
split ril_pin_change_state_cb based on functionality w.r.t.
facility lock, puk and pin. Rename ril_pin_change_state to
more appropriate name ril_set_facility_lock and rename
ril_pin_change_state_cb to ril_enter_sim_pin_cb.
2016-08-06 10:58:29 -05:00
Samrat Guha Niyogi e3f1eae928 rilmodem: Remove unneeded pin sending logic 2016-08-06 10:53:40 -05:00
Nishanth V ba42155a2c rilmodem: fix WCDMA only in query rat mode 2016-05-20 10:16:23 -05:00
Caiwen Zhang 1eec2fc46e rilmodem: add cell broadcast message support 2016-05-19 10:29:33 -05:00
Suman Mallela 9a584ae2bb rilmodem: Fix PIN retries logic
The SIM PIN retries were not getting reset when the correct PIN/PUK
was entered.
2016-05-17 09:48:03 -05:00
Caiwen Zhang 008eed357d rilmodem/stk: add STK support for rilmodem 2016-05-03 11:14:28 -05:00
Denis Kenzior 29ff4dc2e4 rilmodem: Remove no longer relevant TODO 2016-04-27 11:14:59 -05:00
Denis Kenzior 5d1702fa0e isi: Change query_locked to query_facility_lock 2016-04-27 11:13:33 -05:00
Denis Kenzior 7d5d131e99 isimodem: Remove unimplemented query_locked method 2016-04-27 11:06:52 -05:00
Denis Kenzior 847df8ee78 atmodem: Change query_locked to query_facility_lock 2016-04-27 11:04:43 -05:00
Denis Kenzior 9809aee40c rilmodem: Fix style 2016-04-27 10:58:13 -05:00
Samrat Guha Niyogi 421351cf57 rilmodem: Implement sim atom query_facility_lock 2016-04-27 10:41:33 -05:00
Denis Kenzior c02a97b207 ril: vendorize SoFiA set_band implementation
Since the set_band implementation uses an OEM hook, it should be wrapped
behind a vendor quirk.
2016-04-25 15:26:35 -05:00
Antara Borwankar 2bb515a6ab rilmodem: Driver code to set band mode and value
set_band driver to set GSM band and UMTS band
2016-04-25 15:16:22 -05:00
John Ernberg 3f12d06b20 stemodem: Use g_slist_free_full 2016-04-22 15:22:07 -05:00
John Ernberg 397102bdc5 rilmodem: Use g_slist_free_full 2016-04-22 15:21:39 -05:00
John Ernberg 2db09e4e3f ifxmodem: Use g_slist_free_full 2016-04-22 15:21:11 -05:00
John Ernberg 171ec467e9 hfpmodem: Use g_slist_free_full 2016-04-22 15:20:43 -05:00
John Ernberg 6a07d059d1 atmodem: use g_slist_free_full 2016-04-22 15:20:11 -05:00
Denis Kenzior 756e0215ad rilmodem: Remove some unneeded whitespace 2016-04-22 14:16:27 -05:00
Denis Kenzior 92dba5c21d rilmodem: Rename addrs to addr when not plural
addrs variable seems to be used whenever multiple addresses are being
references.  Either as a strv or a compound string separated by a
separator.  In these cases addrs was used for a single address, which
was confusing.
2016-04-22 14:13:19 -05:00
Denis Kenzior 7b8a6db4af rilmodem: Refactor away some explicit casts 2016-04-22 14:09:36 -05:00
Nishanth V 1fa8338661 rilmodem: Add IPv6 support in gprs-context 2016-04-22 12:26:11 -05:00
Nishanth V dc1116876d rilmodem: Add address to protocol type util func 2016-04-22 12:23:00 -05:00
Nishanth V ca246413d1 ril: don't set an ipv4 netmask if not provided
For historical reasons a netmask was always being set, even if one was
not provided.
2016-04-21 12:22:15 -05:00