VoodooI2C / VoodooI2C

Intel I2C controller and slave device drivers for macOS
GNU General Public License v3.0
746 stars 170 forks source link

Comet Lake Unknown Synopsys component type: 0xffffffff #236

Closed thefiredragon closed 4 years ago

thefiredragon commented 4 years ago

Is there a way to fix Unknown Synopsys component type: 0xffffffff on Comet Lake i7 1051u? I could provide logs. Think it makes no sense to try patch my DSDT before this is solved or I am wrong here at this point?

best Regards

ben9923 commented 4 years ago

Hey there, Unfortunately I'm not aware of anyone with 10th Gen hardware who could make VoodooI2C properly load :( This could be some sort of an ACPI issue that patching (no idea what exactly) might solve.

thefiredragon commented 4 years ago

Could we debug this? @3ig has the same notebook and wrote at gitter for this

ghost commented 4 years ago

Several of us have 10th gen hardware and would love to help debug this. The problem appears to begin within VoodooGPIO. In the data I provided, you can see it is failing on an interrupt request attempting to instantiate VoodooGPIOCoffeeLakeLP on a comet lake machine.

https://github.com/alexandred/VoodooI2C/issues/234

thefiredragon commented 4 years ago

Okay thanks, how I can create a debug report? I don't have a kernel panic when I use voodooi2c perhaps this could be helpful, best Regards

ghost commented 4 years ago

I'd expect that there will be multiple problems around supporting comet lake, I'm chiming in with a me-to. You can build a debug package by following this:

https://github.com/alexandred/VoodooI2C/blob/master/Documentation/Troubleshooting.md

3ig commented 4 years ago

So ... still no solutions for this problem. Does anyone have any progress ?

neblogas commented 4 years ago

I have the same CPU i7 10510U Lenovo S540 14 Installer does not boot with VoodooI2C.kext Without the kext I can boot into installer but the trackpad does not work. In README I can see that these ID's are fully supported: Hardware ID: PCI\VEN8086&DEV02E8&SUBSYS_380417AA&REV_00 Hardware ID: PCI\VEN8086&DEV02E9&SUBSYS_380317AA&REV_00

However I have also this one: Hardware ID: PCI\VEN8086&DEV02EA&SUBSYS_380617AA&REV_00

which is not in the supported list. Maybe thats the issue? Is there a way to support it?

williambj1 commented 4 years ago

@neblogas

You can manually add your id in VoodooI2C's info.plist and have a try. The problem appears to be something wrong with the controller (related to code or ACPI) but no the IDs.

neblogas commented 4 years ago

IMG_20200203_193613 I get this when booting with VoodooI2C

thefiredragon commented 4 years ago

I Don't have Boot panics with voodooi2c it Just dont patch correctly with this error

neblogas commented 4 years ago
2020-02-14 12:49:31.269809+0100 0xc1       Default     0x0                  0      0    kernel: (kernel) VoodooGPIOCannonLakeLP::Loading GPIO Data for CannonLake-LP
2020-02-14 12:49:31.270408+0100 0xc1       Default     0x0                  0      0    kernel: (kernel) VoodooGPIOCannonLakeLP::VoodooGPIO Init!
2020-02-14 12:49:31.270670+0100 0xc1       Default     0x0                  0      0    kernel: (kernel) VoodooGPIOCannonLakeLP::VoodooGPIO Initializing Community 0
2020-02-14 12:49:31.270900+0100 0xc1       Default     0x0                  0      0    kernel: (kernel) VoodooGPIOCannonLakeLP::VoodooGPIO Initializing Community 1
2020-02-14 12:49:31.271241+0100 0xc1       Default     0x0                  0      0    kernel: (kernel) VoodooGPIOCannonLakeLP::VoodooGPIO Initializing Community 2
2020-02-14 12:49:31.271664+0100 0x76       Default     0x0                  0      0    kernel: (kernel) VoodooGPIOCannonLakeLP::GPIO Controller is already awake! Not reinitializing.
2020-02-14 12:49:31.351034+0100 0xf4       Default     0x0                  0      0    kernel: (kernel) VoodooI2CPCIController::pci8086,2e8 Starting I2C controller
2020-02-14 12:49:31.353167+0100 0xf5       Default     0x0                  0      0    kernel: (kernel) VoodooI2CPCIController::pci8086,2e9 Starting I2C controller
2020-02-14 12:49:31.356766+0100 0xf4       Default     0x0                  0      0    kernel: (kernel) VoodooI2CPCIController::pci8086,2e8 Set PCI power state D0
2020-02-14 12:49:31.357060+0100 0xf4       Default     0x0                  0      0    kernel: (kernel) VoodooI2CPCIController::pci8086,2e8 Publishing nub
2020-02-14 12:49:31.357418+0100 0xf9       Default     0x0                  0      0    kernel: (kernel) VoodooI2CControllerDriver::pci8086,2e8 Probing controller
2020-02-14 12:49:31.357565+0100 0xf5       Default     0x0                  0      0    kernel: (kernel) VoodooI2CPCIController::pci8086,2e9 Set PCI power state D0
2020-02-14 12:49:31.357810+0100 0xf5       Default     0x0                  0      0    kernel: (kernel) VoodooI2CPCIController::pci8086,2e9 Publishing nub
2020-02-14 12:49:31.357948+0100 0xf9       Default     0x0                  0      0    kernel: (kernel) VoodooI2CControllerDriver::pci8086,2e8 Unknown Synopsys component type: 0xffffffff
2020-02-14 12:49:31.414039+0100 0xfe       Default     0x0                  0      0    kernel: (kernel) VoodooI2CControllerDriver::pci8086,2e9 Probing controller
2020-02-14 12:49:31.419961+0100 0xfe       Default     0x0                  0      0    kernel: (kernel) VoodooI2CControllerDriver::pci8086,2e9 Unknown Synopsys component type: 0xffffffff

