Un-register service from hwservicemanager I have disabled the fingerprint sensor on my phone by setting the device tree node status to disabled. When I boot up, the fingerprint menu options are gone, but dmesg shows that hwservicemanager is trying to start a fingerprint sensor over and over, but init can't find the service:

[  625.488742] init: Could not find 'android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprint/default' for ctl.interface_start
[  625.502583] init: Received control message 'interface_start' for 'android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprint/default' from pid: 669 (/system/bin/hwservicemanager)
[  625.502658] init: Could not find 'android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprint/default' for ctl.interface_start
[  625.523352] init: Received control message 'interface_start' for 'android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprint/default' from pid: 669 (/system/bin/hwservicemanager)
[  625.523427] init: Could not find 'android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprint/default' for ctl.interface_start
[  625.538080] init: Received control message 'interface_start' for 'android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprint/default' from pid: 669 (/system/bin/hwservicemanager)
[  625.538545] init: Could not find 'android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprint/default' for ctl.interface_start


How do I tell hwservicemanager to stop trying to start this now non-existent service? I saw here that there is an option to remove the hidl definitions from a manifest file, but I would like to enable or disable the fingerprint sensor at runtime. I can enable and disable the service with start vendor.fps_hal and stop vendor.fps_hal, but I can't stop hwservicemanager from trying to start it.
You can check system/hwservicemanager/ServiceManager.cpp to see when and why hwservicemanager is setting ctl.interface_start to trigger init to start the HAL service.

Unless you are willing to update system/hwservicemanager/ServiceManager.cpp, I don't see a way to achieve what you are trying to do.