Skip to content

Upgrade ofono to 1.34#30

Open
piggz wants to merge 320 commits into
sailfishos:masterfrom
sailfish-on-dontbeevil:branch-1.34
Open

Upgrade ofono to 1.34#30
piggz wants to merge 320 commits into
sailfishos:masterfrom
sailfish-on-dontbeevil:branch-1.34

Conversation

@piggz

@piggz piggz commented Feb 16, 2022

Copy link
Copy Markdown
Contributor

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.