本来已经ssh进去了,结果手贱改了网络配置,出来之后就再也进不去了。能ping,能连无线,但nmap扫描没有一个端口是开放的。

幸而很快搞到一条串口线,弄来multimeter确定了4个PIN都是什么。结果如下图:

mr11u.png

登陆进去之后发现是iptables在捣鬼。OpenWrt里面预设的配置是按照接口来的,只改了接口没有改相应的chain,当然会出事了。没有刷成砖,却直接改成砖了,真是蛋疼。

然后就刷个新rom上去好了。MR11U可以直接用WR703N的rom,只是需要改一下固件头。方法是:

  1. 下载想要刷进去的WR703N的rom;

  2. 用hexedit打开,找到[0x40, 0x43]这个区间,改成(00, 11, 01, 01)。再找到[0x44, 0x47],改成(00, 00, 00, 01)。猜测前一个是产品型号,后一个是版本号。保存;

  3. 下载fixsum。这个工具是lark最初为WR941N写的,所以需要做些修改。把常量FW_FILENAME改成”mr11u.bin”,check_version部分的常量改成0x00110101,check_sig部分的常量改成0x1。然后在Makefile里关闭交叉编译。如果懒得改,可以用我改好的这个(link1 link2)(只适用于MR11U)。

  4. 编译,生成可执行程序fixsum。将刚才保存的固件重命名为mr11u.bin,放在和fixsum相同的目录下。运行fixsum。

fixsum会直接修改固件,所以没有生成新文件。这时候这个mr11u.bin就可以直接在官方rom里网刷了。

如果不需要网刷,估计直接把WR703N的固件扔进去也没问题,但我没试过。至于fixsum的原理么,lark的代码里面已经写的很清楚了,就是先用key填固件的[0x4c, 0x5c)这个区域,然后算个MD5再填回去。

想直接刷的可以下载我修改好的rom(link1 link2)。没有LuCI,但是有1.3M的剩余空间,自己爱装什么装什么吧。