Community
cancel
Showing results for 
Search instead for 
Did you mean: 
ddor
Novice
1,739 Views

S3 current measurements

hello,

i'm doing a project that integrates Edison with the arduino expansion board, a proximity sensor, some LEDs and a USB2 camera and an uSD card.

as part of my project, the module goes to cycles of S3 for periods, and then wakes up (by the MCU), and polls the sensors.

today i tried to maesure the current consumed during the S3 state, and found out an worrying amount of +-30mA, while in S3, and all LEDS/sensors are off.

does that number seems right ? i assumed a much smaller amount in my dry calculations, so that's a real problem for me.

as part of the code, i'm doing:

system("ifconfig wlan0 down");//shut down wifi for battery

system("systemctl stop wpa_supplicant");

system ("echo auto > /sys/devices/pci0000\:00/0000\:00\:04.3/power/control");

to be able to get into S3 state, and

echo -n "mem" > /sys/power/state

to get to S3 state.

also, i tried disconnecting the integrated parts one by one (LEDS and prox. sensorfrom gpio, camera from USB), to check if one of them draws all of this current, and only got a slim change.

are there any other service to kill/other trick to do - so that i can lower the current consumption ?

thanks a lot

0 Kudos
21 Replies
idata
Community Manager
140 Views

Hi dorlX,

 

 

Could you please let us know the current value you are getting when the Edison is in normal state and the current value when it's in the S3 state? Try to test it without anything connected to the Edison.

 

 

According to this post: https://communities.intel.com/message/394859# 394859 https://communities.intel.com/message/394859# 394859, you should run the following command in order to disable the Wi-Fi interface: iwconfig wlan0 power off. Try running this command and check if there is any difference in the current value. Additionally, you could check the following power consumption report to know if you are getting similar values when the Wi-Fi interface is enable/disable: http://www.intel.com/content/www/us/en/support/boards-and-kits/intel-edison-boards/000006123.html?wa...

 

 

Regards,

 

Diego
ddor
Novice
140 Views

when i'm trying to do the command suggested, i get:

# iwconfig wlan0 power off

Error for wireless request "Set Power Management" (8B2C) :

SET failed on device wlan0 ; Input/output error.

so i can't really test if that's helping or not.

some measurements (wifi is disabled by the commands i written above):

* everything is connected but idle - +-50mA

* everything is disconnected but idle - +-50mA

* everything is connected, S3 - +-30mA

* everything is disconnected, S3 - +-28mA

so the "normal" power consumption seems to be right with those measurements (50mA at 9V idle), my only issue is with the power consumption in S3 state, which seems rather large, even when nothing is connected or running..

i'm using the yocto-3.10-edison image (latest from site).

ddor
Novice
140 Views

i tried changing fluke to a more accurate one, and play with higher voltage (11V) and i get the following measures:

* idle time current, no Wifi - +-48mA

* idle time current, Wifi - +-60mA

* S3 current - 22mA

idata
Community Manager
140 Views

Hi dorlX,

 

 

Thank you for posting your results.

 

 

I'll try to confirm if those values are correct, especially the current value in S3. I'll post an update as soon as possible.

 

 

Regards,

 

Diego
idata
Community Manager
140 Views

Hi dorlX,

 

 

Could you please let us know what command(s) you are using exactly to enter into S3 mode?

 

 

Additionally, the command iwconfig wlan0 power off will work only if the wlan0 interface is up. I'm not sure if this command will help to reduce the current consumption but you can give it a try. Just make sure the wlan0 interface is up before running it:

 

 

ifconfig wlan0 up  iwconfig wlan0 power off

 

 

Regards,

 

-Diego
idata
Community Manager
140 Views

Hi dorlX,

 

 

Were you able to find a solution for this? If you still need help, please let us know the exact command(s) you are using to enter into S3 mode.

 

 

Regards,

 

-Diego
ddor
Novice
140 Views

i mentioned it in the original post, in order to get S3 im doing in my code "system("echo -n mem > sys/power/state)"

i'l try tomorrow to see if

ifconfig wlan0 up  

iwconfig wlan0 power off

works.

thanks for the help.

idata
Community Manager
140 Views

Hi dorlX,

 

 

We tested the current consumption using the same commands you used in your test. We did the test using the Edison kit for Arduino with Yocto release 3.5, and an external power supply rated at 12V/1.5A.

 

 

