News&Column

Category Archives: android

Android on EeePC

Engadget Japan の「Eee PC 1000H に Androidを移植」に触発され、手元にあったEeePC 901にトライしてみたところ、Androidのshellが使えるところまでは行きました。しかし、Androidのおなじみの画面が立ち上がらず数日悩んでいました。
柏木君の手が空いたので、EeePCを渡したところ、「x86 AndroidのUSBブートイメージを作成」を参考にしながら数時間の作業で起動ができるようになりました。(柏木君感謝!)

ちなみにこのEeePCは、改造してタッチパネル化してあります。
Linux用のドライバーも出ているので、
追って、タッチパネルのドライバーが認識できるよう、格闘してみようと思っています。

#Windowsでは正常に使えていいるタッチパネルですが、
#Linuxだと、kernel起動時にHUBの可電流のアラートが出るので、もしかすると駄目かも…

Googleアクティベーション対応製品に囲まれたくなる罠

ある出版社が来月Android本を出すらしく、アンケートをされています。
その設問の中で、
「Androidのどこが優れていると思いますか? 」
という設問がありました。
おそらく、多くの技術屋は「オープンソース」と答えると思います。

たしかにその通りだとは思うのですが、
私は、それは一番ではなく、Androidの一番凄いところは
「クラウドに支えられたGoogleのアクティベーション」
にあると思っています。

T-Mobile G1は、始めて使うときにGoogleのアクティベーション(gmail アカウントの入力)が必須になっています。これを知った時に、私は鳥肌が立ちました。「こりゃすげぇ!やっぱりGoogle頭いい!」と。

Androidは、携帯OSというイメージが先行していますが、携帯OSである必要はまったくなく、パソコン、カーナビ、テレビ、冷蔵庫、電子レンジ、FAX…なんでも組み込めるOSです。これらが全て通信が出来て、Googleアクティベーションをしたらどうなるでしょうか?ワクワクしてきませんか?(私はワクワクして眠れなくなりました^^)

昔、一つSONY製品を買うと、接続性や相性の問題で、気が付けばみんなSONY製品に囲まれる罠にはまった事があります。

私は、Googleアクティベーションにより、一つAndorid製品を買うと、みんなにAndorid製品に囲まれたくなる罠がまっている気がしてなりません。「Andorid inside」マークが付いていない家電は総スカンを食う時代が来るんじゃないかと。。。

これは、クラウドを持っているGoogleじゃないと出来ない芸当です。

Googleのクラウドのサーバ増強スピードは、もうだれも(Micosoftも)追いつけないそうです。
仮に、マイクロソフトが追いついたとしても、このロジックに対抗するためには、マイクロソフトもOSをオープンソース&無料で配布しないと勝てません。マイクロソフトのビジネスモデルは「OSは有料」が前提なので、矛盾が生じます。仮に中途半場な廉価版無償OSを出しても駄目だと思います。

Googleのクラウドがまるで、接続ケーブルの規格のように機能し、Goolgeアクティベーション対応製品に囲まれたくなる罠は、数年のうちに訪れるかもしれません。って面白くないですか?^^

が。。。

一点。携帯やPCなら、自分のgmailアカウントでログインするのは有りですが、他の家電は難しいですよね?
たえば、テレビのリモコンを持った時点で、車に乗った時点で、何かワンタッチで本人認証をしてくれないと無理かと。このあたりはどうしたものでしょうか?簡単な鍵的な物が必要かと。日本だと、お財布携帯が思いつきますが、いまのところそいう動きはありません。私が考える、1つの解としては、Android携帯は持っていると思うので、携帯がGoogleにログインしている状態で、「何かをクリックすると、クラウド経由で、自分の車のカーナビの鍵を開ける」というロジックが現実的なような気がしますがどうでしょうか?
すなわち、「Android携帯が赤外線を使わずに全ての身の回りのリモコンに化す」というものです。そいうえば、Twitterで家のSWを制御するという遊びをしていた人がいましたが、これに近いノリが現実路線かもしれません。

海外の携帯を持ち込んで利用するのは合法

以前、「Androidを日本でアクティベートする方法」をblogに書いたところ、日本で使うことは違法であるとのコメントを頂きました。すぐに御返事をするべきだったのですが、自分なりに勉強をしてからと思い、コメントを差し控えてさせて頂いていだいておりました。申し訳御座いません。

以下、私なりに調べてみた内容です。
間違っていたらお教えいただければ幸いです。

■携帯本体について

まず、2003年の電波法改正「外国の無線局の無線設備が電波法第3章に定める技術基準に相当する技術基準に適合する事実」では、CEマークが対象(T-Mobile G1は対象外)且つ、3GはOKで、無線LANはNGという状況だったようです。

次に、2008年1月1日に試行された日米MRA協定によれば、FCCで認定されたもの(Android T-Mobile G1が該当)は日本国内でも利用可能のようです。(参考1,参考2)

■docomoのSIMを指す行為について

とは言え、docomoのSIMを指すのはまた別問題だろうと思い、
docomoさんに聞いてみました。
その結果、

> 誠に申し訳ございませんが、お客様からお問い合わせいただきました
>  「海外で販売された携帯電話の日本国内でのご利用」が、
>  電波法違反になるかなどにつきましては、
>  ドコモでは明確な回答ができかねますことを、何とぞご了承ください。
>  
>   ※ドコモでは、海外事業者が、海外事業者の商標を付して
>   日本ローミング対応として販売している携帯電話については、
>   日本における利用要件を満たして販売している商品であると
>   考えております。
>
>  大変恐縮でございますが、法的な内容につきましては、
>  関係省庁へのお問い合わせをお願いいたします。
>  
>  また、ドコモの商品以外のドコモ通信ネットワークでの
>  利用の可否につきましてもご案内ができかねますため、
>  Google様が提供する携帯電話における、日本国内での
>  ご利用の可否につきましては、お手数ではございますが、
>  一度、Google様にご確認いただければ幸いでございます。
>  
>  このたびは、当方で明確なご案内ができず、申し訳ございませんでした。

との事でした。

この文章はいろんな取り方ができそうなのですが、
取り方によっては、「docomoでも判断および名言ができないが、GoogleがOKと言えばOK」ともとれます。(なんだそれは^^;)

法律を抜いて、docomoさんの損得としては、これからどんどん出てくるであろう、海外の劇安android携帯が、日本の端末の売り上げに影響を及ぼさない限り(メーカーからの突き上げが無い限り)は、回線費用を取りっぱぐれているわけではないので取りあえずは・・・といったとこなのでしょうか?

