Contribute
Register

[Guide] 10.11+ USB changes and solutions

Status
Not open for further replies.
This is only a problem if you see the same identifier more than once for two different mass storage class devices.
I want to avoid this kind of problem ("USBMSC Identifier (non-unique)") when we have two onboard XHCI controllers.
What should be done to make the identifier unique?
https://lists.apple.com/archives/usb/2009/Nov/msg00008.html
https://lists.apple.com/archives/usb/2009/Nov/msg00009.html
https://lists.apple.com/archives/usb/2009/Nov/msg00011.html
https://opensource.apple.com/source...60.4.2/IOUSBFamily/Classes/IOUSBInterface.cpp

It is not an error. Nothing to fix.
 
What should be done to make the identifier unique?

You have not posted any evidence that you have a duplicate identifier. You would have to compare all the uid properties to see if there are any duplicates. If you understood the posts I linked, you would see that the message means that the identifier is not guaranteed to be unique because the identifier is based on the serial number which is not guaranteed to be unique. The message does not mean you have a duplicate identifier. Even if you did have a duplicate identifier, it might not be a problem (I don't know what the uid is used for, if anything).
 
Hello, here my situations:
- I own a GA-Z97X-UD3H-BK with an Xeon E3 1241v3;
- for USB ports I renamed controllers to EH01/EH02/XHC and use the injector with only those ports I plan to use;
- I don't use the ports limiter patch.

Sometime at early boot I get a KP related to Apple USB kexts; after some reboot it boots up and works just fine.
I tried to play with various combinations of Clover USB flags, but the random boot KP still occurs.

Initially a set all USBConnector to value 3 except two internal ports set to 255 where I connected internal BT board and an internal card reader.
Yesterday a changed all HSx ports to value 0 and all SSx ports to 3, to see if this solves the KP at boot.

Have you an idea of what can be the cause of that?

I've also an HP Elite 7000 (i5 750) and an Intel NUC 5I3MYHE (i3 5010U) that runs without USB injectors and works fine, and another hack with GA-Z87-D3H with an i5 4440 with the injector that soffers with the same early boot random KP... this let me think that it is related to ports injection.

Thanks in advance
 
Hello, here my situations:
- I own a GA-Z97X-UD3H-BK with an Xeon E3 1241v3;
- for USB ports I renamed controllers to EH01/EH02/XHC and use the injector with only those ports I plan to use;
- I don't use the ports limiter patch.

Sometime at early boot I get a KP related to Apple USB kexts; after some reboot it boots up and works just fine.
I tried to play with various combinations of Clover USB flags, but the random boot KP still occurs.

Initially a set all USBConnector to value 3 except two internal ports set to 255 where I connected internal BT board and an internal card reader.
Yesterday a changed all HSx ports to value 0 and all SSx ports to 3, to see if this solves the KP at boot.

Have you an idea of what can be the cause of that?

I've also an HP Elite 7000 (i5 750) and an Intel NUC 5I3MYHE (i3 5010U) that runs without USB injectors and works fine, and another hack with GA-Z87-D3H with an i5 4440 with the injector that soffers with the same early boot random KP... this let me think that it is related to ports injection.

Thanks in advance

No "Problem Reporting" files attached.
Read FAQ, "Problem Reporting" again. Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
 
Here's my "Problem Reporting" files

Problems:
- config.plist/ACPI/DSDT/Fixes/FixRegions_10000000 is a mistake (it does not work reliably)
- config.plist/RtVariables/CsrActiveConfig=0x3 is wrong. Should be 0x67.
- config.plist/SystemParameters/InjectKexts=YES is wrong. Should be "Detect"
- kexts are not installed correctly. All kexts you need must be installed to the system volume
- files in ACPI/origin are too old to compare against ACPI/patched, so I didn't (you forgot to press F4). Seems likely your ACPI/patched/DSDT.aml is out-of-sync with native
- ioreg is corrupt (you used the wrong version of IORegistryExplorer)
- your UsbConnector values are wrong (HSxx associated with a USB3 port should be marked UsbConnector=3, and internal devices UsbConnector=255 [not sure if you have any internal devices as you failed to provide a proper ioreg).
- seems likely CPU power management is not implemented
- 8086:8cb1 is natively supported, injection of IOKitPersonality (like you have in USB_Series9_Injector.kext/Contents/Info.plist) for it not needed
 
Thanks for the answer :)

- config.plist/ACPI/DSDT/Fixes/FixRegions_10000000 is a mistake (it does not work reliably)
I never understand if it is usefull or not, so I'll remove it.
- config.plist/RtVariables/CsrActiveConfig=0x3 is wrong. Should be 0x67.
I use 0x3 for partially disable SIP, and works for my needs.
- config.plist/SystemParameters/InjectKexts=YES is wrong. Should be "Detect"
- kexts are not installed correctly. All kexts you need must be installed to the system volume
I set it to YES cause I like to to keep system volume vanilla, so my kexts are on EFI/Clover.
- files in ACPI/origin are too old to compare against ACPI/patched, so I didn't (you forgot to press F4). Seems likely your ACPI/patched/DSDT.aml is out-of-sync with native
Strange, the patched DSDT is made by me from the original dump you see in origin... I'll check it out if I miss something :)
- ioreg is corrupt (you used the wrong version of IORegistryExplorer)
Yep! :oops: I done it with the latest IORegistryExplorer from my Xcode account. I'll use the one pointed by you later.
- your UsbConnector values are wrong (HSxx associated with a USB3 port should be marked UsbConnector=3, and internal devices UsbConnector=255 [not sure if you have any internal devices as you failed to provide a proper ioreg).
All the HSxx ports are USB2 only connectors; I removed those in USB3 connectors to keep count less than 15 and use USB3 connectors only for USB3 devices. HS07 and HS08 are internal header where I connected an internal card reader and an internal BlueTooth card. I set them back to 255.
- seems likely CPU power management is not implemented
One thing to solve... time to restart reading around :problem:
- 8086:8cb1 is natively supported, injection of IOKitPersonality (like you have in USB_Series9_Injector.kext/Contents/Info.plist) for it not needed
Should I remove the AppleUSBXHCILPTH key or the complete kext? If I remove the kext, how can I filter ports to use to stay below 15 ports?
 
I use 0x3 for partially disable SIP, and works for my needs.
I set it to YES cause I like to to keep system volume vanilla, so my kexts are on EFI/Clover.
Strange, the patched DSDT is made by me from the original dump you see in origin... I'll check it out if I miss something :)
Yep! :oops: I done it with the latest IORegistryExplorer from my Xcode account. I'll use the one pointed by you later.

If you cannot do what is right, I cannot help.

All the HSxx ports are USB2 only connectors;

Impossible.
Each SSxx has a corresponding HSxx.

Should I remove the AppleUSBXHCILPTH key or the complete kext? If I remove the kext, how can I filter ports to use to stay below 15 ports?

Remove the kext. Use USBInjectAll.kext with custom SSDT:
https://www.tonymacx86.com/threads/guide-creating-a-custom-ssdt-for-usbinjectall-kext.211311/
 
Impossible.
Each SSxx has a corresponding HSxx.
Obviously, but I skip them in the injector to stay below 15 ports count. Those you see are the standalone USB2 ports.
Those toghether with USB3 connectors are: HS01(SSP1), HS02(SSP2), HS03(SSP3), HS04(SSP4), HS09(SSP5) and HS10(SSP6)... missing in the injector.

I'll try that, thank you
 
Obviously, but I skip them in the injector to stay below 15 ports count.

Bad idea.
Sacrifice entire USB3 sets (eg. sacrifice HSxx/SSxx pairs, not part of a port).
 
Status
Not open for further replies.
Back
Top