Voodooi2c: [OC 0.5.8] Dell Inspiron 5370 problems with trackpad activation

Created on 6 May 2020  路  11Comments  路  Source: VoodooI2C/VoodooI2C

Hi there, I'm planning to migrate to OpenCore 0.5.8, from my actual working Clover r5115 installation.
I'm facing some difficulties activating the trackpad using my custom DSDT.aml
My infos about trackpad are below described:

  • VoodooI2C + VoodooI2CHID (PNP0C50, matching property)
  • Device name: TPD0
  • APIC Pin: 0x33
  • IOName: MSFT0001
  • Mode: Polling

I've noticed that if I apply the same patch, as depicted below (which is pretty removing the following lines):
image

my system hangs on "Previous shutdown cause: "
Is this a malfunction of VoodooI2C or am I doing something wrong? Do I need any SSDT such as SSDT-XOSI?

Many thanks
dreamwhite
P.S.

I've tried removing the custom DSDT and the system boots, but if I go checkin the IOName, it says eNUB (tf?)

All 11 comments

Seems like a bad ACPI configuration.

Use something similar to SSDT-AWAC in OpenCore example ACPI tables.
Set SDM0 to Zero inside when _OSI is Darwin. That will enable GPIO interrupts.

For XOSI, I'd use the familiar XOSI method, but return the fake OS only when _OSI returns Darwin, otherwise return the original _OSI value to not break anything.
OpenCore team might have a better suggestion for the OS patch.

Uhm, It seems that adding simply SSDT-XOSI.aml, enables the trackpad. I'm not using any custom DSDT as I don't need it. Do you think it's better using GPIO Interrupts?

@dreamwhite Interrupts are generally better than polling mode. It results in smoother gesture and mouse movement when using interrupts. However, you will need to figure the GPIO pin following the pinning guide (which may be difficult for certain devices and hardware configurations).

Uh okay, I've found that my GPIO pin is 0x1B (Interrupt Specifier: 0x33, SunrisePointLP controller). Do I have to test with SDM0 set to Zero?

Edit: do I have to test with origin dsdt?

You probably want to do something similar (this is pseudocode):

if XOSI == 'Darwin':
  Return (ConcatenateResTemplate (SBFB, SBFG))
else:
  original DSDT/SSDT function code

The above is only applicable if you are running multiple OSes, you can simply modify the _CRS function to return Return (ConcatenateResTemplate (SBFB, SBFG)). That wis what @ben9923 is suggesting you do.

Okay, many thanks 鉂わ笍

No problem, please ping either me or Ben if you require any assistance.

Dear @kprinssu, do I need SSCN and FMCN? In my logs I can't see them but the trackpad is working. Many thanks <3

If it's working you _probably_ don't need them.

@dreamwhite do you have any further issues? Otherwise, please close this issue.

Well ATM nope. I can close this issue

Was this page helpful?
0 / 5 - 0 ratings

Related issues

chuntaojun picture chuntaojun  路  5Comments

jaromeyer picture jaromeyer  路  10Comments

anonymous-writer picture anonymous-writer  路  6Comments

axel9546 picture axel9546  路  11Comments

grantbi picture grantbi  路  6Comments