红米note3的wifi断流/假死

日常使用note3的时,比如长时间浏览网页,点击一个链接会卡住不动,在等待十几秒之后才恢复。第一反应是不是网络不好?但是这种情况常常出现之后,对比其他的手机,比如价格更便宜的更低端的红米2, note3出现频率太高了些。严重影响到了日常的使用,且将这个现象称之为wifi“断流”或者“假死”。

如何证明这个手机“断流”“假死”的状况,用最简单的对照试验,排除网络状况不好的因素。在同一个网络状况下,同一地点、同一时间段,用数据包测试工具ping来测试两个手机。对比两个手机的测试统计数据。最好你可以把两个手机都还原到出厂状态。

先将两个手机的自动锁屏关掉,这样手机会常亮,将两个手机的上网其他程序都关闭,连接上wifi,打开一个终端管理器,保持终端管理器的前台运行,同时输入ping x.x.x.x (x.x.x.x为路由器地址)开始测试。

采集大量样本更有说服力,可以将测试时间延长,最后中止ping程序,会输出测试统计结果。中止方法(音量减小键 和 c 一起按),有的输入法有预输入框的,需要把c选中输出来。

好了来看一下我的结果,这种情况很容易复现,也就不截图了。看不懂结果的可以看最后的统计方式以及解释。

低端的红米2统计结果:

--- 172.16.1.1 ping statistics ---
288 packets transmitted, 288 received, 0% packet loss, time 287825ms
rtt min/avg/max/mdev = 1.708/16.491/61.316/5.387 ms

红米note3的统计结果:

--- 172.16.1.1 ping statistics ---
284 packets transmitted, 284 received, 0% packet loss, time 283361ms
rtt min/avg/max/mdev = 1.259/31.079/979.544/94.374 ms

统计方式以及解释

ping是一个数据包测试小工具,可以测试网络的连通速度,原理就是发一个包(互联网控制消息协议 缩写为icmp)到另外一个主机,然后主机返回一个包,计算往返时间差。

每发一个数据包,得到返回的数据包,然后输出时间差,比如这一条:

64 bytes from 172.16.1.1: icmp_seq=286 ttl=128 time=16.3 ms

发给172.16.1.1 64字节的数据包,往返时间为16.3ms,另外icmp_seq是icmp队列,每发一个出去就增加一个,给包计数。比如icmp_seq=286 表示这是发的第286个包。 ttl是time to life的缩写,每个一个hop减一,变成0就丢弃。现在只是往自己内网的路由发送数据包,路径一样忽略之。

看看红米2的统计信息

--- 172.16.1.1 ping statistics ---
288 packets transmitted, 288 received, 0% packet loss, time 287825ms
rtt min/avg/max/mdev = 1.708/16.491/61.316/5.387 ms

翻译如下:

ping 172.16.1.1的统计
共发送了288个数据包,接到返回288个,0%的丢失率,统计时长 287825毫秒,
往返时间(ms)最小值:1.708 平均值:16.491 最大值:61.316 平均差:5.387 ms

最后一个平均差反应了数据变动程度,值越大,说明越不稳定。

现在看看红米note3的:

rtt min/avg/max/mdev = 1.259/31.079/979.544/94.374 ms

平均差达到了94!还是刚刚刷的稳定版,想比如红米2的5.387 ms 来说,红米note3网络稳定程度可见一斑,简直就是不稳定,不能忍。

- - -

一些网友的截图反应,这个mdev的值基本上在80-110之间。

有的网友问mdev正常值是多少,或者其他值的正常值是多少。因为每个人的网络环境不一样,没有什么正常不正常的值,最好拿个其他的手机比一下。你就能看到差距,因为比较之后可以排除网络的因素。这样才能证明手机的网络的稳定性与其他手机的差距。

能优化吗?我试了试已经出了小半年的note2,也是存在断流问题的。更新到最新系统,一样不稳定。至于说和无线路由兼容,无线网络协议都是向下兼容的,还有说什么草案的,感觉更扯。

- - -

关于与无线路由的兼容性问题,因为并不懂,今天听到专业的网友提到了,说标准和兼容分开的。也许意思就是大家做东西不一定就完全遵守标准吧,就像浏览器一样不兼容w3c的很常见吧。说可以直接和PC wifi direct连接测试,排除路由的兼容原因。

- - -

和一个自称做过此款芯片手机开发,知道mt6795 wifi断流问题的人通了邮件,他说,断流和wifi辅助定位/后台扫描周围wifi相关,可是关闭了定位服务依然会出现大的延时。因为辅助定位依靠扫描周围wifi功能的,所以怀疑有app后台扫描周围wifi。

开始观察延时的变化情况。

观察延时的值可以发现,是有规律的,会大概50几个(正常每个20ms)左右就会出现一个大延迟的情况。

试了300个。大于100ms的:
No.    ms
050 - 389
110 - 246
169 - 1421
170 - 421
187 - 579
208 - 1034
229 - 1163
230 - 154
288 - 421
289 - 313

为了观察延时增加是否和扫描有关,于是,一边手动扫描wifi,同时ping网关,延时增加到数百上千的频率很高,似乎扫描周围wifi确实可以影响延时。

