2021-05-12 14:32:11
Ubuntu下buffalo wzr-hp-300nh路由器刷DD-WRT系統
朋友送了個WZR-HP-300NH的buffalo路由器,只是系統被刷成了openwrt,而且還不知道管理員賬號密碼= =。。。刷了openwrt系統後,buffalo路由器的恢復出廠設定按鈕也失效了,估計是openwrt系統的相容問題,只能是想辦法重新刷下系統了。
google上找了下tftp刷機的教學,本來以為是很簡單的事情,結果還是折騰了好幾天。下面是我測試成功的方法:
需要準備的工具:一台PC機(我用的Ubuntu系統)、一條網線、buffalo路由器、另一台交換機或者路由器(我用的是騰達路由器)。
1、進入Ubuntu,下載好要刷機的系統包了,想來想去還是去官網下載了DD-WRT系統包來刷,連結地址:http://www.buffalotech.com/support-and-downloads/downloads,不過下載的速度很慢。
2、將buffalo路由器用網線連線交換機或者其它路由器,我用的是之前一直在用的騰達路由器(用的久了不是很穩定,電子產品都這樣,就不吐槽了)。為方便說明,下面直接用騰達路由器以示跟buffalo路由器做區別。
3、PC機連線騰達路由器(wifi或者網線都可以),登入騰達路由器,將騰達路由器區域網網段調整到192.168.11.xxx網段上,分配固定ip 192.168.11.1給buffalo路由器,分配固定ip 192.168.11.2給PC機。
4、進入Ubuntu,使用下面命令在Ubuntu的arp快取列表上新增buffalo路由器的資訊:
sudo arp -s 192.168.11.1 xx:xx:xx:xx:xx:xx
其中的xx:xx:xx:xx:xx:xx為buffalo路由器的mac地址,在buffalo路由器背後的標籤上可以找到。arp是地址解析協定,可以在傳送報文的時候將ip地址解析為mac實體地址。
5、安裝tftp軟體包,在Ubuntu終端下,使用下面命令安裝:
sudo apt-get update
sudo apt-get install tftp-hpa
6、使用tftp命令傳送系統包:
tftp 192.168.11.1
tftp> verbose
tftp> binary
tftp> trace
tftp> rexmt 1
tftp> timeout 60
tftp> put wzrhpg300nh-pro-v24sp2-14998b.enc
最後put指令的引數為系統包的檔名。執行完這個命令後,tftp就會開始尋找192.168.11.1的目標機器傳送系統包,如果目標機器無響應,60秒之後就會顯示超時。所以在執行這個命令之後,必須馬上把buffalo路由去斷電重新啟動。buffalo只有在通電後的幾秒鐘內才能接收tftp傳送過來的系統包並重灌系統,錯過這個時間就會自動進入原來的系統。在傳輸系統包的過程中,終端上會顯示tftp傳輸封包的資料,傳輸完成後會顯示傳輸成功。這個時候,buffalo路由器開始更新系統,buffalo路由器上的diag紅燈會開始閃爍,這個過程要花費好幾分鐘甚至十幾分鐘。耐心等待紅燈停止閃爍,系統就重灌好了,buffalo會自動重新啟動。
重新啟動之後,用網線連線buffalo路由去和電腦,在瀏覽器通過192.168.11.1地址就能存取buffalo路由器。首次存取會進入設定賬號和密碼介面,設定自己的賬號名和密碼,之後就能進入buffalo路由器的設定介面了,刷buffalo路由器系統到此結束。
整個刷系統的過程最重要的就是交換機或者另一台路由器(上面的騰達路由器)分配固定的ip地址。之前在網上找到大部分的教學的步驟都是先安裝tftp工具,用網線直接連線電腦和路由器,設定電腦的網路和IP,再使用tftp工具傳輸buffalo系統包到buffalo路由器上。tftp傳輸系統包的過程中要掐準時間給buffalo斷電重新啟動,有的說10秒,有的說10幾秒。。。感覺太不靠譜,而且這些方法我也沒成功過。基本上都是在tftp的put指令執行完畢之後超時,連線不上buffalo路由器。我的推測是buffalo路由器在斷電重新啟動後可以接收tftp資料的模式下,pc機沒有正確分配192.168.11.1 ip給buffalo路由器。等到pc機網路ip分配成功後,buffalo已經切換了接收tftp資料模式,正常進入了buffalo路由器的當前系統。所以使用了另一個交換機或者路由器強制分配了固定的ip來確保buffalo路由器在斷電重新啟動的過程中分配到的ip沒有變化。
相關文章