2010/03/25

[Nokia N900] 内蔵FMラジオを日本向け周波数帯にする。(失敗編)

美しき人間の日々

N900内蔵FMラジヲを日本向けの周波数帯にしようと試行錯誤した記録。
結論から言うと、周波数帯の変更には成功しましたが、受信は出来てません。
成功編は未定。

試行錯誤の道程*1
  • FMRadio.pyを読んでみる
  • /sys/class/i2c-adapter/i2c-3/3-0022/以下をいじってみる
  • FMRadio.pyとFMRadioUI.pyを改変してみる
  • fmコマンドだとかradioコマンドだとかを試してみる

*1
たたたっ高村光太郎ちゃうわ!

わかったこと
さて、(たしかN800のFMラジオ界隈でも活躍されてた)Martin Grimmeさん(pycage)の
直球ネームアプリケーション、"FMRadio"のソースを読む限り、N900では改変カーネルを焼く必要は無いようです。
そのかわり、sysfs(/sys/以下)を適切にいじってやることでリージョンの設定が出来ます。
具体的に述べていくと
/sys/class/i2c-adapter/i2c-3/3-0022/region
に国別のコードnを書き込むわけです。[n=0,1,2,3,4]
このコードnはカーネルソース中
drivers/media/radio/radio-bcm2048.cに定義されており、抄出すれば
/* USA */
{
.channel_spacing = 20,
.bottom_frequency = 87500,
.top_frequency = 108000,
.deemphasis = 75,
.region = 0,
},
/* Australia */
{
.channel_spacing = 20,
.bottom_frequency = 87500,
.top_frequency = 108000,
.deemphasis = 50,
.region = 1,
},
/* Europe */
{
.channel_spacing = 10,
.bottom_frequency = 87500,
.top_frequency = 108000,
.deemphasis = 50,
.region = 2,
},
/* Japan */
{
.channel_spacing = 10,
.bottom_frequency = 76000,
.top_frequency = 90000,
.deemphasis = 50,
.region = 3,
},
/* Japan wide band */
{
.channel_spacing = 10,
.bottom_frequency = 76000,
.top_frequency = 108000,
.deemphasis = 50,
.region = 4,
},
つまり日本向けの周波数にしたいなら、ルート権限で
echo 3 > /sys/class/i2c-adapter/i2c-3/3-0022/region
だとか
echo 4 > /sys/class/i2c-adapter/i2c-3/3-0022/region
とすればよく、実際にやってみると /sys/class/i2c-adapter/i2c-3/3-0022/以下
region_bottom_frequencyとregion_top_frequencyが上記の抄出範囲で定義された値になっていることが確認できます。
このうえで、リージョン決め打ちのFMRadio*2を少々改造します。
改造したのは/opt/fmradio/components/fmradio/以下FMRadio.pyとソースtarボールから抽出し、同ディレクトリに放りこんだFMRadioUI.py。
FMRadio.pyは258行目付近と268行目付近に追記およびコメントアウト
# return self.FM_BAND_EUR
return self.FM_BAND_JPN
# band = self.FM_BAND_EUR
band = self.FM_BAND_JPN
FMRadioUI.pyは124行目付近に追記およびコメントアウト。
# self.__fmscala.set_range(87500, 108000)
self.__fmscala.set_range(76000, 108000)

