Contribute
Register

VoodooI2C Help and Support

RehabMan

Moderator
Joined
May 3, 2012
Messages
186,691
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
Last edited:
Joined
Mar 17, 2017
Messages
14
CPU
i5 6500
Graphics
GTX 1060 6G
Mobile Phone
  1. iOS
Is the touchscreen USB?
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.
The IOReg and other info are in the archive file.
 

Attachments

  • Archive.zip
    5.4 MB · Views: 198
Joined
Jul 11, 2014
Messages
436
Motherboard
Asus A555LAB
CPU
i3-4005U
Graphics
HD 4400
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
Maybe should use _OSI->XOSI and SSDT-XOSI.aml and emulate "Windows 2012" in implementation of XOSI method.
Yes. This would be a better way to achieve “that”.
 
Joined
Apr 26, 2010
Messages
68
Motherboard
Asus Zenbook Pro UX501VW
CPU
Skylake i7-6700HQ
Graphics
Intel HD530 + GTX 960M
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
 

Attachments

  • DSDT.dsl
    1.2 MB · Views: 232
Joined
Jun 11, 2017
Messages
10
Motherboard
Ignore me
CPU
I'm Ignoring
Graphics
Forum Rules !!!!
Hi,

Running an ELAN 1300 touchpad on an ASUS ux430ua and cant get it to work
uujG7UB.png

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
 

Attachments

  • DSDT.dsl
    1.3 MB · Views: 197
  • ioregistry.ioreg
    10.7 MB · Views: 248
Last edited:
Joined
Apr 21, 2016
Messages
1,011
Motherboard
ASUS X556UA-Clover
CPU
i5-6200U
Graphics
HD 520,1366x768
Mobile Phone
  1. iOS
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
From the guide:
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.
The code in TPL1 only applies to TPL1, not to ETPD.

The guide says that if you find a line that looks like this:
Return (ConcatenateResTemplate (SBFB, SBFG))
Then your device is well-pinned.
Look at step 2e to see how you should edit your _CRS method in the end.

(Sorry if I made a mistake, as I'm still new at supporting the rewritten kext. It was just released :p)
 
Joined
Apr 21, 2016
Messages
1,011
Motherboard
ASUS X556UA-Clover
CPU
i5-6200U
Graphics
HD 520,1366x768
Mobile Phone
  1. iOS
Hi,

Running an ELAN 1300 touchpad on an ASUS ux430ua and cant get it to work
uujG7UB.png

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
The I2C controllers patch is for SKL only. You seem to have a Kabylake R device, by your profile.
A screenshot of IOReg isn't very helpful, especially not this one. Attach a copy of IOReg (and the new DSDT, after removing the controllers patch)
 
Top