Contribute
Register

OpenCore: Dell Optiplex 7010 SFF USB 3 controller disappeared

Status
Not open for further replies.
Joined
Mar 23, 2016
Messages
33
Motherboard
Supermicro X11SPL-F
CPU
Xeon 5218
Graphics
RX 580
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
Hi Experts,


Recently I am trying to switch from Clover to OpenCore for my Dell Optiplex 7010 SFF running Catalina 10.15.4. However, my machine's USB 3 controller always disappears after booting with OpenCore.

Could anyone teach me how to fix this issue? Any input would be appreciated.

Boot with Clover:
Code:
00:00.0 8086:0158 /PCI0@0/pci8086,158@0 = PciRoot(0x0)/Pci(0x0,0x0)
00:01.0 8086:0151 /PCI0@0/PEG0@1 = PciRoot(0x0)/Pci(0x1,0x0)
00:14.0 8086:1e31 /PCI0@0/XHC@14 = PciRoot(0x0)/Pci(0x14,0x0) ===> USB 3 Controller
00:16.0 8086:1e3a /PCI0@0/IMEI@16 = PciRoot(0x0)/Pci(0x16,0x0)
00:16.3 8086:1e3d /PCI0@0/pci8086,1e3d@16,3 = PciRoot(0x0)/Pci(0x16,0x3)
00:19.0 8086:1502 /PCI0@0/GLAN@19 = PciRoot(0x0)/Pci(0x19,0x0)
00:1a.0 8086:1e2d /PCI0@0/EH02@1A = PciRoot(0x0)/Pci(0x1A,0x0)
00:1b.0 8086:1e20 /PCI0@0/HDEF@1B = PciRoot(0x0)/Pci(0x1B,0x0)
00:1c.0 8086:1e10 /PCI0@0/RP01@1C = PciRoot(0x0)/Pci(0x1C,0x0)
00:1c.4 8086:1e18 /PCI0@0/RP05@1C,4 = PciRoot(0x0)/Pci(0x1C,0x4)
00:1d.0 8086:1e26 /PCI0@0/EH01@1D = PciRoot(0x0)/Pci(0x1D,0x0)
00:1f.0 8086:1e47 /PCI0@0/LPCB@1F = PciRoot(0x0)/Pci(0x1F,0x0)
00:1f.2 8086:1e02 /PCI0@0/SATA@1F,2 = PciRoot(0x0)/Pci(0x1F,0x2)
00:1f.3 8086:1e22 /PCI0@0/SBUS@1F,3 = PciRoot(0x0)/Pci(0x1F,0x3)
01:00.0 14e4:43ba /PCI0@0/PEG0@1/ARPT@0 = PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)
03:00.0 1002:67e3 /PCI0@0/RP05@1C,4/GFX0@0 = PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0)
03:00.1 1002:aae0 /PCI0@0/RP05@1C,4/HDAU@0,1 = PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x1)

Boot with OpenCore 0.5.8:
Code:
00:00.0 8086:0158 /PCI0@0/pci8086,158@0 = PciRoot(0x0)/Pci(0x0,0x0)
00:01.0 8086:0151 /PCI0@0/PEG0@1 = PciRoot(0x0)/Pci(0x1,0x0)
00:16.0 8086:1e3a /PCI0@0/IMEI@16 = PciRoot(0x0)/Pci(0x16,0x0)
00:16.3 8086:1e3d /PCI0@0/pci8086,1e3d@16,3 = PciRoot(0x0)/Pci(0x16,0x3)
00:19.0 8086:1502 /PCI0@0/GLAN@19 = PciRoot(0x0)/Pci(0x19,0x0)
00:1a.0 8086:1e2d /PCI0@0/EHC2@1A = PciRoot(0x0)/Pci(0x1A,0x0)
00:1b.0 8086:1e20 /PCI0@0/HDEF@1B = PciRoot(0x0)/Pci(0x1B,0x0)
00:1c.0 8086:1e10 /PCI0@0/RP01@1C = PciRoot(0x0)/Pci(0x1C,0x0)
00:1c.4 8086:1e18 /PCI0@0/RP05@1C,4 = PciRoot(0x0)/Pci(0x1C,0x4)
00:1d.0 8086:1e26 /PCI0@0/EHC1@1D = PciRoot(0x0)/Pci(0x1D,0x0)
00:1f.0 8086:1e47 /PCI0@0/LPCB@1F = PciRoot(0x0)/Pci(0x1F,0x0)
00:1f.2 8086:1e02 /PCI0@0/SAT0@1F,2 = PciRoot(0x0)/Pci(0x1F,0x2)
00:1f.3 8086:1e22 /PCI0@0/SBUS@1F,3 = PciRoot(0x0)/Pci(0x1F,0x3)
01:00.0 14e4:43ba /PCI0@0/PEG0@1/ARPT@0 = PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)
03:00.0 1002:67e3 /PCI0@0/RP05@1C,4/GFX0@0 = PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0)
03:00.1 1002:aae0 /PCI0@0/RP05@1C,4/HDAU@0,1 = PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x1)

