Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal
MaLd0n

Olarila HackBook Lenovo IdeaPad S145 8th Gen / Mojave / Catalina / Big Sur Full DSDT Patches / Clover and OpenCore

Recommended Posts

Can anyone here help me fixing my trackpad, please?

 

Also had to delete I2C kexts to install VoodooPS2Controller that makes my keyboard work.

The reason why I2C trackpad doesnt work. This is too obvious isnt it? :lol:


You can delete the plugins of VoodooPS2Controller leaving only the keyboard plugin. Looks like the PS2Controller plugin is interfering with I2C. Also, if you are on Catalina, make sure you have EC0/H_EC/ECDV to EC rename enabled in Clover ACPI patch.


Read here for more info on enabling basics for I2C trackpad : https://Olarila.com/forum/viewtopic.php?f=46&t=8087

Share this post


Link to post
Share on other sites

Hi... :D:D:D

My laptop is ideaPad S145 81S90005BR


With files I got here almost everything got working but wifi and elan trackpad.

My bluetooth and HDMI video is fully working like a charm!!!

Can anyone here help me fixing my trackpad, please?

Loading GPIO Data for CannonLake-LP

2019-10-28 19:25:04.764001+0100 0xb8 Default 0x0 0 0 kernel: (kernel) VoodooGPIOCannonLakeLP::VoodooGPIO Init!

 

For touchpad you have ELAN0629 like me, good luck! ;-)


So far, I only succeeded to use VoodooI2CHID.kext, with limited results... better than nothing.


How about bluetooth? Did you install some kext or it was already working? My BT device is recognized but it hangs and cannot be disabled.


Added in 2 minutes 36 seconds:



Hi wendelmr1,


Do you use NVME SSD? Is It working?

 

My S145 has a 256 GB SSD, how can I check if NVME or not? I opened the laptop, it seems have a M.2 connector but not sure..


Added in 2 minutes 38 seconds:

Does polling mode work?



Yes, polling mode is working. I've added the 3 mentioned methods in DSDT, then using VoodooI2CHID kext.


In this way, there is no CPU problem, but the movement is very limited.


Is there a way to have at least a two-fingers scrolling?

Share this post


Link to post
Share on other sites

[ref]user748832[/ref], check settings at trackpad preference. Did you also try polling mode with voodooI2celan? make sure you do a kextcache when alternating between kexts


Added in 24 minutes 50 seconds:

[ref]user748832[/ref], about 100% cpu is a kext problem

:meeting

Share this post


Link to post
Share on other sites

My S145 has a 256 GB SSD, how can I check if NVME or not? I opened the laptop, it seems have a M.2 connector but not sure..

 

I think you can go under the below screen and enter in "NVMExpress" and see if everything is fine...


<IMGUR id="BVnTMiB"><a href=https://i.imgur.com/BVnTMiB.png' alt='IMGUR>'>

Share this post


Link to post
Share on other sites



I think you can go under the below screen and enter in "NVMExpress" and see if everything is fine...


<IMGUR id="BVnTMiB"><a href=https://i.imgur.com/BVnTMiB.png' alt='IMGUR>'>

 

My model is Lenovo IdeaPad S145 15IWL (model 81MV00DYIX) and in System Profiler, under NVMExpress, there is nothing. (empty)


I think the provided SSD has a SATA PCI-E M.2 connector, it appears under SATA/SATA Express.


immagine.png


I have opened the laptop and found a free SATA 2,5'' slot to add a second HHD (or better SSD) if needed.. :mrgreen:


Added in 24 minutes 8 seconds:

[ref]user748832[/ref], check settings at trackpad preference. Did you also try polling mode with voodooI2celan? make sure you do a kextcache when alternating between kexts


Added in 24 minutes 50 seconds:

:meeting

 

[ref]onemanosx[/ref], in trackpad preference I can't do anything as the touchpad is not really recognized as a real touchpad, but as a mouse. I read somewhere that this is typical when using Polling Mode with VoodooI2CHID.


Also, polling mode is only supported by VoodooI2CHID (as I read from the official VoodooI2C site). If I try to use voodooI2celan in polling mode, it is not loaded at all (under TPD0 of IO explorer there is nothing). Now, I'm sticking with VoodooI2CHID/Polling, but I hope someone will release a new voodooI2celan supporting ELAN0629 in Interrupt mode without the CPU issue...


Thanks for the suggestion of using kextcache.. even if I only use CLOVER/kexts/Other, does it apply kextcache for that?


Finally, just to confirm: here is how I changed my original DSDT to force I2C satellite kext to attach to the controller: (they were missing)


