[Armadillo:07737] Re: armadillo-420 usb cdc_acmのドライバが落ちる
辻 泰裕
email@hidden
2011年 12月 2日 (金) 17:46:50 JST
お世話になっております、辻です。
先日Armadillo-420でcdc-acmドライバが落ちる件のデバッグを行いましたので
結果をご連絡させて頂きます。
結果としては正常に行くパターンを発見、ただし原因は判らず、です。
1. デバッグについて
・カーネル作成時に、[*] USB verbose debug messages を有効
・cdc-acm.cに"#undef DEBUG"と書かれていたのを"#define DEBUG"に変更
・include/linux/device.hで"#define DEBUG"を追加
上記3点の変更を行いましたが、USBの抜き差し時にそれらしきログは
出ませんでした。
変わりにcdc-acm.cの各関数の最初に関数名を表示し、動作を確認しました。
(acm_ctrl_irq関数は引数に含まれるステータス(urb->status)の値も表示し
ております)
2. 回避出来るパターン
今回のデバッグで、ドライバが落ちる現象を回避する方法を発見しました。
アルマジロにUSBハブを挿して、USBハブに装置を接続すると当現象は回避され
ました。
------------------------------------------------------------------------------
テスト内容は、
1.アプリにて通信を行っている途中にUSBを抜き取る
2.テストプログラムにてopenのみ行い、その後USBを抜き取る
テストプログラム内容
int pno;
pno = open("/dev/ttyACM0", O_RDWR | O_NOCTTY | O_NONBLOCK);
printf("ttyACM0 open\n");
sleep( 10 );
printf("ttyACM close\n");
close( pno );
上記1,2のテストをUSBハブなし/ありの場合で実行し、ログを取得しました。
ハブなし接続
【装置】<--USB-->【armadillo】
ハブあり接続
【装置】<--USB-->【USBハブ】<--USB-->【armadillo】
【結果】
USBハブなしの場合、1,2のテスト共にUSB抜き取り後、ホストコントローラ
が落ちてUSBを刺しても認識しなくなる。
USBハブありの場合、1,2のテスト共にUSB抜き取り正常にdisconnectが実行
される。また、その後、USBを接続すると正常に認識し、1のテストの場合、
通信が再開されます。
それぞれのログは添付ファイルの
テスト1 ハブなし:ttyACM調査ハブなし.log
ハブあり:ttyACM調査ハブあり.log
テスト2 ハブなし:ttyACM調査ハブなしopen.log
ハブあり:ttyACM調査ハブありopen.log
に保存してあります。
【参考】
USBハブありの場合、装置−USBハブ間、USBハブ−armadillo間のどこでUSBを抜い
ても、disconnectは正常に行われました。
------------------------------------------------------------------------------
結果としては以上です。
この情報から何か原因が推測出来そうでしょうか?
以上、宜くお願い致します。
-------------- next part --------------
文字コード指定の無い添付文書を保管しました...
名前: ttyACM調査ハブなし.log
URL: <http://lists.atmark-techno.com/pipermail/armadillo/attachments/20111202/900656a0/attachment.ksh>
-------------- next part --------------
文字コード指定の無い添付文書を保管しました...
名前: ttyACM調査ハブなしopen.log
URL: <http://lists.atmark-techno.com/pipermail/armadillo/attachments/20111202/900656a0/attachment-0001.ksh>
-------------- next part --------------
文字コード指定の無い添付文書を保管しました...
名前: ttyACM調査ハブ使用.log
URL: <http://lists.atmark-techno.com/pipermail/armadillo/attachments/20111202/900656a0/attachment-0002.ksh>
-------------- next part --------------
文字コード指定の無い添付文書を保管しました...
名前: ttyACM調査ハブ使用open.log
URL: <http://lists.atmark-techno.com/pipermail/armadillo/attachments/20111202/900656a0/attachment-0003.ksh>
armadillo メーリングリストの案内