nasneコンテンツを手持ちの機器で再生したい LYNX SH-10BのICS化 でもTwonky Beam失敗

先日nasneを購入しましたが、PS Vitaでの視聴アプリがまだ公開されていないため、それまでのつなぎとして何とかして家庭内ネットワーク経由で録画したテレビ番組を見たい、と色々調べた結果、Android 4.0.3以降、つまりICSであればAndroid端末でDTCP-IP(著作権保護技術により保護されたコンテンツを伝送するための技術規格)をサポートしたTwonky Beamで視聴できることが分かったので、手持ちのデバイスでICS化が可能なNTT DoCoMoのLYNX SH-10B(auのIS01も兄弟機なので同じ)をnasneクライアント化すべくあれこれ弄ってみました。結果的にはDTCP-IPの壁は厚かったのですが、個人的メモとして記事にしておきます。

ICS on SH-10B

結論から言うと、ICS(4.0.4)をインストールしてもTwonky Beamではnasneに録画したコンテンツを再生できませんでした。標準(DRモード)でも3倍モードでも同じです。

httpv://www.youtube.com/watch?v=fiAarisSlE4

「Beamできません。サポートされていないメディアか、無効なメディアです。」
と表示されてしまいます。

DTCP-IPをAndroid OS 4.0.4がサポートしていないのではなく、単純にDRMのkeyを持っていないのではないかと思います。そのため復号できずに非サポートになるのでは?

カスタムROMではDTCP-IPがサポートされないという話もあるようですが、今回は正にその通りになりました。Google PlayからTwonky Beamをダウンロードする時にkeyをもらっているとは考え難いので(それをやると単純な配布にならない)、起動時にどこかへ問い合わせしてkeyをもらっているとしか考えられません。ハードル高いです。ソニーさん早くVitaの視聴クライアント出してください。

今回の記事はこれだけで終わる内容ですが、せっかくですのでSH-10Bをroot化してICS Android 4.0.4をインストールするまでの記録を残していたので(あとで自分でやり直す時用にメモってた)ついでなので記事として掲載しておきます。SH-10Bがbrickする恐れのある改造なので自己責任でお願いします。

本来自分用のメモなので、細かいことは省きます。SH-10Bのビルド番号はアップデートせず大切に使用していたので01.00.02でした。普通にroot化可能な個体です。

SH−01Bのroot化とICSインストールについてはW-ZERO3短歌的活用術さんのサイトと
Libre Free Gratis!
さんのサイトを参考にしました。
正直に言って順を追ってやらずに一気にやりました。面倒なのでPCもmicorSDカードに必要なファイルをコピーすることに使った以外は使いません。手順は以下です。

用意するもの
A)IS01root_002.apk

    au IS01(SH-10Bも同じ)のexploitを利用してroot権限を取得するために使います

B)Supersuer.apk

    SupersuerはGoogle Playで配布されている最新版はSH-10B(IS01)では動かないため古いものを流用します
    su-2.3.6.1-cd-signed.zip をダウンロードして解凍。/system/app/にあるSuperuser.apkを利用します

C)Adreno200-AU_LINUX_ANDROID_ICS_CHOCO_CS.zip

    SH-10BのICS用グラフィックドライバーが存在するのでそれを利用します。
    https://developer.qualcomm.com/download/adreno200-aulinuxandroidicschococs04000306001.targzをダウンロードすると
    Adreno200-AU_LINUX_ANDROID_ICS_CHOCO_CS.04.00.03.06.001.tar.gz
    というアーカイブが入手できますが、Androidで使うのはzipファイルですので一度解凍した後zip形式で圧縮し直し
    Adreno200-AU_LINUX_ANDROID_ICS_CHOCO_CS.zip
    というファイル名にします
    ここで、zipに圧縮をMacOSXで行うとハッシュが変わりunzipできなくなるのでWindowsで行うこと。解凍がエラーで上手く行かず結構悩みました。ハッシュ調べておかしいのが分かりました。

D)gapps_ics_4.0.3_v10.zip

    Android 4.0.3のGoogle Appです。カスタムROMにはGoogle系アプリ(GoogleMapなど)が付属されていないため別途用意する必要があります

E)Ice Cream Sandwich on IS01 tablet build

    Android 4.0.4のカスタムROMです。ツイッターでkarma1501氏が配布しています。現在の最新版は4.0.4_r1.2です。

このような形で配布されています。
[blackbirdpie url=”http://twitter.com/karma1501/status/240828085166034944″]

F)ae2break
goroh_kun氏作のSH-10B(その他IS01/IS03/SH-03C対応) NANDアンロックツールです。シャープの端末はNANDに書き込みロックされていましたが、それを回避できます。systemとbootはアンロックしないのでbrickの危険性は薄いはずです。

※IS01root_002.apkに含まれているので必要ないそうです。仮に実行しても問題はないはずです。現に私はやりました。以下、該当部分は訂正してあります。(teck4さん情報ありがとね)

これらA)からF)E)までをmicorSDカードのルートにPCを使って事前にコピーしておきます。

