PDA

Bekijk de volledige versie : Running the WL700gE at 300MHz



kfurge
13-04-2007, 03:54
I've completed my analysis of running the WL700gE at 300MHz. My results were extremely positive.

With an ambient room temperature of 23.2 C, I measured the following temperatures on the BCM4780 processor:

Idle @ 264MHz (with gpio interrupt fix): 28.0 C
99.8% CPU load @ 264 MHz (as shipped from Asus): 29.8 C

Idle @ 300 MHz: 28.8 C
99.8% CPU load @ 300MHz: 29.8 C

As you can see, I measured no difference in temperature between 264MHz and 300MHz when running at high CPU load. The maximum increase in temperature was from idle at 264 MHz to max load at 300MHz. Even in this case, the rise was was only 2 degrees C.

All measurements were taken after a soak time of at least 15 minutes with a recently calibrated Fluke Model 61 Infrared Thermometer.

A hi-res picture of the setup is here:

http://wl500g.info/files/asus/custom/kfurge/300mhz_pics/070410-201724.JPG

A similar picture of a slightly cooler reading at 300 MHz and moderate CPU load is here:

http://wl500g.info/files/asus/custom/kfurge/300mhz_pics/070410-201744.JPG

Given this data, I'm convinced it's completely safe, from a thermal perspective, to run the router continuously at 300Mhz with no heatsinking or other modifications.

So... How does one set the frequency to 300MHz?

[root@WL700gE ~]$ nvram set clkfreq=300
[root@WL700gE ~]$ nvram commit
[root@WL700gE ~]$ sync
[root@WL700gE ~]$ sync
[root@WL700gE ~]$ reboot

That's it.

Tables within the router, and bootloader, keep the SDRAM timing within spec. Thus far, I've reset the clock on two routers with no ill effects.

As usual, YMMV. Do this at your own risk!

- K.C.

sollie
13-04-2007, 14:08
Thanks, working perfect.

Sollie.

Oleg
13-04-2007, 15:02
Well, the main problem with your measurements is that you've added airflow by removing shieldings and disassembling the case. With my measurements (closed shieldings, closed case) and remote sensor it was more than 50 degress with the same CPU running @264Mhz. This was a WL500gp board with BCM4780CPU. WL700gE should be much more hot due to 3.5" HDD.

Also, be ware, that according to my experience with upgrading wl500gp memory, some PCBs are not working well @300Mhz - some are failing even to boot. Some guys here reported, that 288 works stable.

I'm running WL500gp @ 300Mhz for about six months, but I've added rubber based thermointerface (removed from some dead plasma) between CPU and shieldings and a small heatsink on the top of shielding.

kfurge
14-04-2007, 03:48
Well, the main problem with your measurements is that you've added airflow by removing shieldings and disassembling the case. With my measurements (closed shieldings, closed case) and remote sensor it was more than 50 degress with the same CPU running @264Mhz. This was a WL500gp board with BCM4780CPU. WL700gE should be much more hot due to 3.5" HDD.


Sorry, Oleg, I'm going to have to respectfully disagree with you.

I have 15+ years experience as an electrical engineer designing embedded electronics. I have spent the last 6 years designing DSP based automotive audio power amplifiers where ambient temperatures regularly exceed 105C. I am very aware how much of an influence even a small amount of airflow can have. I am also very aware of IC failure modes, such as electromigration, brought about by running ICs for extended periods at high temperatures.

The point of my investigation I found most interesting is that the temperature *delta* between 264MHz and 300MHz was not measurable at high CPU loads. This means that regardless of airflow and ambient environment, the CPU will reach the same steady-state temperature at either speed.

I completely agree that the final processor temperature will be higher when running in the EMC can with the HDD spinning. However, even with the 50C temperature you measured, there is still 20C of operating margin before reaching the 70C commercial IC maximum temperature spec.

Furthermore, no matter what the specified temperature range of the IC is (commercial, industrial, or automotive), the only number that matters for IC reliability is the die temperature. To insure long-term silicon reliability, it's imperative to keep die temperatures less than 125C. Since the processor only rose 5C from ambient once power was applied, it's clear this chip was built on a low leakage silicon process. This means that the internal die temperature will not be dramatically higher than the external case temperature. Unlike energy guzzling chips from Intel and AMD, this is normal for energy efficient processor cores like MIPS, ARM and Blackfin.

