RK3288 Android8.1添加EC25

news/2024/7/5 2:17:05

首先拿到供应商提供的so库,将so放到vendor\rockchip\common\phone\lib下

修改对应的phone.mk,将so库移动指定位置(Android7以下移动到system/lib,android8以后移动到vendor/lib)

CUR_PATH := vendor/rockchip/common

#########################################################
#   3G Dongle SUPPORT
#########################################################
PRODUCT_COPY_FILES += \
    $(CUR_PATH)/phone/etc/ppp/ip-down:system/etc/ppp/ip-down \
    $(CUR_PATH)/phone/etc/ppp/ip-up:system/etc/ppp/ip-up \
    $(CUR_PATH)/phone/etc/ppp/ip-up:system/etc/ppp/ip-up-vpn \
    $(CUR_PATH)/phone/etc/ppp/call-pppd:system/etc/ppp/call-pppd \
    $(CUR_PATH)/phone/etc/operator_table:system/etc/operator_table \
    $(CUR_PATH)/phone/lib/libreference-ril-n58.so:system/lib/libreference-ril-n58.so \
    $(CUR_PATH)/phone/lib/libreference-ril.so:vendor/lib/libreference-ril.so 

修改device/rockchip/common/BoardConfig.mk

#enable 3g dongle
BOARD_HAVE_DONGLE ?= true

修改device/rockchip/common/init.connectivity.rc,添加ppp,不然会没有网络使用

chmod 0777 /dev/ppp

修改device/rockchip/rk3288/init.rk3288.rc

service ril-daemon /vendor/bin/hw/rild -l /vendor/lib/libreference-ril.so
    class main
    user root
    group radio cache inet misc audio sdcard_rw log
    capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW

修改device/rockchip/rk3288/manifest.xml

    <hal format="hidl">
        <name>android.hardware.radio</name>
        <transport>hwbinder</transport>
        <version>1.0</version>
        <interface>
            <name>IRadio</name>
            <instance>slot1</instance>
        </interface>
        <interface>
            <name>ISap</name>
            <instance>slot1</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>

修改device/rockchip/common/ueventd.rockchip.rc

# for radio
/dev/ttyUSB0              0660   radio		radio
/dev/ttyUSB1              0660   radio		radio
/dev/ttyUSB2              0660   radio		radio
/dev/ttyUSB3              0660   radio		radio
/dev/ttyUSB4              0660   radio		radio
/dev/ttyUSB5              0660   radio		radio
/dev/ttyUSB6              0660   radio		radio
/dev/ttyUSB7              0660   radio		radio
/dev/ttyUSB8              0660   radio		radio
/dev/ttyUSB9              0660   radio		radio

/dev/ttyUSB*              0660   radio      radio
/dev/ttyACM*              0660   radio      radio
/dev/cdc-wdm*		      0660	 radio		radio
/dev/qcqmi*		          0660	 radio		radio
/dev/cdc-acm*		      0660	 radio		radio

#PCIe
/dev/mhi_DUN 0660 radio radio
/dev/mhi_DIAG 0660 radio radio
/dev/mhi_BHI 0660 radio radio
/dev/mhi_LOOPBACK 0660 radio radio
/dev/mhi_QMI0 0660 radio radio

修改device/rockchip/common/sepolicy/file_contexts

/dev/ttyFIQ[0-9]*    u:object_r:serial_device:s0
/dev/ttyUSB[0-9]*    u:object_r:radio_device:s0
/dev/ttyCOM[0-9]*    u:object_r:tty_device:s0
/dev/ttyACM[0-9]*    u:object_r:tty_device:s0
/dev/cdc-wdm[0-9]*    u:object_r:radio_device:s0
/dev/qcqmi[0-9]*    u:object_r:radio_device:s0
/vendor/bin/hw/rild u:object_r:rild_exec:s0
/dev/socket/rildOemHook    u:object_r:rild_exec:s0

#PCIe
/dev/mhi_DUN u:object_r:radio_device:s0
/dev/mhi_DIAG u:object_r:radio_device:s0
/dev/mhi_BHI u:object_r:radio_device:s0
/dev/mhi_LOOPBACK u:object_r:radio_device:s0
/dev/mhi_QMI0 u:object_r:radio_device:s0

修改device/rockchip/common/sepolicy/rild.te

allow rild self:packet_socket { create bind write read };

通过adb logcat -b radio -v time抓取radio日志

修改device/rockchip/rk3288/overlay/frameworks/base/core/res/res/values/config.xml

