質問: パワードハブを介した単一のubuntu上の多くのusb3.0デバイス 複数のusb3.0対応デバイスをubuntu12.04マシンに接続してみました。しかし、一度に9台以下のデバイスが接続されていることがわかりました。 /var/log/kern.logでカーネルログを監視しようとしましたが、10番目のデバイスを接続すると、次のエラーが発生することがわかりました。 このデバイスは、使用できる十分な空きリソースを見つけることができません。 (コード12) 私のusbホストコントローラーは次のとおりです。 intel corporation8シリーズ/ c220シリーズチップセットファミリusbxhci(rev 05) 一部のフォーラムでは、usb 3.0のサポートを無効にすると、デバイスがusb 2.0モードで動作するようになり、問題が解決するはずだと提案されています。そして、これは真実でした。 biosからxhciサポートを無効にすることでうまくいきました。これは古いubuntu12.04セットアップのバグであると思いました(またはusbドライバーがバグである可能性があります)。そのため、システムをubuntu 16にアップグレードしました。しかし、ここでも同じ問題が存在します。デバイスをusb3.0で使用したい場合はどうすればよいですか? biosからxhciサポートを無効にするオプションが一部のマザーボードに存在しない場合はどうなりますか?
回答: コントローラには、入力と出力を行うために接続されたデバイスに割り当てる内部バッファがあります。これらのバッファは、リソースまたはエンドポイントとも呼ばれます。より高速なデバイスでは、より多くのデータを含めるために、より多くのバッファーを割り当てる必要があります。この数はデバイスごとに異なる可能性がありますが、最大は32エンドポイントで、デバイスごとに16入力と16出力です。intel8シリーズusb3.0 xhciホストコントローラーは96エンドポイントしかサポートしておらず、実際の制限に早く達する可能性があるという報告があります。あなたの投稿の情報から、各usb3ディスクは別名10のエンドポイントを使用していると思います。リソース、おそらく5インと5アウト。したがって、9つのディスクは90のエンドポイントを使用しましたが、10のディスクは96の制限を超える100のエンドポイントを必要とするため、コントローラーはオペレーティングシステムにエラーコードを送信しました。低速のusb2への接続を低下させると、コントローラーが各デバイスに割り当てるバッファーがはるかに少なくなるため、より多くのディスクを接続できます。解決策は、usb2ハブを追加し、そのハブに高い転送速度を必要としないディスクを配置することです。参考文献 : sbエンドポイントとそのパイプ sbコントローラーのリソースが不足していますか?