Jump to content
kosakgroove

[HELP] Fix battery percentage in DSDT Lenovo L420

31 posts in this topic

Recommended Posts

Hi guys, I am an experienced user in DSDT paching and Hackintosh in general, and in my Hack everything is running perfect. The only thing remaining to do in this Lenovo Thinkpad L420 is to fix the battery stats in order to use ACPIBatteryManager from RehabMan, but I have tried all the similar model patches to the DSDT and none makes it work. Most of them cause a kernel panic,

 

I can do almost everything on a Hackintosh except patch an AppleHDA from scratch and writing a patch for battery stats in DSDT.. Could anyone kindly help with this?

 

ACPI Lenovo L420.zip

Share this post


Link to post
Share on other sites
Advertisement

This caused instant reboot when booting, then I tried to revert to original DSDT and issue persists... I will try to do a fresh install...

Share this post


Link to post
Share on other sites

hello

 

sure is not the patch ..

 

maybe other problems .. but bat is not one of them .. or it works or not .. no reboot .. sure of that ..

 

good hack

Share this post


Link to post
Share on other sites

Hi artur, I would really appreciate if you could try to get the percentage working again, I believe the crash with the other install was due to having installed and then removed VoodooBattery.

I made a new install, Mac OS X is the only OS in this Lenovo now, and it just runs purely beautiful, much better than Windows.

 

post-1517295-0-57553100-1480178508_thumb.png

 

I would love if you got this working, since my mum is a recent computer user, I tried to teach her Windows at first, she didnt even know how to turn on a computer hahah then I decided maybe Ubuntu would be better for her, because she was really scared from errors and programs crashing, Linux did the trick hehe but she sees my Asus running Mavericks too and said she liked the interface and speed more, so then I decided to make the Lenovo hack as close to perfection as I can.

 

Now this Lenovo will be used by her and by my brother who like me wants to use it basically for Logic Pro X

It would be awesome to have the battery percentage, since everything is currently working including DisplayPort audio,

 

Attached is my Clover folder,

Thanks once again mate and now I will try it with a USB clover hahahah

 

CLOVER.zip

Share this post


Link to post
Share on other sites

Still no luck friends... with SavageAUS patch battery icon doesnt show in menubar... worst results so far... I wonder if there will be a way to get this working :D

 

post-1517295-0-10508600-1480239589_thumb.png

Share this post


Link to post
Share on other sites

hello

 

maybe need to convert some more variables

 

how to do it

 

http://www.insanelymac.com/forum/topic/272459-appleacpibatterymanagerapplesmartbatterymanager-for-lion/

 

and need the notebook to test .. use the best patched dsdt .. and see , test to convert all 16/32/64.. to 8 bit

 

good hack

Share this post


Link to post
Share on other sites

