MIPS2 Overclocking question

Post new topic   Reply to topic    DD-WRT Forum Index -> Broadcom SoC based Hardware
Author Message
Masterman
DD-WRT Guru


Joined: 24 Aug 2009
Posts: 2070
Location: South Florida

PostPosted: Thu Jan 14, 2010 16:39    Post subject: MIPS2 Overclocking question Reply with quote
I know how much everyone despises overclocking routers, but I've been noticing alot of people doing it and possibly not doing it right with these new BCM 47xx CPU's.

On the older MIPS processors, OC'ing was as simple as setting the clock frequency and then specifying the FSB as half of the clock. i.e nvram set clkfreq 300,150


However on these new BCM CPU's, I've noticed something different:

RT-N16:

clkfreq=480,240,120


So if I wanted to set the clock to BCM factory defaults (533MHZ), would it have to look like this?

Code:
nvram set clkfreq=533,266,133
nvram commit
reboot



Anyone know?

_________________
Optware, the Right Way
Asus RT-AC68U
Asus RT-N66U
Asus RT-N10
Asus RT-N12
Asus RT-N16 x5
Asus WL520gU
Engenious ECB350
Linksys WRT600Nv1.1
Linksys WRT610Nv1
Linksys E2000
Netgear WNDR3300
SonicWall NSA220W
SonicWall TZ215W
SonicWall TZ205W
SonicWall TZ105W
Sponsor
LiteUp!
DD-WRT User


Joined: 01 Oct 2009
Posts: 83

PostPosted: Fri Jan 15, 2010 3:11    Post subject: Reply with quote
Masterman,

Here are all of the possible combinations via source code:

Code:
        /* 20MHz table for 4716, 4717, 4718, 47162 */