immagine.png


and I use this final Return statement in _CRS method for Polling mode

 

Return (ConcatenateResTemplate (SBFB, SBFI))

 

For IRQ mode I use this instead

 

Return (ConcatenateResTemplate (SBFB, SBFG))

 

Is this correct or I'm missing something?

Share this post


Link to post
Share on other sites

NVME M.2

<IMGUR id="CACo8my"><a href=https://i.imgur.com/CACo8my.png' alt='IMGUR>'>

<IMGUR id="cWqLq6F"><a href=https://i.imgur.com/cWqLq6F.png' alt='IMGUR>'>

Share this post


Link to post
Share on other sites

[ref]onemanosx[/ref], I tried all available kexts before post here with no good results. Most I got is a working keyboard, after using ELAN kexts I2C kexts so on...

Share this post


Link to post
Share on other sites

Thanks a lot Mald0n! Everything is working superb!!


I tried to fix iMessage though and no luck with that. tried atleast 4 separate fixes and won't work. Any leads would be appreciated.

Share this post


Link to post
Share on other sites

[ref]sushant77[/ref], just enjoy


iMessage u can try some tutos around the net

Share this post


Link to post
Share on other sites

[ref]user748832[/ref], Give this kext a go. Theoretically could work in polling mode, but do give interrupt mode a test, too.


https://drive.google.com/file/d/1NrDpnzN9GyT2rcOk42UMyphi7ODVEwxj/view?usp=sharing

 

[ref]onemanosx[/ref], this kext is very interesting. In interrupt mode, touchpad not working at all (and with high CPU usage).


In polling mode, when I'm able to boot the system, the touchpad is working great! :crazy: Trackpad preferences are working too and I can use the multitouch too. The pointer movement is almost fluid. The problem: Boot crashes and I have to retry multiple times before I can reach the login screen. I'm still not 100% sure, but it seems that I can boot when using "-v darkwake=0" as boot options.


Is this an experimental kext with additional debugging messages? Kernel log is flooded very quickly with messages like this:

 

VoodooI2CELANTouchpadDriver::ELAN0629 Invalid report (255)

 

Anyway, very good progress.

Share this post


Link to post
Share on other sites

In polling mode, when I'm able to boot the system, the touchpad is working great! :crazy: Trackpad preferences are working too and I can use the multitouch too. The pointer movement is almost fluid.

You can also try to disable GPI0 device completely while in polling mode and test the kext again.

 

Scope (_SB.PCI0.GPI0)
     {
         Method (_STA, 0, NotSerialized)  // _STA: Status
         {
             Return (Zero)
         }
     }

 

And you are right about being an experimental build.


New debug files are always useful.

 

The problem: Boot crashes and I have to retry multiple times before I can reach the login screen. I'm still not 100% sure, but it seems that I can boot when using "-v darkwake=0" as boot options.

This needs to be looked into as the boot args has no relation to kext load.

Share this post


Link to post
Share on other sites

i think bios is not update, with last version work good with windows patch only xD

Share this post


Link to post
Share on other sites

Hi... :D:D:D

My laptop is ideaPad S145 81S90005BR


With files I got here almost everything got working but wifi and elan trackpad.

My bluetooth and HDMI video is fully working like a charm!!!

Can anyone here help me fixing my trackpad, please?

 

@wendelmr1 Did you use some separate dongle for bluetooth? Because my bluetooth doesn't seem to work.

Share this post


Link to post
Share on other sites

[ref]MaLd0n[/ref],

With this patch I get a fatal error, tried my best to take a picture (it was too fast ) of the error to show you.

I restored the previous patch you sent, I cannot use the nvme but os is loaded.

Thanks again

Attached the files.

 

[ref][email protected][/ref], don't work in some models, forget it


Added in 6 minutes 12 seconds:

[ref]kuar[email protected][/ref], patch for nvme m.2

DSDT.aml.zip

Screen Shot 2019-10-31 at 12.12.38.zip

Send me MacBook-Pro.zip

Share this post


Link to post
Share on other sites

This needs to be looked into as the boot args has no relation to kext load.

 

Hi [ref]onemanosx[/ref],


