Contribute
Register

VoodooI2C dsdt and a couple other questions.

Status
Not open for further replies.
Joined
Feb 23, 2018
Messages
56
Motherboard
Lenovo LNVNB161216 (Clover UEFI)
CPU
i5-8250U @1.60GHz
Graphics
Intel UHD Graphics 620 1366x768
Mac
  1. iMac
  2. MacBook
Classic Mac
  1. iMac
  2. Performa
Mobile Phone
  1. iOS
So I picked up a Lenovo Ideapad 320-15IKB a few months ago and hackintoshed it. Most things work great. I've gotten the power management going, backlight control, usb patched, sleep works now after an edid edit to prevent a garbled screen, etc. There are just three problems I'm trying to track down.

1) ALC230 isn't well supported at the moment by anything though I'm following a thread on GitHub where insanelydeepak is trying to help a couple people with it. So wait and see how that patch goes.

2) While my sound card doesn't work, bluetooth sound works great, so I have watched Netflix, HBO, etc through my browser. The problem I have is that iTunes gives an error about the screen not being supported for drm purposes. Thought that was odd. Does that have anything to do with the edid hack I had to do to get sleep working? (Not a huge deal, not sure how much work I'm honestly willing to do anytime soon to fix it, as this is mostly a machine to run Xcode on while I'm on the go so that I can learn Swift.)

3) Finally my touchpad is an elan i2c model. Other people have told me that this touchpad should be able to work with those kexts. However when I try to load the patch:

# Skylake controller patches for VoodooI2C
# Ensures that VoodooI2C can interface with I2C Controllers
# Written and maintained by Alexandre Daoud

into_all device label I2C0 remove_entry;
into_all device label I2C1 remove_entry;
into_all device label I2C2 remove_entry;
into_all device label I2C3 remove_entry;
into_all device label I2C4 remove_entry;
into_all device label I2C5 remove_entry;

into scope label _SB.PCI0 insert begin

Device (I2C0)\n
{\n
Name (LINK, "\\_SB.PCI0.I2C0")\n
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current\n
{\n
Return (GETD (SB10))\n
}\n
\n
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0\n
{\n
LPD0 (SB10)\n
}\n
\n
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3\n
{\n
LPD3 (SB10)\n
}\n
}\n
\n\n
Device (I2C1)\n
{\n
Name (LINK, "\\_SB.PCI0.I2C1")\n
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current\n
{\n
Return (GETD (SB11))\n
}\n
\n
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0\n
{\n
LPD0 (SB11)\n
}\n
\n
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3\n
{\n
LPD3 (SB11)\n
}\n
}\n
\n\n
Device (I2C2)\n
{\n
Name (LINK, "\\_SB.PCI0.I2C2")\n
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current\n
{\n
Return (GETD (SB12))\n
}\n
\n
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0\n
{\n
LPD0 (SB12)\n
}\n
\n
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3\n
{\n
LPD3 (SB12)\n
}\n
}\n
\n\n
Device (I2C3)\n
{\n
Name (LINK, "\\_SB.PCI0.I2C3")\n
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current\n
{\n
Return (GETD (SB13))\n
}\n
\n
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0\n
{\n
LPD0 (SB13)\n
}\n
\n
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3\n
{\n
LPD3 (SB13)\n
}\n
}\n
\n
Device (I2C4)\n
{\n
Name (LINK, "\\_SB.PCI0.I2C4")\n
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current\n
{\n
Return (GETD (SB14))\n
}\n
\n
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0\n
{\n
LPD0 (SB14)\n
}\n
\n
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3\n
{\n
LPD3 (SB14)\n
}\n
}\n
\n
Device (I2C5)\n
{\n
Name (LINK, "\\_SB.PCI0.I2C5")\n
Method (_PSC, 0, NotSerialized) // _PSC: Power State Current\n
{\n
Return (GETD (SB15))\n
}\n
\n
Method (_PS0, 0, NotSerialized) // _PS0: Power State 0\n
{\n
LPD0 (SB15)\n
}\n
\n
Method (_PS3, 0, NotSerialized) // _PS3: Power State 3\n
{\n
LPD3 (SB15)\n
}\n
}\n
\n
end;

into scope label _SB.PCI0.I2C0 replace_content begin

Name (_HID, "INT3442") // _HID: Hardware ID\n
Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision\n
{\n
Return (LHRV (SB10))\n
}\n
\n
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings\n
{\n
Return (LCRS (SMD0, SB00, SIR0))\n
}\n
\n
Method (_STA, 0, NotSerialized) // _STA: Status\n
{\n
Return (LSTA (SMD0))\n
}\n
}\n
end;

into scope label _SB.PCI0.I2C1 replace_content begin

