Android 4G模块调试总结
来源:互联网 发布:一年的java工作经验 编辑:程序博客网 时间:2024/05/21 16:59
最近调试Android的4G模块;这里做个总结;走个流程;代码就不贴了;公司保密;驱动方面没什么好说的;一般都是厂家会提供文档;其实也就是把4G模块虚拟机成ttyUSB0~ttyUSB5等几个虚拟串口;再打开CDC_NCM虚拟网卡绑定到某一个虚拟串口;产生虚拟网卡usb0或者什么的;
先走个大概流程;其实主要就是hardware/ril/几个库文件;修改的也不多;有些公司主要是修改reference-ril.so库的修改;有些公司为了公司保密直接给编译好的reference-ril.so文件;那更简单了;直接添加进系统就OK了;
- hardware/ril/rild/rild.c => main()
- main()打开reference-ril.so库;调用reference-ril.so库里面的RIL_Init()函数;
- RIL_Init()函数创建线程调用mainLoop()函数;
- mainLoop()函数打开4G模块的虚拟串口;然后:首先调用onUnsolicited()函数监听4G模块主动上报的信息;再调用initializeCallback()函数初始化4G模块;
- onRequest()函数接收上层传下来的指令转换成AT指令拨号等;
关键函数:
initializeCallback()4G 模块初始化函数;里面就是一些发给4G模块的AT指令;不能出错;
onUnsolicited()函数接收4G模块对AT指令的返回值;可以在里面添加根据返回值相应的动作;比如根据拨号成功返回值做出绑定网卡分配IP的动作;
onRequest()主动拨号、上层发下来的所有AT指令都在这里;
一般调试4G模块就是修改上面的三个文件;
开机自动拨号实现:
frameworks/base/services/Java/com/android/server/ConnectivityService.java
其实就是默认开机就打开了上网流量开关;手机的4G上网开关;
还有个关键点:apns-conf.xml
根据你使用的SIM修改apns-conf.xml文件;就是apn接入点;如果apns-conf.xml文件里面没有相应的核心网的mcc和mnc则Android系统不能自动拨号;如下图;
注意点:
如果有些4G模式使用软卡、或者硬件是在4G模块初始化的时候决定的;修改相应的AT指令;在initializeCallback()函数里;
- Android 4G模块调试总结
- Android 4G模块调试总结
- Android 4G模块调试总结
- RK3288 Android5.1 4G模块调试总结
- RK3288 Android5.1 4G模块调试总结
- android平台4G模块驱动及功能调试
- 4G模块使用总结
- 4G模块中兴ME3760调试记录
- 华为4G模块调试配置文件
- 基于itop4412的4G模块SIM7100C的AT调试
- Android上3G/4G模组调试
- GPRS 模块调试总结
- 无线模块调试总结
- 2.4G模块NRF24L01调试经验
- DM9000A网卡模块调试总结
- 模块[LCD]_LCD 调试总结
- 定制Android之4G-LTE模块驱动
- 定制Android之4G-LTE模块驱动
- 关于思岚激光雷达在ros包中如何把360度扫描数据切割成想要的扫描平面
- PHP性能优化小技巧
- 算法复杂度
- c3p0详细配置
- 运维旧网站,ASPCMS太长字符串截断显示。CSS设置换行
- Android 4G模块调试总结
- python __call__ 函数
- SD-WAN 到底是什么?
- 加多芬科技—支付宝蚂蚁金服"春雨计划"执行方案
- Can not find a java.io.InputStream with the name [inputStream] in the invocation stack
- ubuntu下解压缩zip,tar,tar.gz,tar.bz2
- WPF 初学体验-Binding
- Android中Menu的基本用法
- windows修改tomcat运行JDK版本