USBドライバの作成方法

2,647 views
Skip to first unread message

伊藤 靖

unread,
Jul 24, 2009, 11:19:24 PM7/24/09
to 日本Androidの会
伊藤と申します。HT-03Aを使用しています。
USBの接続機器の作成を考えていますが、
Android側のドライバを作成しなければならないと思います。

全くイロハがわかりませんので、Androidのシステム構成と、USBドライバに関して
概念がわかるようなよい書籍を教えていただけないでしょうか?

すいません。何がやりたいかイマイチ不明ですね。
お手数かけます。

Katsuhiko Sato

unread,
Jul 25, 2009, 6:41:18 AM7/25/09
to android-g...@googlegroups.com
伊藤さん

ユビラボ佐藤です

以下のどちらになりますか?

(1)HT-03A(ホスト)にUSB機器(クライアント)を接続する
 ⇒HT-03Aに入れ込むドライバを作りたい
 これについては、G1では未サポートでした。HT-03Aではどうなのか
 分からないので、確認してみてください。

 
http://groups.google.com/group/android-platform/browse_thread/thread/30dd755c4034cf02

 どうしても動かしたい場合は、別途相談にのります^^;
 家電につなぐ関係から、業務で進めているのか、趣味でやっているのかでも
 方法が変わってきますので・・

(2)HT-03A(クライアント)をUSB接続機器(ホスト)につなぐ
 ⇒HT-03A側にFunction(or Gadget)のドライバを作りたい
 G1では、Functionドライバ(drivers/usb/function)が標準で使われています。
 用途によってGadgetドライバ(drivers/usb/gadget)を使うこともあります。
 HT-03Aで使われているものは、FunctionまたはGadgetドライバだ
 と思います。(実機が手元にないので未確認です^^;)
 USBホストも使いたい、という場合はOTGのドライバを起こしている可能性も
 ないことはないので、確認が必要です。

書籍については、私はあまり詳しくないので、どなたか教えてあげてください^^;
私は、USBに関してはこちらを勧めるようにしています。

USBハード&ソフト開発のすべて
http://www.cqpub.co.jp/hanbai/books/33/33411.htm

USBターゲット機器開発のすべて
http://www.cqpub.co.jp/hanbai/books/33/33381.htm

個人的には、USBの仕様書が一番良いと思いますが。。
図もあって分かりやすいですし。
http://www.usb.org/developers/docs/

ネゴシエーションの過程、デスクリプタの構造が理解できていると(いないと)、
USBドライバのソースを見ても、分からないことが多いと思いますので、
まずは参考にしてみてください。

以上

伊藤 靖

unread,
Jul 26, 2009, 12:36:22 AM7/26/09
to 日本Androidの会
>(1)HT-03A(ホスト)にUSB機器(クライアント)を接続する
>⇒HT-03Aに入れ込むドライバを作りたい
>これについては、G1では未サポートでした。HT-03Aではどうなのか
>分からないので、確認してみてください。

そうだったんですね。要するにPCにつなげてUSBメモリとして使うという
現在の使い方ですね。
USBメモリを指しても反応がないのは、そのせいですね。
結局は、ワタシはクライアントなのでワタシからは通信しませんよって
感じなんですね。うーーんEMのS01SH2は両方できたと思うんですけどね・・・

PC(ホスト) HT-03A(クライアント)の場合
1.PCにつなげる
2.オマエ誰
3.オレHT-03A
4.じゃーメモリ扱いで
5.了解
6.HT-03A側で、メモリのアンマウント
7.めでたくPCでHT-03A側のメモリが操作できる

と手順になるんですが、このオマエ誰を聞く必要があるてことですね。
そのあたりは、USBの仕様書を見ないといけないですね。

>どうしても動かしたい場合は、別途相談にのります^^;
>家電につなぐ関係から、業務で進めているのか、趣味でやっているのかでも
>方法が変わってきますので・・

