Contribute
Register

[Guide] Installing 10.13.6 High Sierra on the Thinkpad X1 Yoga (3rd gen)

Status
Not open for further replies.
Bad wording, sorry. It is not sleeping properly. LEDS (both on the cover and on the power switch) stays ON instead of blinking, and battery is consumed.
 
I have attached photos of my BIOS for completion sake. I disabled pretty much everything security related, and repatched the ACPI after. Suddenly, hotpatching seems like a great idea!



I removed sorted order. I have also patched my USB with the custom SSDT. Thanks for the guide btw, it was easy to follow! I did encounter XHC@0 in addition to XHC@14. XHC@0 is for USB 3.0 on USB-C.

Unfortunately, sleep still consumes battery...
Did you actually get the laptop to sleep? You seem to imply yes...

Bad wording, sorry. It is not sleeping properly. LEDS (both on the cover and on the power switch) stays ON instead of blinking, and battery is consumed.

Your USB configuration is not correct.
See guide:
https://www.tonymacx86.com/threads/guide-creating-a-custom-ssdt-for-usbinjectall-kext.211311/
(and you might try also disabling the HS10 "Pen and multitouch sensor", just in case it is part of the sleep problem)

Might try MacBookPro11,1.

You have many KPs in panic_logs, all seem to be from the graphics kexts. Try other ig-platform-id values?
 
Your USB configuration is not correct.
See guide:
https://www.tonymacx86.com/threads/guide-creating-a-custom-ssdt-for-usbinjectall-kext.211311/
(and you might try also disabling the HS10 "Pen and multitouch sensor", just in case it is part of the sleep problem)

Might try MacBookPro11,1.

You have many KPs in panic_logs, all seem to be from the graphics kexts. Try other ig-platform-id values?


Your USB configuration is not correct.
See guide:
https://www.tonymacx86.com/threads/guide-creating-a-custom-ssdt-for-usbinjectall-kext.211311/
(and you might try also disabling the HS10 "Pen and multitouch sensor", just in case it is part of the sleep problem)

Might try MacBookPro11,1.

You have many KPs in panic_logs, all seem to be from the graphics kexts. Try other ig-platform-id values?

The KPs are a result of me switching from KabySpoof to Kaby and sorting out the ig-platform-id values in the process. Let me clear the logs for clarity sake.

Could I get a hint on what's not correct?
Checking IOreg, after applying SSDT-UIAC.aml, only the enabled ports are showing up. XHC@14 device-id is 9d2f, so I deleted everything from the SSDT-UIAC-ALL.sdl file except for 9dxx. I performed port discovery, and removed the unnecessary ports. I removed the XCHI port limit from config.plist. I..

Oh, do you mean the USB connector number? I set it to 0 for the HS ports thinking it was triggered by USB2 drives. I have changed it back to 3. As per your suggestion, I also removed multitouch sensor port HS10.

It didn't help. The LEDS are still switched on.

I have attached another dump.
 

Attachments

  • SSDT-UIAC.dsl
    2.7 KB · Views: 109
  • debug_18136.zip
    3 MB · Views: 103
attached another dump.
You still have more suggestions to try that I made in my previous reply.

UsbConnector values still shown incorrect, according to ioreg.
 
You still have more suggestions to try that I made in my previous reply.

UsbConnector values still shown incorrect, according to ioreg.

Generated a new dump showing the right ioreg usb connector values.
Also changed SMbios to MBP11,1 in config.plist.
Problem persists.

I was reading around and I may have stumbled onto a cause of the problem for Windows, but I am not sure if it has anything to do with a hackintosh. According to lenovo forums,
Post : "Lenovo removed traditional deep sleep (ACPI S3 sleep state) in favor of a new, Microsoft-driven sleep state called Windows Modern Standby, aka Si03. See this article in linux forum: https://delta-xi.net/#056"
Wiki : " "The 6th Generation X1 Carbon supports S0i3 (also known as Windows Modern Standby), but not S3 by default. Missing S3 also causes hybrid-suspend to go directly to hibernate. Thankfully, S3 can be enabled through a BIOS option from BIOS version 1.30 onward."

Both the X1C6 and X1Y3 are plagued by the same issues. On windows, the machine goes into hybrid hibernate mode. On the hackintosh, since hibernate is disabled, and without S3 being enabled, the hackintosh is unable to sleep. This is my guess of what the problem is, and if it is true, the only real fix is to wait for an elusive BIOS update from Lenovo unless there is a way to patch the ACPI to enable S3 sleep?
 

Attachments

  • debug_29334.zip
    3 MB · Views: 96
Last edited:
Generated a new dump showing the right ioreg usb connector values.
Also changed SMbios to MBP11,1 in config.plist.

