-
Notifications
You must be signed in to change notification settings - Fork 144
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
init: qcrild.rc : Add vendor prefix to ril-daemon #874
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Starting with Android S [1]/[2] biometric sensors must now be explicitly listed in config.xml, complete with its "ID", type and strengh. Strength 15 here corresponds with a Class-3 secure biometrics device as per [3]. [1]: https://cs.android.com/android/_/android/platform/frameworks/base/+/e8d2d1f9bfa90b9b260f4a5f95caea7518b30ea5 [2]: https://cs.android.com/android/_/android/platform/frameworks/base/+/9cef3631fb8eaecd4ea4583337f160af24237e12 [3]: https://source.android.com/compatibility/android-cdd#7310_biometric_sensors Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org>
In [1] Google removed many HIDL HAL libraries from VNDK, causing them to only be installed to the system partition. This is inaccessible for vendor apps and results in the usual: linker : CANNOT LINK EXECUTABLE "/odm/bin/hw/android.hardware.keymaster@4.0-service-qti": library "android.hardware.keymaster@4.0.so" not found: needed by main executable linker : CANNOT LINK EXECUTABLE "/odm/bin/hw/android.hardware.keymaster@4.0-service-qti": library "android.hardware.keymaster@4.1.so" not found: needed by /odm/lib64/libqtikeymaster4.so in namespace (default) linker : CANNOT LINK EXECUTABLE "/odm/bin/hw/vendor.somc.hardware.modemswitcher@1.0-service": library "android.hardware.radio.config@1.0.so" not found: needed by /odm/lib64/libril-qc-hal-qmi.so in namespace (default) linker : CANNOT LINK EXECUTABLE "/odm/bin/hw/qcrild": library "android.hardware.secure_element@1.1.so" not found: needed by /odm/lib64/libril-qc-hal-qmi.so in namespace (default) linker : CANNOT LINK EXECUTABLE "/odm/bin/hw/qcrild": library "android.hardware.secure_element@1.2.so" not found: needed by /odm/lib64/libril-qc-hal-qmi.so in namespace (default) linker : CANNOT LINK EXECUTABLE "/odm/bin/hw/qcrild": library "android.hardware.radio.deprecated@1.0.so" not found: needed by /odm/lib64/libril-qc-hal-qmi.so in namespace (default) These libraries are listed in common-treble because they're used by ODM apps but have no explicit vendor dependency (ie. a binary placed on /vendor) to put them in a vendor-available space. The default is to include system variants which is why the dependencies have to be suffixed with `.vendor` so that they're shipped in `/vendor` and are available for our ODM blobs even on GSIs. [1]: https://cs.android.com/android/_/android/platform/hardware/interfaces/+/d610435ac4bb051761b0f016aa6cdf2e884c55b5 Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org>
Following the previous commit, starting with Android S most HAL libraries are not included in VNDK anymore - they need to be explicitly pulled in to `/vendor` for odm blobs to be allowed to access them: linker : CANNOT LINK EXECUTABLE "/odm/bin/netmgrd": library "android.system.net.netd@1.1.so" not found: needed by main executable Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org>
Following the commit f19703e ("common-treble: Provide radio, keymaster and secure_element HAL on vendor"), starting with Android 12 most HAL libraries are not included in VNDK anymore - they need to be explicitly pulled in to `/vendor` for odm blobs to be allowed to access them: QCamera : <MCI><ERROR> mm_camera_load_shim_lib: 3306: dlopen failed with error dlopen failed: library "android.frameworks.sensorservice@1.0.so" not found: needed by /odm/lib/libmmcamera2_stats_modules.so in namespace (default) android.frameworks.sensorservice@1.0 is used by at least mm-camera framework. Signed-off-by: Pavel Dubrova <pashadubrova@gmail.com>
Set default behavior when the user long presses the power button. This allows to call the power menu with a long press of the power button. If the default value is set to 5 (Go to assistant), the fallback to the old behavior will not work when "Hold for Assistant" is disabled. Reference: https://android.googlesource.com/platform/packages/apps/Settings/+/34cbca502bdfd6e0e5fff836bb9b0a3abf6811ea Signed-off-by: Pavel Dubrova <pashadubrova@gmail.com>
fix for CANNOT LINK EXECUTABLE /odm/bin/hw/android.hardware.authsecret@1.0-service-qti: library android.hardware.authsecret@1.0.so not found: needed by main executable Following the commit f19703e ("common-treble: Provide radio, keymaster and secure_element HAL on vendor"), starting with Android 12 most HAL libraries are not included in VNDK anymore - they need to be explicitly pulled in to `/vendor` for odm blobs to be allowed to access them: QCamera : <MCI><ERROR> mm_camera_load_shim_lib: 3306: dlopen failed with error dlopen failed: library "android.frameworks.sensorservice@1.0.so" not found: needed by /odm/lib/libmmcamera2_stats_modules.so in namespace (default) Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
qcrild.rc is attempting to stop ril-daemon which doesnt exist (https://github.com/sonyxperiadev/device-sony-common/blob/s-mr1/rootdir/vendor/etc/init/qcrild.rc#L9) and errors out with the below message. "init: Command 'stop ril-daemon' action=vendor.rild.libpath=/odm/lib64/libril-qc-hal-qmi.so (/vendor/etc/init/qcrild.rc:9) took 0ms and failed: service ril-daemon not found." Instead we have vendor.ril-daemon service starting in the background. "init: starting service 'vendor.ril-daemon'..." Add the vendor prefix to ril-daemon. Fixes the buggy sim detection on S.
bartcubbins
approved these changes
Nov 25, 2021
Please add the reference link to the commit. That commit is from 2018, should this also be applied to at least r-mr1? |
cherry-picked |
|
Thanks Alin, |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
qcrild.rc is attempting to stop ril-daemon which doesnt exist (https://github.com/sonyxperiadev/device-sony-common/blob/s-mr1/rootdir/vendor/etc/init/qcrild.rc#L9) and errors out with the below message.
"init: Command 'stop ril-daemon' action=vendor.rild.libpath=/odm/lib64/libril-qc-hal-qmi.so (/vendor/etc/init/qcrild.rc:9) took 0ms and failed: service ril-daemon not found."
Instead we have vendor.ril-daemon service starting in the background.
"init: starting service 'vendor.ril-daemon'..."
Add the vendor prefix to ril-daemon.
Fixes the buggy sim detection on S.