Contribute
Register

[Guide] Creating a Custom SSDT for USBInjectAll.kext

Hi @RehabMan, I'm starting on working on creating my custom ssdt for usbinjectall, currently have the following information written down:

Code:
Motherboard Gigabyte X99-SLI

Chipset:
    1.    4 x USB 3.0/2.0 ports (available through the internal USB headers)
    2.    8 x USB 2.0/1.1 ports (4 ports on the back panel, 4 ports available through the internal USB headers)
Chipset + Renesas® uPD720210 USB 3.0 Hub:
    1.    4 x USB 3.0/2.0 ports on the back panel



HS01     Front     Left                 USB 3 (USB2 Stick)
HS02     Front     Right                 USB 3 (USB2 Stick)

SSP1     Front     Left                 USB 3.0 (USB3 drive)
SSP2     Front     Right                 USB 3.0 (USB3 drive)

HS13     Front     Left                 USB 2 (USB2 Stick)
HS14     Front     Right                 USB 2 (USB2 Stick)

SSP3     Back     Top 2         Left     USB 3.0                                                                                     15120000
SSP3     Back     Top 2         Right     USB 3.0                                                                                 15110000
SSP3     Back     Middle         Right     USB 3.0                                                                                     15130000

HS03     Back     Top 2         Left     USB 3.0 (USB2 Stick)         1432000
HS03     Back     Top 2         Right     USB 3.0 (USB2 Stick)         1431000
HS03     Back     Middle         Right     USB 3.0 (USB2 Stick)         1433000

HS07  Back    Bottom        Left    USB 2    (USB2 Stick)                            14700000
HS08  Back    Bottom        Right    USB 2    (USB2 Stick)                            14800000

HS11     Back     Top 1         Left     Mouse
HS12     Back     Top 1        Right     Keyboard

BR1B@1,1 - IOPP - H000@0
pci-bridge@2 - pci8086, 15b6@0                                                                                                     00400000
        Back    Middle        Left    USB 3.1 (USB3 Drive)

BR1B@1,1 - IOPP - H000@0
pci-bridge@2 - pci8086, 15b6@0                                                                                                     00200000
        Back    Middle        Left    USB 3.1 (USB2 Stick)

I haven't got any thunderbolt devices to test on Thunderbolt USB3.1 also i have no USB 3.1 devices to test USB slot (Back Middle Left USB 3.1)

So i'm not really sure if i should make SSDT as of yet until i test these devices, or maybe i'll make it and remake it if/when i ever get these devices in the future.

I've attached help files for you to make more sense
 

Attachments

  • BenMcC guide-creating-a-custom-ssdt-for-usbinjectall-kext.zip
    2.4 MB · Views: 93
Last edited:
IMG_0530.JPG
 
Image needs to be flipped Clockwise to the left:

Top 2 USB ports are Top 1
Top USB3.0 are Top 2
Middle USB 3 ports are middle
Bottom USB ports 2 usb 2.0
 
I think i got it going ok @RehabMan:

Screen Shot 2017-03-12 at 3.05.57 pm.png


except not sure regarding the values:

BR1B@1,1 - IOPP - H000@0 <03 6f 00 00> ioname pci-bridge
pci-bridge@2 - pci8086, 15b6@0 00400000
Back Middle Left USB 3.1 (USB3 Drive)

BR1B@1,1 - IOPP - H000@0
pci-bridge@2 - pci8086, 15b6@0 00200000
Back Middle Left USB 3.1 (USB2 Stick)

Any ideas? Sorry for making this page a little messy
 

Attachments

  • SSDT-UIAC.zip
    930 bytes · Views: 90
Hello All,
When I inject USBInjectall and the FakePCIID components all goes well except most of my usb2 appears under an internal hub nested in PR11 under EH01 like the screenshot below. If I make a SSDT.aml that only accounts for PR11, I don't have any USB function and cannot login so below is with -uia_ignore_rmcf


Screenshot%202017-03-12%2015.20.53.png



