Jump to content
Калькуляторы

Максимальное количество USB устройств.

Всем привет. Столкнулся с интересной проблемой. Система Ubuntu 18.04.1 LTS (GNU/Linux 4.15.0-45-generic x86_64). Подключено два USB хаба по 10 портов каждый. В каждый порт хаба воткнут карт ридер (карточки для спутникового доступа). Утилита lsusb определяет все 20 ридеров:

 

#lsusb

Bus 002 Device 002: ID 8087:8000 Intel Corp.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 027: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 003 Device 026: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 003 Device 024: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 003 Device 022: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 003 Device 017: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 003 Device 013: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 003 Device 009: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 003 Device 021: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 003 Device 018: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 003 Device 014: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 003 Device 011: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 003 Device 006: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 003 Device 003: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 003 Device 025: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 003 Device 023: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 003 Device 019: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 003 Device 015: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 003 Device 010: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 003 Device 007: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 003 Device 005: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 003 Device 020: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 003 Device 016: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 003 Device 012: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 003 Device 008: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 003 Device 004: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 003 Device 002: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 

Но в каталоге /dev/ появляется только 19.

 

#ll /dev/ttyUSB*
crw-rw---- 1 root dialout 188,  0 фев  8 09:36 /dev/ttyUSB0
crw-rw---- 1 root dialout 188,  1 фев  8 09:36 /dev/ttyUSB1
crw-rw---- 1 root dialout 188, 10 фев  8 09:36 /dev/ttyUSB10
crw-rw---- 1 root dialout 188, 11 фев  8 09:36 /dev/ttyUSB11
crw-rw---- 1 root dialout 188, 12 фев  8 09:36 /dev/ttyUSB12
crw-rw---- 1 root dialout 188, 13 фев  8 09:36 /dev/ttyUSB13
crw-rw---- 1 root dialout 188, 14 фев  8 09:36 /dev/ttyUSB14
crw-rw---- 1 root dialout 188, 15 фев  8 09:36 /dev/ttyUSB15
crw-rw---- 1 root dialout 188, 16 фев  8 09:36 /dev/ttyUSB16
crw-rw---- 1 root dialout 188, 17 фев  8 09:36 /dev/ttyUSB17
crw-rw---- 1 root dialout 188, 18 фев  8 09:36 /dev/ttyUSB18
crw-rw---- 1 root dialout 188,  2 фев  8 09:36 /dev/ttyUSB2
crw-rw---- 1 root dialout 188,  3 фев  8 09:36 /dev/ttyUSB3
crw-rw---- 1 root dialout 188,  4 фев  8 09:36 /dev/ttyUSB4
crw-rw---- 1 root dialout 188,  5 фев  8 09:36 /dev/ttyUSB5
crw-rw---- 1 root dialout 188,  6 фев  8 09:36 /dev/ttyUSB6
crw-rw---- 1 root dialout 188,  7 фев  8 09:36 /dev/ttyUSB7
crw-rw---- 1 root dialout 188,  8 фев  8 09:36 /dev/ttyUSB8
crw-rw---- 1 root dialout 188,  9 фев  8 09:36 /dev/ttyUSB9
 

Может у кого-то есть идеи, куда девается 20-й ридер? Хабы и ридеры все рабочие, если подключать хабы по отдельности, то опредеяются по 10 штук. Одновременно же, только 19.

Share this post


Link to post
Share on other sites

Я бы посмотрел скрипты и конфиги udev (/etc/udev, /lib/udev и т.п.), скорее всего где-то в них эта константа будет определена.

В USB есть лимит по числу устройств на шине, я не помню, какой он, но значительно больше 20.

Share this post


Link to post
Share on other sites
14 минут назад, alibek сказал:

Я бы посмотрел скрипты и конфиги udev (/etc/udev, /lib/udev и т.п.), скорее всего где-то в них эта константа будет определена.

В USB есть лимит по числу устройств на шине, я не помню, какой он, но значительно больше 20.

Вроде всё тривиально...

# /dev/serial/by-path/, /dev/serial/by-id/ for USB devices
KERNEL!="ttyUSB[0-9]*|ttyACM[0-9]*", GOTO="serial_end"

Share this post


