肇鑫的日常博客

日常

网件R8000路由刷第三方固件,从入门到放弃

使用这个路由已经4年多了,期间多次尝试过第三方固件。前几次都是因为刷完固件之后,无线网掉速严重,最后又刷回了官方的。

网件R8000这个路由还是很不错的。当年,还在小伙伴们信誓旦旦地说房子装修一定要埋百兆有线,因为无线路由的文件复制速度只有几MB/s的时候。我已经用上了苹果的时光胶囊,我的时光胶囊是802.11n版本的,内网复制文件速度大概20MB/s左右。从时光胶囊换成网件R8000,速度变成了50-60MB/s。

上个月下旬,网件发布了R8000的新固件。令人意外的是,除了常规的错误修正外,网件还移除了R8000原本自带的多项功能。

netgear_r8000_firmware_1.0.4.46

去功能这件事,让我对于网件的好感大减。不过好在我也可以不升级啊。

也许是多事之秋吧。几天之后我就遇到了印象中从来没有过的无法登录路由管理界面的问题,我最终不得不关掉了电源重开机。

这使得我不得不重新面对这个更新。“错误修正:修正了重负载下的稳定性问题。”也许我需要的就是这个。从心的我安装了新的更新。

不过,此时我的内心已经再次对于第三方固件蠢蠢欲动了。

为什么要使用第三方固件?

对于我有两大理由:SS和去广告。虽然我已经在每个设备都安装了SS,但是如果每次创建一个虚拟机,都需要装一次SS也是挺麻烦的事情。至于去广告,因为最新版macOS的Safari已经没法通过浏览器完美去广告了。我现在使用的收费的AdGuard。因此,我对于新的去广告的方式总是保持开放态度。

选择哪个第三方固件?

第三方的固件有很多,最大的是DD-WRT、OpenWRT和Merlin。我的选择的OpenWRT。

安装OpenWRT

上贼船总是比下贼船要容易的。按照这里的提示就能按照OpenWRT了。简述步骤如下:

备份旧版并恢复到出厂

  1. 现在来到这个界面,备份当前固件的设置。
  2. 然后选择恢复到出厂。

netgear_r8000_backup_and_restore_factory

安装OpenWRT固件

重新进入路由后,选择左侧升级路由,上传你下好的OpenWRT固件,等待刷完之后。输入192.168.1.1。

设定一个管理员密码之后,就可以使用新固件了。

如果你看到这里还不知道我在说什么。那么我强烈建议你使用原厂固件。不要折腾了。

失败的尝试

用了两天的时间,我尝试了我曾经想用的SS和去广告功能。结果都不令人满意。在路由上开启SS的最大问题就是不够灵活,每次要修改都需要通过路由的设置界面。而去广告就更别提了,开了去广告之后,我的YouTube的首页几乎处于无法打开的状态。也许是路由的性能不够强吧。

但是以上两点并不是我放弃第三方固件的根本原因。因为,就算这两个功能都不够好用,也顶多没有额外的加分。实际上,第三方的路由还是有好处的。比如我使用原厂固件的时候,如果iOS开小火箭,访问微博的时候,图片和视频加载就会很慢。但是使用第三方固件没有这个问题。

导致我不得不返回原厂的原因是,无线的覆盖出现了问题。使用原厂路由的时候,我家里的任何角落都是有信号的。但是换成了第三方的固件之后,我躺在床上的时候,iPad Pro的网就不稳定了,经常断流。我必须刷回原厂了。

艰难的返回原厂之路

tftp刷机大法

OpenWRT的网站似乎不是很鼓励刷回原厂,它的WiKi上没提如何刷回原厂。论坛中帖子提到刷原厂,也只是提到网件官方的一个使用tftp刷机的办法,针对的是变砖的机器。如果你是Mac用户,还需要同时参考这篇

简述一下这个方法:

  1. 通过有线连接路由,手动指定静态ip。
  2. 移除与路由相连的其它设备的网线,只留刷机的这台机器的。
  3. 关路由,等10秒,重开路由。观察路由上的电源灯,当灯变成黄色时(也称琥珀色,可能是常亮也可能是闪烁,根据型号的不同),开始刷机。

我反复尝试了很多次这个方法,都没成功。路由始终能ping通,但是就是无法传数据上去。

迂回之路,使用DD-WRT

OpenWRT的管理程序,不能够刷机网件原厂的固件,提示格式不对。但是DD-WRT的固件可以。而OpenWRT的固件,可以通过DD-WRT的升级固件,转成DD-WRT。于是我有了一个大胆的想法。

  1. 重置OpenWRT固件。(重置之前先备份,万一你没成功只能回来呢?)
  2. 升级固件,选择下好的DD-WRT升级固件
  3. 多等待一些时间。保守估计5分钟,怕不保险可以等10分钟。清空浏览器的缓存,输入192.168.1.1。

注意:这里必须清空浏览器的缓存。不然无法看到DD-WRT的管理界面。只能看到OpenWRT的管理界面说连不上。

进入管理界面,重置设置。然后刷新网件原厂的固件,再重置,再恢复一开始的备份,就一切恢复原状了。

关于刷机的一些额外说明

每次刷机的步骤是:

  1. 备份旧固件设置。
  2. 重置旧固件到出厂。
  3. 刷新新固件。
  4. 重置新固件到出厂。
  5. 开始使用。