I just can't figure it out, where the issue is

neblogas commented 4 years ago

@phu54321 made a patch to work. can somebody test it: https://www.notion.so/Using-VoodooI2C-on-comet-lake-cpu-e-g-i5-10210u-142930887087445eaa533120455da5dc @thefiredragon @3ig @ben9923 @fewtarius @williambj1

3ig commented 4 years ago

I can confirm your patch works. Marvellous job. My trackpad works in pooling mode without any dstd patching. Screenshot 2020-02-17 at 11 54 47

thefiredragon commented 4 years ago

@3ig could you provide your patched voodooi2c? Polling mode means you only patched windows 10 patch to dsdt and don't change anything ?

Great job! so much thanks.

williambj1 commented 4 years ago

Awesome job! And huge thanks for @phu54321

Confirmed on Lenovo XiaoXin Pro 13'.

VoodooI2C-10th-patched.zip

startpenghubingzhou commented 4 years ago

@phu54321 made a patch to work. can somebody test it: https://www.notion.so/Using-VoodooI2C-on-comet-lake-cpu-e-g-i5-10210u-142930887087445eaa533120455da5dc @thefiredragon @3ig @ben9923 @fewtarius @williambj1

Seems that this patch has sucessfully worked. So now we need to figure out another question: making this hack only work in 10th because it will make another platforms not work. Tested in 8th KBR and now I ll try to make it.

For now I have thought about two ways: by judging IOMatchedID , or injecting a flag that marked 10th and judging this flag.

3ig commented 4 years ago

@3ig could you provide your patched voodooi2c? Polling mode means you only patched windows 10 patch to dsdt and don't change anything ?

Great job! so much thanks.

Yes ... my reply was kind of misleading i did hotpatch for Windows 10 (XOSI)

thefiredragon commented 4 years ago

thanks it's working for me, too ;)

phu54321 commented 4 years ago

Awesome job!

Confirmed on Lenovo XiaoXin Pro 13'.

VoodooI2C-10th-patched.zip

If this built kext violated your @phu54321 rights, please let me know and I'll delete it as soon as possible.

Im okay :) Just quote me

startpenghubingzhou commented 4 years ago

I have built a new kext based on @phu54321 's work. For now I have added a detection about 10th CPU. Can anyone help me to test it? VoodooI2C.kext test3.zip

neblogas commented 4 years ago

@startpenghubingzhou gonna test it later.

neblogas commented 4 years ago

@startpenghubingzhou have tested it and it works with windows 10 DSDT patch. Thanks!

I'm attaching some debug files because saw some error messages in system.log Send me Tomass-MacBook-Pro.zip

ghost commented 4 years ago

I have built a new kext based on @phu54321 's work. For now I have added a detection about 10th CPU. Can anyone help me to test it? VoodooI2C.kext test3.zip

I2CHID doesn't seem to load with just this kext, my device still kernel panics as before. Can you folks push this code into a repo somewhere for analysis and testing?

If I boot without the I2CHID kext at all I can see that it sets property 0D on startup, finds all of the devices, indicates a GPIO conflict and informs that the satellite kext should work in polling mode.

startpenghubingzhou commented 4 years ago

have tested it and it works with windows 10 DSDT patch. Thanks!

Yeah good,and for now it's time to call @kprinssu to merge this code. I ' ll make a PR and then contact with him as soon as posssibles.

startpenghubingzhou commented 4 years ago

For some laptop which run 14 or later, you can test with this one: VoodooI2C test4.zip

kprinssu commented 4 years ago

Please create a PR. I don't have merge permissions but I'd love to see what the changes are.

startpenghubingzhou commented 4 years ago

Please create a PR. I don't have merge permissions but I'd love to see what the changes are.

Ok I ll make it after breakfast.

startpenghubingzhou commented 4 years ago

@kprinssu PR was sent, see https://github.com/alexandred/VoodooI2C/pull/245. Can' t figure out why CircleCI building failed.

startpenghubingzhou commented 4 years ago

I have built a new kext based on @phu54321 's work. For now I have added a detection about 10th CPU. Can anyone help me to test it? VoodooI2C.kext test3.zip

I2CHID doesn't seem to load with just this kext, my device still kernel panics as before. Can you folks push this code into a repo somewhere for analysis and testing?

