0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅析一个UE无法注册的问题

冬至子 来源:modem协议笔记 作者:酒仁生 2023-07-17 17:35 次阅读

问题场景是环境中只有一个小区,UE在找到这个小区,收到MIB和SIB1后一直不发起注册,这个问题看起来些许有些凄凉,我抬头望着窗外的枇杷树,我想这大抵又是和S准则有关系了。这个问题看来又是没啥好看的了,先在SIB1周围随便找找就好了。

图片

2023 Jan 10 17:01:55.981 nr5g_rrc_cep.c 2361 UAC Category 8 !barred 0 time 1379841

2023 Jan 10 17:01:55.982 nr5g_rrc_cep.c 1272 H Sub-ID:1 Misc-ID:0 UAC: its a match !!the requested access id = 0x0, BarringForAccessId in SIB1 = 0x0

2023 Jan 10 17:01:55.982 nr5g_rrc_cep.c 1811 H Sub-ID:1 Misc-ID:0 UAC: Barred because of Barring Factor is p00

2023 Jan 10 17:01:55.982 nr5g_rrc_inactive.c 5910 H Sub-ID:1 Misc-ID:0 INACTIVE: UAC Access Barred !

大概是想的过于简单,这log也有了些苦涩,通过log可以看出这个cell S准则是满足的,并不是S准则的问题,但可以确定该问题与UAC过程有关系,而且UE access被bar了,这个发现总归还是有点甜的。但是要搞清楚这个问题就要先简单捋一下相关协议,看整个流程是怎么回事。

所谓UAC就是在UE进行access前,根据access identities和access category及驻留小区配置的参数,判断access是否允许的机制,LTE也有类似的操作。UAC需要USIM,NAS及RRC层共同完成,大概过程就是根据USIM中的access identities,结合NAS层确定的access category,交由RRC层进行UAC check后决定是否允许接入。

在24.501 4.5.1章节中有描述需要触发UAC的具体场景,如下。

图片

当NAS检测到表格中的场景,NAS就需要将access identities和access category进行关联后,交由RRC层进行access baring check。

UAC过程的主要描述在38.331 5.3.14,对于问题场景首先要根据access category确定barring 参数,然后再根据access identities进行UAC判断是否会被bar以及后续的bar操作,问题场景中UE 的access identities=0,access category=8,这里就先确定下barring 参数。

图片

根据38.331 5.3.14.2中的描述,当前的场景直接定位到上面的这段描述:如果uac-BarringForCommon可用或者 uac-ACBarringListType 指示要用uac-ExplicitACBarringList,而此时UAC-BarringPerCatList包含UAC-BarringPerCat,就要根据UE的access category 找到对应的access catedgory 对应的UAC-BarringInfoSet参数,如下图,UE access catedgory=8。

图片

根据上图找到UAC-barring参数后,就要按照38.331 5.3.14.5进行UAC,稍微看下UAC-BarringInfoSet中IE的解释。

图片

uac-BarringForAccessIdentity有7 bit,从左至右的bit位分别代表 access Id 1,2,11,12,13,14,15 ,如果 uac-BarringForAccessIdentity '0000000'B就代表 access id 1,2,11,12,13,14,15 的接入都是允许的。

uac-BarringFactor表示在access barring check期间允许访问尝试的概率。

uac-BarringTime 代表在同一access category 被bar后,计算T390要用的禁止时间。

下面接着看如何根据上述参数进行UAC(38.331 5.3.14.5)。

图片

如果有UE有one or more Access Identities 或者 至少其中一个 access identities 的bit位 在 SIB1-> UAC barring parameter ->uac-BarringForAccessIdentity 置为0, 这样的attemp access是允许的。

图片

如果RRC connection 建立的原因是因为之前收到了release 消息带了redirect with mpsPriorityIndication且uac-BarringForAccessIdentity中与access Identity 1相关的bit位 是0,这样的access attemp也是允许的。

其他情况 就要从 [0 ,1)的均匀分布中随机选取一 rand 值;如果 rand 的值 小于 "UAC barring parameter" 中的 uac-BarringFactor 则 允许access attempt;否则 access attemp 就被bar,而log中的场景对应的就是这种判断场景。

问题中是access attempt bar的情况,后面接着看bar之后应该怎么做。

图片

如果access attempt 被bar,就从[0 ,1)的均匀分布中随机选取一 rand 值,针对对应的access category开启T390 ;T390 由下列由公式得到T390 = (0.7+ 0.6 * rand) * uac-BarringTime。T390 超时之前access category 都处于bar的状态,T390 stop及超时的操作如下表。

图片

继续看T390 超时后UE应该怎么做,主要规则在5.3.14.4 T302, T390 expiry or stop (Barring alleviation)中有描述,这里T320的解释也贴在上图。

图片

1 T302 超时或者stop且每个Access Category 对应T390 没有在运行,则认为这个access category 的bar 解除 ;

2 else 如果access category 不是2 ,且其T390 超时或者stop ,T302 也没在run,也认为 bar解除,这里对应问题场景;

3 else access category 2的T390 超时或者stop ,则 bar解除。

