2011/05/28

OTG関係のkernelログを見直す

ログを疎かにしたらいかん。
自分で埋め込んでいないから何が出るか分からないけど、何かしら情報があるかもしれない。


まずは、MUSBの初期化部分。
MUSBはMentor Graphics社のUSB IPを操作するためのライブラリだと思っている。
OTGモードであるとわかっている。

musb_hdrc: version 6.0, musb-dma, otg (peripheral+host), debug=0
musb_hdrc: USB OTG mode controller at fa0ab000 using DMA, IRQ 92


しばらくするとhost driverのログが出てくる。
「usb2」となっているのは、usb1としてEHCIポートが使われているからだ。
下の方で、今回追加したADK関係のf_accessoryが登録されている。

musb_hdrc musb_hdrc: MUSB HDRC host driver
musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 2
usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: Љ
usb usb2: Manufacturer: Љ
usb usb2: SerialNumber: Љ
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
f_accessory init
android_register_function accessory

よく考えると「host driver」となっているが、これはUSB Hostの意味か?
そして、USBハブを検出しているようだ。
いくら「Dual Role Device」とはいえ、HostとPeripheralを同時に動かすことはできまい。


dmesgログの方がいろいろ出ているので、同じところを振り返ってみよう。

まずはMUSBの初期化。

<6>musb_hdrc: version 6.0, musb-dma, otg (peripheral+host), debug=0
<7>musb_hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine (X), bulk split (X), HB-ISO Rx, HB-ISO Tx, SoftConn)
<7>musb_hdrc: MHDRC RTL version 1.400
<7>musb_hdrc: setup fifo_mode 4
<7>musb_hdrc: 28/31 max ep, 16384/16384 memory
<6>musb_hdrc: USB OTG mode controller at fa0ab000 using DMA, IRQ 92

続いて、登録しているところ。
android_bindは関係ないかも。

<6>android init
<6>android_probe pdata: c047f464
<6>android_bind
<7>android_usb gadget: adding config #1 'android'/c04a3740
<7>android_bind_config
<7>android_usb gadget: cfg 1/c04a3740 speeds:
<6>android_usb gadget: android_usb ready
<6>musb_hdrc musb_hdrc: MUSB HDRC host driver
<6>musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 2
<6>usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
<6>usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
<6>usb usb2: Product: Љ
<6>usb usb2: Manufacturer: Љ
<6>usb usb2: SerialNumber: Љ
<6>usb usb2: configuration #1 chosen from 1 choice
<6>hub 2-0:1.0: USB hub found
<6>hub 2-0:1.0: 1 port detected
<6>f_accessory init
<6>android_register_function accessory

あまり変わりはしないな。
やはり気になるのは、Hostとしてハブを検出しているところ。
そういえば、SmartQ5をadbとして使うときには設定画面で切り替えたりしたな。
内部では、USBを切り替えるようなコマンドを実行させていたと思う。
そういったトリガを内部から実行しないといかんのだろうか。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。