jkbuha / XPS-9500-CometLake-OpenCore

Dell XPS 9500 i9-10885H with macOS and OpenCore
24 stars 5 forks source link

No XHC USB devices detected - no bluetooth #12

Open Gobol opened 7 months ago

Gobol commented 7 months ago

Hi!,

First - thanks for sharing your EFI !

I have problem with USB/TB3 config, and thus - no bluetooth.

My laptop is Dell Precision 5550, i7-10875H. Looking into IoReg seems that my rig is using slightly different ACPI paths for TitanRidge USB controller. When I'm trying to do my own USBMap.kext, I can't see anything connected to XHC. Only two left USB-C ports is working. Right usb-c port is working only as power delivery (PD), nothing else detected.

Can you point me - how to create my own USBMap ? (I got no USBInjectAll nor others usb-related kexts).

Thanks for any help.

jkbuha commented 7 months ago

Interesting - I thought the 9500 and 5550 had identical motherboards.

Here's the guide I used. It's a bit more technical than the others (eg: dortania et al) but it gets much better results: https://github.com/5T33Z0/OC-Little-Translated/tree/main/03_USB_Fixes/ACPI_Mapping_USB_Ports

Upload the usbmap kext here when you're ready, i'll be keen to see the differences with mine. ᐧ

On Tue, 9 Apr 2024 at 13:36, Gobol @.***> wrote:

Hi!,

First - thanks for sharing your EFI !

I have problem with USB/TB3 config, and thus - no bluetooth.

My laptop is Dell Precision 5550, i7-10875H. Looking into IoReg seems that my rig is using slightly different ACPI paths for TitanRidge USB controller. When I'm trying to do my own USBMap.kext, I can't see anything connected to XHC. Only two left USB-C ports is working. Right usb-c port is working only as power delivery (PD), nothing else detected.

Can you point me - how to create my own USBMap ? (I got no USBInjectAll nor others usb-related kexts).

Thanks for any help.

— Reply to this email directly, view it on GitHub https://github.com/jkbuha/XPS-9500-IceLake-OpenCore/issues/12, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJMMC535OOC4F54NO4UUM3Y4PODLAVCNFSM6AAAAABF6PWCPGVHI2DSMVQWIX3LMV43ASLTON2WKOZSGIZTGMZUGM2DGNQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

ultraCAO commented 3 months ago

I am on a 9500 with i7-10875H. Bluetooth and eGPU don't work.

jkbuha commented 3 months ago

Your usbmap is likely different and needs to be derived from scratch. Use the dortania guides to regenerate a new usbmap.

On Sun, 18 Aug 2024 at 02:59, Kevin Cao @.***> wrote:

I am on a 9500 with i7-10875H. Bluetooth and eGPU don't work.

— Reply to this email directly, view it on GitHub https://github.com/jkbuha/XPS-9500-CometLake-OpenCore/issues/12#issuecomment-2295048303, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJMMC2T7DAEAIQCHKR7IBTZR7WVJAVCNFSM6AAAAABF6PWCPGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJVGA2DQMZQGM . You are receiving this because you commented.Message ID: @.***>

ultraCAO commented 3 months ago

The one I am using now appears to be identical. eGPU doesn't work but Bluetooth does.

USBMap.kext.zip

jkbuha commented 3 months ago

If Bluetooth (and camera) are working then the USB ports are correctly mapped.

eGPU layout is specific to your type of device and enclosure, so needs to be mapped using a combination of Windows and macOS. Use SSDTTime to create a PCI Bridge device based on where it currently resides when you boot with it.

On Sun, 18 Aug 2024 at 02:33, Kevin Cao @.***> wrote:

The one I am using now appears to be identical. eGPU doesn't work but Bluetooth does.

USBMap.kext.zip https://github.com/user-attachments/files/16646922/USBMap.kext.zip

— Reply to this email directly, view it on GitHub https://github.com/jkbuha/XPS-9500-CometLake-OpenCore/issues/12#issuecomment-2295055016, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJMMCZOA5XDFKDPZHUTVP3ZR72V5AVCNFSM6AAAAABF6PWCPGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJVGA2TKMBRGY . You are receiving this because you commented.Message ID: @.***>

ultraCAO commented 3 months ago

If Bluetooth (and camera) are working then the USB ports are correctly mapped. eGPU layout is specific to your type of device and enclosure, so needs to be mapped using a combination of Windows and macOS. Use SSDTTime to create a PCI Bridge device based on where it currently resides when you boot with it. On Sun, 18 Aug 2024 at 02:33, Kevin Cao @.> wrote: The one I am using now appears to be identical. eGPU doesn't work but Bluetooth does. USBMap.kext.zip https://github.com/user-attachments/files/16646922/USBMap.kext.zip — Reply to this email directly, view it on GitHub <#12 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJMMCZOA5XDFKDPZHUTVP3ZR72V5AVCNFSM6AAAAABF6PWCPGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJVGA2TKMBRGY . You are receiving this because you commented.Message ID: @.>

Do I create a SSDTTime PCI Bridge of the GPU PCI path or the Titan Ridge? Right now it is detecting the card. but it seem to be powered off after booting into mac. here are some screens shot of what it's detecting.

In Windows everything works. Screenshot 2024-08-19 071452 Screenshot 2024-08-19 071349 Screenshot 2024-08-19 071202

In Mac after boot. Screenshot 2024-08-19 at 7 40 47 AM Screenshot 2024-08-19 at 7 42 35 AM Screenshot 2024-08-19 at 7 42 51 AM