$ kextstat|grep -y acpiplat
13 2 0xffffff7f8353f000 0x60000 0x60000 com.apple.driver.AppleACPIPlatform (5.0) 867C81BE-EA01-3A65-89F4-06D78E6514CA <12 11 7 6 5 4 3 1>
$ kextstat|grep -y appleintelcpu
$ kextstat|grep -y applelpc
95 0 0xffffff7f830b5000 0x3000 0x3000 com.apple.driver.AppleLPC (3.1) F51595F0-F9B1-3B85-A1C3-F984DAD4107E <87 12 5 4 3>
$ kextstat|grep -y applehda
94 1 0xffffff7f83229000 0x1d000 0x1d000 com.apple.driver.AppleHDAController (278.56) CFB0D0AE-F09A-3660-8F95-7A02FD5FBF07 <93 92 81 12 7 6 5 4 3 1>
131 0 0xffffff7f833ab000 0xb4000 0xb4000 com.apple.driver.AppleHDA (278.56) A4EB06C9-A40A-39EF-9C4A-D7F23DB9A2F9 <130 108 94 93 92 81 6 5 4 3 1>
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_XHCIMux.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID.kext
kext-dev-mode allowing invalid signature -67013 0xFFFFFFFFFFFEFA3B for kext AppleMobileDevice.kext
kext-dev-mode allowing invalid signature -67054 0xFFFFFFFFFFFEFA12 for kext AppleHDA.kext
KernelCache ID: C30F25F09F2810D8300CE355B8346C5A
symlink("/System/Library/PrelinkedKernels/prelinkedkernel", "/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache") failed 17 (File exists) <createPrelinkedKernel 2795>


ports identified, last digit usb version, the second to last row and column of usb port in back

EH02>HP25 internal bluetooth
EH02>HP23 back r1c2 3 / 2
EH02>HP24 back r1c1 2 / 3

EH01>HP16 back r2c2 2
EH01>HP15 back r2c1 2
EH01>HP13 back r3c1 2
EH01>HP14 back r3c2 2

EH01>HP11 front left 2
EH01>HP12 front right 2

XHC>SSP1 front left 3
XHC>SSP2 front right 3
XHC>SSP5 back r2c1 3
XHC>SSP6 back r2c2 3
XHC>SSP4 back r3c2 3
XHC>SSP3 back r3c1 3
 

Attachments

  • SSDT-UIAC-ALL.dsl
    3.1 KB · Views: 147
  • ddsimac.zip
    818.6 KB · Views: 88
Last edited:
Hi @RehabMan, I'm starting on working on creating my custom ssdt for usbinjectall, currently have the following information written down:

Code:
Motherboard Gigabyte X99-SLI

Chipset:
    1.    4 x USB 3.0/2.0 ports (available through the internal USB headers)
    2.    8 x USB 2.0/1.1 ports (4 ports on the back panel, 4 ports available through the internal USB headers)
Chipset + Renesas® uPD720210 USB 3.0 Hub:
    1.    4 x USB 3.0/2.0 ports on the back panel



HS01     Front     Left                 USB 3 (USB2 Stick)
HS02     Front     Right                 USB 3 (USB2 Stick)

SSP1     Front     Left                 USB 3.0 (USB3 drive)
SSP2     Front     Right                 USB 3.0 (USB3 drive)

HS13     Front     Left                 USB 2 (USB2 Stick)
HS14     Front     Right                 USB 2 (USB2 Stick)

SSP3     Back     Top 2         Left     USB 3.0                                                                                     15120000
SSP3     Back     Top 2         Right     USB 3.0                                                                                 15110000
SSP3     Back     Middle         Right     USB 3.0                                                                                     15130000

HS03     Back     Top 2         Left     USB 3.0 (USB2 Stick)         1432000
HS03     Back     Top 2         Right     USB 3.0 (USB2 Stick)         1431000
HS03     Back     Middle         Right     USB 3.0 (USB2 Stick)         1433000

HS07  Back    Bottom        Left    USB 2    (USB2 Stick)                            14700000
HS08  Back    Bottom        Right    USB 2    (USB2 Stick)                            14800000

HS11     Back     Top 1         Left     Mouse
HS12     Back     Top 1        Right     Keyboard

BR1B@1,1 - IOPP - H000@0
pci-bridge@2 - pci8086, 15b6@0                                                                                                     00400000
        Back    Middle        Left    USB 3.1 (USB3 Drive)

BR1B@1,1 - IOPP - H000@0
pci-bridge@2 - pci8086, 15b6@0                                                                                                     00200000
        Back    Middle        Left    USB 3.1 (USB2 Stick)

I haven't got any thunderbolt devices to test on Thunderbolt USB3.1 also i have no USB 3.1 devices to test USB slot (Back Middle Left USB 3.1)

So i'm not really sure if i should make SSDT as of yet until i test these devices, or maybe i'll make it and remake it if/when i ever get these devices in the future.

I've attached help files for you to make more sense

Read post #1 regarding Renasas. No experience with TB.
 
Hello All,
When I inject USBInjectall and the FakePCIID components all goes well except most of my usb2 appears under an internal hub nested in PR11 under EH01 like the screenshot below. If I make a SSDT.aml that only accounts for PR11, I don't have any USB function and cannot login so below is with -uia_ignore_rmcf


Screenshot%202017-03-12%2015.20.53.png



