开机注册联通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并发-CountDownLatch
源码: 内部类Sync private static final class Sync extends AbstractQueuedSynchronizer { private static fina ...
- Basics of Algorithmic Trading: Concepts and Examples
https://www.investopedia.com/articles/active-trading/101014/basics-algorithmic-trading-concepts-and- ...
- nowcoder911L 最优子区间
题目链接 思路 用\(f(i,j)\)表示前i个元素,以i为右端点,j为左端点时的答案. 用个"区间修改,单点查询"的线段树维护出第二维.在从左往右枚举i的过程中.将\([lst_ ...
- Linux性能优化实战学习笔记:第十二讲
一.性能优化方法论 不可中断进程案例 二.怎么评估性能优化的效果? 1.评估思路 2.几个为什么 1.为什么要选择不同维度的指标? 应用程序和系统资源是相辅相成的关系 2.性能优化的最终目的和结果? ...
- [LeetCode] 321. Create Maximum Number 创建最大数
Given two arrays of length m and n with digits 0-9 representing two numbers. Create the maximum numb ...
- 使用 go modules 包管理工具(一)
概述 我想实现一个开箱即用的 API 框架的轮子,这个轮子是基于 Gin 基础上开发的. 为什么是开箱即用,它会集成哪些功能? 以上功能点,都是常用的,后期可能还会增加. 废话不多说,咱们开始吧. 创 ...
- i2c的读写时序图
根据实际示波器的波形画的时序图,时序图不好画,小小一幅图,画了两个小时,分享之:
- 解决xunsearch热门搜索,不按照数量排序问题
public function getHotQuery($limit = 6, $type = 'total') { $ret = array(); $limit = max(1, min(50, i ...
- Pandas操作excel
读取excel:Pandas库read_excel()参数详解 pandas.read_excel(io,sheet_name = 0,header = 0,names = None,index_co ...
- Peewee之playhouse中的数据库连接池
参见 http://note.youdao.com/noteshare?id=104255d91b5a00d716a713ae36e911fd 目前在学习Python库的源码,这是第二篇,比较简单的功 ...