root化の方法は
W-ZERO3短歌的活用術をさんの記事をご覧下さい。省略します。
Google Playから「アストロファイルマネージャー」と「Android Terminal Emulator(端末エミュレータ)」を事前にインストールしておいてください。今回はPCを使わなくてもできるものぐさ者向きな方法で実行しました。私のMacにはAndroid SDKがインストールはされていますのでadb可能ですが面倒なので使いませんでした。

root化できた前提で、次にICSをインストールします。
その前に、オリジナルのAndroid 1.6の環境をSDカードにバックアップしておきます。
Android 1.6(root化済)上で端末エミュレータを起動するとコマンド入力画面になるのでスーパーユーザーになり(コマンドは su)、コマンドプロンプトが#になったら以下のコマンドを手打ちしてEnterで実行します。
dd if=/dev/mtd/mtd0 of=/sdcard/mtd0.bin
dd if=/dev/mtd/mtd2 of=/sdcard/mtd2.bin

これでmicroSDカードのルートに
mtd0.bin (bootイメージ)
myd2.bin (recoveryイメージ)
が保存されます。

以下、Androidの端末エミュレータでSuperuserとして(#をコマンドプロンプトとして出した状態で)実行します。

1) microSDカードのルートにコピーしたae2breakを /data/local にコピーしインストールします
cp /sdcard/ae2break /data/local
※ここは実はPC使ってやりましたが、端末エミュレータでもできると思います。

2) ae2breakのパーミッションを確認し、555に変更します
/data/localのディレクトリで
ls -l
と入力すると以下のように表示されるはずです。
drwxrwx--x shell shell 2012-09-16 00:31 tmp
----rwxr-x root root 2972 2012-09-16 00:36 ae2break

ae2breakを555に変更します。変更には以下のコマンドを入力します。

chmod 555 /data/local/ae2break

同じく確認をするとこのように表示され、パーミッションが変わったのがわかります。
ls -l
drwxrwx--x shell shell 2012-09-16 00:31 tmp
-r-xr-xr-x root root 2972 2012-09-16 00:36 ae2break

3)カスタムROMやGoogle App、ICSグラフィックドライバをインストールします。

rm -r /data/guest
mkdir /data/guest
mkdir /data/guest/data
mkdir /data/guest/cache
mkdir /data/guest/adreno
mkdir /data/guest/gapps
gunzip -c /sdcard/system.ext4.gz > /data/guest/system.ext4
unzip /sdcard/Adreno200-AU_LINUX_ANDROID_ICS_CHOCO_CS.zip -d /data/guest/adreno
unzip /sdcard/gapps_ics_4.0.3_v10.zip -d /data/guest/gapps

4)NANDロック解除を行い、カーネルをRecovery領域に書き込み、Swap領域を作成後SH-10Bを再起動します。
stop mediayamaha
kill -9 `pidof mediayamahaserver`
/data/local/ae2break

flash_image recovery_wr /sdcard/ubi.img
dd if=/dev/zero of=/data/guest/swapfile bs=1048576 count=256
mkswap /data/guest/swapfile
sync
sync
sync
reboot recovery

再起動後はSH-10BはICSで起動します。普通に起動するとAndroid 1.6、Recoveryで起動するとAndroid 4.0.4になります。Google PlayでQuick Boot(Reboot)というアプリを使いReboot選ぶと1.6、Recovery選ぶと4.0というのが簡単です。

SH-10BのICSに実用性があるのかどうかですが、日本のAndroid初号機であるNTT DoCoMoのHT-03AでAndroid 2.3を動かした時よりも遅い感じがします。メモリーが足らないのでswapしまくりなのが根本的な原因だと思います。

nasneコンテンツを手持ちの機器で再生したい LYNX SH-10BのICS化 でもTwonky Beam失敗” に対して4件のコメントがあります。

  1. 通りすがり より:

    はじめまして。
    Android&nasneで検索してこちらに辿り着きました。
    相方の使っているL-05DがICSなのでTwonkeyBeamをインストールして試してみました。結果的には3倍で録画した物は視聴できました。
    ライブチューナは音声のみ聴けました。
    以上、参考になりましたでしょうか。
    ではでは。

  2. まもすけ より:

    L-05DだからOptimus itですね。

    ドコモのスマートフォンユーザーでnasne持ちじゃないと気にも留めないでしょうから調べても情報が少ないんですよね。そういった情報は非常に助かります。どこかでまとめたいですね。

  3. より:

    はじめまして。
    nexus7はroot可するとTwnkey beamでNGでした。
    SuperSUでルート無効にしたら再生可能です。(3倍のみ)

    カスタムROMでも同じように試しましたが、ルート無効でも再生できなかったので、DRMのkeyが無いからから再生できないという考察は当たっているのかな?

  4. アイスクリームとサンドウィッチ より:

    Ice Cream Sandwich on IS01 tablet build
    がダウンロードできなくなっているみたいです。
    どこかにおっていないでしょうか?
    そして最新版ってまたでました?
    もうしわけないです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください