查看Android/CyanogenMod 发烧笔记的源代码
←
Android/CyanogenMod 发烧笔记
跳转到:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
== 基带 == === 基带体系结构 === 话题略大,为控制本页规模,保持良好的阅读体验,恭请移步:[[基带处理器和射频前端的体系结构]] <br><br> === T959 基带固件 === 基带固件是刷机包中的 modem.bin 文件,是基带处理器 Intel/Infineon X-GOLD 616 (PMB9801) 所用文件系统的二进制镜像。X-GOLD616 属于 Intel/Infineon XMM6160 平台。 T959 原生系统的基带版本:T959UVKB1 更新到 MIUI V5 (3.9.27) 后,其自基带版本为 I9000XXJVT。我的是移动神州行 2G 卡,电话短信可用,但 GPRS 不能用 T959 有两片 NAND 存储芯片:集成于 AP 中的 4Gb OneNAND (512MB) 和外围 16GB 的 MoviNAND 在 Android 系统中,OneNAND 的设备文件为: /dev/mtdblock0-6,对应 7 个区: <pre> root@android:/ # cat /proc/mtd dev: size erasesize name mtd0: 00780000 00040000 "boot" # 7.5MB,bootloader mtd1: 00780000 00040000 "recovery" # 7.5MB,刷机工具 recovery mtd2: 1a600000 00040000 "datadata" # 422MB, 挂载在 /datadata,用于存放系统APK的数据、配置等 mtd3: 01180000 00040000 "cache" # 17.5MB,挂载在 /cache mtd4: 00c80000 00040000 "efs" # 12.5MB,挂载在 /efs,存在手机无线电相关的核心配置数据,注意备份 mtd5: 01000000 00040000 "radio" # 16MB,挂载在 /radio,基带处理器所用文件系统的二进制镜像 modem.bin 就放在这个区 mtd6: 00b00000 00040000 "reservoir" # 貌似是保留区 </pre> 详细参考: http://wiki.jackslab.org/MIUI_V5_%E5%9C%A8%E8%80%81%E6%9C%BA%E4%B8%89%E6%98%9F_T959_%E4%B8%8A%E7%9A%84%E7%AC%AC%E4%B8%80%E7%9C%BC#Storage 如果需要修改 modem.bin 的话,找到新版本直接替换 /radio/modem.bin,然后重启即可。 T959 比较稳定的基带版本是 T959UVKB5:http://vdisk.weibo.com/s/dn5OZrwhV3k0 解压后直接用 adb push 替换: $ adb push modem.bin /radio 重启手机即可 备份基带固件,可用如下命令: $ adb pull /radio/modem.bin . <br><br> === 常用基带芯片 === 根据 XDA 社区网友搜集的信息,整理了一个页面: [[手机基带芯片信息搜集]] 国内的主流机型我汇总了在这个页面里: [[基带处理器和射频前端的体系结构]] <br><br> === Android基带接口 === 基带部分在 Android 手机上被封装成了一个设备,叫做 modem,早期GSM/GPRS的时候,表现出来就是一个串口设备,只需向串口发送标准的AT命令字符串(形如 AT+CMGW="10086")就能控制 modem 进行发短息打电话等等操作,比如通过如下的AT命令序列就能向 1560_122_3272 发送一条短消息(Linux下可通过minicom直接读写串口,WINDOWS下可通过超级终端读写串口): <pre> AT # 测试串口modem是否连接,正常的话modem会返回 OK AT+CMGF=1 # 进入 SMS Text 模式 AT+CMGW="+8615601223272" # SMS消息体,等号后面是接受方手机号,回车后,在 '>' 写上要发送的消息,Ctrl + z 结束输入 > A simple SMS text messaging. +CMGW: 1 # modem 返回短消息的计数,此处为1 AT+CMSS=1 # SMS发送 +CMSS: 20 # 成功,modem返回 '+CMSS: 20' </pre> 串口一般能用的最高速率也就115.2kbps,3G 时代串口速率远远跟不上数据网络需要的速度,因此如3G上网卡都是采用USB接口的方式在modem和主机之间交换数据。 回到手机上,modem 和 Android 系统间一般通过共享内存的方式交换大量数据。 在 Android 上,modem厂商一般都会把 modem 的访问封装成共享库,方便 Android 的应用使用。库的名字一般以 RIL (Radio Interface Layer) 为后缀,如: Android 通用层面也实现有自己的 RIL 库:libreference-ril.so 是封装的 AT 命令访问方式。libril.so 实现有 RIL 抽象层。详细可参考这个非常不错的文档:http://www.slideshare.net/ssusere3af56/android-radio-layer-interface modem厂商的RIL库一般是闭源的,这也激起了社区的极大兴趣,三星的相关探索参考: * hardware_ril_samsung-ril: https://gitorious.org/replicant/hardware_ril_samsung-ril/source/master:+ * libsamsung-ipc: https://github.com/morphis/libsamsung-ipc <br><br> === Hack === * binwalk: http://www.freebuf.com/tools/15266.html * binwalk: http://code.google.com/p/android-apktool/wiki/FrameworkFiles * [XMM6260][X-GOLD 626] Modem Hack-Pack: http://forum.xda-developers.com/showthread.php?t=1483053 * Qualcomm CDMA RTOS and Reverse:http://forum.xda-developers.com/showthread.php?t=1829915 * Reverse engineering a Qualcomm baseband: http://events.ccc.de/congress/2011/Fahrplan/events/4735.en.html * Qualcomm AMSS: http://blog.csdn.net/yili_xie/article/details/5129469 <br><br>
返回到
Android/CyanogenMod 发烧笔记
。
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面