- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ril_multi_card【DOC精选】
Android hardware RIL层多卡功能的具体实现
修改记录
作者 日期 修改内容 黄理洪 2010-5-20 加入智能识别卡槽、逻辑卡号到真实卡号的映射、自动关闭未插卡的modem等说明。 黄理洪 2010-5-15 增加“修改上报radio state的方法” 黄理洪 2010-4-11 初稿
原有RIL层简介
android的hardware RIL(radio interface layer)是手机modem和android framework层的接口,代码位于hardware/ril/,文件类型包含c和c++,共约6千多行。
整个ril编译出来得到三个文件:
libreference-ril.so (负责直接和modem交互)
libril.so (负责通过socket和framework层交互)
rild(作为守护进程的可执行程序,是上面两个库的入口)
上面两个.so库实现了三个的线程:
Mainloop thread,只是起初始化串口和modem的作用,后期处于idle状态;
request dispatch thread,负责分发framework层对modem的AT command;
response reader thread,负责从modem读取response。
下图是RIL层的总体框图:
AT command是发送给modem的AT指令,如自动注册网络用AT+COPS=0, 拨打移动客服用ATD10086; 挂电话用ATH。
Response是由modem返回的响应信息,包括请求响应(指对AT command的响应)和主动响应(英文称为unsolicited response,包括短信和手机网络主动上报信息)。
改造需求
现在的ril只支持一个modem带一张手机卡,我们要实现多模多卡多待手机就需要让它同时支持多个modem,多张手机卡。需要支持的modem按照网络模式分,有下列四类:
1、GSM modem
a. 单卡GSM modem
b. 双卡GSM modem
2、TDS-CDMA modem (属于中国移动的3G标准)
3、CDMA2000 EVDO modem(属于中国电信的3G标准)
4、WCDMA modem (属于中国联通的3G标准)
目前尚未发现支持双卡的3G modem,所以一个多模手机的极限情况是同时具有上面四种modem,带5张手机卡(2张2G的sim卡,3张3G卡)。我们的ril层改造目标就是支持这种极限连接方式。
如同其他对android的改造一样,在达到目的的前提下,我们希望对android的修改越少越好。
目前我们只有智源单卡GSM modem IW368,和联芯TDS-CDMA\ modem LC6311,这两个模块可以用于多卡功能的前期调试。
具体实现
ril层对modem和framework层的信息接口的重新约定
Modem主要有uart接口和usb接口(3G比2G有更高的数据传输速度,一般用usb接口;华为海思正在研发的4G LTE modem加上了1Gbit/s的以太网接口实现更高的速度),从ril角度来看,它是几个虚拟的串口设备。
比如展讯的双卡GSM modem,接在物理的uart2上,那么uart2对应的/dev/ttyS2将虚拟出/dev/pts/0、/dev/pts/1和/dev/pts/2 三个虚拟串口设备分别对应sim1和sim2的AT指令通道和上网的gprs通道;又如大唐的3G modem LC6311,接在我们cpu的usb host接口上,通过usb serial驱动虚拟出/dev/ttyUSB0~5, 共6个ttyUSB串口设备,我们只用其中的ttyUSB3作为AT指令通道,ttyUSB5作为上网数据通道。
对于ril层多卡的改造,我们主要考虑AT指令通道的串口设备(下面简称为AT串口设备),暂时不考虑上网数据通道的串口设备,因为ril层三个线程Mainloop thread,request dispatch thread,AT reader thread操作的都是AT指令通道。上网数据通道仅被一个data call request调用,很单纯。
一张手机卡(下面有时称其为card)对应一个AT串口设备,所以要建一个card id 和AT串口设备的描述符fd 的对应表:
Modem 网络模式 fd
(AT串口设备描述符) Card id(十进制) GSM fd_G0 11 fd_G1 12 WCDMA fd_W0 21 TDS-CDMA fd_T0 31 CDMA2000(EVDO) fd_C0 41
其中,双卡GSM modem的fd_G
您可能关注的文档
- qnjms手绘线条图像的表达一课时【DOC精选】.doc
- QPSK调试与解调程序【DOC精选】.doc
- Qos技术【DOC精选】.docx
- QML入门教程【DOC精选】.doc
- QC七大手法讲义【DOC精选】.doc
- QQ知多少【DOC精选】.doc
- qdu内容格式参考【DOC精选】.doc
- qsc_voicecall函数调用分析【DOC精选】.docx
- PZⅡ配水闸阀说明书新数据【DOC精选】.doc
- QR-WI-QC-手机外壳检验标准【DOC精选】.doc
- 中国行业标准 GM/T 0126-2023HTML密码应用置标语法.pdf
- 《JJF 2121-2024恒转速源校准规范》.pdf
- 餐饮服务中20条处理要点.docx
- 《GM/T 0011-2023可信计算 可信密码支撑平台功能与接口规范》.pdf
- 《JJF 2134-2024旋转流变仪校准规范》.pdf
- JJF 2121-2024恒转速源校准规范.pdf
- 计量规程规范 JJF 2121-2024恒转速源校准规范.pdf
- 《JJF 2118-2024压力式六氟化硫气体密度控制器校验仪校准规范》.pdf
- JJF 2134-2024旋转流变仪校准规范.pdf
- 计量规程规范 JJF 2134-2024旋转流变仪校准规范.pdf
文档评论(0)