ril_multi_card【DOC精选】.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

taotao0b + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档