Contribute
Register

XHCI bad busy count

Status
Not open for further replies.
Joined
Dec 9, 2010
Messages
97
Motherboard
Gigabyte GA-B85-HD3
CPU
i5 4430
Graphics
RX 580
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
So I have USB port injection working correctly for the most part. I have an SSDT and USBPorts.kext created using hacking tool. IOreg shows only the 12 ports I have mapped. Connector types are correct and so on. When my phone is connected to any of the ports (either usb 3 or usb 2) with its USB A - USB C cable and I reboot my phone a few times, the USB port on the computer will stop working and in the logs I see "XHCI bad busy count". The power portion of the port still works but the data portion is dead (phone charges and ADB won't detect it, flash drive doesn't work either). Once I reboot my PC the dead port starts working again.

Any suggestions on where to start troubleshooting this? Oh, I am using OpenCore bootloader. Same thing happens with clover. I'm not doing any ACPI renames or anything like that (I did do some XHCI renames during the port mapping).
 
So I have USB port injection working correctly for the most part. I have an SSDT and USBPorts.kext created using hacking tool. IOreg shows only the 12 ports I have mapped. Connector types are correct and so on. When my phone is connected to any of the ports (either usb 3 or usb 2) with its USB A - USB C cable and I reboot my phone a few times, the USB port on the computer will stop working and in the logs I see "XHCI bad busy count". The power portion of the port still works but the data portion is dead (phone charges and ADB won't detect it, flash drive doesn't work either). Once I reboot my PC the dead port starts working again.

Any suggestions on where to start troubleshooting this? Oh, I am using OpenCore bootloader. Same thing happens with clover. I'm not doing any ACPI renames or anything like that (I did do some XHCI renames during the port mapping).

Hi there.

As far as I am aware when using Hackintool to create port definitions there are two methods. Initially use USBInjectAll and perhaps a port-limit removal patch to open up all available ports, then:

1) you can keep USBInjectAll.ext and use the SSDT files Hackintool produces

OR

2) you remove the SSDTs and USBInjectAll, and use only USBPorts.kext.

This is from Hackintool 's Help pages:

HackintoolConfigUSB.png


:)
 
Last edited:
Hi there.

As far as I am aware when using Hackintool to create port definitions there are two methods. Initially use USBInjectAll and perhaps a port-limit removal patch to open up all available ports, then:

1) you can keep USBInjectAll.ext and use the SSDT files Hackintool produces

OR

2) you remove the SSDTs and USBInjectAll, and use only USBPorts.kext.

This is from Hackintool 's Help pages:

View attachment 423840

:)
I am using SSDT-EC.aml with USBPorts.kext. No USBInjectAll since doing the initial mapping. Sorry, I should have been more clear when I said I'm using an ssdt.
 
I am using SSDT-EC.aml with USBPorts.kext. No USBInjectAll since doing the initial mapping. Sorry, I should have been more clear when I said I'm using an ssdt.

Okay ... :thumbup:

Maybe a good idea is to use IORegstryExplorer to verify your port allocation scheme. It's one thing trusting your work in Hackintool and another to see the end result in action etc.

:)
 
Status
Not open for further replies.
Back
Top