Bug #116140

【BSP】【EVT3】【ST】【Eth0】User版本烧机启动获取IP地址后,操作设备点击Settings中的选项,设备掉网,IP地址消失

Added by 移动测试一组_CDTS 刘强 over 2 years ago. Updated over 2 years ago.

Status:CLOSEDStart date:2023-02-09
Priority:HighDue date:2023-02-22
Assignee:移动测试一组_CDTS 刘强% Done:

70%

Category:LC
Target version:VC1_FSE_0078_20230228
Need_Info:-- Found Version:FlatBuild_HH_VX1_MCE_FSE.M.R.user.01.00.0072.X101/
Resolution:FIXED Degrated:--
Severity:Major Verified Version:
Reproducibility:Every time Fixed Version:
Test Type:ST Root cause:

Description

【前提条件】
None

【测试步骤】
1. 正常连接以太网盒子,设备正常开机
2. 在开机状态点击设置,随意点击Setting中的选项
3. 查看设备网络连接情况;UI图标和ifconfig eth0

【预期结果】
1 设备正常工作,以太网可以获取到IP
3.设备网络持续正常工作,UI和IP不会消失

【实际结果】
1 设备正常工作,以太网可以获取到IP
3.设备网络会掉网,IP地址消失,UI图标消失

【其他信息】
1. Uerdebug 版本未复现该问题
2. VX-VC的user版本复现该问题

20230209-185649.mp4 (5.09 MB) 移动测试一组_CDTS 刘强, 2023-02-09 18:57

tlog_sts000101110_012_0209105812.tar.gz (4.15 MB) 移动测试一组_CDTS 刘强, 2023-02-09 18:57

new 4 (46.7 KB) 移动测试一组_CDTS 刘强, 2023-02-10 16:06

Figure-116140-烧机启动获取IP地址后,操作设备点击Settings中的选项,设备掉网,IP地址消失.docx (11.4 KB) CD LC 陶洪普, 2023-02-22 22:00

History

#2 Updated by CD BSP-杜磊 over 2 years ago

  • Status changed from New to ASSIGNED
  • Assignee changed from CD BSP-杜磊 to CD FW 曹覃刚
  • % Done changed from 0 to 20

Hi, 覃刚,

