`acpi -V` displays incorrect remaining battery time (g-p-m works fine)

Bug #290684 reported by Troy R.
4
This bug affects 1 person
Affects Status Importance Assigned to Milestone
acpi (Ubuntu)
New
Undecided
Unassigned

Bug Description

Binary package hint: acpi

Hello fellow bug detectives,

After upgrading to Intrepid from Hardy *and* a clean install on a different machine, the `acpi -V` command, which generally shows me the correct amount of remaining battery time on both machines, does not - instead, it appears to be quite incorrect. I have run the command repeatedly on both machines, which each get well over 6 hours of battery life.

Gnome Power Manager, by contrast, reports the remaining time perfectly on both machines.

This results in inconvenience for end users of the `acpi` utility, as well as initiating a suspend as soon as I unplug the machine from AC, presumably because all of a sudden ACPI thinks the machine only has 3 minutes of battery left.

Old output:
$ acpi -V | grep Discharging
     Battery 1: Discharging, 97%, 06:20:00 remaining

After the upgrade to Intrepid:
$ acpi -V | grep Discharging
     Battery 0: Discharging, 97%, 00:03:43 remaining
     .....
     [repeat cmd a few times]
     .....
     Battery 0: Discharging, 97%, 00:06:03 remaining

What is curious is that if I run the command a few more times, I get values that would be roughly correct for the machine - if only the numbers were shifted left one position.
Example: I get 00:06:03, but 06:03:00 would be the correct value.

=====
$ lsb_release -rd
Description: Ubuntu 8.10
Release: 8.10

$ apt-cache policy acpi
acpi:
  Installed: 1.1-1ubuntu1
  Candidate: 1.1-1ubuntu1
  Version table:
 *** 1.1-1ubuntu1 0
        500 http://ca.archive.ubuntu.com intrepid/main Packages
        100 /var/lib/dpkg/status

$ lspci
00:00.0 Host bridge: ATI Technologies Inc RS480 Host Bridge (rev 10)
00:01.0 PCI bridge: ATI Technologies Inc RS480 PCI Bridge
00:05.0 PCI bridge: ATI Technologies Inc RS480 PCI Bridge
00:06.0 PCI bridge: ATI Technologies Inc RS480 PCI Bridge
00:12.0 SATA controller: ATI Technologies Inc SB600 Non-Raid-5 SATA
00:13.0 USB Controller: ATI Technologies Inc SB600 USB (OHCI0)
00:13.1 USB Controller: ATI Technologies Inc SB600 USB (OHCI1)
00:13.2 USB Controller: ATI Technologies Inc SB600 USB (OHCI2)
00:13.3 USB Controller: ATI Technologies Inc SB600 USB (OHCI3)
00:13.4 USB Controller: ATI Technologies Inc SB600 USB (OHCI4)
00:13.5 USB Controller: ATI Technologies Inc SB600 USB Controller (EHCI)
00:14.0 SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 14)
00:14.1 IDE interface: ATI Technologies Inc SB600 IDE
00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA)
00:14.3 ISA bridge: ATI Technologies Inc SB600 PCI to LPC Bridge
00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
01:05.0 VGA compatible controller: ATI Technologies Inc RS482 [Radeon Xpress 200M]
05:00.0 Network controller: Broadcom Corporation BCM4311 802.11b/g WLAN (rev 01)
08:00.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)
08:01.0 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19)
08:01.1 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 01)

