summaryrefslogtreecommitdiff
path: root/drivers/qmimodem/gprs.c
Commit message (Collapse)AuthorAgeFilesLines
* qmimodem: Implement data capability bearer notifyMarius Gripsgard2020-06-101-0/+27
| | | | | | This implements data capability bearer notify to qmi modem. Since this is included in the serving system response this just adds a new data extraction for dc.
* drivers: constify vtablesJonas Bonn2018-10-171-1/+1
| | | | | | | | The driver vtables are read-only structures. This patch declares them as 'const' allowing the compiler to (optionally) put them in the RELRO section. RELRO pages may be marked as read-only by the linker after the relocations have been done ensuring that they aren't inadvertently or maliciously altered at runtime.
* qmimodem: release WDS service on GPRS atom removalJonas Bonn2018-03-071-0/+3
|
* qmimodem: get LTE default bearer APN from modemJonas Bonn2018-03-051-9/+153
| | | | | | | | | | | | | | | | | | When an LTE modem registers with the network, a default bearer is automatically established. The APN used for this bearer is taken from whatever default settings the modem has. The LTE atom takes cares of setting up the default context/profile with the APN to use. From there, a default bearer will be established when the modem registers with the network. This results in a call to 'Get LTE Attach Parameters' which tells us what APN the gateway negotiated with us. If we can't get the APN, we do what the AT driver does: pretend the bearer wasn't established. This is a reasonable fallback, currently, because connman can't handle zero-length APN's anyway; the previous approach of setting the APN to 'automatic' breaks connman badly when it needs to switch between LTE and non-LTE networks.
* qmimodem: set APN for LTE default bearerJonas Bonn2017-05-041-1/+1
| | | | | | | | | | Apparently, an empty APN in an ofono context means that that the context cannot be activated. connman definitely interprets it this way. This patch sets a default name of "automatic" for the default bearer if no other LTE APN is supplied (which is currently the case as the LTE atom is not in place yet). Without this, connman happily ignores the context, even though it has been activated by ofono.
* qmi: activate default bearer context for LTE networksJonas Bonn2017-05-011-12/+50
| | | | | | | | | | | | When the modem attaches to an LTE network, a default bearer is automatically negotiated using the "defalt profile" settings. The QMI modem, however, does not given any explicit indication that the bearer exists; instead, we must assume its existence based on the network registration state. This patch extends the GPRS atom to signal the presence of a default bearer when it detects network connectivity on an LTE network.
* qmi: use named status valuesJonas Bonn2017-05-011-2/+3
|
* qmi: use shared servicesJonas Bonn2017-05-011-1/+2
| | | | | | | | | | Apparently it's not legal to create a QMI service multiple times for a device. I've been testing with a Quectel EC21 and here it works fine to do so, but the general case would require "shared" services across atoms. This patch switches the users of the NAS and WDS services over to using a "shared" service instead of each instatiating their own instance.
* qmi: NAS definitions adjustmentJonas Bonn2017-04-111-1/+1
| | | | | | | Calling the ps_state/cs_state alternatives *ATTACH_STATUS* was confusing because there is also a status field in the *serving_system structure. This patch does a minor rename and adds the appropriate definitions for the status field.
* qmimodem: read ss_info at probe timeLukasz Nowak2017-03-231-0/+7
| | | | | | | | | | LTE modems (observed with Telit LE910 V1) can power on already registered to a network. In that case, the SS_INFO change notification will never arrive, and the gprs driver will never be marked as attached. To avoid this situation, read SS_INFO at probe time, and if registered, mark the gprs driver as attached.
* qmimodem: Add support for GPRS data connection handlingMarcel Holtmann2012-06-211-0/+233