LineageOS 14.1 changed libril (unsupported now)

Discussions about rSAP installation
netchild
Posts: 1
Joined: Sat Nov 18, 2017 6:20 pm

LineageOS 14.1 changed libril (unsupported now)

Post by netchild » Sat Nov 18, 2017 6:26 pm

Hi,

since the beginning of the month (build from Nov 1, change from Oct 30) LineageOS has changed something in libril (Samsung Galaxy S5 - klte). Now the installer shows the ril variant as not compatible.

If this change by LineageOS has made it incompatible from a functional point of view, maybe they are OK to add some kind of official interface for the functionality the installer needs to make it compatible again.

Bye,
Alexander.

admin
Site Admin
Posts: 4130
Joined: Wed Mar 23, 2011 4:12 pm

Re: LineageOS 14.1 changed libril (unsupported now)

Post by admin » Sun Nov 19, 2017 11:08 am

This looks like LineageOS renamed the RIL library, maybe because a "shim" library was necessary like for the Galaxy S II. Can you please search for the "RIL" library name in the /system/build.prop?

odoll
Posts: 16
Joined: Fri May 15, 2015 1:32 pm

Re: LineageOS 14.1 changed libril (unsupported now)

Post by odoll » Sun Nov 19, 2017 8:49 pm

# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=NJH47F
ro.build.display.id=lineage_hlte-userdebug 7.1.2 NJH47F a3442a4686
ro.build.version.incremental=a3442a4686
ro.build.version.sdk=25
ro.build.version.preview_sdk=0
ro.build.version.codename=REL
ro.build.version.all_codenames=REL
ro.build.version.release=7.1.2
ro.build.version.security_patch=2017-10-05
ro.build.version.base_os=
ro.build.date=Tue Nov 7 09:50:00 PST 2017
ro.build.date.utc=1510077000
ro.build.type=userdebug
ro.build.user=jenkins
ro.build.host=phenom.zifnab.net
ro.build.tags=release-keys
ro.build.flavor=lineage_hlte-userdebug
ro.product.model=hlte
ro.product.brand=samsung
ro.product.name=lineage_hlte
ro.product.device=hlte
ro.product.board=MSM8974
# ro.product.cpu.abi and ro.product.cpu.abi2 are obsolete,
# use ro.product.cpu.abilist instead.
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.cpu.abilist=armeabi-v7a,armeabi
ro.product.cpu.abilist32=armeabi-v7a,armeabi
ro.product.cpu.abilist64=
ro.product.manufacturer=samsung
ro.product.locale=en-US
[...]
rild.libpath=/system/vendor/lib/libsec-ril.so
ro.ril.telephony.mqanelements=6
[...]
persist.rild.nitz_plmn=
persist.rild.nitz_long_ons_0=
persist.rild.nitz_long_ons_1=
persist.rild.nitz_long_ons_2=
persist.rild.nitz_long_ons_3=
persist.rild.nitz_short_ons_0=
persist.rild.nitz_short_ons_1=
persist.rild.nitz_short_ons_2=
persist.rild.nitz_short_ons_3=
[...]

admin
Site Admin
Posts: 4130
Joined: Wed Mar 23, 2011 4:12 pm

Re: LineageOS 14.1 changed libril (unsupported now)

Post by admin » Fri Nov 24, 2017 5:54 pm

Does the file /system/vendor/lib/libsec-ril.so exist?

odoll
Posts: 16
Joined: Fri May 15, 2015 1:32 pm

Re: LineageOS 14.1 changed libril (unsupported now)

Post by odoll » Wed Nov 29, 2017 8:17 pm

no, but it has two files starting with libsec-ril, namely

libsec-ril.gsm.so and libsec-ril.spr.so

admin
Site Admin
Posts: 4130
Joined: Wed Mar 23, 2011 4:12 pm

Re: LineageOS 14.1 changed libril (unsupported now)

Post by admin » Thu Dec 07, 2017 8:29 pm

This is really a nightmare... I don't know how many times the LineageOS developers will introduce new filenames. And they don't even show the name in build.prop!

:evil:

I'll try to handle that somehow.

javelinanddart
Posts: 3
Joined: Fri Dec 08, 2017 2:40 am

Re: LineageOS 14.1 changed libril (unsupported now)

Post by javelinanddart » Fri Dec 08, 2017 2:49 am

Hey admin, I'm one of the LineageOS maintainers for klte and hlte.
What's going on here is we have different libsec-ril blobs by variant, to support GSM and CDMA devices.
The reason it isn't (necessarily) correct in build.prop is because rild.libpath is overridden based on the variant during init for some multi variant builds.
The function that does that is here: https://github.com/LineageOS/android_de ... te.cpp#L41
However, even though it is not (necessarily) correct in the build.prop, the prop is still correct if you get it at runtime, see the snippet below:

Code: Select all

(xenial)javelinanddart@localhost:~/Downloads$ adb shell
hlte:/ $ cat /system/build.prop | grep rild.libpath
rild.libpath=/system/vendor/lib/libsec-ril.so
hlte:/ $ getprop rild.libpath
/system/vendor/lib/libsec-ril.spr.so
hlte:/ $ 
You should be able to get it using

Code: Select all

SystemProperties.get("rild.libpath");
or something similar. I'm assuming you want to get this property in the app.
Sorry if this has caused any trouble for you, that was not our intention. We just wanted to clean up our multi variant support to be less hacky.
If you have further questions, feel free to email me: my gmail ID is the same as my username here.

admin
Site Admin
Posts: 4130
Joined: Wed Mar 23, 2011 4:12 pm

Re: LineageOS 14.1 changed libril (unsupported now)

Post by admin » Sun Dec 10, 2017 11:10 pm

Hey, thanks for the hint!

My problem is that I hook the RIL library and in my hook I have to load the original library. So far I hard-coded all RIL library names I ever came across and checked for their existence, because I remember to have seen "wrong" rild.libpath entries in the past. So I have to create a new version of my app and my native library whenever a new name shows up. I'll try to add the rild.libpath evaluation, I hope this will help with future changes for other Samsung phones.

javelinanddart
Posts: 3
Joined: Fri Dec 08, 2017 2:40 am

Re: LineageOS 14.1 changed libril (unsupported now)

Post by javelinanddart » Mon Dec 11, 2017 4:30 pm

in that case,

Code: Select all

libsec-ril.gsm.so
libsec-ril.usc.so
libsec-ril.vzw.so
libsec-ril.dv.so
libsec-ril.spr.so
libsec-ril.06w.so
libsec-ril.09w.so
libsec-ril.can.so
libsec-ril.tmo.so
libsec-ril.so
Those are all the different ones that I found on a quick look. All are in /system/vendor/lib.

admin
Site Admin
Posts: 4130
Joined: Wed Mar 23, 2011 4:12 pm

Re: LineageOS 14.1 changed libril (unsupported now)

Post by admin » Sat Dec 16, 2017 1:37 pm

Is 'gsm' the only variant with a SIM card?

EDIT: better: with a SIM card supporting GSM or USIM application?

Post Reply

Return to “Installation”