`acpi -V` displays incorrect remaining battery time (g-p-m works fine)
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://
100 /var/lib/
$ 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/
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,
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_
cpufreq_
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_
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_
snd_seq 57776 6 snd_seq_
rfkill 17176 3 rfkill_input,b43
snd_timer 29960 2 snd_pcm,snd_seq
snd_seq_device 15116 5 snd_seq_
k8temp 12416 0
mac80211 216820 1 b43
sdhci_pci 15360 0
snd 63268 18 snd_hda_
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_
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,
libata 177312 4 pata_atiixp,
scsi_mod 155212 5 usb_storage,
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
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