Name (_HID, "INT3443") // _HID: Hardware ID\n
Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision\n
{\n
Return (LHRV (SB11))\n
}\n
\n
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings\n
{\n
Return (LCRS (SMD1, SB01, SIR1))\n
}\n
\n
Method (_STA, 0, NotSerialized) // _STA: Status\n
{\n
Return (LSTA (SMD1))\n
}\n
}\n
end;

into scope label _SB.PCI0.I2C2 replace_content begin

Name (_HID, "INT3444") // _HID: Hardware ID\n
Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision\n
{\n
Return (LHRV (SB12))\n
}\n
\n
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings\n
{\n
Return (LCRS (SMD2, SB02, SIR2))\n
}\n
\n
Method (_STA, 0, NotSerialized) // _STA: Status\n
{\n
Return (LSTA (SMD2))\n
}\n
}\n
end;
into scope label _SB.PCI0.I2C3 replace_content begin

Name (_HID, "INT3445") // _HID: Hardware ID\n
Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision\n
{\n
Return (LHRV (SB13))\n
}\n
\n
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings\n
{\n
Return (LCRS (SMD3, SB03, SIR3))\n
}\n
\n
Method (_STA, 0, NotSerialized) // _STA: Status\n
{\n
Return (LSTA (SMD3))\n
}\n
}\n
end;

into scope label _SB.PCI0.I2C4 replace_content begin

Name (_HID, "INT3446") // _HID: Hardware ID\n
Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision\n
{\n
Return (LHRV (SB14))\n
}\n
\n
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings\n
{\n
Return (LCRS (SMD4, SB04, SIR4))\n
}\n
\n
Method (_STA, 0, NotSerialized) // _STA: Status\n
{\n
Return (LSTA (SMD4))\n
}\n
}\n
end;

into scope label _SB.PCI0.I2C5 replace_content begin

Name (_HID, "INT3447") // _HID: Hardware ID\n
Method (_HRV, 0, NotSerialized) // _HRV: Hardware Revision\n
{\n
Return (LHRV (SB15))\n
}\n
\n
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings\n
{\n
Return (LCRS (SMD5, SB05, SIR5))\n
}\n
\n
Method (_STA, 0, NotSerialized) // _STA: Status\n
{\n
Return (LSTA (SMD5))\n
}\n
}\n
end;


I end up with a compile error of:
line 14646 syntax error, unexpected PARSEOP_SCOPE, expecting $end and premature End-Of-File

Like I said, the DSDT compiled and worked until I hit that patch and I'm not quite sure how to fix it so that I can try the voodooi2c kexts.

The decompiled dsdt that is giving me problems is attached. Any advice would be appreciated.
 

Attachments

  • DSDT-i2c-final-patch-bugged.dsl
    861.6 KB · Views: 138
Not sure if I should should submit a full debug report as I'm mostly just looking for help on why that dsdt won't compile at this point.
 
1) ALC230 isn't well supported at the moment by anything though I'm following a thread on GitHub where insanelydeepak is trying to help a couple people with it. So wait and see how that patch goes.

2) While my sound card doesn't work, bluetooth sound works great, so I have watched Netflix, HBO, etc through my browser. The problem I have is that iTunes gives an error about the screen not being supported for drm purposes. Thought that was odd. Does that have anything to do with the edid hack I had to do to get sleep working? (Not a huge deal, not sure how much work I'm honestly willing to do anytime soon to fix it, as this is mostly a machine to run Xcode on while I'm on the go so that I can learn Swift.)

You need to fix audio.
See FAQ:
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/

And you should look into Shiki.kext for iTunes DRM issues.

3) Finally my touchpad is an elan i2c model. Other people have told me that this touchpad should be able to work with those kexts. However when I try to load the patch:

I2C support thread is linked from the FAQ.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
 
3) Finally my touchpad is an elan i2c model. Other people have told me that this touchpad should be able to work with those kexts. However when I try to load the patch:

# Skylake controller patches for VoodooI2C
...
According to your profile, you have a laptop with an 8th-Gen CPU.
The I2C Controllers patch is Skylake only (6th-Gen). You don't need it.
 
According to your profile, you have a laptop with an 8th-Gen CPU.
The I2C Controllers patch is Skylake only (6th-Gen). You don't need it.

Ah I made a bad assumption. I assumed that it just hadn't been updated in a while and read it as Skylake and newer would need it. That would make sense then. I'll see where I get without that patch then since the win10 and gpio patches compile.
 
Well the good news is that the audio is now working today, shiki looks promising, and voodooi2c is slowly coming along as I have time to work on it now. So things are progressing. Now if only I had more free time to work on it.
 
Status
Not open for further replies.
Back
Top