Armadilloフォーラム

cdc_acm open時に EIOが発生

elcom

2014年6月2日 17時38分

山本といいます。

Armadillo-460 で cdc_acmデバイスを複数接続したときに /dev/ttyACM* を
オープン時に EIOが発生する現象が発生しています。

今回 cdc_acmデバイスは USB HUBを介して 4つ接続しています。
弊社でも2つまでは問題ないことを以前の案件で確認しています。

cdc_acm.c の DEBUGを有効にして file openをしたときのログは下記のとおりです。

原因と対応方法をご存知の方はいらっしゃいますでしょうか?
また、試しに Linux-2.6.35の alpha版で試してみようかとおもったのですが、
Armadillo-460には対応していないのですね。対応したものはないのでしょうか?

以上よろしくお願いします。

cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters
drivers/usb/class/cdc-acm.c: Entering acm_tty_open.
drivers/usb/class/cdc-acm.c: usb_submit_urb(ctrl irq) failed
コメント

自己レスです。

その後いろいろと社内にある Armadilloを使用して調査した結果下記のような結果に
なりました。

Armadillo-460 + Linux-2.6.26-at-19 … NG (最初の組み合わせ)
Armadillo-420 + Linux-2.6.26-at-19 … NG
Armadillo-420 + Linux-2.6.35-at-alpha4 … NG
Armadillo-9 + Linux-2.6.12-3-a9-18 … OK

時間もあまりなくなってきたため今回は Armadillo-9 でいこうとしています。
(新規非推奨ですが...)

書いていませんでしたが、接続しようとしているデバイスはデンソーウエーブ社製
QK20-ICでこれを2つ接続しようとしています。バーコードリーダーとRFIDで
計4つのUSB接続が必要です。

cdc_acmなデバイスが他には社内にはないため検証できませんが、おそらく
Linuxカーネルバージョンのせいではないかと思っています。

以上です。

> Armadillo-460 で cdc_acmデバイスを複数接続したときに /dev/ttyACM* を
> オープン時に EIOが発生する現象が発生しています。