好吧,自问自答一下。
这两天又研究了好一阵子,发现事实如下:
刷了openwrt之后,mtd分区状况实际上只需要理解为:uboot、firmware和art,三者以此顺序占用原厂ROM的4M空间。
各位刷openwrt的时候,只要是按照各种说明,只是刷写 squashfs-factory.bin or squashfs-sysupgrade.bin,没有动过别的区,那么uboot和art应该就是保持了原厂的状态。所以理论上只要刷官方网站的固件到firmware即可。
我之前遇到的问题是,用mtd命令刷原厂时提示:Failed to erase block
为了避免风险,如果大家遇到这样的问题千万万千不要重启路由,否则万一不幸就只能焊线刷TTL了。我当时面对这种情况,果断把openwrt固件传过去,重新mtd命令再刷一次openwrt,所幸才安然无恙。
注意,刷系统一旦出现报错,千万不要乱动,尽可能用之前成功的固件恢复到一个肯定能正常启动的状态。
问题的原因是,我当时秀逗了,死脑筋非要刷原厂最新固件,注意wr703nv1的最新固件,固件大小和firmware空间大小不一致!而且是比空间要大,所以才会出现擦除错误。
解决方案是,改成刷TL-WR703N V1_120925标准版,哦,其实刷哪版无所谓啦,注意固件大小是3932160字节,基本就应该OK了,120925固件我亲手确认了一步到位,升级OK。
然后再上路由页面上刷到最新版本……
互刷成功,大家可以嘻刷刷走起啦!