Я пытаюсь использовать три разных датчика одновременно. Один из датчиков — это датчик Microsoft Kinect для Xbox One (так что технически это два датчика), а два других датчика — это камеры на основе событий типа ATIS. Все три датчика подключены к моему Lenovo P51 Thinkpad через USB 3.0
каждый свой порт USB без USB-концентратора.
Теперь использование двух датчиков ATIS вместе не приводит к каким-либо проблемам. Но когда я запускаю передачу данных датчика kinect и затем пытаюсь использовать один из датчиков ATIS, я получаю следующую ошибку
Ошибка ввода/выводаUSB Ошибка отправки
Ошибка отправки при запуске
на моей оболочке в Ubuntu 18.04. Я думаю, что это ошибка libusb.
Поэтому я предполагаю, что моя материнская плата (или другая часть моего оборудования?) не может достаточно быстро обрабатывать информацию с 3 USB-устройств, каждое из которых имеет высокий выход данных. Но я не уверен, что это так, это всего лишь мое предположение.
Поэтому у меня такие вопросы:
1. Это предположительно аппаратная или программная проблема?
2. Если это аппаратная проблема: какая часть ограничивает меня и что мне нужно искать, чтобы ее заменить?
EDIT:
Вывод lsusb -t
:
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 5000M
|__ Port 1: Dev 4, If 0, Class=Hub, Driver=hub/1p, 5000M
|__ Port 1: Dev 5, If 0, Class=Vendor Specific Class, Driver=usbfs, 5000M
|__ Port 1: Dev 5, If 1, Class=Vendor Specific Class, Driver=usbfs, 5000M
|__ Port 1: Dev 5, If 2, Class=Audio, Driver=snd-usb-audio, 5000M
|__ Port 1: Dev 5, If 3, Class=Audio, Driver=snd-usb-audio, 5000M
|__ Port 5: Dev 2, If 0, Class=Vendor Specific Class, Driver=usbfs, 5000M
|__ Port 6: Dev 3, If 0, Class=Vendor Specific Class, Driver=usbfs, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M
|__ Port 1: Dev 12, If 0, Class=Hub, Driver=hub/1p, 480M
|__ Port 2: Dev 9, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 1: Dev 11, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 1: Dev 11, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 3: Dev 10, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 8: Dev 4, If 1, Class=Video, Driver=uvcvideo, 480M
|__ Port 8: Dev 4, If 0, Class=Video, Driver=uvcvideo, 480M
|__ Port 9: Dev 5, If 0, Class=Vendor Specific Class, Driver=, 12M
|__ Port 11: Dev 6, If 0, Class=Chip/SmartCard, Driver=, 12M
|__ Port 13: Dev 7, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
|__ Port 14: Dev 8, If 0, Class=Wireless, Driver=btusb, 12M
|__ Port 14: Dev 8, If 1, Class=Wireless, Driver=btusb, 12M
решение1
Три из ваших портов фактически подключены внутри к одному концентратору USB 3.0 и совместно используют полосу пропускания USB 3.0.
Чтобы решить эту проблему, вам понадобится второй контроллер USB 3.0. Вероятно, вы используете ноутбук, поэтому, боюсь, вы ничего не сможете сделать.