ありがとうございます。
どうしても動かしたいです。
ですが、趣味レベルから始めて必要に応じて、進め方を変えられれば・・・と思います。
どうしても必要なものは必要ですし、ただ、時間的制約は比較的ゆるいですので・・・
うーーん、いまだJBできないのはつらいですね。(どちらかというとJBではく
PrisonBreakにしたいですが(笑))
開発機を買わないといけないですかね???

>(2)HT-03A(クライアント)をUSB接続機器(ホスト)につなぐ
今のところ、これはあまり考えてないです。

書籍の紹介ありがとうございました。






On 7月25日, 午後7:41, "Katsuhiko Sato" <stk...@ubilabo.net> wrote:
> 伊藤さん
>
> ユビラボ佐藤です
>
> 以下のどちらになりますか?
>
> (1)HT-03A(ホスト)にUSB機器(クライアント)を接続する
>  ⇒HT-03Aに入れ込むドライバを作りたい
>  これについては、G1では未サポートでした。HT-03Aではどうなのか
>  分からないので、確認してみてください。
>
>  http://groups.google.com/group/android-platform/browse_thread/thread/...
>
>  どうしても動かしたい場合は、別途相談にのります^^;
>  家電につなぐ関係から、業務で進めているのか、趣味でやっているのかでも
>  方法が変わってきますので・・
>
> (2)HT-03A(クライアント)をUSB接続機器(ホスト)につなぐ
>  ⇒HT-03A側にFunction(or Gadget)のドライバを作りたい
>  G1では、Functionドライバ(drivers/usb/function)が標準で使われています。
>  用途によってGadgetドライバ(drivers/usb/gadget)を使うこともあります。
>  HT-03Aで使われているものは、FunctionまたはGadgetドライバだ
>  と思います。(実機が手元にないので未確認です^^;)
>  USBホストも使いたい、という場合はOTGのドライバを起こしている可能性も
>  ないことはないので、確認が必要です。
>
> 書籍については、私はあまり詳しくないので、どなたか教えてあげてください^^;
> 私は、USBに関してはこちらを勧めるようにしています。
>
> USBハード&ソフト開発のすべてhttp://www.cqpub.co.jp/hanbai/books/33/33411.htm
>
> USBターゲット機器開発のすべてhttp://www.cqpub.co.jp/hanbai/books/33/33381.htm
>
> 個人的には、USBの仕様書が一番良いと思いますが。。
> 図もあって分かりやすいですし。http://www.usb.org/developers/docs/
>
> ネゴシエーションの過程、デスクリプタの構造が理解できていると(いないと)、
> USBドライバのソースを見ても、分からないことが多いと思いますので、
> まずは参考にしてみてください。
>
> 以上
>
>
>
> ----- Original Message -----
> From: "伊藤 靖" <ij-yasushi-...@r7.dion.ne.jp>
> To: "日本Androidの会" <android-g...@googlegroups.com>
> Sent: Saturday, July 25, 2009 12:19 PM
> Subject: [android-group-japan: 1419] USBドライバの作成方法
>
> > 伊藤と申します。HT-03Aを使用しています。
> > USBの接続機器の作成を考えていますが、
> > Android側のドライバを作成しなければならないと思います。
>
> > 全くイロハがわかりませんので、Androidのシステム構成と、USBドライバに関して
> > 概念がわかるようなよい書籍を教えていただけないでしょうか?
>
> > すいません。何がやりたいかイマイチ不明ですね。
> > お手数かけます。- 引用テキストを表示しない -
>
> - 引用テキストを表示 -

Katsuhiko Sato

unread,
Jul 26, 2009, 9:19:09 AM7/26/09
to android-g...@googlegroups.com
伊藤さん

ユビラボ佐藤です

USB機器をつなぎこみたい、という要望であれば、
otgまたはhost対応のファームウェアが出るのを待つか
自分でポーティングするかという話になります。
ちゃんとした開発にはmsmのチップセットのドキュメント(非公開)が
必要になると思いますので、難しいのではないでしょうか?

少なくても、HT-03Aで改造を行うのはいまずいと思いますので、
まずはDevPhoneのようなシステム書き換え可能な機種で
開発されてはどうでしょうか?

