Jump to content
onemanosx

Enable I2C Trackpad (VoodooI2C) - Not a Guide... not really

Recommended Posts

create new post. This thread is for I2C trackpad only

 

hi onemanosx

my SSDT-I2C.aml didn't work with OpenCore bootloader I m struggling for days but no luck

because OpenCore bootloader do not support TgtBridge and I tested also with count & skip feature but didn't work my trackpad

I have no issue with clover bootloader work fine my trackpad in clover bootloader do you have any idea? how to fix it

I attached my SSDT-I2C.aml and ioreg original dsdt

IOREG.zip

Link to comment
Share on other sites



hi onemanosx

my SSDT-I2C.aml didn't work with OpenCore bootloader I m struggling for days but no luck

because OpenCore bootloader do not support TgtBridge and I tested also with count & skip feature but didn't work my trackpad

I have no issue with clover bootloader work fine my trackpad in clover bootloader do you have any idea? how to fix it

I attached my SSDT-I2C.aml and ioreg original dsdt

By the looks of your OC config and SSDT for I2C, the SSDT is not doing anything to enable interrupt mode anyway.

Donate

Gitter Chat


Acer Aspire V15 Nitro- Black Edition VN7-592G/HM170 Chipset

Intel i7-6700HQ, 8GB RAM (UEFI Clover Catalina)


MSI B360 Gaming Arctic

Intel i5-8600 16GB RAM Asus Radeon RX580 8GB (UEFI Clover Catalina)

Link to comment
Share on other sites

what to do

do you have any solution for my trackpad?


I have ELAN0608

when I add this line Return (ConcatenateResTemplate (SBFB, SBFG)) into DSDT to _CRS Method then touchpad and trackpad work perfectly OpenCore bootloader if I remove this line Return (ConcatenateResTemplate (SBFB, SBFG)) from _CRS METHOD my touchpad won't work how to make a SSDT-I2C.aml for OpenCore bootloader

I don't like DSDT patch I like SSDT Hotpatch particularly for SSDT-I2C

please analyze my patched dsdt and tell me how to make SSDT-I2C.aml for OpenCore bootloader

Patched-DSDT.aml.zip

Link to comment
Share on other sites

  • Administrators

[ref]ameen[/ref], lol


ssdt just inject into dsdt, is a non-sense and incomplete way


full solution only via DSDT

-Donations-

PayPal HERE - Stripe HERE - Ko-Fi HERE - BuyMeaCoffee HERE - Mercado Livre HERE

Skrill danielnmaldonado@gmail.com - BTC 33HeGCuCSh4tUBqdYkQqKpSDa1E7WeAJQ3 - BNB 0x10D1d656eCa00bD521f9b4A43B83098B8142e115 - USDT BSC BEP20 0xb57cfdfa371fad1981910f0e8332409ab99f74d9 - USDT TRC20 TUR6Z9AVS4AYzqPnULoHrfFvppRbhXmNbZ - KASPA kaspa:qpxzufgfj8p6r0krg58yzvs0009h2mwqgvcawa0xc2pth7sgzpv56j4f6dtvk - PicPay @danielnmaldonado - PiX @danielnmaldonado@gmail.com

Premium Users HERE - Problems with Paypal HERE

xcd5u2Y.png

Sign up for a Bybit account and claim exclusive rewards HERE

New ways to earn money with Linkvertise HERE

Link to comment
Share on other sites

[ref]ameen[/ref], lol


ssdt just inject into dsdt, is a non-sense and incomplete way


full solution only via DSDT

thanks for reply

I have a hotpatch SSDTs everything is working fine except my SSDT-I2C.aml in OpenCore

I have no issue SSDT-I2C with clover bootloader

I just asking for OpenCore please just analyze my SSDT-I2C.aml and config order to work for OpenCore bottloader

sorry for my poor English

I attached my dsdt ioreg and SSDT-I2C.aml

IOREG.zip

Link to comment
Share on other sites

