Hello, I tried to apply the I2C probe from Pilot6 link above (https://github.com/bentiss/SimplePeripheralBusProbe). Unfortunatelly I couldn't make it work. I was able to overload my DSDT table and compile it (using Intel iasl.exe as Microsoft's asl.exe generated a file which produced lots of errors at compile time). And then I even got the I2C Probe device in my Device Manager (installed the binary inf/sys driver that you can download from the releases page, no compilation needed). But I couldn't manage to modify the DSDT table file for this particular device, in order to bypass the ELAN touchpad/numpad through the I2C probe. Maybe someone with some experience in this I2C stuff can help me to modify that DSDT table file properly. This is the section I suppose refers to the ELAN touchpad (the complete file has nearly 70.000 lines): 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 Name (ETPH, Package (0x01) { "ELAN1404" }) Name (FTPH, Package (0x05) { "FTE1001", "FTE1200", "FTE1200", "FTE1300", "FTE1300" }) Method (_HID, 0, NotSerialized) // _HID: Hardware ID { If ((TPDI & 0x04)) { BADR = 0x15 Return (DerefOf (ETPH [TPHI])) } If ((TPDI & 0x10)) { BADR = 0x15 Return (DerefOf (FTPH [TPHI])) } Return ("ELAN1000") } Name (_CID, "PNP0C50" /* HID Protocol Device (I2C bus) */) // _CID: Compatible ID Name (_UID, One) // _UID: Unique ID Name (_S0W, 0x03) // _S0W: S0 Device Wake State Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("3cdff6f7-4267-4555-ad05-b30a3d8938de") /* HID I2C Device */)) { If ((Arg2 == Zero)) { If ((Arg1 == One)) { Return (Buffer (One) { 0x03 // . }) } Else { Return (Buffer (One) { 0x00 // . }) } } If ((Arg2 == One)) { Return (One) } } Else { Return (Buffer (One) { 0x00 // . }) } } Method (_STA, 0, NotSerialized) // _STA: Status { If (((TPIF != One) || (DSYN && One))) { Return (Zero) } Return (0x0F) } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Return (ConcatenateResTemplate (SBFB, SBFI)) } } } If (CondRefOf (\_SB.PCI0.RP21)) { Scope (_SB.PCI0.RP21) { Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x69, 0x04)) } } } As you may see, the _CRS method is different and more complex that the example provided in SimplePeripheralBusProbe main page, as it returns: ConcatenateResTemplate (SBFB, SBFI). The I2cSerialBusV2 (not I2cSerialBus) stuff is defined within the SBFB block. Tried to modify that single block to bypass the trackpad this way: First I defined the probe device in the same scope: Scope (_SB.PCI0.I2C1) { Device(SPB1) { Name(_HID, "PROBE01") Name(_UID, 1) Method(_CRS, 0x0, NotSerialized) { Name (RBUF, ResourceTemplate () { I2cSerialBusV2 (0x004C, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C1", 0x00, ResourceConsumer, _Y34, Exclusive, ) }) Return(RBUF) } } Then modified the SBFB section of the ETPD device (which I suppose stand for Elan TrackPad Device). ... Device (ETPD) { Name (SBFB, ResourceTemplate () { I2cSerialBusV2 (0x004C, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.SPB1", 0x00, ResourceConsumer, _Y34, Exclusive, ) ...... But what about the other part of the resource definition (SBFI)? I kept it unmmodified.... With this modifications in the table, the probe device appears in Device Manager after reboot (also the trackpad device stopped working, showing an encouraging error message stating that that device depends on the other probe device which didn't have a driver yet. That error was naturally fixed after installing the probe device driver, but then I got another error, and of course the trackpad and numpad did not work anymore. The trackpad device shows this error in device manager: Unexpected HID Descriptor. So I had to revert all this stuff to get my trackpad working again in Windows. As I said if someone helps me modify the code above properly I would try again. I've already spent many hours on this with no luck, and do not have more time to keep trying without further guidance. Regards,