Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade ofono to 1.34 #30

Open
wants to merge 320 commits into
base: master
Choose a base branch
from

Conversation

piggz
Copy link
Contributor

@piggz piggz commented Feb 16, 2022

Builds upon the 1.33 PR and cherry-picks commits to 1.34 with the following changes

Skipped:
https://git.kernel.org/pub/scm/network/ofono/ofono.git/commit/?h=1.34&id=6ee67e14a69fd90ad6dbb9e06dd2518cba58cfce (ell)

denkenz and others added 30 commits February 13, 2022 18:39
We pass in the maximum size of the buffer to the read system call.  On
the astronomically unlikely chance that we indeed read the full buffer
full of data, the subsequent assignment will overflow it.  Fix this by
passing sizeof(buf) - 1 to the read system call instead.
In case strlen(ICCID) > 20, we simply return without freeing the ICCID
value first.
if (ctx->message_proxy) always resolves to TRUE
The default context created when provisioning fails is simply a context
with an empty APN
ctx->message_center and ctx->message_proxy are arrays and thus
always evaluate as true
The code is not really copying strings but 2 or 3 character sof the MNC.
Make this clearer.
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.
The SIMCom SIM7100 and SIM7600 modem use the same vendor and product id
but require different drivers (sim7100 vs gobi).
Added two new values for TechnologyPreference property
as follows:
"umts,gsm"	Dual mode operation with UMTS
		and GSM radio access whith preference
		for UMTS.
"lte,umts"	Dual mode operation with LTE
		and UMTS radio access with preference
		for LTE.
Handled two new dual mode technology preferences
"umts,gsm" and "lte,umts".
Handled dual mode technology preference "umts,gsm" and
"lte,umts" for xmm7modem.
handled enabling of stk for xmm7modem vendor in atmodem
driver.
When oFono is built with --enable-external-ell, the compiler for some
reason does not generate a debug section on some systems.  This is due
to the fact that l_debug is never called.  However, ell also does not
call l_debug, yet when built-in ell is used, the section is created by
the compiler.

For now work around this by adding a no-op l_debug() call in main.c.
The real fix is to migrate all of the oFono logging functionality to use
ell instead.
Added new method to fetch neighbouring cell information.
G-S-E and others added 29 commits February 16, 2022 15:32
Support for the Quectel EC200 USB modem series has been added. The model
identification AT command has been added as the first step in the
communication with a Quectel USB modem.
Implement network monitoring driver for gemalto modems that
are able to provide serving cell information and basic
measurements using AT+CQS and AT^SMONI commands.
Enable netmon functionality for Gemalto ELS81x modems.
Gemalto modem reports raw measurements in dBm. Reported values may
include negative numbers. Meanwhile oFono follows ETSI TS 27.007,
so negative numbers do not really exist at the API level.

Modify gemalto netmon driver to report measurements according to
27.007. For this purpose re-scale from what Gemalto firmware
reports into something that 27.007 recommends.
Add helper to validate if TLV value is a valid UTF8 string.
Note that both null-terminated and non null-terminated UTF8
strings are considered valid.
Make sure that IMS private identity is a valid UTF8 string before
setting sim->impi field. Otherwise ofono may crash on dbus assert
when SIM properties are reported via org.ofono.SimManager interface.
Handle USSD QMI indication messages.
Add support for UCS2 USS Data coding scheme.
Check for User Action TLV type.
g_utf8_validate_len() is support after glib 2.60
Added one new value for TechnologyPreference property
as follows:
"lte,gsm"      Dual mode operation with LTE
                    and GSM radio access whith preference
                    for LTE.
Allow setting of "lte,gsm" mode,
for modems that doesn't support ANY mode.
Handled dual mode technology preference "lte,gsm" for Quectel BG96.
Quectel BG96 doesn't support ANY mode.
Originally the enum was only meant to signify a single radio access mode
preference, but over time its meaning was overloaded to be a bitfield
with multiple preferences.  Switch away from using an enum value to
using an unsigned int to make it clearer that the value is a bitfield.
Add support for Gemalto specific radio settings.
Instantiate Gemalto radio-settings atom in post_sim.
Gemalto modem does not allow to enable Supplementary Service
during post_sim stage. So move ussd atom to post_online stage.
Enum ofono_radio_access_mode has been replaced by unsigned int.
This change allows to move handling of all the modes into
'switch' in the function gemalto_set_rat_mode.
Quectel devices returns "Revision:" before the manufacture and revision.
Via dbus:
"Manufacturer" s "Revision: MTK 0828"
"Revision" s "Revision: M95FAR02A08"
This problem does not happen each time when dialing. It's only observed
with some sim cards under certain network.

The time sequence to reproduce the problem is:
- send dial request
- receive unsol event call state changed
- send clcc poll request
- clcc poll response (vd->cb is null here)
- dial response
- setup vd->cb (then it never gets called)
lduboeuf pushed a commit to lduboeuf/ofono-mer that referenced this pull request Nov 21, 2022
…ssue

Allow adding and removing APNs on android9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.