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, -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1810183 Title: numpad on touchpad doesn't work in ASUS Zenbook 14 Status in Linux: New Status in linux package in Ubuntu: Confirmed Bug description: I have Asus Zenbook 14 UX433FA which I have installed Ubuntu 18.10 alongside windows 10. The numeric keypads are within the touchpad and are supposed to be turned on by a button on the touchpad. This works well in Windows but doesn't work in Ubuntu. I have tried to search for any related problems/solutions online but I haven't been able to. I will appreciate any suggestion or help. Thanks, --- ProblemType: Bug ApportVersion: 2.20.10-0ubuntu13.1 Architecture: amd64 CurrentDesktop: ubuntu:GNOME DistroRelease: Ubuntu 18.10 InstallationDate: Installed on 2018-12-30 (4 days ago) InstallationMedia: Ubuntu 18.10 "Cosmic Cuttlefish" - Release amd64 (20181017.3) Package: linux (not installed) Tags: cosmic Uname: Linux 4.19.11-041911-generic x86_64 UnreportableReason: The running kernel is not an Ubuntu kernel UpgradeStatus: No upgrade log present (probably fresh install) UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo _MarkForUpload: True --- ProblemType: Bug ApportVersion: 2.20.10-0ubuntu13.1 Architecture: amd64 CurrentDesktop: ubuntu:GNOME DistroRelease: Ubuntu 18.10 InstallationDate: Installed on 2018-12-30 (4 days ago) InstallationMedia: Ubuntu 18.10 "Cosmic Cuttlefish" - Release amd64 (20181017.3) Package: linux (not installed) Tags: cosmic Uname: Linux 4.18.10-041810-generic x86_64 UnreportableReason: The running kernel is not an Ubuntu kernel UpgradeStatus: No upgrade log present (probably fresh install) UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo _MarkForUpload: True To manage notifications about this bug go to: https://bugs.launchpad.net/linux/+bug/1810183/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp