Android 出现4G模块无法上网问题

这篇具有很好参考价值的文章主要介绍了Android 出现4G模块无法上网问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生在读,研究方向无线联邦学习
擅长领域:驱动开发,嵌入式软件开发,BSP开发
作者主页:一个平凡而乐于分享的小比特的个人主页
文章收录专栏:RK3568_Android11_驱动开发,此专栏为RK3568开发板Android11系统开发,学习记录
欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖

背景:

出现这个问题之前,4G模块EM05在Linux系统可以通过ECM模式上网,但是到了Android系统发现usb0网络无法获取到IP地址,从而无法上网。在Windows和Linux系统下会有后台进程帮我们自动获取IP,只需要我们把模块设置成ECM模式就可以了,但是Android下没有这个服务。

RILD介绍

Android系统带的RIL机制,Android RIL提供了Android电话服务和无线电硬件之间的抽象层。Android RIL在HAL(Hardware Abstract Layer)层(C++层)由三个部分组成:

  • RILD是系统的守护进程,主要用于初始化LIBRIL以及启动厂商自定义的Vendor RIL;
  • LIBRIL被RILD初始化完成后,用于与Vendor RIL之间进行交互,负责接收、发送指令;
  • Vendor RIL是第三方厂商自定义的一个库,用于向Modem发送指令或者接收来自LIBRIL或者Modem的指令。

三者之间的关系图如下所示:
Android 出现4G模块无法上网问题,RK3568 Android11 驱动开发,android,RILD,4G
从这里可以看到,RILD在启动时,负责将LibRil以及Vendor RIL进行初始化,将相应的回调函数以及调用接口进行注册,LibRIL向vendor RIL提供了接口RIL_Env,当Vendor有消息时,利用该回调返回;而Vendor RIL 同样提供了接口RIL_RadioFunctions,给LibRIl调用。
在Android系统下存在一个rild_damon这个守护进程,RILD(RIL Daemon)是系统的守护进程,系统已启动,就会一直运行。手机开机时,kernel完成初始化后,Android启动一个初始化进程Init用于加载系统基础服务,如文件系统,zygote进程,服务管家ServiceManager,以及RILD

解决方法:

在/home/android/rk3568/android11/hardware/ril/rild下存在一个rild.rc文件,在这个文件中配置了rild_damon这个服务,也是解决这个问题的关键。

  1. 获取移远公司提供的libreference-ril.so , 在系统执行rild可执行文件的时候会链接到这个动态库

  2. 将libreference-ril.so添到/home/android/rk3568/android11/vendor/rockchip/common/phone/lib目录下,并重命名为libreference-ril-em05.so
    Android 出现4G模块无法上网问题,RK3568 Android11 驱动开发,android,RILD,4G

  3. 修改/home/android/rk3568/android11/vendor/rockchip/common/phone/phone.mk

Android 出现4G模块无法上网问题,RK3568 Android11 驱动开发,android,RILD,4G

(这里添加这个动态库的目的是让最后生成的根文件系统里的/vendor/lib64/下存在libreference-ril-em05.so,如果不存在这个动态库,rild_daemon守护进程会一直打印退出重启信息,直到/vendor/lib64/下存在该动态库)

  1. 修改/home/android/rk3568/android11/hardware/ril/rild/rild.rc

    Android 出现4G模块无法上网问题,RK3568 Android11 驱动开发,android,RILD,4G

​ (从第一行可以看到,在启动ril-daemon这个服务的时候,系统会调用/vendor/bin/hw/rild程序,该程序需要链接到动态库)

修改好上面内容后,重新编译,烧录新的镜像到开发板中

测试结果:

  1. 将EM05上电(上电流程参考RK3568—4G模块驱动实验)

  2. 上电后会出现如下信息

    Android 出现4G模块无法上网问题,RK3568 Android11 驱动开发,android,RILD,4G

(中间的denied信息是由于SELinux下权限问题,暂时先不用管)

我们通过ifconfig usb0查看usb0的信息

Android 出现4G模块无法上网问题,RK3568 Android11 驱动开发,android,RILD,4G

通过ping www.baidu.com测试上网功能

Android 出现4G模块无法上网问题,RK3568 Android11 驱动开发,android,RILD,4G文章来源地址https://www.toymoban.com/news/detail-856584.html

