2019/01/10

RT-N66U 研究


|N66U規格

https://wikidevi.com/wiki/ASUS_RT-N66U

  • SoC:BCM4706 (600MHz)
  • Flash:32MB
  • Ram:256MB
  • Power:19V,1.58A (30W)


|N66U第三方韌體

雖然網路上都推Merlin,但實際測試過後,有頓感,不穩定。最終選擇Fresh Tomato,在反應速度與穩定上最佳。

http://freshtomato.org/

https://www.linksysinfo.org/index.php?threads/fork-freshtomato-arm.74117/


|N66U超頻研究

這台溫度實在有點高,拆機手摸散熱片,是燙的不能下壓久摸的那種,系統內溫度顯示是65℃上下,但手摸體感有到70℃,而且這還是在開殼的狀態下。所以決定來「降頻」。關鍵字要搜「n66u 超頻」這樣文章會比較多,網兄都不怕24小時開機的機器在睡著時塑料熔掉嗎?好可怕。

這是在Merlin超頻的討論串:

https://www.snbforums.com/threads/overclocking-on-asuswrt-merlin-378-56_2-rt-ac68u-and-rt-n66u.28043/

問題是在nvram設了cpu時脈,重開機會回復原設定值,等於無效。


後來問題發現在CFE,也就是BootLoader的版本太舊,會造成設定無效的結果。於是有大神更新CFE,並釋出教學。

https://www.snbforums.com/threads/cfe-bootloader-update.8259/


後來發現n66u的CFE有個clock table,只能選擇裡面的設定值,不能自己隨意設,難怪設定會失敗。

https://www.snbforums.com/threads/cfe-bootloader-update.8259/page-27#post-124664 (CFE更新教學)

https://github.com/RMerl/asuswrt-merlin/blob/4890262d5db94621abc5be632df61841ff2906fd/release/src-rt/shared/hndmips.c#L823 (CFE原始碼的clock table)


|N66U降頻教學

從前面的研究我們知道n66u用nvram超頻是無效的,問題在CFE是舊版需更新。

  1. PuTTY登入,密碼root/admin
  2. nvram get bl_ver
    查看bootloader版本,會得到1.0.1.2,這就是舊版,需更新到1.0.1.3或1.0.1.9。
  3. cd /tmp
    wget
    http://files.ryzhov-al.ru/Routers/RT-N66U_CFE_update/cfe_n66u-1.0.1.9.tgz
    tar -xzvf cfe_n66u-1.0.1.9.tgz
    切換到tmp,網路抓取1.0.1.9的CFE檔,tar解壓縮
  4. ./cfe_update.sh /dev/mtd0ro
    執行更新腳本,作者很貼心,腳本會列出新舊的版本比較,並備份舊版為「cfe.old」且要求確認更新。
  5. ./cfe_update.sh ./cfe.old
    如果要還原舊版,執行此腳本
  6. 更新完一樣記得清nvram,或硬體鍵reset。

在merlin與tomato的cmd介面,我明顯感受很大,merlin的界面較陽春,主動回應的資訊較少,但tomato界面較人性,回應的訊息較多。一個是機器感,一個較人性,若不是tomato少了硬體加速與中文,真的屌打其他所有第三方韌體。


接著就是降頻。

  1. PuTTY登入,密碼root/admin
  2. cat /proc/cpuinfo
    查看cpu目前的頻率
  3. nvram get clkfreq
    查看cpu目前的設定值,會得到600,300,150。(依序是cpu,memory,bus頻率)。有發現都是倍數嗎?
  4. nvram set clkfreq=500,250,125
    設定降頻數值
  5. nvram commit
    儲存設定值
  6. reboot
    重開機

這裡很限制的是,有clock table的限制,頻率是不能隨意設的,本來我只想降cpu但為了穩定還是守點規矩,畢竟ap靈異現象很多。這點限制我在R7000沒遇到,R7000的cpu頻率是可隨意升降不受限制的。

/* 25MHz table for 4706 */

static uint32 BCMINITDATA(pll25mhz_table)[][3 + PLL_ENTRIES_4706] = {

/* cpu, ddr, axi, proc_PLL, */

{ 200, 100, 50, 0xc0011080, },

{ 300, 150, 75, 0xc00110c0, },

{ 400, 200, 100, 0xc0011100, },

{ 500, 250, 125, 0xc0011140, },

{ 600, 300, 150, 0xc0011180, },

{ 632, 316, 158, 0xc00157e8, },

{ 650, 325, 162, 0xc00111a0, },

{ 662, 331, 165, 0xc00111a8, },

在merlin公開的CFE原始碼可見到,最高可設到662那條,預設值是600那條,我則是選擇500,因為再下去就是400,我其實可以接受cpu400但不能接受記憶體200,那會影響太多。


在還是舊版的CFE時,在merlin,我設nvram 500頻率後重開機,cpuinfo顯示還是600,nvram也是顯示600。但在tomato,cpuinfo顯示還是600,但nvram設定未跑掉顯示500。這就是一個韌體穩定的小細節,設定值不會無緣由地跑掉,tomato+1票。


cpu的真實頻率,要看cpuinfo裡的「BogoMIPS」值,nvram設定完該數值有動才代表有效,沒動就沒效。

指令:cat /proc/cpuinfo

列出的資訊裡就有BogoMIPS。


|N66U tomato查看溫度

為了燙都降頻了,當然要看一下成效,但tomato並沒有內建溫度指令,要自己打指令。

  1. 登入tomato,頁面切到System Commands,貼上腳本按自動更新。
    TEMP1=$(wl -i eth1 phy_tempsense | awk '{ print $1}')
    TEMP2=$(wl -i eth2 phy_tempsense | awk '{ print $1}')
    echo "Temp:2.4G=$TEMP1"C
    echo "Temp:  5G=$TEMP2"C
  2. 溫度就會顯示在下面。

裸機下,cpu預設值的600,溫度多在65℃上下,降頻到500,溫度降到60℃左右,再蓋殼應該再上升2、3度,成果還不錯。

腳本來源:https://www.linksysinfo.org/index.php?threads/custom-tomato-script.19525/

沒有留言:

張貼留言

交流溝通或良好建議 ,通通歡迎。

▋熱門文章