Ich möchte USBInjectAll.kext mit Clover patchen

  • Ahoi!


    momentan steht folgendes Gerät bei mir zuhause:


    Gigabyte z270x-UD3
    i7-7700k
    16 GB RAM (3000mhz)
    RX 560 (Sapphire)
    Crucial MX300 1TB
    ABWB 802.11ac + BT (BCM943602CS)


    läuft mit macOS 10.13 und APFS ganz gut. Schlafen wollte das Ding aber nicht so richtig, wegen dem Bluetooth Controller der am internen USB Port hängt.. die Lösung war einfach: mit IOReg den Port finden an dem Bluetooth hängt, USBInjectAll öffnen und den gewünschten Port als internen Port patchen (ne 3 gegen 255 austauschen.. wow.. much skill, so hacker)


    eigentlich könnte ich damit zufrieden sein, der Hacki soll als Videoschnitt Maschine arbeiten und wird so gut wie garnicht geupdatet (sagt Sie). Da ich aber erfahrungsgemäß hinundwieder doch mal via Teamviewer einige Kexte aktualisiere oder Clover update, möchte ich mir es einfacher machen und nicht jedes mal den Patch neu machen (gut, ich gebs zu, mein Ego will dass ich die KextToPatch Variante versuche..)


    Tja, leichter gesagt als getan, es klappt nicht..
    Im Grunde genommen handelt es sich um folgende Zeilen, so soll das ganze aussehen..


    Code
    1. <key>HS13</key>
    2. <dict>
    3. <key>UsbConnector</key>
    4. <integer>255</integer>
    5. <key>port</key>
    6. <data>
    7. DQAAAA==
    8. </data>


    Und so sah es vor dem Patch aus:


    Code
    1. <key>HS13</key>
    2. <dict>
    3. <key>UsbConnector</key>
    4. <integer>3</integer>
    5. <key>port</key>
    6. <data>
    7. DQAAAA==
    8. </data>


    Wie gesagt, ne langweilige 3 gegen aufregende 255 getauscht..
    Ich dachte mir, eigentlich reicht es ja wenn ich Clover sage ich möchte

    Code
    1. <key>HS13</key>
    2. <dict>
    3. <key>UsbConnector</key>
    4. <integer>3</integer>


    suchen und gegen


    Code
    1. <key>HS13</key>
    2. <dict>
    3. <key>UsbConnector</key>
    4. <integer>255</integer>


    ersetzen.. Name wäre ja USBInjectAll und dann setz ich noch nen hacken bei InfoPlistPatch..
    mit den im CloverConfigurator integrierten HEX Converter hab ich also Text zu HEX konvertiert, das alles in die config geschmissen, USBInjectAll wieder auf Original zurückgesetzt, sicherheitshalber 2 mal rebootet und:


    Nix.. es klappt nicht.
    liegt es vielleicht daran dass USBInjectAll in der EFI liegt und nicht in S/L/E ?
    könnte ich jetzt testen, bin aber unterwegs und einige hier sind ja sogar "offline" weit schlauer als ich ^^


    jemand ne Idee?
    grüße
    ich

  • Ich weiß, es geht um das Patchen über Clover - aber die Variante hier ist die saubere :-)


    Schau Dir mal den Thread an:
    Anleitung: USB 3.0 unter El Capitan / Sierra für jedermann (Zukunftssicher für Updates und komplett gepatcht)


    Und insbesondere den Post:
    Anleitung: USB 3.0 unter El Capitan / Sierra für jedermann (Zukunftssicher für Updates und komplett gepatcht)
    :)


    Die TLDR-Variante:
    Erstelle eine SSDT-USB.aml mit Deinen Ports - darin kannst Du dann alle Ports als intern/extern etc. definieren.
    Du musst dann nur alle USB-Patches aus Clover entfernen. USBInjectAll bleibt dann nur im Kext-Ordner und kann problemlos aktualisiert werden.



    Ach ja, noch eine kleine Ergänzung wenn man es sich ganz einfach machen möchte.
    Es gibt im Download-Bereich ein Skript das man einfach nur Ausführen muss und das dann einzeln abfragt, welcher Port aktiviert werden soll, ob es ein USB2, USB3 Port etc ist - und daraufhin eine passende SSDT erstellt die sogar komplett ohne USBInjectAll auskommt.
    Schau mal hier:
    Python script for generating an SSDT to inject USB ports

    _______________________________________________________________________________

    Einmal editiert, zuletzt von elmacci ()

  • wie geil ist das denn?
    tausend dank dafür!