Hackintool
Hackintool copied to clipboard
USB port
Hi @headkaze I have a question. The thunderbolt type c should be set to “Internal” or "TypeC+Sw". I don't know how to set it correctly. Thank you for helping
I have a similar question, what is the difference between 'TypeC+Sw' and 'TypeC'?
Hi guys, you need to check your IORegistry for the value assigned by the system. On my system, due to the fact that I have both XHC as the USB3 controller and XHC as the USBC controller, the system (Mojave latest) set the value of UsbConnector to 9. Find out your value with IORegistryExplorer tool and set it accordingly.
Normally, the value is 9 by default for such controllers, such as on my embedded USB-C on my Intel NUC9i7BEH2 but depends on hardware on your motherboard, of course.
When I was building my SSDT-UIAC.aml the values that UsbConnector can accept (per https://github.com/corpnewt/USBMap/ page) are many but mainly 0, 3, 9 and 255 (for internal OS device)
0: Type-A connector
1: Mini-AB connector
2: ExpressCard
3: USB 3 Standard-A connector
4: USB 3 Standard-B connector
5: USB 3 Micro-B connector
6: USB 3 Micro-AB connector
7: USB 3 Power-B connector
8: Type-C connector - USB 2 only
9: Type-C connector - USB 2 and SuperSpeed with Switch
10: Type-C connector - USB 2 and SuperSpeed without Switch
11 - 254: Reserved
255: Proprietary connector
Thanks @mackonsti, out of interest do you know if choosing the correct connector for a port in Hackintool makes a difference to the actual port or it it purely cosmetic/reference in Hackintool?
Hi @aptonline I remember discussing this with @headkaze over at InsanelyMac and he was quite clear about this, better always use the true electrical type of the connector. I do not think it's cosmetic, for sure, especially if you have an older motherboard like my Z97 that has EHCI as well as XHCI (you must have read somewhere that from High Sierra or Mojave and later, the XHCI driver takes over, even for USB 2 devices, and bypasses EHCI).
I mean, I found out about it when reading about FakePCIID.kext and saw that FakePCIID_XHCIMux.kext "routes any USB2 devices attached to the USB2 pins on the XHC ports back to EHC1. In other words, handle USB2 devices with the USB2 drivers instead of the USB3 drivers (AppleUSBEHCI vs. AppleUSBXHCI)" so no, not cosmetic in my opinion.
So a hardware USB 3.0 connector should be marked as UsbConnector=3 for example, and in the case of USB-C if we see the choices here (above) you see UsbConnector=9 as being the first and most likely correct option (supporting both normal and super-speed USBs).
I think "Switch" refers to the internal driver system, not a physical switch obviously, so "9" is a good place to start. Hopefully when you fix all this, you can test external devices with success (and expected behaviour) On my Intel NUC8i7BEH2 the connector is used for display purposes with a cable USB-C to MiniDP with excellent results. Alas, no external drive to test via USB-C or other.
I have a similar question, what is the difference between 'TypeC+Sw' and 'TypeC'?
If you plugging in your USB-C cable, rotating it 180 degrees then pluging it back in lights up two separate rows green in Hackintool, then you have TypeC for both of those rows. If the same row lights up green whichever way the cable is plugged in, you have TypeC+Sw.
As for not having ports set correctly, I experienced issues with my USB dongles randomly ejecting when they were set incorrectly so there must be some magic happening.
@jamesfawcett - my hack has a single physical USB-C port that is a USB 3.1 port. When I rotate a USB2 device in the USB-C port, the logical port retains a single "HS10" identity. When I rotate a USB3 device in the USB-C port, the logical port identity alternates between "SS03" and "SS04" depending on the physical connector orientation. Since my USB-C port's USB2 "orientation" behavior is different from my USB-C port's USB3 "orientation" behavior, is it correct to label HS10's Connector as "TypeC+Sw" and to label the SS03 and SS04 Connectors as "TypeC" ?
I currently have my USB-C logical ports (for the single USB-C physical port) defined as follows (as viewed in Hackintool)
Type Name Location ID Port Connector Comment
XHC HS10 0x14600000 0x0A TypeC+Sw Front USB-C (USB2)
XHC SS03 0x14A00000 0x13 TypeC Front USB-C (USB3)
XHC SS04 0x14B00000 0x14 TypeC Front USB-C (USB3)