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网络的更多相关文章

  1. Ubuntu开机自动禁用无线网络

    让ubuntu开机自动禁用无线网络. 1.自启动脚本 将下面这条禁用无线网络的命令添加到“启动应用程序“中,这样开机时无线网络就会被自动禁用. dbus-send --system --type=me ...

  2. linux开机自动连接无线网络

           1.右击无线网络图标的“编辑连接”. 2.在“无线”选项卡里,选择“编辑”. 3.在“无线安全性”选项卡里,输入无线密匙,并选中左下角的“对所有用户可      用”的选项点击应用,会提 ...

  3. WPF 开机注册自启动及设置确保以管理员运行

    最近用到开机自启动设置,在此记录下设置自启动的步骤,如果对各位有需要可以借阅,之前设置管理权限解释在创建解决方案是将VS以管理员方式打开,这种方法可以实现,但是个人还是偏向与本文的方式,不多说啥了,下 ...

  4. Android学习——动态注册监听网络变化

    新建一个BroadcastTest项目,然后修改MainActivity中的代码,如下: public class MainActivity extends AppCompatActivity { p ...

  5. 这个注册的 IP 网络都不通了,Eureka 注册中心竟然无法踢掉它!

    本文导读: 微服务技术架构选型介绍 k8s 容器化部署架构方案 Eureka 注册中心问题场景 问题解决手段及原理剖析 阅读本文建议先了解: 注册中心基本原理 K8s(Kuberneters)基本概念 ...

  6. android动态注册监听网络变化异常

    在使用广播接收器监听网络变化的时候,在AndroidManifest.xml中加入<user-permission android:name="android.permission.A ...

  7. 在win10中创建开机自动登陆的网络驱动器

    前提环境: win10系统电脑一台. centos系统电脑一台,在该系统中安装samba,并配置共享. 要解决的问题: 在win10做了网络映射,将centos共享的文件夹设置成本地硬盘.在映射时,也 ...

  8. Linux开机自动挂载windows网络共享

    yum install samba-client yum install cifs.utils yum install samba-common 命令: mount -v -t  cifs    // ...

  9. 判断手机使用网络wifi 2G 3G

    ConnectivityManager cManager = (ConnectivityManager) this .getSystemService(Context.CONNECTIVITY_SER ...

随机推荐

  1. 面向对象程序设计(Java) 第6-7周学习指导及要求

    面向对象程序设计(Java)第6-7周学习指导及要求 (2019.9.29-2019.10.8)   学习目标 深入理解程序设计中算法与程序的关系: 深入理解java程序设计中类与对象的关系: 理解O ...

  2. Vue小练习(for循环,push方法,冒泡,if判断(以及与for循环的连用),按钮高亮,根据input框筛选数据)

    vue练习 ''' 1. 先有一下成绩单数据 scores = [ { name: 'Bob', math: 97, chinese: 89, english: 67 }, { name: 'Tom' ...

  3. 基于Intel OpenVINO的搭建及应用,包含分类,目标检测,及分割,超分辨

    PART I: 搭建环境OPENVINO+Tensorflow1.12.0 I: l_openvino_toolkit_p_2019.1.094 第一步常规安装参考链接:https://docs.op ...

  4. js的call()方法

    // ① 当函数中没有this时,call().apply()和直接执行没有区别 function fn(){ console.log("aaa") } fn() // aaa f ...

  5. 记一次排错经历,requests和fake_useragent

    在部署tornado项目上线时, 首次重启服务后第一次请求必然会报错, 后续的就能正常访问, 长报错urllib.error.URLError,如图排查多次依然发现不了问题 报的最多的依然是上图中的错 ...

  6. SpringBoot中的日志

    默认情况下,Spring Boot会用SLF4J + Logback来记录日志,并用INFO级别输出到控制台. SLF4J,即简单日志门面(Simple Logging Facade for Java ...

  7. appium--元素等待和屏幕截图

    元素等待 设置元素等待可以更加灵活的指定等待元素的时间,从而增强脚本的健壮性,提高执行效率 强制等待 from time import sleep sleep(5) 隐式等待 隐式等待是针对全部元素设 ...

  8. Linux性能优化实战学习笔记:第二十八讲

    一.案例环境描述 1.环境准备 2CPU,4GB内存 预先安装docker sysstat工具 apt install docker.io sysstat nake git 案例总共由三个容器组成: ...

  9. [LeetCode] 234. Palindrome Linked List 回文链表

    Given a singly linked list, determine if it is a palindrome. Example 1: Input: 1->2 Output: false ...

  10. [LeetCode] 130. Surrounded Regions 包围区域

    Given a 2D board containing 'X' and 'O'(the letter O), capture all regions surrounded by 'X'. A regi ...