By the way, if I don't set Kernel->Quirks->XhciPortLimit to enabled, all USB controllers including USB 2 will disappear.

Thank you.
 

Attachments

  • EFI.zip
    7.7 MB · Views: 184
Last edited:
1. Recreate your USBPorts.kext with Hackintool and replace with the one you have in OC/Kexts and enable it in OC config.plist

2. Put XHCI-unsupported.kext in OC/Kexts and enable it in OC config.plist

3. Remove USBInjectAll.kext from OC/Kexts and OC config.plist, you don't need it with USBPorts.kext

4. Disable FakePCIID_XHCIMux.kext, you don't need it with XHCI-unsupported.kext

5. Disable XhciPortLimit in OC > Kernel

 
1. Recreate your USBPorts.kext with Hackintool and replace with the one you have in OC/Kexts and enable it in OC config.plist

2. Put XHCI-unsupported.kext in OC/Kexts and enable it in OC config.plist

3. Remove USBInjectAll.kext from OC/Kexts and OC config.plist, you don't need it with USBPorts.kext

4. Disable FakePCIID_XHCIMux.kext, you don't need it with XHCI-unsupported.kext

5. Disable XhciPortLimit in OC > Kernel

Thank you for replying.
I've tried it out but it doesn't work. XHC is still missing with XHCI-unsupported.kext.

Screen Shot 2020-05-29 at 4.29.32 AM.png


It looks like XHCI-unsupported.kext doesn't take care of device ID 0x1e31. I added one entry to Info.plist but it doesn't make any difference.

Screen Shot 2020-05-29 at 2.21.35 PM.png


If I boot with Clover + FakePCIID_XHCIMux.kext, every USB port shows up. Still can't figure out why XHC is missing with OpenCore...

Screen Shot 2020-05-29 at 4.32.33 AM.png
 
Did you edit the info.plist in XHCI-unsupported.kext like the one attached?
 

Attachments

  • Info.plist
    2.7 KB · Views: 95
Did you edit the info.plist in XHCI-unsupported.kext like the one attached?

Yes, I did. But it doesn't make any differences.
It turns out that I have to edit my DSDT by renaming XHCI which is used as a variable to
something else.

Code:
    OperationRegion (GNVS, SystemMemory, 0xDDFFDE18, 0x01CF)
    Field (GNVS, AnyAcc, Lock, Preserve)
    {
    ...
        AC1F,   8,
        DTS3,   8,
        DTS4,   8,
        Offset (0x1AA),
        XHCI,   8,    => Replace all XHCI occurrences in DSDT with XHCC
        XHPM,   8,
        XTUB,   32,
        XTUS,   32,
    ...
    }

I boot the machine with
1. FakePCIID.kext
2. FakePCIID_XHCIMux.kext
3. kernel->Quirks->XhciPortLimit = No

Then all USB 2/3 ports showed up. Thank you for your input.
I've attached my EFI for your reference.

Screen Shot 2020-05-30 at 6.26.13 AM.png
 

Attachments

  • EFI.zip
    5.4 MB · Views: 211
Click the broom icon (clear all) in Hackintool >> USB, then click Refresh

Then use a USB2 device and probe all the ports by connecting/disconnecting it (write down what Physical port on the motherboard, Port name and address.

Then do the same with a USB3 device.

Post your results here.
 
Click the broom icon (clear all) in Hackintool >> USB, then click Refresh

Then use a USB2 device and probe all the ports by connecting/disconnecting it (write down what Physical port on the motherboard, Port name and address.

Then do the same with a USB3 device.

Post your results here.

This is the snapshot of the final result. Finally everything works as expected.

Screen Shot 2020-06-01 at 6.13.25 AM.png
 
Everything is working after creating a new USBPorts.kext?
 
Hi, I have the Optiplex 7010 USFF. i7 3770S. Running Catalina 15.6 I followed the Dortania opencore 0.6.1 guide and everything works except for USB 3.
Just like the OP, no USB 3 shows up in Hackintool or any of the utilities. OP solved his problem by editing the DSDT. OpenCore guide says not to edit DSDT.
I did try different ways to get it to show up but none worked. I searched online and on the forums. I'm out of ideas.

Any suggestions would be appreciated. Thanks.
 
Hi, check out the post I created. It might lead you to the solution.
 
Status
Not open for further replies.
Back
Top