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!
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
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 ~ $
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
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
sudo dpkg --get-selections > afile.txt; pastebinit afile.txt
sudo lsmod > abfile.txt; pastebinit abfile.txt