Armadilloフォーラム

Windows8/8.1へのArmadillo-810複数台接続

k.ukena

2015年6月17日 17時53分

いつもお世話になっております。
ukenaと申します。

現在、WindowsへのArmadillo-810複数台接続を行っているのですが、
Windows8/8.1にて下記現象が発生しており、情報を必要としています。

Armadillo-810(UVC Composite Device)を10台以上同時に接続すると、
Windows8/8.1が「USBコントローラのリソースが足りません」というエラーを表示し、
UVC Composite Deviceのドライバインストールが8台程度でストップしてしまいます。

接続の形式は下記の通りです。

Win8/8.1
|------------ USBハブ(ELECOM社製 セルフパワー)
        | ------------ Armadillo-810(10台)

Windows7ではUSB 2.0のポートへ差し込むと、繋がるUSB Host Controllerは
USB Enhanced Host Controllerとなり、問題なくインストールが完了していました。

Windows8/8.1に関しては、差し込むポートが2.0でも3.0でも
USB 3.0 eXtensible Host Controller - 0100 (Microsoft) へと繋がり、
結果「USBコントローラのリソースが足りません」が表示されることになります。

確認を行った環境は、windows8の64bit、windows8.1の32bitです。

以上、お手数ですが、ご教授お願い致します。

コメント

at_yashi

2015年6月18日 10時39分

> Armadillo-810(UVC Composite Device)を10台以上同時に接続すると、
> Windows8/8.1が「USBコントローラのリソースが足りません」というエラーを表示し、
> UVC Composite Deviceのドライバインストールが8台程度でストップしてしまいます。

インストールですか?

8台目の接続時にエラーになるんでしょうか?

> Windows7ではUSB 2.0のポートへ差し込むと、繋がるUSB Host Controllerは
> USB Enhanced Host Controllerとなり、問題なくインストールが完了していました。
>
> Windows8/8.1に関しては、差し込むポートが2.0でも3.0でも
> USB 3.0 eXtensible Host Controller - 0100 (Microsoft) へと繋がり、
> 結果「USBコントローラのリソースが足りません」が表示されることになります。

これは、同じハードウェアで別の OSの場合ということでしょうか?
別のハードウェアであれば、ホストコントローラーが異なることはありそうです。

勘ですが、windows のあるドライバーは、Isochronous なものを見ていて、
数で制限をかけるのでしょうかね?

k.ukena

2015年6月18日 15時26分

ご回答ありがとうございます。

> インストールですか?
> 8台目の接続時にエラーになるんでしょうか?

8台まではインストールができますが、9台目でエラーが出てしまいます。

> これは、同じハードウェアで別の OSの場合ということでしょうか?
> 別のハードウェアであれば、ホストコントローラーが異なることはありそうです。

同じハードウェア(PC)に対してOSを入れ替えて試行しているのですが、一部作業に漏れがありました。

windows8では、OSインストール時に eXtensible Host Controller(xHCI)も自動でインストールされました。
Enhanced Host Controller(EHCI)も2台インストールされるのですが、これらにデバイスが接続されることはありませんでした。

windows7ではxHCIがインストールされず、EHCI2台のみが入った状態となっていました。
この状態で接続を試したところ10台とも順当にEHCIの片方へつながり、ドライバもインストールされました。
差し込むポートによってはもう片方のEHCIへつながることも確認できました。

ですがxHCIもインストールした状態で接続したらどうなっていたか、未確認でした。
これをやってみることで、切り分けがつけられる部分もありそうです。

引き続き、試行してみます。
ご回答いただきありがとうございます。

at_hanada

2015年6月18日 13時40分

花田です。

> Armadillo-810(UVC Composite Device)を10台以上同時に接続すると、
> Windows8/8.1が「USBコントローラのリソースが足りません」というエラーを表示し、
> UVC Composite Deviceのドライバインストールが8台程度でストップしてしまいます。

UVC Composite Deviceをお使いの状態では、RNDIS/Ethernet Gadget、UVC Camera、CDC Serialを合わせて、USBホストから(Armadillo-810 1台につき)3つのデバイスが認識されます。
8台で、計24デバイスがぶら下がる形となりますね。

> Win8/8.1
> |------------ USBハブ(ELECOM社製 セルフパワー)
>         | ------------ Armadillo-810(10台)

ハブがあることで、最低25デバイス以上。

> 結果「USBコントローラのリソースが足りません」が表示されることになります。

台数的に思い当るところがあり…お使いのPC、IntelのHaswell世代のCPU搭載のものではないですか?
以下、もしこの条件に当てはまっているならばという仮定の話になります。

Haswellでは(発表当時はPC系ニュースサイトなどで多少騒ぎになりましたが)USB 3.0ホストに多数のErrataがあり。
その中で、(PC内部の)ハードウェア構成によっては25台まで制限されるというものがあるようです。
Windows PCでの文献を直接見つけられず、Macbook air対象とした外部機器メーカーのドキュメントになってしまいますが…

http://www.ergotron.com/Portals/0/literature/bulletin/2013-6E-JP.pdf
> 2013 年 6 ⽉、コードネーム “Haswell” としても知られる第 4 世代 Intel Core vPro プロセッサー(Intel Core i5 & Intel Core i7)を搭載した新しい Macbook air がリリースされました。
> これらのプロセッサーでは接続可能な USB 端末上限を 25 台とする制限があり、PC 上で⼀度に認識・同期される iPad も 25 台が上限となります。

これと同一の問題に当たっているとすれば、お使いのPCの制限ということになってしまいます。
(Windows 7とWindows 8での違いではなく、PC内蔵のUSBホストデバイス及びドライバのレベルが原因ということです)

Ethernet/カメラ/シリアルポートと3種類のデバイスを、すべて同時にお使いでしょうか?
もし使用していないものがあるならば、Armadillo-810側で不要なガジェット機能を外すことで、接続台数を増やすことは可能と思われます。
まずは、お使いのPCのハードウェアについて確認してみてください。

k.ukena

2015年6月18日 16時08分

ご回答ありがとうございます。

> 台数的に思い当るところがあり…お使いのPC、IntelのHaswell世代のCPU搭載のものではないですか?

ご指摘の通り、Haswell世代のCPUでした。
かなりいろいろと調べていたのですが、この情報には辿り着いていませんでした。ありがとうございます。

この問題だとすると、USBで最大接続できる台数は25台までということになるんですね。
Macにおいてはパッチを適用することで制限が解除できるというような記載がありましたが、
あれは単に、節電のために無効にしていたUSB2.0のコントローラを有効にしただけということなんですかね?

とりあえず、Armadilloのデバイス機能を減らした場合から、引き続き試行してみます。
ご回答いただき、ありがとうございます。