포트 복제기를 사용하여 랩톱에 몇 개의 USB 하드 드라이브를 연결할 수 있습니까?


10

2 개의 USB 2.0 및 1 개의 USB 3.0 포트가있는 랩탑이 있는데, 연결할 수있는 USB 하드 드라이브의 수를 알고 싶습니다. Linux 커널에 하드 제한이 있습니까?

성능 측면에서 포트에 연결된 드라이브에서 공유되는 속도는 얼마입니까?


1
아빠는 참신한 USB 장치를 좋아합니다. 나는 그의 생일을 위해 그를 좀 더 얻고 그가 한계에 도달하면 알려줍니다 : D
Greg

답변:


13

이론적으로 하나의 호스트 PC에 최대 127 개의 장치를 연결할 수 있지만이를 방지 할 수있는 실제 전력 및 데이터 대역폭 제한이 있습니다. 이 127 개의 장치는 최대 7 개 수준의 계층화 된 허브 네트워크에 배열 할 수 있으며 PC 호스트를 수준 1로, 가장 먼 장치를 수준 7로 계산합니다. PC는 허브에 5 개의 전원을 공급합니다. 각 장치는 100mA이며 각 포트에는 최소 1 개의 장치가 필요합니다. 허브 자체는 하나를 소비하여 최대 4 개의 포트에 4 개의 장치를 남겨 둡니다. 따라서 4 개 이상의 포트가있는 버스 전원 공급 허브를 찾을 수 없습니다.

버스 전원 공급 허브에는 추가 제한이 있습니다. 각 포트에는 단일 전원 장치 만 있기 때문에 다운 스트림은 단일 장치에만 연결할 수 있습니다. 해당 허브에는 추가 5 개의 장치가 필요하므로 확장을 위해 다른 허브에 연결할 수 없습니다. 또한 모든 장치가 단일 장치를 다 사용할 수는 없습니다. 마우스와 같은 저전력 장치는 작동하지만 고전력 장치는 최대 5 개의 장치를 청구 할 수 있습니다. 고전력 USB 장치는 포트에 5 개의 장치를 공급할 수있는 PC 호스트 또는 자체 전원 공급 허브에 직접 연결 한 경우에만 작동합니다.

장치를 연결하면 PC는 장치의 기능 및 요구 사항을 쿼리합니다. 예를 들어 PC는 4 포트 버스 전원 허브에 연결되어 있으며 각 포트는 하나의 장치 만 구동 할 수 있습니다. 고전력 장치를 해당 허브에 연결하려고하면 OS가 오류 메시지를 표시하고 장치 활성화를 거부합니다.

버스 전원 공급 허브는 일반적으로 이러한 제한으로 인해 잘못된 생각이며 주로 데스크톱 용이 아닌 모바일 용입니다.

반면, 포트에 연결된 장치가 자체적으로 전원이 공급되는 경우 허브에서 하나 이상의 장치가 필요하지 않을 수 있습니다. 예를 들어 외장 디스크 드라이브에는 자체 전원이 있으므로 버스 전원 공급 허브에서 제대로 작동합니다.

자체 전원 공급 허브는 각 포트에 5 개의 장치를 공급할 수있어 고전력 장치 및 추가 수준의 허브를 제공합니다. 따라서 1 개의 7 포트 자체 전원 공급 허브를 연결 한 다음 7 개의 7 포트 허브를 추가하여 4 번째 계층에서 49 개의 사용 가능한 포트를 제공 할 수 있습니다.

일부 자체 전원 공급 허브를 사용하면 버스 전원 모드에서도 사용할 수 있지만 너무 많은 장치를 연결하려고하면 OS에 오류 메시지가 표시됩니다.

대부분의 허브 컨트롤러 칩에는 4 개의 포트가 있으므로 일반적으로 4 포트 허브가 표시됩니다. 더 큰 허브를 만들려면 두 개의 4 포트 칩만 사용하십시오. 그러나 그들은 호스트에 연결된 첫 번째 칩과 첫 번째 칩의 다운 스트림 포트 중 하나에 연결된 두 번째 칩을 데이지 체인 방식으로 연결해야합니다. 이렇게하면 사용자를 위해 7 개의 포트만 남게됩니다 (첫 번째 칩에 3 개, 두 번째 칩에 4 개). 따라서 일반적인 7 포트 허브입니다.