当 Access Category 的bar解除,如果这个access category 之前已经告知NAS处于bar状态 ,那这时UE要告知NAS 现在bar解除了。

如果这个bar解除针对的是Access Category '8'和2 则 按照 38.311 5.3.13.8 进行RNA update(不再本篇范围略过)。

至此整个UAC 的流程就比较清楚了,最后结合SIB1中的信息,总结下这个问题bar的具体原因。

图片

该问题中UE access ID=0 ,access category =8,SIB1中的消息有配置access category 8的uac参数。

SIB1中 uac-BarringForAccessIdentity '0000000'B 从左至右 的bit位 分别代表 access Id 1,2,11,12,13,14,15 其值为0, 代表 access id 1,2,11,12,13,14,15 的接入都是允许的;但UE access ID=0,这时需要从[0,1)的均匀分布中选择随机数后与BarringFactor 比较,如果随机数小于BarringFactor,代表允许接入,但是这里的BarringFactor 是0,再怎么选择也不可能小于BarringFactor,所以会被bar,假如选取的rand=0.5,bar time T390=(0.7+0.3)*uac-BarringTime= 128s。bar解除后,如果再次UAC的话,也会再次被bar,所以是不可能通过UAC的, 驻网这辈子是不可能了,别的又没什么好选的,爱干啥干啥吧......

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RRC
    RRC
    +关注

    关注

    0

    文章

    28

    浏览量

    11000
  • NAS
    NAS
    +关注

    关注

    11

    文章

    225

    浏览量

    111865
  • USIM
    +关注

    关注

    0

    文章

    11

    浏览量

    11782
收藏 人收藏

    评论

    相关推荐

    UE入网(转载)

    UE在开机时,首要任务是搜索网络并注册,即选网操作。UE的选网操作可以分为PLMN选择和小区搜索两过程。在PLMN选择过程中,UE会维护
    发表于 05-31 15:11

    opencores网站无法注册

    最近在做一个项目,想要从opencores上下载源码看看,以前知道opencores网站,直没有用过也没有注册,这次进来注册full account,发现信息填写完毕以后到最后
    发表于 05-19 17:17

    使用UE4Duino插件实现ue4引擎与arduino串口通讯

    是最新的版本,查看自己的ue4版本,下拉界面找到Thread for this version,点进去就进入以下界面根据自己ue4的版本进行下载插件。二.添加至UE4工程文件中1.在ue
    发表于 02-22 06:51

    使用两GAL 22v10替换UE6

    芯片后,大部分旧电脑运行良好。这个项目的灵感来自两项目:Nicolas Welte 使用 GAL 20v10 替换 8296 (UE5) 的 PLA(文件可在 zimmers.
    发表于 06-30 07:06

    ESP32UE为什么无法从sensVP和sensVN引脚读取?

    我使用的是定制开发板 ESP32UE。在我的项目中,我需要 11 adc 引脚。我用电位计做了些测试。其中些效果非常好。我从 0 读取到 4095。但其中
    发表于 03-01 09:02

    5G NR RRC协议解析之RRC连接建立的信令流程

    。   UE何时会触发该流程?   1)当建立RRC连接时   2)当UE恢复或重新建立RRC连接,且网络无法获取或验证
    发表于 05-10 15:32

    WUS如何发送?支持WUS后如何使得UE更省电?

    PDCCH指示新的传输(DL或UL),UE将在PDCCH接收结束后的第一个符号中启动或重新启动drxInactivityTimer,当drxInactivityTimer到期时,UE停止监控PDCCH
    发表于 05-10 18:13

    WUS如何发送?支持WUS后如何使得UE更省电?

    PDCCH指示新的传输(DL或UL),UE将在PDCCH接收结束后的第一个符号中启动或重新启动drxInactivityTimer,当drxInactivityTimer到期时,UE停止监控PDCCH
    发表于 05-10 18:17

    UE小区初搜流程

    UE小区初搜流程
    发表于 09-18 15:20 741次阅读

    RRC逻辑架构(UE侧)

    RRC逻辑架构(UE侧)
    发表于 09-18 15:24 1044次阅读

    UE侧协议栈架构

    UE侧协议栈架构
    发表于 09-18 15:25 1277次阅读

    UE的状态与寻呼流程

    UE的状态与寻呼流程 UE状态UE有两种基本的运行模式:空闲模式和连接模式。上电开始,UE就停留在空闲模式下,通过非接入层标识
    发表于 10-12 19:35 8531次阅读

    代码编辑器UE

    代码编辑器UE
    发表于 12-19 15:44 14次下载

    5G信令流程的详细资料说明

    为了接受服务,启用移动性和可达性,UE需要注册到网络中去获取鉴权。UE发起注册流程的情况如下:1.当UE初始化
    发表于 01-11 08:00 5次下载
    5G信令流程的详细资料说明

    使用UE4duino实现ue4与arduino通讯

    使用UE4Duino插件实现ue4引擎与arduino串口通讯默认大家都会使用ue4开发,毕竟会ue4的人才会想和单片机通讯。一.到GitHub下载
    发表于 12-28 19:36 14次下载
    使用<b class='flag-5'>UE</b>4duino实现<b class='flag-5'>ue</b>4与arduino通讯