サーバダウンのご報告&メンテナンスのお知らせ

昨日から今朝にかけてこのページにアクセスできなくなっていました。

原因は mysql のデータベースが壊れてしまったためでした。DB が壊れた直接の原因は分かっていません。

バックアップを取っていなかったのでかなり焦りましたが、あの手この手で何とか復旧させることができました。バックアップは大切ですね。

とりあえず復旧できたものの、サーバのLinuxも Debian Etch のまま、もう数年前からアップグレードしていないので、これを機にサーバのアップグレードをしようと思います。

突然ですが、今夜、11/6 0時頃〜 11/6 朝にかけて、サーバを落としますので、その間はアクセスできなくなります。ご了承ください。

今は root 権限有りの VPS を借りてるんですが、こういう手間を考えると、Webのみのホスティングサービスの方が楽でいいですね。OS とか HTTP サーバのアップデートを勝手にやってくれるので。

これを機に乗り換えちゃおうかなー。

Quick Looku、p:

zaurus で radiko を聴く!

いろいろ mplayer をいじってみたところ、なんとか radiko を再生できるようになりました。

SL-C1000 にスペカの環境(クロックアップなし)で試したところ CPU 能力的にギリギリらしく、たまに音飛びしますが、とりあえずストリーミング再生もできました。

ファイル

前回の rtmpdump も同梱してあります。

radiko-kit.tar.gz を展開し、以下のコマンドを実行することで radiko (TBSラジオ) を再生できました。

$ ./rtmpdump --rtmp "rtmpe://radiko.smartstream.ne.jp:1935" --playpath "simul-stream" --swfUrl "http://radiko-dl.ssdl1.smartstream.ne.jp/radiko-dl/1.1/player/player_0.1.2.swf" --pageUrl "http://radiko.jp/player/player.html#TBS" --app "TBS/_defInst_" --flashVer "LNX 10,1,53,64" --live | ./mplayer - 

あとはフロントエンドですねー。

それにしても radiko に必要ないデコーダ類を全部切ったのに mplayer が 6.3MB もあるなんて・・・でかすぎです。絶対動いてないコードあるって。無駄にダイエットさせてみようかな。

zaurus で radiko の録音(再生できず)

言わずと知れた、インターネット経由でラジオのサイマル放送を行っている radiko.jp ですが、Ubuntu などの Linux 機でも聞けるんですね。radiko 自体は知ってましたが、Linux で聞けるのは最近知りました。

rtmpdump というソフトを使えば録音もできてしまうようです。放送局というとDRMとかガチガチにしてそうなイメージだったんですが、そんなことないんですねー。

だったら zaurus でも? と思ってググってみましたが、成功事例はありませんでした。

実用的かどうかは置いておいて、面白そうだったので rtmpdump をビルドしてみました。

rtmpdump.tar.gz を展開すると rtmpdump が作成されますので、それを zaurus にコピーしてください。libssl とかのライブラリもスタティックにリンクしているので単体で動作可能です。

一応、以下のコマンドで TBS ラジオを録音することはできました。

$ ./rtmpdump --rtmp "rtmpe://radiko.smartstream.ne.jp:1935" --playpath "simul-stream" --swfUrl "http://radiko-dl.ssdl1.smartstream.ne.jp/radiko-dl/1.1/player/player_0.1.2.swf" --pageUrl "http://radiko.jp/player/player.html#TBS" --app "TBS/_defInst_" --flashVer "LNX 10,1,53,64" --live -o aaaa.flv

