Какое количество USB устройств может быть подключено с управляемого USB over IP концентратора к моему компьютеру одновременно
Это зависит от оборудования компьютера и используемой операционной системы.
1. ОГРАНИЧЕНИЯ ОБОРУДОВАНИЯ
Чисто теоретически из расчета времени – 255 USB устройств. Но в соответствии со спецификацией USB 2.0 к одному хост-контроллеру шины USB можно подсоединить до 127 устройств (в том числе все внутренние) по топологии «звезда». На одной шине USB может быть до 127 устройств и до 5 уровней каскадирования хабов, не считая корневого. Разрядность шины адреса предусматривает 127 USB адресов. Подробнее: https://en.wikipedia.org/wiki/USB#System_design
На конкретном оборудовании, в зависимости от производителя и модели, эта цифра значительно уменьшается, причина связана с архитектурой набора микросхем, которая имеет ограниченное количество оконечных устройств USB.
2. ОГРАНИЧЕНИЯ ОПЕРАЦИОННЫХ СИСТЕМ
Для Windows 10
ОС Windows 10 и выше (в т.ч. серверные ОС Windows) есть ограничение на подключение по TCP/IP устройств USB в количестве 15 шт. Если необходимо увеличить количество одновременно используемых USB устройств:
- Запустите
regedt32
и откройтеComputer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vhusb3hc\Parameters
- Щелкните правой кнопкой мыши на правой панели и выберите «параметр
DWORD
», затем введитеUSB2Ports
, затем нажмите ввод, затем дважды щелкните запись и выберите «Десятичная» и введите количество портов USB2, которое вы хотите (до 255) и нажмите «ОК» - Снова щелкните правой кнопкой мыши на правой панели и выберите «параметр DWORD», затем введите
USB3Ports
, затем нажмите ввод, затем дважды щелкните запись и выберите «Десятичная» и введите количество портов USB3, которое вы хотите (0) и нажмите OK - Перезагрузите компьютер, чтобы изменения вступили в силу.
Или внесите изменения в реестр с помощью reg
файла:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vhusb3hc\Parameters] "USB2Ports"=dword:00000080 "USB3Ports"=dword:00000000 |
Для Linux
В Linux в зависимости от ОС ядро поддерживает разное количество одновременно подключаемых USB устройств. При подключении USB устройств больше допустимого ядром, Вы получаете ошибку: "ERROR :There are no more available free ports. Try disconnecting an existing device"
. Сообщение об ошибке означает, что вы можете использовать только определенное количество устройств одновременно на вашей OS Linux. Сообщение показывает, что все порты используются.
Для увеличения портов, необходимо перекомпилировать ядро Вашей OS Linux, изменив соответствующие параметры на:
CONFIG_USBIP_VHCI_HC_PORTS=15 CONFIG_USBIP_VHCI_NR_HCS=8 |
Проверить сколько одновременных USB подключений допускает Ваша OS Linux можно выполнив в консоли:
su - modprobe vhci-hcd modprobe usbip-core modprobe usbip-host cat /sys/devices/platform/vhci_hcd.0/status |
Видим:
hub port sta spd dev sockfd local_busid hs 0000 004 000 00000000 000000 0-0 hs 0001 004 000 00000000 000000 0-0 hs 0002 004 000 00000000 000000 0-0 hs 0003 004 000 00000000 000000 0-0 hs 0004 004 000 00000000 000000 0-0 hs 0005 004 000 00000000 000000 0-0 hs 0006 004 000 00000000 000000 0-0 hs 0007 004 000 00000000 000000 0-0 ss 0008 004 000 00000000 000000 0-0 ss 0009 004 000 00000000 000000 0-0 ss 0010 004 000 00000000 000000 0-0 ss 0011 004 000 00000000 000000 0-0 ss 0012 004 000 00000000 000000 0-0 ss 0013 004 000 00000000 000000 0-0 ss 0014 004 000 00000000 000000 0-0 ss 0015 004 000 00000000 000000 0-0 |
(Часть пути ".../vhci_hcd/..."
в вашей ОС может иметь вид ".../vhci_hcd.0/..."
и т.п. в зависимости от количества хост контроллеров)
ls /sys/devices/platform/ | grep vh vhci_hcd.0 vhci_hcd.1 vhci_hcd.2 vhci_hcd.3 |