¿Cuántos discos duros usb se pueden conectar a una computadora portátil usando un replicador de puerto?

10

Tengo una computadora portátil con 2 puertos USB 2.0 y 1 USB 3.0 y me gustaría saber cuántos discos duros USB podría conectar. ¿Hay un límite estricto en el kernel de Linux?

En cuanto al rendimiento, ¿cuál es la velocidad compartida entre las unidades conectadas al puerto?

719016
fuente
1
A mi papá le encantan sus novedosos dispositivos USB. Lo conseguiré un poco más para su cumpleaños y te avisaré cuando llegue al límite: D
Greg

Respuestas:

13

Teóricamente, puede tener hasta 127 dispositivos conectados a una PC host, pero existen limitaciones prácticas de potencia y ancho de banda de datos que lo evitarían. Estos 127 dispositivos se pueden organizar en una red escalonada de concentradores de hasta siete niveles, contando el host de la PC como nivel 1 y el dispositivo más alejado como nivel 7. La PC suministra 5 unidades de energía a un concentrador. Cada unidad es de 100 mA y cada puerto requiere un mínimo de 1 unidad. El hub mismo consume uno, dejando 4 unidades para hasta 4 puertos. Por lo tanto, nunca encontrará un concentrador alimentado por bus con más de cuatro puertos.

Los concentradores alimentados por bus tienen una limitación adicional. Como cada puerto tiene una sola unidad de alimentación, solo pueden conectarse aguas abajo a un solo dispositivo. No puede conectarlos a otro concentrador para expansión porque ese concentrador requiere 5 unidades adicionales. Y no todos los dispositivos pueden funcionar con una sola unidad. Un dispositivo de baja potencia como un mouse funcionará, pero un dispositivo de alta potencia puede reclamar hasta 5 unidades. Los dispositivos USB de alta potencia solo funcionarán cuando se conecten directamente a un host de PC o un concentrador autoalimentado que pueda suministrar 5 unidades al puerto.

Cuando conecta un dispositivo, la PC consulta al dispositivo por sus capacidades y requisitos. Entonces, por ejemplo, la PC sabe que está conectada a un concentrador alimentado por bus de 4 puertos, lo que significa que cada puerto solo puede manejar una unidad. Si intenta conectar un dispositivo de alta potencia a ese concentrador, el sistema operativo mostrará un mensaje de error y se negará a habilitar el dispositivo.

Los concentradores alimentados por bus son generalmente una mala idea debido a estas limitaciones y están destinados principalmente para uso móvil, no de escritorio.

Por otro lado, si los dispositivos que están conectados al puerto son autoalimentados, es posible que no necesiten más de una unidad del concentrador. Por ejemplo, las unidades de disco externas tienen su propia potencia, por lo que deberían funcionar bien en un concentrador alimentado por bus.

Un concentrador autoalimentado podrá suministrar 5 unidades a cada puerto, permitiendo dispositivos de alta potencia y más niveles de concentradores. Por lo tanto, puede conectar un concentrador autoalimentado de 7 puertos y luego siete concentradores más de 7 puertos en ese, dándole 49 puertos disponibles en el cuarto nivel.

Algunos concentradores autoalimentados le permitirán usarlos también en modo alimentado por bus, pero si intenta conectar demasiados dispositivos, el sistema operativo le dará un mensaje de error.

La mayoría de los chips de controlador de concentrador tienen 4 puertos, por lo que comúnmente se ven concentradores de 4 puertos. Cuando quieren construir un hub más grande, solo usan dos chips de 4 puertos. Pero tienen que conectarlos en cadena con el primer chip conectado al host y el segundo conectado a uno de los puertos posteriores del primer chip. Esto deja solo siete puertos para el usuario, tres en el primer chip y cuatro en el segundo, de ahí el hub común de 7 puertos.

USB es plug-and-play en el sentido de que no tiene que saber nada de esto cuando conecta las cosas. El sistema operativo realiza un seguimiento del presupuesto de energía de cada concentrador y dispositivo, le dirá si la conexión no funcionará y que necesita usar un puerto autoalimentado.

editar: los paquetes USB se ven así:

Simbólico:
ID de paquete: 8 bits
Dirección: 7 bits
Punto final: 4 bits
CRC: 5 bits

Inicio del marco:
ID de paquete: 8 bits
Número de trama: 11 bits
CRC: 5 bits

Paquete de datos:
ID de paquete: 8 bits
Datos: 0-1023 bytes
CRC: 16 bits

Apretón de manos:
ID de paquete: 8 bits

Dado que la dirección es de solo 7 bits, solo puede tener 128 dispositivos en todo el bus (con 7 bits que pueden activarse y desactivarse, solo hay 128 combinaciones diferentes de bits posibles en total). Esto incluye su computadora, por lo que deja otras 127 cosas que puede adjuntar a ella.

Rinzwind
fuente
2
¿De dónde viene el límite 127? Sólo me preguntaba.
crazy2be
@ crazy2be: preguntas, edito :)
Rinzwind
1
@ crazy2 tenga en cuenta que si bien tiene 127 dispositivos por controlador, es poco probable que su PC proporcione suficiente corriente para alimentar 127 discos duros. Si cada unidad tiene su propia fuente de alimentación, debería estar bien, pero no espere que una computadora portátil genere tanta energía.
crasic
127 memorias USB son posibles. 128 disco duro? No lo creo: D
Rinzwind
¿Qué hay de la transferencia de datos? Si tengo 1 disco duro a X GBps, ¿se transferiría un replicador de 8 puertos a X / 8 a cada disco duro? ¿Y X / 127 en la configuración máxima?
719016
0

Entonces, descubrirá que con los conjuntos de chips USB3, alcanzará un límite de 30 dispositivos más o menos, debido a un límite de 32 dispositivos (realmente límite de 96 puntos finales) en los conjuntos de chips USB3.

También me ocupé de este problema y me llevó un tiempo encontrar el problema real y las soluciones. Es una página larga, así que puedes ir a leerla 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

Básicamente, se reduce a estas cosas
1) hay un límite de 96 puntos finales con USB3 (que se traduce solo en 32 dispositivos)
2) pierde más puntos finales debido a los concentradores, el uso de un cable USB2 a un concentrador USB3 le devuelve algunas ranuras
3) en general, debe deshabilitar USB3 si puede prescindir de él (elimine el controlador del kernel USB3, o más fácilmente si puede, deshabilite USB3 en su BIOS). El uso de un chip USB3 en modo USB2 no ayuda, debe deshabilitar el USB3 para que su placa base redirija el puerto a un controlador USB2 que no tenga ese límite de punto final 4) si no puede deshabilitar USB3, obtenga una tarjeta PCIe solo USB2 y ese realmente te dará 120 dispositivos más o menos.

Más recursos: https://www.spinics.net/lists/linux-usb/msg175224.html
https://forums.intel.com/s/question/0D50P00004905stSAA/hardware-limitations-on-usb-endpoints-xhci? idioma = en_US

Marc Merlin
fuente
-2

Por experiencia personal, mi cámara web solo funcionará si está conectada directamente a los puertos USB de mi PC. No funcionaría conectado a un concentrador alimentado. Eso implicaría para mí que se toparán con limitaciones de ancho de banda antes de toparse con un número de dispositivos límite.

Fragos
fuente