0

我正在将 Quectel EC25 集成到现有的 Lineage ROM 中,并在 dmesg 中收到以下消息

Could not find service hosting interface android.hardware.radio.config@1.0::IRadioConfig/default

这个问题从何而来?我在构建过程中缺少一个包吗?此设备/ROM 的原始无线电是高通而不是移远。

我有以下 HAL 定义:

<hal format="hidl">
    <name>android.hardware.broadcastradio</name>
    <transport>hwbinder</transport>
    <version>1.0</version>
    <interface>
        <name>IBroadcastRadioFactory</name>
        <instance>default</instance>
    </interface>
</hal>
<hal format="hidl">
    <name>android.hardware.radio.deprecated</name>
    <transport>hwbinder</transport>
    <version>1.0</version>
    <interface>
        <name>IOemHook</name>
        <instance>slot1</instance>
    </interface>
</hal>
<hal format="hidl">
    <name>android.hardware.radio</name>
    <transport>hwbinder</transport>
    <version>1.0</version>
    <interface>
        <name>IRadio</name>
        <instance>slot1</instance>
    </interface>
</hal>

资源:

https://github.com/darran-kelinske-fivestars/android_device_lenovo_tb-common/blob/dff9d6c0d81b83f8541a76f7c9beccd84ea889d9/manifest.xml#L204-L230

完整日志:

[  166.333636] usb 1-1.1: new high-speed USB device number 3 using msm_hsusb_host
[  166.444063] usb 1-1.1: New USB device found, idVendor=2c7c, idProduct=0125
[  166.444081] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  166.444090] usb 1-1.1: Product: Android
[  166.444100] usb 1-1.1: Manufacturer: Android
[  166.450194] option 1-1.1:1.0: GSM modem (1-port) converter detected
[  166.451457] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB0
[  166.455370] option 1-1.1:1.1: GSM modem (1-port) converter detected
[  166.456632] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB1
[  166.461523] option 1-1.1:1.2: GSM modem (1-port) converter detected
[  166.462494] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB2
[  166.466384] option 1-1.1:1.3: GSM modem (1-port) converter detected
[  166.467252] usb 1-1.1: GSM modem (1-port) converter now attached to ttyUSB3
[  166.471994] qmi_wwan 1-1.1:1.4: cdc-wdm0: USB WDM device
[  166.472015] qmi_wwan 1-1.1:1.4: Quectel EC21&EC25 work on RawIP mode
[  166.480868] qmi_wwan 1-1.1:1.4 wwan0: register 'qmi_wwan' at usb-msm_hsusb_host-1.1, WWAN/QMI device, 0000000000000000
[  168.904509] type=1400 audit(1588111305.685:263): avc: denied { open } for pid=3405 comm="getprop" path="/dev/__properties__/u:object_r:bluetooth_prop:s0" dev="tmpfs" ino=280 scontext=u:r:shell:s0 tcontext=u:object_r:bluetooth_prop:s0 tclass=file permissive=1
[  168.904559] type=1400 audit(1588111332.185:475): avc: denied { getattr } for pid=618 comm="rild" path="/dev/cdc-wdm0" dev="tmpfs" ino=77796 scontext=u:r:rild:s0 tcontext=u:object_r:device:s0 tclass=chr_file permissive=1
[  168.906456] type=1400 audit(1588111332.185:475): avc: denied { getattr } for pid=618 comm="rild" path="/dev/cdc-wdm0" dev="tmpfs" ino=77796 scontext=u:r:rild:s0 tcontext=u:object_r:device:s0 tclass=chr_file permissive=1
[  168.906507] type=1400 audit(1588111332.189:476): avc: denied { read write } for pid=618 comm="rild" name="ttyUSB2" dev="tmpfs" ino=77794 scontext=u:r:rild:s0 tcontext=u:object_r:device:s0 tclass=chr_file permissive=1
[  168.906670] type=1400 audit(1588111332.189:476): avc: denied { read write } for pid=618 comm="rild" name="ttyUSB2" dev="tmpfs" ino=77794 scontext=u:r:rild:s0 tcontext=u:object_r:device:s0 tclass=chr_file permissive=1
[  168.906697] type=1400 audit(1588111332.189:477): avc: denied { open } for pid=618 comm="rild" path="/dev/ttyUSB2" dev="tmpfs" ino=77794 scontext=u:r:rild:s0 tcontext=u:object_r:device:s0 tclass=chr_file permissive=1
[  168.907309] type=1400 audit(1588111332.189:477): avc: denied { open } for pid=618 comm="rild" path="/dev/ttyUSB2" dev="tmpfs" ino=77794 scontext=u:r:rild:s0 tcontext=u:object_r:device:s0 tclass=chr_file permissive=1
[  168.907340] type=1400 audit(1588111332.189:478): avc: denied { ioctl } for pid=618 comm="rild" path="/dev/ttyUSB2" dev="tmpfs" ino=77794 ioctlcmd=5401 scontext=u:r:rild:s0 tcontext=u:object_r:device:s0 tclass=chr_file permissive=1
[  169.852985] init: Received control message 'interface_start' for 'android.hardware.radio.config@1.0::IRadioConfig/default' from pid: 330 (/system/bin/hwservicemanager)
[  169.853056] init: Could not find service hosting interface android.hardware.radio.config@1.0::IRadioConfig/default

我的清单在这里:

https://github.com/darran-kelinske-fivestars/local-manifest-lineage/blob/TB-8504/manifest.xml

4

2 回答 2

1

Qualcomm 使用不同于通常的 RIL 框架。

device/qcom/msmxxx/msmxxx.mk

添加如下

PRODUCT_PACKAGES += android.hardware.radio.config@1.0-service
于 2020-06-12T08:04:10.183 回答
0

其实我不知道你的申请。但是当我构建一个 HAL 时,我也遇到了同样的问题。根据您的清单,您的 HAL 实例将出现在您的 HAL 包的“默认”文件夹中。但是如果在运行时,如果你的实例没有被创建,那么这个错误就会被抛出。

因此,当我在 main.cpp 文件中创建 HAL 接口的实例时,我的错误就消失了。

你可以试试同样的。并重新检查名为“default”的文件夹是否存在于您的 HAL 包中,并且您的 HAL 接口是否已在 main.cpp 文件中实例化。

于 2020-06-07T07:55:00.727 回答