У меня есть ноутбук с 2 портами USB 2.0 и 1 портом USB 3.0, и я хотел бы знать, сколько жестких дисков USB можно подключить к нему. Есть ли жесткое ограничение в ядре Linux?
Что касается производительности, то какая скорость распределяется между дисками, подключенными к порту?
hardware
usb-drive
usb-storage
719016
источник
источник
Ответы:
Теоретически вы можете иметь до 127 устройств, подключенных к одному хост-компьютеру, но есть практические ограничения мощности и пропускной способности, которые могли бы предотвратить это. Эти 127 устройств могут быть расположены в многоуровневой сети концентраторов до семи уровней, считая хост ПК как уровень 1, а самое дальнее устройство как уровень 7. ПК подает 5 единиц питания на концентратор. Каждое устройство составляет 100 мА, и для каждого порта требуется минимум 1 устройство. Сам концентратор потребляет один, оставляя 4 устройства на 4 порта. Таким образом, вы никогда не найдете концентратор с питанием от шины с более чем четырьмя портами.
Концентраторы с питанием от шины имеют еще одно ограничение. Поскольку каждый порт имеет только одну единицу питания, они могут подключаться только к одному устройству. Вы не можете подключить их к другому концентратору для расширения, потому что этот концентратор требует дополнительных 5 единиц. И не все устройства могут работать от одного устройства. Будет работать устройство с низким энергопотреблением, такое как мышь, но устройство с высоким энергопотреблением может потребовать до 5 устройств. USB-устройства высокой мощности будут работать только при подключении непосредственно к ПК или к концентратору с автономным питанием, который может подавать 5 портов на порт.
При подключении устройства ПК запрашивает устройство о его возможностях и требованиях. Так, например, ПК знает, что он подключен к 4-портовому концентратору с питанием от шины, что означает, что каждый порт может управлять только одним устройством. Если вы попытаетесь подключить устройство высокой мощности к этому концентратору, ОС выдаст сообщение об ошибке и откажется включить устройство.
Концентраторы с питанием от шины, как правило, являются плохой идеей из-за этих ограничений и предназначены в основном для мобильных устройств, а не для настольных компьютеров.
С другой стороны, если устройства, подключенные к порту, сами запитаны, то им может не потребоваться более одного устройства от концентратора. Например, внешние накопители имеют собственный источник питания, поэтому они должны нормально работать на концентраторе с питанием от шины.
Концентратор с автономным питанием сможет подавать по 5 устройств на каждый порт, что позволяет использовать устройства большой мощности и другие уровни концентраторов. Таким образом, вы можете подключить один 7-портовый концентратор с автономным питанием, а затем еще семь 7-портовых концентраторов, что даст вам 49 доступных портов только на четвертом уровне.
Некоторые концентраторы с автономным питанием позволят вам использовать их также в режиме с питанием от шины, но если вы попытаетесь подключить слишком много устройств, ОС выдаст вам сообщение об ошибке.
Большинство микросхем контроллеров концентраторов имеют 4 порта, поэтому вы обычно видите концентраторы с 4 портами. Когда они хотят построить более крупный хаб, они просто используют два 4-портовых чипа. Но они должны последовательно соединить их с первым чипом, подключенным к хосту, а вторым - с одним из выходных портов на первом чипе. Это оставляет только семь портов, оставленных пользователю, три на первом чипе и четыре на втором - следовательно, общий концентратор с 7 портами.
USB подключен и работает в том смысле, что вам не нужно ничего знать об этом при подключении. Операционная система отслеживает бюджет мощности каждого концентратора и устройства, сообщит вам, если соединение не будет работать, и что вам нужно использовать порт с автономным питанием.
редактировать: USB-пакеты выглядят так:
Поскольку адрес всего 7 бит, вы можете иметь только 128 устройств на всей шине (с 7 битами, каждое из которых может быть включено и выключено, возможно всего 128 различных комбинаций битов). Это включает в себя ваш компьютер, так что остается 127 других вещей, которые вы можете прикрепить к нему.
источник
Итак, вы обнаружите, что с набором микросхем USB3 вы фактически достигнете предела в 30 устройств или около того, из-за жесткого ограничения в 32 устройства (в действительности, 96 оконечных точек) для наборов микросхем USB3.
Я тоже занимался этой проблемой, и мне потребовалось некоторое время, чтобы найти реальную проблему и пути ее решения. Это длинная страница, поэтому вы можете прочитать ее там http://marc.merlins.org/perso/linux/post_2018-12-20_Getting-Around-USB3-xhci-32-Device-Limit- Max-number-of- devices-this-xHCI-host-support-is-32 .html
По сути, это сводится к следующему:
1) существует ограничение в 96 оконечных точек для USB3 (что относится только к 32 устройствам)
2) вы теряете дополнительные конечные точки из-за концентраторов, использование кабеля USB2 для концентратора USB3 дает вам несколько слотов назад
3) в более общем случае вам следует отключить USB3, если вы можете обойтись без него (удалите драйвер ядра USB3 или, если проще, отключите USB3 в своем BIOS). Использование чипа USB3 в режиме USB2 не помогает, вам необходимо отключить USB3, чтобы ваша материнская плата перенаправила порт на контроллер USB2, у которого нет этого предела 4), если вы не можете отключить USB3, получите карту USBe только с USB2 и тот действительно даст вам 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
источник
Исходя из личного опыта, моя веб-камера будет работать только при подключении напрямую к USB-портам моего компьютера. Это не будет работать, подключенный к концентратору с питанием. Это означало бы, что вы столкнетесь с ограничениями пропускной способности, прежде чем столкнетесь с ограничением количества устройств.
источник