ここでコマンドラインからFMRadioを起動し、前出の方法でリージョンコードを4に書き換えてから、なるだけ素早くFMRadioを再起動。*3
指針は76.0Mhzを指し、成功か。と思いきや87.5Mhz以上でしか正常に選局できない。
エラー出力を読むと、V4l2インターフェースの_VIDIOC_S_FREQUENCYへの書き込みに失敗している。。。
改造*5がまずいんだろうか、気を取り直して、次へ進む。
さて、N900のFMラジオにはv4lのAPIを使って、/dev/radio1経由でアクセスできます。
と言うことはつまり、TVカードにFMラジオが乗っていた頃からのソフトウェア資産がそのまま利用できる。素晴らしきかなLinux!
コンパイルも面倒なのでdebianのリポジトリから適当にバイナリをとってくる。素晴らしきかなDebian!
(以下の操作は裏でFMRadioを起動し、リージョンを書き換えてから行っています。)
数あるラジオ関連ツールの中から、初めに試したのはFMRadioに勝るとも劣らないド直球ネームのradio
美しき人間の日々
radio -c /dev/radio1
が、うまくいかない。(リージョンの問題ではないはず、というのもradioは周波数帯制限のないラジオソフトウェアとして紹介されているのをどっかで見たよな気がしなくもないから。)
特にエラーメッセージも出ないので、次にfmtoolsを試してみる。
コマンドラインから
fm -d /dev/radio1 xx.x
するとまた出た!_VIDIOC_S_FREQUENCYのI/Oエラー!
ひょっとして、これはドライバのバグなんですかねぇ。
参考までにv4l-info /dev/radio1の出力(一部)は
### v4l2 device info [/dev/radio1] ###
general info
VIDIOC_QUERYCAP
driver : "bcm2048"
card : "Broadcom bcm2048 FM Radio Recei"
bus_info : "I2C: 0x22"
version : 0.0.1
capabilities : 0x50400 [?,TUNER,?]

standards

inputs

tuners
VIDIOC_G_TUNER(0)
index : 0
name : "FM Receiver"
type : RADIO
capability : 0x11 [LOW,STEREO]
rangelow : 1216000
rangehigh : 1728000
rxsubchans : 0x2 [STEREO]
audmode : STEREO
signal : 0
afc : 0
こんな感じ。
rangelowおよびrangehighは16で割ればそれぞれ76000/108000であり、一応適切に設定されているようだ。

*2
将来的にはsysfsから読んでくれるようになるらしい。
set_fm_band(self, band)なる未使用関数が有ったり、着々と進歩している。いろいろと頭の下がる思いです。
*3
なぜこんな面倒な手順をとるかというと、
FMRadioを起動すると同時にカーネルモジュールradio-bcm2048.koが読み込まれ、デバイスノードや/sys/class/i2c-adapter/i2c-3/3-0022/以下が作成される訳ですが、FMRadioは起動時にv4l2インターフェースから周波数帯の上限と下限を読み込むので、リージョンコードの書き換えをFMRadioに反映させるためにはFMRadioをいったん終了し、(多分/usr/libexec/n900-fmrx-enablerあたりが)カーネルモジュールをアンロードする前に、もう一度FMRadioを起動するという手順を踏む必要があるからです。復文長い。
ちなみに/etc/modprobe.d/を使ってradio_bcm2048.koのロード時に
リージョンコードを書き込む様に設定*4してみましたが、FMRadioによるロードではそれらの設定は無視されてしまいました。
というわけでFMRadio.pyの__init__内でos.systemとsudo echoを組み合わせて使うのが消極的かつそこそこマシな自動化だろうか。
*4
/etc/modprobe.d/radio-rx-jpnとして以下の内容のファイルを作成
install radio_bcm2048 /sbin/modprobe --ignore-install radio_bcm2048 && echo 4 > /sys/class/i2c-adapter/i2c-3/3-0022/region

*5
ざざざっ雑誌ちゃうわ!久米田康治やわ!

蛇足
FM送信機(/dev/radio0)の周波数帯を日本向けにしたい場合
/sys/class/i2c-adapter/i2c-2/2-0063/region
に上記と同じく3か4の値を書き込みます。
が、それだけでは設定UIは87.5Mhz〜108.0Mhzのままです。
周波数帯は決め打ちになっているのか、はたまたシステムのロケールにしたがって変更されるのか。
なかなか一筋縄には行きませんな。だがそれが良い。

2010/03/18

