HG255D 300m无线路由价格便宜、功能强大、可玩性很强,带一个USB接口,可以接硬盘、U盘和无线网卡。 这个路由可以刷的固件有很多,基本上以OpenWrt为主的定制版本,比较出名的有PandoraBox、Dreambox等,常见的固件下载可以参考华为HG255d全固件集合贴。上述帖子中没有提到dd-wrt,其实dd-wrt也是支持的,虽然dd-wrt没有直接提供官方支持的固件,但它的硬件和Asus RT-N13U B1比较接近,可直接刷该型号的的固件。 带USB接口的好处就是,没有普通路由有存储空间的限制了,你甚至可以修改fstab,把整个固件都放在U盘上。如果你接上机械硬盘的话,要使用大功率的电源,或者将机械硬盘外接一个电源。

1 更换uboot

lintel做的uboot是最好用的,基本上是刷不死的,集成了dhcp服务器,开机按住wps,等待指示灯不停地闪烁就可进入刷机模式,刷机地址http://192.168.1.1

2 TTL刷机教程

默认波特率是115200 TTL接法

3 编译OpenWrt固件或软件

OpenWrt官方的交叉编译工具直接支持这个型号。我就曾经利用这个交叉编译工具编译了最新的OpenWrt固件、node.js以及加入混淆加密的ssh翻墙工具,编译固件可以参考《编译HG255D的openwrt固件》和node.js可以参考我的csdn博客交叉编译Node.js到OpenWrt(HG255D)

编译最新版chaos calmer的固件,现在已经很简单了,只需要修改一个地方就可以编译出HG255D的固件。 找到target/linux/ramips/image/rt305x.mk文件,找到Image/Build/Profile/HG255D=\((call BuildFirmware/Default16M/\)(1),$(1),hg255d,HG255D),将注释去掉就可以了。

如果想刷好固件后默认打开wifi,可以修改以下文件 package/kernel/mac80211/files/lib/wifi/mac80211.sh 查找option disabled 1,替换为option disabled 0即可。

为了方便管理源代码,可以通过git来管理自己的分支。

git branch hg255d
git checkout hg255d
vim tartget/linux/rampips/images/rt305x.mk
#查找255型号路由
/255
#去掉该行注释
vim package/kernel/mac80211/files/lib/wifi/mac80211.sh
#查找wifi开启选项
/disabled
#将option disabled 1改为option disabled 0
git add .
git commit -m "complile hg255d image."

4 安装配置dd-wrt

dd-wrt的无线中继功能在稳定性和性能上都是最出色,我家里宽带是的50M光纤安装在一楼,300M无线光猫并不能很好地覆盖两层楼。为了避免铺设网线的麻烦,二楼无线信号的覆盖决定采用无线中继的方式来解决。OpenWrt和dd-wrt我都测试过,dd-wrt的速度要快得多,dd-wrt最新的固件下载地址:ftp://ftp.dd-wrt.com/betas/2016/03-28-2016-r29362/asus-rtn13ub1/

4.1 安装optware

如果你觉得dd-wrt缺少你常用的工具,你可以安装optware来安装其他OpenWrt下常用的工具。插一只u盘,然后在服务中设置启用USB支持,在Mount this Partition to /opt填上你U盘分区的UUID。

wget http://www.3iii.dk/linux/optware/optware-install-ddwrt.sh -O - | tr -d '\r' > /tmp/optware-install.sh
sh /tmp/optware-install.sh
ipkg update
ipkg list
ipkg install wget

4.2 拦截广告

以下教程是来自网络上的教程《DD-WRT 路由器拦截广告教程》,但由于chinalistlazy的内容来自于googlecode,现在已经无法下载,我更改为其他下载链接,另外因为busybox内置的wget功能太弱,不支持下载https的链接,需要通过optware安装完整功能的wget。

  1. 进入 DD-WRT 网页管理界面,Services(服务) -> Services(服务),DNSMasq 和 Local DNS(本地 DNS) 均设置成 Enable (启用)。滚到页面底部保存。
  2. telnet 192.168.1.1登录到路由器,安装wget并下载adblock的chinalist+easylist.txt,转换为dnsmasq的配置文件。
ipkg update
ipkg install wget
/opt/bin/wget --no-check-certificate -O - https://easylist-downloads.adblockplus.org/chinalist+easylist.txt |
grep ^\|\|[^\*]*\^$ |
sed -e 's:||:address\=\/:' -e 's:\^:/127\.0\.0\.1:' > /opt/dnsmasq.ads
  1. 进入 DD-WRT 网页管理界面,Administration -> Commands,贴入如下脚本后,Save Startup:
#!/bin/sh
#logger WAN up script executing
#!/bin/sh
if test -e /opt/dnsmasq.ads;then
grep conf-file /tmp/dnsmasq.conf || echo -e "\nconf-file=/opt/dnsmasq.ads" >> /tmp/dnsmasq.conf
logger Restarting dnsmasq
killall dnsmasq
dnsmasq --conf-file=/tmp/dnsmasq.conf
fi

上面其实是做了一个启动脚本,在路由器每次启动时运行。意思是,启动时把下载到/opt的chinalist+easylist.txt,转换生成 dnsmasq 配置文件,再告知 dnsmasq 调用。 4.进入 DD-WRT 网页管理界面,Administration -> Management, 找到 cron,enable, 然后在下面”Additional Cron Jobs”贴入

* 1 * * * root /tmp/.rc_startup

页面滚到底,保存,重启路由器。连上路由,清空浏览器缓存后访问几个大网站看看,屏蔽效果应该相当明显的。

Last Updated 2018-10-14 日 23:38.
Created by Emacs 25.1.1 (Org mode 9.1.14)