Mam laptopa z 2 portami USB 2.0 i 1 portem USB 3.0 i chciałbym wiedzieć, ile dysków twardych USB mogę do niego podłączyć. Czy w jądrze Linuksa jest jakiś twardy limit?
Po stronie wydajności, jaka jest prędkość dzielona między dyskami podłączonymi do portu?
hardware
usb-drive
usb-storage
719016
źródło
źródło
Odpowiedzi:
Teoretycznie możesz mieć do 127 urządzeń podłączonych do jednego komputera, ale istnieją praktyczne ograniczenia mocy i przepustowości danych, które mogłyby temu zapobiec. Te 127 urządzeń można ustawić w wielopoziomową sieć koncentratorów o maksymalnie siedmiu poziomach, licząc hosta PC jako poziom 1, a najdalsze urządzenie jako poziom 7. Komputer dostarcza 5 jednostek mocy do koncentratora. Każda jednostka ma wartość 100 mA, a każdy port wymaga co najmniej 1 jednostki. Sam hub zużywa jeden, pozostawiając 4 jednostki dla maksymalnie 4 portów. Dlatego nigdy nie znajdziesz koncentratora zasilanego z magistrali z więcej niż czterema portami.
Huby zasilane z magistrali mają dalsze ograniczenia. Ponieważ każdy port ma tylko jedną jednostkę mocy, mogą łączyć się tylko z jednym urządzeniem. Nie można ich podłączyć do innego koncentratora w celu rozbudowy, ponieważ koncentrator wymaga dodatkowych 5 jednostek. I nie wszystkie urządzenia mogą działać z jednego urządzenia. Urządzenie o małej mocy, takie jak mysz, będzie działać, ale urządzenie o dużej mocy może pochłonąć do 5 jednostek. Urządzenia USB dużej mocy będą działać tylko po podłączeniu bezpośrednio do hosta PC lub koncentratora z własnym zasilaniem, który może zasilać 5 jednostek do portu.
Po podłączeniu urządzenia komputer wysyła do niego zapytanie o jego możliwości i wymagania. Na przykład komputer wie, że jest podłączony do 4-portowego koncentratora zasilanego z magistrali, co oznacza, że każdy port może obsługiwać tylko jedną jednostkę. Jeśli spróbujesz podłączyć urządzenie dużej mocy do tego koncentratora, system operacyjny wyświetli komunikat o błędzie i odmówi włączenia urządzenia.
Koncentratory zasilane z magistrali są ogólnie złym pomysłem z powodu tych ograniczeń i są przeznaczone głównie do urządzeń mobilnych, a nie stacjonarnych.
Z drugiej strony, jeśli urządzenia podłączone do portu same są zasilane samodzielnie, mogą nie potrzebować więcej niż jednej jednostki z koncentratora. Na przykład zewnętrzne dyski twarde mają własne zasilanie, więc powinny działać dobrze na koncentratorze zasilanym z magistrali.
Koncentrator z własnym zasilaniem będzie w stanie dostarczyć 5 jednostek do każdego portu, umożliwiając urządzenia o dużej mocy i dalsze poziomy koncentratorów. Możesz więc podłączyć jeden 7-portowy koncentrator z własnym zasilaniem, a następnie siedem kolejnych 7-portowych koncentratorów, co daje 49 dostępnych portów na czwartym poziomie.
Niektóre koncentratory z własnym zasilaniem umożliwiają korzystanie z nich również w trybie zasilania magistrali, ale jeśli spróbujesz podłączyć zbyt wiele urządzeń, system operacyjny wyświetli komunikat o błędzie.
Większość układów kontrolera koncentratora ma 4 porty, więc często widzisz koncentratory 4-portowe. Kiedy chcą zbudować większy hub, używają tylko 4 4-portowych układów. Ale muszą połączyć je szeregowo z pierwszym układem podłączonym do hosta, a drugim podłączonym do jednego z poniższych portów pierwszego układu. Pozostawia to tylko siedem portów dla użytkownika, trzy na pierwszym chipie i cztery na drugim - stąd wspólny 7-portowy hub.
USB jest plug-and-play w tym sensie, że nie musisz wiedzieć o tych rzeczach po podłączeniu. System operacyjny śledzi budżet mocy każdego koncentratora i urządzenia, informuje cię, czy połączenie nie działa i że musisz użyć portu z własnym zasilaniem.
edycja: pakiety USB wyglądają tak:
Ponieważ adres ma tylko 7 bitów, na całej magistrali można mieć tylko 128 urządzeń (z 7 bitami, z których każde może być włączane i wyłączane, możliwe jest tylko 128 różnych kombinacji bitów). Obejmuje to komputer, dzięki czemu pozostawia 127 innych rzeczy, które możesz do niego dołączyć.
źródło
Dowiesz się więc, że dzięki chipsetom USB3 faktycznie osiągniesz limit na około 30 urządzeniach, z powodu twardego limitu 32 urządzeń (tak naprawdę limit 96 punktów końcowych) na chipsetach USB3.
Ja również poradziłem sobie z tym problemem i znalezienie prawdziwego problemu i rozwiązań zajęło mi trochę czasu. To długa strona, więc możesz ją przeczytać tutaj http://marc.merlins.org/perso/linux/post_2018-12-20_Getting-Around-USB3-xhci-32-Device-Limit- Max-number-of- devices-this-xHCI-host-obsługuje-is-32 .html
Zasadniczo sprowadza się do tych rzeczy
1) istnieje limit 96 punktów końcowych z USB3 (co przekłada się tylko na 32 urządzenia)
2) tracisz kolejne punkty końcowe z powodu koncentratorów, użycie kabla USB2 do koncentratora USB3 daje kilka gniazd z powrotem
3) bardziej ogólnie, powinieneś wyłączyć USB3, jeśli możesz się bez niego obejść (usuń sterownik jądra USB3, lub łatwiej, jeśli możesz, wyłącz USB3 w swoim systemie BIOS). Używanie układu USB3 w trybie USB2 nie pomaga, musisz wyłączyć USB3, aby płyta główna przekierowała port do kontrolera USB2, który nie ma limitu punktu końcowego 4), jeśli nie możesz wyłączyć USB3, zdobądź kartę PCIe tylko USB2 a ten naprawdę da ci około 120 urządzeń.
Dalsze zasoby: https://www.spinics.net/lists/linux-usb/msg175224.html
https://forums.intel.com/s/question/0D50P00004905stSAA/hardware-limitations-on-usb-endpoints-xhci? język = en_US
źródło
Z własnego doświadczenia moja kamera internetowa będzie działać tylko wtedy, gdy będzie podłączona bezpośrednio do portów USB komputera. Nie działałby podłączony do zasilanego koncentratora. Oznaczałoby to dla mnie, że napotkasz ograniczenia przepustowości, zanim napotkasz ograniczenie liczby urządzeń.
źródło