389            static uint32 BCMINITDATA(pll20mhz_table)[][8] = {
390                    /* cpu, ddr, axi, pllctl12,  pllctl13,   pllctl14,   pllctl15,  |pllctl16 */
391                    {  66,  66,  66, 0x11100070, 0x00121212, 0x03c00000, 0x20000000, 0 },
392                    {  75,  75,  75, 0x11100070, 0x00101010, 0x03c00000, 0x20000000, 0 },
393                    {  80,  80,  80, 0x11100070, 0x000a0a0a, 0x02800000, 0x20000000, 0 },
394                    {  83,  83,  83, 0x11100070, 0x000c0c0c, 0x03200000, 0x20000000, 0 },
395                    { 100,  66,  66, 0x11100070, 0x0012120c, 0x03c00000, 0x30000000, 0 },
396                    { 100, 100, 100, 0x11100070, 0x000c0c0c, 0x03c00000, 0x20000000, 0 },
397                    { 120,  60,  60, 0x11100070, 0x00101008, 0x03000000, 0x40000000, 0 },
398                    { 120, 120, 120, 0x11100070, 0x00080808, 0x03000000, 0x20000000, 0 },
399                    { 125,  83,  83, 0x11100070, 0x000c0c08, 0x03200000, 0x30000000, 0 },
400                    { 133,  66,  66, 0x11500070, 0x00101008, 0x10a00000, 0x40000000, 4 },
401                    { 133, 133, 133, 0x11500070, 0x00080808, 0x10a00000, 0x20000000, 4 },
402                    { 148, 148,  74, 0x11100070, 0x00120909, 0x04300000, 0x28000000, 0 },
403                    { 150,  75,  75, 0x11100070, 0x00101008, 0x03c00000, 0x40000000, 0 },
404                    { 150, 100, 100, 0x11100070, 0x000c0c08, 0x03c00000, 0x30000000, 0 },
405                    { 150, 150,  75, 0x11100070, 0x00100808, 0x03c00000, 0x28000000, 0 },
406                    { 150, 150, 150, 0x11100070, 0x00080808, 0x03c00000, 0x20000000, 0 },
407                    { 155, 155,  77, 0x11100070, 0x00120909, 0x04600000, 0x28000000, 0 },
408                    { 155, 155, 155, 0x11100070, 0x00090909, 0x04600000, 0x20000000, 0 },
409                    { 166,  83,  83, 0x11100070, 0x000c0c06, 0x03200000, 0x40000000, 0 },
410                    { 166, 166,  83, 0x11100070, 0x000c0606, 0x03200000, 0x28000000, 0 },
411                    { 166, 166, 166, 0x11100070, 0x00060606, 0x03200000, 0x20000000, 0 },
412                    { 200, 200, 100, 0x11100070, 0x000c0606, 0x03c00000, 0x28000000, 0 },
413                    { 223, 148,  74, 0x11100070, 0x00120906, 0x04300000, 0x38000000, 0 },
414                    { 240, 120, 120, 0x11100070, 0x00080804, 0x03000000, 0x40000000, 0 },
415                    { 240, 240, 120, 0x11100070, 0x00080404, 0x03000000, 0x28000000, 0 },
416                    { 250, 166,  83, 0x11100070, 0x000c0604, 0x03200000, 0x38000000, 0 },
417                    { 250, 166, 166, 0x11100070, 0x00060604, 0x03200000, 0x30000000, 0 },
418                    { 266, 133, 133, 0x11500070, 0x00080804, 0x10a00000, 0x40000000, 4 },
419                    { 266, 266, 133, 0x11500070, 0x00080404, 0x10a00000, 0x28000000, 4 },
420                    { 300, 100, 100, 0x11100070, 0x000c0c04, 0x03c00000, 0x60000000, 0 },
421                    { 300, 150,  75, 0x11100070, 0x00100804, 0x03c00000, 0x48000000, 0 },
422                    { 300, 150, 150, 0x11100070, 0x00080804, 0x03c00000, 0x40000000, 0 },
423                    { 300, 200, 100, 0x11100070, 0x000c0604, 0x03c00000, 0x38000000, 0 },
424                    { 320, 213, 106, 0x11100070, 0x000c0604, 0x04000000, 0x38000000, 0 },
425                    { 333, 166,  83, 0x11100070, 0x000c0603, 0x03200000, 0x48000000, 0 },
426                    { 333, 166, 166, 0x11100070, 0x00060603, 0x03200000, 0x40000000, 0 },
427                    { 340, 226, 113, 0x11100070, 0x000c0604, 0x04400000, 0x38000000, 0 },
428                    { 354, 177,  88, 0x11500070, 0x000c0603, 0x10a00000, 0x48000000, 4 },
429                    { 373, 186,  93, 0x11100070, 0x000c0603, 0x03800000, 0x48000000, 0 },
430                    { 400, 133, 133, 0x11100070, 0x000c0c04, 0x05000000, 0x60000000, 0 },
431                    { 400, 160,  80, 0x11100070, 0x00140a04, 0x05000000, 0x58000000, 0 },
432                    { 400, 160, 160, 0x11100070, 0x000a0a04, 0x05000000, 0x50000000, 0 },
433                    { 400, 200, 100, 0x11100070, 0x000c0603, 0x03c00000, 0x48000000, 0 },
434                    { 400, 266, 133, 0x11100070, 0x000c0604, 0x05000000, 0x38000000, 0 },
435                    { 446, 148,  74, 0x11100070, 0x00120903, 0x04300000, 0x68000000, 0 },
436                    { 453, 226, 113, 0x11100070, 0x000c0603, 0x04400000, 0x48000000, 0 }, // patch from BCM
437                    { 480, 137,  68, 0x11100070, 0x000e0702, 0x03000000, 0x78000000, 0 },
438                    { 480, 137, 137, 0x11100070, 0x00070702, 0x03000000, 0x70000000, 0 },
439                    { 480, 160,  80, 0x11100070, 0x000c0602, 0x03000000, 0x68000000, 0 },
440                    { 480, 240, 120, 0x11100070, 0x00080402, 0x03000000, 0x48000000, 0 },
441                    { 500, 100, 100, 0x11100070, 0x000a0a02, 0x03200000, 0xa0000000, 0 },
442                    { 500, 166,  83, 0x11100070, 0x000c0602, 0x03200000, 0x68000000, 0 },
443                    { 500, 166, 166, 0x11100070, 0x00060602, 0x03200000, 0x60000000, 0 },
444                    { 500, 200, 100, 0x11100070, 0x000a0502, 0x03200000, 0x58000000, 0 },
445                    { 500, 250, 125, 0x11100070, 0x00080402, 0x03200000, 0x48000000, 0 },
446                    { 532, 133, 133, 0x11500070, 0x00080802, 0x10a00000, 0x80000000, 4 },
447                    { 532, 177,  88, 0x11500070, 0x000c0602, 0x10a00000, 0x68000000, 4 },
448                    { 532, 177, 177, 0x11500070, 0x00060602, 0x10a00000, 0x60000000, 4 },
449                    { 532, 266, 133, 0x11500070, 0x00080402, 0x10a00000, 0x48000000, 4 },
450                    {0}
451            };


I will give you a warning though. DO NOT USE ANYTHING WITH A DDR MEMORY REQUENCY OVER 250MHZ ON A WRT320N. The DDR part used on these boards has an operating ceiling of 250MHz. I have tried the 533/266 setting once or twice and the board immediately locks up. After several tries (it was hard) I finally got a hard reset to take via the WPS button on the front that Eko activated. This hard reset sends you back to the default settings hard-coded in the CFE of 354,177,88 (you can see this near the top of the CFE if you view it in a hex editor).

