「手作りA n d ro id ケータイでんわ」
日本A n d ro id の会 関西支部長
株式会社ブリリアントサービス 代表取締役
杉本 礼彦
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「自己紹介」
■ 所属
株式会社ブリリアントサービス 代表取締役
日本A n d ro id の会 関西支部長
■ 経歴
携帯電話の黎明期から携帯電話ソフトウェアの技術者
として開発に携わる。
技術者である父親の影響で自分も技術者になる。
技術者に対し一方的に搾取しない会社を目指して設立
「会社紹介」
平成1 6 年1 1 月5 日設立 社員数4 6 人
A n d ro id への取り組み
2 0 0 7 年1 1 月1 2 日 A n d ro id S D K を発表 いちはやくA rm a d illo 5 0 0 にポーティング
「勉どろいど」というA n d ro id を勉強するチームを社内で立ち上げ。 そのチーム員である梶谷亮太、藤井洋祐、河原豊、八木佑馬、
新谷正人、私 杉本礼彦で 一台携帯電話を手作りしてみよう!ということ
で始めたプロジェクトを紹介。
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「はじまりは?」
A n d ro id で携帯電話を一台つくってみたいな。
「B e a g le b o a rd 」+「W S IM 」+「L C D 」で出来るんじゃねーの?
「なんで作りたいって思ったの?」
自分達で一台の携帯電話を作ってみたい!
通信、ドライバ、ハードウェアの結合などすべてのレ
イヤを担当して端末を作れるのではないか?
と、言う熱い思いから。
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「本当は・・・」
杉本:「例えば、彼女や嫁はんから手編みのマフラー
とかもらうやろ?お返しに手作りケータイ渡せたら
かっこええで!」
社員A :「モテる?」
杉本: 「モテモテや!」
社員B :「やる!」
「と、言うわけで、さっそく」
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「B e a g le B o a rd 購入」
D ig iK e yでさっそく購入
「軍事目的に使いませんか?」
とか電話かかってくるけどそんなわけないからね。
注文して5日ほどで配達される。
「W C M F 入会」
入会費3 6 万! 高い!
けど、
W S IM のI/ F 仕様書をG E T するにはこの方法しかない!
仕方がないので入会。
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「神奈川県のE x .さんに追加基板依頼」
h t t p :/ / w w w .e x - in c .c o m /
回路設計 プ ン 基板設計を大手電子機器メーカーよ 受託し い
超高速 タ を得意 し 高速 ア は非常 高い実績
があ
「各主要デバイス紹介」
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「こんな形!」
大きさは2 0 c m × 1 0 c m くらいあります。
小型化はやっぱりお金がかかります。手作り感丸出し
です。
「B e a g le b o a rd スペック紹介」
$ 1 4 9 でD ig iK e yで購入可能! 安い!
・O M A P 3 5 3 0
A R M C o rt e x - A 8 6 0 0 M H z
C 6 4 x + D S P & v id e o a c c e le ra t o r G ra p h ic s O p e n G L E S 2 .0
・2 5 6 M B M D D R S D R A M + 2 5 6 M B N A N D
・S D / IO
・H D M I
・S 端子
・U S B O T G
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「 B e a g le b o a rd スペック紹介 2」
「L C D のスペック」
P R IM E V IE W
P D 0 3 5 V X 3 3 .5 インチ
2 6 万色 D ig it a l 6 b it R G B
サイズ:8 4 .2 5 x 6 5 .4 x 4 .5 5 L E D バックライト
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「W - S IM スペック紹介」
データ通信では最大2 0 4 k b p s
W - O A M 対応のR X 4 2 0 A L
通信速度としては速くない
「なぜW - S IM ?」
無線機器に関する技術基準適合証明の取得に関する作業の省略 製品開発期間の短縮とそれによる開発コストの縮小
無線機器開発技術のないメーカーでの開発・生産
技術基準適合証明(ぎじゅつきじゅんてきごうしょうめい)とは、小型 の無線通信機器が電波法などの法令等によって定められている技術基 準に適合していることの証明。
ものすごくお金がかかります。
W - S IM はそれが不要。
つまり、我々のような中小企業でもケータイをつくれる?
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「やはり
B e a g le + W - S IM + A n d ro id
で携帯が作れる?」
「簡単な作業の流れ」
1.U S B O T G を動作させる
2.U S B H O S T を動作させる
3.A D B をU S B O T G で動作せる
4.P C M の入力、出力
5.W S IM の制御
6.R IL とW S IM の結合
7.W S IM に対してP C M の入出力
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「簡単そう!出来たも同然!?」
「ところが・・・」
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「苦しみの日々」
「1.U S B O T G を動作させる」
※ すべてブログに公開しています。
弊社のブログから以下のファイルをダウンロードする o m a p 3 _ b e a g le _ a n d ro id _ d e f c o n f ig 1 0 3 8 行目あたり ビーグル向けのカーネルコンフィグファイル。
#
# O M A P 3 4 3 x h ig h s p e e d U S B s u p p o rt
#
# C O N F IG _ U S B _ M U S B _ H O S T is n o t s e t
# C O N F IG _ U S B _ M U S B _ P E R IP H E R A L is n o t s e t
C O N F IG _ U S B _ M U S B _ O T G =y / / U S B ガジェット C O N F IG _ U S B _ G A D G E T _ M U S B _ H D R C =y / / U S B ガジェット
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「2.U S B H O S T を動作させる」
ビルドエラー回避のため、u s b-e h c i.c にパッチを当てます。
※ 6 / 2 0 のK e rn e l環境では、ビルドエラーが修正されています。
6 / 2 0 以降に環境を構築される場合は、このパッチは不要となります。
d if fファイル u s b - e h c i.p a t c h
上記L in k からパッチファイルを取得し、ターミナルウィンドでコマンド を入力していきます。
~mydroid$ cd kernel/arch/arm/mach-omap2 ~mydroid/kernel/arch/arm/mach- omap2$ patch < usb-ehci.patch パッチ後のソースファイル
m yd ro id / k e rn e l/ a rc h / a rm / m a c h - o m a p 2 / u s b - e h c i.c
「3.A D B をU S B O T G で動作せる」
6.1 カーネルモジュールのインストール
A D B (デバッガ)を使用する場合、m a k e によって m yd ro id / k e rn e l 以下に生成された*.k o ファイルを、 S D カードのe x t 3 パーティション上に作成した
/ s ys t e m / lib / m o d u le s 以下にコピーします。
※ カレントディレクトリをm yd ro id / k e rn e l とし以下のコマンドを 入力すれば見つかります。
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「3.A D B をU S B O T G で動作せる2」
A D B (デバッガ)モジュールのロード設定を有効にし、S D カードe x t 3 パー ティションのro o t ディレクトリにコピーします。
in it .rc
### Load some modules using ADB kernel module insmod /system/lib/modules/switch_class.ko insmod
/system/lib/modules/switch_gpio.ko insmod /system/lib/modules/g_android.ko
「3.A D B をU S B O T G で動作せる3」
P C 側のU S B設定
H O S T P C 側でB e a g le b o a rdのA D B を認識させる必要があります。 そのU S B設定ファイルです。
5 0 - a n d ro id .ru le s
SUBSYSTEM==“usb”,SYSFS{idVendor}==“18d1”,MODE=“0666”
SUBSYSTEM==“usb_device”, SYSFS{idVendor}==“18d1”,MODE=“0666”
このファイルをP C 側の / e t c / u d e v / ru le s .d にコピーします。その 後、以下のコマンドにてc h m o d してください。
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「4.P C M の入力、出力」
A L S A の結合
lo c a l_ m a n if e s t .x m l の修正
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remove-project name="kernel/common"/>
<project path="kernel" name="kernel/omap" revision="refs/heads/android-omap-2.6.29"/>
<project path="external/alsa-lib" name="platform/external/alsa-lib"/>
<project path="external/alsa-utils" name="platform/external/alsa-utils"/> <project path="hardware/alsa_sound"name="platform/hardware/alsa_sound"/>
</manifest>
「A L S A サウンドドライバ」
m yd ro id / b u ild / t a rg e t / b o a rd / g e n e ric / B o a rd C o n f ig .m k
# c o n f ig .m k
#
# P ro d u c t - s p e c if ic c o m p ile - t im e d e f in it io n s .
#
# T h e g e n e ric p ro d u c t t a rg e t d o e s n 't h a v e a n y h a rd w a re - s p e c if ic p ie c e s .
T A R G E T _ N O _ B O O T L O A D E R := t ru e T A R G E T _ N O _ K E R N E L := t ru e
T A R G E T _ N O _ R A D IO IM A G E := t ru e H A V E _ H T C _ A U D IO _ D R IV E R := t ru e B O A R D _ U S E S _ A L S A _ A U D IO := t ru e B U IL D _ W IT H _ A L S A _ U T IL S := t ru e
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「起動!」
D V Iから無理やり横取りしてるL C D も元気に表示してます。 P C M のサウンドも動いて音も鳴ってます。
U S B O T G が動いてA D B も動いています。
U S B H O S T 経由でキーボードも動いています。
「次はW - S IM の結合をします」
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「ところが・・・・」
B e a g e lB o a rd を破壊してしまいました。
やはりソフト屋が知識もないのにいろいろコネクリまわすとロク
なことがありませんな。
B e a g le B o a rd が起動しなくなってしまいました。
「B e a g le B o a rd を購入しなおし」
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「B e a g le B o a rd R e v C 2 は
すでに注文終了在庫なし」
「R e v C 3 3台購入」
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「納品! されたので続き」
6月2 4 日に納品!
さっそく、新品のB e a g le B o a rd に取替え!!
「A L S A が結合されて、U S B O T G が動
作するソフトウェアバージョンで起動を
チャレンジ」
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「普通に起動するはずなのに・・」
「あれ?U S G O T G が認識しない?」
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「A L S A も認識しない?」
「あれ?あれれ?」
ビーグルボードR e v C 3 のドキュメントを見ると・・・
T W L 4 0 3 0 →
B B S R M C 3 のドキュメント 以下の1 4 ページに
「R e p la c e d T W L 4 0 3 0 w it h T P S 6 5 9 5 0 」と書いてある。
つまり
R E V C 2 からC 3 になったタイミングで
基板上の半導体であるT W L 4 0 3 0 からT P S 6 5 9 5 0 に変わったっ
てことです。
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「 T P S 6 5 9 5 0 って何?」
テキサスインスツルメンツのサイトの説明では以下のようになっ
ています。
In t e g ra t e d P o w e r M a n a g e m e n t IC w it h 3 D C / D C 's , 1 1
L D O 's , A u d io C o d e c , U S B H S T ra n s c e iv e r, C h a rg e r
電源管理と オーディオコーデック、U S B トランシーバなどが
セットになったものと書かれている。
「こいつ・・・」
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「A U D IO 回路図」
モロに影響しています。
「U S B O T G 回路図」
こちらもモロに影響しています
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「がーん!」
「5.W S IM の制御」
「6.W S IM に対してP C M の入出力」
どころか、かなり 戻りが発生しました。
「現状のまとめ」
R E V C 3 でもう一度以下の手順のやり直し
1.U S B O T G を動作
2.U S B H O S T を動作
3.A D B をU S B O T G 経由で動作させる。
4.A T コマンドをW S IM におくる。
5 .P C M の入力、出力
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「 7 月2 日
R E V . C 3 でU S B O T G を動作成功! 」
「 7 月7 日
R E V . C 3 でU S B H O S T を動作成功! 」
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「 7 月1 2 日
R E V .C 3 で
A D B をU S B O T G 経由で動作成功! 」
「7 月1 5 日夜
R IL とW S IM 結合完了!」
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「 7 月1 7 日夜
R E V .C 3 で
A T コマンドをW S IM に送り応答が帰って
きました。 」
「あと、もう少し!」
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「続きはW E B で」
「で、結局」
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「簡単にできるの?」
「全然、思ったより大変。」
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「経験したこと」
A n d ro id もオープンソース
ビーグルボードもオープンソースハードウェア
どちらも、整理された情報がありません。
ネット上には断片的な情報しかなくすべてはメイクアンドトライ
しかありません。
これこそがオープンソース(ハードウェアも含めて)での苦しみ
であります。
が、こういうチャレンジができるのもオープンソースの楽しみで
す。
「ワイヤレスジャパン2 0 0 9 で展
示します。」
日本A n d ro id の会のブースで展示します。
是非触りに来てください。
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp
「感電やヤケドはしないと
思います。・・・多分」
本日ご紹介した内容も以下に載ってい
ます。
h t t p :/ / d .h a t e n a .n e .jp / b s - a n d ro id /
「弊社A n d ro id ブログ」
今後共、てづくりケータイの進捗を上
げていきます。
株式会社 ブリリアントサービス http://www.brilliantservice.co.jp