Contribute
Register

Thunderbolt3/USB-TypeC-Hot-Plug and Touchpad not working

Status
Not open for further replies.
Joined
Mar 7, 2013
Messages
77
Motherboard
Lenovo G710 / HM86
CPU
i7-4702mq
Graphics
HD4600 /820M
Mobile Phone
  1. iOS
Hello guys,
I'm trying install and configure Hackintosh my work laptop.
It is Dell latitude 5580.
CPU -> i7-7820HQ CPU (Kaby Lake)
iGPU -> Intel HD Graphics 630 1536 MB (Need to disable the dGPU Nvidia)
Chipset -> 100series/CM230 (or 238, can't figure out which one)

Any way, i'm trying to configure the basics like working keyboard and touchpad. The keyboard is enabled by VoodooPS2Controller.
Followed the guide on OpenCore page, I tried SSDT-XOSI then SSDT-GPI0 with no success. Read the documentation on VoodooI2C and find out that i'm going to need some additional changes to the SSDT. So i end up with this one and additional patch to rename \_SB_.PCI0.I2C1.TPD1._CRS to \_SB_.PCI0.I2C1.TPD1.XCRS
Code:
// Source: https://github.com/daliansky/OC-little
DefinitionBlock("", "SSDT", 2, "DRTNIA", "I2C", 0)
{
    External (_SB_.PCI0.I2C1.TPD1, DeviceObj)
    External (_SB_.PCI0.GPI0, DeviceObj)
    External (SDM1, IntObj)
    External (GPEN, FieldUnitObj)
    External (SBRG, FieldUnitObj)  
    External (SBFB, FieldUnitObj)
    External (SBFG, FieldUnitObj)
   
    Method (\_SB_.PCI0.I2C1.TPD1._CRS, 0, NotSerialized) // _CRS: Current Resource Settings
    {
        Return (ConcatenateResTemplate (SBFB, SBFG))
    }

    Scope (_SB)
    {
        If (_OSI ("Darwin"))
        {
            SDM1 = Zero
        }
    }
   
    Scope (\)
    {
        If (_OSI ("Darwin"))
        {
            GPEN = One
            SBRG = One
        }
        Else
        {
           
        }
    }

    Scope (\_SB.PCI0.I2C1.TPD1)
    {
        If (_OSI ("Darwin"))
        {
            Name (OSYS, 0x07DF)
        }
    }
}
Screen Shot 2021-09-25 at 22.37.26.png


The result is this
Screen Shot 2021-09-25 at 22.38.39.png


Code:
➜  ~ sudo dmesg | grep -i voodoo
[    2.343327]: VoodooGPIOSunrisePointH::Loading GPIO Data for SunrisePoint-H
[    2.343339]: VoodooGPIOSunrisePointH::VoodooGPIO Init!
[    2.343341]: VoodooGPIOSunrisePointH::VoodooGPIO Initializing Community 0
[    2.343360]: VoodooGPIOSunrisePointH::VoodooGPIO Initializing Community 1
[    2.343374]: VoodooGPIOSunrisePointH::VoodooGPIO Initializing Community 2
[    2.343458]: VoodooGPIOSunrisePointH::GPIO Controller is already awake! Not reinitializing.
[    2.614666]: VoodooI2CPCIController::pci8086,a161 Starting I2C controller
[    2.614678]: VoodooI2CPCIController::pci8086,a161 Set PCI power state D0
[    2.614695]: VoodooI2CPCIController::pci8086,a161 Publishing nub
[    2.614965]: VoodooI2CControllerDriver::pci8086,a161 Probing controller
[    2.614970]: VoodooI2CControllerDriver::pci8086,a161 Found valid Synopsys component, continuing with initialisation
[    2.615018]: VoodooI2CControllerDriver::pci8086,a161 Got bus configuration values
[    2.615078]: VoodooI2CControllerDriver::pci8086,a161 Publishing device nubs
[    2.615082]: VoodooI2CControllerDriver::pci8086,a161 Found I2C device: DLL07D1
[    2.615137]: VoodooI2CDeviceNub::TPD1 Got GPIO Controller! VoodooGPIOSunrisePointH
[    2.615140]: VoodooI2CPCIController::pci8086,a160 Starting I2C controller
[    2.615157]: VoodooI2CPCIController::pci8086,a160 Set PCI power state D0
[    2.615188]: VoodooI2CPCIController::pci8086,a160 Publishing nub
[    2.615242]: VoodooI2CControllerDriver::pci8086,a160 Probing controller
[    2.615248]: VoodooI2CControllerDriver::pci8086,a160 Found valid Synopsys component, continuing with initialisation
[    2.615281]: VoodooI2CControllerDriver::pci8086,a160 Got bus configuration values
[    2.615318]: VoodooI2CControllerDriver::pci8086,a160 Publishing device nubs
[    3.116809]: VoodooI2CHIDDevice:0x100000318 start
[    3.116818]: VoodooGPIOSunrisePointH::Registering hardware pin 0x1B for GPIO IRQ pin 0x1B
[    3.116821]: VoodooGPIOSunrisePointH::Successfully registered hardware pin 0x1B for GPIO IRQ pin 0x1B
[   12.090746]: Sandbox: calculated role flags for 0x100000c is 0x1VoodooI2CHIDDevice::DLL07D1 Timeout waiting for device to complete host initiated reset
[   15.342029]: VoodooI2CHIDDevice:0x100000318 creating interfaces
[   15.345832]: VoodooI2CHIDDevice:0x100000318 open by IOHIDEventDriver 0x10000042d (0x0)


i made a little progress since it is recognizing my I2C device and VoodooI2C and VoodooI2CHID are loaded. But still not working touchpad.
Can some one tell me what i'm doing wrong here.

Also need some help with the USB-TypeC, which is also a Thunderbolt3. I need help with the hotplug. Since i don't use thunderbolt all i need here is usb-type-c hotplug. Don't care about the thunderbolt (for now). Just some guide or "magic" SSDT ...


PS: At the moment MacOS is installed on external hard drive since my main one is encrypted and cannot resize it.
 

Attachments

  • ioreg and OC folder.zip
    19.9 MB · Views: 130
  • DSDT.dsl
    1.2 MB · Views: 53
Hello guys,
I'm trying install and configure Hackintosh my work laptop.
It is Dell latitude 5580.
CPU -> i7-7820HQ CPU (Kaby Lake)
iGPU -> Intel HD Graphics 630 1536 MB (Need to disable the dGPU Nvidia)
Chipset -> 100series/CM230 (or 238, can't figure out which one)

Any way, i'm trying to configure the basics like working keyboard and touchpad. The keyboard is enabled by VoodooPS2Controller.
Followed the guide on OpenCore page, I tried SSDT-XOSI then SSDT-GPI0 with no success. Read the documentation on VoodooI2C and find out that i'm going to need some additional changes to the SSDT. So i end up with this one and additional patch to rename \_SB_.PCI0.I2C1.TPD1._CRS to \_SB_.PCI0.I2C1.TPD1.XCRS
Code:
// Source: https://github.com/daliansky/OC-little
DefinitionBlock("", "SSDT", 2, "DRTNIA", "I2C", 0)
{
    External (_SB_.PCI0.I2C1.TPD1, DeviceObj)
    External (_SB_.PCI0.GPI0, DeviceObj)
    External (SDM1, IntObj)
    External (GPEN, FieldUnitObj)
    External (SBRG, FieldUnitObj) 
    External (SBFB, FieldUnitObj)
    External (SBFG, FieldUnitObj)
  
    Method (\_SB_.PCI0.I2C1.TPD1._CRS, 0, NotSerialized) // _CRS: Current Resource Settings
    {
        Return (ConcatenateResTemplate (SBFB, SBFG))
    }

    Scope (_SB)
    {
        If (_OSI ("Darwin"))
        {
            SDM1 = Zero
        }
    }
  
    Scope (\)
    {
        If (_OSI ("Darwin"))
        {
            GPEN = One
            SBRG = One
        }
        Else
        {
          
        }
    }

    Scope (\_SB.PCI0.I2C1.TPD1)
    {
        If (_OSI ("Darwin"))
        {
            Name (OSYS, 0x07DF)
        }
    }
}
View attachment 529725

The result is this
View attachment 529726

Code:
➜  ~ sudo dmesg | grep -i voodoo
[    2.343327]: VoodooGPIOSunrisePointH::Loading GPIO Data for SunrisePoint-H
[    2.343339]: VoodooGPIOSunrisePointH::VoodooGPIO Init!
[    2.343341]: VoodooGPIOSunrisePointH::VoodooGPIO Initializing Community 0
[    2.343360]: VoodooGPIOSunrisePointH::VoodooGPIO Initializing Community 1
[    2.343374]: VoodooGPIOSunrisePointH::VoodooGPIO Initializing Community 2
[    2.343458]: VoodooGPIOSunrisePointH::GPIO Controller is already awake! Not reinitializing.
[    2.614666]: VoodooI2CPCIController::pci8086,a161 Starting I2C controller
[    2.614678]: VoodooI2CPCIController::pci8086,a161 Set PCI power state D0
[    2.614695]: VoodooI2CPCIController::pci8086,a161 Publishing nub
[    2.614965]: VoodooI2CControllerDriver::pci8086,a161 Probing controller
[    2.614970]: VoodooI2CControllerDriver::pci8086,a161 Found valid Synopsys component, continuing with initialisation
[    2.615018]: VoodooI2CControllerDriver::pci8086,a161 Got bus configuration values
[    2.615078]: VoodooI2CControllerDriver::pci8086,a161 Publishing device nubs
[    2.615082]: VoodooI2CControllerDriver::pci8086,a161 Found I2C device: DLL07D1
[    2.615137]: VoodooI2CDeviceNub::TPD1 Got GPIO Controller! VoodooGPIOSunrisePointH
[    2.615140]: VoodooI2CPCIController::pci8086,a160 Starting I2C controller
[    2.615157]: VoodooI2CPCIController::pci8086,a160 Set PCI power state D0
[    2.615188]: VoodooI2CPCIController::pci8086,a160 Publishing nub
[    2.615242]: VoodooI2CControllerDriver::pci8086,a160 Probing controller
[    2.615248]: VoodooI2CControllerDriver::pci8086,a160 Found valid Synopsys component, continuing with initialisation
[    2.615281]: VoodooI2CControllerDriver::pci8086,a160 Got bus configuration values
[    2.615318]: VoodooI2CControllerDriver::pci8086,a160 Publishing device nubs
[    3.116809]: VoodooI2CHIDDevice:0x100000318 start
[    3.116818]: VoodooGPIOSunrisePointH::Registering hardware pin 0x1B for GPIO IRQ pin 0x1B
[    3.116821]: VoodooGPIOSunrisePointH::Successfully registered hardware pin 0x1B for GPIO IRQ pin 0x1B
[   12.090746]: Sandbox: calculated role flags for 0x100000c is 0x1VoodooI2CHIDDevice::DLL07D1 Timeout waiting for device to complete host initiated reset
[   15.342029]: VoodooI2CHIDDevice:0x100000318 creating interfaces
[   15.345832]: VoodooI2CHIDDevice:0x100000318 open by IOHIDEventDriver 0x10000042d (0x0)


i made a little progress since it is recognizing my I2C device and VoodooI2C and VoodooI2CHID are loaded. But still not working touchpad.
Can some one tell me what i'm doing wrong here.

Also need some help with the USB-TypeC, which is also a Thunderbolt3. I need help with the hotplug. Since i don't use thunderbolt all i need here is usb-type-c hotplug. Don't care about the thunderbolt (for now). Just some guide or "magic" SSDT ...


PS: At the moment MacOS is installed on external hard drive since my main one is encrypted and cannot resize it.
Hi there,

Okay I can't help you much on the Thunderbolt front, but I do believe I can help you with the trackpad issue.
You can have a look at the EFI setup I have here for the Voodoo files on my HP 17 Notebook laptop which should be similar. Check out my latest OC 0.6.6. build.
> https://www.tonymacx86.com/threads/...re-i7-7500u-amd-r7-m260-10-13-6-guide.309923/

Some of the older laptops use a very cheap (non-USB type) PS2 connector for the keyboard and mouse which is usually either by ALPS or Synaptics. Mine uses Synaptics I believe.

Anyways I've used SMCDellSensors, VoodooInput.kext, VoodooPS2Controller.kext, SSDT-PNLF.aml & SSDT-XOSI.aml in the build to help enable the trackpad. Within the VoodooPS2Controller.kext Plugins folder (accessed by right-clicking and using the Show Contents option in macOS) I've added VoodooInput.kext, VoodooPS2Keyboard.kext, VoodooPS2Mouse.kext & VoodooPS2Trackpad.kext. Just copy over the needed files from my EFI to yours, the Voodoo kexts should work with your system.
 
try my guides and EFI folders. could be useful
 
Guys i want to inform you that there is working kext for our touchpad. As soon as they are ready with the last modifications on VoodooI2CHID and Alps4TUSB will let you know. For now i can share the modified voodooi2chid and mine Alps4TUSB.kext which is working with T4 and U1 touchpads.
Everything works fine and, the touchpad itself multitouch, the gestures. Only think that is not working for now is the nipple and the 3 buttons above the touchpad, but the guy figure it out how to fix it. It just need some time to do it.
Many thanks to https://github.com/juico and to voodooi2c team in gitter who helped me with that.
For the hotplug thunderbolt, still no working solution for me. I will keep reading and let you know if i figure it out!

PS: First release of working U1/T4 mutlitouch is there, check the repo AlpsUSBT4USB in github account i posted. Both kexts are needed. And there is gitter page where you can ask the guy who wrote it if something is not working properly. It is still in testing stage i think. PM me if you need link gitter.
 

Attachments

  • OC Working Touchpad.zip
    18.9 MB · Views: 87
  • Svilen’s MacBook Pro.ioreg
    9.1 MB · Views: 87
Last edited:
Status
Not open for further replies.
Back
Top