$ kextstat|grep -y acpiplat
13 2 0xffffff7f8353f000 0x60000 0x60000 com.apple.driver.AppleACPIPlatform (5.0) 867C81BE-EA01-3A65-89F4-06D78E6514CA <12 11 7 6 5 4 3 1>
$ kextstat|grep -y appleintelcpu
$ kextstat|grep -y applelpc
95 0 0xffffff7f830b5000 0x3000 0x3000 com.apple.driver.AppleLPC (3.1) F51595F0-F9B1-3B85-A1C3-F984DAD4107E <87 12 5 4 3>
$ kextstat|grep -y applehda
94 1 0xffffff7f83229000 0x1d000 0x1d000 com.apple.driver.AppleHDAController (278.56) CFB0D0AE-F09A-3660-8F95-7A02FD5FBF07 <93 92 81 12 7 6 5 4 3 1>
131 0 0xffffff7f833ab000 0xb4000 0xb4000 com.apple.driver.AppleHDA (278.56) A4EB06C9-A40A-39EF-9C4A-D7F23DB9A2F9 <130 108 94 93 92 81 6 5 4 3 1>
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_XHCIMux.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID.kext
kext-dev-mode allowing invalid signature -67013 0xFFFFFFFFFFFEFA3B for kext AppleMobileDevice.kext
kext-dev-mode allowing invalid signature -67054 0xFFFFFFFFFFFEFA12 for kext AppleHDA.kext
KernelCache ID: C30F25F09F2810D8300CE355B8346C5A
symlink("/System/Library/PrelinkedKernels/prelinkedkernel", "/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache") failed 17 (File exists) <createPrelinkedKernel 2795>


ports identified, last digit usb version, the second to last row and column of usb port in back

EH02>HP25 internal bluetooth
EH02>HP23 back r1c2 3 / 2
EH02>HP24 back r1c1 2 / 3

EH01>HP16 back r2c2 2
EH01>HP15 back r2c1 2
EH01>HP13 back r3c1 2
EH01>HP14 back r3c2 2

EH01>HP11 front left 2
EH01>HP12 front right 2

XHC>SSP1 front left 3
XHC>SSP2 front right 3
XHC>SSP5 back r2c1 3
XHC>SSP6 back r2c2 3
XHC>SSP4 back r3c2 3
XHC>SSP3 back r3c1 3

You need to provide "Problem Reporting" files as requested in post #1.
Use remote desktop to collect the files if necessary.
 
I fixed it by removing the FakePCIID components and remapping with USBInjectAll only, it works now. If anybody needs the dsl for Gigabyte Z97M-d3h, it is attached. I have a bluetooth card attached to an internal header, you can if you don't have anything attached.
 

Attachments

  • SSDT-UIAC.dsl
    3.8 KB · Views: 172
I fixed it by removing the FakePCIID components and remapping with USBInjectAll only, it works now. If anybody needs the dsl for Gigabyte Z97M-d3h, it is attached. I have a bluetooth card attached to an internal header, you can if you don't have anything attached.

Definitely preferable to stick everything on XHC... and easier to configure, especially if you can stay within the 15-port limit.
But either way works.

Note: The mistake you made with your previous SSDT was you made PR11 UsbConnector=0, where it should have been UsbConnector=255 (it is connected to an internal hub). And you eliminated PR21 even though it is your EHCI#2 hub. As if you confused HPxx ports with PRxx ports...
 
Last edited:
Hi @RehabMan,
Attached is the files you ask for problem reporting.

* ISSUE:

All the USB 3.0 'SS' ports are operating at slow speed
With USB 3.0 HDD enclosure, its 70mb / sec in linux and windows
...Here on MacOS its 14 MB/sec

BTW I only have this one USB 3.0 device to test with. So unfortunately cannot cross-check with other USB devices. But from reading PierAlpha’s blog post comments theres other guys reporting the same issue. It happens on recent version(s) of Sierra, since September 2016.

Here:
======
[EDIT] Noticed that if you have browser text zoomed, then these links do not go to the correct places in the comments. So make sure your 'browser zoom' is set to 100%. You might also have to reload the page again too (CMD+L, Enter).

3rd guy to post

https://pikeralpha.wordpress.com/2016/07/13/simple-skylake-usb-fix-no-kexts-required/#comment-7057

2nd guy to post

https://pikeralpha.wordpress.com/2016/07/13/simple-skylake-usb-fix-no-kexts-required/#comment-7009

https://pikeralpha.wordpress.com/2016/07/13/simple-skylake-usb-fix-no-kexts-required/#comment-6999

1st guy to post

https://pikeralpha.wordpress.com/2016/07/13/simple-skylake-usb-fix-no-kexts-required/#comment-6650


It seems they didn’t find any solution yet. So what do you think about it @RehabMan?
 

Attachments

  • rehabman_PR_usb3_ports_SS_are_all_usb_2_speeds.zip
    4.5 MB · Views: 90
Last edited:
Back
Top