USB는 플러그 앤 플레이 기능을 제공하므로 연결시이 내용을 알 필요가 없습니다. OS는 각 허브 및 장치의 전력 예산을 추적하고 연결이 작동하지 않는지 여부와 자체 전원 공급 포트를 사용해야하는지 알려줍니다.

편집 : USB 패킷은 다음과 같습니다

토큰:
패킷 ID : 8 비트
주소 : 7 비트
엔드 포인트 : 4 비트
CRC : 5 비트

프레임 시작 :
패킷 ID : 8 비트
프레임 번호 : 11 bits
CRC : 5 비트

데이터 패킷 :
패킷 ID : 8 비트
데이터 : 0-1023 바이트
CRC : 16 비트

악수:
패킷 ID : 8 비트

주소는 7 비트에 불과하므로 전체 버스에 128 개의 장치 만있을 수 있습니다 (각각 켜고 끌 수있는 7 비트, 총 128 개의 서로 다른 비트 조합 가능). 여기에는 컴퓨터가 포함되어 있으므로 연결할 수있는 다른 것들이 127 개 남습니다.


2
127 한도는 어디에서 발생합니까? 궁금해
crazy2be

@ crazy2be : 당신이 묻고, 편집 :)
Rinzwind

1
@ crazy2be 컨트롤러 당 127 개의 장치가 허용되지만 PC는 127 개의 hardrive에 전력을 공급하기에 충분한 전류를 공급하지 못할 것입니다. 각 드라이브에 자체 전원 공급 장치가있는 경우에는 정상이지만 랩톱이 너무 많은 전원을 공급할 것으로 기대하지는 않습니다.
crasic 2016 년

127 개의 USB 스틱이 가능합니다. 128 하드 디스크? 그렇게 생각하지 마라 : D
Rinzwind

데이터 전송은 어떻습니까? XGBps에 하드 드라이브가 1 개있는 경우 8 포트 복제기가 각 하드 드라이브에 X / 8로 전송됩니까? 그리고 최대 구성에서 X / 127?
719016

0

따라서 USB3 칩셋을 사용하면 실제로 USB3 칩셋의 32 개 디바이스 제한 (실제로 96 엔드 포인트 한계)으로 인해 30 개 디바이스 정도에서 한계에 도달하게됩니다.

나는이 문제도 다루었 고 실제 문제와 해결책을 찾는 데 시간이 걸렸습니다. 긴 페이지이므로 http://marc.merlins.org/perso/linux/post_2018-12-20_Getting-Around-USB3-xhci-32-Device-Limit- Max-number-of-에서 읽을 수 있습니다 . devices-this-xHCI-host-supports-is-32 .html

기본적으로 다음과 같이 요약됩니다
.1) USB3에는 96 개의 엔드 포인트 제한이 있으며 (32 개의 장치로만 변환 됨)
2) 허브로 인해 추가 엔드 포인트가 손실됩니다 .USB2 케이블을 USB3 허브에 연결하면 몇 개의 슬롯이 다시 제공됩니다.
3)보다 일반적으로 USB3을 사용하지 않고 할 수 있으면 USB3을 비활성화해야합니다 (USB3 커널 드라이버를 제거하거나 가능하면 더 쉬운 방법으로 BIOS에서 USB3를 비활성화하십시오). USB2 모드에서 USB3 칩을 사용해도 도움이되지 않습니다. 마더 보드가 해당 엔드 포인트 제한이없는 USB2 컨트롤러로 포트를 다시 라우팅하도록 USB3를 비활성화해야합니다. 4) USB3를 비활성화 할 수없는 경우 USB2 전용 PCIe 카드를 가져옵니다 120 개 정도의 장치를 제공합니다.

추가 자료 : https://www.spinics.net/lists/linux-usb/msg175224.html
https://forums.intel.com/s/question/0D50P00004905stSAA/hardware-limitations-on-usb-endpoints-xhci? 언어 = en_US


-2

개인적인 경험을 통해 내 웹캠은 PC의 USB 포트에 직접 연결된 경우에만 작동합니다. 전원이 공급되는 허브에 연결되어 있으면 작동하지 않습니다. 그것은 당신이 많은 장치 한계를 뛰어 넘기 전에 대역폭 한계에 부딪 칠 것이라는 것을 의미합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.