録音はできましたが、肝心の再生はできてません(ぉぃ

どうも超有名な阿川さん作の mplayer では 1.1.5-1 でも 1.2.0-1 でも再生できないようです。AAC には対応しているみたいなんですけどねぇ。

録音したファイルを PC に持ってきて再生すればちゃんと聞けたので、多分 rtmpdump 自体は正しくビルドできていそうな感じです。

だれか mplayer のビルドに挑戦してみる人いませんか?

うまくいけばストリーム再生もできちゃうかも??

 

ちなみに、rtmpdump-nosrc.tar.gz の方はビルドスクリプトとパッチです。展開して make すれば必要なソースをダウンロードしてビルドしてくれます。

自動 qinstall パッチツール

だいぶ時間がかかってしまいましたが、自動で qinstall.so にパッチを当てるツールができました。私が該当機種の qinstall.so を持っていなくても qinstall-fix 相当のパッチを自動で当ててくれます。

mokusei さんから、SL-6000 シリーズでも qinstall-fix を使いたいとご要望をいただいたのですが、 SL-6000 シリーズは ROM バージョンもまちまちで、アップデートイメージもSHARPから提供されていないようなので、今までの方法で全てのバージョンに対応することは不可能でした。

今回のツールを使うことで、そのような方でも qinstall-fix 相当が使えるようになるかもしれません。

ただし、自動でバイナリパッチを当てるというのはものすごく危険で、最悪 NAND Restore しないと起動しなくなる可能性がありますので、ご使用になる場合はご自身の責任でお使いください。

qinstall-fixが対応している機種をお持ちの方はqinstall-fixをお使いください。qinstall-fixが対応していない SL-6000 系の方のみお試しください。

ファイル

使い方

1. ザウルスの NAND backup を取ってください。

2. PCでファイルをダウンロードし、SD か CF に展開します。

展開すると readelf と generate-info という2つのファイルが作成されます。これを CF か SD のルートディレクトリに入れてください。

3. ザウルスに SD, CF を挿します。

4. ターミナルソフト (qpe-embeddedkonsole-ja 等) から以下のコマンドを実行します。

$ cd /mnt/card      ※ SD の場合
$ su
# ./generate-info /opt/QtPalmtop/binlib/qinstall.so

ファイルのチェックと自動パッチを行います。成功すると、 /opt/QtPalmtop/binlib/qinstall.so.patched というファイルが作成されます。

実行したときのログは重要な情報源になりますので、コピペして保存しておいてください。

ちなみに私が借りている SL-6000 では以下のようなログになりました。

# ./generate-info /opt/QtPalmtop/binlib/qinstall.so
/opt/QtPalmtop/binlib/qinstall.so
I: .text section found.
D: id: 12 addr:0x00012180 file:0x00012180
I: .rodata section found.
D: id: 14 addr:0x0003318c file:0x0003318c
I: getAvaliableSize symbol found.
D: symbol: 0x00026d78
D: str: /home/namikosi/cvs/c700.daito/qt-master/qt-2.3.2/include/qlistbox.h
D: embed area: 0x0000008c length: 68
I: Code found!! offset = 0x1e0 vaddr = 0x26f60
D: cat /opt/QtPalmtop/binlib/qinstall.so > /opt/QtPalmtop/binlib/qinstall.so.patched
I: ADDR mul:0x26f60 embed code:0x33218
I: File mul:0x26f60 embed code:0x33218
I: mul code: eb0030ae
I: 00026f60:ae3000eb
I: 00033218:2f866f00ffffffff925380e0000050e308509f15000055e300509f450ef0a0e1ffffff7f
I: 1db173a57facb468270cae6f946c751c /opt/QtPalmtop/binlib/qinstall.so
I: 0f4c9360fb875b57659b2c12d2f71ad2 /opt/QtPalmtop/binlib/qinstall.so.patched

5. オリジナルを保存して、qinstall.so.patched に差し替えます。

# mv /opt/QtPalmtop/binlib/qinstall.so /opt/QtPalmtop/binlib/qinstall.so-bak
# mv /opt/QtPalmtop/binlib/qinstall.so.patched /opt/QtPalmtop/binlib/qinstall.so

6. ザウルスを再起動します

7. パッチ当てが成功していれば 2GB を超えるメディアにも ipk をインストールできるはずです。

試してみた方は、以下の内容をコメント欄に張り付けてください。

  • 機種名 (SL-6000Nなど)
  • ROM version
  • 成功か失敗か
  • generate-infoコマンドを実行したときのログ

成功した場合は qinstall-fix にその結果をマージしたいと思います。

少々危険が伴いますが、SL-6000系をお持ちで人柱になってくださる方はご協力をお願いします。