[Armadillo:03356] [Armadillo-500]Gadget Etherドライバについて
橋本 佳己
email@hidden
2008年 9月 1日 (月) 19:36:26 JST
いつもお世話になっております。
SFTの橋本と申します。
[Armadillo-500]Gadget Etherドライバについての質問ですが
PCとArmadillo−500をUSBケーブルで接続しても
デバイスを検出できません。
下記に質問を記述しましたので、
何方かご存知の方がおりましたら、ご教示下さい。
長文になってしまい、申し訳ありません。
【質問内容】
以下の【作業内容】を実行しましたが、Windows側で
「新しいハードウェアが見つかりました」というポップアップを出
現させるにはGadget Etherのドライバ(g_ether.ko)をどのように
作りこめばよろしいでしょうか?
【作業内容】
1.カーネルイメージ作成
Atmark-distでmake menuconfig
を実行し、「Support for USB Gadgets」の項目以下のように選択
してカーネルをmakeしたところ、エラーはなくイメージが作成されました。
--------------------変更点--------------------
│ │<*> Support for USB Gadgets
│ │
│ │[*] Debugging information files
│ │
│ │ USB Peripheral Controller (ARC USB Device Controller) --->
│ │
│ │ ARC USB Device Controller
│ │
│ │[ ] OTG Support
│ │
│ │[*] Support for OTG prepheral port on ARC controller
│ │
│ │ Select transceiver (High Speed) --->
│ │
│ │<M> USB Gadget Drivers
│ │
│ │< > Gadget Zero (DEVELOPMENT)
│ │
│ │<M> Ethernet Gadget (with CDC Ethernet support)
│ │
│ │[ ] RNDIS support (EXPERIMENTAL)
│ │
│ │< > Gadget Filesystem (EXPERIMENTAL)
│ │
│ │< > File-backed Storage Gadget
│ │
│ │< > Serial Gadget (with CDC ACM support)
--------------------変更点--------------------
2.Armadillo側へのドライバのinsmod
このイメージをhermitして書き込み、
ガジェットイーサドライバのg_ether.koをinsmodしたところ以下の
ようなログを出力しました。
※ether.cのdefineの「DEBUG」を有効にしているため、ログを出力
するようになっています。
--------------------insmod時のログ--------------------
ether gadget: using random self ethernet address ether gadget: using random host ethernet address
usb0: Ethernet Gadget, version: May Day 2005
usb0: using arc_udc, OUT ep1out IN ep1in STATUS ep2in
usb0: MAC 2a:30:78:35:65:96
usb0: HOST MAC fa:86:33:7a:ec:1e
arcotg_udc: gadget arc_udc bound to driver ether
usb0: suspend
------------------------------------------------------
3.PCとの接続
ArmadilloとPC(OSはWinXP Pro)とをUSBケーブルで接続したところ
--------------------PCとの接続時のログ--------------------
usb0: resume
usb0: suspend
--------------------------------------------------------
上記のログのように始めにresume、
そしてWindows側で「USBデバイスが認識されません」というポップ
アップが出たタイミングでArmadillo側のログにsuspendの1行が追加されます。
4.デバイスにIPアドレスを割り振ったときの動作
insmod後に
ifconfig -a
を実行しますと以下のように「usb0」というデバイスが現れます。
------------------------------------------------------------
usb0 Link encap:Ethernet HWaddr D6:AF:E8:FD:89:37
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
------------------------------------------------------------
この「usb0」にifconfigで以下のようにIPアドレスを付加します。
------------------------------------------------------------
ifconfig usb0 address 192.168.1.10
------------------------------------------------------------
そうしますとログへ以下の1行が追加されます。
------------------------------------------------------------
usb0: eth_open
------------------------------------------------------------
なお、アドレスを付加した場合でもWindows側では上記同様の動作
でした。またWindows側の管理ツールのイベントビューアをチェッ
クしましたがそれらしい反応は見当たりませんでした。
以上、宜しくお願いいたします。
armadillo メーリングリストの案内