It seems quite complicated :o I managed to patch some nvidia cards off optimus by myself but this seems like a difficult challenge, i would really like some help with it :(

The best result was with the post #6 dsdt

Share this post


Link to post
Share on other sites

Hi artur, I know hacking OSX is only for who really wants to. I just thought maybe an experienced user like you could help with a laptop that has no community support for OSX but it runs like butter.

This is by far the best result, it even detects time remaining and charging or not, but still no battery percentage.. super strange...

 

post-1517295-0-46275500-1480248460_thumb.png

 

Here is the ioreg with your latest attempt

 

Thinkpad.zip

 

 


It seems to me that the usage of the method B1B2 either was not correctly implemented or it just doesnt work on this hack... What other way should I try? Convert the 16/bits to 8 bit in the embeedded controller, but what about the 32, 64, 128 and 192 fields... How to deal with those?

Share this post


Link to post
Share on other sites

hello

 

b1b2 method is to divide the variable 32 :8 =4

 

and so on

 

should become 

 

ex: abc0, abc1, abc2, abc3

 

try to talk with rehabman .. about this issue

 

good hack

Share this post


Link to post
Share on other sites

I have been trying and getting some problems with applying his methods, due to how different this DSDT is..... so I tried to change manually every field by renaming everywhere and converting all to 8 bit, but something is not working.. i get the percentage on boot for example now 88% but it refuses to update the battery percentage anymore... stays stuck at 88% and doesnt show time remaining... weird,

This is my approach to the problem

 

DSDT.zip

 

 

post-1517295-0-59584500-1480268685_thumb.png

 

Share this post


Link to post
Share on other sites

So you suggest i edit those patches to match my laptop... it is basically what I did, but if the serial number of the battery is not present in DSDT it will never be recognized right? Or you think it might be fixable with thecorrect modification of one of those patches?

Thanks again :D

Share this post


Link to post
Share on other sites

I have made some modifications to the patch, but it still doesnt work properly, results in syntax errors........ specially in those parts with .sb.lpcb.ec.xx i would love some help with this, here is my attempt number 1

 

ATTEMPT1.zip

Share this post


Link to post
Share on other sites

It is very similar model but not the same.. It might appear like a big resemblance on the outside, but analysing the DSDT it seems very very different from one model to another. I would like someone to check my patch attempt and my DSDT, and give me some info about what is right and what is not. Thanks

Share this post


Link to post
Share on other sites

This is my second attempt in patching for battery stats in this laptop with zero community support.

I based myself on all the Lenovo patches I have been finding, and adapting them, and also looking at many DSDTs from Lenovos and so far I get a weird nameseg error... I wonder if someone expert on this matter could revise my patch, and hopefully correct me...

 

This is what I have got.

 

post-1517295-0-78640300-1480328518_thumb.png



# LENOVO L420 - KosakGroove Note: This DSDT requires "Fix Mutex with non-zero SyncLevel" 

into method label B1B2 remove_entry;
into definitionblock code_regex . insert
begin
Method (B1B2, 2, NotSerialized) { Return(Or(Arg0, ShiftLeft(Arg1, 8))) }\n
end;

into method label B1B4 remove_entry;
into definitionblock code_regex . insert
begin
Method (B1B4, 4, NotSerialized)\n
{\n
    Store(Arg3, Local0)\n
    Or(Arg2, ShiftLeft(Local0, 8), Local0)\n
    Or(Arg1, ShiftLeft(Local0, 8), Local0)\n
    Or(Arg0, ShiftLeft(Local0, 8), Local0)\n
    Return(Local0)\n
}\n
end;
into device label EC code_regex BATD,\s+16, replace_matched begin ATD0,8,ATD1,8, end;
into method label SELE code_regex \(\^PCI0\.LPCB\.BATD, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.ATD0, ^PCI0.LPCB.EC.ATD1), end;
into device label EC code_regex SMW0,\s+16, replace_matched begin MW00,8,MW01,8, end;
into method label SMRD code_regex \(\^^PCI0.LPCB.EC.SMW0, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.MW00, ^PCI0.LPCB.EC.MW01), end;
into method label SMWR code_regex \(SMW0, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.MW00, ^PCI0.LPCB.EC.MW01), end;
into device label EC code_regex SBRC,\s+16, replace_matched begin BR00,8,BR01,8, end;
into method label GBST code_regex \(\^PCI0\.LPCB\.EC\.SBRC, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.BR00,^PCI0.LPCB.EC.BR01), end;
into device label EC code_regex SBFC,\s+16, replace_matched begin BF00,8,BF01,8, end;
into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBFC, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.BF00, ^PCI0.LPCB.EC.BF01), end;
into device label EC code_regex SBVO,\s+16, replace_matched begin BV00,8,BV01,8, end;
into method label GBST code_regex \(\^PCI0\.LPCB\.EC\.SBVO, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.BV00, ^PCI0.LPCB.EC.BV01), end;
into device label EC code_regex SBSN,\s+16, replace_matched begin SN00,8,SN01,8 end;
into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBSN, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.SN00, ^PCI0.LPCB.EC.SN01), end;
into device label EC code_regex SBDC,\s+16, replace_matched begin DC00,8,DC01,8 end;
into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBDC, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.DC00, ^PCI0.LPCB.EC.DC01), end;
into device label EC code_regex SBDV,\s+16, replace_matched begin DV00,8,DV01,8 end;
into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBDC, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.DV00, ^PCI0.LPCB.EC.DV01), end;

