开机注册联通2G网络
2/3G PLMN LIST


在MM_RATCM_PLMN_LIST_CNF或NWSEL_MM_PLMN_SEARCH_CNF消息中可以查看2,3G搜到的PLMN LIST

内容如下:

RAT:Radio Access Technologies 无线接入技术
PLMN (Public Land Mobile Network,公共陆地移动网络):由MCC和MNC组成;MCC(mobile contrary code)移动国家号码:唯一表示移动用户的所属国家,中国的MCC为460;MNC(mobile net code)移动网号:唯一表示该国家中的网络,例如中国移动GSM网为00,中国联通GSM网为01;
MCC MNC 运营商
460 00 中国移动
460 01 中国联通
460 02 中国移动
460 03 中国电信
460 06 中国联通
460 07 中国移动
460 20 中国铁通
460 05 中国电信

MOD_NIL, , TRACE_INFO, [AT_R p24, s15]+COPS: 0,2,"46001",3
MOD_NIL, , TRACE_INFO, [AT_R p24, s15]+COPS: 0,2,"46001",0
+COPS: 返回当前网络注册的状态
第一个参数<mode>: 0 - automatic; 1 - manual;
第二个参数<stat>: 0 - unknown; 1 - available; 2 - current; 3 - forbidden;
第三个参数<oper> : string type
第四个参数<Act> : 0 - GSM; 2 - UTRAN; 7 - LTE;
未开启数据连接,有如下反馈信息:

注册2G:

CM_Service 建立成功:


CREG : CS 网络注册状态
参数<n>:0 - disable network registration unsolicited result code;
1 - enable network registration unsolicited result code +CREG: <stat>;
2 - enable network registration and location information unsolicited result code
+CREG: <stat>[,<lac>,<ci>,[<Act>]]
3 - enable netowrk registration, location inforamtion and cause value information
unsolicited result code
+CREG: <state>[,<lac>,<ci>,[<Act>][,<cause_type>,<reject_cause>]]
第1个参数<stat>:0 - not registered, MT is not currently searching a new operator to register to
1 - registered, home network
2 - not registered, but MT is currently searching a new operator to register to
3 - registration denied
4 - unknown
5 - registered, roaming
6 - registered for "SMS only", home network (applicable only when <AcT> indicates E-UTRAN)
7 - registered for "SMS only", roaming (applicable only when <AcT> indicates EUTRAN)
8 - attached for emergency bearer services only (see NOTE 2) (not applicable)
9 - registered for "CSFB not preferred", home network (applicable only when <AcT> indicates E-UTRAN)
10 - registered for "CSFB not preferred", roaming (applicable only when <AcT> indicates E-UTRAN)
第2个参数<lac> : string type;
two byte location area code in hexadecimal format (e.g. "00C3" equals
195 in decimal)
第4个参数<Act>: 0 - GSM
2 - UTRAN
3 - GSM w/EGPRS
4 - UTRAN w/HSDPA
5 - UTRAN w/HSUPA
6 - UTRAN w/HSDPA and HSUPA
7 - E-UTRAN

网络状态更新:
/vendor/mediatek/proprietary/hardware/ril/gsm/mtk-ril/Ril_nw.c

根据 +CREG: 的返回,调用onNetworkStateChanged() 函数:
设置 is_cs = 1; is_r8 = 0;上报 RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED :

该函数的实现在:
/vendor/mediatek/proprietary/hardware/ril/gsm/librilmtk/Ril.cpp
此消息通过Socket传输到RILJ 层,processUnsolicited()函数处理:
/frameworks/opt/telephony/src/java/com/android/internal/telephony/RIL.java

消息的处理:

mVoiceNetworkStateRegistrants 添加监听者方法:

该方法被GsmServiceStateTracker 和 CdmaServiceStateTracker 调用,以Gsm为例:

通过this 传入参数可知,该GsmServiceStateTracker 为监听者,消息处理如下:

调用onNetworkStateChangeResult() 方法:

其中的log信息:

pollState() 方法:

消息EVENT_PS_NETWORK_STATE_CHANGED 的处理:

其中onPsNetworkStateChangeResult() :

