Geek
码农日记:只有下雨天才能用的Wi-Fi
作者回家探望父母时,发现家中Wi-Fi只有下雨天才好用,经过一番调试,发现原来是邻居的树挡住了信号,雨水让树枝下垂,信号得以通过。
“我们家的Wi-Fi只有下雨天才能用。”当我问爸爸家里网络连接出了什么问题时,他这样说道。“只有下雨天,Wi-Fi才能正常工作。”
让我们后退几步,这样我们才能对这个荒谬的情况达成一致的认识。
当时我还是一名大学生,那已经是十多年前的事了。在秋季学期开始之前,我回到了家,打算和父母呆上几个星期。我快一年没回家了,因为家和学校位于不同的洲。
我爸是一位工程师,在我出生之前就一直在摆弄网络设备。他创办的公司设计并部署了全国各地的各种复杂网络系统,从办公楼的千兆位以太网到视线微波链路上的城际连接,无所不包。
他是地球上最后一个会说出像“魔法思维”这样的话的人。
“什么?”我惊得说不出话。“Wi-Fi只有下雨天才好用?”他耐心地重复道,“这问题两周前就开始了,我还没来得及查看。”
“不可能,”我说。如果有什么影响的话,雨只会让无线信号质量更差,绝不会更好!永远不会更好!
没有可靠的网络连接两周?我开始经历一系列的悲伤阶段...
否认
我打开笔记本电脑,开始检查网络。
ping任何网站都会出现 98% 的丢包率。网络连接仍然存在,但只是以一种最令人讨厌的“技术上准确”的方式存在。当你有 98% 的丢包率时,什么都加载不了!网络基本上已经瘫痪了。
我很难受。我几个月前刚开始和某个人约会,而她现在正处于地球的另一边!我该怎么解释,因为不下雨我没办法保持联系?
我在屋子里走来走去,怒气冲天。悲伤,第二阶段!
正巧这时,雨开始下了。
讨价还价
奇迹般地,雨开始后的 5 分钟内,丢包率就降到了 0%!
我不敢相信自己的眼睛!我随时准备着连接中断,所以我一下子打开了无数个标签页——就好像我平时不这样做一样……
雨大约下了个把小时,网络连接也维持了大约一个小时。
然后,雨停后大约 15 分钟,丢包率又飙升到 90% 以上。网络连接再次无法使用。
我几乎愿意做任何事来让更多雨落下。
值得庆幸的是,接下来的几天天气一直阴沉灰暗。每次都是同样的模式:
* 雨开始,几分钟后网络连接就变得清晰快速。
* 雨停了,15 分钟之内网络连接就再次无法使用。
尽管我不想承认,但证据确凿。Wi-Fi只有下雨天才能用!
此时,我需要做出一个选择。
我可以继续经历悲伤的各个阶段:我可以闷闷不乐,并根据天气预报来计划和女友的通话。
或者,我可以走出这种恶性循环,弄清楚到底发生了什么。
“去他的魔法思维!我到底是不是个工程师?”我对自己说。
就这样决定了。我不会坐以待毙。
决心
让我们先来了解一下我们家里的网络设置。
还记得我爸的公司在网络解决方案方面拥有丰富经验吗?嗯,我们家里的网络设置也很高级,而且运行了将近 10 年,一直完美无缺!
我爸的办公室有一个非常昂贵、非常快速的商用互联网连接。
与此同时,我们家的网络选择并不好!我们家的人通常非常固执,除非别无选择,否则绝不会降低标准。
办公室和我们的公寓相隔几个街区,中间隔着一个小山坡,我们位于二楼的公寓占据了制高点。经过一番努力,我爸在办公室和我们家公寓之间建立了一个视距 Wi-Fi 桥接器——一对高增益定向 Wi-Fi 天线互相指向。这让我们在家也能享受更快的商用网络连接!
我开始检查网络,想找出连接中断的原因。
家里的本地 Wi-Fi 路由器工作良好,没有丢包。Wi-Fi 桥接器本地端也没问题。
但是 ping Wi-Fi 桥接器的远程端显示 90% 以上的丢包率,ping 它后面的任何网络设备也是如此。啊哈,Wi-Fi 桥接器出问题了!
但问题出在哪里呢?为什么现在会出现问题,而系统在过去 10 年里一直运行良好,无论晴雨?
雨天怎么会修复 Wi-Fi 桥接器?
这么多令人困惑的问题。是时候寻找答案了!
调试
像任何经验丰富的工程师一样,我首先尝试的是关闭所有设备,然后再重新打开。但这没有奏效。
然后,我逐个检查了网络上的所有设备:
* 是不是其中一台设备老化了?不是。
* 是不是电缆松脱了?不是。
* 是不是电源砖长时间使用后变得故障?不是。
* 是不是自动固件更新失败并导致了一些问题?不是。
* 是不是天线连接器由于多年暴露在户外而腐蚀了?不是。
与调试软件不同,很多硬件调试工作非常繁琐。我不得不爬梯子,追踪 10 年没碰过的电缆,并在家里和爸爸的办公室之间来回走动。
在我第 N 次来回走动时,由于无聊和烦躁,我开始注意到多年来我们家附近发生了多少变化。
许多房子都重新粉刷了一次。曾经只是树苗的树木已经长得高大挺拔。
突然,我明白了。
顿悟
我跑回家,爬上支撑 Wi-Fi 桥接器天线的脚手架。我摇摇欲坠地挂在公寓楼的侧面,两层楼高的地方。
然后我向下看,看到了构成 Wi-Fi 桥接器另一半的天线。
或者说,至少是朝向天线的方向,因为我根本看不见它——邻居院子里的树挡住了它!它最顶端的树枝在两根天线之间的视线范围内来回摇摆。
Bingo!
问题和解决方案
事情是这样的。
多年前,我们安装了 Wi-Fi 桥接器。很长一段时间,一切都很顺利!
但每年,邻居的树都长得越来越高。在我那个夏天回家之前不久,它最顶端的树枝已经长到足以干扰我们的 Wi-Fi 信号。
然而,它还不足以完全干扰信号!
每次下雨时,雨水会聚集在树叶和树枝上,将它们压低。额外的重量将它们弯曲,移出了 Wi-Fi 视线范围!
每次雨停后,雨水会继续从树上滴落。慢慢地,在 15 分钟左右的时间里,这会减轻树的负担,让它重新回到我们比特和字节的路径上。这时,Wi-Fi 就停止工作了。
解决方案很简单:升级我们的硬件。我们用新的 802.11n 设备替换了旧的 802.11g 设备,这些设备利用新的数学和物理手段,使信号更具抗干扰性。
几天后,新设备到了,我迫不及待地爬上脚手架安装新天线。
几个螺丝、扎带和电缆连接后,Wi-Fi 的“链路建立”指示灯再次闪烁着绿色。
这一次,天没有下雨。
一切都恢复正常了。