Jump to content

Recommended Posts

Przeglądam konfiguracje dostępne w UnibootX i widzę, że w prawie każdej znajduje się kext: USBInjectAll.kext. Byłem ciekaw co ten kext właściwie robi, zajrzałem na Github: https://github.com/RehabMan/OS-X-USB-Inject-All

 

Zainteresował mnie ten fragment w readme:

 

Without a custom configuration, it is not intended that this kext be used long term. It is best to create a custom injector containing only the ports that are active on the target machine, or to create an SSDT that customizes the port injection done by USBInjectAll.kext. Customizing USBInjectAll.kext with an SSDT is covered later in this README.

 

Z opisu wynika więc że ten kext nie powinien być używany cały czas. Powinien być użyty jedynie do wykrycia portów, które mają być wstrzyknięte. Następnie należy wygenerować SSDT i pozbyć się kexta albo dostosować konfig (rozumiem, że chodzi o edycję pliku USBInjectAll-Info.plist ?). W innym wypadku kext wstrzykuje wszystkie porty.

 

Ciekawe, że ani tutaj ani na InsanelyMac nikt o tym nie pisze. Znalazłem za to wątek napisany przez RehabMan na tonymacx86 

 

Tam znajdziemy następującą informację:

 

 

Many tend to over-simplify the problem, and, for example, believe they can simply apply the port-limit patch and install USBInjectAll.kext and be done with it. In fact, the port limit patch is known to cause problems (it causes access outside a fixed array bounds). Somewhat alarming is the fact that Multibeast includes the port limit patch without mention of its problems.

 
The fact: Using the port limit patch is not a long term solution. For reliable USB (assuming your ACPI implementation of _PLD and _UPC is broken... and you don't want to fix it), you must implement a custom SSDT for USBInjectAll.kext that configures your ports on XHC such that the port limit patch is not needed, and each UsbConnnector value is correct for each port.
 
Not only does a custom SSDT allow you to avoid the port limit patch, disabling USB ports that are not used, can have some power saving properties, and can avoid bugs with sleep, restart, or shutdown.

 

 

---

Zaznaczam, że moja wiedza jest tutaj znikoma. Powtarzam w zasadzie tylko to co na temat kexta pisze autor. Najbardziej interesujący wydaje się być ostatnio cytowany fragment, w którum autor wpomina, że niepoprawne odpalenie USB może mieć wpływ na zarządzanie zasilaniem - co jest bolączką wielu płyt głównych.

Share this post


Link to post
Share on other sites

W uniwersalnym rozwiązaniu nie ma możliwości zrobienia tabel SSDT pod USB dla każdej możliwej mobo, do tego każdy może chcieć wyłączyć inne porty USB - ten poradnik ma na celu pomóc userowi odpalić macOS na swoim PC, kwestia szlifowania jest już po waszej stronie. Podsumowując Hack to nie Mac, tu nic nie działa samo OOTB, trzeba trochę się pobawić.

Share this post


Link to post
Share on other sites

Nie mniej w większości przypadków wystarczy USBInjectAll i patch do limitu USB. Jakby ktoś szukał tutaj podałem patch do 10.13.6: http://hamac.pl/topic/15263-10136-usb-patch/?do=findComment&comment=136225

 

Właśnie ten wątek skłonił mnie do drążenia tego tematu :)

 

I właśnie o tym patchu wspomina autor USBInjectAll w tekście, który cytowałem w moim poprzednim poście. Mowa o tym fragmencie (wytłuściłem najistotniejsze rzeczy):

 

 