修改mobile

    <string-array translatable="false" name="networkAttributes">
        <item>"wifi,1,1,2,-1,true"</item>
        <item>"mobile,0,0,0,-1,true"</item>
        <item>"mobile_mms,2,0,4,60000,true"</item>
        <item>"mobile_supl,3,0,2,60000,true"</item>
        <item>"mobile_dun,4,0,2,60000,true"</item>
        <item>"mobile_hipri,5,0,3,60000,true"</item>
        <item>"mobile_fota,10,0,2,60000,true"</item>
        <item>"mobile_ims,11,0,2,60000,true"</item>
        <item>"mobile_cbs,12,0,2,60000,true"</item>

        <item>"bluetooth,7,7,0,-1,true"</item>
        <item>"ethernet,9,9,9,-1,true"</item>
<!--add by blb-->
        <item>"pppoe,15,15,5,-1,true"</item>
    </string-array>

修改device/rockchip/common/overlay/frameworks/base/core/res/res/values/config.xml

    <bool name="config_voice_capable">true</bool>

    <!-- This device does not allow sms service. -->
    <bool name="config_sms_capable">true</bool>

device/rockchip/common/init.rk30board.rc

# for telephony function
on property:ro.boot.noril=false
    setprop ro.radio.noril false
    start ril-daemon

修改defconfig

CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_WWAN=y
CONFIG_USBNET=y
CONFIG_USB_SERIAL_OPTION=y

http://lihuaxi.xjx100.cn/news/1267416.html

相关文章

元数据驱动架构的官方数据空间设计

淘宝开放平台是阿里与外部生态互联互通的重要开放途径&#xff0c;通过开放的产品技术把阿里经济体一系列基础服务&#xff0c;像水、电、煤一样输送给我们的商家、开发者、社区媒体以及其他合作伙伴&#xff0c;推动行业的定制、创新、进化, 并最终促成新商业文明生态圈。 开放…

双向交错CCM图腾柱无桥单相PFC学习仿真与实现(2)SOGI_PLL学习仿真总结

目录 前言 SOGI基本原理 锁相环基本原理 仿真实现及说明 总结 前言 前面总结了双向交错CCM图腾柱无桥单相PFC系统实现&#xff0c;后面把问题细分&#xff0c;关于SOGI锁相环的应用和学习在这里总结下。 双向交错CCM图腾柱无桥单相PFC学习仿真与实现&#xff08;1&#x…

C++ 新的类型转换

文章目录 前言一、静态转换&#xff08;static_cast&#xff09;二、动态转换&#xff08;dynamic_cast&#xff09;&#xff1a;三、常量转换&#xff08;const_cast&#xff09;&#xff1a;四、重新解释转换&#xff08;reinterpret_cast&#xff09;&#xff1a;总结 前言 …

FPGA BGA 芯片植球 - PCB焊盘与钢网和锡球

BGA 芯片植球&#xff0c;BGA芯片焊盘是0.6 PCB 焊盘是0.5 &#xff0c;钢网与锡球的选择 选择正确的锡膏球尺寸是根据BGA芯片焊盘和PCB焊盘的尺寸来确定的。通常&#xff0c;锡膏球的直径应略小于焊盘的直径&#xff0c;以确保焊膏能够适当地涂覆焊盘而不超出其边缘。 考虑到…

把金融航母开进智能峡湾,总共分几步?

试想一下&#xff0c;有这么一家街头小店。夫妻两个勤奋经营&#xff0c;诚信待客&#xff0c;广受街里街坊的欢迎。他们流水稳定&#xff0c;蒸蒸日上&#xff0c;商业信誉很好&#xff0c;甚至是非物质文化遗产的传承者。这样一家店&#xff0c;在扩大经营&#xff0c;拓展业…

​LeetCode解法汇总5-正则表达式匹配​

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a;力扣 描述&#xff1a; 你有一个用于表示一片土地的整数矩阵land&#xff0c;该矩阵中每个点的值代表对…

JAVA文件传输(论文+源代码)

随着计算机网络技术的飞速发展,客户/服务C/S(Client/Sersver)结构成为开发FTP的网络编程结构,Java作为Web应用程序的开 发技术也为更多的人所采用。 起初, FTP并不是应用于IP网络上的协议,而是ARPANET网络中计算机间的文件传输协议, ARPANET是美国国防部组建的老网络,于…

FBM207C RH917GY将相关调节系统打到手动状态,必要时到现场进行调节

​ FBM207C RH917GY将相关调节系统打到手动状态&#xff0c;必要时到现场进行调节 FBM207C RH917GY将相关调节系统打到手动状态&#xff0c;必要时到现场进行调节 随着自动化水平的提高&#xff0c;dcs控制系统(集散控制系统)逐渐代替了常规仪表&#xff0c;其优越性已被广大操…