[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4692: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4694: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4695: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4696: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
8devices Community - View topic - Power Saving Tips
www.8devices.com
View unanswered posts | View active topics It is currently 25 Apr 2024, 19:35



Reply to topic  [ 13 posts ]  Go to page 1, 2  Next
 Power Saving Tips 
Author Message

Joined: 19 May 2012, 08:01
Posts: 16
Location: UK
Hi,

In case anyone wants to reduce the power comsumption of the Carambola I discovered from the datasheet that the internal network switch uses a lot of power on a port by port basis, it has 5 network PHYs (or equivalent), each having its own set of control registers.

Using the "mmio" tool you can manipulate the power usage on each PHY individually and if your project only requires periodic network access and/or only one port like mine you can significantly reduce overall power usage. My project is a data logger and I accumulate a number of readings then connect the network send the readings and then shut the PHY off. Before I did this my board used 200ma+, in now uses 93ma (76ma for the Carambola itself) jumping to 115ma periodically when connected.

This turns them all off...

mmio 0x101100c0 0x08002000
mmio 0x101100c0 0x08002001
mmio 0x101100c0 0x08002002
mmio 0x101100c0 0x08002003
mmio 0x101100c0 0x08002004

I only use a single Ethernet port so I periodiocally turn on the one I want (eth0) in my program...

mmio 0x101100c0 0x00002000

I know this isn't a very friendly thing to do to the O/S but it's really just like removing the Ethernet cable as far as the Linux driver / networking stack knows and as you would imagine it handles that perfectly well. If anyone knows any IOCTLs that do this in a more Linux friendly way let me know. But for now it's definitely a hack, albeit one that can reduce the Carambola power usage to 76ma.

Beware: Obviously do this from inside your program or the serial console and not from a network SSH session. Lest you saw off the branch upon which you sit!!!!

If anyone else has power saving tips please post them :)

Have fun.

Liam.


21 Jul 2012, 17:54
Profile WWW

Joined: 26 May 2012, 01:19
Posts: 66
Wouldn't ifconfig eth0 down do the same thing (disable the interface)?


22 Jul 2012, 16:03
Profile

Joined: 19 May 2012, 08:01
Posts: 16
Location: UK
It's a good point and it maybe should, but unfortunately the interface goes away but the port power remains. I guess ifconfig only goes so far down. I think it's because it's effectively a network switch built in or something and ifconfig may well only be concerned down to the MAC level. The PHY in the switch stays on and so does the LED.


22 Jul 2012, 17:12
Profile WWW
User avatar

Joined: 16 Dec 2011, 14:44
Posts: 105
Location: The Netherlands
Thanks Liam, that's a great tip!

With Wi-Fi on my board now uses 135mA @ 5V (with all ethernet ports turned off).

_________________
| |


Last edited by David on 23 Jul 2012, 11:55, edited 1 time in total.



23 Jul 2012, 06:59
Profile

Joined: 14 May 2012, 15:48
Posts: 196
This is awesome, I've always wanted a way to reduce the power usage of the Carambola. Thanks a lot!


23 Jul 2012, 07:38
Profile

Joined: 24 Jul 2012, 11:35
Posts: 4
Hi, in case i want to disable USB port how can i do? can you point me on how to read the datasheet and act on mmio? i'm a novice in this kind of things!


24 Jul 2012, 11:37
Profile

Joined: 19 May 2012, 08:01
Posts: 16
Location: UK
I tried already as the USB registers indicate some power down options (specifically port power supplied to bus powered devices) but I've not had any success with them so far. If you don't need USB at all you can try rebuilding the kernel with the USB controller taken out.


24 Jul 2012, 14:48
Profile WWW

Joined: 26 May 2012, 01:19
Posts: 66
Does the CPU run cooler with the ethernet disabled?


24 Jul 2012, 14:59
Profile

Joined: 19 May 2012, 08:01
Posts: 16
Location: UK
I would think so on the basis that it is using less power but I didn't do any measurements. The single most heat producing thing I found was the WiFi.

Actually, I've just delivered a prototype to my customer today and he wanted it in quite a small box, the top of the box was about 10mm from the chip face and the box has got a hot spot. I didn't do anything scientific but this is a temperature monitoring system so I stuck one of the sensors on the hot spot, it went up to about 4 degree over ambient... this one has the WiFi disabled and all ports off except one.

new-2.png
new-2.png [ 14.98 KiB | Viewed 6128 times ]


24 Jul 2012, 15:34
Profile WWW

Joined: 01 Jun 2012, 16:36
Posts: 18


27 Jul 2012, 07:00
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 13 posts ]  Go to page 1, 2  Next

Who is online

Users browsing this forum: No registered users


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 post attachments in this forum

Search for:
Jump to:  
cron

Protected by Anti-Spam ACP Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.