2015年7月18日土曜日

Raspberry Pi 2 に Retro Pie 2.6 を導入するお話

お久しぶりです.
今日は raspberry pi 2 B(ラズパイ2)に最新版のRetroPieを導入するお話です.


以前の記事の続きって事になるんですが,その記事が2014年9月24日の記事なのでまあ10ヶ月ぶりにアップデートしますよって感じになりますね.

今回は以前導入したSDカードを流用するので,初めてRetroPieを導入する方は以前の記事を参考にしてください.
その辺は基本的に変わってないはずなので.


Raspberry Pi に Retro pie をインストールした話
http://arashimata.blogspot.jp/2014/09/raspberry-piretro-pie.html


さて,以前の記事と今回の記事とについて軽くまとめると,

以前の記事では
初代ラズパイをゲーム機として使うためのOS,RetroPieをインストールしてコントローラの設定をするところまでやりました.

今回の記事では
ラズパイ2を買ってきたあたりの話とRetroPieをアップデートしてラズパイ2で動作させようというところまでやります.
あと,ついでに以前導入したOSが2.3だったんですけど,最新版の2.6までの変更点とかも書いておこうかと思います.
あと,前回できなかったhotkeyの設定の話も最後に付け加えておきます.



無印B+のときはRSオンライン(http://jp.rs-online.com/web/)で購入したんですけど,今回は正規代理店を名乗るケイエスワイ株式会社のラズベリーパイショップ(https://raspberry-pi.ksyic.com/)というところで購入しました.
このショップ,直感的に怪しいお店っぽい見た目のサイトなんですけど,何よりRSオンラインから個人の客はこちらって誘導されるのできっと大丈夫なんだと思います.

RSオンラインとこの正規代理店のショップは税抜き4800円で売ってるんですが,確かこの二件が最安だったと思います.税込みで5184円.前からそうなんですけど,他の販売業者はこれより高い値段で売ってるのでもしかしたら個人も業者も問わずRSが4800円で売ってるのかななんて思ったりもします.
ついでに公式のケースも買いました.送料無料にするために買えって言われた気がした.




●手順

Raspbianのアップデート

カーネルのアップデート

RetroPieのアップデート

hotkeyの話




●Raspbianのアップデート

さてさて,ここでラズパイ2が準備できたことにします.
ラズパイと基本的に同じ構成なのでSDカードを差し替えればそのまま使えるのかなー,なんて思いながらとりあえずSDカードを差し替えてHDMI,給電ケーブルをつないでみたんですが,端的に言うとダメだったわけですね.
画面すら映らず,赤ランプが点くだけで緑のランプがチカチカする事もなく.
調べてみると,どうもアップデートが必要らしいんですね.

こちらのサイト(Aldebaranな人のブログ:Raspberry Piの設定【Raspberry Pi 2 Model B移行用アップデート】;http://yamaryu0508.hatenablog.com/entry/2015/02/03/070000)を参考にさせて頂いたんですけど,アップデートするコマンドを入力すればなんかできるっぽいです.


アップデートする時の注意なんですけど,アップデートは必ず初代ラズパイで行います
元々2の方では起動できないので必然的にそうせざるを得ないのですが,敢えて.
アップデートはネットワーク経由で最新のデータを取得するので,事前にLANケーブルを接続してネットワークに繋いでおいてください.

コマンドは
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install raspberrypi-ui-mods
です.
ですが,途中で [Y/n]? と聞かれるので適当に y とでも答えてください.
これぐらいのメモリを使いますよ,という確認です.
4GBのSDを使ってる人はもしかしたら容量が足りなくなるかも,との事なのでご注意ください.この際に8GB以上にインストールし直すのもアリかもしれませんね.

ちなみにボクは4GBで強行しました(テヘペロ


これらはRetroPieのベースになってるRaspbianとかのアップデート(?)みたいです.
RetroPieはもうちょっと後でやります.

これらのアップデートを室温31度の自室でやってたんですけど,途中でどうやら熱にやられてたらしく,ダウンロードの途中で速度がゆっくりになったり一時停止してたりしてたんですね.
ヒートシンクをつけているとはいえ,フタしてファンレスだと夏場は厳しいようです.12cmファンを用意して直に風を当ててやると順調に処理が進むようになりました.

これらの処理にはそこそこ時間がかかるので気長にやってください.トータル1時間では終わらないと思ってください.

で,この4つが終わると(たぶん)ラズパイ2の方でも起動できるようになると思います.




●カーネルのアップデート

知らなかったんですけど,Linuxのカーネルを更新することができるようで,前述の参考させて頂いたサイトにありましたが
sudo rpi-update
と唱えることで更新してくれるようです.
カーネルが新しくなったところで何が変わるのかよくわからないので,たぶんやらなくてもいいやつです.GPUのファームウェアも更新してるとかいう話ですけど,こちらも何が変わるのかよくわからないですね.
何でも最新が好きな人はどうぞ,みたいな.




上の画像が諸々やる前,
下の画像が諸々やった後です.






3.12.22 から 4.0.8 になったのはいいんですが,あれ,rootfsのディスク使用量の表示が消えてる・・・?
まあ・・・いいか・・・.




●RetroPieのアップデート

ここからはラズパイ2での作業になるので,SDカードを入れ替えて,HDMIとか繋いでるものを全部ゴッソリ挿し直します.


で,起動します.いつも通りに.

この時点でRetroPieはまだ更新できていないので,そっちの更新をやります.
普通に起動するとEmulationStationが立ち上がるので,F4 キーでコマンド画面に移って,
startx
でGUI画面にします.
LXTerminalを起動して
cd RetroPie-setup
sudo ./retropie_setup.sh
と入力してRetroPieのセットアップのスクリプトを起動します.

バージョンによって違うみたいですが,
UPDATE RetroPie Setup script

UPDATE RetroPie Binaries
を順に実行します.
(最新版ではバイナリーの方の項目が消失してますが・・・)

で,再起動します.
sudo shutdown -r now


おわり.




実は,RetroPieはアップデートできることはわかってるんですが,現在どのバージョンであるかというのを確認する方法がボクにはわからないんですね.
アップデートすると retropie_setup.sh の項目が明らかに変わってたり,ディレクトリの奥の方のファイルが最新版に対応した内容になってたりはするんですが,肝心のバージョン番号とかそういうのがどこにも見当たらないんですよ.
こっちはカーネルと違ってアップデート内容によっては便利になるのでこまめにチェックしておきたいですね.

今回アップデートした(はず)のバージョン2.6までの主な変更は次の通りです.(http://blog.petrockblock.com/retropie/retropie-downloads/retropie-sd-card-image-for-raspberry-pi-2/
・2.4 ソフトの拡張子ZIPに対応
・2.5 ラズパイ2に対応,オーバークロック設定の削除

基本的にエンドユーザーにはよくわからないバグの修正とか諸改善が多いみたいですけど,その他コモドール64とかなんかよくわからないもののエミュレートをサポートしたりしてるらしいです.
コンフィグもあんまり深く読んでなかったので,オーバークロックできたんだって感じですけど.




●hotkeyの設定

以前の記事でhotkeyの設定方法がわからないって書いて誤魔化したんですけど,やっとわかったのでこっちで書いておきますね.まあ,基本的にcfgファイルが見つからなかったっていうのが問題だったんですけど.


RetroPie全体の設定に関わるcfgファイル"retroarch.cfg"は
ファイルマネージャから
/opt/retropie/configs/all
まで辿ればあります.
これを開くと入力機器の設定とか音,映像とかの設定ができます. retropie_setup.sh で設定した項目がここに反映されるんだと思います.

ゲームパッドのボタンの設定についてのcfgファイル"*** (ジョイスティック名) .cfg"は
 /opt/retropie/emulators/RetroArch/configs
にあります.
デフォルトで入ってるゲームパッドのファイルと,各自で設定したパッドの数だけファイルがあると思います.

hotkeyの設定なんですが,どうやらどっちでやっても良いっぽいんですよね.
ただし,たぶんですけど,ジョイスティック毎に設定した方が良いと思います.


ダブルクリックして開きます.
ゲーム上のボタンと,それに対応するジョイスティックのボタン番号がズラッと並んでます.

ここの最後にでも
input_enable_hotkey_btn = "*"
input_exit_emulator_btn = "*"
を追記します.
*印のところはそれぞれの環境に応じて入力してください.
一般的に enable_hotkey にセレクトボタン, exit_emulator に L ボタンを指定します.
こうすることでセレクトを押しながら L を押すとゲーム画面から脱出できるようになります.

下の画像に自分の使用しているジョイスティック2種類のcfgファイルを示しますが,各ボタンに対応するジョイスティックのボタン番号がちょいちょい違うのがわかると思います.



自分の場合,たまたまセレクトと L のボタン番号が同じだったので同じように追記してますが, 基本的にジョイスティックによってこの数字が違いますから,環境に応じて*印を変えるというのはそういう理由なんですね.

で, 順番が前後しましたけど retroarch.cfg 側で hotkey の設定をしない理由はここにあって,ここでいずれかのジョイスティックを前提に設定してしまうと,他のジョイスティックに取り替えたときに対応するボタンが変わる(と思う)のでジョイスティック毎に個別に設定した方がいいということです.

それから,少なくとも V2.6 ではhotkeyが使えるのは1Pとして認識されたコントローラだけみたいですね.




ということで,ラズパイからラズパイ2にハードを取り替えるのが主な目的だったんですが,思わぬところでいろいろ見つかってちょっとだけ勉強になりました.
ハード的にスペックアップした影響はと言うと,従来のB+では処理が間に合ってなかったところとかがスムーズに動いたりして,アップデートするだけの価値はあったかなと思います.
具体的には桃鉄のボンビーがキングボンビーになった時とかドラクエ3のダーマの神殿とかの霧がかかったようなレイヤーが追加された時に処理が間に合ってなかったり,人の声とかが再生される時に音がザワザワしたりしてたのがスムーズに動作するようになったって感じですね(ハード以外も更新したので理由は明確じゃないですけど).
ただ,snesでも一部のゲームの処理の重い音声を使う場面になるとまだ処理が足りてないみたいですね.


さて,次の更新はいつ頃になるやら.

2015年2月18日水曜日

バッファロー製HDDレコーダー「DVR-W1」のリモコン不良のお話

あけましておめでとうございます。2月ですが、今年最初の記事です。


タイトルの通りなんですが、バッファロー製のHDDレコーダーDVR-W1のリモコンの利きが悪くなったので自分で修理をしました、という記録です。

うちにはテレビというものを置いていないんですが、その代わりにこのハードディスクレコーダーをテレビ代わりに使ってるんですね。モニタはパソコン用のものをHDMI接続して使ってます。
このレコーダーを買ってから2年は経ってると思うんですが、ある頃からなんだかリモコンの反応が悪くなってきたんですね。電池かなと思って交換してみても特に効果がなく、リモコンを叩くとたまに反応が良くなったりして昭和のテレビかって感じだったんですけど、この間遂に分解して修理することにしたんですね。
あ、もちろん真似するときは自己責任で。

ボクは電子機器の具合が悪くなったらすぐ分解して修理しちゃう癖があるんですけど、実はこのリモコンに関しては調子が悪くなり始めてもしばらくは放ってました。というのも、分解の仕方がわからなかったんですね。だいたいの機器って裏のフタを剥がしたらツメが見えるようになってたり、ゴム足剥がせばネジが出てきたりっていうお決まりのパターンがあるんですけど、このリモコンについてはガードが堅くて先延ばしにしてたんですね。
しかし、リモコンの反応もだんだん悪くなって流石に気合い入れて直すかサポートに電話するかってレベルになってきたので、壊れるの覚悟で分解することにしました。筐体全体に力を入れてたわませるとどの辺にツメがあるかっていう見当がつくことが多いんですけど、このリモコンについてはネジ止めしてるのかなっていうぐらいの堅さ。手順を間違うと不必要に壊してしまう可能性があるんですけど、いろいろ触ってみたところツメだけではめ込んでるような雰囲気を感じたので、結局力業で分解することにしました。


分解すると、次のような構成になっていました。


左から電池と電池フタ、上側筐体、表面ゴム、基板、下側筐体

ちなみに、ツメは長辺に5つ、短辺に2つずつの14つでがっちりはめ込んでました。しかもそれぞれが硬い。再分解のためにちょっとヤスリで削っておきました・・・。

そして、肝心の接触部分なんですが


十字キーと決定ボタンは普通のモメンタリ型タクティルスイッチを基板に載せたもの。問題はそれ以外。ゴムを押し当てると基板上で通電して接触判定となるよくあるタイプなんですが、基板を触ってみて原因が一発でわかりました。




上の写真でゴム側、基板側ともにちょっと湿ってる?ようなテカりがあるのがわかりますかね。主にテカってるのはゴム部と基板が常に接触し続けてる部分なんですが、ボタンの接触部にも微量ながらこのテカりがありました。
このテカり何?って話なんですが、自分も詳しくはないですが、要は長い間使ってないシャーペンのグリップ部分の表面がドロドロになるあれです。あれが基板―ゴム間で絶縁してしまってるというのが直接の原因のようです。
だからちょっと強めに押したりすると通電するわけなんですね。

というわけで、このネチャネチャしたやつを全部拭いてやります。しばらくしたらまた再発するでしょうが、原因が掴めればこっちのもんです。何度でも分解してやります。
結論を先に言うと、これで問題は解決しました。買った頃のような初々しい反応をしてくれます。


リモコンでこういった問題が起こるというのはなかなか聞いたことがないんですが、大手メーカーでは当然のように回避されている問題なのかもしれません。バッファローはリモコンを使う製品ってあまり出しませんし、経年で徐々に発生しやすくなる問題なので予見できなかったのかもしれません。まいいや、直ったし。



あとは蛇足です。


基板はなんか安っぽいです。でも、今回の問題の原因は主にゴム側でした。





最初はLEDのハンダ付け不良とか過電流での発光量低下があるのかなって思ってたんですが、そんなことはなかったですね。



これらの基板の写真は全部拭いた後です。



分解した当初はコンデンサが壊れたり、基板上の短絡とかも疑ったんですけどね・・・。







まあ、本体に電源ボタンすら設置してないのにリモコンが利かなくなるって致命的な欠陥なんで、バッファローさんには無償交換対象にしてもらってもいいレベルだと思うんですけどね。
特にボクなんてテレビ代わりで毎日使ってますから電源ボタンとかの使用頻度の高いボタンから死んでいくっていう悲しい症状なんでね。せめて今後出すリモコンでは改善しておいて欲しいですね。

あとリモコンとは関係ないですが、本体側の受光部の受光角が狭いの何とかならないですかね。前面の半透明カバーの奥に受光部があるんですけど、上下左右の視野角が狭くて真っ直ぐリモコン向けないといけないんですよね。
他に、外付けと内蔵のHDD間でデータのやりとりするときなんですけど、大量に移動させると普通に数時間かかったりするじゃないですか。終了したら自動でレコーダの電源を切るっていう機能をつけておいてほしいんですよね。とか、録画の合間を縫ってデータ移動の予約ができるとかいうのでもいいんですけどね。
まあいろいろ不満はありますけど、なんだかんだ便利なのでしばらく使うと思います。



追記(2016.10.30)

幸か不幸か、今でもこの記事を見てくれる方がいらっしゃるようで、きっと何人かは試してみていただいたと思うんですけど、自分のリモコンではもうこの方法でも対処しきれなくなったので追加の記事を書いておきます。

反応が悪くなるたびにフタを開けて拭いて(磨いて?)修理していたんですが、ボタンによってはとうとうどうにも反応しなくなってしまいました。原因はわかりませんが、ゴムが変質したか表面が擦り切れたかだと思います。見た目にはわかりません。
そこでこちらのサイトさんで紹介している方法を試しました。

skimemo - BUFFALOのHDDレコーダーリモコン修理

きっとこちらにたどり着いている方も多いかと思いますが。
こちらの記事で紹介されているのはゴム側の接触部にアルミ箔を貼って代替する方法です。これでやれば変質などは基本的にないはずで、剥がれさえしなければずっと使えます。ので、今はこちらの方法をおすすめしておきます。
ちなみに、私は接着剤ではなくテープのりを使いました。作業するときにミスってもやり直せる気がしたので。
反応が悪くなったボタンだけに貼ればいいかと思ってたんですけど、いざ貼ってみるとスパスパ反応するもので、今度は普通に使えてたと思っていたボタンの反応が悪く感じてきて・・・。

本体は未だに不具合もなく現役最前線なんですけど、ほんとにこのリモコンのせいで買い替えた方も多いのではないかと思うと残念ですね。