I was reading around and I may have stumbled onto a cause of the problem for Windows, but I am not sure if it has anything to do with a hackintosh. [to be continued]

What do you mean by "problem for Windows"?

Note: UEFI network stacks should be disabled in BIOS.

Your UsbConnector values are still wrong. You have 4x HSxx UsbConnector=3, but only two SSxx UsbConnector=3. Should correspond 1:1.
 
Last edited:
What do you mean by "problem for Windows"?

Note: UEFI network stacks should be disabled in BIOS.

Your UsbConnector values are still wrong. You have 4x HSxx UsbConnector=3, but only two SSxx UsbConnector=3. Should correspond 1:1.

The other 2 additional SSxx UsbConnectors are under XHC@0, not XHC@14. I don't know how to use SSDT to patch XHC@0 since for both XHCs, the ports are named SS01 and SS02.

This is what I found from port discovery.
XHC@14 has device-id 9d2f. XHC@14-HS01,HS02,HS03,HS04,HS07,HS08,SS01,SS02
XHC@0 has device-id 15d4. XHC@0-SS01,SS02.

Should I add another section to the SSDT for device 15d4? There wasn't any section for this device in SSDT-UIAC-ALL.kext
 
The other 2 additional SSxx UsbConnectors are under XHC@0, not XHC@14. I don't know how to use SSDT to patch XHC@0 since for both XHCs, they are named SS01 and SS02.
...
XHC@0 has device-id 15d4. XHC@0-SS01,SS02.

That is XHC on TB.
You should read up on Thunderbolt. No 100% solution to working TB hotplug.

This is what I found for port discovery.
XHC@14 has device-id 9d2f. XHC@14-HS01,HS02,HS03,HS04,HS07,HS08,SS01,SS02

Maybe some of those HSxx ports are USB2 only... USB2 only HSxx should be marked UsbConnector=0, USB3 HSxx, UsbConnector=3.
Or if they are routed somehow from XHC on TB3, they would probably still be UsbConnector=3. There is not enough information in an ioreg for me to tell what is associated with what. That is for you to determine (as you plug in devices watch for changes in ioreg).

Should I add another section to the ssdt for device 15d4?

No such support currently in USBInjectAll.kext.

Note that your ACPI is using _UPC to set UsbConnector=10 for those ports.
If the HSxx on XHC@14 are connected to that, those should be UsbConnector=10 as well.

There is probably something in the XHC attached to the TB that allows routing from TB XHC -> chipset XHC for USB2 devices, because I've seen other computers have those HSxx on the TB itself (and the "port" assignments seem to allow for it).
 
Last edited:
I didn't save the exact ioreg just after doing port discovery except for a printscreen after testing all the ports.
Discover_port.png

I believe they are routed somehow to the TB3 somehow then. If that's the case, am I right that the SSDT I have is pretty much the only valid USB config on my comp?

Left USBA - XHC@14 HS01(USB2 flashdrive), XHC@14 SS01(USB3 flashdrive)
Right USBA - XHC@14 HS02(USB2 flashdrive), XHC@14 SS02(USB3 flashdrive)
Top Left USBC - XHC@14 HS03(USB2 flashdrive with adapter), XHC@0 SS01(USB3 flashdrive with adapter)
Bottom Left USBC - XHC@14 HS04(USB2 flashdrive with adapter), XHC@0 SS02(USB3 flashdrive with adapter)


Do you have any thoughts on the S3 sleep issue? Or I am out of luck and have to wait for a BIOS update?
 
I didn't save the exact ioreg just after doing port discovery except for a printscreen after testing all the ports.
View attachment 351372
I believe they are routed somehow to the TB3 somehow then.

You mean 'from the TB3'.

If that's the case, am I right that the SSDT I have is pretty much the only valid USB config on my comp?

I don't understand the question.

Left USBA - XHC@14 HS01(USB2 flashdrive), XHC@14 SS01(USB3 flashdrive)
Right USBA - XHC@14 HS02(USB2 flashdrive), XHC@14 SS02(USB3 flashdrive)

So all of those should be UsbConnector=3.

Top Left USBC - XHC@14 HS03(USB2 flashdrive with adapter), XHC@0 SS01(USB3 flashdrive with adapter)
Bottom Left USBC - XHC@14 HS04(USB2 flashdrive with adapter), XHC@0 SS02(USB3 flashdrive with adapter)

HS03/HS04, UsbConnector=10 (matching the _UPC data for XHC@0 SS01/SS02).

Do you have any thoughts on the S3 sleep issue? Or I am out of luck and have to wait for a BIOS update?

You didn't answer my question: What do you mean by "problem for Windows"?
 
Status
Not open for further replies.
Back
Top