When the board has booted up completely, it draws about 48.1 mA. When running the following commands, the board draws about 17.06 mA:

 

 

ifconfig wlan0 down

 

systemctl stop wpa_supplicant

 

echo auto > /sys/devices/pci0000\:00/0000\:00\:04.3/power/control

 

echo -n "mem" > /sys/power/state

 

 

There were nothing attached to the full USB port, so it's expected the current would be higher if a device is plugged in.

 

 

Regards,

 

-Diego
ddor
Novice
140 Views

thanks for the reply.

is there any difference when using the command suggested, "iwconfig wlan0 power off" ?

if not, is this a bug ? i've seen reports in earlier images about +-5mA in S3.

thanks for the help

DDam
Novice
140 Views

Hi dorlX,

You can get the current consumption in sleep mode with 5mA when using power supply with battery of 3.7V. Besides, it can be lower in the the first time of S3 with only 2 mA. From the second time of S3, it will be 5mA.

So I am trying to fix this issue to obtain the 2mA current. From dmesg command, I can guess that this issue comes from HSU (High Speed Uart) with the error message " HSU serial 0000:00:04.0: Refused to change power state, currently in D0 " D0 is the full operation and this device can not enter the S3 from the second time of sleeping. So, anyone has the solution to fix this issue or how to deactive this device.

Thanks

ddor
Novice
140 Views

so the whole difference between the measurements you encountered (2-5mA), and the ones me and Diego encountered (17-20mA) is due to high power supply (current wasted on level shifting/converting/etc.) ?

thanks,

Dor

idata
Community Manager
140 Views

Hi dorlX,

 

 

That's correct. I suggest you to try different power supplies and compare the results. We didn't test if the command iwconfig wlan0 power off makes any difference, but we encourage you to test it.

 

 

Hi squaredn,

 

 

As you can see in the following thread, power management is not implemented in Edison: https://communities.intel.com/thread/56744 https://communities.intel.com/thread/56744. That might be the reason why you get that error message regarding the HSU not changing the power state.

 

 

Regards,

 

-Diego
DDam
Novice
140 Views

Hi Diego,

I read this thread before. Do we have any solution or the way to deactive this device in kernel ?

Thanks

idata
Community Manager
140 Views

Hi squaredn,

 

 

I'm not sure if there is a way to deactivate the HSU, but please let me see if I'm able to find information on this. I'll post an update as soon as possible.

 

 

Regards,

 

-Diego
idata
Community Manager
140 Views

Hello squaredn,

 

 

I suggest you to comment these two lines and rebuild the image. However, by doing this you may disable the console access.

 

 

CONFIG_SERIAL_MFD_HSU=y

 

CONFIG_SERIAL_MFD_HSU_CONSOLE=y

 

 

Regards,

 

-Diego
DDam
Novice
140 Views

Hi Diego,

I rebuilt the image as your suggestion. However, It also disabled the console access. I tried using USB OTG as another way to access the console but it didn't work. So, how can I use the console in this case ?

Thanks

idata
Community Manager
140 Views

Hi squaredn,

 

 

You cannot access the console via serial port with the changes suggested below, however you could try to get access through SSH. I'm not sure if this will work, but you could try to configure the Edison's Wi-Fi using the Arduino IDE.

 

 

From an Arduino sketch, you can send Linux commands by using system calls as follow: system("echo test_message");

 

 

The Linux command has to be specified between quotation marks. As I said, I'm not sure if configuring the wlan0 interface through the Arduino IDE will work. The idea is to configure the wlan0 interface and get an IP address. Then, use this IP address to access the Edison's console through SSH.

 

 

Regards,

 

-Diego
DDam
Novice
140 Views

Hi Diego,

I tried your suggestion but the problem of current consumption is still presence.

Thanks

idata
Community Manager
140 Views

Hi squaredn,

 

 

As I explained before, power management is not implemented in Edison so that might be the reason why you don't see any change, even though you have built the image with the changes suggested.

 

 

There is, however, a patch that was posted by another user that could be helpful for you. We haven't tested it, but you might want to give it a try and see if there is any difference in the results. Take a look at the following post: https://communities.intel.com/message/353255# 353255 https://communities.intel.com/message/353255# 353255

 

 

Regards,

 

-Diego
DDam
Novice
63 Views

Hi Diego,

I tried this patch before but it didn't solve our current consumption in S3 problem. So, its hard to indentify the exact problem and fix it.

Thanks

Reply