一个UE频繁掉网的问题

简介: 这个UE频繁掉网的问题,其实蛮low的,熟悉的人,看一个参数值就搞定这个问题了,但是还是做个记录。问题背景是运营商指定UE锁在某个NR小区,在一个区域的弱信号点(RSRP -110dbm左右)进行TPUT测试,但是最后发现UE在-106 dbm左右时就会掉网,没办法进行测试。测试反馈:UE锁在NR N41 520110/344小区上,一开始可以正常进行TPUT,随着往弱信号的方向上移动,UE就会出现掉网。

这个UE频繁掉网的问题,其实蛮low的,熟悉的人,看一个参数值就搞定这个问题了,但是还是做个记录。问题背景是运营商指定UE锁在某个NR小区,在一个区域的弱信号点(RSRP -110dbm左右)进行TPUT测试,但是最后发现UE在-106 dbm左右时就会掉网,没办法进行测试。测试反馈:UE锁在NR N41 520110/344小区上,一开始可以正常进行TPUT,随着往弱信号的方向上移动,UE就会出现掉网。


但是正常情况下,UE没道理掉网呀,NR小区一般的参数设定会保证UE在-120dbm 左右都能正常驻网;再加上是运营商指定,最初我想应该是UE实际测量的结果远比-120 dbm差导致的,可能是RF的问题。看起来这个思路有理有据,让人信服......



闲话少说,直接看log。

b2296cd4ccbc49b1a2bd2a9307e1b8f6.png

先看空口,如上截图,UE在做完TPUT后,网络侧就会下发RRC release,UE返回idle态后,就一直在收MIB SIB1,期间UE 向AP上报 no network found,没跑了,肯定是UE RF测量太差导致的掉网,不然呢?我自信的打开了NR cell测量的结果......

67b231023d734722b317f6aa84dd4317.png

打脸了,NR N41 520110/344 信号状况不错呀,而且最好的SSB 5 RSRP 是-98.54dbm,这都能掉网?那就证明前面的臆想都是错的......



于是从头捋了一遍篇:这是运营商指定的小区,按道理小区参数设定,肯定可以达到测试要求,UE肯定...... 不能再乱说了,掉网直接相关的就是S准则,关于S准则,NR 小区搜索(五) S准则有详细介绍,当然这里根据参数再算一下是否满足S准则吧。c65438654b8f48e582358744073e1f21.png

如上是SIB1中带的cell selection parameter 其中p-Max=29 dbm q-RxLevMin=-52,其他参数都没有,例如q-qualmin,Qrxlevminoffset,Qqualminoffset 和Qoffsettemp等等。其实看到这个参数,对S准则熟悉的话,这里就可以大结局了。但是呢还会是按照参数梳理一遍S准则吧。

2374290395be45378f8a38307719cd7e.png

SIB1中没有q-QualMin,就取值负无穷;Qqualminoffset缺省,取值0 dB;Qrxlevminoffset缺省,取值0 dB。


q-RxLevMin=-52,那Qrxlvemin=-52*2=-104dBm。

61c38ce7aada4dd0a8654122a75a28b9.png

Qoffsettemp来自SIB1中的connEstFailOffset,在T300 超时的次数达到conEstFailCount时才会在小区选择和重选过程中应用Qoffsettemp;如果该值缺省,则Qoffsettemp=无穷大,结合公式-Qoffsettemp,负无穷就是0。



所以公式可以简化为Srxlev = Qrxlevmeas – Qrxlevmin– Pcompensation。


Squal = Qqualmeas – Qqualmin ,由于q-QualMin取值负无穷,所以Squal 一定是大于0的,下面就主要看Srxlev是否大于0,Srxlev的确定目前只剩下Pcompensation。

bf4b40fb5d394b35b7023c93e5f9ad55.png


Pcompensation,对于FR1,需要查看SIB消息中是否有additionalPmax IE,有的话,Pcompensation=max(P_EMAX1-P_PoweClass, 0)-(min(P_EMAX2,P_PoweClass)-min(P_EMAX1 ,P_PoweClass))(dB);否则 取值max(P_EMAX1-P_PoweClass, 0)。


P_EMAX1和P_EMAX2会针对SUL 和NUL 进行区分,分别取自p-Max和NR-NS-PmaxList,目前的log看都没有带NR-NS-PmaxList,也就是只关注P_EMAX1的值即可P_EMAX1=p-Max=29,而ppowercalss =23dbm.所以Pcompensation=max(P_EMAX1-P_PoweClass, 0)=max(29-23,0)=6。



那最终Srxlev = Qrxlevmeas – Qrxlevmin– Pcompensation=Qrxlevmeas+104-6=Qrxlevmeas+98,这个意思是UE测量该小区的RSRP>-98dbm,才能满足S准则,进而才能驻留在这个小区上,log中有关S准则的打印如下。

13629bfbf4344d9d80def61eed3240b7.png


可以看到小区的RSRP=-98.11dBm,由于低于-98dBm,所以S准则判定fail,之后UE一直无法再次稳定驻留在这个小区。这个小区的驻留门槛其实是蛮高的(q-RxLevMin=-52),通常实网下见到最多的就是q-RxLevMin=-60,RSRP在-120dbm左右都会满足S准则。但是呢这个问题还是说明一件事,对于UE侧的测试,有时候运营商的要求可能也不怎么靠谱。

相关文章
|
3月前
|
存储 缓存 JSON
一行代码,我优化掉了1G内存占用
这里一行代码,指的是:String.intern()的调用,为了调用这一行代码,也写了几十行额外的代码。
|
Java 调度
服务器常见问题排查(一)——cpu占用高、上下文频繁切换、频繁GC
文章主要讨论了服务器中常见性能问题的一些排查思路,这篇文章主要讨论了CPU负载过高,频繁GC和频繁切换上线文这三个问题。
1246 0
服务器常见问题排查(一)——cpu占用高、上下文频繁切换、频繁GC
|
Android开发 容器
要小心点,不要掉 Recomposition 带来的性能坑了
今天我们就来聊聊可能因为没理解透 Recomposition 而写出的性能问题。
100 0
|
存储 编译器 C语言
缓冲区刷新在 C++ 中意味着什么?
缓冲区刷新是将计算机数据从临时存储区域传输到计算机的永久内存。例如,如果我们对文件进行任何更改,我们在一台计算机屏幕上看到的更改会临时存储在缓冲区中。
177 0
|
负载均衡 算法 Java
记一次线上频繁FGC的事件和解决方式
1.大量的请求,调用的地方要注意是否会导致内存的大量消耗,尽可能使用池化技术,单例等,减少创建,销毁的系统开销;2.CMS 的几个缺点,可以参考《深入java虚拟机》,对CPU占用会比较高,无法处理浮动垃圾,还有就是CMS使用的是标记-清除算法,会导致大量的空间碎片,碎片过多的话,导致分配大对象很困难,所以不得不进行FGC,也可能是这个原因导致了本文说的一直FGC的问题。
391 0
记一次线上频繁FGC的事件和解决方式
|
数据库 Windows 容器
如何设置IIS程序池的回收时间,才能最大程度的减少对用户的影响?
如何设置IIS程序池的回收时间,才能最大程度的减少对用户的影响?
346 0
|
消息中间件 Android开发
读源码长知识 | Android卡顿真的是因为”掉帧“?
掉帧是因为生产帧速度跟不上消费帧速度。Choreographer 用于同步生产和消费帧的速度。以读源码方式还原掉帧时软件层面发生的事情。
269 0
|
Java
频繁 YGC的一段代码
假期重新把之前在新浪博客里面的文字梳理了下,搬到这里。
373 0