Many tend to over-simplify the problem, and, for example, believe they can simply apply the port-limit patch and install USBInjectAll.kext and be done with it. In fact, the port limit patch is known to cause problems (it causes access outside a fixed array bounds). Somewhat alarming is the fact that Multibeast includes the port limit patch without mention of its problems.

 
The fact: Using the port limit patch is not a long term solution. For reliable USB (assuming your ACPI implementation of _PLD and _UPC is broken... and you don't want to fix it), you must implement a custom SSDT for USBInjectAll.kext that configures your ports on XHC such that the port limit patch is not needed, and each UsbConnnector value is correct for each port.
 
Not only does a custom SSDT allow you to avoid the port limit patch, disabling USB ports that are not used, can have some power saving properties, and can avoid bugs with sleep, restart, or shutdown.

 

Ale to tylko teoria. Rozumiem, że autor USBInjectAll, profilaktycznie przestrzega, że USBInjectAll + patch zwiększający limit nie jest uniwersalnym rozwiązaniem.

 

Przejdśmy jednak do praktyki. Uważasz, że w praktyce, jeśli nie ma żadnych widocznych problemów, to tworzenie własnego SSDT to czysta kosmetyka?

Share this post


Link to post
Share on other sites

Wszystko zależy ile jest portów, jaka jest wersja macOS, USBInjectAll, jaka płyta itp itd.

 

Uniwersalność UniBootX jaki przygotowałem polega na tym, aby zestaw "startowy" pozwolił uruchomić i zainstalować macOS na jak największej ilości komputerów, z uwzględnieniem jednaj najważniejszej rzeczy - ZERO modyfikacji w systemie/instalatorze. Jeśli coś nie działa jak należy to trzeba drążyć dalej samemu i poprawić konfigurację pod swój sprzęt.

Share this post


Link to post
Share on other sites

Pytam z czystej ciekawości, bo widzę, że ten temat w ogóle nie jest poruszany na forum, a wydaje się być dość ciekawy a co najważniejsze może być przyczyną jednej z największych bolączek hackintosha - czyli zarządzania energią. Zainteresowałem się tym ponieważ sam autor twierdzi że nie powinno się używać tego kexta na stałe, a jedynie w celu przygotowania dedykowanego rozwiązania dla posiadanej płyty głównej.

 

U mnie na przykład wszystkie porty USB działają bez customowych łatek. Nie używam ani USBInjectAll ani patcha w Cloverze na limit portów.

 

Abstrajując od tematu. Czy to nie jest tak, że na naszym forum płyty Asusa są tak popularne, bo wyżej wymieniony problem na nich nie występuje? Niewiele wiem na ten temat, ale intuicja mi podpowiada, że problematyczność np. Gigabajtów może być powiązana właśnie z USB. Mam rację?

Share this post


Link to post
Share on other sites

Temat ciekawy. Niestety wynika z niechlujstwa Apple, które zamiast prawidłowo oprogramować tabele ACPI, to postanowili łatać działanie ich za pomocą sztywnych patchy w kextach USB.

 

Na PM raczej poza „wybudzaniem” nie ma to wpływu. Sprawa Gigabyte vs reszta płyt to też temat na inny wątek i był wielokrotnie wałkowany. Problemy z gigabyte występowały od samego początku haMaców, kiedy to limit portów USB jeszcze nie istaniał.

Share this post


Link to post
Share on other sites

Myślę że warto się tym pobawić. RehabMan przygotował poradnik orasz szablon SSDT, za pomocą którego można przygotować własne SSDT.

IMO to bardzo eleganckie rozwiązanie ponieważ po zastosowaniu własnego SSDT nie są konieczne patche w Cloverze, które zależne są od wersji macOS.

 

W wolnym czasie pobawię się tym i zaktualizuję temat.

Share this post


Link to post
Share on other sites

@wujek_bogdan - zgadzam się z Tobą - przede wszystkim trzeba poeksperymentować i zobaczyć jak działa w praktyce. Natomiast nie jestem pewien co do patcha na limit portów, jeśli na płycie masz więcej niż 10 portów (jak pamiętam taki jest limit) to i tak będziesz musiał go stosować. 

Share this post


Link to post
Share on other sites

@wujek_bogdan - zgadzam się z Tobą - przede wszystkim trzeba poeksperymentować i zobaczyć jak działa w praktyce. Natomiast nie jestem pewien co do patcha na limit portów, jeśli na płycie masz więcej niż 10 portów (jak pamiętam taki jest limit) to i tak będziesz musiał go stosować. 

 

Właśnie w tym rzecz, że nie jest potrzebny. Patch jest potrzebny jest tylko do przygotowania SSDT, ale po zaaplikowaniu SSDT patch na limit portów można (a nawet trzeba) usunąć.

 

Cytat z poradnika RehabMana: 

 

 

The fact: Using the port limit patch is not a long term solution. For reliable USB (assuming your ACPI implementation of _PLD and _UPC is broken... and you don't want to fix it), you must implement a custom SSDT for USBInjectAll.kext that configures your ports on XHC such that the port limit patch is not needed, and each UsbConnnector value is correct for each port.

 
Not only does a custom SSDT allow you to avoid the port limit patch, disabling USB ports that are not used, can have some power saving properties, and can avoid bugs with sleep, restart, or shutdown.

(...)

 

Once your SSDT is working, you can remove or disable the port limit patch.

Share this post


Link to post
Share on other sites
disabling USB ports that are not used

 

 

Zakładając, że ilość portów jaką używasz nie przekracza ilości portów zakodowanych na szybko w kextach Apple = 10szt jak pamiętam. Zdecydowana większość płyt ma tych portów więcej niż 10szt, stąd jest potrzebny patch na limit portów.

 

Mamy razem tę samą płytę - ASUS Z87M-Plus,  na niej masz:

6 x port USB 3.0/2.0 (4 z tyłu obudowy, niebieski, 2 na płycie)

8 x port USB 2.0/1.1 (2 z tyłu obudowy, czarny, 6 na płycie)

 

Razem 6 + 8 = 14 - wg mojej wiedzy (aczkolwiek zastrzegam, że mogę się mylić) tabelą SSDT nie załatwisz tematu aby wszystkie 14 portów działało. A to stara płyta na Z87, każdy nowszy chipset tych portów ma coraz więcej.

 

Ale nie ma co biadolić - w ramach edukacji, chętnie z Tobą przetestuję i możemy wspólnie zrobić tabelę SSD do tej płyty i przekonać się w praktyce. Możemy temat pociągnąć tu, lub założyć osobny temat tylko do dyskusji nad Z87M-plus i USB.

Share this post


Link to post
Share on other sites

Zakładając, że ilość portów jaką używasz nie przekracza ilości portów zakodowanych na szybko w kextach Apple = 10szt jak pamiętam. Zdecydowana większość płyt ma tych portów więcej niż 10szt, stąd jest potrzebny patch na limit portów. (...) wg mojej wiedzy (aczkolwiek zastrzegam, że mogę się mylić) tabelą SSDT nie załatwisz tematu aby wszystkie 14 portów działało

 

To co napisałem wyżej to tylko moje wnioski na podstawie wpisu RehabMan, nie są poparte żadną wiedzą, więc nie jest wykluczone, że to Ty masz rację. Warto to sprawdzić.

 

 

Ale nie ma co biadolić - w ramach edukacji, chętnie z Tobą przetestuję i możemy wspólnie zrobić tabelę SSD do tej płyty i przekonać się w praktyce. Możemy temat pociągnąć tu, lub założyć osobny temat tylko do dyskusji nad Z87M-plus i USB.

 

Z chęcią to przetestuję, muszę tylko się zaopatrzyć w adapter USB wpinany do płyty, bo inaczej nie przetestuję wszystkich portów, a jedynie 6 portów, które wychodzą z płyty głównej + 2 porty USB 3.0, które mam na front panelu, czyli razem tylko 8 portów.

 

Odświeżę temat gdy będę miał czym testować.

Share this post


Link to post
Share on other sites

Właśnie w tym rzecz, że nie jest potrzebny. Patch jest potrzebny jest tylko do przygotowania SSDT, ale po zaaplikowaniu SSDT patch na limit portów można (a nawet trzeba) usunąć.

 

Cytat z poradnika RehabMana: 

U mnie po przygotowaniu patcha :

/*
 * Intel ACPI Component Architecture
 * AML/ASL+ Disassembler version 20180427 (64-bit version)(RM)
 * Copyright (c) 2000 - 2018 Intel Corporation
 * 
 * Disassembling to non-symbolic legacy ASL operators
 *
 * Disassembly of iASLgENocX.aml, Sun Sep 23 01:44:25 2018
 *
 * Original Table Header:
 *     Signature        "SSDT"
 *     Length           0x00000303 (771)
 *     Revision         0x02
 *     Checksum         0x76
 *     OEM ID           "hack"
 *     OEM Table ID     "UIAC-ALL"
 *     OEM Revision     0x00000000 (0)
 *     Compiler ID      "INTL"
 *     Compiler Version 0x20180427 (538444839)
 */
DefinitionBlock ("", "SSDT", 2, "hack", "UIAC-ALL", 0x00000000)
{
    Device (UIAC)
    {
        Name (_HID, "UIA00000")  // _HID: Hardware ID
        Name (RMCF, Package (0x02)
        {
            "8086_8xxx", 
            Package (0x04)
            {
                "port-count", 
                Buffer (0x04)
                {
                     0x15, 0x00, 0x00, 0x00                         
                }, 

                "ports", 
                Package (0x22)
                {
                    "HS01", 
                    Package (0x04)
                    {
                        "UsbConnector", 
                        0x03, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x01, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "HS03", 
                    Package (0x04)
                    {
                        "UsbConnector", 
                        0x03, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x03, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "HS04", 
                    Package (0x04)
                    {
                        "UsbConnector", 
                        0x03, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x04, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "HS05", 
                    Package (0x04)
                    {
                        "UsbConnector", 
                        Zero, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x05, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "HS06", 
                    Package (0x04)
                    {
                        "UsbConnector", 
                        Zero, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x06, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "HS07", 
                    Package (0x04)
                    {
                        "UsbConnector", 
                        Zero, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x07, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "HS08", 
                    Package (0x04)
                    {
                        "UsbConnector", 
                        Zero, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x08, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "HS09", 
                    Package (0x04)
                    {
                        "UsbConnector", 
                        0x03, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x09, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "HS10", 
                    Package (0x04)
                    {
                        "UsbConnector", 
                        0x03, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x0A, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "HS12", 
                    Package (0x04)
                    {
                        "UsbConnector", 
                        0xFF, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x0C, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "HS13", 
                    Package (0x04)
                    {
                        "UsbConnector", 
                        Zero, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x0D, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "HS14", 
                    Package (0x04)
                    {
                        "UsbConnector", 
                        Zero, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x0E, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "SSP1", 
                    Package (0x04)
                    {
                        "UsbConnector", 
                        0x03, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x10, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "SSP3", 
                    Package (0x04)
                    {
                        "UsbConnector", 
                        0x03, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x12, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "SSP4", 
                    Package (0x04)
                    {
                        "UsbConnector", 
                        0x03, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x13, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "SSP5", 
                    Package (0x04)
                    {
                        "UsbConnector", 
                        0x03, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x14, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "SSP6", 
                    Package (0x04)
                    {
                        "UsbConnector", 
                        0x03, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x15, 0x00, 0x00, 0x00                         
                        }
                    }
                }
            }
        })
    }
}


wyszło 17 portów USB2/USB3. Po wyłączeniu patcha na limit portów w Clover wycięło mi porty SSP5 i SSP6, czyli do 15 portów. Włączyłem patcha i porty znów wróciły. Na razie  wszytko poza wyżej wymienionym przypadkiem działa prawidłowo.

Share this post


Link to post
Share on other sites

Podejście drugie tym razem z zastosowaniem FakePCIID.kext + FakePCIID_XHCIMux.kext bo w ten sposób można ominąć limit 15 portów. Patch wygląda teraz tak:

/*
 * Intel ACPI Component Architecture
 * AML/ASL+ Disassembler version 20180427 (64-bit version)(RM)
 * Copyright (c) 2000 - 2018 Intel Corporation
 * 
 * Disassembling to non-symbolic legacy ASL operators
 *
 * Disassembly of iASLpYEByC.aml, Mon Sep 24 19:32:55 2018
 *
 * Original Table Header:
 *     Signature        "SSDT"
 *     Length           0x000003BD (957)
 *     Revision         0x02
 *     Checksum         0x5D
 *     OEM ID           "hack"
 *     OEM Table ID     "UIAC-ALL"
 *     OEM Revision     0x00000000 (0)
 *     Compiler ID      "INTL"
 *     Compiler Version 0x20180427 (538444839)
 */
DefinitionBlock ("", "SSDT", 2, "hack", "UIAC-ALL", 0x00000000)
{
    Device (UIAC)
    {
        Name (_HID, "UIA00000")  // _HID: Hardware ID
        Name (RMCF, Package (0x0A)
        {
            "HUB1", 
            Package (0x04)
            {
                "port-count", 
                Buffer (0x04)
                {
                     0x08, 0x00, 0x00, 0x00                         
                }, 

                "ports", 
                Package (0x0E)
                {
                    "HP11", 
                    Package (0x04)
                    {
                        "portType", 
                        Zero, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x01, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "HP13", 
                    Package (0x04)
                    {
                        "portType", 
                        Zero, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x03, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "HP14", 
                    Package (0x04)
                    {
                        "portType", 
                        Zero, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x04, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "HP15", 
                    Package (0x04)
                    {
                        "portType", 
                        Zero, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x05, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "HP16", 
                    Package (0x04)
                    {
                        "portType", 
                        Zero, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x06, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "HP17", 
                    Package (0x04)
                    {
                        "portType", 
                        Zero, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x07, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "HP18", 
                    Package (0x04)
                    {
                        "portType", 
                        Zero, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x08, 0x00, 0x00, 0x00                         
                        }
                    }
                }
            }, 

            "HUB2", 
            Package (0x04)
            {
                "port-count", 
                Buffer (0x04)
                {
                     0x06, 0x00, 0x00, 0x00                         
                }, 

                "ports", 
                Package (0x0A)
                {
                    "HP21", 
                    Package (0x04)
                    {
                        "portType", 
                        Zero, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x01, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "HP22", 
                    Package (0x04)
                    {
                        "portType", 
                        Zero, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x02, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "HP23", 
                    Package (0x04)
                    {
                        "portType", 
                        Zero, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x03, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "HP24", 
                    Package (0x04)
                    {
                        "portType", 
                        Zero, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x04, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "HP26", 
                    Package (0x04)
                    {
                        "portType", 
                        Zero, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x06, 0x00, 0x00, 0x00                         
                        }
                    }
                }
            }, 

            "EH01", 
            Package (0x04)
            {
                "port-count", 
                Buffer (0x04)
                {
                     0x08, 0x00, 0x00, 0x00                         
                }, 

                "ports", 
                Package (0x02)
                {
                    "PR11", 
                    Package (0x04)
                    {
                        "UsbConnector", 
                        0xFF, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x01, 0x00, 0x00, 0x00                         
                        }
                    }
                }
            }, 

            "EH02", 
            Package (0x04)
            {
                "port-count", 
                Buffer (0x04)
                {
                     0x06, 0x00, 0x00, 0x00                         
                }, 

                "ports", 
                Package (0x02)
                {
                    "PR21", 
                    Package (0x04)
                    {
                        "UsbConnector", 
                        0xFF, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x01, 0x00, 0x00, 0x00                         
                        }
                    }
                }
            }, 

            "8086_8cb1", 
            Package (0x04)
            {
                "port-count", 
                Buffer (0x04)
                {
                     0x15, 0x00, 0x00, 0x00                         
                }, 

                "ports", 
                Package (0x0A)
                {
                    "SSP1", 
                    Package (0x04)
                    {
                        "UsbConnector", 
                        0x03, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x10, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "SSP3", 
                    Package (0x04)
                    {
                        "UsbConnector", 
                        0x03, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x12, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "SSP4", 
                    Package (0x04)
                    {
                        "UsbConnector", 
                        0x03, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x13, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "SSP5", 
                    Package (0x04)
                    {
                        "UsbConnector", 
                        0x03, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x14, 0x00, 0x00, 0x00                         
                        }
                    }, 

                    "SSP6", 
                    Package (0x04)
                    {
                        "UsbConnector", 
                        0x03, 
                        "port", 
                        Buffer (0x04)
                        {
                             0x15, 0x00, 0x00, 0x00                         
                        }
                    }
                }
            }
        })
    }
}


Po zastosowaniu patcha SSDT, mogłem wywalić z clovera patcha na limit portów. Dodatkowo zaczęły też działać 2 porty USB3 wbudowane w płytę główną oparte o układ ASM1042E.

Share this post


Link to post
Share on other sites

Najfajniejsze i najszybsze rozwiązanie na dzisiaj do USB to przygotowanie kexta zamiast tabeli SSDT. Bardzo prosta sprawa, wystarczy użyć Intel FB-Patcher (https://www.insanelymac.com/forum/topic/335018-intel-fb-patcher-v149/?page=1)

 

Proces jak wygenerować kexta:

1. Zastosować patch do USB w Cloverze (zaszyty w programie w sekcji Patch->Advanced, nacisnąć File->Export->Clover config.plist)

2. Wrzucić USBInjectAll.kext do Clovera

wymogi USBInjectAll.kext:
- kontroler xHCI musi nazywać się 'XHC' (normalnie nazywa się XHC ale może występować jako XHC1)
- kontroler EHCI #1 musi nazywać się EH01 (normalnie nazywa się EHC1)

- kontroler EHCI #2 musi nazywać się EH02 (normalnie nazywa się EHC2)

3. Dodatkowo dla nowszych konfiguracji może być konieczne zastosowanie XHCI-200-series-injector.kext, XHCI-300-series-injector.kext lub XHCI-x99-injector.kext w zależności od chipsetu
4. Ponownie uruchomić komputer i odpalić Intel FB-Patcher
5. Przejść do zakładki ->USB,  podłączyć i odłączyć urządzenie USB 2.0 i USB 3.0 do każdego portu USB w komputerze. Porty aktywne zostaną podświetlone.
6. Prawidłowo ustawić każdy port używając rozwijanej listy
UWAGA: Porty HSxx podłączone do portów USB3 powinny być ustawione na USB3
TypeC:
- Jeśli używa tego samego HSxx / SSxx w obu orientacjach, to ma wewnętrzny przełącznik (użyj "TypeC + Sw")
- Jeśli używa innego HSxx / SSxx w każdej orientacji, to nie ma przełącznika (użyj "TypeC")
7. Usunąć każdy nie używany port przez przycisk Delete
8. Użyć przycisku Export aby wygenerować USBPorts.kext na pulpit. Kexta skopiować do Clovera

9. Można usunąć USBInjectAll.kext oraz wyłączyć/usunąć patch do USB w Cloverze

Edited by 314TeR
Poprawiłem brzmienie PKT3

Share this post


Link to post
Share on other sites

dzięki @oswaldini, nie znałem tego narzędzia.

 

Mam 2 pytania:

  • Rozumiem, że dobrze przygotowany kext niczym w działaniu nie będzie się różnił od SSDT. Kext po prostu nanosi poprawki dla tabel SSDT "w locie".
  • W jaki sposób traktować hub USB. W monitorze mam hub, który podłączam do USB 3.0. Do monitora mam podłaczone kilka urządzeń: kamera, klawiatura, mysz. Mam testować każdy z portów w monitorze, czy tylko porty USB, które wychodzą z płyty?

Share this post


Link to post
Share on other sites

USBPorts.kext załatwia też sprawę USBX i EC ?

 

USBInjectAll pozwala na dużo więcej niż USBPorts.kext. Chociażby to (dotyczy starszych SMBios bez USBX)

 

ability to override 10.12 USB power properties via "AppleBusPowerControllerUSB" ACPI override

Share this post


Link to post
Share on other sites

Nie bardzo rozumiem ten fragment:

 

 

Czy oznacza to, że na załączonym screenie powinienem HS13 oraz HS14 ustawić jako USB3, pomimo, że są to porty USB2?

 

te porty sa jako USB 3.0 czy 2.0? Jeśli są to tylko 2.0 to ustawiasz jako 2.0.. ale jeśli ogarniają również 3.0 wtedy ustawiasz na 3.0.. :)

Share this post


Link to post
Share on other sites

te porty sa jako USB 3.0 czy 2.0? Jeśli są to tylko 2.0 to ustawiasz jako 2.0.. ale jeśli ogarniają również 3.0 wtedy ustawiasz na 3.0.. :)

 

To są porty 2.0 więc, zgodnie z logiką, ustawiłem je jako 2.0 (co widać na screenie). Ale nadal nie rozumiem cytowanego przeze mnie fragmentu.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.