cwestpha Posted July 31, 2017 Share Posted July 31, 2017 Looks like after the 10.12.6 update something reset in my USB subsystem and now I am no longer able to reliably use almost half of my USB ports. This is across both USB 2.0 and 3.x ports. It looks like the ports re-organized themselves and I am hitting limits again though I am not sure why (granted I have 4 USB hubs attached to my computer in addition to the internal ones). I guess I havent been keeping up on grooming my edits and patches since .3 so it was bound to happen. [i really hope the USB subsystem is better in 10.13] Any assistance would be appreciated. I have attached my ACPI dumps as patched by Clover, the original unpatched dumps, my current config.plist, my patched ssdt.aml, and an IOREG USB dump. Asrock Z170 Ext 6+ 6700K @ 4.4.zip Link to comment Share on other sites More sharing options...
Cyberdevs Posted July 31, 2017 Share Posted July 31, 2017 make sure that you are using the latest version of USBInjectAll.kext which is 0.6.2. and this is the latest patch for 100-Series on @Rehabman's GitHub: Comment: change 15 port limit to 26 in AppleUSBXHCIPCI Name: AppleUSBXHCIPCI Find: <83bd8cfe ffff10> Replace: <83bd8cfe ffff1b> Link to comment Share on other sites More sharing options...
cwestpha Posted July 31, 2017 Author Share Posted July 31, 2017 Confirmed I am using that version of USBInjectAll.kext and that it is loaded... looks like the hex changed... was <key>Find</key> <data> g710////EA== </data> <key>Name</key> <string>AppleUSBXHCIPCI</string> <key>Replace</key> <data> g710////Gw== </data> now... <key>Find</key> <data> g72M/v//EA== </data> <key>Name</key> <string>AppleUSBXHCIPCI</string> <key>Replace</key> <data> g72M/v//Gw== </data> The result is the same though. About half of my USB ports are still not working when something is plugged into them. Link to comment Share on other sites More sharing options...
Cyberdevs Posted July 31, 2017 Share Posted July 31, 2017 Confirmed I am using that version of USBInjectAll.kext and that it is loaded... Do you have a custom SSDT-UIAC.aml for your USB ports? Link to comment Share on other sites More sharing options...
cwestpha Posted July 31, 2017 Author Share Posted July 31, 2017 Do you have a custom SSDT-UIAC.aml for your USB ports? No, I do not. Link to comment Share on other sites More sharing options...
Cyberdevs Posted July 31, 2017 Share Posted July 31, 2017 There is a link in my signature "macOS Sierra Guide" you can find a chapter on how to create a custom SSDT-UIAC.aml you might find it useful. Link to comment Share on other sites More sharing options...
cwestpha Posted July 31, 2017 Author Share Posted July 31, 2017 There is a link in my signature "macOS Sierra Guide" you can find a chapter on how to create a custom SSDT-UIAC.aml you might find it useful. Still missing half of my ports :-( getting closer though. <"pci1849,a12f", "pci8086,a12f", "pciclass,0c0330", "XHC"> It still isn't detecting two onboard USB 2.0 ports and it still only sees half of the ports on USB 3.0 hubs. HS 1, 2, 5, 7, 14 USR 1 appear completely un-used. The internal headers a sensor is on and the Bluetooth USB data lines for Apple Airport card aren't detected. Am I correct it is safe to remove USR 2 & the SS devices for Z170 platform? I assume this is just a matter of phantom devices hitting the port limit? SSDT-UIAC-ALL.dsl.zip Link to comment Share on other sites More sharing options...
Cyberdevs Posted July 31, 2017 Share Posted July 31, 2017 Still missing half of my ports :-( getting closer though. <"pci1849,a12f", "pci8086,a12f", "pciclass,0c0330", "XHC"> It still isn't detecting two onboard USB 2.0 ports and it still only sees half of the ports on USB 3.0 hubs. HS 1, 2, 5, 7, 14 USR 1 appear completely un-used. The internal headers a sensor is on and the Bluetooth USB data lines for Apple Airport card aren't detected. Am I correct it is safe to remove USR 2 & the SS devices for Z170 platform? I assume this is just a matter of phantom devices hitting the port limit? Did you compile the aml file? or did you use the .dsl file? If you plugged a device in each USB port and mapped them correctly then you can remove the unused ports because macOS won't use them anyway. Link to comment Share on other sites More sharing options...
cwestpha Posted July 31, 2017 Author Share Posted July 31, 2017 Did you complete the aml file? or did you use the .dsl file? I used the .aml file I compiled but attached the .dsl because it includes the commented out sections I removed for reference. That way when I am done freeing up the unused ports, if I find one I accidentally disabled I need to re-enable I can easily see what I killed off and can comment it back in with a quick recompile and save. Link to comment Share on other sites More sharing options...
Cyberdevs Posted July 31, 2017 Share Posted July 31, 2017 I used the .aml file I compiled but attached the .dsl because it includes the commented out sections I removed for reference. That way when I am done freeing up the unused ports, if I find one I accidentally disabled I need to re-enable I can easily see what I killed off and can comment it back in with a quick recompile and save. Ok that sound like good plan. But I suggest we do this one step at the time. Remove all the external USB hubs, identify your onboard USB ports and create the SSDT file based on your active ports. If all the ports are working OK then you can move on to step two and add the extra USB ports to the SSDT. Just one more thing! Did you add the MatchOS entry for the USB port limit patch? Link to comment Share on other sites More sharing options...
joalmoju Posted July 31, 2017 Share Posted July 31, 2017 Did you try changing AppleUSBXHCIPCI to AppleUSBXHCISPT Link to comment Share on other sites More sharing options...
Cyberdevs Posted July 31, 2017 Share Posted July 31, 2017 Did you try changing AppleUSBXHCIPCI to AppleUSBXHCISPT Is this change mandatory? because my ports are working with the same old patch and there is no mention of the AppleUSBXHCISPT on rehabman's GitHub. Update: Besides, AFIAK when we use the custom SSDT there is no need for the port limit patch anyway. Link to comment Share on other sites More sharing options...
joalmoju Posted July 31, 2017 Share Posted July 31, 2017 Sorry, I am not expert. This change works on my system. but if you see on system report (USB) you will read host control driver: AppleUSBXHCISPT. 1 Link to comment Share on other sites More sharing options...
Cyberdevs Posted July 31, 2017 Share Posted July 31, 2017 Sorry, I am not expert. This change works on my system. but if you see on system report (USB) you will read host control driver: AppleUSBXHCISPT. It's ok I'm just curious to know, that's why I asked I just replaced the patch and it seems to work as well. Just changed the name and it's working ok. 1 Link to comment Share on other sites More sharing options...
cwestpha Posted July 31, 2017 Author Share Posted July 31, 2017 Ok that sound like good plan. But I suggest we do this one step at the time. Remove all the external USB hubs, identify your onboard USB ports and create the SSDT file based on your active ports. If all the ports are working OK then you can move on to step two and add the extra USB ports to the SSDT. Just one more thing! Did you add the MatchOS entry for the USB port limit patch? That's actually what I did. Hence my question about SS and USR ports being safe to get rid of (to free up more available ports). I assume it is still true we want to set which XHR ports are 2.0 only since USB 3.x still takes up two port count? I wish there was an easy utility that allowed one to just do an entire high-level overview of your USB ports and how they are setup for easy reference. Like you just open the flood gates using the all ports injector and plug a USB 3.0 mass storage device into each port and it automagically tracks what has real devices off of it and (depending on how it is detected) handles USB version. Oh well. And no, I don't think I had a MatchOS entry. Did you try changing AppleUSBXHCIPCI to AppleUSBXHCISPT I have a USB 3.1 bus off of AppleUSBXHCIPCI (ASMedia ASM1142) and my main USB 3.0 (Z170 fed) bus off of AppleUSBXHCISPT. I then have two internal USB 2.0 port headers and a 3.0 header. So far only one of the 2.0 headers (two ports) is working. Everything else seems to work/detect fine. Link to comment Share on other sites More sharing options...
Cyberdevs Posted July 31, 2017 Share Posted July 31, 2017 That's actually what I did. Hence my question about SS and USR ports being safe to get rid of (to free up more available ports). I assume it is still true we want to set which XHR ports are 2.0 only since USB 3.x still takes up two port count? I wish there was an easy utility that allowed one to just do an entire high-level overview of your USB ports and how they are setup for easy reference. Like you just open the flood gates using the all ports injector and plug a USB 3.0 mass storage device into each port and it automagically tracks what has real devices off of it and (depending on how it is detected) handles USB version. Oh well. And no, I don't think I had a MatchOS entry. I have a USB 3.1 bus off of AppleUSBXHCIPCI (ASMedia ASM1142) and my main USB 3.0 (Z170 fed) bus off of AppleUSBXHCISPT. I then have two internal USB 2.0 port headers and a 3.0 header. So far only one of the 2.0 headers (two ports) is working. Everything else seems to work/detect fine. To answer your question I need to see your IOReg. If you can send it to me, I need both IOReg files with and without plugging USB devices in all the USB ports if you can. I need to compare those files to see which ports are used. BUT if the ones you commented out are not showing in the IOReg as busy or used when you plugged a USB device in each and every USB port available then yes it's safe to remove them. How many active USB ports you have including the USB hubs? Link to comment Share on other sites More sharing options...
cwestpha Posted July 31, 2017 Author Share Posted July 31, 2017 To answer your question I need to see your IOReg. If you can send it to me, I need both IOReg files with and without plugging USB devices in all the USB ports if you can. I need to compare those files to see which ports are used. BUT if the ones you commented out are not showing in the IOReg as busy or used when you plugged a USB device in each and every USB port available then yes it's safe to remove them. How many active USB ports you have including the USB hubs? I have 27 ports total including hubs (though some devices have internal hubs like the HTC Vive which technically has a hub of its own). All but 4 are USB 3.x. For just the mainboard... there should be the 2 USB 3.1 provided by the ASM1142, plus 8 USB 3.0 and 4 USB 2.0. Will see what I can do for the comparison... Link to comment Share on other sites More sharing options...
Cyberdevs Posted July 31, 2017 Share Posted July 31, 2017 I have 27 ports total including hubs (though some devices have internal hubs like the HTC Vive which technically has a hub of its own). All but 4 are USB 3.x. For just the mainboard... there should be the 2 USB 3.1 provided by the ASM1142, plus 8 USB 3.0 and 4 USB 2.0. Will see what I can do for the comparison... Oh my! we need to sacrifice on port. The patch is to change the 15 ports limit to 26. If you decided to send me the IOReg files it would be great if you could use IOJones instead of IORegistryExplorer. I will check them later because I have to go now. I hope we can find a way to solve your problem. Link to comment Share on other sites More sharing options...
LockDown Posted August 3, 2017 Share Posted August 3, 2017 Did you try changing AppleUSBXHCIPCI to AppleUSBXHCISPT Where do we change this? Link to comment Share on other sites More sharing options...
LockDown Posted August 3, 2017 Share Posted August 3, 2017 and this is the latest patch for 100-Series on @Rehabman's GitHub: Comment: change 15 port limit to 26 in AppleUSBXHCIPCI Name: AppleUSBXHCIPCI Find: <83bd8cfe ffff10> Replace: <83bd8cfe ffff1b> AFAIK, this is for 10.11.x 100-series for 10.12 is: Find: 83BD74FF FFFF10 Replace: 83BD74FF FFFF1B 1 Link to comment Share on other sites More sharing options...
Cyberdevs Posted August 3, 2017 Share Posted August 3, 2017 Where do we change this? This is the name of the patch for up to 10.12.5 <dict><key>Comment</key> <string>change 15 port limit to 26 in AppleUSBXHCIPCIName: AppleUSBXHCIPCI</string> <key>Disabled</key> <false/> <key>Find</key> <data> g72M/v//EA== </data> <key>Name</key> <string>AppleUSBXHCIPCI</string> <key>Replace</key> <data> g72M/v//Gw== </data> </dict> and for 10.12.6 <dict><key>Comment</key> <string>change 15 port limit to 26 in AppleUSBXHCIPCIName: AppleUSBXHCIPCI</string> <key>Disabled</key> <false/> <key>Find</key> <data> g72M/v//EA== </data> <key>Name</key> <string>AppleUSBXHCISPT</string> <key>Replace</key> <data> g72M/v//Gw== </data> </dict> Link to comment Share on other sites More sharing options...
Recommended Posts