到了这里,关于Android 出现4G模块无法上网问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • RK3566、RK3568、RK3588等在Android设置-显示中无法看到显示器的所有分辨率

    显示器支持4K、1080、720等一系列分辨率,但是在Android 的设置-显示-HDMI中无法显示到屏幕支持的分辨率。 EDID位置在 /sys/class/drm/card0-HDMI-A-1/edid 通过adb pull到电脑上,再通过EDID manager解析查看是否获取到的和显示器支持的一致 如果一致继续步骤 原因就是因为分辨率的白名单过

    2024年02月16日
    浏览(74)
  • RK3568 android11 移植 v4l2loopback 虚拟摄像头

    v4l2loopback是一个Linux内核模块,它允许用户创建虚拟视频设备。这种虚拟视频设备可以用于各种用途,例如将实际摄像头的视频流复制到虚拟设备上,或者用于视频流的处理和分析等。v4l2loopback的主要作用是 创建一个虚拟的Video4Linux2设备,它可以接收来自其他应用程序的视频

    2024年01月19日
    浏览(64)
  • RK3568 android11 实现双路I2C触摸 --GT9xx

    它的接口类型为 I2C ,供电电压和通讯电压均为 3.3V 。这款电容触摸屏内置了上拉电阻,这意味着我们的开发板上与该触摸屏的接口处不需要设置上拉电阻。 关于线序,同样是 GT911 ,不同批次的器件都有不同的线序。具体的要自行与厂家确认。 调试双I2C触摸,两个tp是同一型

    2024年01月18日
    浏览(50)
  • RK3568 安卓11系统EDP屏调试

    目录 一.lcd屏解析: 二.EDP配置 2.1 硬件原理分析 2.2 datasheet分析 2.3 完整DTS配置如下:  一般屏的规格书都会给出,但需要注意的是,有些规格书是错误的;有一些未给出(需要单独找厂商要);还有一些是给出总的,HFP+HS+HBP, VFP+VS+VBP。 clock-frequency: 提供给lcd的时钟频率,一般屏

    2024年02月09日
    浏览(89)
  • rk3568安卓11系统之开发环境搭建

    目录 前言 一、解压sdk 二、更新系统并安装依赖 1.更新系统 2.安装依赖 三、编译3568 sdk 1.准备编译环境 2.选择产品 3.IO-Domain GPIO电压配置 4.开始编译sdk 5. kernel编译弹出IO-Domain确认对话框 6.编译完成 烧录固件 随着物联网的发展,开发板各式各样,驱动这门技术也越来越重要,

    2024年02月11日
    浏览(96)
  • RK3568-适配at24c04模块

    将at24c04模块连接到开发板i2c2总线上 i2ctool查看i2c2总线上都有哪些设备 at24c04模块设备地址

    2024年02月07日
    浏览(36)
  • RK3568 Android 13 系统裁剪

    android 13 系统裁剪是个大工程,裁剪也是需要大量的测试,才能保证系统的稳定性,以下是RK官方给出的裁剪方案,有兴趣的可以去看一下,对裁剪不是要求过高的可以根据官方的建议,对系统进行裁剪: Rockchip Android平台内存优化及系统裁剪_build_with_go_opt-CSDN博客 然后官方的裁

    2024年02月22日
    浏览(71)
  • 【Android】解决Android Studio中的虚拟设备无法上网问题

    前言 : 使用AndroidStudio自带的虚拟设备在调试软件时, 发现无法联网,然后用虚拟设备自带的浏览器进行网页访问也是失败的, 因此可以说明是整个虚拟设备是无法正常联网通讯的! 问题原因 :可能你的虚拟设备的DNS设置和你的电脑的DNS不在一个网段上,需要修改虚拟设备的

    2024年02月06日
    浏览(45)
  • android kernel移植5-RK3568

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前面我们已经学会了移植uboot,其实就是把瑞芯微的关于uboot的一些文件的名字和编译指定的文件改为自己定义的问价和名字,那么接下来的Android kernel其实也是一个道理。 需要找到我们的内核默认配置

    2024年02月13日
    浏览(46)
  • RK3568平台 Android13 GKI架构开发方式

    GKI:Generic Kernel Image 通用内核映像。 Android13 GMS和EDLA认证的一个难点是google强制要求要支持GKI。GKI通用内核映像,是google为了解决内核碎片化的问题,而设计的通过提供统一核心内核并将SoC和板级驱动从核心内核移至可加载模块中。核心内核为驱动模块提供了稳定的内核模块

    2024年02月04日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包