[Armadillo:07731] Re: armadillo-420 usb cdc_acmのドライバが落ちる
辻 泰裕
email@hidden
2011年 11月 25日 (金) 13:59:18 JST
お世話なっております、辻です。
返信ありがとうございます。
> acm_ctrl_irq()って、acm_probe() の中で interrupt urb の処理をするコード
> の初期化に使われているはず。
> skip_countries:
> usb_fill_int_urb(acm->ctrlurb, usb_dev, usb_rcvintpipe(usb_dev,
epctrl->bEndpointAddress),
> acm->ctrl_buffer, ctrlsize, acm_ctrl_irq, acm, epctrl->bInterval);
> interrupt の urb は、指定された interval で polling するので、そこで
> acm_ctrl_irq が呼ばれ、usb_submit_urb()するが、すでにデバイスが抜けてい
> るので、-19つまり -NODEVでusb_submit_urb()が戻ってくる。
→ はい、そうなっています。
> そうすると、なぜかホストコントローラー(HC)が死んだという認識になり、
> 37番の割り込みが処理されなくなるんでしょうか?
→ はい、そこが私も不明な点です。
acmドライバの追加が上手く行ってないのかとも思ったのですが、
ドライバの追加は>make menuconfigからKernelのドライバのインストールで、
"Device Drivers --->、USB support --->、USB Modem (CDC ACM) support
の選択"
で行っておりますが、これが間違っているとか?でしょうか。
> > > ccd_acmドライバがエラーを認識し、落ちていると思われますがなにか解
決方法は
> > > ないでしょうか?
> > > 通信(ポートのオープン?)を行っていない場合は、抜き差ししても大丈
夫です。
> probe() は、open(2)の後に呼ばれるんでしょうね。データー通信しなくても
> openしていると、ダメだったりしませんか?
→ いま手元に接続する機器が無くて確認出来ないのですが、openだけして通信
していない
状態というのは確認していません。
ここで書いた通信していない、と言うのはopenもしていないという事です。
armadillo メーリングリストの案内