예

Debian 9 상자가 있고 장치 중 하나를 연결하면 해당 UART가 lsusbls /sys/bus/usb-serial/devices/.

2를 추가하면 항상 두 번째 것이 나타납니다.

그러나 2보다 큰 숫자의 경우 lsusb또는 에 새 항목이 표시되지 않습니다 usb-serial/devices/. 무작위로 나타나는 경우도 있습니다. 세 번째 장치가 나타날 때도 있고 그렇지 않을 때도 있습니다.

이 동작은 3가지 다른 브랜드의 USB 허브에서 동일합니다. 또한 MacOS에서 이러한 장치를 연결해 보았지만 비슷한 동작이 나타났습니다.

현재 내 lsusb모습은 다음과 같습니다(명확성을 위해 다른 허브와 장치는 생략됨).

... snip
Bus 001 Device 042: ID 0403:6014 Future Technology Devices International, Ltd FT232H Single HS USB-UART/FIFO IC
Bus 001 Device 040: ID 0403:6014 Future Technology Devices International, Ltd FT232H Single HS USB-UART/FIFO IC
Bus 001 Device 036: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 001 Device 039: ID 10c4:ea71 Cygnal Integrated Products, Inc.
Bus 001 Device 037: ID 0403:6014 Future Technology Devices International, Ltd FT232H Single HS USB-UART/FIFO IC
... snip 

다른 장치가 표시되지 않도록 하는 일부 시스템 설정이 있습니까?

답변1

이는 마더보드에 사용되는 Intel xHCI 칩셋의 제한 사항입니다.

특히 이러한 칩의 대부분은 "장치" 수를 32개로 제한합니다. 그러나 카메라와 같은 단일 물리적 장치는 USB 컨트롤러 칩에 여러 "장치"로 나타날 수 있습니다. 또한 각 허브는 최소 1개의 "장치"로 계산되므로 예상보다 빨리 이 제한에 쉽게 직면할 수 있습니다.

제 경우에는 각 FTDI 칩이 4개의 장치로 표시되고 어떤 이유로 xHCI 칩에는 최대 16개의 장치가 있다고 생각합니다. 따라서 두 번째 또는 세 번째 물리적 장치를 케이블로 연결하면 그냥 끝입니다. .

다음에서 볼 수 있습니다 dmesg.

[4173630.423513] usb 1-1.2.3-port3: couldn't allocate usb_device
[4173630.430741] xhci_hcd 0000:00:0f.0: Error while assigning device slot ID
[4173630.437521] xhci_hcd 0000:00:0f.0: Max number of devices this xHCI host supports is 16.

지금까지 내가 찾은 솔루션은 기본적으로 다음과 같습니다.

  1. 전용 PCI USB 컨트롤러 추가자세한 내용은 여기
  2. 가능하다면 ehciUSB 2.0 강제로 다운그레이드하여 장치 제한이 128개가 되도록 하세요.여기에 설명된 대로

제 경우에는 멋진 새 서버를 다운그레이드하는 것이 불가능하므로 ehci기존 서버의 USB 2.0 포트를 USB 인터페이스로 사용해 보겠습니다. 소위 "더 나은" USB 3.0에 이러한 제한이 있다는 사실이 매우 실망스럽습니다.

관련 정보