android radiooptions简介
来源:互联网 发布:拳皇摇杆 windows 驱动 编辑:程序博客网 时间:2024/06/01 12:18
android radiooptions简介
RILD负责modem和RILJ端的通信,信息分两种:unsolicited和solicited,前者是由modem主动上报的,诸如时区更新、通话状态、网络状态等消息,后者是RILJ端发请求并需要modem反馈的信息
Android系统提供了radiooptiongs,通过获取启动参数,利用socket与rild通信,可供调试时配置Modem参数
使用radiooptions来切换Radio状态, 它把传递过来的参数写入UNIX本地socket("/dev/socket/rild-debug"),不做其他操作。rild守护进程会监听该socket,当有数据到达时,会调用相应的回调函数,解析发送过来的命令,并转换为相应的AT命令写入AT接口设备。具体过程是:在radiooptions这一侧,先判断参数个数,然后逐个将它们写入socket。在守护进程侧,守护进程注册回调函数RIL_RadioFunctions时,会监听该套接字,当套接字上有连接请求时,就调用ril.cpp文件中的回调函数debugCallback,接受连接请求,获取得到的数据,然后调用issueLocalRequest函数发送请求,即向AT接口设备发送AT命令。
Radiooptiongs的源代码目录hardware\ril\rild,在系统启动的时候被执行,hardware\ril\rild\rild.rc
service ril-daemon /system/bin/rild class main socketrild stream 660 root radio socket sap_uim_socket1 stream 660 bluetooth bluetooth socket rild-debug stream 660 radio system user root group radio cache inet misc audio log readproc wakelock qcom_diag
由hardware\ril\rild\Android.mk下面相关内容可以看出radiooptions编译成为一个可执行文件
# For radiooptions binary# =======================include $(CLEAR_VARS) LOCAL_SRC_FILES:= \ radiooptions.c LOCAL_SHARED_LIBRARIES := \ liblog\ libcutils\ LOCAL_CFLAGS := \ LOCAL_MODULE:= radiooptionsLOCAL_MODULE_TAGS := debug include $(BUILD_EXECUTABLE)
编译生成radiooptions在out\target\product\msm8937_64\system\bin下,调试的时候只需要编译mmm hardware/ril/rild,然后把生成的radiooptionspush到设备的/system/bin目录下即可。
在设备下对应下图的rild-debug这个socket
然后可以通过执行radiooptions这个应用程序,此程序通过rild-debug这个socket来和modem通讯,rild-debug目前支持的功能, \hardware\ril\rild\radiooptions.c下的print_usage()可以看出来
比如,挂断电话的测试ratiooptions 10 1 0,其中10是END_CALL,1是SIM2
通过adb logcat -b radio >E:\test\radio.log可以抓取到radio的信息。
参考链接:
Android7.0 Rild工作流程
http://blog.csdn.net/u014386544/article/details/52997651
android-ril 分析-radiooption
http://blog.csdn.net/cainiao413/article/details/6309810
深入理解Android Telephony 之RILD机制分析
http://blog.csdn.net/mathcompfrac/article/details/53967907
- android radiooptions简介
- 四极管:radiooptions
- MTK radiooptions 分析
- MTK radiooptions 分析
- 配置Modem的命令radiooptions
- Android简介
- Android简介
- Android简介
- Android简介
- android 简介
- Android简介
- Android简介
- Android简介
- android简介
- Android简介
- Android简介
- android简介
- Android简介
- 程序员经典智力面试题
- SciTe 中文设置(解决乱码,中文界面)
- java ssm使用ajax实现简单分页
- 系统调用和库函数及API的区别
- 折线分割平面
- android radiooptions简介
- Ubutnu 14.04 交叉编译环境搭建过程
- 构造方法
- forward和redirect的区别
- java.lang.NoClassDefFoundError: android.widget.Toolbar
- Java基础——事务
- Calender 总结
- c++总结2
- 顶尖程序员的五种思维模式,你具备吗?