Closed notthebee closed 3 years ago
Same issue like mine. Still reproducible time to time. @notthebee probably found the reason, its the dock what caused the issue.
@notthebee
Some questions:
RP09
, which should be the one near usb, can you test it on the power port also? If you happen to have another tb3 device, can you test it with that as well?
@tylernguyen
Is your TB3 controller modded?
No, I'm using the unmodded firmware
Does this issue only happens on cold plug or with hot plug as well?
If the Thunderbolt controller has been plugged in during the boot, the laptop crashes on wake up. If I boot up the laptop without the TB dock connected, it sleeps just fine but I can't hotplug the TB dock anymore (external display lights up and charging works, but USB devices don't)
Do you wake the laptop up after TB3 is unplugged or with it plugged in?
After
Which port does this issue happen on? Power or the one near usb? or both
Both ports
I see in your log that it's RP09, which should be the one near usb, can you test it on the power port also?
I've tested it with both ports, neither works
Does this issue always happens or only from time to time?
It happens 100% of the time, but I've only had the EFI for 2 days.
@notthebee please test https://github.com/tylernguyen/x1c6-hackintosh/pull/95/files. If that PR doesn't resolves it, it is most likely rooted in a problem with the ICM of the TB-controller. Please report back.
Are you in bios-assist-mode?
@tylernguyen some corrections:
- Which port does this issue happen on? Power or the one near usb? or both
this is irrelevant. Problem is the handling of the controller/its ICM and most likely the same for both ports (if you don't screw the properties for those ports and irritate OSX-driver).
- I see in your log that it's
RP09
, which should be the one near usb, can you test it on the power port also?
RP09 is the PCIe-port connected to the PCH of the Mainboard which hosts the complete Thunderbolt-controller (in OSX: the NHI). The NHI consists of multiple PCI-sub-devices (the most relevant are the alpine ridge TB-controller (DSB0) + the USB 3.1 gen2-controller (DSB2)). Both TB-ports are connected to DSB0 and both USB3.1gen2-ports to DSB2. Additionally the usbc-pd-controller by TI plays a role in routing the connected device to the specific controller and handling charging.
So, I did some testing with the newest commit. Unfortunately, it didn't solve the problem. The BIOS Assist mode is off, and the behavior is consistent so far:
@notthebee please do the following:
add https://github.com/acidanthera/DebugEnhancer to your kexts
add keepsyms=1 debug=0x12a acpi_layer=0x8 acpi_level=0x2
to your boot-args
shutdown your machine (not reboot! as we want the tb-controller in a clean state)
boot your machine without any device attached
in a console: sudo dmesg|egrep -i "thunderbolt|ACPI" > ./boot-no-dev-dmesg.log
in a console: log show --last boot|egrep -i "thunderbolt|ACPI" > ./boot-no-dev-syslog.log
dump your IoReg with https://github.com/vulgo/IORegistryExplorer name it smth like ioreg-no-dev.ioreg
shutdown your machine (not reboot! as we want the tb-controller in a clean state)
boot your machine with the dock attached
in a console: sudo dmesg|egrep -i "thunderbolt|ACPI" > ./boot-with-dev-dmesg.log
in a console: log show --last boot|egrep -i "thunderbolt|ACPI" > ./boot-with-dev-syslog.log
dump your IoReg with https://github.com/vulgo/IORegistryExplorer name it smth like ioreg-with-dev.ioreg
Post all 4 log-files + 2 ioreg-dumps so I may conclude whats going on
@notthebee
What BIOS version are you on?
See BIOS 1.40 update changelog:
@tylernguyen this only applies to Lenovo docks that have the power button on the dock itself.
@notthebee
Please try again with the new EFI and provide appropriate logs if the issue is still present.
Thank you @tylernguyen and @benbender ! The issue has been resolved after upgrading to the latest EFI. One more thing that I had to do in order to make my TB16 work is to add Thunderbolt3Unblocker kext to OpenCore. I can submit a PR with the kexts, if that's ok.
@notthebee Did you need that Kext before my patches? It patches the NHI-TB-driver to force device-enumeration and I'm trying to get some feedback on device-behaviour with my patches. From what I think the kext shouldn't have been neccessary before as enumeration was done inside the ICM which is now disabled. Does that fit with your experience?
EDIT: Could you attach an IOREG-dump with and without the kext-loaded? Thanks in advance!
Describe the bug I use my X1C6 with a Dell TB16 dock. After the latest EFI update I now have issues with suspend/resume functionality.
If the dock has been connected on boot, the laptop won't wake up from sleep – the red led on the lid would blink rapidly, and the laptop won't react to any button presses. After that, I have to force shutdown the laptop and boot it up again.
After experimening a bit I managed to narrow the problem down to the Thunderbolt dock – if it hasn't been connected on boot, the laptop goes to sleep just fine. However, after resuming the laptop seems to lose the Thunderbolt hotplug functionality – the display lights up but none of the USB devices connected to the dock work.
To Reproduce Steps to reproduce the behavior:
Expected behavior A clear and concise description of what you expected to happen.
Screenshots If applicable, add screenshots to help explain your problem.
Appropriate boot and/or debug logs
pmset log -g
:pmset log -g | grep failure
:If you do cannot provide boot and/or debug logs, please provide a ZIP of your EFI I'm on the latest EFI from this repo, but just in case, here is the folder: OC.zip