into device label EC code_regex SBAE,\s+16, replace_matched begin BA00,8,BA01,8, end;
into device label EC code_regex SBAF,\s+16, replace_matched begin BB00,8,BB01,8, end;
into device label EC code_regex SBBS,\s+16, replace_matched begin BD00,8,BD01,8, end;
into device label EC code_regex SBMD,\s+16, replace_matched begin SB00,8,SB01,8, end;
into device label EC code_regex SBCC,\s+16, replace_matched begin CC00,8,CC01,8 end;
into device label EC code_regex SBOM,\s+16, replace_matched begin OM00,8,OM01,8 end;
into device label EC code_regex SBSI,\s+16, replace_matched begin SI00,8,SI01,8 end;
into device label EC code_regex SBDT,\s+16, replace_matched begin DT00,8,DT01,8 end;
into device label EC code_regex SBCH,\s+32 replace_matched begin SH00,8,SH01,8,SH02,8,SH03,8 end;
into_all method label GBIF code_regex \(\^PCI0\.LPCB\.EC\SBCH, replaceall_matched begin (B1B4(^PCI0.LPCB.EC.SH00, ^PCI0.LPCB.EC.SH01, ^PCI0.LPCB.EC.SH02, ^PCI0.LPCB.EC.SH03), end;
into method label RE1B parent_label EC remove_entry;
into method label RECB parent_label EC remove_entry;
into device label EC insert
begin
Method (RE1B, 1, NotSerialized)\n
// Arg0 - offset in bytes from zero-based EC\n
{\n
    OperationRegion(ERAM, EmbeddedControl, Arg0, 1)\n
    Field(ERAM, ByteAcc, NoLock, Preserve) { BYTE, 8 }\n
    Return(BYTE)\n
}\n
Method (RECB, 2, Serialized)\n
// Arg0 - offset in bytes from zero-based EC\n
// Arg1 - size of buffer in bits\n
{\n
    ShiftRight(Arg1, 3, Arg1)\n
    Name(TEMP, Buffer(Arg1) { })\n
    Add(Arg0, Arg1, Arg1)\n
    Store(0, Local0)\n
    While (LLess(Arg0, Arg1))\n
    {\n
        Store(RE1B(Arg0), Index(TEMP, Local0))\n
        Increment(Arg0)\n
        Increment(Local0)\n
    }\n
    Return(TEMP)\n
}\n
end;

into device label EC code_regex (SBMN,)\s+(128) replace_matched begin BMNX,%2,//%1%2 end;
into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBMN, replaceall_matched begin (^PCI0.LPCB.EC.RECB(0xA0,128), end;
into device label EC code_regex (SBDN,)\s+(128) replace_matched begin BDNX,%2,//%1%2 end;
into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBDN, replaceall_matched begin (^PCI0.LPCB.EC.RECB(0xA0,128), end;


VERSION 2 OF THE PATCH WITH SOME OPTIMIZATIONS AND CORRECTIONS, BUT STILL SAME PROBLEM



# LENOVO L420 - KosakGroove Note: This DSDT requires "Fix Mutex with non-zero SyncLevel" 

into method label B1B2 remove_entry;
into definitionblock code_regex . insert
begin
Method (B1B2, 2, NotSerialized) { Return(Or(Arg0, ShiftLeft(Arg1, 8))) }\n
end;

into method label B1B4 remove_entry;
into definitionblock code_regex . insert
begin
Method (B1B4, 4, NotSerialized)\n
{\n
    Store(Arg3, Local0)\n
    Or(Arg2, ShiftLeft(Local0, 8), Local0)\n
    Or(Arg1, ShiftLeft(Local0, 8), Local0)\n
    Or(Arg0, ShiftLeft(Local0, 8), Local0)\n
    Return(Local0)\n
}\n
end;
into device label EC code_regex BATD,\s+16, replace_matched begin ATD0,8,ATD1,8, end;
into method label SELE code_regex \(\^PCI0\.LPCB\.EC\.BATD, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.ATD0, ^PCI0.LPCB.EC.ATD1), end;

into device label EC code_regex SMW0,\s+16, replace_matched begin MW00,8,MW01,8, end;
into method label SMRD code_regex \(\^PCI0\.LPCB\.EC\.SMW0, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.MW00, ^PCI0.LPCB.EC.MW01), end;
into method label SMWR code_regex \(\^PCI0\.LPCB\.EC\.SMW0, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.MW00, ^PCI0.LPCB.EC.MW01), end;

into device label EC code_regex SBRC,\s+16, replace_matched begin BR00,8,BR01,8, end;
into method label GBST code_regex \(\^PCI0\.LPCB\.EC\.SBRC, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.BR00,^PCI0.LPCB.EC.BR01), end;

into device label EC code_regex SBFC,\s+16, replace_matched begin BF00,8,BF01,8, end;
into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBFC, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.BF00, ^PCI0.LPCB.EC.BF01), end;

into device label EC code_regex SBVO,\s+16, replace_matched begin BV00,8,BV01,8, end;
into method label GBST code_regex \(\^PCI0\.LPCB\.EC\.SBVO, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.BV00, ^PCI0.LPCB.EC.BV01), end;

into device label EC code_regex SBSN,\s+16, replace_matched begin SN00,8,SN01,8 end;
into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBSN, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.SN00, ^PCI0.LPCB.EC.SN01), end;

into device label EC code_regex SBDC,\s+16, replace_matched begin DC00,8,DC01,8 end;
into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBDC, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.DC00, ^PCI0.LPCB.EC.DC01), end;

into device label EC code_regex SBDV,\s+16, replace_matched begin DV00,8,DV01,8 end;
into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBDV, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.DV00, ^PCI0.LPCB.EC.DV01), end;

