Skip to content
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

Undefined HAL interface in aosp/LA.QSSI.12.0.r1 #1

Open
dcaliste opened this issue Jun 28, 2022 · 4 comments
Open

Undefined HAL interface in aosp/LA.QSSI.12.0.r1 #1

dcaliste opened this issue Jun 28, 2022 · 4 comments

Comments

@dcaliste
Copy link

This is an attempt to compile aosp/LA.QSSI.12.0.r1 branch. It is compiling out of the box providing a missing HAL interface for "vendor.qti.hardware.fm@1.0". Such interface does not exist upstream in https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/interfaces neither.

As a first step to get this module working, I'm proposing a toy interface in my branch https://github.com/dcaliste/vendor-qcom-opensource-interfaces/tree/hal. This interface has been written from the calls in fm_hci/ directroy and may not be accurate.

I guess the next step is to try on device to get it talking with the hal daemon. @jerpelea what do you think ?

@jerpelea
Copy link
Collaborator

@dcaliste go for it and see how it goes :)

@dcaliste
Copy link
Author

dcaliste commented Jul 1, 2022

It did go a bit further, but I'm stuck somewhere later.

Running it on device, it is loading the fm-helium.so shared library and getting the "FM_HELIUM_LIB_INTERFACE" from it, see fm/jni/android_hardware_fm.cpp::classInitNative(). It then lands to fm/fm_hci/fm_hci.cpp::fm_hci_init() to the IFmHci::getService() call. Here is an extract from logcat:

07-01 09:34:21.450  1016  1016 D radio_helium: ++hal_init
07-01 09:34:21.450  1016  1016 D fm_hci  : ++fm_hci_init
07-01 09:34:21.455  1016  1016 I ServiceManagement: getService: Trying again for vendor.qti.hardware.fm@1.0::IFmHci/default...
07-01 09:34:22.456  1016  1016 W ServiceManagement: Waited one second for vendor.qti.hardware.fm@1.0::IFmHci/default

So it seems that the corresponding service is not running and not starting neither. I'm a bit ignorant in relation to Android way of running. This is handled by hwservicemanager, right ? How can I trace what hwservicemanager is doing ?

I tried to look in my Android source tree to see if I find a service related to vendor.qti.hardware.fm but didn't find anything, except for client code in commonsys/fm that should connect to this service, but not the service itself. Did I miss something, or is this part proprietary ? If so, I guess it is somewhere on device, may I ask you where ?

@jerpelea
Copy link
Collaborator

jerpelea commented Jul 14, 2022

you need the proprietary binary for that service. I will add it in the next vendor release

@dcaliste
Copy link
Author

Oh great, thank you . I can't wait to test it further. I'll keep an eye on it.

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

No branches or pull requests

2 participants