[Nokia N900] MerをmicroSDから起動/LXDEをセットアップ

松本素生ソロ活動かよ!

なんだか危ういMaemo5/Fremantle環境のバックアップとして、Mer(0.17testing11)をmicroSDにインストールしてみた記録です。
とりあえずLXDEおよび拙作clickhack900のセットアップまで。
お決まりの注意書きは一番下です。

必要なもの
  • N900
  • 空のmicroSD(2GB以上)
  • 転んでも泣かない根性
microSDのフォーマットなどはN900単体でも可能ですが、Linuxの入ったPCがあると便利かもです。

下準備
  • microSDにext3フォーマットされた2GB以上のパーティションを作る
ココらへんはサクッと書き飛ばしますが、参考までに、easy-debianでgpartedを使うなら、
$sudo apt-get install gparted dosfstools
$sudo gpartedbin
"Memeory card format unsupported"などと出ますが問題なくフォーマットできます。

松本素生ソロ活動かよ!
1GBはどこへ消えた?/スペンサー・ジョンンソ
今回はmer-armel-n900-rootfs-v0.17testing11.tar.gzを/home/user/MyDocs/にダウンロードしました。
  • qole氏のrepositoryからfanoush氏製bootmenuをインストールする
  1. AppMgrに登録してある人はAppMgrでbootmenuと検索、インストール
  2. してない人はここから直接.debをダウンロードの上、root権限で
    dpkg -i bootmenu_1.6_armel.deb
ランチャーから"Install Bootmenu"。
キーボード全開の状態で起動するとブートメニューが出ます。
  • gnuなtarをダウンロードする
先のアーカイブをN900で展開するよ。って人には必要です。
ここからダウンロードしたdebを
dpkg-deb -X tar_1.14-2.1osso_armel.deb /opt/tmptar
として展開しておきます。

インストール
  • merのrootfsを展開する
さきほど作ったパーティションをマウントします。
(少なくともext3な第二プライマリパーティションは自動でマウントしてくれない様です)
mkdir /media/mmc2
mount -t ext3 -o noatime /dev/mmcblk1p2 /media/mmc2
merのrootfsを展開します。
cd /media/mmc2
/opt/tmptar/usr/bin/tar --numeric-owner -pzxf /home/user/MyDocs/mer-armel-n900-rootfs-v0.17testing11.tar.gz
  • firmwareファイルをコピーする
