Skocz do zawartości

[Rozwiązany] Asus Z87M-PLUS: niektóre porty USB nie są wykrywane


Rekomendowane odpowiedzi

Przyszedł czas na aktualizację do BigSur, postanowiłem więc przy okazji przesiąść się na OpenCore i w końcu pozbyć się USBInjectAll i po bożemu zastąpić go mapą portów USB.

Zrobiłem więc wszystko co należy zrobić wcześniej, zgodnie z System Preparation z poradnika Dortania.

  • Dodałem patch ACPI podmieniający EHC1 na EH01
  • Zainstalowałem UsbInjectAll
  • Włączyłem w OpenCore XhciPortLimit

USBMap nie pokazuje żadnych błędów.

40137167_Zrzutekranu2021-05-16o12_42_38.png.684933bfa17e351c15e7258f25878256.png

Ale mam problemy z mapowaniem portów:

  • Wszystkie porty USB 3.0 są wykrywane poprawnie 
  • Cześć portów USB 2.0 jest wykrywania poprawnie
  • Część portów USB 2.0 w ogóle nie reaguje. Nie pojawiają się ani w USBMap, ani w Hackintool ani w Finderze.

Z płytą główną wszystko jest OK. Pod Windowsem te porty działają poprawnie, mogę nawet zbootować z nich OpenCore czy Clovera, ale urządzenia "znikają" gdy system już się uruchomi.

Mój konfig OC 0.6.9

config.plist

Edytowane przez wujek_bogdan
Odnośnik do komentarza
Udostępnij na innych stronach

Jakoś do hackingtool nie miałem szczęścia. Natomiast świetnie mi się robiło z USBMap: https://github.com/corpnewt/USBMap

Finalnie i tak musisz zostawić jakąś metodę wstrzyknięcia wszystkich portów. Ja wybrałem UsbInjectAll + wygenerowana tabelka SSDT z mapą portów USB. To czego możesz się pozbyć to patch na zniesienie limitu portów i "pokładać" porty tak aby mieć max 15. W USBMap ładnie się je mapuje, wg mnie o wiele wygodniej niż w innych narzędziach. Rozpoznanie wszystkich portów robiłem czytnikiem kart na USB 3.0 dla portów 3.0, lub odbiornikiem logitecha do klawiatury/myszki dla USB 2.0. Przelecenie po wszystkich portach jak nie musisz ich odmontowywać zajmuje dosłownie parę minut. Przy Z87/Z97 można i nalezy zastosować trik, aby w części zdublowanych portów USB2.0 + USB3.0 wygasić EHCI a zostawić XHCI które jest zgodne wstecznie. To ograniczy znów sporą ilość portów. Mi finalnie na mojej M7I udało się zmapować wszystko oprócz 1 czy 2 portów.

Odnośnik do komentarza
Udostępnij na innych stronach

7 godzin temu, 314TeR napisał:

Jakoś do hackingtool nie miałem szczęścia. Natomiast świetnie mi się robiło z USBMap: https://github.com/corpnewt/USBMap

Wydaje mi się, że źle zrozumiałeś mój wpis. Używam USBMap (screen, który wrzuciłem wyżej pochodzi właśnie z USBMap). Problem jest nie w samym mapowaniu portów - ten proces jest dla mnie jasny, tylko w tym, że w przypadku niektórych portów ani USBMap ani Hackintool nie rozpoznaje, że zostało do niego wetknięte urządzenie USB 2.0. Nie mogę ich więc zmapować. Urządzenie nie pojawia w takim przypadku również w Finderze. 

8 godzin temu, 314TeR napisał:

Ja wybrałem UsbInjectAll + wygenerowana tabelka SSDT z mapą portów USB. To czego możesz się pozbyć to patch na zniesienie limitu portów i "pokładać" porty tak aby mieć max 15 (...)

Na drugim hacku, gdzie z mapowaniem nie było żadnych problemów, po zmapowaniu pozbyłem się USBInjectAll, zastąpiłem go wygenerowanym kextem USBMap.kext i usunąłem patch na limit portów w OpenCore. Takie rozwiązanie wydaje mi się najbardziej eleganckie.

Odnośnik do komentarza
Udostępnij na innych stronach

14 minut temu, 314TeR napisał:

Czy port o którym piszesz działa i reaguje OK pod windows?

Tak - tak jak pisałem w pierwszym wpisie, z płytą jest wszystko OK. Port działa pod Windows, mogę też z tego portu (a w zasadzie portów, bo 4 nie działają), zbootować OpenCore, więc na etapie bootloadera wszystko jest OK. Porty nie działają tylko po załadowaniu systemu.

45 minut temu, 314TeR napisał:

OK, to jedyne co mi przychodzi do głowy to zniesienie limitu portów nie działa.

Możliwe, że coś jest na rzeczy, bo widzę podobne wpisy w sieci, np. ten: https://www.reddit.com/r/hackintosh/comments/mzurrz/after_updating_to_113_usb_20_devices_dont_work_in/

Sprawdzę, dla testu, czy przestawienie XhciPortLimit na false rozwiąże problem. Wiem, że to nie ma sensu, ale być może jest jakiś błąd w OC?

Edytowane przez wujek_bogdan
Odnośnik do komentarza
Udostępnij na innych stronach

