Множество устройств USB 3.0 в одной Ubuntu через работающий концентратор

1376
Anshuman Chatterjee

Я попытался подключить несколько устройств с поддержкой USB 3.0 к моей машине с Ubuntu 12.04. Но обнаружил, что одновременно было видно не более 9 устройств. Я попытался проверить журналы ядра в /var/log/kern.log, где я обнаружил, что при подключении 10-го устройства, там была ошибка ниже:

это устройство не может найти достаточно свободных ресурсов, которые оно может использовать. (код 12)

Мой хост-контроллер USB:

Корпорация Intel Семейство наборов микросхем серии 8 / C220 USB xHCI (версия 05)

Некоторые форумы предлагают отключить поддержку USB 3.0, чтобы устройства работали в режиме USB 2.0, и это должно решить проблему. И это было правдой. Отключение поддержки xHCI в BIOS помогло мне.

Я предположил, что это должно быть ошибкой в ​​более старой установке Ubuntu 12.04 (или может быть драйвер usb). Поэтому я обновил свою систему до Ubuntu 16. Но здесь также существует та же проблема. Что делать, если я хочу использовать свои устройства с USB 3.0? Что если опция отключения поддержки xHCI в BIOS отсутствует на какой-либо материнской плате?

7

1 ответ на вопрос

4
harrymc

Контроллер имеет внутренние буферы, которые он выделяет для подключенных устройств с целью выполнения ввода и вывода. Эти буферы также называются ресурсами или конечными точками.

Более быстрые устройства должны иметь больше буферов, чтобы содержать больше данных. Это число может варьироваться в зависимости от устройства, но не более 32 конечных точек с 16 входами и 16 выходами на устройство.

Есть сообщения, что хост-контроллер Intel 8 Series USB 3.0 XHCI поддерживает только 96 конечных точек, и практические ограничения могут быть достигнуты раньше.

Из информации в вашем посте я бы предположил, что каждый диск USB3 использует 10 конечных точек, иначе. ресурсы, вероятно, 5 в и 5 из. Поэтому на 9 дисках использовалось 90 конечных точек, что нормально, но для 10 дисков требуется 100 конечных точек, что превышает ограничение 96, поэтому контроллер отправил код ошибки в операционную систему.

Когда вы ухудшали соединение с более медленным USB2, контроллер выделял гораздо меньше буферов для каждого устройства, поэтому вы могли подключать больше дисков.

Решением может быть добавление концентратора USB2 и установка на него дисков, которые не требуют высокой скорости передачи данных.

Дальнейшее чтение :

Я подумал о подключении концентратора USB2.0, который будет конвертировать USB3.0 устройства в протокол USB2.0. Но все же эти устройства были замечены с использованием xhci только в ker.log. Значит ли это, что хаб также поддерживает usb3.0? Anshuman Chatterjee 7 лет назад 0
Если вы подключили usb2 к usb3, то устройства на концентраторе usb2 будут работать как usb2, даже если сами устройства могут использовать usb3. Возникает вопрос, на который у меня нет ответа, делает ли прошивка usb3 ошибку при оценке количества необходимых буферов по свойствам устройства (usb3) или по скорости соединения (usb2). Чтобы узнать что, вы можете использовать `lsusb`. Смотрите [эту статью] (http://www.linuxnix.com/find-usb-device-details-in-linuxunix-using-lsusb-command/) и [этот пост] (http://askubuntu.com/questions / 604158 /, как-ду-я-говорю-если-а-USB-палец-диск-это-USB-3-0). harrymc 7 лет назад 0