USB Port Yamalama

macOS 10.14.1 ve sonrası USB port limit yaması çalışmamakta.Bu nedenle tüm bağlantı noktalarının aynı anda yapılandırılması için bir yol yoktur. RehabMan, USB portlarını hariç tutmak için önyükleme komutlarını içerecek şekilde USBInjectAll.kext dosyasını güncelledi. Bu bağlamda buradaki rehberi uygulamadan önce bu kextin sisteminizde yüklü olması gerekmektedir.

1. USBInjectAll.kext (portların tespit edilmesi için ) EFI/CLOVER/kexts/Other içine koyun.
2. USBInjectAll.kext Gerekenler:
3. Clover->DSDT Yeniden Adlandırma (Algılanırsa)
   - XHCI -> XHC
   - XHC1 -> XHC
   - EHC1 -> EH01
   - EHC2 -> EH02
4. Sistemi yeniden Başlatın
5. Hackintool'u çalıştırın sonra USBInjectAll'ın doğru kurulduğunu kontrol etmek için Genel> Yüklendi'ye gidin.
   - ÖrnekUSBInjectAll: Yes (Release-0.7.1)
6. Genel->USB sekmesine gidin ve burada sizin USB Kontrol Listesini kontrol edin. USB Denetleyicinize bağlı olarak ayrıca kextler kurmanız gerekebilir:
   - 8086:8CB1 ve macOS < 10.11.1 -> XHCI-9-series.kext
   - 8086:8D31, 8086:A2AF, 8086:A36D, 8086:9DED -> XHCI-desteklenmeyen.kext
   - 8086:1E31, 8086:8C31, 8086:8CB1, 8086:8D31, 8086:9C31, 8086:9CB1 -> FakePCIID.kext + FakePCIID_XHCIMux.kext
7. Bu kextlerden birini yüklemeniz gerekirse bundan sonra sistemi yeniden başlatın ve sonra Hackintool’u tekrar çalıştırın.
8. Tekrar Genel->USB sekmesine gidin
9. USB Bağlantı Noktaları listesindeki tüm öğeleri seçin ve “Sil” ve ardından “Yenile” düğmesini seçin
10. Boot argümanlarına -uia_exclude_ss uia_include=HS01,HS02 komutlarını ekleyip sistemi yeniden başlatın.
    - Fare ve klavyenin bağlı olduğu portların aktif olması için boot argümanlarına bu aygıtların bağlı olduğu portların aktif olması için -uia_include=x boot komutu (örnek: uia_include=HS01,HS02) girilmesi gerekebilir.
11. Hackintool çalıştırın ve Genel->USB seçeneğine gidin.
12. USB 2.0 aygıtını sisteminizdeki tüm bağlantı noktalarına takın ve çıkarın
    - Etkin olan portlar yeşil renkte vurgulanmış olarak kalır
    - Yeşil renkle vurgulanmamış tüm bağlantı noktalarını silin
13. Boot argümanlarında -uia_exclude_hs komutunu bırakın ve -uia_exclude_ss komutunu silin.
14. Hackintool çalıştırın ve Genel->USB seçeneğine gidin.
    - USB 3.0 aygıtını sisteminizdeki tüm bağlantı noktalarına takın ve çıkarın
    - Bir TypeC cihazını tüm bağlantı noktalarına takın ve çıkarın (her iki yönde de)
    - Etkin olan portlar yeşil renkte vurgulanmış olarak kalır
    - Yeşil renkle vurgulanmamış tüm bağlantı noktalarını silin
15. Seçenekleri kullanarak her bağlantı noktasını uygun bağlayıcıya ayarlayın
    - Bluetooth kart gibi kalıcı aygıtların portlarını "Internal" olarak ayarlayın.
    - USB3 bağlantı noktalarına bağlı HSxx bağlantı noktaları USB3 olarak ayarlanmalıdır.
    - Dahili Hub'lar tipik olarak PR11 ve PR21 bağlantı noktalarına bağlanır ve bu nedenle "Internal" olarak ayarlanmalıdır.
    - TypeC:
      - Her iki yönde de aynı HSxx / SSxx kullanıyorsa, dahili (internal) bir dönüştürme vardır. Bu durumda "TypeC + Sw kullanın.
      - Her iki yönde de farklı HSxx / SSxx kullanıyorsa bir dönüştürme yoktur. Bu durumda ise "TypeC" olarak sınıflandırın.
16. Bütün düzenlemeleri yaptıktan sonra masaüstünüze dosya oluşturmak için “Dışa Aktar” düğmesini kullanın
    - SSDT-EC.aml dosyasını (eğer oluşturulduysa) EFI/CLOVER/ACPI/patched içine koyun
    - Aşağıdaki ikisinden birini seçin:
      1. USBPorts.kext dosyasını EFI/CLOVER/kexts/Other içine koyun ya da;
      2. SSDT-UIAC.aml ve SSDT-USBX.aml (eğer oluşturulduysa) EFI/CLOVER/ACPI/patched içine koyun
17. Bu işlemden sonra gerekmeyecek komut yada dosyaları kaldırabilirsiniz::
    - Boot komutlarını silin: (-uia_exclude_ss -uia_exclude_hs uia_include=x)
    - USBInjectAll.kext silin (USBPorts.kext kullanılıyorsa)
18. Bundan sonra sistemi yeniden başlatın.
19. Hackintool çalıştırın ve Genel->USB Sekmesine gidin.
20. USB Bağlantı Noktaları listesindeki tüm öğeleri seçin ve “Sil” sonra “Yenile” düğmesine basın
    - Artık tüm bağlantı noktalarının doğru çalıştığını kontrol edebilirsiniz.
    - Bir Bağlayıcı türünü değiştirmeniz gerekirse, USBPorts.kext dosyanızı geçerli olanın üzerine dışa aktarmanız gerekir.
    - Bir hata yaptıysanız, USBPorts.kext dosyasını silin ve rehberi başından itibaren yeniden uygulayın.

Soru: USBPorts.kext nedir?
Cevap: USB portlarını enjekte etmek için kullanılan kodsuz bir çekirdek uzantısıdır.

Soru: SSDT-UIAC.aml'e ihtiyacım var mı?
Cevap: Hayır, bu yöntem kodsuz bir kext kullanır