$ lsmod
Module Size Used by
mmc_block 17924 0
nls_iso8859_1 12032 0
nls_cp437 13696 0
vfat 18816 0
fat 57376 1 vfat
af_packet 25728 4
rfkill_input 12672 0
binfmt_misc 16904 1
rfcomm 44432 0
sco 18308 2
bridge 56980 0
stp 10628 1 bridge
bnep 20480 2
l2cap 30464 6 rfcomm,bnep
bluetooth 61924 6 rfcomm,sco,bnep,l2cap
ppdev 15620 0
ipv6 263972 12
powernow_k8 22148 1
cpufreq_stats 13188 0
cpufreq_userspace 11396 0
cpufreq_powersave 9856 0
cpufreq_ondemand 14988 0
freq_table 12672 3 powernow_k8,cpufreq_stats,cpufreq_ondemand
cpufreq_conservative 14600 1
container 11520 0
pci_slot 12552 0
sbs 19464 0
sbshc 13440 1 sbs
iptable_filter 10752 0
ip_tables 19600 1 iptable_filter
x_tables 22916 1 ip_tables
parport_pc 39204 0
lp 17156 0
parport 42604 3 ppdev,parport_pc,lp
joydev 18368 0
snd_hda_intel 381488 5
arc4 9984 2
snd_pcm_oss 46848 0
snd_mixer_oss 22784 1 snd_pcm_oss
ecb 10880 2
crypto_blkcipher 25476 1 ecb
snd_pcm 83204 3 snd_hda_intel,snd_pcm_oss
snd_seq_dummy 10884 0
snd_seq_oss 38528 0
snd_seq_midi 14336 0
b43 131356 0
psmouse 45200 0
snd_rawmidi 29824 1 snd_seq_midi
dcdbas 15008 0
serio_raw 13444 0
pcspkr 10624 0
snd_seq_midi_event 15232 2 snd_seq_oss,snd_seq_midi
snd_seq 57776 6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
rfkill 17176 3 rfkill_input,b43
snd_timer 29960 2 snd_pcm,snd_seq
snd_seq_device 15116 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
k8temp 12416 0
mac80211 216820 1 b43
sdhci_pci 15360 0
snd 63268 18 snd_hda_intel,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
sdhci 23940 1 sdhci_pci
evdev 17696 16
mmc_core 58268 2 mmc_block,sdhci
cfg80211 32392 1 mac80211
ricoh_mmc 11904 0
soundcore 15328 1 snd
snd_page_alloc 16136 2 snd_hda_intel,snd_pcm
led_class 12164 1 b43
input_polldev 11912 1 b43
video 25104 0
output 11008 1 video
fglrx 1813960 23
i2c_piix4 16144 0
wmi 14504 0
battery 18436 0
i2c_core 31892 1 i2c_piix4
ac 12292 0
button 14224 0
ati_agp 14988 0
agpgart 42184 2 fglrx,ati_agp
shpchp 37908 0
pci_hotplug 35236 1 shpchp
ext3 133256 3
jbd 55444 1 ext3
mbcache 16004 1 ext3
usb_storage 81728 1
libusual 27156 1 usb_storage
usbhid 35840 0
hid 50560 1 usbhid
sr_mod 22212 0
cdrom 43168 1 sr_mod
sd_mod 42264 6
crc_t10dif 9984 1 sd_mod
pata_atiixp 12800 0
sg 39732 0
ata_generic 12932 0
b44 35984 0
mii 13440 1 b44
ohci_hcd 31888 0
ahci 37132 3
pata_acpi 12160 0
usbcore 148848 5 usb_storage,libusual,usbhid,ohci_hcd
libata 177312 4 pata_atiixp,ata_generic,ahci,pata_acpi
scsi_mod 155212 5 usb_storage,sr_mod,sd_mod,sg,libata
dock 16656 1 libata
ssb 40580 2 b43,b44
thermal 23708 0
processor 42156 2 powernow_k8,thermal
fan 12548 0
fbcon 47648 0
tileblit 10880 1 fbcon
font 16512 1 fbcon
bitblit 13824 1 fbcon
softcursor 9984 1 bitblit
fuse 60828 3

Troy R. (dsm-iv-tr)
description: updated
Revision history for this message
Troy R. (dsm-iv-tr) wrote :

I've been poking around in the apt-get'ted source for the utility, but I can't see anything wrong with the 'time remaining' calculation. As well, when I unplug the AC I get reasonable discharge rates.

$ cat /proc/acpi/battery/BAT1/state
present: yes
capacity state: ok
charging state: discharging
present rate: 1525 mA
remaining capacity: 7404 mAh
present voltage: 12525 mV

That should give me about 4.85 hours, which is similar to the result I get from the new version of `acpi` except it reports it as minutes instead,

$ acpi -V
     Battery 0: Discharging, 97%, 00:04:52 remaining

Revision history for this message
Troy R. (dsm-iv-tr) wrote :

I did solve the magic suspend problem, turns out I had g-p-m set to suspend if the lid is closed on battery, so please disregard that.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.