hal reports 100% remaining for an empty battery

Iain McFarlane iain at imcfarla.homelinux.net
Mon Dec 17 10:07:45 PST 2007


Hi,

I have noticed that when one of the two my batteries in my laptop empties (battery.charge_level.current = 0) the battery.charge_level.percentage = 100

This is on kernel 2.6.24-rc5.1mdv (Mandriva Cooker kernel) using hal 0.5.10

this is the output when fully charged:
udi = '/org/freedesktop/Hal/devices/acpi_C18C'
  battery.charge_level.capacity_state = 'ok'  (string)
  battery.charge_level.current = 25859  (0x6503)  (int)
  battery.charge_level.design = 54720  (0xd5c0)  (int)
  battery.charge_level.granularity_1 = 10  (0xa)  (int)
  battery.charge_level.granularity_2 = 10  (0xa)  (int)
  battery.charge_level.last_full = 25909  (0x6535)  (int)
  battery.charge_level.low = 0  (0x0)  (int)
  battery.charge_level.percentage = 99  (0x63)  (int)
  battery.charge_level.rate = 0  (0x0)  (int)
  battery.charge_level.unit = 'mWh'  (string)
  battery.charge_level.warning = 0  (0x0)  (int)
  battery.is_rechargeable = true  (bool)
  battery.model = 'Handle'  (string)
  battery.present = true  (bool)
  battery.rechargeable.is_charging = false  (bool)
  battery.rechargeable.is_discharging = false  (bool)
  battery.reporting.current = 25859  (0x6503)  (int)
  battery.reporting.design = 54720  (0xd5c0)  (int)
  battery.reporting.granularity_1 = 10  (0xa)  (int)
  battery.reporting.granularity_2 = 10  (0xa)  (int)
  battery.reporting.last_full = 25909  (0x6535)  (int)
  battery.reporting.low = 0  (0x0)  (int)
  battery.reporting.rate = 0  (0x0)  (int)
  battery.reporting.technology = 'LIon'  (string)
  battery.reporting.unit = 'mWh'  (string)
  battery.reporting.warning = 0  (0x0)  (int)
  battery.serial = '000000454122DE00A6'  (string)
  battery.technology = 'lithium-ion'  (string)
  battery.type = 'primary'  (string)
  battery.vendor = 'COMPAQ'  (string)
  battery.voltage.current = 16658  (0x4112)  (int)
  battery.voltage.design = 15999  (0x3e7f)  (int)
  battery.voltage.unit = 'mV'  (string)
  info.capabilities = {'battery'} (string list)
  info.category = 'battery'  (string)
  info.parent = '/org/freedesktop/Hal/devices/computer'  (string)
  info.product = 'Battery Bay'  (string)
  info.udi = '/org/freedesktop/Hal/devices/acpi_C18C'  (string)
  linux.acpi_path = '/proc/acpi/battery/C18C'  (string)
  linux.acpi_type = 0  (0x0)  (int)
  linux.hotplug_type = 4  (0x4)  (int)

and when fully discharged:
udi = '/org/freedesktop/Hal/devices/acpi_C18C'
  battery.charge_level.capacity_state = 'critical'  (string)
  battery.charge_level.current = 0  (0x0)  (int)
  battery.charge_level.design = 54720  (0xd5c0)  (int)
  battery.charge_level.granularity_1 = 10  (0xa)  (int)
  battery.charge_level.granularity_2 = 10  (0xa)  (int)
  battery.charge_level.last_full = 25909  (0x6535)  (int)
  battery.charge_level.low = 0  (0x0)  (int)
  battery.charge_level.percentage = 100  (0x64)  (int)
  battery.charge_level.rate = 0  (0x0)  (int)
  battery.charge_level.unit = 'mWh'  (string)
  battery.charge_level.warning = 0  (0x0)  (int)
  battery.is_rechargeable = true  (bool)
  battery.model = 'Handle'  (string)
  battery.present = true  (bool)
  battery.rechargeable.is_charging = false  (bool)
  battery.rechargeable.is_discharging = false  (bool)
  battery.reporting.current = 0  (0x0)  (int)
  battery.reporting.design = 54720  (0xd5c0)  (int)
  battery.reporting.granularity_1 = 10  (0xa)  (int)
  battery.reporting.granularity_2 = 10  (0xa)  (int)
  battery.reporting.last_full = 25909  (0x6535)  (int)
  battery.reporting.low = 0  (0x0)  (int)
  battery.reporting.rate = 0  (0x0)  (int)
  battery.reporting.technology = 'LIon'  (string)
  battery.reporting.unit = 'mWh'  (string)
  battery.reporting.warning = 0  (0x0)  (int)
  battery.serial = '000000454122DE00A6'  (string)
  battery.technology = 'lithium-ion'  (string)
  battery.type = 'primary'  (string)
  battery.vendor = 'COMPAQ'  (string)
  battery.voltage.current = 14657  (0x3941)  (int)
  battery.voltage.design = 15999  (0x3e7f)  (int)
  battery.voltage.unit = 'mV'  (string)
  info.capabilities = {'battery'} (string list)
  info.category = 'battery'  (string)
  info.parent = '/org/freedesktop/Hal/devices/computer'  (string)
  info.product = 'Battery Bay'  (string)
  info.udi = '/org/freedesktop/Hal/devices/acpi_C18C'  (string)
  linux.acpi_path = '/proc/acpi/battery/C18C'  (string)
  linux.acpi_type = 0  (0x0)  (int)
  linux.hotplug_type = 4  (0x4)  (int)

Any ideas?

Regards,

Iain


More information about the hal mailing list