3 godziny temu, HIDEE napisał:

Spróbuj dodać EHCI Fix w ACPI

Miałem ten fix ACPI ale już nie mam. On, jeśli się nie mylę, zupełnie ubija urządzenie. Usunąłem go, bo podejrzewałem, że to on jest odpowiedzialny za niedziałające porty, ale myliłem się - z nim, czy bez niego problem jest ten sam.

Odnośnik do komentarza
Udostępnij na innych stronach

Udało się, trochę na około ale się udało.

Zauważyłem taką prawidłowość:

  • Mając XhciPortLimit na false działały wszystkie porty USB 2.0 i tylko niektóre porty USB 3.0
  • Mając XhciPortLimit na true działały wszystkie porty USB 3.0 i tylko niektóre porty USB 2.0

Korzystając z tego, ustawiłem XhciPortLimit na true i zmapowałem porty USB 3.0, następnie zmieniłem XhciPortLimit na false, zrestartowałem system zmapowałem wszystkie porty USB 2.0, po czym wygenerowałem USBMap.kext, usunąłem USBInjectAll.kext oraz zostawiłem XhciPortLimit na false.

Teraz wszystko działa. Mam zmapowane wszystkie 14 portów.

Pod EH01 nie było żadnych urządzeń więc USBMap zaproponował mi wyłączenie tego urządzenia, co z resztą mogłem zrobić już wcześniej za pomocą SSDT-EHCx_OFF.aml - nie robiłem tego w obawie, że to właśnie ten patch powodował, że porty nie są wykrywane - myliłem się.

Odnośnik do komentarza
Udostępnij na innych stronach

  • wujek_bogdan zmienił(a) tytuł na [Rozwiązany] Asus Z87M-PLUS: niektóre porty USB nie są wykrywane

Przed chwilą skończyłem mapować porty na płycie ASUSa na Z97 (jakiś sabartooth) - w każdym razie nie istotne, bo niemal wszystkie Z87 i Z97 od ASUSa zachowują się identycznie. Ja zrobiłem mapowanie pod Mojave (10.14). Metodą prób i błędów doszedłem, że wystarczy w OpenCore:

  • dodać tabelkę ACPI SSDT-EHCx_OFF.aml - wtedy odpadają Ci 2 patche EHC1 na EH01 i EHC2 na EH02 (patch XHC1 jest zbędny).
  • XhciPortLimit ustawić na True

Wtedy załadują się wszystkie porty a jednocześnie ograniczy się ilość zbędnych EHCI, które i tak są routowane przez XHCI. Reszta już w USBMap.

Tak to wygląda przed mapowaniem:

Zrzut ekranu 2021-05-19 o 18.58.27.png

Po detekcji wygląda tak:

Zrzut ekranu 2021-05-19 o 19.03.29.png

Porty nieużywane są czarne - tu akurat jest fart, bo wszystkie porty aktywne dla XHCI z Z97 mieszczą się w limicie i jest ich 14szt.

Następnie bez dylematów robi się USBMap i USBMapLegacy:

Zrzut ekranu 2021-05-19 o 19.05.12.png

A następnie dodaje do OC sekcję tak:

            <dict>
                <key>Comment</key>
                <string></string>
                <key>MaxKernel</key>
                <string></string>
                <key>PlistPath</key>
                <string>Contents/Info.plist</string>
                <key>Enabled</key>
                <true/>
                <key>MinKernel</key>
                <string>19.0.0</string>
                <key>ExecutablePath</key>
                <string></string>
                <key>Arch</key>
                <string>Any</string>
                <key>BundlePath</key>
                <string>USBMap.kext</string>
            </dict>
            <dict>
                <key>Comment</key>
                <string></string>
                <key>MaxKernel</key>
                <string>18.9.9</string>
                <key>PlistPath</key>
                <string>Contents/Info.plist</string>
                <key>Enabled</key>
                <true/>
                <key>MinKernel</key>
                <string></string>
                <key>ExecutablePath</key>
                <string></string>
                <key>Arch</key>
                <string>Any</string>
                <key>BundlePath</key>
                <string>USBMapLegacy.kext</string>
            </dict>

Wyłącza się XhciPortLimit - na False, restart i mamy w zależności od wersji macOS ładowany USBMap lub USBMapLegacy. Na razie tylko przetestowałem USBMapLegacy pod 10.14.

Zrzut ekranu 2021-05-19 o 19.54.40.png

Odnośnik do komentarza
Udostępnij na innych stronach

I ważny podpowiedź - mi mocno ułatwia i przyśpiesza robotę.  Do mapowania portów w trybie USB 2.0 wykorzystuję odbiornik logitech unified a do mapowania portów w trybie USB 3.0 czytnik kart Kingstona na USB 3.0. Oba urządzenia nie wymagają odmontowywania, więc po prostu wyciąga się i wkłada do kolejniego portu dosłownie co 5 sekund, bo tyle jest ustawione odświeżanie w USBMap.

usb-unifying-receiver.pngi-kingston-fcr-hs4-versatile-usb-3-0-card-reader-5gb-s-media-reader.jpeg

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 5 miesięcy temu...

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie
 Udostępnij

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystanie z tej witryny, wymaga zakceptowanie naszych warunków Warunki użytkowania.