| Prev |   1   2 |
maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   General (https://talk.maemo.org/forumdisplay.php?f=7)
-   -   N900 Discharging battery rapidly with low cpu usage! (https://talk.maemo.org/showthread.php?t=81396)

vi_ 2012-01-13 11:15

Re: N900 Discharging battery rapidly with low cpu usage!
 
Quote:

Originally Posted by NotTheMessiah (Post 1147176)
Ok, so after playing around some more i'm still having the same problem. It still happens when in offline mode, and it still happens with the sim removed. The device has now since been reflashed a further two times and is currently running PR1.2 as i had read about severe battery drain in PR1.3 but this has not helped.


Here is powertop's output when the phone is both offline and idle...
Code:

Powertop 1.13.3
status: Unknown job: pmtrackerdaemon
Sleeping for 11 seconds before sampling
Collecting data for 30 seconds
Sample interval was 00m 30s 16693us

C# | Ratio | Avg/dura | Frequency | Ratio
--------+--------+----------+-----------+--------+
C0 | 1.9% | | 600 MHz | 1.8% |
C1 | 1.0% | 4.8ms | 550 MHz | 0.0% |
C2 | 13.2% | 22.3ms | 500 MHz | 1.3% |
C3 | 4.8% | 89.2ms | 250 MHz | 96.8% |
C4 | 79.1% | 1825.3ms |

IRQ# | Activity | Type | Name
--------+------------+----------------+---------------------------
61 | 204 | INTC | i2c_omap
37 | 197 | INTC | gp
56 | 174 | INTC | i2c_omap
11 | 123 | INTC | prcm
57 | 104 | INTC | i2c_omap
86 | 35 | INTC | mmc1
273 | 23 | GPIO | kb_lock
21 | 18 | INTC | SGX
12 | 4 | INTC | DMA

PID# | Activity | Name | Function Entry (Expire)
--------+------------+----------------+---------------------------
0 | 130 | <kernel core> | tick_nohz_restart_sched_tick (tick_sched_timer)
37 | 29D| awk | cpufreq_governor_dbs (delayed_work_timer_fn)
1691 | 19 | osso-xterm | schedule_hrtimeout_range (hrtimer_wakeup)
731 | 16 | mce | schedule_hrtimeout_range (hrtimer_wakeup)
0 | 14 | <kernel core> | hrtimer_start (tick_sched_timer)
696 | 10 | bme_RX-51 | sys_timer_settime (posix_timer_fn)
509 | 7 | mmcqd | schedule_timeout (process_timeout)
696 | 6 | bme_RX-51 | schedule_timeout (process_timeout)
509 | 4 | mmcqd | queue_delayed_work (delayed_work_timer_fn)
685 | 4 | dsme | __enqueue_rt_entity (sched_rt_period_timer)
814 | 3 | Xorg | hrtimer_start (it_real_fn)
1 | 3D| <kernel core> | queue_delayed_work (delayed_work_timer_fn)
787 | 2 | sgx_perf | queue_delayed_work (delayed_work_timer_fn)
696 | 2 | bme_RX-51 | sys_timer_settime (posix_timer_fn)
696 | 2 | bme_RX-51 | do_nanosleep (hrtimer_wakeup)
685 | 2 | dsme | do_nanosleep (hrtimer_wakeup)
1441 | 2 | browserd | futex_wait (hrtimer_wakeup)
0 | 2 | <kernel core> | gpio_sw_irq_handler (gpio_sw_timer)
731 | 2 | mce | schedule_timeout (process_timeout)
731 | 2 | mce | schedule_timeout (process_timeout)
29 | 1 | mount | setup_wb_timer (wb_timer_fn)
13 | 1 | pdflush | blk_plug_device (blk_unplug_timeout)
509 | 1 | mmcqd | schedule_timeout (process_timeout)
814 | 1 | Xorg | queue_delayed_work (delayed_work_timer_fn)
1700 | 1 | powertop | do_nanosleep (hrtimer_wakeup)

Power domain activity breakdown
Domain | % of time spent in states
--------+---------+---------+---------+---------+----------
usbhost |OFF: 100%|RET: 0%|INA: 0%| ON: 0%| now:(OFF)
sgx |OFF: 96%|RET: 0%|INA: 0%| ON: 3%| now:(OFF)
per |OFF: 83%|RET: 13%|INA: 0%| ON: 3%| now:(ON)
dss |OFF: 85%|RET: 0%|INA: 0%| ON: 14%| now:(ON)
cam |OFF: 100%|RET: 0%|INA: 0%| ON: 0%| now:(OFF)
core |OFF: 79%|RET: 1%|INA: 12%| ON: 7%| now:(ON)
neon |OFF: 79%|RET: 4%|INA: 13%| ON: 3%| now:(ON)
mpu |OFF: 79%|RET: 4%|INA: 13%| ON: 3%| now:(ON)
iva2 |OFF: 100%|RET: 0%|INA: 0%| ON: 0%| now:(OFF)

Clock activity breakdown at end of period
Domain | Active clocks
--------+---------------+---------------+------------------
core | SDRC | HSOTGUSB_IDLE | OMAPCTRL
| MAILBOXES |
wkup | GPT1 | 32KSYNC | GPIO1
| WDT1 |
ckgen | CORE | PERI | 96M
| 48M | 12M | 54M
| EMU_CORE |
dss | DSS_IDLE
per | GPIO2 | GPIO3 | GPIO4
| GPIO5 | GPIO6 |

Total wakeups 1148, 38.3/s | IRQ 882, 29.4/s | Timers 266, 8.9/s
HW wakeups 123, 4.1/s | Real gp_timers expired 197, 6.6/s


Here is powertop's output when the phone is online and idle...
Code:

Powertop 1.13.3
status: Unknown job: pmtrackerdaemon
Sleeping for 11 seconds before sampling
Collecting data for 30 seconds
Sample interval was 00m 30s 32440us

C# | Ratio | Avg/dura | Frequency | Ratio
--------+--------+----------+-----------+--------+
C0 | 0.9% | | 600 MHz | 0.0% |
C1 | 0.0% | 0.3ms | 550 MHz | 0.0% |
C2 | 0.9% | 4.9ms | 500 MHz | 1.3% |
C3 | 5.0% | 88.3ms | 250 MHz | 98.7% |
C4 | 93.2% | 1748.8ms |

IRQ# | Activity | Type | Name
--------+------------+----------------+---------------------------
56 | 269 | INTC | i2c_omap
37 | 75 | INTC | gp
57 | 58 | INTC | i2c_omap
11 | 49 | INTC | prcm
86 | 31 | INTC | mmc1
21 | 9 | INTC | SGX
12 | 4 | INTC | DMA

PID# | Activity | Name | Function Entry (Expire)
--------+------------+----------------+---------------------------
0 | 33 | <kernel core> | tick_nohz_restart_sched_tick (tick_sched_timer)
1691 | 18 | osso-xterm | schedule_hrtimeout_range (hrtimer_wakeup)
37 | 13D| awk | cpufreq_governor_dbs (delayed_work_timer_fn)
696 | 13 | bme_RX-51 | sys_timer_settime (posix_timer_fn)
696 | 6 | bme_RX-51 | sys_timer_settime (posix_timer_fn)
696 | 6 | bme_RX-51 | schedule_timeout (process_timeout)
509 | 5 | mmcqd | schedule_timeout (process_timeout)
509 | 3 | mmcqd | queue_delayed_work (delayed_work_timer_fn)
0 | 3 | <kernel core> | hrtimer_start (tick_sched_timer)
685 | 3 | dsme | do_nanosleep (hrtimer_wakeup)
685 | 3 | dsme | __enqueue_rt_entity (sched_rt_period_timer)
814 | 2 | Xorg | hrtimer_start (it_real_fn)
787 | 2 | sgx_perf | queue_delayed_work (delayed_work_timer_fn)
1 | 2D| <kernel core> | queue_delayed_work (delayed_work_timer_fn)
696 | 2 | bme_RX-51 | do_nanosleep (hrtimer_wakeup)
814 | 1 | Xorg | queue_delayed_work (delayed_work_timer_fn)
1389 | 1 | Calendar | schedule_hrtimeout_range (hrtimer_wakeup)
731 | 1 | mce | schedule_hrtimeout_range (hrtimer_wakeup)
1441 | 1 | browserd | futex_wait (hrtimer_wakeup)
1010 | 1 | iphbd | schedule_hrtimeout_range (hrtimer_wakeup)
1719 | 1 | powertop | do_nanosleep (hrtimer_wakeup)

Power domain activity breakdown
Domain | % of time spent in states
--------+---------+---------+---------+---------+----------
usbhost |OFF: 100%|RET: 0%|INA: 0%| ON: 0%| now:(OFF)
sgx |OFF: 97%|RET: 0%|INA: 0%| ON: 2%| now:(OFF)
per |OFF: 97%|RET: 1%|INA: 0%| ON: 0%| now:(ON)
dss |OFF: 100%|RET: 0%|INA: 0%| ON: 0%| now:(OFF)
cam |OFF: 100%|RET: 0%|INA: 0%| ON: 0%| now:(OFF)
core |OFF: 93%|RET: 2%|INA: 0%| ON: 3%| now:(ON)
neon |OFF: 93%|RET: 4%|INA: 0%| ON: 0%| now:(ON)
mpu |OFF: 93%|RET: 4%|INA: 0%| ON: 0%| now:(ON)
iva2 |OFF: 100%|RET: 0%|INA: 0%| ON: 0%| now:(OFF)

Clock activity breakdown at end of period
Domain | Active clocks
--------+---------------+---------------+------------------
core | SDRC | HSOTGUSB_IDLE | OMAPCTRL
| MAILBOXES |
wkup | GPT1 | 32KSYNC | GPIO1
| WDT1 |
ckgen | CORE | PERI | 96M
| 48M | 12M | 54M
| EMU_CORE |
per | GPIO2 | GPIO3 | GPIO4
| GPIO5 | GPIO6 |

Total wakeups 615, 20.5/s | IRQ 495, 16.5/s | Timers 120, 4.0/s
HW wakeups 49, 1.6/s | Real gp_timers expired 75, 2.5/s
~ $

Looking at those it seems that the phone isn't doing much with the processor, at least not that it would seem to me on first inspection.

So i ran powerscript and found that even despite this low cpu usage there is very high current draw for idle mode!

Below is the current draw for offline mode with the sim in place still...
Note that the phone is idle when the number of events is shown as approx 60 to 70
Code:

Using I2C to read charge meter directly
Sat Jan 7 16:46:58 GMT 2012 333mA 182 total events, 36.103 events/sec
Sat Jan 7 16:47:03 GMT 2012 317mA 218 total events, 43.512 events/sec
Sat Jan 7 16:47:08 GMT 2012 303mA 186 total events, 37.110 events/sec
Sat Jan 7 16:47:13 GMT 2012 304mA 235 total events, 46.896 events/sec
Sat Jan 7 16:47:18 GMT 2012 250mA 70 total events, 13.952 events/sec
Sat Jan 7 16:47:23 GMT 2012 203mA 61 total events, 12.182 events/sec
Sat Jan 7 16:47:28 GMT 2012 200mA 62 total events, 12.353 events/sec
Sat Jan 7 16:47:33 GMT 2012 200mA 138 total events, 27.522 events/sec

And here again with the sim removed, same applies as above about the phone being idle.
Code:

Using I2C to read charge meter directly
Sat Jan 7 16:55:05 GMT 2012 407mA 197 total events, 39.329 events/sec
Sat Jan 7 16:55:10 GMT 2012 300mA 220 total events, 43.903 events/sec
Sat Jan 7 16:55:15 GMT 2012 295mA 187 total events, 37.303 events/sec
Sat Jan 7 16:55:20 GMT 2012 292mA 324 total events, 64.670 events/sec
Sat Jan 7 16:55:25 GMT 2012 307mA 81 total events, 16.174 events/sec
Sat Jan 7 16:55:30 GMT 2012 178mA 73 total events, 14.582 events/sec
Sat Jan 7 16:55:35 GMT 2012 184mA 86 total events, 17.151 events/sec
Sat Jan 7 16:55:40 GMT 2012 211mA 183 total events, 36.512 events/sec

drawing 180mA when idle is stupidly high, and these results must be accurate as well since the battery is lasting only ~7 hours in idle mode and this makes sense with the maths as 1221mAh (the max my battery charges to) divided by 180 gives us approx 6.7 hours battery life.

So given that, it looks to me like i have a hardware issue, some fault in the power circuit, maybe a bad voltage regulator or something, or at least some other kind of partial short.

Any ideas anyone? I'd love to be proven wrong about it being a hardware fault as i'm not quite ready to part with the device but 6 hours standby time is no good to anybody really!

Hey bro, I finally got over mny new year hangover! (heh).

Can you install 'pastebinit' from devel (or extras or somwhere) and then do this.

Followed by this (while connected to the net):

Code:

sudo dpkg --get-selections > afile.txt; pastebinit afile.txt
and finally this:

Code:

sudo lsmod > abfile.txt; pastebinit abfile.txt
Paste the links here.


| Prev |   1   2 |
All times are GMT. The time now is 17:56.

vBulletin® Version 3.8.8