zoukankan      html  css  js  c++  java
  • 【玩转开源】BPI-M64 Android6.0 USB Dongle 4G(EC2X)+GPS功能支持移植

    1. 移植Linux驱动,这部分可以参考供应商提供的驱动文档(不做过多描述)

    一般来说主要添加这几部分:

    1.1 添加USB驱动

    1.2 配置内核选项

    具体参考可以看这里:https://github.com/garywangcn/bpi-r2_lede/commit/8cb7cc2b8b667d2d692b8787ad87046f1a349026

    2. 移植GPS,模块厂商会提供相应的文档和驱动,所以难度应该不大

    2.1 添加编译:android/hardware/libhardware/modules/Android.mk

    2.2 把gps驱动代码放置在路径:android/hardware/libhardware/modules/gps下,如果没有gps目录则新建

    3. GPS驱动移植完成后,接下来移植RIL到Android支持4G,这部分一般来说模块供应商也会提供驱动文档(也不做过多描述)

    3.1 不过几个注意事项

    3.1.1 在添加service到rc文件,如果开发板是64bit的比如M64, rc文件路径:android/device/softwinner/bpi-m64-hdmi/init.sun50iw1p1.rc

    则注意libreference-ril.so需要用64位的

    4. 编译镜像

    4.1 如果顺利的话,这个Android镜像就可以使用4G功能了,如果发现该镜像没有4G上网功能怎么办,或者是有些sim卡支持,有些不支持,原因很可能是因为没有配置好APN导致的。

    比如我使用的是移动的物联网卡,先通过AT指令读出sim卡的信息,这里需要配置mcc和mnc,可以通过AT+CIMI读出:

    前5位数字是:46004,那么MCC=460,MNC=04

    接下来在android/device/softwinner/common/rild/apns-conf_sdk.xml里面去添加apn,添加后就可以实现该卡4G上网了

    4.2 Android菜单“Android Settings->WIRELESS & NETWORKS->More->Mobile Networks->设置首选网络”没有4G选项,怎么办?

    4.2.1 配置:android/packages/services/Telephony/res/values/config.xml

    配置后UI则会出现4G选项了:

    4.2.2 设置首选网络是4G,配置文件:android/frameworks/base/telephony/java/com/android/internal/telephony/RILConstants.java

    NETWORK_MODE_WCDMA_PREF替换为:NETWORK_MODE_LTE_GSM_WCDMA

    当然也可以通过AT指令来设置优先网络:

    AT+QCFG="NWSCANMODEEX",63 4G优先
    AT+QCFG="NWSCANMODEEX",47 3G优先

     实物图如下:

    测试GPS:

     4G上网:

  • 相关阅读:
    python限定方法参数类型、返回值类型、变量类型等
    双拼自然码
    关于将汉语拼音字母“ü”改成“v”的设想和建议
    数据库转模型图
    python中的捕获异常、异常跟踪
    内部教师爆料:某些民办学校真正的内幕
    炸薯条
    IntelliJ IDEA添加JavaDOC注释 方法 快捷键
    java获取当前路径的方法
    java获取全部子类或接口的全部实现
  • 原文地址:https://www.cnblogs.com/topbin/p/10774555.html
Copyright © 2011-2022 走看看