Difference between revisions of "Talk:Maintenance"

From ThinkWiki
Jump to: navigation, search
(removed double post)
(Charge thresholds under Linux)
Line 1: Line 1:
 +
== Charge thresholds under Linux ==
 
In regard to the question about controlling the charge threshold from Linux: apparently this isn't controlled by some standard means such as an ACPI method, but rather by direct I/O port tweaking done by the Battery MaxiMiser driver for Windows. It would be very hard to figure this out without specs.
 
In regard to the question about controlling the charge threshold from Linux: apparently this isn't controlled by some standard means such as an ACPI method, but rather by direct I/O port tweaking done by the Battery MaxiMiser driver for Windows. It would be very hard to figure this out without specs.
  
Line 13: Line 14:
 
Another data point: it seems that charging enable/disable is done automatically in hardware based on the configured thresholds. Some forum posts suggested it's done by software monitoring, but I checked and it does work under Linux after rebooting from Windows.
 
Another data point: it seems that charging enable/disable is done automatically in hardware based on the configured thresholds. Some forum posts suggested it's done by software monitoring, but I checked and it does work under Linux after rebooting from Windows.
  
In light of these, it seems the charge threshold behavior is implemented in the embedded controller, so the thresholds are probably stored there (rather than in RAM, CMOS or the battery). Well, guess what: offset 0x24 in the embedded controller (i.e.,  {{path|/proc/acpi/ibm/ecdump}}) contains the "start charging" threshold, in percentage minus 1. You can see this by changing the threshold in Windows, rebooting to Linux and looking at {{path|/proc/acpi/ibm/ecdump}}. No idea how to change it, though: {{cmdroot|echo 0x24 0x50 > /proc/acpi/ibm/ecdump}} has no effect. And I don't see anything obviously corresponding to the "stop charging" threshold.
+
Offset 0x24 in the embedded controller (i.e.,  {{path|/proc/acpi/ibm/ecdump}}) contains the "start charging" threshold, in percentage minus 1. You can see this by changing the threshold in Windows, rebooting to Linux and looking at {{path|/proc/acpi/ibm/ecdump}}. No idea how to change it, though: {{cmdroot|echo 0x24 0x50 > /proc/acpi/ibm/ecdump}} has no effect. And I don't see anything obviously corresponding to the "stop charging" threshold.
  
--[[User:Thinker|Thinker]] 20:21, 6 Nov 2005 (CET)
+
When the charge thresholds are changed in Battery Maximizer, they take effect immediately but are ''not'' written to the embedded controller (or at least not through its standard interface). There are several writes to the EC's IO ports (0x62 and 0x66) but their operands do not change with the thresholds. So it looks like either the EC uses additional, non-standard ports, or there's some autonomous charging circuitry independent of the EC.
 +
 
 +
--[[User:Thinker|Thinker]]
 
----
 
----
  

Revision as of 04:14, 1 December 2005

Charge thresholds under Linux

In regard to the question about controlling the charge threshold from Linux: apparently this isn't controlled by some standard means such as an ACPI method, but rather by direct I/O port tweaking done by the Battery MaxiMiser driver for Windows. It would be very hard to figure this out without specs.

--Thinker 17:56, 2 Oct 2005 (CEST)


maybe it would be possible to use a windows tool like SoftICE to capture the communication required to set the treshholds? as soon as we have some sort of specification adding support for it to the kernel should be rather trivial. --gst

http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2005-September/029556.html --gst


I see that when the charge threshold is set to a high value in Windows, charging is stopped even past reboots (including into Linux), battery changes and AC power loss. The only thing that resumes charging (other than changing the setting under Windows) is disconnection of the AC power while the laptop is turned off.

Another data point: it seems that charging enable/disable is done automatically in hardware based on the configured thresholds. Some forum posts suggested it's done by software monitoring, but I checked and it does work under Linux after rebooting from Windows.

Offset 0x24 in the embedded controller (i.e., /proc/acpi/ibm/ecdump) contains the "start charging" threshold, in percentage minus 1. You can see this by changing the threshold in Windows, rebooting to Linux and looking at /proc/acpi/ibm/ecdump. No idea how to change it, though: # echo 0x24 0x50 > /proc/acpi/ibm/ecdump has no effect. And I don't see anything obviously corresponding to the "stop charging" threshold.

When the charge thresholds are changed in Battery Maximizer, they take effect immediately but are not written to the embedded controller (or at least not through its standard interface). There are several writes to the EC's IO ports (0x62 and 0x66) but their operands do not change with the thresholds. So it looks like either the EC uses additional, non-standard ports, or there's some autonomous charging circuitry independent of the EC.

--Thinker


Cleaning the Interior

The description in the article doesn't match the keyboard removal instructions for the T43. It's best to just link to IBM's on-line instructions (which, for the T43 at least, include a nifty video of the disassembly) and to the maintenance manuals.

--Thinker 23:47, 28 Nov 2005 (CET)