Android12 适配EC20

android12 kernel-5.10 适配EC20CEHCLGR06A05M1G,没有图标也没有节点,帮忙查看一下啥问题
logcat.txt (16.7 KB)

Quectel_Android_RIL_Driver_V3.5.13-20221027-tianqi
这个看起来是谁提供的一个定制的RIL库,如果是某个定制项目,请和对应的负责人联系下。
这个log的内容太少, 没有太多有用信息。
可以看到的问题
这个模组是在ECM mode,Android 不会让EC20模组配置在ECM mode。

logcat.txt (21.4 KB)
帮忙看一下这个log,dmesg 一直报错init: Control message: Could not find ‘android.hardware.radio@1.5::IRadio/slot1’ for ctl.interface_start from pid: 277 (/system/bin/hwservicemanager)

你用的是1.5 的那个libril.so 和libreference-ril.so 吗?
要同时检查下
/vendor/etc/vintf/manifest.xml 里是怎么写的

那两个库用的是Quectel_Android_RIL_Driver_V3.6.14_master_Release_1.5_20231013_10_54,然后manifest.xml 的内容是

android.hardware.audio

hwbinder

7.0

IDevicesFactory

default

@7.0::IDevicesFactory/default

android.hardware.audio.effect

hwbinder

7.0

IEffectsFactory

default

@7.0::IEffectsFactory/default

android.hardware.bluetooth

hwbinder

1.0

IBluetoothHci

default

@1.0::IBluetoothHci/default

android.hardware.camera.provider

hwbinder

2.4

ICameraProvider

external/0

legacy/0

@2.4::ICameraProvider/external/0

@2.4::ICameraProvider/legacy/0

android.hardware.graphics.allocator

hwbinder

4.0

IAllocator

default

@4.0::IAllocator/default

android.hardware.graphics.composer

hwbinder

2.1

IComposer

default

@2.1::IComposer/default

android.hardware.graphics.mapper

passthrough

4.0

IMapper

default

@4.0::IMapper/default

android.hardware.health

hwbinder

2.1

IHealth

default

@2.1::IHealth/default

android.hardware.media.omx

hwbinder

1.0

IOmx

default

IOmxStore

default

@1.0::IOmx/default

@1.0::IOmxStore/default

android.hardware.radio

hwbinder

@1.2::ISap/slot1

@1.5::IRadio/slot1

android.hardware.radio.config

hwbinder

1.0

IRadioConfig

default

@1.0::IRadioConfig/default

android.hardware.radio.deprecated

hwbinder

1.0

IOemHook

slot1

@1.0::IOemHook/slot1

android.hardware.tv.cec

hwbinder

1.0

IHdmiCec

default

@1.0::IHdmiCec/default

32.0

    <!-- IRADIO -->
    <hal format="hidl">
        <name>android.hardware.radio</name>
        <transport>hwbinder</transport>
        <fqname>@1.5::IRadio/slot1</fqname>
        <fqname>@1.2::ISap/slot1</fqname>
    </hal>
    <!-- RADIO CONFIG -->
    <hal format="hidl">
        <name>android.hardware.radio.config</name>
        <transport>hwbinder</transport>
        <version>1.1</version>
        <interface>
            <name>IRadioConfig</name>
            <instance>default</instance>
        </interface>
    </hal>

加这个。那个IRadioOemHook 就删掉吧。
抓log 请抓logcat -b all ,并且从开机就抓, 要足够长。不要用logcat -b radio

执行下

getprop | grep ril
ps -elf | grep ril
ps -elf | grep radio

all.txt (1.5 MB)

删掉这两个服务

image

如果是用USB 连接,rild 启动参数里不要带上 -d /dev/ttyUSB2
移远的RIL会自动找到USB AT口,只有物理串口连接的才需要指定AT口。

all_1206.txt (1.7 MB)


删除了,还是报init: Control message: Could not find ‘android.hardware.radio@1.5::IRadio/slot1’ for ctl.interface_start fr)的错

查询下

find /  -name  "*.xml"  2>/dev/null | xargs grep IRadio
strings /vendor/lib64/libril.so | grep Quectel
strings  /vendor/lib64/librk-ril.so | grep Quectel

能看得出来啥问题不,卡了好几天了

这个manifest.xml 看起来没有问题。
检查下库对不对。

需要检查哪个库呢

检查下看看是不是移远提供的。


是不是librk-ril.so 有问题

用这两个库
Quectel_Android_RIL_Driver_V3.6.24_master_Release_1.5_20231211_10_47.zip