Case in point, one of the products I'm designing right now has a processor running at 500MHz. This processor is thermally very similar to the BCM4780. I'd suspect they're both from the same process node at TSMC (Broadcom and the vendor of the processor I'm using both fab at TSMC). My part, being automotive qualified, is specified to an ambient operating temperature of 105C. The silicon is the same. Therefore, even at the commerical maximum of 70C, there's still a large margin before permanent damage to the processor becomes likely.

Regarding your other points on system stability, you're right. I can't guarantee anything because I don't have the specs for the part. I'd say there's better than even odds that other timing problems could turn someone's router into a brick. Hence the "Do this at your own risk" part of the disclaimer.

- K.C.

Gregoire.Favre
14-04-2007, 12:14
Is there a way without rebooting ?

Thank you very much :-)

kfurge
14-04-2007, 14:11
Is there a way without rebooting ?

Thank you very much :-)

No.

- K.C.

Oleg
14-04-2007, 14:41
The point of my investigation I found most interesting is that the temperature *delta* between 264MHz and 300MHz was not measurable at high CPU loads. This means that regardless of airflow and ambient environment, the CPU will reach the same steady-state temperature at either speed.

Right and it's in fact so.



Regarding your other points on system stability, you're right. I can't guarantee anything because I don't have the specs for the part. I'd say there's better than even odds that other timing problems could turn someone's router into a brick. Hence the "Do this at your own risk" part of the disclaimer.

This was my primary point. You just showed that temperature is OK, and then you've concluded: it's safe to turn on 300Mhz. Unfortunatly there are also some other aspects, such as PCB quality, DDR memory problems and MII switch bus. So, my post was to warn others, that's it's not just nvram changes, but the fastest way to brick this router too... I've not checked wl700ge cfe binary yet, but WL500gp @300Mhz requires 150Mhz at CPU backplane/memory and MII, compared with 132Mhz at @264Mhz.

We've similar thread in russian thread, regarding WL500gp overclocking, but I've decided not to make it public, as there are some problems with overclocking, including bringing router back to life when something went wrong...

glebushka
14-04-2007, 14:48
Sorry for a stupid question, but how can I see current CPU freq?

In /proc/cpuinfo i see BogoMIPS : 299.82, is it the frequency?

Oleg
14-04-2007, 15:01
Sorry for a stupid question, but how can I see current CPU freq?

In /proc/cpuinfo i see BogoMIPS : 299.82, is it the frequency?
It's related to the frequency. And yes, it's mostly the same for WL700gE.

