Jump to content

AppleACPIBatteryManager/AppleSmartBatteryManager For Lion


Zprood
 Share

182 posts in this topic

Recommended Posts

  • 3 weeks later...

Question: why not include patches known to be required for Hackbooks into Apple's PowerManagement Sources as has been done before (last time I know of in Leopard) instead of all this complicated DSDT stuff, which in addition is different for each Laptop .. ?? The modded PM.bundle worked so well back then in all sorts of mobile PCs ..

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

Hello everybody!

 

I tried several times to follow your instructions, but I get lost after a while...

my laptop is an HP dv5 1120el.

I checked also other topics to get my DSDT fixed but I'm not able to edit it properly.

 

Is there any DSDT wizard who can check and fix my extracted dsdt.aml ?

Hope so :-D

 

Thank you ...have a nice day!

[K]

 

Can't attach with uploader, here's the file: http://www.mediafire.com/?rmycuzry1uoamg4

Link to comment
Share on other sites

  • 3 weeks later...
  • 2 weeks later...

@zprood,

 

First of all nice work on this kext. But there was a bug that was bothering me (and others) so I decided to tackle it. The bug was as follows:

 

- shutdown your computer

- remove all batteries

- boot computer and run Mac OS X

- click on battery status in menu bar

 

bug: Observe that it shows No Batteries Available, Power Source: Battery

 

Cute, eh? No batteries but running on battery...

 

The fix was to add a couple of lines to pollBatteryState:


	if (fBatteryPresent) {
		fProvider->getBatteryBIF();
		fProvider->getBatteryBST();
	} else {
		setFullyCharged(false);
		clearBatteryState(true);
		//rehabman: added to correct power source Battery if boot w/ no batteries
		fACConnected = true;
		setExternalConnected(fACConnected);
	}

 

I have posted a build (and source) with this fix over at the ProBook forum on tonymacx86.com.

 

Here is the link: http://www.tonymacx8...html#post414347

 

If you're still watching this thread and working on this kext, perhaps you'll want to patch-in my fix.

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 months later...
  • 1 month later...

I have a little problem ... I think that I have 256bit value ...

 

Name (SMBF, Zero)
	    OperationRegion (SMBX, EmbeddedControl, 0x18, 0x28)
	    Field (SMBX, ByteAcc, NoLock, Preserve)
	    {
		    PRTC,   8,
		    SSTS,   5,
			    ,   1,
		    ALFG,   1,
		    CDFG,   1,
		    ADDR,   8,
		    CMDB,   8,
		    BDAT,   256,
		    BCNT,   8,
			    ,   1,
		    ALAD,   7,
		    ALD0,   8,
		    ALD1,   8
	    }

 

After 3 KP I don't know what to do ... someone may look at this? My DSDT was OK on SL10.6.8 ... but here I have a problem.

Glad, that My Y530 have "hardware" battery indicator...

 

I have problem with ALC888 too, but that's not the topic here ...

dsdt.aml.zip

Link to comment
Share on other sites

  • 7 months later...
  • 1 month later...
  • 4 weeks later...

Samsung R480

 

The complete model string is: NP-R480-JS04AR

I've already written a battery patch that appears to match. See: https://github.com/RehabMan/Laptop-DSDT-Patch

 

The one you want to apply (with MaciASL) is "Samsung Series 3"

 

You will also need to fix the problem with _PLD "Fix _PLD Buffer/Package Error"

Link to comment
Share on other sites

Hi,

I'm really struggling to patch my DSDT. I've attached a copy of my current DSDT. It'd be great if anyone with the expertise and the time could apply the edits for me. It's for an Acer Aspire S3-951. I DSDT I'm uploading is one that's had various edits applied , let me know if it's better to have a clean DSDT. 

Hope someone can help. Thanks for all the good work.

dsdt.aml.zip

Link to comment
Share on other sites

Hi,

I'm really struggling to patch my DSDT. I've attached a copy of my current DSDT. It'd be great if anyone with the expertise and the time could apply the edits for me. It's for an Acer Aspire S3-951. I DSDT I'm uploading is one that's had various edits applied , let me know if it's better to have a clean DSDT. 

Hope someone can help. Thanks for all the good work.

Your DSDT doesn't require any edits for battery status. All battery status registers are in SystemMemory, not EmbeddedControl.

Link to comment
Share on other sites

I'm going to need to do more reading up on DSDTs just to understand what that means :) But yeah, just tried the ACPIBatteryManager.kext with the DSDT as it is and it works. Sorry for the trouble. I'm getting a message about the condition of the battery and that I need to replace it but that's easily ignored. Many thanks. You've been a great help, not just with this but from your many other posts.

Link to comment
Share on other sites

I'm going to need to do more reading up on DSDTs just to understand what that means :) But yeah, just tried the ACPIBatteryManager.kext with the DSDT as it is and it works. Sorry for the trouble. I'm getting a message about the condition of the battery and that I need to replace it but that's easily ignored. Many thanks. You've been a great help, not just with this but from your many other posts.

You should probably install the debug version to see if there are any errors coming back from DSDT (if there are, it is not from large EC registers, but from something else).

 

Also you can dump the status with this:

# in Terminal
ioreg -rc IOPMPowerSource
Link to comment
Share on other sites

The status looks fine to me (see below). I'll take your advice and try the debug version when I get the chance. Thanks again.

 

 {
      "PostChargeWaitSeconds" = 120
      "TimeRemaining" = 65535
      "InstantTimeToEmpty" = 65535
      "ExternalChargeCapable" = Yes
      "CellVoltage" = (3148,3148,3148,3148)
      "PermanentFailureStatus" = 0
      "BatteryInvalidWakeSeconds" = 30
      "Voltage" = 12592
      "MaxCapacity" = 3340
      "Quick Poll" = No
      "AtWarnLevel" = No
      "Manufacturer" = "SONYCorp"
      "CurrentCapacity" = 3340
      "LegacyBatteryInfo" = {"Amperage"=0,"Flags"=5,"Capacity"=3340,"Current"=3340,"Voltage"=12592,$
      "FirmwareSerialNumber" = 4980
      "BatteryInstalled" = Yes
      "CycleCount" = 536
      "DesignCapacity" = 6560
      "AvgTimeToFull" = 65535
      "ManufactureDate" = 0
      "AtCriticalLevel" = No
      "BatteryType" = "LiP"
      "InstantTimeToFull" = 65535
      "BatterySerialNumber" = "AP11D4F- 1374"
      "PostDischargeWaitSeconds" = 120
      "Serial" = " 1374"
      "Temperature" = 0
      "InstantAmperage" = 0
      "MaxErr" = 0
      "FullyCharged" = Yes
      "DeviceName" = "AP11D4F"
      "IOGeneralInterest" = "IOCommand is not serializable"
      "Amperage" = 0
      "IsCharging" = No
      "ExternalConnected" = Yes
      "AvgTimeToEmpty" = 65535
    }
Link to comment
Share on other sites

The status looks fine to me (see below). I'll take your advice and try the debug version when I get the chance. Thanks again.

 

 {

      "MaxCapacity" = 3340

      "CurrentCapacity" = 3340

      "CycleCount" = 536

      "DesignCapacity" = 6560

    }

It is probably the high cycle count and/or the fact that MaxCapacity is half DesignCapacity.

 

FYI: Most DSDTs do not report cycle count, but the battery manager estimates cycle count with a formula based on the difference between DesignCapacity and MaxCapacity.

Link to comment
Share on other sites

 Share

×
×
  • Create New...