Hey guys, trying to get my touchpad and keyboard working on my Surface Laptop, I did the kext to patch thingy and put SSDT-XOSI.aml in patched folder. The touchpad is working but the keyboard is non responsive, camera and touchscreen doesnt work aswell, i dont mind the touchscreen I don't like using it anyway. Can someone take a look at my files? I'm willing to donate small amount of money to whoever can make the keyboard, camera, and probably sound (if it's not too much work) working. Please PM me your Paypal link.

ioreg.zip

Link to comment
Share on other sites

what to do

do you have any solution for my trackpad?


I have ELAN0608

when I add this line Return (ConcatenateResTemplate (SBFB, SBFG)) into DSDT to _CRS Method then touchpad and trackpad work perfectly OpenCore bootloader if I remove this line Return (ConcatenateResTemplate (SBFB, SBFG)) from _CRS METHOD my touchpad won't work how to make a SSDT-I2C.aml for OpenCore bootloader

I don't like DSDT patch I like SSDT Hotpatch particularly for SSDT-I2C

please analyze my patched dsdt and tell me how to make SSDT-I2C.aml for OpenCore bootloader

The only solution for you, that I can think of is by skip - count method and correct _CRS method in SSDT. SBFX does not make any sense. Your SSDT end result should simply look like this since your GPI0 is native.

 

Scope (_SB.PCI0.I2C0.TPD0)
   {
       Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
           {
               Return (ConcatenateResTemplate (SBFB, SBFG))
           }

   }

 




Added in 19 minutes 13 seconds:

keyboard, camera, and probably sound

 

1. Wireless keyboard is seen loaded under USB peripheral. Is this the surface pro's keyboard?

2. Camera looks like it is an I2C device. What does it show in Windows device manager? Not sure if voodooI2C project supports it. Need to check at their official github/gitter page.

3. What is your touchscreen's ACPI ID?

4. Your sound codec is ALC298. Read the link below if you had not done so. You just need to test with the available layout id one by one and reboot with each changes. https://Olarila.com/forum/viewtopic.php?f=28&t=9788

Donate

Gitter Chat


Acer Aspire V15 Nitro- Black Edition VN7-592G/HM170 Chipset

Intel i7-6700HQ, 8GB RAM (UEFI Clover Catalina)


MSI B360 Gaming Arctic

Intel i5-8600 16GB RAM Asus Radeon RX580 8GB (UEFI Clover Catalina)

Link to comment
Share on other sites


1. Wireless keyboard is seen loaded under USB peripheral. Is this the surface pro's keyboard?

2. Camera looks like it is an I2C device. What does it show in Windows device manager? Not sure if voodooI2C project supports it. Need to check at their official github/gitter page.

3. What is your touchscreen's ACPI ID?

4. Your sound codec is ALC298. Read the link below if you had not done so. You just need to test with the available layout id one by one and reboot with each changes. https://Olarila.com/forum/viewtopic.php?f=28&t=9788

 

Hi, thanks for the reply, answer to your questions:


1. No, it's a cheap wireless keyboard + mouse combo i bought specially for this, because the touchpad and keyboard doesn't react on installation screen. Also it's a not a Surface Pro, it's a Surface Laptop 2, this is the product page with tech specs: https://www.microsoft.com/en-us/p/surface-laptop-2/8xqjkk3dd91b?source=lp&activetab=pivot:techspecstab


2. Yes it is a I2C device, i remember seeing it in Device Manager on Windows, but I didn't take screenshots of the I2C devices since there were a lot of them. Should I delete Mojave and install Windows again for this?


3. I'm not sure :(


4. I tried a few layout ID's, when I try to play a youtube video I only hear soft static sounds. I'll try the rest later.

Link to comment
Share on other sites

[ref]adorableteemo[/ref], I took at closer look at your DSDT and came to a conclusion that your Keyboard and Camera are connected via I2C. As far as I know, these devices are not supported in VoodooI2C project for now.

Donate

Gitter Chat


Acer Aspire V15 Nitro- Black Edition VN7-592G/HM170 Chipset

Intel i7-6700HQ, 8GB RAM (UEFI Clover Catalina)


MSI B360 Gaming Arctic

Intel i5-8600 16GB RAM Asus Radeon RX580 8GB (UEFI Clover Catalina)

Link to comment
Share on other sites

[ref]adorableteemo[/ref], I took at closer look at your DSDT and came to a conclusion that your Keyboard and Camera are connected via I2C. As far as I know, these devices are not supported in VoodooI2C project for now.

 

Thank you for taking a look at my files, that's really unlucky, I guess ima just use Windows for now.

Link to comment
Share on other sites

The only solution for you, that I can think of is by skip - count method and correct _CRS method in SSDT. SBFX does not make any sense. Your SSDT end result should simply look like this since your GPI0 is native.

 

Scope (_SB.PCI0.I2C0.TPD0)
   {
       Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
           {
               Return (ConcatenateResTemplate (SBFB, SBFG))
           }

   }

 

I counted my _CRS Method 40 without comment

can I skip 39 and 1 count in rename _CRS to XCRS

Link to comment
Share on other sites

[ref]ameen[/ref], You can check if your skip is correct by using macIASL app upon reboot and look it up from the "Pre Edited"/ System DSDT.

Edited by Guest

Donate

Gitter Chat


Acer Aspire V15 Nitro- Black Edition VN7-592G/HM170 Chipset

Intel i7-6700HQ, 8GB RAM (UEFI Clover Catalina)


MSI B360 Gaming Arctic

Intel i5-8600 16GB RAM Asus Radeon RX580 8GB (UEFI Clover Catalina)

Link to comment
Share on other sites

[ref]ameen[/ref], You can check if your skip is correct by using MacIASL app upon reboot and look it up from the system DSDT.

 

i counted _CRS method twice manually from DSDT it should be 40 i put 39 skip and 1 count didn't work

but i tested this SSDT-I2C work fine with clover


Scope (_SB.PCI0.I2C0.TPD0)

{

Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings

{

Return (ConcatenateResTemplate (SBFB, SBFG))

}

}

}

