- Joined
- Nov 8, 2014
- Messages
- 130
- Mac
-
- Classic Mac
-
- Mobile Phone
-
Remove the contents of the `_INI` method of your `ETPD`.
Thanks OP you are a legendRemove the contents of the `_INI` method of your `ETPD`.
No worries, now go and file a complaint with ASUS asking them why they write such terrible DSDTs.Thanks OP you are a legend
Remove the contents of the `_INI` method of your `ETPD`.
Thanks OP you are a legend
No worries, now go and file a complaint with ASUS asking them why they write such terrible DSDTs.
Yes. On the System Report page the Synaptics touchscreen is under the USB (Apple USB2.0 HUB) tab (although I am not quite sure about it, but it should be). Also I have a Synaptics Touch pad which seems to be a PS2 device.Is the touchscreen USB?
Yes. This would be a better way to achieve “that”.Maybe should use _OSI->XOSI and SSDT-XOSI.aml and emulate "Windows 2012" in implementation of XOSI method.
Scope (_SB.PCI0.I2C1)
{
Device (ETPD)
{
Name (SBFB, ResourceTemplate ()
{
I2cSerialBusV2 (0x004C, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C1",
0x00, ResourceConsumer, _Y34, Exclusive,
)
})
Name (SBFI, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, )
{
0x0000005F,
}
})
CreateWordField (SBFB, \_SB.PCI0.I2C1.ETPD._Y34._ADR, BADR) // _ADR: Address
Name (_ADR, One) // _ADR: Address
Method (_HID, 0, NotSerialized) // _HID: Hardware ID
{
If (ELAN)
{
Store (0x15, BADR)
Return ("ELAN1000")
}
If (FOLT)
{
Store (0x15, BADR)
Return ("FTE1001")
}
Return ("ELAN1000")
}
Name (SBFG, ResourceTemplate ()
{
GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
"\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
})
Scope (_SB.PCI0.I2C1)
{
Device (TPL1)
{
Name (HID2, Zero)
Name (SBFB, ResourceTemplate ()
{
I2cSerialBusV2 (0x004C, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.PCI0.I2C1",
0x00, ResourceConsumer, _Y28, Exclusive,
)
})
Name (SBFG, ResourceTemplate ()
{
GpioInt (Level, ActiveLow, Exclusive, PullDefault, 0x0000,
"\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
})
Name (SBFI, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y29)
{
0x00000000,
}
})
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
If (LLess (OSYS, 0x07DC))
{
Return (SBFI)
}
If (LEqual (SDM1, Zero))
{
Return (ConcatenateResTemplate (SBFB, SBFG))
}
Return (ConcatenateResTemplate (SBFB, SBFI))
}
From the guide:I'm having problems with the GPIO Pinning method.
According to Windows, my ACPI ID is ETPD under I2C1
Code:Scope (_SB.PCI0.I2C1) { Device (ETPD) { Name (SBFB, ResourceTemplate () { I2cSerialBusV2 (0x004C, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C1", 0x00, ResourceConsumer, _Y34, Exclusive, ) }) Name (SBFI, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) { 0x0000005F, } }) CreateWordField (SBFB, \_SB.PCI0.I2C1.ETPD._Y34._ADR, BADR) // _ADR: Address Name (_ADR, One) // _ADR: Address Method (_HID, 0, NotSerialized) // _HID: Hardware ID { If (ELAN) { Store (0x15, BADR) Return ("ELAN1000") } If (FOLT) { Store (0x15, BADR) Return ("FTE1001") } Return ("ELAN1000") }
But, in the guide, the code to look for:
Code:Name (SBFG, ResourceTemplate () { GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000, "\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, , ) { // Pin list 0x0000 } })
is actually in Device TPL1 under 12C1, not Device ETPD
Code:Scope (_SB.PCI0.I2C1) { Device (TPL1) { Name (HID2, Zero) Name (SBFB, ResourceTemplate () { I2cSerialBusV2 (0x004C, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C1", 0x00, ResourceConsumer, _Y28, Exclusive, ) }) Name (SBFG, ResourceTemplate () { GpioInt (Level, ActiveLow, Exclusive, PullDefault, 0x0000, "\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, , ) { // Pin list 0x0000 } }) Name (SBFI, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y29) { 0x00000000, } })
What happens in that case?
Also, in step 2c of the GPIO Pinning guide,
The code to look for:
Code:Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { If (LLess (OSYS, 0x07DC)) { Return (SBFI) } If (LEqual (SDM1, Zero)) { Return (ConcatenateResTemplate (SBFB, SBFG)) } Return (ConcatenateResTemplate (SBFB, SBFI)) }
is again under Device TPL1 not ETPD.
And I happen to have both entries "Return (ConcatenateResTemplate (SBFB, SBFG))" and "Return (ConcatenateResTemplate (SBFB, SBFI))". The guide does not cover if both entries are present. Well-pinned, or not?
My hexadecimal APIC pin number is 0x5f
The code in TPL1 only applies to TPL1, not to ETPD.If you cannot find such a Name then we shall say that your device is unpinned.
...
If your device is unpinned, proceed to Step 2b.
Then your device is well-pinned.Return (ConcatenateResTemplate (SBFB, SBFG))
The I2C controllers patch is for SKL only. You seem to have a Kabylake R device, by your profile.Hi,
Running an ELAN 1300 touchpad on an ASUS ux430ua and cant get it to work
![]()
Not completely sure if this is how it's supposed to look, im using the VoodooI2CHID satellite, not sure what I need to do, I attached my dsdt below
I have
ASUS N55Sl/vivobook battery
Shutdown fix v2
I2C controllers
gpio controller enable
windows 10 patch
ASUS Battery Patch
ASUS Fn brightness keys patch
Zenbook lidsleep and screenbacklight patch
I can get it working with an older driver, but it acts as a mouse not a trackpad and doubleclicks if i hold it for more than a second, no fancy features either only left and right click
Any help appriciated thank you