If I boot without the I2CHID kext at all I can see that it sets property 0D on startup, finds all of the devices, indicates a GPIO conflict and informs that the satellite kext should work in polling mode.

This may caused by i2chid not i2c so I need KP log to check.

ghost commented 4 years ago

I have built a new kext based on @phu54321 's work. For now I have added a detection about 10th CPU. Can anyone help me to test it? VoodooI2C.kext test3.zip

I2CHID doesn't seem to load with just this kext, my device still kernel panics as before. Can you folks push this code into a repo somewhere for analysis and testing? If I boot without the I2CHID kext at all I can see that it sets property 0D on startup, finds all of the devices, indicates a GPIO conflict and informs that the satellite kext should work in polling mode.

This may caused by i2chid not i2c so I need KP log to check.

It looks like a VoodooGPIO panic, it's the same one from the issue I reported previously.

71562749-b45e8680-2a52-11ea-93cc-d6cceee418c5

I'll get a fresh pic when I can.

startpenghubingzhou commented 4 years ago

I have built a new kext based on @phu54321 's work. For now I have added a detection about 10th CPU. Can anyone help me to test it? VoodooI2C.kext test3.zip

I2CHID doesn't seem to load with just this kext, my device still kernel panics as before. Can you folks push this code into a repo somewhere for analysis and testing? If I boot without the I2CHID kext at all I can see that it sets property 0D on startup, finds all of the devices, indicates a GPIO conflict and informs that the satellite kext should work in polling mode.

This may caused by i2chid not i2c so I need KP log to check.

It looks like a VoodooGPIO panic, it's the same one from the issue I reported previously.

71562749-b45e8680-2a52-11ea-93cc-d6cceee418c5

I'll get a fresh pic when I can.

Did you use vanilla version of voodooi2c to have a try?

ghost commented 4 years ago

I have built a new kext based on @phu54321 's work. For now I have added a detection about 10th CPU. Can anyone help me to test it? VoodooI2C.kext test3.zip

I2CHID doesn't seem to load with just this kext, my device still kernel panics as before. Can you folks push this code into a repo somewhere for analysis and testing? If I boot without the I2CHID kext at all I can see that it sets property 0D on startup, finds all of the devices, indicates a GPIO conflict and informs that the satellite kext should work in polling mode.

This may caused by i2chid not i2c so I need KP log to check.

It looks like a VoodooGPIO panic, it's the same one from the issue I reported previously. 71562749-b45e8680-2a52-11ea-93cc-d6cceee418c5 I'll get a fresh pic when I can.

Did you use vanilla version of voodooi2c to have a try?

Yes. My VoodooGPIO panic is probably unrelated to this patch.

startpenghubingzhou commented 4 years ago

I have built a new kext based on @phu54321 's work. For now I have added a detection about 10th CPU. Can anyone help me to test it? VoodooI2C.kext test3.zip

I2CHID doesn't seem to load with just this kext, my device still kernel panics as before. Can you folks push this code into a repo somewhere for analysis and testing? If I boot without the I2CHID kext at all I can see that it sets property 0D on startup, finds all of the devices, indicates a GPIO conflict and informs that the satellite kext should work in polling mode.

This may caused by i2chid not i2c so I need KP log to check.

It looks like a VoodooGPIO panic, it's the same one from the issue I reported previously. 71562749-b45e8680-2a52-11ea-93cc-d6cceee418c5 I'll get a fresh pic when I can.

Did you use vanilla version of voodooi2c to have a try?

Yes. My VoodooGPIO panic is probably unrelated to this patch.

if you can sure that this panic is unrelated to this patch, maybe opening a new issue is better.

ghost commented 4 years ago

I have built a new kext based on @phu54321 's work. For now I have added a detection about 10th CPU. Can anyone help me to test it? VoodooI2C.kext test3.zip

I2CHID doesn't seem to load with just this kext, my device still kernel panics as before. Can you folks push this code into a repo somewhere for analysis and testing? If I boot without the I2CHID kext at all I can see that it sets property 0D on startup, finds all of the devices, indicates a GPIO conflict and informs that the satellite kext should work in polling mode.

This may caused by i2chid not i2c so I need KP log to check.

It looks like a VoodooGPIO panic, it's the same one from the issue I reported previously. 71562749-b45e8680-2a52-11ea-93cc-d6cceee418c5 I'll get a fresh pic when I can.

Did you use vanilla version of voodooi2c to have a try?

Yes. My VoodooGPIO panic is probably unrelated to this patch.

if you can sure that this panic is unrelated to this patch, maybe opening a new issue is better.

I was hoping they were related, but it's probably not worth opening another issue as I'm using macOS less and less lately.

kprinssu commented 4 years ago

@fewtarius I haven't worked on the GPIO kext, but panic that looks like an invalid GPIO pin number.

ben9923 maybe more help here.

thefiredragon commented 4 years ago

on 10.15.3 Trackpad was working with the patch above.

After upgrade to 10.15.4 trackpad works after sleep.

kprinssu commented 4 years ago

Closing as Comet Lake support has been merged in with PR https://github.com/alexandred/VoodooI2C/pull/246. Please create new Github issue for any new issues.