突然消失するかもしれないブログ

”とつきえブログ”

カテゴリーアーカイブ: NOKIA

N810のLinuxカーネルをハックする その2

ノートPCやデスクトップPCだと、Windowsでは当たり前のようにIntelのspeed stepテクノロジーが使われていて、システムの負荷に応じてCPUの電圧と周波数の必要最小限の最適な値に動的に変更してくれる。DVFSが有効に働けば、省電力になってバッテリーが長持ちするというわけ。

ところが、組込機器(特に日本の?)ではほとんどDVFSが使われていないらしい。

なぜかというと、組込機器でよく使われるARMプロセッサがもともとかなり省電力だし、CPUに供給される電圧がPC用に比べて凄く小さいから、ということらしいです。

これは、一般的に、消費電力は、電圧の二乗、周波数に比例すると言われていて、電圧の影響が大きいんですね。

で、N810にsshでログインしてpsコマンドを実行してみると、↓のようにdvfsというカーネルスレッドがいることがわかります。

http://www.nomadic.jp/blog/bichir/2008/02/nokia_n810_openssh.html 

N810はTIのOMAP2を使っていて、ARM11コアを内蔵しているわけですけど、ひょっとして、N810はDVFS(Dynamic voltage frequency scaling)に対応しているんじゃないかと疑っていたのですが、どうやらそのようだったようです。

N810のLinuxカーネルのソースを覗いてみると、ずばり、ありました。

cd kernel-source-diablo/kernel-source

find . -name “*dvfs*” -print
./arch/arm/mach-omap2/board-n800-dvfs.c
./arch/arm/mach-omap2/dvfs.c
./arch/arm/mach-omap2/dvfs.h
./arch/arm/mach-omap2/dvfs_notif.c
./include/asm-arm/arch-omap/dvfs_notif.h
./include/asm-arm/arch-omap/dvfs.h

ちなみに、Linuxカーネルをリコンパイルする際、.configにCONFIG_MACH_OMAP2420_DVFSが定義されていると、DVFSがONになるようです。N810の製品ではONになっているということですよね。

また、N810のLinuxカーネルでは、ユーザ空間で動作するプログラムからDVFS機能にアクセスするためのIFを提供していないようです。(maemo.orgのドキュメントより)

広告

N810のLinuxカーネルをハックする その1

(1)N810のLinuxカーネルソースをダウンロードする。

maemo.orgからダウンロードします。

maemoの最新版は、maemo-4.1(diablo)です。Linuxのカーネルの最新版は、2008.09.04にアップされた、kernel-source-diablo_2.6.21-200829maemo1です。

・まず、diablo用のカーネルをダウンロードします。

wget http://repository.maemo.org/pool/maemo4.1/free/k/kernel-source-diablo/kernel-source-diablo_2.6.21.orig.tar.gz

こちらのソースでは、N800までしか対応していない模様。

・次に、上記に対するmaemo.orgのパッチをダウンロードします。

こちらのパッチを適用すると、N810対応が追加されるようです。でも謎なんですよね。diabloがリリースされたのは2008.04頃のようですけど、N810は2007.11に北米で発売されたんですよね。

N810って最初の頃はN800とソースが共有だったんでしょうか?

wget http://repository.maemo.org/pool/maemo4.1/free/k/kernel-source-diablo/kernel-source-diablo_2.6.21-200829maemo1.diff.gz

(2)パッチを当てる

tar xvfz

cd kernel-source-diablo

zcat ../kernel-source-diablo_2.6.21-200829maemo1.diff.g
z | patch -b -p1

(3)どのファイルにパッチがあたったのか確認する。

↓かなり凄いことになってます。さすがGoogleのAndroid用Linuxカーネルとは変更量が違いますね。

ということで、観察は次のエントリーで。

この投稿の続きを読む

N810にAndroidをインストールしてみた

意を決して、N810へAndroidをインストールしてみました。

yebo blogさんのNokia N810へのAndroidのインストールと、雑文発散さんの[N810] N810 に Android をインストール #2を参考にさせて頂きました。

<参考>

(1)N810へのAndroidインストール方法(英語)
http://www.internettablettalk.com/forums/showpost.php?p=198240

(2)Nokia N810へのAndroidのインストール
http://yebo-blog.blogspot.com/2008/07/nokia-n810android.html

(3)[N810] N810 に Android をインストール #2(オススメ)
http://suzuki.tdiary.net/20080712.html

<セットアップ方法>

○N810のファームウェアを最新のものにアップデートする。chinookでも動くそうですが、Diabloの最新のものを使いましょう。

○miniSDに以下のファイルをコピーする。

N810の内蔵Flashの残容量は100MB程度とかなり少ないので、外付けのminiSDを使用します。N810は、miniSDアダプタを使えばmicroSDHC 8GBを使用できます。