每次都额外的重置固件,原因是怕有残余的设置干扰。

此外,如果你忘记了固件的密码,无法登录路由。可以找一个牙签,捅住路由电源按钮旁边的复位开关,一般15秒就可以了。

R8000的5G热点1的性能问题

如果你单独使用R8000每个热点的话,你会发现5G的热点1,即对应数字40左右的那个,性能会比149左右的性能要差。5G热点1有时最高只能开到40Mhz的带宽,而不能想5G热点2那样开到80Mhz的带宽。

解决的办法很简单,将频段的国家从中国或者其它的设置,改成美国,然后点击应用就可以了。

参考资料

为MWeb添加图片点击新窗口打开大图的功能

最近写文章需要在博客中插入较大的图片,如果用户可以点击看到大图,则可以看到更多的细节。实现步骤如下:

创建JavaScript代码文件

  1. 用文本编辑器(比如macOS自带的TextEdit)创建一个新文件,保存它到下载文件夹,并命名为dealing_images.js
  2. 复制下面的代码到上面提到的js文件,保存并关闭这个文件。
function openInNewWindow(image) {
  window.open(image.src);
}

var images = document.querySelectorAll("img");
var index;

for (index = 0; index < images.length; index++) {
  let image = images[index];

  if (image.src.includes("/media/")) {
    image.addEventListener("click", function() { openInNewWindow(image); }, true)
  }
}

复制文件到对应文件夹

  1. 右键点击你要修改的网站对应的MWeb的分类,点编辑。
  2. 在弹出的窗口中,点击主题最右侧的编辑。这时MWeb会自动打开Finder窗口。
  3. 进入选择你网站正在使用的主题。然后复制dealing_images.js到主题所在的assets/js/文件夹。

添加脚本到生成html文件的模版

  1. 同样是刚刚的主题所在的文件夹,用文本编辑器打开footer.html文件。
  2. 在文件的末尾的</body></html>行之间,插入脚本。
<script src="asset/js/dealing_images.js"></script>

最终效果如下。

</body>
<script src="asset/js/dealing_images.js"></script>
</html>

重新生成网站

  1. 回到MWeb,右键点击网站对应的分类,选择清空并重建网站
  2. 然后再次右键,选择预览网站。就可以看到效果了。

修改完成后,第一次必须清空并重建网站,不然的话,dealing_images.js不会被复制到MWeb搜生成的文件夹里。

一件小事

一周多以前买柯南剧场版电影票的时候,我特意查了天气,周五的降水概率只有20%。但是昨天却下了几乎一白天的雨,到下午5点多,雨才停。

看完电影回家的路上,遇到一件小事。

当时我坐190从宁山路往北走。大概过了一两站,车后门有一位女乘客准备下车。车到站了,但是车后门迟迟没开。司机高喊:“到前门下车。”女乘客有点儿懵。沈阳自打执行无人售票以来,20多年的时间,一直是前门上车,后门下车。一开始的时候还有人不懂,但是到了现在,这套规矩已经深深地在人们的心中扎了根。

女乘客还在等后门开。司机又喊了两声:“从前门下。”女乘客往前门迈了半步,然后又180度转了回来。大概是觉得自己听错了。我觉得如果是我,也有可能觉得听错了。因为后门下车是规矩,并且人下车的时候,注意力都集中在车什么时候停稳,车门什么时候开,旁边人的说话都是自动忽略的。除非有人拍自己肩膀,问:“下车吗?”,不然不会注意到别人说了什么。

司机开始不耐烦,说:“多大岁数啦?咋还耳背啊?前门下车!”车上有个中年男乘客也在帮腔:“你去前门下。他这后门不好开。前门下车。”

原来是这样,我思考到。我上车之后就坐在了紧挨后门靠后的座位上,之前一直没看到有人下车,所以现在才知道原来后门坏了,只能从前门下。不过,我还是对于司机的态度不以为然。你车后门坏了,应该贴通知啊,至少也应该提前说明,怎么都到站了,人家都准备下车了,你才说呢?这位女乘客也没有做错任何事啊。你不耐烦个什么!

女乘客终于从前门下了车。之前那位帮腔的中年男士又不依不饶补了句:“这是中午喝了酒,上头了,反应迟钝。”说没说完就自己先笑了起来。但是没人理他,他就又安静了下来。

汽车继续行驶,又到了两站,后门每次都能正常开关。我想,这后门也没坏啊。怎么刚刚只开前门?转念一想,我明白了。应该是刚才那个车站,后门的位置下雨过后积水较深,所以司机好心地没有按照规矩开后门,让女乘客从前门走。

但是你这个好心,并没有办成好事啊。恐怕那位女乘客回到家还是满头雾水吧。甚至还会和家人抱怨司机两句。如果是我,也一定会抱怨的。因为司机只说前门下车,没有说明原因,甚至最后语气还很不耐烦。

所谓情商低,就是这种吧。明明是好心,却不懂沟通、不擅表达,结果得到好处的人,连感谢都不会有,甚至还可能产生反感。但是,这样的结果,只是公交司机个人的问题吗?如果公交公司,能够在对司机职业培训时,进行对应的训练,让他们至少能做到说清楚原因,是不是就会少一些这种误会,也能让司机与乘客之间的关系,更加和谐。