开机注册联通2G网络的更多相关文章
- Ubuntu开机自动禁用无线网络
让ubuntu开机自动禁用无线网络. 1.自启动脚本 将下面这条禁用无线网络的命令添加到“启动应用程序“中,这样开机时无线网络就会被自动禁用. dbus-send --system --type=me ...
- linux开机自动连接无线网络
1.右击无线网络图标的“编辑连接”. 2.在“无线”选项卡里,选择“编辑”. 3.在“无线安全性”选项卡里,输入无线密匙,并选中左下角的“对所有用户可 用”的选项点击应用,会提 ...
- WPF 开机注册自启动及设置确保以管理员运行
最近用到开机自启动设置,在此记录下设置自启动的步骤,如果对各位有需要可以借阅,之前设置管理权限解释在创建解决方案是将VS以管理员方式打开,这种方法可以实现,但是个人还是偏向与本文的方式,不多说啥了,下 ...
- Android学习——动态注册监听网络变化
新建一个BroadcastTest项目,然后修改MainActivity中的代码,如下: public class MainActivity extends AppCompatActivity { p ...
- 这个注册的 IP 网络都不通了,Eureka 注册中心竟然无法踢掉它!
本文导读: 微服务技术架构选型介绍 k8s 容器化部署架构方案 Eureka 注册中心问题场景 问题解决手段及原理剖析 阅读本文建议先了解: 注册中心基本原理 K8s(Kuberneters)基本概念 ...
- android动态注册监听网络变化异常
在使用广播接收器监听网络变化的时候,在AndroidManifest.xml中加入<user-permission android:name="android.permission.A ...
- 在win10中创建开机自动登陆的网络驱动器
前提环境: win10系统电脑一台. centos系统电脑一台,在该系统中安装samba,并配置共享. 要解决的问题: 在win10做了网络映射,将centos共享的文件夹设置成本地硬盘.在映射时,也 ...
- Linux开机自动挂载windows网络共享
yum install samba-client yum install cifs.utils yum install samba-common 命令: mount -v -t cifs // ...
- 判断手机使用网络wifi 2G 3G
ConnectivityManager cManager = (ConnectivityManager) this .getSystemService(Context.CONNECTIVITY_SER ...
随机推荐
- 面向对象程序设计(Java) 第6-7周学习指导及要求
面向对象程序设计(Java)第6-7周学习指导及要求 (2019.9.29-2019.10.8) 学习目标 深入理解程序设计中算法与程序的关系: 深入理解java程序设计中类与对象的关系: 理解O ...
- Vue小练习(for循环,push方法,冒泡,if判断(以及与for循环的连用),按钮高亮,根据input框筛选数据)
vue练习 ''' 1. 先有一下成绩单数据 scores = [ { name: 'Bob', math: 97, chinese: 89, english: 67 }, { name: 'Tom' ...
- 基于Intel OpenVINO的搭建及应用,包含分类,目标检测,及分割,超分辨
PART I: 搭建环境OPENVINO+Tensorflow1.12.0 I: l_openvino_toolkit_p_2019.1.094 第一步常规安装参考链接:https://docs.op ...
- js的call()方法
// ① 当函数中没有this时,call().apply()和直接执行没有区别 function fn(){ console.log("aaa") } fn() // aaa f ...
- 记一次排错经历,requests和fake_useragent
在部署tornado项目上线时, 首次重启服务后第一次请求必然会报错, 后续的就能正常访问, 长报错urllib.error.URLError,如图排查多次依然发现不了问题 报的最多的依然是上图中的错 ...
- SpringBoot中的日志
默认情况下,Spring Boot会用SLF4J + Logback来记录日志,并用INFO级别输出到控制台. SLF4J,即简单日志门面(Simple Logging Facade for Java ...
- appium--元素等待和屏幕截图
元素等待 设置元素等待可以更加灵活的指定等待元素的时间,从而增强脚本的健壮性,提高执行效率 强制等待 from time import sleep sleep(5) 隐式等待 隐式等待是针对全部元素设 ...
- Linux性能优化实战学习笔记:第二十八讲
一.案例环境描述 1.环境准备 2CPU,4GB内存 预先安装docker sysstat工具 apt install docker.io sysstat nake git 案例总共由三个容器组成: ...
- [LeetCode] 234. Palindrome Linked List 回文链表
Given a singly linked list, determine if it is a palindrome. Example 1: Input: 1->2 Output: false ...
- [LeetCode] 130. Surrounded Regions 包围区域
Given a 2D board containing 'X' and 'O'(the letter O), capture all regions surrounded by 'X'. A regi ...