完全にオープン。とは言えないN900の、無線LAN等各種ハードウェアをMer上で動かすためにfirmwareファイルをコピーします。
cp -Ra /lib/firmware/* lib/firmware/
どなたか俺はクローズドソースは好かん!という方がcatでゴリゴリとデバイスドライバなり書いていただけると皆ハッピーでラヴアンドピースになれるかと思います。
  • bootmenu用のコンフィグファイルを作成する
bootmenuにmerを登録します。
/etc/bootmenu.d/以下に以下のような内容で拡張子.item(例:merp2.item)のファイルを作成します。
今回は2番目のパーティションにインストールしたので、
1行目のITEM_NAMEには"partition2"、3行目のITEM_DEVICEには"p2"という文字列が含まれています。
ITEM_NAME="Mer (external SD, partition 2)"
ITEM_ID="mer"
ITEM_DEVICE="${EXT_CARD}p2"
ITEM_MODULES="mbcache jbd ext3"
ITEM_FSTYPE="ext3"
ITEM_FSOPTIONS="noatime,ro"
耐障害性は落ちてしまいますが、ITEM_FSOPTIONSにdata=writebackと付け加えるとちょっぴり高速かもしれません。
  • いったんMerを起動してユーザー登録などを済ませる
ひとまずN900を再起動し、Merを立ち上げます。
起動直後バイブレーションが作動しNokiaのロゴが出ますが、このタイミングでキーボードが開いていればBootmenuに入れます。
方向キーとReturnキーで先ほど登録したMerを選択して起動します。
ただし、バックライトオフの状態でMerを起動するとヒドい目に会うので、ツいていなくて点いていない場合はShutdownを選択。
キャリブレーションに始まるユーザー登録が済んだら、重いhildon-desktop*1を操作してxtermを起動し、
sudo reboot
と入力してCtrl+m。パスワードは先のウィザードで入力したモノです。
今度はキーボードを閉じた状態で起動するか、BootmenuでFlashを選ぶかしてMaemoを起動します。

*1
ハードウェアアクセラレーションを効かせたMerの動画なんかもあるのできっともうすぐサクサクしてくれるはず。
  • LXDEをインストール
まずは先程と同様にしてマウント。
mount -t ext3 -o noatime /dev/mmcblk1p2 /media/mmc2
現状デフォルトのhildon-desktopはごらんの有り様なので、代わりにネットブック用軽量WMとして名を馳せたLXDEを使います。
まずeasy-debianに同梱のシェルスクリプト/sbin/debianを用いてmer環境にchrootします。
(多分chrootコマンド単体でも必要十分です。)
debian(もしくはchroot) /media/mmc2
なにはともあれupdateし、続けてLXDEをインストールします。
apt-get update
apt-get install lxde lxlauncher
一方グラフィカルなログイン画面なんていらねえ族は、代わりに
apt-get --no-install-recommends install lxde libgtkstylus lxlauncher
su user
echo "exec startlxde" >> -/.xinitrc
chmod +x -/.xinitrc
終わったらexitもしくはCtrl+dでMaemoに戻ります。
  • LXDEでNetworkManager(nm-applet)のアイコンを出す
デフォルトでは、無線LAN接続をGUIで設定可能にしてくれる便利アプリ
NetworkManagerがLXDEのタスクバーに出ません。
そこで/media/mmc2/etc/xdg/autostart/nm-applet.desktop内OnlyShowInの値を
OnlyShowIn=GNOME;XFCE;LXDE
と書き換えるか
#OnlyShowIn=GNOME;XFCE;
とコメントアウトすれば、この問題を解決できます。
  • キーマップを入れ換える
Maemo環境のキーマップをMerに持っていきます。
cd /media/mmc2/usr/share/X11/
mv xkb xkb.old
cp -Ra /usr/share/X11/xkb .
しかしこの方法では”Shift+Fn+”という修飾が有効にならず、
またFn+方向キーのコンビネーションが無視されたり、GDMでログインできなかったり(!)するので、さらにXmodmapを利用します。
何処でもいいですが、例えば/media/mmc2/etc/gdm/Init/.Xmodmap.n900といったファイルを作成し、以下の内容を書き込みます。
keycode 36 = KP_Enter
keycode 74 = Tab
keycode 73 = Escape
ついでに/media/mmc2/etc/gdm/Init/Defaultの冒頭9行目あたり(つまりgdm_which()の直前ですね)に
xmodmap /etc/gdm/Init/.Xmodmap.n900
という一文を挿入します。
これで一応F7(-キー)でEscape、F8(+キー)でTabが打てるようになり、GDMからログインが可能になりました。
  • 右クリックを可能にする
拙作のclickhack900で右クリックを可能にする。
というかインストールされたlibgtkstylusによって長押しによる右クリックは実現されているので、正確には”別の方法で”可能にします。
ここからclickhack900.gzをダウンロード後、
mv clickhack900.gz /media/mmc2/usr/local/bin/
gunzip /media/mmc2/usr/local/bin/clickhack900.gz
加えて前出の/media/mmc2/etc/gdm/Init/Defaultの冒頭に
/usr/local/bin/clickhack900 &
と書いておくことで、Fn(青い矢印キー)を押している間 タップが右クリックになります。
もちろんドラッグ*2もできます。
(実際には単に/dev/input/event1の内容を拾って適宜xmodmapを実行するだけのhackと呼ぶのは憚られるシロモノだったりする)

*2
(こんなのセキュリティ的に)ダメ・ゼッタイという方はlibgtkstylusをお使い下さい。
  • 再起動してもう一度Merを立ち上げてみる
以上でインストールは終了です。
再起動してBootmenuからMerを選択し、
松本素生ソロ活動かよ!
こんな画面(GDM)
がでてくれば成功です。
Mer0.17testing11自体が正式リリース前でややバギーだったり、キーマップの問題から目をそらしていたり、バッテリー残量表示がなかったり*3しますが、ひとまず。

*3
これとバックライト調節に関してはdeblet時代の遺産が使えるのかもしれない。

ネタ元
http://mer-project.blogspot.com/2010/01/dual-booting-mer-on-nokia-n900.html

最後になりますが、お決まりの注意書きです。
この記事は、将来的にもっとボケが進行したり、トミー・リー・ジョーンズに記憶を消去されたり、自動車事故で15分ごとに記憶を失う障害を負い恋人の顔も思い出せない状況で進行する怒涛のクライム・サスペンス!な状況に陥ったときの備忘録であり、内容の正当性はまったく保証されません。過度な期待はしないでください。

2010/03/16

[Nokia N900] 雑多な雑感についての雑然たる雑文

ハードとソフト
  • 画面はリナザウと似た構造で、表層から感圧パネルを挟んで2~3ミリ奥まった所に液晶がある感じ。
    →感度がいいのもリナザウと似てるが、こっちは視野角がバッチリ広いし日光下でも見やすい。
    →色温度が高いところは初代iPhoneと似てるのかもしれない。
  • N900をしばらく使ったあとN810を触ると、N810のタブレット感*1に少々ビビる。
  • てかキーが少ないよ!
    →近接センサを修飾キーとして使うとかいうアレゲすぎる案があるらしい。
  • image-viewer(Photos)のResizeは劣化したのかも。特定の大きさにするのがより面倒になった。
    →GraphicsMagick使えばいいんだが、n900ではサイズのデカいアプリをインストールするのが恐い*2
  • 販促?用に入ってるChick WinslowのMagic WordsはイントロがJPop(しかもアニソン)

*1
野性のモバイラーのみが持つといわれている第八感。
JobsがiPadと名付けて商品化した事でも知られる。
*2
まんじゅう恐い的ないみではないです

mplayerとか
  • extrasのブツはnomenuでbulidされてるのがちょっと残念。
  • -ao alsaだと再生開始時に止まるが、-ao pulseなら無問題。
    →ってことで~/.mplayer/configにao=pulse,alsaと書く。
  • /etc/mplayer以下のコンフィグファイルを読んでない?
  • スライドロックすると再生が止まる。省電力の弊害か。
  • せっかく-vo xvで再生してるので、タップで再生/一時停止出来るようにしておく
    →~/.mplayer/input.confにMOUSE_BTN0 pauseと追記。
  • dbus-send --print-reply --dest=com.nokia.mediaplayer /com/nokia/mediaplayer com.nokia.mediaplayer.mime_open string:hyper_egashirakoushien_s12e14.mp4
    でmediaplayerにファイルを渡せるので、
    #!/bin/sh
    FILE=`realpath $1`
    [ -e $FILE ] &&\
    dbus-send --print-reply\
     --dest=com.nokia.mediaplayer /com/nokia/mediaplayer\
     com.nokia.mediaplayer.mime_open string:"$FILE"
    とかいう適当シェルスクリプトを置いておけば便利便利。

alsaとpulseaudio
  • alsamixerが最初から入っている
    →暇な時はalsamixer -c0で楽しもう。
  • さすがesdの置き換えを狙うだけあってpulseaudioの互換性が凄い。
    →/usr/bin/esdを用意するあたり、奴らは本気だ。
  • でもn900でpadspを使うにはちょっと作業が必要だった。
    まずdebian/lennyのpulseaudio-utilsをダウンロードしてdpkg-deb -Xで展開、libpulsedsp.soを抽出し/usr/lib/に放りこむ。
    このままだとgetoptsが無いと言われるので(getoptがコマンドでgetoptsがシェル関数らしい)
    bashを入れて、/usr/bin/padspの冒頭を
    #!/bin/sh
    から
    #!/bin/bash
    に変更する。

Stability
  • /optから/usr/lib以下にシンボリックリンクを貼るとリブートループに突入する?
    →wiki.maemo.orgを読めばそこらへん書いてありそう。
  • 3~4回フラッシュを経験し、精神的に打ちのめされつつも*3焼物職人としての自覚が芽生え始めたところでとある情報を手に入れた。
    →なんでも、リブートループに入った後でflasherから--enable-rd-modeするとループから抜けられる(ことがある)らしい。
    →ってことはパーミッションの関係なんだろうか。
  • N810と同じく、ブート画面にTuxとか出すにはkernel入れ換えが必要らしい。
    →んでもPR1.1のカーネルソースはまだ出ていないらしい。
  • そんなわけで、レスキューのためにもSDブートのMerを入れてみたのだ。
  • このガイダンスに従って入れる。
  • (ただし0.17testing11を使った。)
  • bootmenuのdebはお馴染みqole氏のrepository(http://qole.org/repository/)にあるよ。
  • なんとmer簡単になったもので、bootmenuのためにinitflasherしなくても良くなったらしい。

*3
N900のmicroUSBポートも物理的に打ちのめされている。

その他
  • N810をsambaサーバーにしてじみちに環境移行してますが、やたらと転送速度が遅い。一方WANだと速度が出る。謎に満ちてんな。
  • 内蔵32Gに書き込んでいると異常にもっさりする。swapの読み書きとあいまってIOが輻輳しているんだろうか。
  • D-Padがない
     →センターキー(Return)がない
      →一部アプリケーション(DilloとかXJPとか)はN900のリターンキー(KP_Enter)を認識しない
       →N900ではxmodmapもつかえない
        →どうするどうする
  • とりあえずXJPをKP_Enterに対応させてみました。
    →xrandrで無理やり縦画面にすると、なぜだかフォントが大きくなるようです。
wayv
まあ読みやすくていいけどさ。


追記:キーマップファイル/usr/share/X11/xkb/symbols/nokia_vndr/rx-51の397行目付近
key { [ KP_Enter ] };
key { [ Return , KP_Enter ] };

としてみました。
取り急ぎDilloとXJPで動作を確認しましたが、どうも動作がヤバそうだったらShift+Returnで回避しつつ書き戻すという方向で。

TODO
  • FMラジオを日本向け周波数帯にする。n800と同じならカーネルをいじる必要あり?先人たちの日本語記事を参考に。
  • N8x0ではNITDroidの人がグラフィカルなブートメニューとかカーネルを選択可能にするシステム(kexec)について研究していましたが、n900ではどうなんでしょう?

2010/02/28

[Nokia N810] 車輪(ahostwin)をつくろう、そしてあなたは画面を回す。(オマ ケ:gst-playerのアップデート)

できっこないをやらなくちゃ
できっこないをやらなくちゃ

hostwinをX11ネイティブにしてみました
Another hostwinで、ahostwin・・・名前のセンスはないです。(オマージュ!*1)
車輪の大発明がqole氏のeasydebianにおけるBundyo氏のhostwinだとすれば、こいつがまさに車輪の再発明。
hostwinと比べてちょっとだけ良い点は
  • Gtkじゃないので立ち上がりが早い
  • 背景色が指定できる
  • フルスクリーンオプション(-fs)でwmctrlとおさらば出来る
所。悪い点は、、、悪い点を書くにはこの余白(ブログ)はあまりに狭すぎる。。。
じゃあそもそもなんでそんなモノを作ったかと言うと、
easydebian(Xephyr)がMaemo(Xomap)側の画面回転に応じてくれないのを何とかしたかったからなのです。
で、それは結局Xrandrの一連のコマンド
xrandr --newmode portrait 0 480 0 0 0 800 0 0 0
xrandr --addmode default portrait
xrandr --output default --mode portrait
によって実現できました。
かくして要らない子となったahostwinの記事を書く理由?それを書くにはこのネット(余白)はあまりに狭すぎる。。。

ファイル:使い方:
ahostwin [-fs] [-wn windowname] [-ic iconname] [-bg #FFFFFF] [-e command]

ビルド:
gunzip ahostwin.c.gz
chmod +x ahostwin.c
./ahostwin.c


gst-playerのアップデート
gstreamer vs mplayer (1)に出てきたアレです。
実行中にバックライトがフェードするのを抑止するようにしました。
ファイル:

*1
QuasarMediaPlayerのcompat/qt3とかを使って、かの伝説的アプリabookreaderの
abookreader
ガワ*2

まではmakeできたんですが、
肝心の描画部分がQDirectPainterを使ってfbに書く事で実現されていて難題。つまり詰っている。
drawPixmapで置き換えるにはどーすればいいんだろう。
*2
ガワと言えばNintendo DSのピクトチャットを傍受するBSD(/Linux)向けアプリPictoSniffもガワだけmakeで放置されている。
pictosniff
ピーピング・田代・トム(通称出歯ガメ)

2010/02/22

[Nokia N810] 810 / ロシアへ愛をこめて (PowerVR MBX SDKに関するメモ)

歌声よおこれ
歌声よおこれ
To Russia with love. Спасибо Veska!
なにやらカスペルスキーの名産地ロシア語圏のInternetTablet系フォーラムで紹介して頂いた様で、ありがたい限りです。
いやぁ、google translateって本当にいいもんですねえ(google版シベリア超特急)。
あまり内容の無いブログですが今後ともよろしくお願いします。
最初ロシアからのアクセスが増えているのに気付いた時は、(ウサビッチを薦めすぎた廉かなんかで)ついにKGBに目を付けられたかと大変おののきましたよ。

さて、ざっとPowerVR MBX SDKを試してみた結果言えるのは、
現状、凄いものが見たいならliqflow(↓)をインストールした方が良いということです。


まあ人柱気質の開発者向けベータベータみたいなものですから当然なのですが、冒頭のスクリーンショット(xegltest)を撮るのに百億の再起動と千億のリセットが必要になった事は記しておきます。

動作が確認できたのはservice_testとxegltest、power_test、成功率の高い手順を愚直に書けば
  1. N810を起動
  2. Xterm(mrxvt)起動
  3. cat /proc/kmsg
  4. 新しいタブ(ウィンドウ)を開く
  5. /etc/init.d/rc.pvr start
  6. lsmod
    Module Size Used by
    omaplcd 10832 2 - Live 0xbf099000
    mbxaccess 25464 3 omaplcd, Live 0xbf091000
  7. mbxdaemon
  8. service_test q
  9. xegltest

ただし、xegltestでは画面更新(expose関係?)が上手く行っていないのか、マウスカーソル以下しか更新されません。
また、ウィンドウマネージャのXボタンでxegltestを終了するとmbxdaemonが落ちるようです。

ウチの環境ではglinfoをはじめ、egl_test等は
X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 3 (X_GetWindowAttributes)
Resource id in failed request: 0x0
Serial number of failed request: 7
と言って死んでしまいます。(Xephyr内でも同様)
バグ以外に怪しむべきは
  • Readme.txt流し読みのインストール方法
  • rotate対応版のXomap
てな所ですかね。

TMOのスレッドでは盛んに報告がされてますが、いまだTIの受理待ちの人もいるみたいですし、Merのblogに件のガイダンスが出てきたらいろいろわかってくるのではないでしょうか。