移动4G插卡注网
本文根据插入移动4G单卡到注册4G网络过程的mtklog分析。
插卡动作:
从以上信息无法区分单卡还是双卡,通过ATR参数判断:
注网流程,此过程未开启4G数据连接:
[MS->NW] ESM_MSG_PDN_CONNECTIVITY_REQUEST (PTI:5, EBI:0)
[MS->NW] EMM_Attach_Request(EPS attach type="EMM_ATTACH_TYPE_COMBINED_ATTACH")
[NW->MS] ESM_MSG_ESM_INFORMATION_REQUEST (PTI:5, EBI:0)
[MS->NW] ESM_MSG_ESM_INFORMATION_RESPONSE (PTI:5, EBI:0)
[NW->MS] EMM_Attach_Accept(EPS attach result="EMM_ATTACH_RESULT_COMBINED_ATTACHED")
[NW->MS] ESM_MSG_ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REQUEST (PTI:5, EBI:5)
[MS->NW] ESM_MSG_ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_ACCEPT (PTI:0, EBI:5)
[MS->NW] EMM_Attach_Complete
上报信号强度事件(Ril.cpp):
RILJ 的处理函数(Ril.java):
mSignalStrengthRegistrant 对象的创建(BaseCommands.java):
setOnSignalStrengthUp() 函数在ServiceStateTracker 类的构造函数中调用:
通过传入this,EVENT_SIGNAL_STRENGTH_UPDATE消息由该类或其子类处理,该处理函数在GSMServiceStateTracker 类中:
mSignalStrengthChangedRegistrants 通知者对象的初始化:
向该通知者添加监听对象方法:
分析该方法暂未被调用,所以没有需通知的监听对象。
继续分析onSignalStrengthResult() 函数处理上报的信号:
setGsm() 设置phone标识;isGsm = true,代表Gsm、Lte;否则代表Cdma
函数validateInput() 对信号区间做一个判断:
notifySignalStrength() 更新信号强度:
判断当前信号强度与上次保留的信号强度值,获取信号强度等级:
继续分析PhoneBase 类的 notifySignalStrength() 函数:
mNotifer 是 PhoneNotifer 接口的对象,notifySignalStrength() 方法的实现在 DefaultPhoneNotifier 类中:
方法如下:
mRegistry 对象的创建:
类TelephonyRegistry 继承自 ITelephonyRegistry.Stub,作为Service运行在system_server进程中,它会通知注册者。
上面的DefaultPhoneNotifier运行在com.Android.phone进程中,当信号强度值变化时,通过Service进行通知(service被感兴趣的注册者调用了listen,添加了回调函数。
通知上层信号强度变化。
可参考:http://blog.csdn.net/feitian_666/article/details/52879929
移动4G插卡注网的更多相关文章
- 4G最快网速相当于30M宽带
[导读]据北京移动方面介绍,目前其4G网络的覆盖范围包括:东西北三环.南至两广路以内的地区:清华北大.国贸CBD及园博会等地区. 在4G年内发牌已成定局的背景下,各运营商都在加快布局,北京移动近期就推 ...
- 最快下载速度100Mbps!4G LTE技术全解析
1导读,关于4G的几个关键概念 [PConline资讯]100Mbps下载速度是什么概念?比3G网速快50倍又是什么概念?比3G通信方式更灵活.通信频谱更宽绰.通信质量更高效.通信费用更便宜是怎样一个 ...
- Linux: 如何分割文件,不再被 4G 大小限制了
单文件 4G 限制 FAT32 4G 限制 百度网盘超出 4G 限制 单文件分割与合并 单文件,如:archive.tar.gz 分割 split -b 3000M -d -a 1 archive.t ...
- iOS 苹果真机鉴定
iPhone 4S(GSM) 16GB 黑色序列号:DX4KN69EDTC0设备名称:iPhone 4S容 量:16GB颜 色:黑色类 型:iPhone4,1代 号:n94ap型 号:MD235激活状 ...
- NB-IoT移远BC95使用小结
移远-BC95-测试前准备 1. 设备连接主串口,串口调试助手波特率使用9600,选择对应的端口号.在串口调试助手上输入AT发送,查看是否有OK返回. 如果想修改波特可以通过下面的AT来修改 AT+ ...
- 中国正式发放5G牌照 详细对比中美两国5G实力
今天,中国5G商用走进新里程:工信部向中国电信.中国移动.中国联通.中国广电发放5G商用牌照,中国也成为继韩国.美国.瑞士.英国后,第五个正式商用5G的国家. 按照之前的规划,中国原定于2020年开启 ...
- 这次一定要教会你搭建Redis集群和MySQL主从同步(非Docker)
前言 一直都想自己动手搭建一个Redis集群和MySQL的主从同步,当然不是依靠Docker的一键部署(虽然现在企业开发用的最多的是这种方式),所以本文就算是一个教程类文章吧,但在动手搭建之前,会先聊 ...
- pppd调试心得.md
描述 pppd是用于驱动3g模块的一种方式,其本质是和运营商APN协商,建立连接 其与运营商之间使用ppp协议,而用户在应用层使用系统提供的socket即可,从而忽略底层使用的时何种接口的设备,避免因 ...
- 移动WEB 性能优化方案
最近一项 研究表明,80%的网民对移动端的浏览体验感到失望,同时,当体验提升时,他们会在智能手机上花费更多的时间. 这不奇怪,因为64%的智能手机用户希望网站可以在4秒内加载完毕,但一半的网站花费了二 ...
随机推荐
- JAVA并发-CountDownLatch
源码: 内部类Sync private static final class Sync extends AbstractQueuedSynchronizer { private static fina ...
- 创建war类型项目(六)
1. 创建maven project时选择packaging为war: 2. 在webapp文件夹下新建META-INF和WEB-INF/web.xml web.xml模板 <?xml vers ...
- JDOJ 1946 求最长不下降子序列个数
Description 设有一个整数的序列:b1,b2,…,bn,对于下标i1<i2<…<im,若有bi1≤bi2≤…≤bim 则称存在一个长度为m的不下降序列. 现在有n个数,请你 ...
- ubuntu安装dia
linux下一款不错的流程图工具:dia.安装此工具:1.打开终端(快捷键:ctrl+alt+t).2.输入命令: $sudo apt-get install dia 3.提示“解压缩后会消耗掉 20 ...
- ActionResult源码分析笔记
ActionResult是一个抽象类: public abstract class ActionResult { public abstract void ExecuteResult(Controll ...
- uuid模块
UUID即通用唯一标识符,对于所有的UUID它可以保证在空间和时间上的唯一性.它是通过MAC地址.时间戳.命名空间.随机数.伪随机数来保证生成ID的唯一性,有着固定的大小(128 bit).它的唯一性 ...
- Layui 文件上传 附带data数据
配置项中增加参数: , data: { CaseId: function () { return $("#CaseId option:selected").val(); }, Ca ...
- B1038 统计同成绩学生 (20 分)
#include<iostream> #include<cstring> using namespace std; const int maxn = 10010; int sc ...
- CSP前的板子
板子A(扩展欧几里得) 题目描述 求关于x的同余方程 ax≡1(modb) 的最小正整数解. 输入格式 一行,包含两个正整数 a,b,用一个空格隔开. 输出格式 一个正整数 x,即最小正整数解.输入 ...
- sublime text3安装ConvertToUTF8
1.安装 Package Control 方式1:命令行安装 按ctrl+~快捷键,调出一个小文本款,然后粘贴以下代码: import urllib.request,os,hashlib; h = ' ...