i tried a lot skip count method in OpenCore bootloader no luck

any other suggestion for me

please download my attached dsdt above and see what i m missing

Link to comment
Share on other sites

 

 

i counted _CRS method twice manually from DSDT it should be 40 i put 39 skip and 1 count didn't work

but i tested this SSDT-I2C work fine with clover


Scope (_SB.PCI0.I2C0.TPD0)

{

Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings

{

Return (ConcatenateResTemplate (SBFB, SBFG))

}

}

}

i tried a lot skip count method in OpenCore bootloader no luck

any other suggestion for me

please download my attached dsdt above and see what i m missing

 

Then your count is incorrect. Read my previous post on how to check.


Also, boot with OC with your skip count and extract sendme folder for troubleshooting. I cannot comment further without any troubleshooting archive.

Donate

Gitter Chat


Acer Aspire V15 Nitro- Black Edition VN7-592G/HM170 Chipset

Intel i7-6700HQ, 8GB RAM (UEFI Clover Catalina)


MSI B360 Gaming Arctic

Intel i5-8600 16GB RAM Asus Radeon RX580 8GB (UEFI Clover Catalina)

Link to comment
Share on other sites

 

 

Then your count is incorrect. Read my previous post on how to check.


Also, boot with OC with your skip count and extract sendme folder for troubleshooting. I cannot comment further without any troubleshooting archive.

 

how to extract troubleshoot file from OC boot loader

Link to comment
Share on other sites

 

 

how to extract troubleshoot file from OC boot loader

 

Run this app http://Olarila.com/files/Utils/RunMe.app.zip

Donate

Gitter Chat


Acer Aspire V15 Nitro- Black Edition VN7-592G/HM170 Chipset

Intel i7-6700HQ, 8GB RAM (UEFI Clover Catalina)


MSI B360 Gaming Arctic