Good combinations are 500/250, 480/240 (my preferred), 453/226, 400/200, 373/186, and 354/177 (std.). These are all half-speed DDR setting with relation to the MIPS CPU. The other settings choices with similar MIPS speeds and lower than half speed DDR take a big performance hit and are not worth it. You do not have to specify the third frequency (backplane frequency), but you can if you want. Anytime you specify a frequency that is maybe not in the table (if you have a typo on your command line or something) it will upshift to the next highest frequency in the table.

BTW....yes, the Asus RT-N16 and the Netgear WNR3500L are both running by default at 480,240,120. I have viewed their CFEs and seen this as their default operating frequencies.

_________________
1 x WRT310Nv2 (400/200/100)
3 x WRT320N (480/240/120)
1 x E4200 (532/266/133)
(All running the latest DD-WRT!)
Masterman
DD-WRT Guru


Joined: 24 Aug 2009
Posts: 2070
Location: South Florida

PostPosted: Fri Jan 15, 2010 3:32    Post subject: Reply with quote
Thanks man....got it set to 500,250,125

I'll add it to the Wiki :wink:

EDIT:

http://www.dd-wrt.com/wiki/index.php/Overclocking_BCM_47xx_CPU%27s

_________________
Optware, the Right Way
Asus RT-AC68U
Asus RT-N66U
Asus RT-N10
Asus RT-N12
Asus RT-N16 x5
Asus WL520gU
Engenious ECB350
Linksys WRT600Nv1.1
Linksys WRT610Nv1
Linksys E2000
Netgear WNDR3300
SonicWall NSA220W
SonicWall TZ215W
SonicWall TZ205W
SonicWall TZ105W
LiteUp!
DD-WRT User


Joined: 01 Oct 2009
Posts: 83

PostPosted: Fri Jan 15, 2010 5:45    Post subject: Reply with quote
I have some more useful info below related to how the WRT310Nv2 behaves with these settings since it is a 4716. I can only get my WRT310Nv2 up to 400,200,100. I have discovered this is because the CFE in the 310Nv2 sets up the DDR with more aggressive timings (CAS Latency 3 vs. CAS Latency 4 as in the WRT320N). Both of the routers use the exact same DDR part. I took them apart and checked them.

What does all of this mean in the real world?

Memory bandwidth (and CAS Latency) seems to affect the performance of these routers greatly, to the extent that a WRT310Nv2 running at 400,200,100 performs equivalent to a WRT320N running at 480,240,120 (almost identically). At these speeds for each of the routers (with all default settings), I can get LAN to WAN speeds (FTP Put) up to 154 Mbps and WAN to LAN (FTP Get) speeds up to 142 Mbps.

_________________
1 x WRT310Nv2 (400/200/100)
3 x WRT320N (480/240/120)
1 x E4200 (532/266/133)
(All running the latest DD-WRT!)
eternal
DD-WRT Novice


Joined: 14 Dec 2009
Posts: 28

PostPosted: Fri Jan 15, 2010 7:09    Post subject: Reply with quote
i can confirm that 532, 266, 133 doesnt work on the rt-n16. ended up having to reset to default cuz the damn thing wouldnt respond after i set it to that

why would asus advertise it as a such if it doesnt work :<

edit: apparantly, i cant get the 500,250,125 setting to work either. it works for about 5 mins, then the router locks up :/

is there no way to just bump the cpu up and leave the ram timings?
LiteUp!
DD-WRT User


Joined: 01 Oct 2009
Posts: 83

PostPosted: Fri Jan 15, 2010 14:30    Post subject: Reply with quote
eternal wrote:
i can confirm that 532, 266, 133 doesnt work on the rt-n16. ended up having to reset to default cuz the damn thing wouldnt respond after i set it to that

why would asus advertise it as a such if it doesnt work :<

edit: apparantly, i cant get the 500,250,125 setting to work either. it works for about 5 mins, then the router locks up :/

is there no way to just bump the cpu up and leave the ram timings?


Yes, look at the table above. 532,177,88 and 500,200,100 are there, but I am telling you 480,240,120 will be faster (your default speed). Fast RAM speeds seem to reign supreme.

_________________
1 x WRT310Nv2 (400/200/100)
3 x WRT320N (480/240/120)
1 x E4200 (532/266/133)
(All running the latest DD-WRT!)
Display posts from previous:    Page 1 of 1
Post new topic   Reply to topic    DD-WRT Forum Index -> Broadcom SoC based Hardware All times are GMT

Navigation

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum