Android 6.0 适配4g模组

Android 6.0 适配4g模组


本次移植的是Quectel的4G模组EC200S-CN,其实具体型号不重要,基本上都是通用的步骤,只不过不同型号芯片的RIL库不一样,但这个都是编译好的,我们不需要去关心,直接放到指定位置即可;

一、资料

RIL库源码一般是不开放的,我们需要厂家提供给我们so库(根据系统位数选择)和指导文档;如下图:
在这里插入图片描述

上图绿色框内的是通用命令(chat ip-up ip down),如果系统已经集成过了,可不再添加,主要把 libreference-ril.so 放到指定位置;

二、Android RIL Architecture

大致明了RIL的框架即可,不需要深究;
在这里插入图片描述

三、命令文件路径(系统已有跳过)

  • 参考下一步库文件的拷贝代码,里面有写,这里只说明其具体路径;
    在这里插入图片描述

四、库移植路径

  • RIL 库放到下图写的路径中,64位系统放到 /system/lib64 , 32位系统放到 /system/lib 下面;
    在这里插入图片描述
  • 具体代码示例
    • 路径 android/device/softwinner/产品名/产品名.mk

    • 这部分代码可以将需要的文件,拷贝到目标板指定路径,如果chat ip-up ip-down 系统中没有,可以参考下面代码

      # mobile Quectel one
      PRODUCT_COPY_FILES += \
          device/softwinner/tulip-ads/mobile/quectel/libreference-ril.so:system/lib64/libreference-ril.so \
          device/softwinner/tulip-ads/mobile/quectel/chat:system/bin/chat \
          device/softwinner/tulip-ads/mobile/quectel/ip-down:system/etc/ppp/ip-down \
          device/softwinner/tulip-ads/mobile/quectel/ip-up:system/etc/ppp/ip-up
      

五、启动文件配置服务

  • 命令和RIL 配置好后,就看怎么启动使用了,在安卓的启动文件中,添加系统启动服务和添加一些必要权限即可;
  • 模组有串口通信,有USB通信,这里仅着重介绍串口的,具体依据硬件设计;

USB

在这里插入图片描述

串口

在这里插入图片描述
在这里插入图片描述

  • 具体代码示例

  • 路径:android/device/softwinner/tulip-ads/init.sun50iw1p1.rc

    service ril-daemon /system/bin/rild -l /system/lib64/libreference-ril.so -- -d /dev/ttyUSB2
    class main
    socket rild stream 660 root radio
    socket rild-debug stream 660 radio system
    user root
    group radio cache inet misc audio sdcard_rw log
    
  • 添加权限

    • 路径:android/device/softwinner/tulip-ads/init.sun50iw1p1.rc
      #mobile
          chmod 777   /system/lib/libreference-ril.so
          chmod 777   /system/bin/chat
          chmod 777   /system/etc/ppp/ip-down
          chmod 777   /system/etc/ppp/ip-up
      
    • 路径:android/device/softwinner/tulip-common/sepolicy/rild.te
      • 最后一行添加
        allow rild self:packet_socket { create bind write read };
        

六、修改rild.c

在这里插入图片描述

七、权限

SELINUX(如果系统中已有,可不用添加)

  • 文件:a64/android/device/softwinner/tulip-ads/ueventd.sun50iw1p1.rc
    在这里插入图片描述
    在这里插入图片描述

八、小结

至此,4G模组适配完成,其实针对不需要深度开发公司而言,4G模组的适配底层程序员需要做的不多,不论哪个厂家的模组基本上都是这一套,如果适配过一种模组,后续如果出现模组替换非常容易,基本上只要替换RIL库即可。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值