into device label EC code_regex SBAE,\s+16, replace_matched begin BA00,8,BA01,8, end;
into device label EC code_regex SBAF,\s+16, replace_matched begin BB00,8,BB01,8, end;
into device label EC code_regex SBBS,\s+16, replace_matched begin BD00,8,BD01,8, end;
into device label EC code_regex SBMD,\s+16, replace_matched begin SB00,8,SB01,8, end;
into device label EC code_regex SBCC,\s+16, replace_matched begin CC00,8,CC01,8 end;
into device label EC code_regex SBOM,\s+16, replace_matched begin OM00,8,OM01,8 end;
into device label EC code_regex SBSI,\s+16, replace_matched begin SI00,8,SI01,8 end;
into device label EC code_regex SBDT,\s+16, replace_matched begin DT00,8,DT01,8 end;
into device label EC code_regex SBCH,\s+32 replace_matched begin SH00,8,SH01,8,SH02,8,SH03,8 end;
into_all method label GBIF code_regex \(\^PCI0\.LPCB\.EC\SBCH, replaceall_matched begin (B1B4(^PCI0.LPCB.EC.SH00, ^PCI0.LPCB.EC.SH01, ^PCI0.LPCB.EC.SH02, ^PCI0.LPCB.EC.SH03), end;
into method label RE1B parent_label EC remove_entry;
into method label RECB parent_label EC remove_entry;
into device label EC insert
begin
Method (RE1B, 1, NotSerialized)\n
// Arg0 - offset in bytes from zero-based EC\n
{\n
    OperationRegion(ERAM, EmbeddedControl, Arg0, 1)\n
    Field(ERAM, ByteAcc, NoLock, Preserve) { BYTE, 8 }\n
    Return(BYTE)\n
}\n
Method (RECB, 2, Serialized)\n
// Arg0 - offset in bytes from zero-based EC\n
// Arg1 - size of buffer in bits\n
{\n
    ShiftRight(Arg1, 3, Arg1)\n
    Name(TEMP, Buffer(Arg1) { })\n
    Add(Arg0, Arg1, Arg1)\n
    Store(0, Local0)\n
    While (LLess(Arg0, Arg1))\n
    {\n
        Store(RE1B(Arg0), Index(TEMP, Local0))\n
        Increment(Arg0)\n
        Increment(Local0)\n
    }\n
    Return(TEMP)\n
}\n
end;

into device label EC code_regex (SBMN,)\s+(128) replace_matched begin BMNX,%2,//%1%2 end;
into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBMN, replaceall_matched begin (^PCI0.LPCB.EC.RECB(0xA0,128), end;
into device label EC code_regex (SBDN,)\s+(128) replace_matched begin BDNX,%2,//%1%2 end;
into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBDN, replaceall_matched begin (^PCI0.LPCB.EC.RECB(0xA0,128), end;

Share this post


Link to post
Share on other sites

hello

 

really for now .. no more ideas .. 

 

like i say this issue is try and test .. apply the patches correct by hand what is wrong in the dsdt .. compile and try ..

 

good hack

Share this post


Link to post
Share on other sites

This is the 3rd attempt at constructing the patch and now it is including some more devices, it is a complete patch, although it still seems to give me some object not found errors, check it out please:

 

post-1517295-0-28171100-1480346713_thumb.png



# LENOVO L420 - KosakGroove Note: This DSDT requires "Fix Mutex with non-zero SyncLevel" 

into method label B1B2 remove_entry;
into definitionblock code_regex . insert
begin
Method (B1B2, 2, NotSerialized) { Return(Or(Arg0, ShiftLeft(Arg1, 8))) }\n
end;

into method label B1B4 remove_entry;
into definitionblock code_regex . insert
begin
Method (B1B4, 4, NotSerialized)\n
{\n
    Store(Arg3, Local0)\n
    Or(Arg2, ShiftLeft(Local0, 8), Local0)\n
    Or(Arg1, ShiftLeft(Local0, 8), Local0)\n
    Or(Arg0, ShiftLeft(Local0, 8), Local0)\n
    Return(Local0)\n
}\n
end;
into device label EC code_regex BATD,\s+16, replace_matched begin ATD0,8,ATD1,8, end;
into device label EC code_regex SMW0,\s+16, replace_matched begin MW00,8,MW01,8, end;
into device label EC code_regex SBRC,\s+16, replace_matched begin BR00,8,BR01,8, end;
into device label EC code_regex SBFC,\s+16, replace_matched begin BF00,8,BF01,8, end;
into device label EC code_regex SBVO,\s+16, replace_matched begin BV00,8,BV01,8, end;
into device label EC code_regex SBSN,\s+16, replace_matched begin SN00,8,SN01,8, end;
into device label EC code_regex SBDC,\s+16, replace_matched begin DC00,8,DC01,8, end;
into device label EC code_regex SBDV,\s+16, replace_matched begin DV00,8,DV01,8, end;
into device label EC code_regex SBAE,\s+16, replace_matched begin BA00,8,BA01,8, end;
into device label EC code_regex SBAF,\s+16, replace_matched begin BB00,8,BB01,8, end;
into device label EC code_regex SBBS,\s+16, replace_matched begin BD00,8,BD01,8, end;
into device label EC code_regex SBMD,\s+16, replace_matched begin SB00,8,SB01,8, end;
into device label EC code_regex SBCC,\s+16, replace_matched begin CC00,8,CC01,8, end;
into device label EC code_regex SBOM,\s+16, replace_matched begin OM00,8,OM01,8, end;
into device label EC code_regex SBSI,\s+16, replace_matched begin SI00,8,SI01,8, end;
into device label EC code_regex SBDT,\s+16, replace_matched begin DT00,8,DT01,8, end;


into_all method label SELE code_regex \(\^PCI0\.LPCB\.EC\.BATD, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.ATD0, ^PCI0.LPCB.EC.ATD1), end;
into method label SMRD code_regex \(\^PCI0\.LPCB\.EC\.SMW0, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.MW00, ^PCI0.LPCB.EC.MW01), end;
into method label SMWR code_regex \(\^PCI0\.LPCB\.EC\.SMW0, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.MW00, ^PCI0.LPCB.EC.MW01), end;
into method label GBST code_regex \(\^PCI0\.LPCB\.EC\.SBRC, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.BR00,^PCI0.LPCB.EC.BR01), end;
into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBFC, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.BF00, ^PCI0.LPCB.EC.BF01), end;
into method label GBST code_regex \(\^PCI0\.LPCB\.EC\.SBVO, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.BV00, ^PCI0.LPCB.EC.BV01), end;
into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBSN, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.SN00, ^PCI0.LPCB.EC.SN01), end;
into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBDC, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.DC00, ^PCI0.LPCB.EC.DC01), end;
into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBDV, replaceall_matched begin (B1B2(^PCI0.LPCB.EC.DV00, ^PCI0.LPCB.EC.DV01), end;



into device label EC code_regex SBCH,\s+32 replace_matched begin SH00,8,SH01,8,SH02,8,SH03,8, end;
into_all method label GBIF code_regex \(\^PCI0\.LPCB\.EC\SBCH, replaceall_matched begin (B1B4(^PCI0.LPCB.EC.SH00, ^PCI0.LPCB.EC.SH01, ^PCI0.LPCB.EC.SH02, ^PCI0.LPCB.EC.SH03), end;

into method label RE1B parent_label EC remove_entry;
into method label RECB parent_label EC remove_entry;
into device label EC insert
begin
Method (RE1B, 1, NotSerialized)\n
// Arg0 - offset in bytes from zero-based EC\n
{\n
    OperationRegion(ERAM, EmbeddedControl, Arg0, 1)\n
    Field(ERAM, ByteAcc, NoLock, Preserve) { BYTE, 8 }\n
    Return(BYTE)\n
}\n
Method (RECB, 2, Serialized)\n
// Arg0 - offset in bytes from zero-based EC\n
// Arg1 - size of buffer in bits\n
{\n
    ShiftRight(Arg1, 3, Arg1)\n
    Name(TEMP, Buffer(Arg1) { })\n
    Add(Arg0, Arg1, Arg1)\n
    Store(0, Local0)\n
    While (LLess(Arg0, Arg1))\n
    {\n
        Store(RE1B(Arg0), Index(TEMP, Local0))\n
        Increment(Arg0)\n
        Increment(Local0)\n
    }\n
    Return(TEMP)\n
}\n
end;

into device label EC code_regex (SBMN,)\s+(128) replace_matched begin BMNX,%2,//%1%2 end;
into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBMN, replaceall_matched begin (^PCI0.LPCB.EC.RECB(0xA0,128), end;
into device label EC code_regex (SBDN,)\s+(128) replace_matched begin BDNX,%2,//%1%2 end;
into method label GBIF code_regex \(\^PCI0\.LPCB\.EC\.SBDN, replaceall_matched begin (^PCI0.LPCB.EC.RECB(0xA0,128), end;
into device label EC code_regex (FLD1)\s+(128) replace_matched begin D101,%2,//%1%2 end;
into method label SMRD code_regex \(\^PCI0\.LPCB\.EC\.FLD1, replaceall_matched begin (^PCI0.LPCB.EC.RECB(0xA0,128), end;
into device label EC code_regex (FLD2,)\s+(192) replace_matched begin D201,%2,//%1%2 end;
into method label SMRD code_regex \(\^PCI0\.LPCB\.EC\.FLD2, replaceall_matched begin (^PCI0.LPCB.EC.RECB(0xA0,192), end;
into device label EC code_regex (FLD3,)\s+(256) replace_matched begin D301,%2,//%1%2 end;
into method label SMRD code_regex \(\^PCI0\.LPCB\.EC\.FLD3, replaceall_matched begin (^PCI0.LPCB.EC.RECB(0xA0,256), end;


DSDT AND PATCH.zip

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By kalpesh2804
      Laptop Inbuilt Wifi and Battery Indicator not working in Catalina. (HP Pavilion 15t-au 100 Laptop)
       
       
      Laptop Config:
      HP Pavilion 15t-au100 * i7-7500u 2.90Ghz * Intel HD 620 Graphic Adapter * Intel Dual Band Wireless AC-3168 * Kingston SATA3 SSD 500 GB * HP Camera
    • By Drovosek
      For my laptop Hp Pavilion 15-au028ur worked patch for HP 3165sf
      I also experimented with manual patching and assembled my own version:

      #Maintained by: RehabMan for: Laptop Patches #Battery_HP-DV6-1380ek.txt # created by RehabMan 2019-xx-xx # based on Battery_HP-DV6-1380ek.txt # additional patches for dv6-1380ek provided by chihab222, credit gsly # works for: #  HP Pavilion 15-au028ur, per Drovosek into method label B1B2 remove_entry; into definitionblock code_regex . insert begin Method (B1B2, 2, NotSerialized) { Return (Or (Arg0, ShiftLeft (Arg1, 8))) }\n end; # 16-bit EC0 registers #                BADC,   16, #                BFCC,   16, #                MCUR,   16, #                MBRM,   16, #                MBCV,   16, into device label EC0 code_regex BADC,\s+16, replace_matched begin ADC0,8,ADC1,8, end; into device label EC0 code_regex BFCC,\s+16, replace_matched begin FCC0,8,FCC1,8, end; into device label EC0 code_regex MCUR,\s+16, replace_matched begin CUR0,8,CUR1,8, end; into device label EC0 code_regex MBRM,\s+16, replace_matched begin BRM0,8,BRM1,8, end; into device label EC0 code_regex MBCV,\s+16, replace_matched begin BCV0,8,BCV1,8, end; # 16-bit method access into method label CLRI code_regex (\^.*)MBRM replaceall_matched begin B1B2\(%1BRM0,%1BRM1\) end; into method label UPBS code_regex (\^.*)MBRM replaceall_matched begin B1B2\(%1BRM0,%1BRM1\) end; into method label UPBI code_regex (\^.*)BFCC replaceall_matched begin B1B2\(%1FCC0,%1FCC1\) end; into method label UPBS code_regex (\^.*)MCUR replaceall_matched begin B1B2\(%1CUR0,%1CUR1\) end; into method label UPBS code_regex (\^.*)MBCV replaceall_matched begin B1B2\(%1BCV0,%1BCV1\) end;
      The only problem - when it reaches 100% charge, it no longer falls until you reset the CMOS (15-30 seconds hold down the power button on the laptop). In the rehabman guide there is a patch for ASUS in this case, there is a patch method FBST. There is no such method in my DSDT.
      Can someone help?
      Here's a patched and clean DSDT: https://vk.com/doc183234383_509697931
    • By jamesxxx1997
      Hi everyone~
      Now using mojave 10.14.4 , I am patching my dsdt and ssdt but have four syntax error with my dsdt.dsl , and I don't know how to fix it.
       
      My specs:
      lenovo thinkpad x1 yoga 3rd
      CPU : i7-8550u
      graphics : uhd620
       
      The file of my dsdt and ssdt , ioreg , and my efi is in this link:https://drive.google.com/drive/folders/1T1nv1QgqDtczXrohdlQUJ_8O-kPpoSEf?usp=sharing
       
      thanks!
    • By bcuraboy3
      Good morning everyone. I have a HP Pavillion with the following specs
      I have managed to install MOjave on it, using Rehabman's config for Intel HD5500. 
      But I need some help with a DSDT for it.
      Would anyone be kind enough to have a look at the zip file, which contains the EFI folder, a IOREG, and some screenshots from DPCI Manager,
      and help me with a good DSDT patched and a correct config.plist for it?   
      Thank you very much.  Highly appreciated 
      I have also included a report from Aida64 in case anyone needs it 
       
      15-p200np
       
      Número do equipamento
      L5Z67EA
      Microprocessador
      Intel Core i7-5500U com placa gráfica Intel HD 5500 (2,4 GHz, 4 MB de cache, 2 núcleos);
      Memória
      SDRAM DDR3L de 4 GB a 1600 MHz (1 x 4 GB)
      Placa de vídeo
      NVIDIA GeForce 840M (DDR3 dedicada de 2 GB) >>  disabled already using the config.plist provided 
      Disco rígido
      SATA 1 TB 5400 rpm
      Unidade multimédia
      Gravador de DVD SuperMulti
      Visor
      HD BrightView com retroiluminação WLED de 39,6 cm (15,6 pol.) na diagonal (1366 x 768)
      Placa de rede
      Ethernet LAN Base-T 10/100 integrada
      Conectividade sem fio
      Combo 802.11b/g/n (1x1) e Bluetooth 4.0 (compatível com Miracast) >> It's not supported, but a DW1550 it's on it's way 
      Som
      BeatsAudio com 2 altifalantes >>  it's a ALC 290 
      Teclado
      Tamanho completo tipo ilha com teclado numérico
      Dispositivo
      HP Imagepad com suporte de gestos multi-toque
      Portas externas
      1 leitor de cartões multimédia SD multi-formato
      1 HDMI
      1 combinação auscultadores/microfone
      1 USB 2.0
      2 USB 3.0
      1 RJ-45
      Dimensões
      38,45 x 26,02 x 2,39 cm
      Peso
      2,27 kg
      Alimentação
      Transformador de alimentação CA de 65 W
      Polímero de iões de lítio 4 cél. 41 Wh
      Câmara
      Câmara Web HP TrueVision HD (frontal) com microfone digital de matriz dupla integrado
      Mac-Pro-Noi.zip
      Report.htm
×