android.img.gz2とandroid-installer.debをダウンロードしてきて、microSDHC 8GBにコピーし、N810にセットします。

  • 入手先:参考(1)、(2)を参照のこと。
    android.img.bz2
    android-installer.deb

○N810のメニューで、Settings → Application manager → Application → Install from file… で android-installer.deb を選択し、インストールする。

※注意1:Application managerの左上にあるメニューアイコンをクリックし、「Application」メニュー配下に「Install from file…」があります。

※注意2:インストール処理が完了するのに結構時間がかかります。(1分程度)

Settings → Application manager → Application → Install from file… でmicroSDHC上のandroid-installer.deb を選択し、インストールします。

※「Install from file…」は、Application Managerの左上にあるメニューアイコンをクリックすると見つかります。

ちなみに、android-install.debのインストール処理が完了するまで、結構時間がかかりますので気長に待ちましょう。間違っても強制終了とかさせないように。

インストールが正常に終了すると、以下のようなダイアログが表示されます。

20080827111007

○いよいよ、Androidの起動です。メニューから、Extras → Androidを選択して、実行します。

20080827115227

ちなみに、Androidが起動するのに、約50秒(手元のストップウォッチで計ったところ47秒かかりました)かかりますので、気長に待ちましょう。

Androidが正常に起動すると、以下のような待受け画面が表示されます。

20080827120414

※参考:

・N810の通常起動時間:34秒
(電源OFF→待ち受け画面表示)

・N810の待ち受け画面からAndroidのサイロン(赤い光が水平方向に左右往復する)が表示されるまでの時間:25秒

・N810の待ち受け画面からAndroidの待ち受け画面が表示されるまでの時間:47秒

 

ちなみに、N810でAndroidを動かしてみた感想ですが、とにかく処理が重い!

本当に使い物になるのか不安になるほど、もっさりしてます。

N810だと、処理が重いのか、タイムアウトしてしまうらしく、waitする(待つ)か、closeする(強制終了する)か、をユーザに尋ねるダイアログが頻繁に表示されます。

単に処理が追いついていないだけのようなので、waitをクリックすれば、良いようです。

Armadillo-500でAndroidを実行した場合は、タイムアウトが頻繁に発生することはなかったのですが、N810だと、maemo上でAndroid(Dalvik環境)が動作しているせいか、オーバーヘッドが大きいようです。

どちらも、ARM11 400MHzなので、処理能力的には同じはずなのですが、N810だとDVFSがONになっていたりするので、そういうのが影響しているのかもしれません。

さてさて、Androidを実機上でいろいろハックしたいのですが、AndroidもN810のmaemoもARMのバイナリが、armel(EABI)なのでいろいろと困るんですよね。

現在のDebian 4.0 ARM版では、OABIしか対応してないんですよね。Debian 5.0 lennyでは、EABIに対応するらしいんですけど、armelに対応できる実機環境を探すとなると、kuro-box/proしかなさそうなんですよね。

http://buffalo.nas-central.org/index.php/Buffalo_ARM9_Kernel_Port

によると、kuro-box/proでもDebian 5.0を動作させることができそうな感じ。

ARM9とARM11ではバイナリ互換があるのでしょうか・・・。

N810、maemoの技術情報を入手する方法

N810が採用しているPFのmaemoの情報を入手するのはなかなか大変なわけですが、maemo.orgでアカウントを作成すると、maemo.orgのwikiからまとめて情報を入手することができるようになります。

N810を所有しているのであれば、ぜひ、maemo.orgで、create accountから、アカウントを作成することをオススメします。

アカウントの作成を申請すると、指定したメールアドレスに、アカウントをアクティブにするためのメールが送信されるので、メールの本文にあるURLをクリックして、表示されたWebページでユーザIDとパスワードを指定すると、アカウントをアクティブかすることができます。

ちなみに、maemo.orgにある、Log inをクリックして、ユーザIDとパスワードを入力しても、アクティブ化直後だとログインできないようです。アカウントをアクティブ化してから2時間くらい経過しないと正常にログインできるようにならないようです。

また、maemo.orgでは、Firefoxだとwikiがうまく表示できないようで、必ず、IEを使用してください。

例えば、N810の外付けminiSDから起動する方法が、Booting from a flash cardに手順がまとめられているようです。

MID Mobile Internet Device

NOKIAのN810はInternet Tabletと銘打ってるけど、インテルだとAtomプロセッサでMID Mobile Internet Device、最近流行のEeePC, Netbookって感じになるらしい。

N810にRBK-2000BTIIを接続した際、キーボード入力がもっさりな件