msm7201Aのusbホストの情報は、このあたりでチラッと情報が出ています。

http://www.telesphoreo.org/pipermail/g1-hackers/2009-May/001141.html
http://www.cianer.com/code/

時間が確保できれば自分のほうでTryしてみてもいいのですが、
ちょっと今は無理かも。。

以上

伊藤 靖

unread,
Aug 1, 2009, 2:23:19 PM8/1/09
to 日本Androidの会
佐藤さん
いつも,重要な情報をいただきありがとうございます。
先日、薦めていただいた書籍を購入いたしました。
他にも、androidのシステム構成の書籍を購入しました。
夏休みに読破できるように頑張ります。
usbホストの機能のソースもあるようなので
参考んいし頑張りたいとおもいます。
今後共.よろしくおねがいいたします。

On 7月26日, 午後10:19, "Katsuhiko Sato" <stk...@ubilabo.net> wrote:
> 伊藤さん
>
> ユビラボ佐藤です
>
> USB機器をつなぎこみたい、という要望であれば、
> otgまたはhost対応のファームウェアが出るのを待つか
> 自分でポーティングするかという話になります。
> ちゃんとした開発にはmsmのチップセットのドキュメント(非公開)が
> 必要になると思いますので、難しいのではないでしょうか?
>
> 少なくても、HT-03Aで改造を行うのはいまずいと思いますので、
> まずはDevPhoneのようなシステム書き換え可能な機種で
> 開発されてはどうでしょうか?
>
> msm7201Aのusbホストの情報は、このあたりでチラッと情報が出ています。
>
> http://www.telesphoreo.org/pipermail/g1-hackers/2009-May/001141.htmlhttp://www.cianer.com/code/

伊藤 靖

unread,
Aug 10, 2009, 2:24:39 PM8/10/09
to 日本Androidの会
伊藤です。
どのなたか教えていただければと思います。
USBには、ホストとデバイスが存在するようで、ハード構成も違うようです。

そこで、HT-03Aとしましてはスペック表を見ると
USBホスト対応 HTC ExUSB
          (USB2.0、オーディオジャック兼用)

などと記述してありますが、実際ハードウェア的には、USBホストの機能は盛り込まれているのでしょうか?


On 8月2日, 午前3:23, 伊藤 靖 <ij-yasushi-...@r7.dion.ne.jp> wrote:
> 佐藤さん
> いつも,重要な情報をいただきありがとうございます。
> 先日、薦めていただいた書籍を購入いたしました。
> 他にも、androidのシステム構成の書籍を購入しました。
> 夏休みに読破できるように頑張ります。usbホストの機能のソースもあるようなので
> 参考んいし頑張りたいとおもいます。
> 今後共.よろしくおねがいいたします。
>
> On 7月26日, 午後10:19, "Katsuhiko Sato" <stk...@ubilabo.net> wrote:
>
>
>
> > 伊藤さん
>
> > ユビラボ佐藤です
>
> >USB機器をつなぎこみたい、という要望であれば、
> > otgまたはhost対応のファームウェアが出るのを待つか
> > 自分でポーティングするかという話になります。
> > ちゃんとした開発にはmsmのチップセットのドキュメント(非公開)が
> > 必要になると思いますので、難しいのではないでしょうか?
>
> > 少なくても、HT-03Aで改造を行うのはいまずいと思いますので、
> > まずはDevPhoneのようなシステム書き換え可能な機種で
> > 開発されてはどうでしょうか?
>
> > msm7201Aのusbホストの情報は、このあたりでチラッと情報が出ています。
>
> >http://www.telesphoreo.org/pipermail/g1-hackers/2009-May/001141.htmlh...
> > >> - 引用テキストを表示 -- 引用テキストを表示しない -
>
> - 引用テキストを表示 -

伊藤 靖

unread,
Sep 13, 2009, 5:44:05 AM9/13/09
to 日本Androidの会
先日、HTCとDocomoに以下の件について質問いたしましたが、

HTCの回答は、携帯キャリアが自社ブランドで出しているものに対しての質問には答えられないとのことでした。
ツマリ、Docomoに聞けということでしょうね。