here is the full stack trace when I use your debug I2CELAN kext (which is nice, when I don't get this panic).


Is there a conflict with PS2 keyboard kext?

 

panic(cpu 2 caller 0xffffff8014e689ca): Kernel trap at 0xffffff7f98134977, type 14=page fault, registers:
CR0: 0x000000008001003b, CR2: 0x0000000000000000, CR3: 0x0000000029dda000, CR4: 0x00000000003626e0
RAX: 0xffffff80390ff658, RBX: 0xffffff8038217060, RCX: 0xffffff80390ff600, RDX: 0xffffff80398b7000
RSP: 0xffffff81284fbe90, RBP: 0xffffff81284fbe90, RSI: 0x0000000000000000, RDI: 0x0000000000000000
R8:  0xffffff80156a4490, R9:  0x0000000000000001, R10: 0x000000000000009b, R11: 0x0000000000000000
R12: 0xffffff80390ff650, R13: 0xffffff80398b7000, R14: 0xffffff80398b7000, R15: 0xffffff80390ff600
RFL: 0x0000000000010246, RIP: 0xffffff7f98134977, CS:  0x0000000000000008, SS:  0x0000000000000000
Fault CR2: 0x0000000000000000, Error code: 0x0000000000000000, Fault CPU: 0x2, PL: 0, VF: 1

Backtrace (CPU 2), Frame : Return Address
0xffffff81284fb8f0 : 0xffffff8014d3f98b 
0xffffff81284fb940 : 0xffffff8014e76c15 
0xffffff81284fb980 : 0xffffff8014e6861e 
0xffffff81284fb9d0 : 0xffffff8014ce6a40 
0xffffff81284fb9f0 : 0xffffff8014d3f077 
0xffffff81284fbaf0 : 0xffffff8014d3f45b 
0xffffff81284fbb40 : 0xffffff80154d2d89 
0xffffff81284fbbb0 : 0xffffff8014e689ca 
0xffffff81284fbd30 : 0xffffff8014e686c8 
0xffffff81284fbd80 : 0xffffff8014ce6a40 
0xffffff81284fbda0 : 0xffffff7f98134977 
0xffffff81284fbe90 : 0xffffff8015417ae5 
0xffffff81284fbef0 : 0xffffff801541a84b 
0xffffff81284fbf50 : 0xffffff801541d0ad 
0xffffff81284fbfa0 : 0xffffff8014ce613e 
     Kernel Extensions in backtrace:
        as.acidanthera.voodoo.driver.PS2Controller(2.0.4)[E2927F57-AEFE-372E-ACAD-19C77D1D69E9]@0xffffff7f98132000->0xffffff7f98141fff
           dependency: com.apple.iokit.IOACPIFamily(1.4)[9BA2613C-A129-3EDD-8DC1-2CFF6B62B832]@0xffffff7f95e38000

BSD process name corresponding to current thread: kernel_task

Mac OS version:
Not yet set

Kernel version:
Darwin Kernel Version 19.0.0: Wed Sep 25 20:18:50 PDT 2019; root:xnu-6153.11.26~2/RELEASE_X86_64
Kernel UUID: 70EDD61F-86EE-3E1B-873F-98D909B78160
Kernel slide:     0x0000000014a00000
Kernel text base: 0xffffff8014c00000
__HIB  text base: 0xffffff8014b00000
System model name: MacBookPro15,2 (Mac-827FB448E656EC26)
System shutdown begun: NO
Panic diags file unavailable, panic occurred prior to initialization

System uptime in nanoseconds: 1244525054
last loaded kext at 1038473746: >!AFileSystemDriver	3.0.1 (addr 0xffffff7f95ac5000, size 16384)
loaded kexts:
com.alexandred.VoodooI2CHID	1
me.kishorprins.VoodooI2CELAN	1
org.hwsensors.driver.LPCSensors	1800
com.alexandred.VoodooI2C	2.2
org.rehabman.driver.!ASmartBatteryManager	1.90.1
org.hwsensors.driver.ACPISensors	1800
org.coolstar.VoodooGPIO	1.1
as.acidanthera.voodoo.driver.PS2!C	2.0.4
org.hwsensors.driver.SMMSensors	1800
org.hwsensors.driver.CPUSensors	1800
xyz.racermaster.NoTouchID	1.0.2
as.vit9696.!AALC	1.4.2
com.alexandred.VoodooI2CServices	1
as.vit9696.WhateverGreen	1.3.3
org.netkas.driver.FakeSMC	1800
fish.goldfish64.SystemProfilerMemoryFixup	1.0.0
as.vit9696.Lilu	1.3.8
>!AFileSystemDriver	3.0.1
>!AVirtIO	1.0
@filesystems.hfs.kext	522.0.9
@!AFSCompression.!AFSCompressionTypeDataless	1.0.0d1
@BootCache	40
@!AFSCompression.!AFSCompressionTypeZlib	1.0.0
>!AAHCIPort	341.0.2
@private.KextAudit	1.0
>!AACPIEC	6.1
>!AACPIButtons	6.1
>!AHPET	1.8
>!ARTC	2.0
>!ASMBIOS	2.1
>!AAPIC	1.7
$!AImage4	1
@nke.applicationfirewall	302
$TMSafetyNet	8
@!ASystemPolicy	2.0.0
|EndpointSecurity	1
|IOSerial!F	11
|IOSurface	269.6
@filesystems.hfs.encodings.kext	1
|IOGraphics!F	558.3
|IOAHCI!F	290.0.1
>usb.!UXHCIPCI	1.2
>usb.!UXHCI	1.2
>!A!ILpssGspi	3.0.60
>!AEFINVRAM	2.1
>usb.!UHostPacketFilter	1.0
|IOUSB!F	900.4.2
>!AEFIRuntime	2.1
>!ASMCRTC	1.0
|IOSMBus!F	1.1
|IOHID!F	2.0.0
$quarantine	4
$sandbox	300.0
@kext.!AMatch	1.0.0d1
>DiskImages	493.0.0
>!AFDEKeyStore	28.30
>!AEffaceable!S	1.0
>!AKeyStore	2
>!UTDM	489.11.2
|IOSCSIBlockCommandsDevice	422.0.2
>!ACredentialManager	1.0
>KernelRelayHost	1
>!ASEPManager	1.0.1
>IOSlaveProcessor	1
|IOUSBMass!SDriver	157.11.2
|IOSCSIArchitectureModel!F	422.0.2
|IO!S!F	2.1
|IOUSBHost!F	1.2
>!UHostMergeProperties	1.2
>usb.!UCommon	1.0
>!ABusPower!C	1.0
|CoreAnalytics!F	1
>!AMobileFileIntegrity	1.0.5
@kext.CoreTrust	1
|IOTimeSync!F	800.14
|IONetworking!F	3.4
|IOReport!F	47
>!AACPIPlatform	6.1
>!ASMC	3.1.9
>watchdog	1
|IOPCI!F	2.9
|IOACPI!F	1.4
@kec.pthread	1
@kec.corecrypto	1.0
@kec.Libm	1

 

Added in 8 minutes 23 seconds:

Hi [ref]MaLd0n[/ref],

Did you manage to enable the card reader for the machine? I used the files you provided but the card reader is not activated? is there a kext for that ?

Thanks in advance.

 

[ref][email protected][/ref], I am able to use the card reader by using your old DSDT (the one you gave me days ago from the other forum). However, I suspect card reader can be activated just applying the USB ports limit patches in Clover, as you did earlier. So it's not a matter of DSDT or kext, but of config.plist. To be confirmed.


I'm actually patching your old DSDT with suggestions from onemanosx in order to activate my touchpad.

Share this post


Link to post
Share on other sites

[ref]user748832[/ref], in ur case card reader work, for some notebooks models don't work

Share this post


Link to post
Share on other sites

[ref][email protected][/ref], k

[ref]MaLd0n[/ref],

Following on NVME, with the previous patch (not the one with the NVME patch) if I boot my system without the verbose mode , the SSD is recognised. Tried rebooting like 3 times without the verbose mode and the SSD is recognised . If I reboot the system again in verbose mode, the SSD is not recognised.

Don't know what this means but at least I can copy files from my windows partition now.

Share this post


Link to post
Share on other sites

[ref]user748832[/ref], Give this kext a go. Theoretically could work in polling mode, but do give interrupt mode a test, too.


https://drive.google.com/file/d/1NrDpnzN9GyT2rcOk42UMyphi7ODVEwxj/view?usp=sharing

 

[ref]onemanosx[/ref], so I can confirm that VoodooI2CELANkext you kindly provided above is working good for ELAN0629


- touchpad fluidity is more than acceptable (with some unexpected jump from time to time..)

- multitouch working

- Trackpad preferences working


and this only works if I boot with "darkwake=0 -v", otherwise I get the kernel panic I posted earlier. I can suppose that darkwake option may have some impact, but I'm really surprised that "-v" is really needed? Trust me, I've tried all the combinations: without "-v" AND "darkwake=0" it will not boot.


What about the source code of above kext? Is there a way to look at it? I've setup Xcode and compiled the latest official I2C and satellite kexts, but it looks like your experimental changes are not there yet. Can you provide your changes as a preview? I'm so curious to see how did you enable polling mode support for ELAN... ;)


Thank you,

Marco

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

×
×
  • Create New...