- Joined
- Feb 23, 2018
- Messages
- 56
- Motherboard
- Lenovo LNVNB161216 (Clover UEFI)
- CPU
- i5-8250U @1.60GHz
- Graphics
- Intel UHD Graphics 620 1366x768
- Mac
- Classic Mac
- Mobile Phone
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.
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.