Intel i5-8600 16GB RAM Asus Radeon RX580 8GB (UEFI Clover Catalina)

Link to comment
Share on other sites



extracted PR File attached using RunMe.app



So, you are using USB to boot from Opencore. I had to extract your OC config.plist from your previous post.


TPD0 is not a "tablesignature". Hence, your skip count is failed due to this.


Renaming _DSM to XDSM is not required. And it's implementation is wrong by the way. It does not only target TPD0's _DSM method but ALL device's _DSM method.


https://imgur.com/l6kfI4m

Donate

Gitter Chat


Acer Aspire V15 Nitro- Black Edition VN7-592G/HM170 Chipset

Intel i7-6700HQ, 8GB RAM (UEFI Clover Catalina)


MSI B360 Gaming Arctic

Intel i5-8600 16GB RAM Asus Radeon RX580 8GB (UEFI Clover Catalina)

Link to comment
Share on other sites

So, you are using USB to boot from Opencore. I had to extract your OC config.plist from your previous post.


TPD0 is not a "tablesignature". Hence, your skip count is failed due to this.


Renaming _DSM to XDSM is not required. And it's implementation is wrong by the way. It does not only target TPD0's _DSM method but ALL device's _DSM method.


https://imgur.com/l6kfI4m

 

Yes I m using USB to boot from Opencore

I removed everything instruction of your above and removed TableSignature data but no luck I think skip count feature quite useless

did you have work skip count feature? any other idea

Link to comment
Share on other sites



Yes I m using USB to boot from Opencore

I removed everything instruction of your above and removed TableSignature data but no luck I think skip count feature quite useless

did you have work skip count feature? any other idea

like i said your tablesignature is wrong. It should be DSDT (44 53 44 54) instead of TPD0 (54 50 44 30) in HEX.


Yes, I got my skip count method working. And no, the feature is not useless.

Donate

Gitter Chat


Acer Aspire V15 Nitro- Black Edition VN7-592G/HM170 Chipset

Intel i7-6700HQ, 8GB RAM (UEFI Clover Catalina)


MSI B360 Gaming Arctic

Intel i5-8600 16GB RAM Asus Radeon RX580 8GB (UEFI Clover Catalina)

Link to comment
Share on other sites

like i said your tablesignature is wrong. It should be DSDT (44 53 44 54) instead of TPD0 (54 50 44 30) in HEX.


Yes, I got my skip count method working. And no, the feature is not useless.

 

when I put tablesignature 44 53 44 54 for DSDT

kernel panic occur during boot

I attached screenshot

https://imgur.com/45TkSC9/img]

https://imgur.com/o0eNeDB/img]

Link to comment
Share on other sites

[ref]ameen[/ref], That is not a panic. But you do have problem with SSDT-I2C (which is expected since we do not know if your skip count is correct, you can block the SSDT or VoodooI2C kexts until you are certain the XCRS patch is correct) Another issue is your SSDT-KBD. I assume is your keyboard patch.

Donate

Gitter Chat


Acer Aspire V15 Nitro- Black Edition VN7-592G/HM170 Chipset

Intel i7-6700HQ, 8GB RAM (UEFI Clover Catalina)


MSI B360 Gaming Arctic

Intel i5-8600 16GB RAM Asus Radeon RX580 8GB (UEFI Clover Catalina)

Link to comment
Share on other sites

[ref]ameen[/ref], That is not a panic. But you do have problem with SSDT-I2C (which is expected since we do not know if your skip count is correct, you can block the SSDT or VoodooI2C kexts until you are certain the XCRS patch is correct) Another issue is your SSDT-KBD. I assume is your keyboard patch.

 


I tested with disabled SSDT-I2C.aml and voodooI2C.kext with plugin

same issue occur during boot when i remove tablesignature  44 53 44 54 for DSDT

Then booting fine i think this is cause of my wrong skip count

Please count my DSDT's _CRS perhaps i m doing wrong count

Please download my attached DSDT above and count

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.





×
  • Create New...