Debian 9ボックスがあり、デバイスの1つを接続すると、対応するUARTが2つありlsusb
ますls /sys/bus/usb-serial/devices/
。
2を追加すると、常に2番目のものが表示されます。
ただし、2より大きい数字の場合、lsusb
またはに新しい項目は表示されませんusb-serial/devices/
。ランダムに表示されることもあります。 3番目のデバイスが表示される場合もあれば、そうでない場合もあります。
この動作は、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のデバイスがあると思います。したがって、2番目または3番目の物理デバイスをケーブルで接続するだけで終わりです。 。
以下から見ることができます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にこの制限があるという事実は非常に残念です。