MacBookは、アップル純正のBluetoothキーボードApple Wireless Keyboardで快適に使えている。有線接続のキーボードと違い、若干、遅延があるのかな?と感じることもあるけど、ストレスが溜まるほどじゃない。

 

利用例

ところが、N810にBluetoothキーボードのRBK-2000BTII(英語配列)を接続して、文字入力をした場合、とてつもなくもっさりしている。明らかに打鍵スピードにN810またはRBK-2000BTIIが追いついていない?という印象を受ける。

N810のシステムがおかしくなっているのか、それとも、N810の性能だとこれが限界なのかよくわからないけど、非常にストレスが溜まる。

N810でAndroid

ついにきました。Maemoを勉強してるところですが、ついに、N810でAndroidが動いちゃったようです。N810を壊すのが怖いけど、今更、Zaurus買うのも気が引けるし。

http://japanese.engadget.com/2008/07/03/n810-android/

来週やってみようかな。

http://kiyonari.vox.com/library/post/n810-android.html

4月頃から動いていたようですけど。

Amazonでの支払い方法の変更について

NOKIA E61のブラウザを使ってAmazonで買い物をしてみたのですが大失敗してしまいました。

Amazonのモバイル版では携帯機器の小さな画面向けに最適化されて購入手続き画面が表示されるので、内容をしっかり確認することができます。

しかし、PC版AmazonをNOKIA E61の小さい画面で表示しようとすると、全体の表示内容の一部しか表示されません。全体を見渡そうとすると画面スクロールをしまくらなければなりません。ここで見落としが発生すると、例えばお金が絡むような重要な手続きの場合は大変なことになってしまいます。

(虫眼鏡で新聞を読んでいるのと同じで、一部分はよく見えるのですが、虫眼鏡を使いながら新聞記事全体の内容を把握しようとするとえらく大変ですよね。)

ということで、iモードなど携帯機器の小さい画面に最適化されたショッピングサイトであれば安心して買い物ができると思いますが、PCにしか対応していないショッピングサイトで携帯機器の小さな画面で買い物をするのはやめておいた方が無難なようです。

ちなみに、 Amazonでは支払い方法が確定の後(支払い番号が発行された後)では、支払い方法の変更ができなくなってしまいますが、支払期限があるので放置しておけば自動的にキャンセルされるようです。

支払い方法を、クレジットカード払いにしたかったのですが、特に指定しないと、銀行振り込み/コンビニ支払い/Edy支払いになってしまうようです。

Pasoriを持っているので、Edy支払いも可能なのですが、Edyチャージ用にクレジットカードを登録しても、Edyチャージができるようになるのに2日間かかるんですね。それに、クレジットカードからEdyにチャージしても最近ではポイントがつかないらしいのでなんだか損ですよね。

Edyって、羽田空港でANAを使うときにANA Festaで買い物するときくらいしか役に立たないんじゃないかと思うので、いまいち使えないサービスだと思うんですけど。

羽田空港内でモバイルSuicaで電子決済できたら便利なんですけどね。>JR東日本さん、ANAさん

NOKIA E61とFOMA 905iシリーズの連続待受時間、連続通話時間を比較してみた

NOKIAとドコモでは測定条件が細かいところで違うと思うのでなんとも言えませんが、カタログスペックから、連続待受時間、連続通話時間を比較してみました。

○NOKIA E61

  • 連続待受時間(静止時)W-CDMA 最大約456時間/GSM 最大約408時間
  • 連続通話時間(静止時)W-CDMA 最大約5時間/GSM 最大約9.5時間

○FOMA 905iシリーズ

  • 連続待受時間(静止時)
     3G:505~600時間
     GSM:260~320時間
  • 連続通話時間(静止時)
     3G:190~230分(3.17~3.83時間)
     GSM:190~230分(3.17~3.83時間)

NOKIA E61はなんだかんだ言っても、GSMはさすがに強いですよね。それに対して、3Gは大したことない。E61のバッテリの容量は、FOMAの約倍(1500mAh)なのに。

FOMAは3Gに限って言えば、E61のバッテリ容量半分なのにそれ以上電池が持つのでかなり優秀。それに対し、GSMは全然ダメっぽい。

こうやって比較してみると、グローバル端末と日本国内がメインの端末で、はっきりと製品の特性の違いが出ているあたりが実に興味深いです。

E61は、Wi-Fi、Bluetoothを標準搭載しているわけで、さらに電力事情が厳しいと思うので、実際に使ってみないとなんとも言えないかも。

FOMAはiモードやiアプリを使っているとあっという間に電池がなくなってしまうのでどっちもどっちという感じですかね。

もし、同じくらいパケット通信、Wi-Fi、Bluetoothを使うアプリをガシガシ使ってみてどれくらい電池の持ちが違うか比較してみたいところです。

%d人のブロガーが「いいね」をつけました。