Link to post
Share on other sites
lsusb | grep Futur
Bus 001 Device 028: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 001 Device 027: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 001 Device 026: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 001 Device 025: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 001 Device 024: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 001 Device 023: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 001 Device 022: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 001 Device 021: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 001 Device 020: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 001 Device 019: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 001 Device 018: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 001 Device 017: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 001 Device 016: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 001 Device 015: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 001 Device 014: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 001 Device 013: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 001 Device 012: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 001 Device 011: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 001 Device 008: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 001 Device 007: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
lsusb | grep Futur | wc -l
20
ls -l /dev/ttyUSB???
lrwxrwxrwx 1 root root 7 Jan 18 10:58 /dev/ttyUSB111 -> ttyUSB3
lrwxrwxrwx 1 root root 7 Jan 18 10:58 /dev/ttyUSB112 -> ttyUSB2
lrwxrwxrwx 1 root root 8 Jan 18 10:58 /dev/ttyUSB113 -> ttyUSB12
lrwxrwxrwx 1 root root 8 Jan 18 10:58 /dev/ttyUSB114 -> ttyUSB15
lrwxrwxrwx 1 root root 8 Jan 18 10:58 /dev/ttyUSB115 -> ttyUSB14
lrwxrwxrwx 1 root root 8 Jan 18 10:58 /dev/ttyUSB116 -> ttyUSB13
lrwxrwxrwx 1 root root 8 Jan 18 10:58 /dev/ttyUSB117 -> ttyUSB19
lrwxrwxrwx 1 root root 8 Jan 18 10:58 /dev/ttyUSB118 -> ttyUSB18
lrwxrwxrwx 1 root root 8 Jan 18 10:58 /dev/ttyUSB119 -> ttyUSB17
lrwxrwxrwx 1 root root 8 Jan 18 10:58 /dev/ttyUSB120 -> ttyUSB16
lrwxrwxrwx 1 root root 7 Jan 18 10:58 /dev/ttyUSB121 -> ttyUSB1
lrwxrwxrwx 1 root root 7 Jan 18 10:58 /dev/ttyUSB122 -> ttyUSB0
lrwxrwxrwx 1 root root 7 Jan 18 10:58 /dev/ttyUSB123 -> ttyUSB4
lrwxrwxrwx 1 root root 7 Jan 18 10:58 /dev/ttyUSB124 -> ttyUSB7
lrwxrwxrwx 1 root root 7 Jan 18 10:58 /dev/ttyUSB125 -> ttyUSB6
lrwxrwxrwx 1 root root 7 Jan 18 10:58 /dev/ttyUSB126 -> ttyUSB5
lrwxrwxrwx 1 root root 8 Jan 18 10:58 /dev/ttyUSB127 -> ttyUSB11
lrwxrwxrwx 1 root root 8 Jan 18 10:58 /dev/ttyUSB128 -> ttyUSB10
lrwxrwxrwx 1 root root 7 Jan 18 10:58 /dev/ttyUSB129 -> ttyUSB9
lrwxrwxrwx 1 root root 7 Jan 18 10:58 /dev/ttyUSB130 -> ttyUSB8
ls -l /dev/ttyUSB???  | wc -l
20

uname -a
Linux iptv2 2.6.32-5-686 #1 SMP Sun Dec 21 11:09:34 UTC 2014 i686 GNU/Linux

 

 

Я бы тоже смотрел в сторону удава.

Share this post


Link to post
Share on other sites

Дело в том, что udevadm не видит более никаких девайсов. Подключаю ещё один хаб с 10 картами, удев их не детектит....

Share this post


Link to post
Share on other sites

Спасибо всем за помощь. Решение оказалось довольно простым. Из-за кривой поддержки USB3.0 в linux ядро на отрез отказывалось определять устройства (даже клавиатуру не видело, если 19 устройств уже присутствовали в системе). Решение - отключить поддержку xhci в bios. Источник - https://superuser.com/questions/731751/not-enough-host-controller-resources-for-new-device-state и там есть ссылки внутри ещё. Всем хорошего настроения)))

Цитата:

 

Not enough host controller resources for new device state.

can't set config #1, error -12

Faced with the same errors. XHCI (usb 3.0) in linux kernel is limited to 32 devices. It looks like a bug. But maybe this is a Bill Gates way "640 kilobytes enough for everyone". In any case, it's a pain.

1) The easiest way to fix it: disable XHCI (usb 3.0) support in motherboard BIOS if possible. 2) The hard way to fix it: disable XHCI linux module. modprobe -r xhci-hcd But in most cases it does not work. You must recompile the kernel to disable XHCI and enable OHCI (usb 1.1) and EHXI (usb 2.0).

Edited by Sashok1985

Share this post


Link to post
Share on other sites

Можно глянуть сырцы модуля xhci-hcd, возможно там захардкорено.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this