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并发-CountDownLatch

    源码: 内部类Sync private static final class Sync extends AbstractQueuedSynchronizer { private static fina ...

  2. Basics of Algorithmic Trading: Concepts and Examples

    https://www.investopedia.com/articles/active-trading/101014/basics-algorithmic-trading-concepts-and- ...

  3. nowcoder911L 最优子区间

    题目链接 思路 用\(f(i,j)\)表示前i个元素,以i为右端点,j为左端点时的答案. 用个"区间修改,单点查询"的线段树维护出第二维.在从左往右枚举i的过程中.将\([lst_ ...

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

    一.性能优化方法论 不可中断进程案例 二.怎么评估性能优化的效果? 1.评估思路 2.几个为什么 1.为什么要选择不同维度的指标? 应用程序和系统资源是相辅相成的关系 2.性能优化的最终目的和结果? ...

  5. [LeetCode] 321. Create Maximum Number 创建最大数

    Given two arrays of length m and n with digits 0-9 representing two numbers. Create the maximum numb ...

  6. 使用 go modules 包管理工具(一)

    概述 我想实现一个开箱即用的 API 框架的轮子,这个轮子是基于 Gin 基础上开发的. 为什么是开箱即用,它会集成哪些功能? 以上功能点,都是常用的,后期可能还会增加. 废话不多说,咱们开始吧. 创 ...

  7. i2c的读写时序图

    根据实际示波器的波形画的时序图,时序图不好画,小小一幅图,画了两个小时,分享之:

  8. 解决xunsearch热门搜索,不按照数量排序问题

    public function getHotQuery($limit = 6, $type = 'total') { $ret = array(); $limit = max(1, min(50, i ...

  9. Pandas操作excel

    读取excel:Pandas库read_excel()参数详解 pandas.read_excel(io,sheet_name = 0,header = 0,names = None,index_co ...

  10. Peewee之playhouse中的数据库连接池

    参见 http://note.youdao.com/noteshare?id=104255d91b5a00d716a713ae36e911fd 目前在学习Python库的源码,这是第二篇,比较简单的功 ...