Docomoの回答としましては、不正改造につながりかねないのでお答えできませんと言うことでした。
国内の法律では、Android携帯のドライバ部分を修正した場合、電波法に抵触するのでしょうか?
これでは、普通の開発者にとっては、お買い上げしてばらさないといけないのでは、
かなりアシカセになってしまうような気がしますが・・・

一説によれば、使われているCPUにUSBコントローラが搭載されていて、ポート2ならば、
ホスト機能もサポートされているとかいないとかだそうです。どこのHPだか忘れましたので
確かな情報源を特定できませんが・・・

知りたいことは、HWの変更なしにドライバを置き換えれば、
ホスト機能を使用できるようになるかどうかだけです。どなたかご存知の方や、
他のLinuxのドライバを際コンパイルすれば使えるよ。等の情報あれば教えていただけると助かります。

やってはいませんが、タブン、PB(IPhoneのJBに対抗して、PB:Prison Breakとしたいです。www)はできると思います。




質問内容
> Android携帯端末のUSB接続機器の開発を行う為の調査を行っています。
> HT-03Aの仕様を拝見させていただきましたが、USB端子について、
> クライアント機能しか満たしていないとの記述でした。
>
> これは、HT-03Aのハード構成の制約なのでしょうか?
> それとも、ハードウェアはホスト機能を満たしているが、
> ドライバで抑制しているのでしょうか?
>
> よろしければ、お教え願えませんでしょうか?

回答
お世話になっております。NTTドコモ 開発者支援担当です。

HT-03AのUSBについてですが、ホスト機能未対応になります。

お問合せ頂いた内容ですが、端末のHWまたはシステムの改造を
伴う変更が想定される為、弊社としましては、内部的な仕様に
関する回答を控えさせていただきます。
(その背景としては、電波法に則り認可を得た商用完成品の改造が
 認められないためです)

大変恐縮ですが、何卒ご了解の程宜しくお願い致します。

Katsuhiko Sato

unread,
Feb 10, 2010, 1:23:56 AM2/10/10
to android-g...@googlegroups.com
ユビラボ佐藤です

質問があってから、だいぶ経ってしまっていますが
msm7201AのUSBホストドライバ用のパッチが公開されていましたので、
情報展開しておきます。

http://groups.google.com/group/android-kernel/browse_thread/thread/c8471573d7553331

おそらくG1で使うには、USBケーブルの改造が必要になると思います。
http://wiki.openmoko.org/wiki/Specialized_USB_cables


----- Original Message -----
From: "伊藤 靖" <ij-yasu...@r7.dion.ne.jp>
To: "日本Androidの会" <android-g...@googlegroups.com>

> --~--~---------~--~----~------------~-------~--~----~
> このメールは次の Google グループの参加者に送られています: 日本Androidの
> 会
> このグループにメールで投稿: android-g...@googlegroups.com
> このグループから退会する: android-group-j...@googlegroups.com
> その他のオプションについては、次の URL からグループにアクセスしてくださ
> い。 http://groups.google.co.jp/group/android-group-japan?hl=ja
> -~----------~----~----~----~------~----~------~--~---
>

伊藤 靖

unread,
Feb 16, 2010, 3:05:11 AM2/16/10
to 日本Androidの会
佐藤さん
伊藤です。ありがとうございます。

コレをするには、root権限必要なんですよね。
開発機持ってないんで(笑)

On 2月10日, 午後3:23, "Katsuhiko Sato" <stk...@ubilabo.net> wrote:
> ユビラボ佐藤です
>
> 質問があってから、だいぶ経ってしまっていますが
> msm7201AのUSBホストドライバ用のパッチが公開されていましたので、
> 情報展開しておきます。
>

> http://groups.google.com/group/android-kernel/browse_thread/thread/c8...

> >> > > >> 書籍については、私はあまり詳しくないので、どなたか教えてあげてください^^;- 引用テキストを表示しない -
>
> - 引用テキストを表示 -...
>
> もっと読む ≫

Reply all
Reply to author
Forward
0 new messages