Linksys WRT1200AC救磚經驗

說來一言難盡,最近在wrt1200ac上持續折騰DSA驅動和網橋+vlan設置,終於在某次編譯內核打開了bridge vlan filtering以後,路由陷入了boot loop:正常引導到載入網路配置以後,我的某個網橋配置會導致kernel oops,於是無限重啟。

雖然能正常啟動,但和變磚並無實質區別。wrt1200ac/1900ac系列本身是雙flash互為主從備份,切換到備用flash啟動的秘技是在開機狀態下長按15秒reset鍵複位,再連續快速開關電源三次。我因為能正常啟動但立刻重啟,reset鍵永遠按不夠15秒,嘗試多次後仍然是boot loop。

就只能接TTL串口進boot loader刷機了。拆機接線與刷機的教程都有現成的:

  • 拆機:github.com/Chadster766/
  • 刷機:github.com/Chadster766/

有幾點值得一提的:

  • 1200ac的TTL串口位置與上面網頁中1900ac的稍有不同,區別是1200隻需要取下前面板,串口位置是完全暴露的,不需要再取下上蓋。

  • 針腳定義方面完全一樣。第1、2、4針分別接TTL USB轉接器的地線,RX與TX。也就是說2/4針是路由的TX/RX,不要被上面網頁中的圖弄混淆了。

  • 路由的TTL串口針腳是2mm針距的,如果你的線是2.54mm,可以像我一樣勉強接上,但最好還是花幾塊錢買2.54mm轉2mm的杜邦線。
  • 不知道為什麼,我手上的CH340晶元的TTL USB接上路由以後,wrt1200ac就無法啟動,現象是電源指示燈亮,eSATA指示燈亮。我搜到Linksys支持論壇上有人在問一樣的情況但沒人解答。還好我運氣好,發現可以先不接TTL線,打開路由開關後再馬上接上,還來得及在3秒內中止啟動進入bootloader。
  • 在bootloader里設置待刷的img文件名是使用 set firmwareName <文件名> 而不是上面網頁中提到的 set firmware_name <文件名> (別問我怎麼發現的)。
  • 我的老X200 Thinkpad + Windows 10 x86下面,不知道為什麼tftpd32始終無法發送數據,一直停在0位元組,換成用MBP內建的tftpd才刷機成功。
  • MBP + macOS 10.12 (Sierra)需要安裝的CH340 TTL USB驅動在 github.com/adrianmihalk

總之,花個幾塊錢常備個TTL轉USB的適配器,以及各種規格的杜邦線,還是很有必要的。

推薦閱讀:

openwrt配置IPV6 NAT&&修改hosts
路由器廠商為何不(在硬體條件允許的情況下)使用類似 DD-WRT、OpenWrt 等功能更豐富的第三方開源固件?
OpenWRT 如何部署 OpenVPN Server?
小米路由器是基於OpenWRT? 不用開源?

TAG:OpenWrt | 路由器 | Linux内核 |