Any help would be greatly appreciated, I've been trying to get this to work for years.

jkbuha commented 3 months ago

I dont think the W5500 is actually supported on Monterey/Ventura, otherwise you would immediately get the display powering up. I suspect you need to check to see which device-id you need to spoof it to make Monterey pick it up.

Assuming this is possible, you need to do the following:

  1. Dump the original DSDT (see dortania how to do it)
  2. Copy the full device path from hackintool
  3. Run SSDTtime and choose PCI-Bridge. Add the DSDT.aml and paste the desired device path
  4. With the new PCI-Bridge.dsl, you need to then insert the device-id you need to spoof it to.

If (a) the W5500 can be spoofed (b) you follow the above steps, the eGPU should work. If (a) or (b) is not possible, then you need a fully working (ie: not needing to be spoofed) compatible card, such as the RX580 or RX6900XT.

ultraCAO commented 3 months ago

Thank you so much for your repos. I was able to get it working with the following boot args: agdpmod=pikera kext-dev-mode=1 igfxonln=1 igfxfw=2 -igfxblr hbfx-ahbm=3 igfxrpsc=1 -no_compat_check

The key boot arg was -no_compat_check. I found that in one of your old AlderLake EFI. When I tried that EFI it booted on the eGPU, but of course, WiFi, and Bluetooth did not work without modifying USBMap and AirportItlwm also it was spoofing the CPU. Since I am on a 9500 there is no need to spoof the CPU so naturally I just took the boot args from there to the 9500 EFI and started playing with SSDTtime, PCI-Bridge, and PCI-List. but it ended up all I needed was the two boot args. agdpmod=pikera and -no_compat_check

The W5500 is fully compatible and supported as an eGPU. I tried the same setup on a MacMini and it works fine. Also, there is a variant card W5500X on the MacPro platform offered as a MPX module. The device-id may be different but it is the same chipset so it should work with no issue.

One thing I noticed with this EFI "XPS-9500-CometLake-OpenCore" even that I did anything modification to the EFI. I was not able to boot into Windows. The screen froze a few seconds into the boot spinning screen. any ideas?

Other than being unable to boot into Windows. everything is working as it should with the latest 9500 EFI. One thing I have not tried yet is hot-plugging the eGPU. Have you tried it?

Thank you so much for your time.

jkbuha commented 3 months ago

Ah thought you had agdpmod=pikera in your boot-args, yes that’s necessary!

I dont use windows under opencore, but when I boot into Windows using OC I get the same freeze. Windows doesn’t like disabling PEG0.PEGP (the dGPU) but Linux doesn’t mind. I haven’t bothered to find a solution yet as I typically only boot into windows to use all GPUs. I’m sure there is a way to disable this properly though…

On Tue, 20 Aug 2024 at 21:23, Kevin Cao @.***> wrote:

Thank you so much for your repos. I was able to get it working with the following boot args: agdpmod=pikera kext-dev-mode=1 igfxonln=1 igfxfw=2 -igfxblr hbfx-ahbm=3 igfxrpsc=1 -no_compat_check

The key boot arg was -no_compat_check. I found that in one of your old AlderLake EFI. When I tried that EFI it booted on the eGPU, but of course, WiFi, and Bluetooth did not work without modifying USBMap and AirportItlwm also it was spoofing the CPU. Since I am on a 9500 there is no need to spoof the CPU so naturally I just took the boot args from there to the 9500 EFI and started playing with SSDTtime, PCI-Bridge, and PCI-List. but it ended up all I needed was the two boot args. agdpmod=pikera and -no_compat_check

The W5500 is fully compatible and supported as an eGPU. I tried the same setup on a MacMini and it works fine. Also, there is a variant card W5500X on the MacPro platform offered as a MPX module. The device-id may be different but it is the same chipset so it should work with no issue.

One thing I noticed with this EFI "XPS-9500-CometLake-OpenCore" even that I did anything modification to the EFI. I was not able to boot into Windows. The screen froze a few seconds into the boot spinning screen. any ideas?

Other than being unable to boot into Windows. everything is working as it should with the latest 9500 EFI. One thing I have not tried yet is hot-plugging the eGPU. Have you tried it?

Thank you so much for your time.

— Reply to this email directly, view it on GitHub https://github.com/jkbuha/XPS-9500-CometLake-OpenCore/issues/12#issuecomment-2299599844, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJMMC4QZL6TUOQRKJD3PATZSOJUTAVCNFSM6AAAAABF6PWCPGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJZGU4TSOBUGQ . You are receiving this because you commented.Message ID: @.***>

ultraCAO commented 3 months ago

For me -no_compat_check was a must. Otherwise, the card would shut off after the picker screen. Also with boot-arg agdpmod=pikera the built-in screen brightness control would stop working. for brightness control to work it needs boot-arg of abdpmod=vit9696. Any idea on how to solve this?

jkbuha commented 3 months ago

Sounds like it's an issue with the framebuffer (same reason to enable the eDP adapter work in plug and play). Try experimenting with various platform-id and device-ids for device 00:02.0 (iGPU), to play nicely with the eGPU. I had to do something similar to get the XPS 9520 to play nicely with the Radeon RX6950...

ultraCAO commented 2 months ago

@jkbuha I got the built-in display backlight control working with eGPU attached. by adding applbkl=3 to boot-arg. According to WEG documentation, this is for display wired directly to AMD GPU. but it also works for a display wired to an Intel iGPU. strange, but it works. I guess that when an eGPU is attached the built-in display is also being driven by the eGPU so all the command is routed to the eGPU.