红米note3的wifi断流或假死的更多相关文章

  1. MIUI7 系统应用精简(米5、红米note3)

    1.由于安装的部分应用在root后无法使用,所以自己一直不能使用MIUI的开发版本. 2.前段时间米5升级MIUI8,实在是用着不咋地,耗电,王者还掉帧,于是降级miui7 3.被逼走上了刷机路. 1 ...

  2. tomcat 假死现象(转)

    1.1 编写目的 为了方便大家以后发现进程假死的时候能够正常的分析并且第一时间保留现场快照. 1.2编写背景 最近服务器发现tomcat的应用会偶尔出现无法访问的情况.经过一段时间的观察最近又发现有台 ...

  3. 解决Windows 8系统假死的方法

    大部分半卡死的现象是因为Dynamic Tick的一个Bug.Dynamic Tick是NT 6.2内核的一个新功能(其实Linux早就有了),原理的话大概是在空闲的时候把CPU完全暂停,来节省电量. ...

  4. setTimeout 导致的浏览器假死

    问题   前几天,同事遇到一个浏览器假死的问题.就是浏览器在响应一个请求的时候,就突然不响应时间,进入假死状态,Cup也飙升到100%. 但是这个问题只出现在IE浏览器,chrome和Firefox等 ...

  5. 关于多线程情况下Net-SNMP v3 版本导致进程假死情况的跟踪与分析

    1.问题描述 在使用net-snmp对交换机进行扫描的时候经常会出现进程假死的情况(就是进程并没有死掉,但是看不到它与外界进行任何的数据交互).这时候不知道进程内部发生了什么,虽然有日志信息,但进程已 ...

  6. TCP 连接的 TIME_WAIT 过多 导致 Tomcat 假死

    最近系统二次开发之后,发现使用的 Tomcat 7 会经常假死.前端点击页面无任何反应,打开firebug,很多链接一直在等待服务器的反应.查看服务器的状态,CPU占用很少,最多不超过10%,一般只有 ...

  7. IIS7.5解决应用程序池回收假死问题

    使用windows server 2008 r2解决回收假死的问题. 具体做法是: 打开应用程序池 -> 高级设置 ->在“禁止重叠回收”里选择“true”,这样就有效避免了应用程序池回收 ...

  8. 解决xcode打开时loading假死的问题

    症状如下: 点击打开xcode后,就一直会看到loading,但是CPU消耗很高,基本上就是死了(动弹不得),通过活动监测器看到xcode显示为“未响应” 以为是安装程序的问题,结果选中xcode拉到 ...

  9. C# winform窗体假死

    C#  winform窗体假死 我们经常会遇到当执行一个比较大的函数时,窗体会出现假死的现象,给用户的体验不是很好,于是我们遇到了问题,那么就必须解决,我们该如何解决呢,首先在自己的脑里画个问号,接下 ...

随机推荐

  1. an error occurred during the file system check错误的解决

    [root@GIT ~]# fsck -A /dev/mapper/VolGroup-lv_root 下面的选择,一路Y就行了,最后reboot,问题解决!

  2. JUC回顾之-ScheduledThreadPoolExecutor底层实现原理和应用

    项目中经常使用定时器,比如每隔一段时间清理下线过期的F码,或者应用timer定期查询MQ在数据库的配置,根据不同version实现配置的实时更新等等.但是timer是存在一些缺陷的,因为Timer在执 ...

  3. 菜鸟学Linux命令:find命令 查找文件

    find命令是Linux下最常用的命令之一,灵活的使用find命令,你会发现查找文件变得十分简单. 命令格式 find [指定查找目录]  [查找规则(选项)]  [查找完后执行的动作] 参数规则 - ...

  4. 操作JNI函数以及复杂对象传递

    转自:http://blog.csdn.net/qinjuning/article/details/7607214 在掌握了JNI函数的使用和相关类型的映射后,以及知晓何利用javah工具生成对应的j ...

  5. C与C++的细微区别——省略形式参数名

    转自:http://www.cppblog.com/ownwaterloo/archive/2009/04/26/omit_parameter_name.html 一.C与C++的细微区别 在函数声明 ...

  6. HDU 2819 — Swap 二分匹配

    Swap Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  7. CC2540开发板学习笔记(三)——外部中断

    一.实验内容 通过外部中断方式依次按下按键S1控制LED1的亮灭 二.实验过程 1.电路原理图同上 2.中断的概念 比如说我们在执行main函数时,突然来了个指令.优先级比现在执行的main还高,那我 ...

  8. 【HTML5】拖放(Drag 和 drop)

    效果图: <!DOCTYPE HTML> <html> <head> <style type="text/css"> #div1 { ...

  9. MySQL 安装 启动命令总结

    MySQL 安装 启动 基本语法概述 MySQL安装和配置 我是直接使用安装包:mysql-installer-community-5.6.10.1.msi 安装的时候其中有几点要注意: 1.记住端口 ...

  10. oracle和mssql中复制表的比较

    库内数据复制MS SQL Server: Insert into 复制表名称 select 语句 (复制表已经存在)select 字段列表 into 复制表名称 from 表 (复制表不存在) Ora ...