Bug #116140
【BSP】【EVT3】【ST】【Eth0】User版本烧机启动获取IP地址后,操作设备点击Settings中的选项,设备掉网,IP地址消失
Status: | CLOSED | Start date: | 2023-02-09 | ||
---|---|---|---|---|---|
Priority: | High | Due 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版本复现该问题
History
#1 Updated by 移动测试一组_CDTS 刘强 over 2 years ago
- File new 4 added
#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
- 在NetworkStack添加日志
https://dev.thundercomm.com/gerrit/c/general/platform/packages/modules/NetworkStack/+/181463
在添加日志中,在Settings中[网络与英特网]好像与裁掉Tethering有一定关联,继续分析中.
#11 Updated by CD LC 陶洪普 over 2 years ago
#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。
#15 Updated by CD LC 陶洪普 over 2 years ago
#16 Updated by CD LC 陶洪普 over 2 years ago
#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
ID | Project | Branch | Uploader |
183995 | general/platform/frameworks/opt/net/ethernet | Pre_figure_turbox-c2130c-la1.1-qssi12-dev | taohp0107@thundersoft.com |
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