[Galaxy Tab S2 Android Development] metterschling:
Thank you for kicking off this discussion and providing your log. I'm very interested as I'm currently stuck at LOS17.1 because I need RIL working for my daily usage (BTW: finally managed to migrate from LOS16.0 - only path was to perform the full wipe&format method including /sdcard, all others resulted in a stuck boot).

Here are the interesting excepts of my radio log - I've tested with the same config as yours just without gapps (I'll be using microg):

01-08 19:26:54.088 3616 3616 D boot : cbd: get_cmdline_str: find str androidboot.debug_level=0x4f4c form /proc/cmdline
01-08 19:26:54.088 3616 3616 D boot : cbd: check_debug_level: androidboot.debug_level=0x4f4c, 0
01-08 19:26:54.088 3616 3616 D boot : cbd: check_debug_level: debug level=0, cp_debug=0
01-08 19:26:54.088 3616 3616 D boot : cbd: main: Start CP Boot Daemon (CBD)
01-08 19:26:54.088 3616 3616 D boot : cbd: main: Daemon Mode
01-08 19:26:54.088 3616 3616 D boot : cbd: main: SS333 modem
01-08 19:26:54.088 3616 3616 D boot : cbd: main: boot spi link
01-08 19:26:54.088 3616 3616 D boot : cbd: main: main LLI link
01-08 19:26:54.088 3616 3616 D boot : cbd: main: partition number : 13
01-08 19:26:54.088 3616 3616 D boot : cbd: main: partition path : /dev/block/mmcblk0p13
01-08 19:26:54.088 3616 3616 D boot : cbd: main: Call boot start
01-08 19:26:54.088 3616 3616 D boot : cbd: main: Modem type = 9
01-08 19:26:54.088 3616 3616 D boot : cbd: main: Boot link = 3
01-08 19:26:54.088 3616 3616 D boot : cbd: main: Main link = 10
01-08 19:26:54.088 3616 3616 D boot : cbd: start_shannon333_boot: CP boot device = /dev/umts_boot0
01-08 19:26:54.088 3616 3616 D boot : cbd: start_shannon333_boot: CP binary file = /dev/block/mmcblk0p13
01-08 19:26:54.089 3616 3616 D boot : cbd: start_shannon333_boot: CP NV file = /efs/nv_data.bin
01-08 19:26:54.089 3616 3616 D boot : cbd: start_shannon333_boot: BOOT link SPI
01-08 19:26:54.089 3616 3616 D boot : cbd: start_shannon333_boot: MAIN link MIPI-LLI
01-08 19:26:54.205 3648 3648 D RILD : **RIL Daemon Started**
01-08 19:26:54.206 3648 3648 D RILD : **RILd param count=5**
01-08 19:26:54.209 3648 3648 E RILD : dlopen failed: dlopen failed: "/system/lib/libsec-ril.so" loaded phdr 0xaf7c3034 not in loadable segment
01-08 19:26:56.111 3536 3536 D TelephonyManager: No /proc/cmdline exception=java.io.FileNotFoundException: /proc/cmdline: open failed: EACCES (Permission denied)
01-08 19:26:56.111 3536 3536 D TelephonyManager: /proc/cmdline=
01-08 19:26:59.101 3616 3616 D boot : cbd: start_shannon333_boot: NV validation TIMEOUT
...
01-08 19:26:59.164 3917 3917 E RILD : dlopen failed: dlopen failed: "/system/lib/libsec-ril.so" loaded phdr 0xafd41034 not in loadable segment
...
01-08 19:27:37.298 4560 4560 D TDC : updateOrInsert: inserting: Modem { uuid=modem, state=0, rilModel=0, rat={}, maxActiveVoiceCall=1, maxActiveDataCall=1, maxStandby=1 }
01-08 19:27:37.298 4560 4560 D TDC : updateOrInsert: inserting: Sim { uuid=sim, modemUuid=modem, state=0 }
01-08 19:27:37.310 4560 4560 E PersistAtomsStorage: cannot load/parse PersistAtoms
01-08 19:27:37.310 4560 4560 E PersistAtomsStorage: java.nio.file.NoSuchFileException: /data/user_de/0/com.android.phone/files/persist_atoms.pb
01-08 19:27:37.310 4560 4560 E PersistAtomsStorage: at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214)
01-08 19:27:37.310 4560 4560 E PersistAtomsStorage: at java.nio.file.Files.newByteChannel(Files.java:361)
01-08 19:27:37.310 4560 4560 E PersistAtomsStorage: at java.nio.file.Files.newByteChannel(Files.java:407)
01-08 19:27:37.310 4560 4560 E PersistAtomsStorage: at java.nio.file.Files.readAllBytes(Files.java:3152)
01-08 19:27:37.310 4560 4560 E PersistAtomsStorage: at com.android.internal.telephony.metrics.PersistAtomsStorage.loadAtomsFromFile(PersistAtomsStorage.java:132)
01-08 19:27:37.310 4560 4560 E PersistAtomsStorage: at com.android.internal.telephony.metrics.PersistAtomsStorage.<init>(PersistAtomsStorage.java:60)
01-08 19:27:37.310 4560 4560 E PersistAtomsStorage: at com.android.internal.telephony.metrics.MetricsCollector.<init>(MetricsCollector.java:88)
01-08 19:27:37.310 4560 4560 E PersistAtomsStorage: at com.android.internal.telephony.PhoneFactory.makeDefaultPhone(PhoneFactory.java:149)
01-08 19:27:37.310 4560 4560 E PersistAtomsStorage: at com.android.internal.telephony.PhoneFactory.makeDefaultPhones(PhoneFactory.java:105)
01-08 19:27:37.310 4560 4560 E PersistAtomsStorage: at com.android.phone.PhoneGlobals.onCreate(PhoneGlobals.java:345)
01-08 19:27:37.310 4560 4560 E PersistAtomsStorage: at com.android.phone.PhoneApp.onCreate(PhoneApp.java:39)
01-08 19:27:37.310 4560 4560 E PersistAtomsStorage: at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1192)
01-08 19:27:37.310 4560 4560 E PersistAtomsStorage: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6719)
01-08 19:27:37.310 4560 4560 E PersistAtomsStorage: at android.app.ActivityThread.access$1300(ActivityThread.java:237)
01-08 19:27:37.310 4560 4560 E PersistAtomsStorage: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1913)
01-08 19:27:37.310 4560 4560 E PersistAtomsStorage: at android.os.Handler.dispatchMessage(Handler.java:106)
01-08 19:27:37.310 4560 4560 E PersistAtomsStorage: at android.os.Looper.loop(Looper.java:223)
01-08 19:27:37.310 4560 4560 E PersistAtomsStorage: at android.app.ActivityThread.main(ActivityThread.java:7664)
01-08 19:27:37.310 4560 4560 E PersistAtomsStorage: at java.lang.reflect.Method.invoke(Native Method)
01-08 19:27:37.310 4560 4560 E PersistAtomsStorage: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
01-08 19:27:37.310 4560 4560 E PersistAtomsStorage: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
01-08 19:27:37.311 4560 4560 D PersistAtomsStorage: created new PersistAtoms
...
01-08 19:27:37.321 4560 4560 D RILJ : RIL: init preferredNetworkType=9 cdmaSubscription=0) [PHONEnull]
01-08 19:27:37.347 4560 4560 E RILJ : getRadioProxy: mRadioProxy for slot1 is disabled [PHONE0]
01-08 19:27:37.347 4560 4560 E RILJ : getRadioProxy: mRadioProxy == null [PHONE0]
01-08 19:27:37.347 4560 4560 E RILJ : getRadioProxy: mRadioProxy for slot1 is disabled [PHONE0]
01-08 19:27:37.347 4560 4560 E RILJ : getRadioProxy: mRadioProxy == null [PHONE0]
01-08 19:27:37.348 4560 4560 E RILJ : IOemHook service is not on the device HAL: java.util.NoSuchElementException [PHONE0]
01-08 19:27:37.348 4560 4560 D RILJ : Radio HAL version: -1.-1 [PHONE0]

The log concludes with a long stream of similar dlopen failures for libsec-ril.so with different phdr addresses.

@ripee Thank you so much for all your and @ananjaser1211 efforts for our devices. Any chance that you can have a look? I don't know if that matters, but the libsec-ril.so file in present on the 20211208 LOS18.1 release and around 3.0MB size while for LOS17.1 (20210825 build) it is around 2.6MB size.

I'm back to LOS17.1 for now but can spend some time to test LOS18.1 in case additional troubleshooting is required.