Summary: | mfiutil(8) claims battery is OK even though it is worn out and wb cache is disabled | ||
---|---|---|---|
Product: | Base System | Reporter: | Ed Maste <emaste> |
Component: | bin | Assignee: | freebsd-bugs (Nobody) <bugs> |
Status: | Closed Overcome By Events | ||
Severity: | Affects Only Me | CC: | harrison.grundy |
Priority: | Normal | ||
Version: | Unspecified | ||
Hardware: | Any | ||
OS: | Any |
Description
Ed Maste
2012-05-04 14:40:10 UTC
I would be more suspcious of the hardware you're using. My Dell boxes with mfi(4) seem to do just fine with failed batteries: bash-4.2$ sudo mfiutil show battery mfi0: Battery State: Manufacture Date: 9/22/2007 Serial Number: 2015 Manufacturer: SANYO Model: DLU8735 Chemistry: LION Design Capacity: 1900 mAh Full Charge Capacity: 369 mAh Current Capacity: 349 mAh Charge Cycles: 42 Current Charge: 95% Design Voltage: 3700 mV Current Voltage: 4014 mV Temperature: 22 C Status: normal State of Health: bad Issue still exists with 8.4 FreeBSD banshee.namesco.net 8.4-RELEASE-p6 FreeBSD 8.4-RELEASE-p6 #0 r259163: Tue Dec 10 10:40:01 GMT 2013 toor@banshee.namesco.net:/usr/src/sys/amd64/compile/BANSHEE amd64 The server still works but write cache being disabled makes a huge difference to IO root@banshee # mfiutil cache 0 mfi0 volume mfid0 cache settings: I/O caching: writes and reads write caching: write-back write cache with bad BBU: disabled read ahead: always drive write cache: enabled Cache Disabled Due to Dead Battery ($09:52:35 <~>$) 0 root@banshee # mfiutil show battery mfi0: Battery State: Manufacture Date: 6/3/2011 Serial Number: 637 Manufacturer: LS1191002A Model: 3150302 Chemistry: LION Design Capacity: 1215 mAh Full Charge Capacity: 549 mAh Current Capacity: 534 mAh Charge Cycles: 66 Current Charge: 97% Design Voltage: 3700 mV Current Voltage: 4048 mV Temperature: 39 C Status: normal In both cases the battery had < 50% capacity -- 504 and 549 mAh, vs 1215 mAh design capacity. The write cache is disabled as expected, the issue is just the battery status reporting. BBU State of Health output as added in r219717 switch (stat.battery_type) { case MFI_BBU_TYPE_BBU: printf(" State of Health: %s\n", stat.detail.bbu.is_SOH_good ? "good" : "bad"); break; } and I suspect this would report "bad" for those batteries. Does this still occur after r219717? I no longer have access to this hardware (or a bad battery) to test. Hopefully someone else can. I've asked a former colleague (who still has access to this hw) to test. I no longer have access to any of this hardware, but I believe this has been fixed. |