追って、関係省庁とGoogleに問い合わせてみたいと思います。(^^

訂正&追記:
 Androidの会のMLで御指摘頂きました。 誤:FC → 正:FCC。 御指摘有難う御座いました。
 なお、MLの方でも「FCCが取れていればMRAによりOK」という回答を総務省から得た方がいらっしゃいましたので、安心して使っていいと思われます。

続きを読む »

日本の携帯端末メーカー頑張れ!

昨今の日本の携帯端末メーカーの業績はかなりまずい状況のようですね。
昨年のDoCoMoの端末価格改定に始まり、景気不安と高額な多機能携帯が売れる要素がまるでありません。
そんな中、世界では、Android携帯の2号機、3号機が発表されはじめました。
特にオーストラリアのやつは凄くて、円高の影響も相まって価格が日本円で1万円台。SIMフリー端末で海外販売OKなんだそうです。
たぶん、業界トップのNokiaやSamsonはたまったもんじゃないのではないでしょうか?
ただ、ガラパゴス日本は、まだAndroidの日本語対応・絵文字対応が来年なので、まだ大丈夫。(^^
といっても、Androidの日本語対応・絵文字対応が完了した後に出てくると思われる中国製のAndroid携帯(日本円で1万円を切る?)は、かなりやばそうな感じがしています。

ガラパゴス日本の最後のお堀はSIMの制限でしょうか?
私の実験結果なので、もし間違っていたら教えてほしいのですが、
・DoCoMoはパケット定額を開放していない
・SotbankはAPNを正式には公開をしていない
・AUはSIMの移動が出来ないようになっている
という状況で、低価格端末が国内に流入してもすぐにはブレイクは出来ないようにちゃんとなっているようです。(さすが頭いい)

で、私が今、気になっている伏兵は、3Gではなく、WiMAXです。
来年、国内サービスがスタートしてみないとわかりませんが、
WiMAXのSIMがどうなっているのか非常に興味があります。
WiMAX対応のAndroid携帯が海外では出るようなので、WiMAXのSIM次第で、ブレイクする可能性があります。
パケット定額を開放すると設備コストが合わなくなる3Gキャリアと異なり、WiMAXは設備も安く、データ通信メインなので、もしかしたら・・・と思ったりします。

でも。。。

最近、G1やiPhoneを使っていて思うのですが、結局、普段使いの携帯は日本の携帯を使っている自分がいます。
なぜか?
答えはなぜ日本車に乗っているか?に近いのかもしれません。
音の鳴り分け、カメラのクオリティ、メールの使い勝手、電池の持ち等で総合すると、今ならまだ日本の携帯を選んでしまう自分がいます。

日本の携帯端末メーカーは、円高で苦しいタイミングだと思いますが、是非、このAndroidを踏み台に、再び世界に打って出てほしいと思う次第です。
#シャープさんのザウルス陣営あたりが世界に誇るAndroid携帯を出してくれないかな~

G1出荷台数20万分の2台が仙台で出会う

携帯の勉強会、いきべんの仙台編に行ってきました。
いきべんに出席するようになった、そもそものきっかけは、
お客さんに「会津に高松さんと同じ匂いのする面白い人がいるので、いっしょに仙台編に行きませんか?」と言われたのが始まりでした。

行ってみると、ほかのパネラーとは一線を画すビジネス展開をしている、ジークルーの佐々木さんがいらっしゃいました。
「たしかに、この人、面白そう!(*^^*)」
と思い、勉強会終了後、名刺交換に行くと、なんと手元にG1が!
思わず、自分もG1をポケットから出してしまいました。(^^
なんと、G1の推定販売台数20万台分の2台が仙台でランデブーです。
たぶんアメリカで発売から2週間。日本で普通に使える状態のG1は、まだ数える程しかないはずです。
さらに色々と話を伺っていると、なんと、佐々木さん、うちのblogを見て、アクティベートをされたと聞いて、ビックリ!
ネットって、こういう事があるから面白いですよね~♪
実はこの仙台編の前に、日中、仙台の会社の社長さんとお会いしたのですが、スラッシュドットで紹介された弊社のR2-D2を御存知で驚いた次第です。

この他に、仙台編では、KLabの真田さんのダメ出しはとても面白かったです。
私が考えていたことをズバズバ言うので、つい拍手をしてしまったのですが、拍手は自分ひとりでした。(^^;

佐々木さんも同じ意見だったのですが、やはりiPhoneやWindows7は、低所得圏ではNGだと思います。
アンドロイドは、間違いなく、来年、中国をはじめとした低所得圏が起爆剤となり世界を席巻する風を感じました。
その規模は1億台とかじゃなく、数10億に達すると思っています。

確かに半年間の無料文化(Googleは確信犯?)を作ってしまうので、App Storeのような旨みがなくなってしまう可能性があるAndroid Market。
これまでのPC向けシェアウエアの歴史やLinux向け有償ソフトビジネスの歴史を思うと、「Androidに有料アプリのゴールドは落ちていない」と思っていましたが、佐々木さんのお話を伺っているうちに、別にそれでも踊ってみたくなってきました。

やっぱり、お祭りは見るよりも踊った方が楽しいですよね♪

iPhoneの数百万台じゃなく、下手すると数10億の端末にたった25$で簡単にリーチできる世界は、これまで誰も体験をしたことがない何かがおこるかも・・・と思うとワクワクしてきます。

今回の仙台で、頭の中のいろんな考えが、また一つ、まとまったような気がします。

ガラパゴス携帯の開国とサーバ関連ビジネスの崩壊は、着実に訪れようとしています。

その時、うちの会社は。。。

T-Mobile G1(android携帯)のroot権限取得手順

また、会社のblogにこのような事を書くとお叱りを頂きそうなのですが、
T-Mobile G1 のroot権限の取得手順を調べていたところ面白い方法があることを知りました
試したところ見事、PCから携帯にroot権限でログインできました。

■用意するもの

・無線LAN環境(G1とPCが一緒に接続できる環境。出来ればDHCPではなく固定IP設定。)
・android market で pTerminal をインストール(pTerminalはroot権限ではなくユーザ権限になります。今回の目的はroot権限のGETです)

■手順

1. まずG1を落とします
2. 普通にG1の電源を入れます
3. ここからがミソで、起動したら出来るだけ早く pTerminal を起動します
4. すぐさま cd /system/bin に移動し telnetd を起動します
5. そして、すぐさま PC から G1 のIPにtelnet します

ちょっと熟練を要すのですが、これだけで id も pass も無しで、root権限でログインが出来てしまいました。(^^
iPhoneと違ってsshじゃないところがちょっと駄目な感じがしますが、ちょっと面白い手順です。
そのうちOS updateで、出来なくなってしまいそうな感もありますが、11/7現在では問題なく入れるようです。

■T-Mobile G1 のOS環境

root権限でちょっと漁って見た感じを貼り付けます

▼CPU(/proc/cpuinfo)

Processor     : ARMv6-compatible processor rev 2 (v6l)
BogoMIPS        : 383.38
Features        : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture: 6TEJ
CPU variant     : 0x1
CPU part        : 0xb36
CPU revision    : 2
Cache type      : write-back
Cache clean     : cp15 c7 ops
Cache lockdown  : format C
Cache format    : Harvard
I size          : 32768
I assoc         : 4
I line length   : 32
I sets          : 256
D size          : 32768
D assoc         : 4
D line length   : 32
D sets          : 256

Hardware        : trout
Revision        : 0080
Serial          : 0000000000000000

▼Memory(/proc/meminfo)

MemTotal:        99128 kB
MemFree:          1736 kB
Buffers:           232 kB
Cached:          41688 kB
SwapCached:          0 kB
Active:          72184 kB
Inactive:        12884 kB
SwapTotal:           0 kB
SwapFree:            0 kB
Dirty:               0 kB
Writeback:           0 kB
AnonPages:       43172 kB
Mapped:          23556 kB
Slab:             4424 kB
SReclaimable:      976 kB
SUnreclaim:       3448 kB
PageTables:       3936 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:     49564 kB
Committed_AS:  1289100 kB
VmallocTotal:   155648 kB
VmallocUsed:     58492 kB
VmallocChunk:    70652 kB

▼ディスク構造(df)

/dev: 49564K total, 0K used, 49564K available (block size 4096)
/sqlite_stmt_journals: 4096K total, 0K used, 4096K available (block size 4096)
/system: 69120K total, 64944K used, 4176K available (block size 4096)
/data: 76544K total, 19992K used, 56552K available (block size 4096)
/cache: 69120K total, 1160K used, 67960K available (block size 4096)
/sdcard: 991488K total, 69056K used, 922432K available (block size 16384)

▼プロセス(ps)

USER     PID   PPID  VSIZE RSS   WCHAN    PC         NAME
root     1     0     264   176   c00a5cd0 0000c36c S /init
root     2     0     0     0     c005bd28 00000000 S kthreadd
root     3     2     0     0     c004c12c 00000000 S ksoftirqd/0
root     4     2     0     0     c006e978 00000000 S watchdog/0
root     5     2     0     0     c0058b40 00000000 S events/0
root     6     2     0     0     c0058b40 00000000 S khelper
root     7     2     0     0     c01824d0 00000000 S suspend/0
root     8     2     0     0     c0058b40 00000000 S kblockd/0
root     9     2     0     0     c0058b40 00000000 S kmmcd
root     10    2     0     0     c0058b40 00000000 S btaddconn
root     11    2     0     0     c0058b40 00000000 S btdelconn
root     12    2     0     0     c0058b40 00000000 S qmi
root     13    2     0     0     c003263c 00000000 D rpcrouter
root     14    2     0     0     c0058b40 00000000 S detection/0
root     15    2     0     0     c0032fb4 00000000 S krpcserversd
root     16    2     0     0     c007a964 00000000 S pdflush
root     17    2     0     0     c007a964 00000000 S pdflush
root     18    2     0     0     c007e8b4 00000000 S kswapd0
root     19    2     0     0     c0058b40 00000000 S aio/0
root     20    2     0     0     c0032fb4 00000000 S kadspd
root     21    2     0     0     c0058b40 00000000 S panel_on/0
root     22    2     0     0     c0151ff8 00000000 S mtdblockd
root     23    2     0     0     c0157d84 00000000 S USB mass_storag
root     24    2     0     0     c0058b40 00000000 S synaptics_wq
root     25    2     0     0     c020dfc0 00000000 S krfcommd
root     26    1     724   316   c0049a2c afe0c4cc S /system/bin/sh
system   27    1     796   248   c0189f10 afe0b74c S /system/bin/servicemanager
root     28    1     1828  332   ffffffff afe0b50c S /system/bin/mountd
root     29    1     652   248   c0196e68 afe0c0bc S /system/bin/debuggerd
radio    30    1     7720  940   ffffffff afe0bdbc S /system/bin/rild
root     31    2     0     0     c01751d0 00000000 S mmcqd
root     32    1     66044 19412 c00a62ec afe0b874 S zygote
media    33    1     19344 3420  ffffffff afe0b74c S /system/bin/mediaserver
bluetooth 35    1     1168  732   c00a5cd0 afe0c69c S /system/bin/dbus-daemon
root     37    1     788   288   c01fb090 afe0b50c S /system/bin/installd
compass  39    1     1304  572   c0169014 afe0b74c S /system/bin/akmd
shell    40    1     3320  140   ffffffff 0000e664 S /sbin/adbd
system   53    32    187260 23936 ffffffff afe0b74c S system_server
bluetooth 77    1     728   308   c00a5cd0 afe0c69c S /system/bin/hciattach
root     80    2     0     0     c016da84 00000000 D ksdiorqd
root     81    2     0     0     c0058b40 00000000 S tiwlan_wifi_wq
wifi     84    1     2960  1096  ffffffff afe0b874 S /system/bin/wpa_supplicant
bluetooth 95    1     1448  828   c00a5cd0 afe0c69c S /system/bin/hcid
root     100   1     644   228   c009ef28 afe0b50c S /system/bin/logwrapper
dhcp     101   100   692   360   c00a5cd0 afe0c69c S dhcpcd
radio    109   32    97328 16904 ffffffff afe0c824 S com.android.phone
app_11   114   32    109216 17856 ffffffff afe0c824 S android.process.acore
app_14   140   32    87140 12432 ffffffff afe0c824 S android.process.media
app_11   152   32    90916 12160 ffffffff afe0c824 S com.tmobile.myfaves
app_13   162   32    87052 12244 ffffffff afe0c824 S com.android.mms
app_1    164   32    105728 16984 ffffffff afe0c824 S com.google.process.gapps
root     195   2     0     0     c0032dc8 00000000 D audmgr_rpc
app_26   197   32    118832 13112 ffffffff afe0c824 S src.com.poidio.terminal
app_3    204   32    85768 10108 ffffffff afe0c824 S com.android.voicedialer
app_25   213   32    89756 12216 ffffffff afe0c824 S android.process.im
app_19   225   32    90024 12884 ffffffff afe0c824 S com.android.calendar
app_23   237   32    86008 11220 ffffffff afe0c824 S com.android.alarmclock
app_17   251   32    88500 12232 ffffffff afe0c824 S com.google.android.gm
root     266   26    664   276   c00a5cd0 afe0c69c S telnetd
root     269   266   724   324   c0127394 afe0b50c S /system/bin/sh
root     278   266   724   324   c0049a2c afe0c4cc S /system/bin/sh
root     291   278   868   328   00000000 afe0b50c R ps

▼bootlog(dmesg)

<5>[    0.000000] Linux version 2.6.25-01843-gfea26b0 (android-build@apa27.mtv.corp.google.com) (gcc version 4.2.1) #6 PREEMPT Mon Oct 6 14:13:36 PDT 2008
<4>[    0.000000] CPU: ARMv6-compatible processor [4117b362] revision 2 (ARMv6TEJ), cr=00c5387f
<4>[    0.000000] Machine: trout
<6>[    0.000000] AKM Data size = 1018 , 0x89768976, size = 4064
<4>[    0.000000] Memory policy: ECC disabled, Data cache writeback
<7>[    0.000000] On node 0 totalpages: 25856
<7>[    0.000000]   DMA zone: 202 pages used for memmap
<7>[    0.000000]   DMA zone: 0 pages reserved
<7>[    0.000000]   DMA zone: 25654 pages, LIFO batch:7
<7>[    0.000000]   Normal zone: 0 pages used for memmap
<7>[    0.000000]   Movable zone: 0 pages used for memmap
<4>[    0.000000] trout_init_map_io()
<6>[    0.000000] clock_init()
<6>[    0.000000] ACPU running at 384000 KHz
<4>[    0.000000] WARNING - Bad VDD (0 != 3) for this freq
<4>[    0.000000] CPU0: D VIPT write-back cache
<4>[    0.000000] CPU0: I cache: 32768 bytes, associativity 4, 32 byte lines, 256 sets
<4>[    0.000000] CPU0: D cache: 32768 bytes, associativity 4, 32 byte lines, 256 sets
<4>[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 25654
<5>[    0.000000] Kernel command line: board_trout.disable_uart3=0 board_trout.usb_h2w_sw=0 board_trout.disable_sdcard=0 board_trout.smisize=64  androidboot.baseband=1.22.12.29 androidboot.bootloader=0.95.0000 androidboot.carrier=TMUS board_trout.keycaps=qwerty androidboot.mode=normal androidboot.serialno=HT839GZ06734 no_console_suspend=1
<3>[    0.000000] Unknown boot option `board_trout.smisize=64': ignoring
<3>[    0.000000] Unknown boot option `androidboot.baseband=1.22.12.29': ignoring
<3>[    0.000000] Unknown boot option `androidboot.bootloader=0.95.0000': ignoring
<3>[    0.000000] Unknown boot option `androidboot.carrier=TMUS': ignoring
<3>[    0.000000] Unknown boot option `androidboot.mode=normal': ignoring
<4>[    0.000000] trout_init_irq()
<4>[    0.000000] PID hash table entries: 512 (order: 9, 2048 bytes)
<4>[    0.000000] Console: colour dummy device 80x30
<6>[    0.000000] console [tty0] enabled
<6>[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
<6>[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
<6>[    0.010000] Memory: 101MB = 101MB total
<5>[    0.010000] Memory: 98744KB available (2552K code, 759K data, 100K init)
<7>[    0.010000] Calibrating delay loop... 383.38 BogoMIPS (lpj=1916928)
<4>[    0.230000] Mount-cache hash table entries: 512
<6>[    0.230000] CPU: Testing write buffer coherency: ok
<6>[    0.230000] net_namespace: 440 bytes
<6>[    0.230000] NET: Registered protocol family 16
<4>[    0.230000] trout_init() revision=128
<4>[    0.240000] trout_init: cpld_usb_hw2_sw = 0
<3>[    0.240000] trout_gpio_irq_handler: got masked interrupt: 0:80
<6>[    0.340000] msm_i2c_probe
<6>[    0.340000] msm_i2c_probe: clk_ctl 35d, 100000 Hz
<6>[    0.380000] Bluetooth: Core ver 2.11
<6>[    0.380000] NET: Registered protocol family 31
<6>[    0.380000] Bluetooth: HCI device and connection manager initialized
<6>[    0.380000] Bluetooth: HCI socket layer initialized
<6>[    0.380000] NET: Registered protocol family 2
<7>[    0.390091] Switched to high resolution mode on CPU 0
<6>[    0.470701] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
<6>[    0.472868] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
<6>[    0.473326] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
<6>[    0.473540] TCP: Hash tables configured (established 4096 bind 4096)
<6>[    0.473601] TCP reno registered
<6>[    0.501525] Unpacking initramfs... done
<6>[    0.556042] Freeing initrd memory: 138K
<6>[    0.558697] Registered led device: lcd-backlight
<6>[    0.559429] smd_init()
<6>[    0.559490] smd_core_init()
<6>[    0.559735] smd_alloc_channel() 'SMD_RPCCALL' cid=2, shared=e010d9a0
<6>[    0.560274] smd_alloc_channel() 'SMD_DATA5' cid=11, shared=e0119a18
<6>[    0.560610] smd_alloc_channel() 'SMD_DATA6' cid=12, shared=e011da40
<6>[    0.560915] smd_alloc_channel() 'SMD_DATA7' cid=13, shared=e0121a68
<6>[    0.561190] smd_alloc_channel() 'SMD_DATA11' cid=17, shared=e01119c8
<6>[    0.561495] smd_alloc_channel() 'SMD_CS_A2M' cid=33, shared=e01159f0
<6>[    0.561800] smd_alloc_channel() 'SMD_DATA5_CNTL' cid=38, shared=e0125a90
<6>[    0.562136] smd_alloc_channel() 'SMD_DATA6_CNTL' cid=39, shared=e0129ab8
<6>[    0.562410] smd_alloc_channel() 'SMD_DATA7_CNTL' cid=40, shared=e012dae0
<6>[    0.562746] smd_core_init() done
<4>[    0.565218] SMD: ch 2 OPENING -> OPENED
<6>[    0.566683] hw3d: 0 init
<6>[    0.567202] msm_perf_init():
<6>[    0.568880] H2W: Registering H2W (headset) driver
<6>[    0.571525] input: h2w headset as /class/input/input0
<6>[    0.583662] RPC_TIME_TOD_SET_APPS_BASES:
<4>[    0.583692]       tick = 334840
<4>[    0.583692]       stamp = 452987078
<6>[    0.588361] ashmem: initialized
<4>[    0.590091] yaffs Oct  6 2008 14:13:20 Installing.
<6>[    0.590305] io scheduler noop registered
<6>[    0.590396] io scheduler anticipatory registered (default)
<6>[    0.591068] mddi_pmdh: init() base=0xe000b000 irq=16
<6>[    0.596835] get_smem_clock: state 10429 clock 0
<6>[    0.630274] mddi cmd send rtd: int 3a000, stat 8063, rtd val d
<6>[    0.650762] mddi_pmdh: publish: mddi_c_d263_0000
<6>[    0.652594] vsync on gpio 97 now 0
<6>[    0.652716] mddi_pmdh: mddi_add_panel(c02eef78, c02b3a50)
<6>[    0.652777] mddi_pmdh: publish: mddi_panel
<6>[    0.653265] msmfb_probe() installing 320 x 480 panel
<6>[    0.691037] msm_serial: detected port #0
<6>[    0.691342] msm_serial.0: ttyMSM0 at MMIO 0xa9a00000 (irq = 9) is a MSM
<6>[    0.692258] msm_serial: driver initialized
<6>[    0.694272] loop: module loaded
<6>[    0.694425] PPP generic driver version 2.4.2
<6>[    0.694730] PPP Deflate Compression module registered
<6>[    0.694791] PPP BSD Compression module registered
<4>[    0.704699] allocated dma buffer at ffc01000, dma_addr 16130000
<4>[    0.704943] read CFG0 = aad400c0, CFG1 = 4745c
<4>[    0.705035] CFG0 = e8d408c0, CFG1 = 4745c
<6>[    0.705096] CFG0: cw/page=3 ud_sz=516 ecc_sz=10 spare_sz=1 num_addr_cycles=5
<4>[    0.705218] NAND_READ_ID = 1500aaec
<4>[    0.705371] status: c03120
<4>[    0.705432] nandid: 1500aaec maker ec device aa
<4>[    0.705523] CFG0: cw/page=3 ud_sz=512 ecc_sz=10 spare_sz=5
<4>[    0.705615] DEV_CMD1: f00f3000
<6>[    0.705676] NAND_EBI2_ECC_BUF_CFG: 1ff
<4>[    0.705737] flash_id: 1500aaec size 10000000
<5>[    0.705798] Creating 6 MTD partitions on "msm_nand":
<5>[    0.705889] 0x024c0000-0x02500000 : "misc"
<5>[    0.706866] 0x026c0000-0x02bc0000 : "recovery"
<5>[    0.707720] 0x02bc0000-0x02e40000 : "boot"
<5>[    0.708544] 0x02e40000-0x071c0000 : "system"
<5>[    0.709429] 0x071c0000-0x0b540000 : "cache"
<5>[    0.710579] 0x0b540000-0x10000000 : "userdata"
<6>[    0.712136] usb_probe() io=c6806000, irq=47, dma=ffc02000(1613a000)
<6>[    0.713021] usb_function_register() 'adb'
<6>[    0.713448] usb_function_register() 'usb_mass_storage'
<6>[    0.713540] msm_hsusb: functions bound. starting.
<6>[    0.713601] usb_bind_func() 'usb_mass_storage'
<6>[    0.714119] usb_mass_storage usb_mass_storage: Number of LUNs=1
<6>[    0.714241] usb_bind_func() 'adb'
<6>[    0.714303] adb_bind() c612c874, c612ca34
<6>[    0.714455] adb_bind() allocated 4 rx and 4 tx requests
<6>[    0.715249] usb_function_register() 'diag'
<6>[    0.715798] mice: PS/2 mouse device common for all mice
<6>[    0.715981] hsusb: IDLE -> ONLINE
<6>[    0.716134] hsusb: reset controller
<4>[    0.760091] ulpi: write 0x40 to 0x31
<4>[    0.760213] ulpi: write 0x1d to 0x0d
<4>[    0.760274] ulpi: write 0x1d to 0x10
<6>[    0.760305] ept #0 out max:64 head:ffc02000 bit:0
<6>[    0.760396] ept #1 out max:512 head:ffc02080 bit:1
<6>[    0.760457] ept #2 out max:512 head:ffc02100 bit:2
<6>[    0.760518] ept #0 in max:64 head:ffc02040 bit:16
<6>[    0.760579] ept #1 in max:512 head:ffc020c0 bit:17
<6>[    0.760640] ept #2 in max:512 head:ffc02140 bit:18
<6>[    0.760824] usb: notify offline
<6>[    0.760915] hsusb: ONLINE -> OFFLINE
<3>[    0.770640] msm_i2c msm_i2c.0: Error during data xfer (-5)
<6>[    0.781495] synaptics_ts_probe: Product Major Version 1
<6>[    0.782929] synaptics_ts_probe: Product Minor Version c
<6>[    0.784303] synaptics_ts_probe: product property 2
<6>[    0.785706] synaptics_ts_probe: device control 81
<6>[    0.787080] synaptics_ts_probe: interrupt enable 3
<6>[    0.790000] synaptics_ts_probe: 0xe0: 1 1 1 2 1 c 0 0
<6>[    0.790000] synaptics_ts_probe: max_x 3480, max_y 5368
<6>[    0.790000] synaptics_ts_probe: inactive_x -80 -80, inactive_y -32 -32
<6>[    0.790000] synaptics_ts_probe: snap_x 240-248 240-248, snap_y 80-88 80-88
<6>[    0.790000] input: synaptics-rmi-touchscreen as /class/input/input1
<6>[    0.840854] synaptics_ts_probe: Start touchscreen synaptics-rmi-touchscreen in interrupt mode
<6>[    0.841251] GPIO Event Driver
<6>[    0.841922] GPIO Keypad Driver: Start keypad matrix for trout-keypad-v3 in interrupt mode
<4>[    0.842319] No IRQF_TRIGGER set_type function for IRQ 191 (troutgpio)
<4>[    0.842472] No IRQF_TRIGGER set_type function for IRQ 192 (troutgpio)
<6>[    0.842685] GPIO Input Driver: Start gpio inputs for trout-keypad-v3 in interrupt mode
<4>[    0.842807] No IRQF_TRIGGER set_type function for IRQ 188 (troutgpio)
<6>[    0.842929] GPIO Input Driver: Start gpio inputs for trout-keypad-v3 in interrupt mode
<6>[    0.843875] input: trout-keypad-v3 as /class/input/input2
<6>[    0.892929] smd_alloc_channel() 'SMD_GPSNMEA' cid=27, shared=e0131b10
<4>[    0.901007] No IRQF_TRIGGER set_type function for IRQ 186 (troutgpio)
<6>[    0.901220] GPIO Input Driver: Start gpio inputs for trout-nav in interrupt mode
<6>[    0.901953] input: trout-nav as /class/input/input3
<6>[    0.961098] rs30000048:0da5b528 rs30000048:0da5b528: rtc core: registered msm_rtc as rtc0
<6>[    0.964852] Registered led device: blue
<6>[    0.965188] Registered led device: green
<6>[    0.965462] Registered led device: red
<6>[    0.965737] AKM8976A compass driver: init
<4>[    0.965889] No IRQF_TRIGGER set_type function for IRQ 187 (troutgpio)
<6>[    0.966683] input: compass as /class/input/input4
<6>[    0.991220] pdev->dev.platform_data is not NULL
<6>[    0.991403] mt9t013: probe
<6>[    0.991464] mt9t013: init
<6>[    0.991525] mt9t013: mt9t013_register_init
<6>[    0.991587] mt9t013: camera sensor_reset set as 1
<6>[    0.993662] mt9t013: clk_get(vfe_mdc_clk): c02a4cd4
<6>[    0.993784] mt9t013: clk_get(mdc_clk): c02a4954
<6>[    0.993875] mt9t013: clk select 1
<6>[    0.993936] mt9t013: clk_get(vfe_clk): c02a4cb4
<6>[    0.994058] mt9t013: enable vfe_clk
<6>[    1.020061] mt9t013: clk select 0
<6>[    1.028697] mt9t013: camera sensor init sequence done
<6>[    1.028758] mt9t013: camera sensor suspend sequence
<6>[    1.028880] mt9t013: disabling vfe_clk
<6>[    1.028972] mt9t013: clk_put(vfe_clk): c02a4cb4
<6>[    1.029277] mt9t013: camera sensor suspend sequence done
<6>[    1.030122] Bluetooth: HCI UART driver ver 2.2
<6>[    1.030213] Bluetooth: HCI H4 protocol initialized
<6>[    1.030274] Bluetooth: HCILL protocol initialized
<6>[    1.031464] mmc0: Qualcomm MSM SDCC at 0x00000000e1000000 irq 24,0 dma -1
<6>[    1.031587] mmc0: 4 bit data mode enabled
<6>[    1.031648] mmc0: MMC clock 144000 -> 20000000 Hz, PCLK 64000000 Hz
<6>[    1.031739] mmc0: Slot eject status = 1
<6>[    1.031770] mmc0: Power save feature enable = 0
<6>[    1.031831] mmc0: PIO transfer enabled
<6>[    1.032929] mmc1: Qualcomm MSM SDCC at 0x00000000e1001000 irq 26,194 dma 8
<6>[    1.033051] mmc1: 4 bit data mode enabled
<6>[    1.033143] mmc1: MMC clock 144000 -> 20000000 Hz, PCLK 64000000 Hz
<6>[    1.033204] mmc1: Slot eject status = 0
<6>[    1.033265] mmc1: Power save feature enable = 0
<6>[    1.033326] mmc1: DM non-cached buffer at ffc04000, dma_addr 0x1615b000
<6>[    1.033387] mmc1: DM cmd busaddr 370520064, cmdptr busaddr 370520832
<6>[    1.034181] Registered led device: spotlight
<6>[    1.034516] Registered led device: keyboard-backlight
<6>[    1.034852] Registered led device: button-backlight
<4>[    1.035493] No IRQF_TRIGGER set_type function for IRQ 190 (troutgpio)
<6>[    1.036103] ram_console: got buffer at 16d00000, size 20000
<6>[    1.036500] ram_console: found existing buffer, size 76720, start 76720
<6>[    1.190518] smd_alloc_channel() 'SMD_DS' cid=0, shared=e0135b38
<6>[    1.191251] smd_alloc_channel() 'SMD_DATA1' cid=7, shared=e0139b60
<6>[    1.191922] smd_alloc_channel() 'SMD_DATA2' cid=8, shared=e013db88
<6>[    1.192411] smd_alloc_channel() 'SMD_DATA3' cid=9, shared=e0141bb0
<6>[    1.192899] smd_alloc_channel() 'SMD_DATA4' cid=10, shared=e0145bd8
<6>[    1.499796] console [ram-1] enabled
<6>[    1.501434] logger: created 64K log 'log_main'
<6>[    1.501983] logger: created 256K log 'log_events'
<6>[    1.502472] logger: created 64K log 'log_radio'
<6>[    1.504333] pmem: 1 init
<6>[    1.505371] pmem_adsp: 0 init
<6>[    1.510610] pmem_gpu0: 0 init
<6>[    1.512227] pmem_gpu1: 0 init
<6>[    1.513692] pmem_camera: 0 init
<4>[    1.515554] nf_conntrack version 0.5.0 (2048 buckets, 8192 max)
<6>[    1.523906] ip_tables: (C) 2000-2006 Netfilter Core Team
<6>[    1.524547] TCP cubic registered
<6>[    1.525066] NET: Registered protocol family 1
<6>[    1.525828] NET: Registered protocol family 17
<6>[    1.526225] Bluetooth: L2CAP ver 2.9
<6>[    1.526561] Bluetooth: L2CAP socket layer initialized
<6>[    1.527141] Bluetooth: SCO (Voice Link) ver 0.6
<6>[    1.527476] Bluetooth: SCO socket layer initialized
<6>[    1.528453] Bluetooth: RFCOMM socket layer initialized
<6>[    1.528880] Bluetooth: RFCOMM TTY layer initialized
<6>[    1.529460] Bluetooth: RFCOMM ver 1.9
<6>[    1.530457] clock_late_init() disabled 20 unused clocks
<6>[    1.534089] rs30000048:0da5b528 rs30000048:0da5b528: setting system clock to 2008-11-06 15:19:51 UTC (1225984791)
<6>[    1.534974] Freeing init memory: 100K
<3>[    1.744791] init: cannot open '/initlogo.rle'
<6>[    1.751251] yaffs: dev is 32505859 name is "mtdblock3"
<6>[    1.751678] yaffs: passed flags ""
<4>[    1.751983] yaffs: Attempting MTD mount on 31.3, "mtdblock3"
<4>[    1.781222] yaffs: restored from checkpoint
<4>[    1.781924] yaffs_read_super: isCheckpointed 1
<6>[    1.784182] yaffs: dev is 32505861 name is "mtdblock5"
<6>[    1.784854] yaffs: passed flags ""
<4>[    1.785189] yaffs: Attempting MTD mount on 31.5, "mtdblock5"
<4>[    1.911863] yaffs: restored from checkpoint
<4>[    1.912595] yaffs_read_super: isCheckpointed 1
<6>[    1.919096] yaffs: dev is 32505860 name is "mtdblock4"
<6>[    1.919767] yaffs: passed flags ""
<4>[    1.920154] yaffs: Attempting MTD mount on 31.4, "mtdblock4"
<4>[    1.924762] yaffs: restored from checkpoint
<4>[    1.925495] yaffs_read_super: isCheckpointed 1
<4>[    1.970093] mmc_sd_init_card: Delay 250 ms
<4>[    2.335525] mmc1: host does not support reading read-only switch. assuming write-enable.
<6>[    2.336288] mmc1: new SD card at address deeb
<6>[    2.338058] mmcblk0: mmc1:deeb SU01G 992000KiB
<6>[    2.338882]  mmcblk0: p1
<6>[    2.586258] enabling adb function
<3>[    2.594335] FAT: bogus number of reserved sectors
<6>[    2.595068] VFS: Can't find a valid FAT filesystem on dev mmcblk0.
<6>[    2.689828] warning: `rild' uses 32-bit capabilities (legacy support in use)
<4>[    3.041865] SMD: ch 0 OPENING -> OPENED
<6>[    3.042597] qmi: smd closed
<4>[    3.043208] SMD: ch 38 OPENING -> OPENED
<6>[    3.043543] qmi: smd opened
<6>[    3.044581] qmi: smd closed
<4>[    3.045008] SMD: ch 39 OPENING -> OPENED
<6>[    3.045558] qmi: smd opened
<6>[    3.046168] qmi: ctl: wds use client_id 0x01
<6>[    3.046565] qmi: ctl: wds use client_id 0x01
<6>[    3.047358] qmi: smd closed
<4>[    3.047724] SMD: ch 40 OPENING -> OPENED
<6>[    3.048060] qmi: smd opened
<6>[    3.049800] qmi: ctl: wds use client_id 0x01
<4>[   12.681338] init sharp panel
<6>[   17.757409] android_power: wakeup (0->0) at 25547348632 (2008-11-06 15:20:15.213256836 UTC)
<6>[   18.705761] TIWLAN: Driver loading
<4>[   18.706280] trout_wifi_power: 1
<4>[   18.934906] trout_wifi_reset: 0
<4>[   18.993686] trout_wifi_set_carddetect: 1
<7>[   18.994113] mmc0: card_present 1
<6>[   18.994510] mmc0: Slot status change detected (0 -> 1)
<4>[   19.010481] mmc0: card claims to support voltages below the defined range. These will be ignored.
<4>[   19.011183] mmc0: SDIO card claims to support the incompletely defined 'low voltage range'. This will be ignored.
<6>[   19.014723] mmc0: new SDIO card at address 0001
<6>[   19.018690] TIWLAN: Found SDIO controller (vendor 0x104c, device 0x9066)
<6>[   19.028782] TIWLAN: Driver initialized (rc 0)
<6>[   19.029240] TIWLAN: Driver loaded
<6>[   31.041398] audmgr_rpc_thread() start
<6>[   31.042771] audio_enable()
<6>[   31.043168] ++++++++++++++++++++++++++++++

▼その他

・cronやatはない(iPhoneにはあるらしい。ちょっと残念。)
・sshd もない(iPhoneにはあるらしい。とても残念。)
・viもない
・/system/bin の下にコマンド類がある(/bin や /usr/binではない)。以下/system/binのls結果

df
rmdir
dmesg
renice
dumpcrash
rm
reboot
printenv
dd
ps
date
notify
cmp
netstat
chmod
mv
cat
mount
wipe
mkdosfs
watchprops
wpa_supplicant
wpa_cli
mkdir
wlan_loader
toolbox
telnetd
system_server
svc
surfaceflinger
vmstat
ssltest
sh
servicemanager
service
lsmod
sdutil
sdptool
rild
radiooptions
qemud
pm
umount
playmp3
ping
netcfg
mountd
ls
monkey
mediaserver
logwrapper
logcat
linker
itr
top
installd
input
htclogkernel
hostapd_cli
log
hostapd
hcid
hciattach
flash_image
fillup
dvz
sync
dumpsys
dumpstate
dhcpcd
dexopt
ln
debuggerd
debug_tool
dbus-daemon
dalvikvm
app_process
am
stop
akmd
kill
start
ioctl
smd
insmod
sleep
iftop
setprop
ifconfig
setconsole
id
sendevent
hd
schedtop
getprop
route
getevent
rmmod

色々、突っ込みどころ満載といった感じで、もっと遊びたいのですが、時間がなくここまで。
明日は、仙台の携帯勉強会に出席です。

Android 携帯を日本でアクティベートする方法

これを、会社のblogに書くのは微妙にはばかる気がするのですが、Androidのデバッグ用に購入した
T-Mobile G1が無事動作するようになりました。
以下、新品の未アクティベート(未google認証)のandroid T-Mobile G1を日本のDoCoMoで使えるようにする手順です。
たぶん、今後、海外で登場するandroid携帯を未アクティベート状態&SIM無しでお土産で勝手帰ってきても、このノリで国内でもアクティベート&デバッグが出来るものと思われます。
なお、本操作は、くれぐれも自己責任でお願いします。
アクティベートにDoCoMoのSIMを使うだけで、アクティベート後は、SIMをはずされる事をお勧めします。

もし、本掲載がまずかったら連絡下さい >docomo様

○用意するもの

 ・T-Mobile G1 (適当に海外から入手)
 ・DoCoMoのSIM(Data専用契約のSIMはNG。始めこれで格闘していたので駄目だった。)

○手順

1. まずhttp://www.unlock-tmobileg1.com/ でSIMロック解除のPINコードを購入(他に良い方法があったら教えてください。)
2. DoCoMoのMopera U (ライトプランでOK。定額はNG。)の管理画面にアクセスし、ID,Passをメモ。
3. DoCoMoのカードを挿入してG1を立ち上げる
4. 1で購入したPINコードを入力
5. Google認証画面になる。このときシグナルが振れている事を確認。
7. MenuボタンをクリックしAPN setting画面を表示
8. 再びAPN settingをクリックし、New APNをクリック。
9. APN = mopera.net 。 ユーザ名パスワードは2でメモったものを設定。
10. Menuボタンをクリックし、Saveをクリック
11. Google認証画面に戻ると、シグナルメータの左隣に[G3]というアイコンが登場していることを確認
12. あとは画面の指示に従えばOK

日本で、普通にDoCoMoの携帯として電話もWeb(MoperaU経由)も使えるようになります。

※おまけ
 一旦ハードリセット
 http://www.technipages.com/t-mobile-g1-google-phone-hard-reset.html
 をしてもSIMロック解除コードは忘れないようです。

androidがもたらすものとは

■「資本主義=iPhone」「社会主義=android」

先週に引き続きとある携帯勉強会に参加してきました。今回のテーマは「iPhoneとandroid」というタイトルで日経BPの菊池様に説明をして頂き、今回もエキサイティングな時間をすごす事が出来ました!

菊池様曰く、現在の状況を「ゴールドラッシュ」とおっしゃっていました。凄く的確な表現だと笑ってしまいました。(写真も素敵でした)まさにiPhoneとandroidにはそんな風を感じます。

実は、この勉強会の前に、仕事のお客様と食事をしたのですが、その際、「Googleはまるで社会主義だね」という話になりました。「資本主義=iPhone」「社会主義=android」とイメージした上で、菊池様のお話を伺うと、とてもすっきりと頭に入ってきました。

■androidは技術者の桃源郷

勉強会に来ている人は、みな「androidはビジネスになるんじゃないか?」と集まっている人ばかりで、飛び交う質問も資本主義的な従来ビジネスロジックを当てはめようとした質問が多かったように思います。androidはビジネスになるんでしょうか?

「プログラムを書くなんてこんな楽しい事、他の連中にやらせてたまるか。お金を払ってもいいから俺にやらせろ。」(弊社鈴木談)

こんな思想はきっと資本主義ビジネス界の人には絶対に理解が出来ないと思います。でも、オープンソースコミュニティの連中は基本的にはこんなのりです。Linuxがなぜタダで使えるのか?きっと今日、勉強会に来ていた方のほとんどは残念ながら理解が出来ない側の方が多かったようです。技術者連中の気持ちをGoogleはすごく良く知っています。androidには技術者が楽しく開発が出来る桃源郷があるかもしれません。

■androidにゴールドはない

私は、菊池様もゴールドはない事に気づかれているように感じました。

GoogleもApp Storeに対抗してandroid marketを作る事を宣言していますが、
・7割りが作者、3割りがキャリア、Googleはゼロ円
・android marketの有料サービスは来年
と言っています。きっと来年の有料ソフトがスタートする半年の間に、素晴らしい無料ソフトが大量に出回ってしまい、「ソフトは有料で買うもの」というApp Storeのような文化は創造されないと思っています。

Googleはそもそも「ソフトを売ってお金を儲ける」という世界にはあまり興味が無いんだと思います。「App Storeはクソだ」という声が聞こえてきそうです。

■android包囲網の始まり

T-Mobile G1のandroidは、始めにgoogleのアカウント(Gmailのアカウント)でユーザ認証する必要があります。これをしないと全く使えません。android=Google認証必須という事は、
「貴方も、”android inside” の道具(Netbook、携帯、デスクトップPC、テレビ、カーナビ、etc)で統一すれば、何処でもいつでも素敵な同じ環境を手に入れることが出来ますよ~♪」
というGooleトラップの幕開けを感じる次第です。

Androidの初号機T-Mobile G1入手!しかし。。。

痛いニュースです(^^;

記念すべきAndroidの初号機であるT-MobileのG1を入手しました。

・まずはドキドキしながら開封
・思ったより小さい
・携帯の裏にGoogleのロゴがあってまず感動
・キーボードを出すためのスライドが弧を描くように動くのにびっくり
・電源ボタンを押すが電源はいらず
・バッテリーの入れ忘れに気づく
・ふたの開け方がわらずマニュアルを読む
・やっとバッテリーを入れたら、SIMカードを先にいれなければならないことが判明。
・SIMカードが日本のSIMカードより、プラスチックの枠からはずすのが怖い(ペンチかはさみがひつよう?)
・無事SIMカードを入れ、電源ON
・G1のロゴとAndroidのロゴが表示
・Androidのマスコットをクリックせよとの指示
・押すとGoogleのアカウントの入力画面に
・入力をしても当然つながらない(T-Mobleの基地局がないので)
・ここで、何かメニューを押せば無線LANの設定ができるんじゃないかといろいろと操作

が・・・。
全く設定画面にたどりつけないことが判明。
うーん。もしかして、すごく痛い状況に・・・!(^^;
どっかで「SIMがなくても無線LANで使える」という書き込みを見たような気がするのですが・・・

さて、どう料理するか・・・

※追記

とりあえず、DoCoMoのSIMとSoftbankのSIMをテスト。
すると、SIM unlock のPINの入力画面に。

PINがわからなかったので、SIMをごまかす道具(たぶん違法です。Softbankの通常携帯のSIMをiPhoneに刺せる道具。)を使って、トライ。
するとPIN入力無しにAndroidのロゴが登場し、シグナルが3本に!
ただ・・・SIMロックを突破できても、ネットワーク経由で、Google認証が出来ないとNGなので、意味無し。

引き続き格闘中・・・
#痛いなぁ~

Googleのチェックメイトとは

今日、とある携帯ビジネスの勉強会に始めて参加してきました。
今回の勉強会の講師は、日本Androidの会の丸山不二夫先生でした。
テーマは「クラウドとAndroid」。
技術フェチ(^^)の私としてはとても有意義な一時間でした。
最後、先生に「Googleは衛星に手を出すと思いますか?」と聞いたら
「いまのところ無いです」とおっしゃっていました。

私は経済学を落として卒業延期になった人間なので全くあてにはなりませんが、私が考えるGoogleのチェックメイトは「衛星」と「通貨」だと思っています。

今はGoogleは、既存の通信事業者と仲良くしています。
でも全部自前でやりたがりのGoogleは仲良くしつつも最後に衛星に手をだすんじゃないでしょうか?
現在の技術や衛星のコストではイリジウムの二の舞になりかねないのかもしれませんんが、いつか技術革新で周波数問題(帯域や遮蔽物問題)が無くなり(いっそ電波を使わない通信が登場)、宇宙開発が進み衛星のコストが画期的に安くなったらどうでしょうか?
ガラパゴス日本の開国の黒船はてっきり長崎に来ると思っていたら、空からやってきたりはしないでしょうか?
気がつけば携帯・パソコン・車・テレビ・冷蔵庫全てが「Android inside」のマークがついていて、みんな勝手に衛星と通信をしているような時代はこないのでしょうか?

丸山先生のお話では、Googleは利用料を徴収するビジネスモデルがこれから増えてくるとの事でした。
Google AdSenseへの出稿でGoogle Checkoutの出店者の手数料のが相殺できる仕組みを見ても、Googleは単にお金を集めるのがメインじゃなくて、「Googleの手のひらで何がしかの仕事をしたその労力でGoogleの他のサービスが利用できる。」すなわち、Google経済圏の中だけでお金が回るRMTに近い世界が自然と創造されて行き、気づけば、Googleだけで生活が出来てしまう実世界が出来ているんじゃないでしょうか?

最後の2つが完成した時、世界はGoogleの手のひらに乗っていて、Googleによって安定経済がもたらされていたら・・・
なんて考えると面白くないでしょうか?

そのときうちの会社は・・・(^^

もし10年後、この絵空事が当たっていたら何か下さい♪
#私の絵空事は当たったためしがないのでAC(にしたかったかも)

続きを読む »