Debian 9 상자가 있고 장치 중 하나를 연결하면 해당 UART가 lsusb
두 ls /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.
지금까지 내가 찾은 솔루션은 기본적으로 다음과 같습니다.
- 전용 PCI USB 컨트롤러 추가자세한 내용은 여기
- 가능하다면
ehci
USB 2.0 강제로 다운그레이드하여 장치 제한이 128개가 되도록 하세요.여기에 설명된 대로
제 경우에는 멋진 새 서버를 다운그레이드하는 것이 불가능하므로 ehci
기존 서버의 USB 2.0 포트를 USB 인터페이스로 사용해 보겠습니다. 소위 "더 나은" USB 3.0에 이러한 제한이 있다는 사실이 매우 실망스럽습니다.