Oleg
14-04-2007, 15:18
kfurge, could you please run this (http://oleg.wl500g.info/memc) and post your results for 300Mhz unit?

kfurge
14-04-2007, 15:49
kfurge, could you please run this (http://oleg.wl500g.info/memc) and post your results for 300Mhz unit?

May I ask what "this" is? Source would be preferred.

- K.C.

Oleg
14-04-2007, 16:03
May I ask what "this" is? Source would be preferred.

- K.C.

This tool shows up chip common settings, including core speeds. Source file (http://oleg.wl500g.info/memc.c).

kfurge
14-04-2007, 16:19
You just showed that temperature is OK, and then you've concluded: it's safe to turn on 300Mhz.

Not to split hairs, but I never claimed it was safe to run at 300Mhz. I said I have successfully run 2 routers at 300MHz and that temperature was not an issue.

I'll agree that I should have made the warning stronger. Enough said on this issue, I think.



I've not checked wl700ge cfe binary yet, but WL500gp @300Mhz requires 150Mhz at CPU backplane/memory and MII, compared with 132Mhz at @264Mhz.


It's the same in the wl700g kernel source I reviewed. Dunno about the bootloader.

Regarding bad/misconfigured nvram values... It would make sense for the bootloader to check whether or not the nvram reset button is pressed before configuring the clocks. That way, should a bad setting be entered, sane defaults would be applied at power-up.

- K.C.

Oleg
14-04-2007, 16:24
Regarding bad/misconfigured nvram values... It would make sense for the bootloader to check whether or not the nvram reset button is pressed before configuring the clocks. That way, should a bad setting be entered, sane defaults would be applied at power-up.
Well, ASUS guys decided not to wire JTAG out of the chip except TCK line... So, playing with CFE is very dangerous, especially at the early stage...

kfurge
15-04-2007, 04:32
Well, ASUS guys decided not to wire JTAG out of the chip except TCK line... So, playing with CFE is very dangerous, especially at the early stage...

Can you give me a summary of what's been discussed so far on the Russian thread you mentioned earlier? I would like to investigate this 300MHz issue further on the WL700g but I don't want to redo what's already been done.

- K.C.

kfurge
15-04-2007, 05:18
The results of memc are below. It looks like the backplane is running at 133 MHz, not 150.

I believe the router has been configured with the last sb_clock_table[] entry in:

nasoc/src/linux/linux/arch/mips/brcm-boards/bcm947xx/compressed/misc.c

- K.C

[root@WL700gE tmp]$ ./memc
Device memory mapped ok
chipid: 00284704
chip: 4704, rev: 8, pkg: 2, corerev: 3, PLL_TYPE2 /* 48Mhz, 4 dividers */
300000000 Hz, 2 UART(s)
flashcontrol: 00000000
flashaddress: 00000000
flashdata: 00000000
clockcontrol_n: 00000803
clockcontrol_sb: 01010000 133333333Hz
clockcontrol_pci: 01020600 33333333Hz
clockcontrol_m2: 01020600 33333333Hz
clockcontrol_mips: 05000100 300000000Hz
clkdiv: 00000002
pcmcia_config: 00000074 Disabled Sync 16 bit ByteSwap: yes Div: 3
pcmcia_memwait: 02060212 20/60/20/180
pcmcia_attrwait: 070e143f 70/140/200/630
pcmcia_iowait: 040e041a 40/140/40/260
ide_config: 00000076 Disabled Async flash Sync 16 bit ByteSwap: yes Div: 3
ide_memwait: 070e143f 70/140/200/630
ide_attrwait: 070e143f 70/140/200/630
ide_iowait: 040e041a 40/140/40/260
prog_config: 00000072 Disabled Async flash 16 bit ByteSwap: yes Div: 3
prog_waitcount: 00000000 0/0/0/0
flash_config: 00000011 Enabled 16 bit ByteSwap: no Div: 2
flash_waitcount: 02060212 20/60/20/180

Oleg
15-04-2007, 07:12
The results of memc are below. It looks like the backplane is running at 133 MHz, not 150.

Nice, then it should be safe to use it @300Mhz. On the wl500gp we use clkfreq=300,150 as 133Mhz at @backplane does not work for some reason.

Hacksaw
20-04-2007, 21:03
Looks like it has been about 5 days since the last post - has anyone's router gone poof yet?

Hacksaw.

kfurge
21-04-2007, 03:20
Good question. If we're counting, I have personally set 2 routers to 300MHz.

- K.C.

Hacksaw
21-04-2007, 04:00
Here is a question...

I left my router on for 24 hours with the HDD spinning. The brick is damn hot. Would attaching a USB fan help out with the heat dissipation?

Without taking the router apart, I can't tell if there is any airflow access to internal components. Would cooling on the top or bottom be better? I am standing mine up so I have access to both sides.

Hacksaw

kfurge
21-04-2007, 04:30
I left my router on for 24 hours with the HDD spinning. The brick is damn hot. Would attaching a USB fan help out with the heat dissipation?

Without taking the router apart, I can't tell if there is any airflow access to internal components.

Mine gets pretty warm when the HDD is spinning, but I wouldn't call it "damn hot".

I'd have to say that trying to reduce the temperature of any of the important components with external airflow would be largely ineffective. The HDD is completely sealed in a metal box. The CPU and SDRAM are also buried under a metal EMC shield. To complicate things further, they're on opposite sides of the router.

IMHO, the long-term reliability of the HDD will suffer because it's packaged so tightly in the router. I believe that idling the HDD to keep it as cool as possible when not in use is one of the best thing that can be done to improve its reliability. The electronics really don't care.

- K.C.

Hacksaw
21-04-2007, 04:43
Mine gets pretty warm when the HDD is spinning, but I wouldn't call it "damn hot".

Well, if it was sitting in my lap it would get a little uncomfortable :-)

Looks like I will leave it be then.

Do you know of anyone who has tried to put a laptop HDD in the router? Might cut down on heat and noise. Of course you will loose capacity...

Hacksaw.

n00ben
21-04-2007, 13:50
nice you are trying to get the most out of the wl700 but none of you have written anything about expected, and actual performance gains. Can anyone elaborate on this?

/regards
Henrik

kfurge
23-04-2007, 03:42
nice you are trying to get the most out of the wl700 but none of you have written anything about expected, and actual performance gains. Can anyone elaborate on this?

Since the backplane frequency is essentially unchanged, I/O performance won't improve any.

However, CPU bound processes will see a 13.6% peformace improvement from the MHz bump alone.

- K.C.

Elect
23-04-2007, 11:20
Nice, then it should be safe to use it @300Mhz. On the wl500gp we use clkfreq=300,150 as 133Mhz at @backplane does not work for some reason.

So I can assume that my 500gP will not burn down my room with these settings? You tested this for a couple of days?

al37919
23-04-2007, 11:34
Usually, Oleg recommends to avoid doing that unless you ensured better heat dissipation for the CPU, i.e. attach a heatsink to it.

Oleg
23-04-2007, 12:00
So I can assume that my 500gP will not burn down my room with these settings? You tested this for a couple of days?

My wl500gp runs @300Mhz for several months now, but some guys were not able to even boot @300Mhz (i.e. bricked the box, but recovered using a console), but clkfreq=288,144 worked fine for them. My other wl500gp with 128mb of ram was unstable @300Mhz (i.e. showed memory errors during tests), it's running @264Mhz now.

And yes, I've a heatsink attached.

IO performance does not change, as PCI is still running @33Mhz.

Elect
23-04-2007, 17:12
I don't think the 30 mhz will make such a big difference. At least, not as much as I would like to see for the pain it costs to recover it. 300 mhz would be nice though, but the probable need for a heatsink makes it less interesting.

thira
05-08-2007, 07:12
My wl500gp runs @300Mhz for several months now, but some guys were not able to even boot @300Mhz (i.e. bricked the box, but recovered using a console), but clkfreq=288,144 worked fine for them. My other wl500gp with 128mb of ram was unstable @300Mhz (i.e. showed memory errors during tests), it's running @264Mhz now.

And yes, I've a heatsink attached.

IO performance does not change, as PCI is still running @33Mhz.

Very interesting thread.
Oleg, Please you post "howto add 128mbs of ram to 500gP"?
Thanks you very much.

mifns77
25-11-2008, 21:17
I've completed my analysis of running the WL700gE at 300MHz. My results were extremely positive.

With an ambient room temperature of 23.2 C, I measured the following temperatures on the BCM4780 processor:

Idle @ 264MHz (with gpio interrupt fix): 28.0 C
99.8% CPU load @ 264 MHz (as shipped from Asus): 29.8 C

Idle @ 300 MHz: 28.8 C
99.8% CPU load @ 300MHz: 29.8 C

As you can see, I measured no difference in temperature between 264MHz and 300MHz when running at high CPU load. The maximum increase in temperature was from idle at 264 MHz to max load at 300MHz. Even in this case, the rise was was only 2 degrees C.

All measurements were taken after a soak time of at least 15 minutes with a recently calibrated Fluke Model 61 Infrared Thermometer.

A hi-res picture of the setup is here:

http://wl500g.info/files/asus/custom/kfurge/300mhz_pics/070410-201724.JPG

A similar picture of a slightly cooler reading at 300 MHz and moderate CPU load is here:

http://wl500g.info/files/asus/custom/kfurge/300mhz_pics/070410-201744.JPG

Given this data, I'm convinced it's completely safe, from a thermal perspective, to run the router continuously at 300Mhz with no heatsinking or other modifications.

So... How does one set the frequency to 300MHz?

[root@WL700gE ~]$ nvram set clkfreq=300
[root@WL700gE ~]$ nvram commit
[root@WL700gE ~]$ sync
[root@WL700gE ~]$ sync
[root@WL700gE ~]$ reboot

That's it.

Tables within the router, and bootloader, keep the SDRAM timing within spec. Thus far, I've reset the clock on two routers with no ill effects.

As usual, YMMV. Do this at your own risk!

- K.C.

Whether at a raising of frequency of the processor productivity of data transmission on the network interface (TCP\IP) increases?

torretje
15-12-2008, 17:24
Well, if it was sitting in my lap it would get a little uncomfortable :-)

Looks like I will leave it be then.

Do you know of anyone who has tried to put a laptop HDD in the router? Might cut down on heat and noise. Of course you will loose capacity...

Hacksaw.

great idea...will try this with my cable i found recently
on this cable is written :
'hung fu awm 2651 e97252-h vw-1 105˚C 300V 28awg -013'

http://www.maplin.co.uk/Module.aspx?ModuleNo=28724&doy=15m12&C=SO&U=strat15

http://www.xs4all.nl/~xitos/ide2nbhdd.jpg

Gregoire.Favre
23-01-2009, 21:38
Wouldn't it be even better to use a cheap SSD ?

kfurge
10-02-2009, 04:10
Wouldn't it be even better to use a cheap SSD ?

I wouldn't. Solid state drives can only execute a finite number of write cycles. The router uses the HDD for swap and may hit this limit rather quickly.

A notebook HDD is probably a good option since it's data transfer speed matches the 264/300 MHz processor speed pretty well. A blazing fast HDD is no good when the processor is incapable of keeping up with the data rate anyway.

- K.C.