帮忙check一下如下代码,"new 4" log
02-09 21:28:56.977 2739 2739 I hpplay-java: [main]:Bridge:findServiceID start out: 161402091
02-09 21:28:56.977 2739 2739 I hpplay-java: [main]:Bridge:findServiceID end
02-09 21:28:56.977 2739 2739 I hpplay-java: [main]:ServerTaskManager:onStop retry:true
02-09 21:28:56.977 2739 2739 I hpplay-java: [main]:ServerTaskManager:cancelTimeOutCheck
02-09 21:28:56.978 2739 3731 I hpplay-java: [AsyncTask #11]:NetworkReceiver:onReceive action: android.net.conn.CONNECTIVITY_CHANGE
02-09 21:28:56.978 2739 2739 W hpplay-java: [main]:IPManager:getActiveNets invalid networkInfo:null
02-09 21:28:56.978 2739 2739 I hpplay-java: [main]:IPManager:getActiveNets eth0:false wifi:false mobile:false ap:false
02-09 21:28:56.978 2739 3820 W hpplay-java: [AsyncTask #17]:HttpRequest:
02-09 21:28:56.978 2739 2739 W hpplay-java: [*main]:ServerTaskManager:exeTask startServer, need wait for ip*
02-09 21:28:56.978 2739 3820 W hpplay-java: [AsyncTask #17]:HttpRequest:
02-09 21:28:56.978 2739 3820 W hpplay-java: [AsyncTask #17]:HttpRequest:
02-09 21:28:57.628 645 660 I mpu_uart: [MSG-P:RECV]:No message received in 1000 ms
02-09 21:28:57.943 0 0 W swapper/1: type=1400 audit(0.0:373): avc: denied { kill } for capability=5 scontext=u:r:kernel:s0 tcontext=u:r:kernel:s0 tclass=capability permissive=0
02-09 21:28:57.980 2739 2739 W hpplay-java: [main]:IPManager:getActiveNets invalid networkInfo:null
02-09 21:28:57.980 2739 2739 I hpplay-java: [main]:IPManager:getActiveNets eth0:false wifi:false mobile:false ap:false
02-09 21:28:57.980 2739 2739 I hpplay-java: [main]*:ServerTaskManager:get local ip:null*

#3 Updated by CD FW 曹覃刚 over 2 years ago

  • Category changed from BSP to LC
  • Assignee changed from CD FW 曹覃刚 to CD LC 陶洪普

Hi 普哥
BSP同学贴的日志,是投屏应用中网络请求相关的info日志和warning日志,与设备掉网,以及无法获取IP地址无关
--------------------
02-09 21:28:56.977 2739 2739 I hpplay-java: [main]:Bridge:findServiceID start out: 161402091
02-09 21:28:56.977 2739 2739 I hpplay-java: [main]:Bridge:findServiceID end
02-09 21:28:56.977 2739 2739 I hpplay-java: [main]:ServerTaskManager:onStop retry:true
02-09 21:28:56.977 2739 2739 I hpplay-java: [main]:ServerTaskManager:cancelTimeOutCheck
02-09 21:28:56.978 2739 3731 I hpplay-java: [AsyncTask #11]:NetworkReceiver:onReceive action: android.net.conn.CONNECTIVITY_CHANGE
02-09 21:28:56.978 2739 2739 W hpplay-java: [main]:IPManager:getActiveNets invalid networkInfo:null
02-09 21:28:56.978 2739 2739 I hpplay-java: [main]:IPManager:getActiveNets eth0:false wifi:false mobile:false ap:false
02-09 21:28:56.978 2739 3820 W hpplay-java: [AsyncTask #17]:HttpRequest:
02-09 21:28:56.978 2739 2739 W hpplay-java: [*main]:ServerTaskManager:exeTask startServer, need wait for ip*
02-09 21:28:56.978 2739 3820 W hpplay-java: [AsyncTask #17]:HttpRequest:
02-09 21:28:56.978 2739 3820 W hpplay-java: [AsyncTask #17]:HttpRequest:
02-09 21:28:57.628 645 660 I mpu_uart: [MSG-P:RECV]:No message received in 1000 ms
02-09 21:28:57.943 0 0 W swapper/1: type=1400 audit(0.0:373): avc: denied { kill } for capability=5 scontext=u:r:kernel:s0 tcontext=u:r:kernel:s0 tclass=capability permissive=0
02-09 21:28:57.980 2739 2739 W hpplay-java: [main]:IPManager:getActiveNets invalid networkInfo:null
02-09 21:28:57.980 2739 2739 I hpplay-java: [main]:IPManager:getActiveNets eth0:false wifi:false mobile:false ap:false
02-09 21:28:57.980 2739 2739 I hpplay-java: [main]*:ServerTaskManager:get local ip:null*
--------------------

这块属于网络相关问题,请帮忙从LC侧分析,感谢

#4 Updated by CD LC 陶洪普 over 2 years ago

分析:
1. 从视频 20230209-185649.mp4 10:54分

2. 日志中显示在 
10:54:09.686 Eth0 仍处于Up
10:54:17.909 IPManager:getActiveNets eth0:false 已经down
--------------------
012_persist_00023_230209_105407.log
02-09 10:54:09.686 1207 2326 I EthernetNetworkFactory: networkForRequest, request: NetworkRequest [ REQUEST id=33, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VCN_MANAGED Uid: 1000 RequestorUid: 1000 RequestorPkg: com.android.settings] ], network: NetworkInterfaceState{ refCount: 1, iface: eth0, up: true, hwAddress: 36:7c:7c:00:00:0f, networkCapabilities: [ Transports: ETHERNET Capabilities: NOT_METERED&INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN&NOT_ROAMING&NOT_CONGESTED&NOT_SUSPENDED&NOT_VCN_MANAGED LinkUpBandwidth>=100000Kbps LinkDnBandwidth>=100000Kbps], networkAgent: com.android.server.ethernet.EthernetNetworkFactory$NetworkInterfaceState$1@8a5845e, score: 70, ipClient: android.net.ip.IIpClient$Stub$Proxy@b82303f,linkProperties: {InterfaceName: eth0 LinkAddresses: [ fe80::f760:5929:c227:1593/64,192.168.11.35/23 ] DnsAddresses: [ /192.168.10.1,/61.139.2.69 ] Domains: null MTU: 0 ServerAddress: /192.168.10.1 TcpBufferSizes: 524288,1048576,3145728,524288,1048576,2097152 Routes: [ fe80::/64 -> :: eth0 mtu 0,192.168.10.0/23 -> 0.0.0.0 eth0 mtu 0,0.0.0.0/0 -> 192.168.10.1 eth0 mtu 0 ]}}
02-09 10:54:17.909 3270 3270 I hpplay-java: [main]:IPManager:getActiveNets eth0:false wifi:false mobile:false ap:false
02-09 10:54:24.734 3270 3270 I hpplay-java: [main]:IPManager:getActiveNets eth0:false wifi:false mobile:false ap:false

在10:54:09.690 触发了释放IP操作, 原因日志中看不出来.
02-09 10:54:09.690 2477 4375 D DhcpClient: doQuit
02-09 10:54:09.707 2477 4375 D DhcpClient: DHCP Packet Handler stopped
02-09 10:54:09.708 2477 4375 D DhcpClient: onQuitting

#5 Updated by CDTS-TEST 周婷 over 2 years ago

  • Due date set to 2023-02-18

#6 Updated by CD LC 陶洪普 over 2 years ago

02-09 10:54:09.690 2477 4375 D DhcpClient: doQuit
02-09 10:54:09.707 2477 4375 D DhcpClient: DHCP Packet Handler stopped
在doQuit中添加调用栈,确认释放原因.
userdebug版本未浮现,在Jenkins上编译user版本(02/13 Jenkins有问题,还在编译中)

#7 Updated by CD LC 陶洪普 over 2 years ago

与测试,AF同事复现了这个现象
- 在开机后, Eth获取地址, 打开Settings (焦点默认在左侧[网络与互联网])
- 选择左侧其他选项, 触发释放 Eth IP
- 回到 [网络与互联网] 后, 再触发重新去获取 Eth IP

在 userdebug版本上面步骤不复现.

AF同事在加调用栈, 分析IP释放原因.

#8 Updated by CD LC 陶洪普 over 2 years ago

目前进展:

Revert https://dev.thundercomm.com/gerrit/c/general/kernel/msm-4.19/+/166247 BSP:Ethernet: for 100M IOP test
后,在VB user版本中复测未浮现.
Revert patch : https://dev.thundercomm.com/gerrit/c/general/kernel/msm-4.19/+/181738
VB Image: ftp://dvbuild@10.0.76.28/home/scm/VerifyBuild/Pre_figure_turbox-c2130c-la1.1-qssi12-dev/20230215/202302152102-2595

http://jenkins.thundercomm.com/job/VerifyBuild_for_IOT_6490/2595/parameters/

在 中对perf 和 Debug config定义不同

下一步: 将 https://dev.thundercomm.com/gerrit/c/general/kernel/msm-4.19/+/166247 中在perf conf中配置也临时配置到debug版本中,方便复现和加快分析.

#9 Updated by CD TPM-王祥林 over 2 years ago

  • Target version set to VC1_FSE_0078_20230228

#10 Updated by CD LC 陶洪普 over 2 years ago

  • Due date changed from 2023-02-18 to 2023-02-22

# 确认该patch引入该Issue
https://dev.thundercomm.com/gerrit/c/general/kernel/msm-4.19/+/166247 BSP:Ethernet: for 100M IOP test

# 在userdebug版本中添加CONFIG,在userdebug版本中复现
https://dev.thundercomm.com/gerrit/c/general/kernel/msm-4.19/+/182149

  1. 在NetworkStack添加日志
    https://dev.thundercomm.com/gerrit/c/general/platform/packages/modules/NetworkStack/+/181463

在添加日志中,在Settings中[网络与英特网]好像与裁掉Tethering有一定关联,继续分析中.

#12 Updated by CD LC 陶洪普 over 2 years ago

  • % Done changed from 20 to 40

原因说明
在开机时,有一批应用或服务在绑定Network, BSP的100Mpatch改变了以太网口的状态on的时间(具体是什么变化,请文亮补充一下),未绑定成功,refCount为0, 在网络on后,其他服务未再次调用绑定,因此出现了进入Setting绑定,退出释放的动作,释放refCount为0是,触发释放IP 这个操作步骤模拟了这个流程(开始不连接,模拟这次修改推迟了on的时间)

结论:
分析对当前没有影响,当有应用或者服务重新调用时,可以再次申请地址.
也可以修改逻辑,永不释放IP.
修改方式确认中

详细请参照附件 Figure-116140-烧机启动获取IP地址后,操作设备点击Settings中的选项,设备掉网,IP地址消失.docx

#13 Updated by CD LC 陶洪普 over 2 years ago

  • Assignee changed from CD LC 陶洪普 to CD TPM-王祥林

Hi 祥林,

问题分析及处理方式请参照上面Comment中和附件 操作设备点击Settings中的选项,设备掉网,IP地址消失.docx 中描述.
对是否修改?修改期望的要求?
请确认,谢谢!

#14 Updated by CD TPM-王祥林 over 2 years ago

  • Assignee changed from CD TPM-王祥林 to CD LC 陶洪普

洪普

如沟通所说,以太网连接期间需要保持一直不掉网,请在计数为0的时候,改为不主动释放IP。

#17 Updated by CD LC 陶洪普 over 2 years ago

https://dev.thundercomm.com/gerrit/c/general/platform/frameworks/opt/net/ethernet/+/183995
背景: releaseNetworkFor的 network.refCount 为 0 时, 该网络判定不在需要, 调用network.stop()释放了IP地址
在Ethernet连接并后去地址后, refCount初始值为0,但releaseNetworkFor未被调用. 进入Setting, ++refCount, 退出Settings后, --refCount
因network.refCount 为 0, 调动了network.stop()释放了IP地址
修改: network.refCount < 0时, 才动network.stop()释放了IP地址, 因refCount不会小于0,因此不会主动释放Ethernet地址
验证: Pass
影响: 对其他网络连接无影响, Ethernet一直保持连接.

#18 Updated by IoT scm over 2 years ago

Gerrit Merge Information
ID Project Branch Uploader
183995 general/platform/frameworks/opt/net/ethernet Pre_figure_turbox-c2130c-la1.1-qssi12-dev
BSP:Ethernet: Keep connection all the time and do not disconnect actively
Ethernet is a built-in module of the device and needs to be connected
all the time. Don't disconnect actively.
TC-RID: 0301-0400602
IssueID: TS-R-BUG-116140
Change-Id: Iaab124ce0b68ee6bf744f4292f9611fa75924100

#19 Updated by CD LC 陶洪普 over 2 years ago

  • Status changed from ASSIGNED to RESOLVED
  • Assignee changed from CD LC 陶洪普 to 移动测试一组_CDTS 刘强
  • % Done changed from 40 to 70

Hi 刘强

patch已合入,
请使用20230228日DB或这个Release版本测试.
今天语音沟通的,请关注稳定性,是否还有其他因素断开等.谢谢!

#20 Updated by CD LC 陶洪普 over 2 years ago

  • Resolution changed from -- to FIXED

#21 Updated by 移动测试一组_CDTS 刘强 over 2 years ago

  • Status changed from RESOLVED to VERIFIED

验证版本:0078
验证结果:https://thundersoft.feishu.cn/sheets/shtcny12SqMcqB3HTDNd9lt2iJd
分别验证0054,0058,0063,0068,0073 OTA升级到最新的0078后,验证通过

#22 Updated by 移动测试一组_CDTS 刘强 over 2 years ago

  • Status changed from VERIFIED to CLOSED

Also available in: Atom PDF