>

2013年12月15日日曜日

REGZAのブルーレイドライブに閉じ込められたディスクの救出方法



昨日無性にジャッキーチェンの映画が見たくなったのでブルーレイを借りて見ようとしたら、ディスクを読み込まずその後「ブルーレイディスクプレイヤーを起動しています」のままフリーズした。地デジモードにしてからブルーレイモードに戻しても、電源入れ直しても、イジェクトボタン押しながら電源投入しても、ディスクドライブの穴にピンを突っ込んでも(そもそもBDドライブのこの穴はそのような目的のものではないらしい)反応ない。ディスクももちろん取り出せない。TSUTAYAで借りたものなのに。ネットで調べた限りではスロットイン式のドライブのためか強制取り出しの仕組みもなさそうだ。保証期間は4ヶ月前に切れていて修理しても万単位の費用がかかるみたいなので分解してディスクの救出を試みることにした。

結論から言うと家庭用ドライバーセットがあれば1時間くらい格闘すればディスクの救出は可能です。そのときのメモを書きますが、あくまでこれを見て分解してみる人は各自の自己責任でお願いします。ちなみに僕のレグザの機種は40RB2です。

電源ケーブルをコンセントから抜く

当然ですが作業を始める前に電源ケーブルはコンセントから抜いてください。外装外すと中には高電圧の箇所もあるだろうし、分解作業でミスると二度ともとに戻せなくなる可能性もあるのでくどいようですがこの先は自己責任でお願いします。

外装を取り外す

本来裏のネジ(木ネジ17カ所、背面中部のネジ4カ所、出力端子付近のネジ2カ所)を取り外して外装を取り外します。背面中部のネジ4カ所のうち1カ所は電源ケーブル付近のネジです。ネジを全部外すした後に背面の外装を持ち上げると手で簡単に外せます。



BDスロットの外枠を取り外す

銀色のネジを2カ所外してスロットの外枠を外します。多少、溝みたいなのにはまってるようなので折らないよう気をつけて取り外してください。うまく傾けるようい引き抜くと外せます。


ドライブに接続されているコネクタを三本抜く

3本のコネクタを抜きます。下の写真で左二個は普通に引き抜けます。一番右のは白いツメみたいのと一緒につまんで引き抜けば抜けます。最初ちょっと固く感じるので注意して抜いてください。コネクタを外したらドライブを完全に筐体から取り外します。


ドライブを筐体に固定しているネジを外し、ドライブを筐体から取り外す

ドライブの側面4カ所のネジを外してドライブを筐体から取り外します。

ドライブ前面パネルを外す

ドライブ前面パネルは6カ所くらいのツメパッチンで固定されています。マイナスドライバでこのツメをつついて外してから手でパネルをを取り外します。

さらにドライブの外装を外す

とり外したドライブでさらに4カ所のネジを外してドライブの外装を外します。ここまでくるとあと少しです。ネジを外すと外装は上下にぱかっとはずれBDドライブが露わになります。

BDドライブ本体を分解する

露わになったBDドライブ本体の4カ所のネジを外します。するとBDドライブは完全には分解は出来ない(写真中の基盤で隠れている面にシールみたいなので接着されているためです。このシールははがすと後々面倒そうなのでやめておきます。)のですが手でカバーを持ち上げてやることで少し隙間が開くようになります。この隙間からディスクを指でつまんで救出することが出来ます。

再組み立てと復旧

ディスクを救出したら適当に必要なコネクタをとりつけて電源を投入します。(感電とかしないように気をつけて自己責任で行ってください。)するとブルーレイディスクプレーヤーが無事起動し「ディスクなし」と認識します。そこで取り出しボタンを押すと、スロットの入り口が開きディスク自体は(既に救出しているため)出てこないのですがディスクを出すように動作し、完全に正常な状態のディスクが空の状態になります。この状態で再び問題のジャッキーチェンの映画のディスクを恐る恐る入れてみると今度は正常に認識して再生出来ることが確認出来ました。(要するに今回の問題はディスクの問題とかではなくて単なる不運だったようです。ソフトウェア的なバグの可能性もあるので、ネットに接続してファームウェアをアップデートしておいた方が良さそうです。)
動作確認出来たらちゃんと組み立てて、無事作業完了です。

最後に宣伝

自作でAndroidアプリを作ったので宣伝させてください。お子さんにAndroidのスマホやタブレットを渡している方におススメのアプリです。スマホやタブレットで遊ぶことをご褒美に勉強をさせることができます。子供が勝手に勉強するようになります。






























2013年11月23日土曜日

XcodeでビルドしたOpenCVを参照するC++コードのビルド時のUndefined symbols for architecture x86_64

MacでOpenCVをビルドし、そのビルドしたライブラリを使用した自分のコードをビルドするときにリンカエラーが出て次のように表示される問題について。

Undefined symbols for architecture x86_64:

※ちなみに環境はOS X 10.9, Xcode 5.0, OpenCV 3.0.0-dev, CPU:2.5 GHz Intel Core i5(64bit), 開発言語はC++

実際にはOpenCVのdylibのパスも通っているし、そのdylibにはx86_64用にビルドした使用関数が含まれているにも関わらず、その関数が見つからないというエラーで結構はまったのでメモ。

まず前提として次のことは確認済みとする。
1)OpenCVのビルドをちゃんとx86_64で行っていることを再確認。(下図参照)
2)ビルドしたいOpenCVを使用しているプロジェクトのライブラリ参照パスOpenCVのdylibのディレクトリ(通常は/usr/local/lib)にOpenCVのdylibが通っていることを再確認。


以上がちゃんと出来ているのも関わらず冒頭のリンクエラーが出る場合はライブラリの設定を疑う。

・解決方法(コンパイラの設定)
XcodeのOpenCVプロジェクトのBuild SettingsのApple LLVM 5.0 - Language - C++のC++ Standard Libraryの設定をlibstdc++ (GNU C++ standard library)に変更して、OpenCVをリビルドして再インストール。OpenCVを参照しているコードを管理しているプロジェクトの設定も同様に変更して、ビルドする。すると、ちゃんとdylibの関数を見つけられるようになり、ビルドできるようになる。


補足
・XcodeでのOpenCVのビルドはhttp://blog.ra-labo.com/2011/01/opencv-macos-3c.htmlが参考になった。
・この記事ではアーキテクチャはx86_64に設定されていることを前提としているがUniversal(32/64-bit Intel(i386, x86_64))とかでもOpenCVのビルド設定と、OpenCV参照プログラムのビルド設定が一致していれば問題ないとは思う。
・なんでLLVMの設定でうまく行くようになったのかはネットの断片的な情報で関係ありそうなのをひたすら試してみただけなので詳しくは分からない。とりあえず、今は続きの実装したいのでスルーする。知ってる人いたら教えて。

最後に宣伝

自作でAndroidアプリを作ったので宣伝させてください。お子さんにAndroidのスマホやタブレットを渡している方におススメのアプリです。スマホやタブレットで遊ぶことをご褒美に勉強をさせることができるアプリです。子供が勝手に勉強するようになります。

2013年11月19日火曜日

ためになった記事のリンク集

gitからダウンロードしたopencv(3.0)の最新版をmac(Mac OS X)でビルド
http://blog.ra-labo.com/2011/01/opencv-macos-3c.html


2013年11月14日木曜日

VMWareの仮想Windowsで開発していてMSVCR90D.dllが見つからないと言われる件

VMWareの仮想Windows上でVisualStudioのプロジェクトを実行すると

「MSVCR90D.dllが見つからなかったため、このアプリケーションを開始できませんでした。
アプリケーションをインストールし直すとこの問題は解決される場合があります。」

のようなことを言われることがある。

プロジェクトファイルがVMWareの(Macとの)共有フォルダにあることが原因と考えられる。※その場合はプロジェクトファイルをフォルダごとごっそり共有フォルダではないフォルダに移動してからプロジェクトを再度開き、リビルドしてから実行すると解決する。

※VMWareをインストールするとデフォルトでドキュメントやピクチャ、デスクトップなど主要なフォルダが親Macと仮想Windowsで共有される設定になっていることがある。

お困りの方は試してみてください。

2013年10月6日日曜日

mac os moutain lion (10.8.5) にてmacportsでgettextがインストールできない件

macportsでvtkをインストールしようとしたら依存しているgettextのインストールで失敗したために結果的に失敗してしまった。詳細なエラーコードが残ってなくて申し訳ないのだが次のようなメッセージで失敗している。

 
Error: org.macports.build for port gettext returned: command execution failed
Please see the log file for port gettext for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_gettext/gettext/main.log
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: Processing of port gettext failed
一度macportsでインストールしたプログラムを全てアンインストールする
 
$sudo port -f uninstall installed
gettextのインストールを再度試みる。
 
$sudo port install gettext
これでも失敗するのでもう一度gettextを削除する。
 
sudo port clean gettext
gettextのインストールを再度試みる。
 
$sudo port install gettext
するとなんだかよく分からないけどインストールに成功した。

2013年5月15日水曜日

Mountain LionでのMacOSX10.x.sdkの場所

macでネット上で公開されているソースコードをコンパイルするときによく /Developer/SDKs/MacOSX10.5.sdk といったパスを設定しなさい、という記述を見かけるがMountain Lionではこのパスが存在しなくてコンパイルできない。 Mountain LionではMacOSX10.x.sdkは /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk に移動したようなので記述するパスをこのようなパスに置き換えると多分うまく行く。

2013年4月19日金曜日

三次元点群データをgnuplotで表示

たまに三次元点群データ(point cloud)を可視化したいときがある。いろんな選択肢があるがgnuplotでもできるみたいなのでその方法をメモ。
 FILE* gp;
 gp = _popen("pgnuplot -persist","w");
 fprintf(gp, "splot '-' with points pointtype 1\n");
 for (int i = 0; i < objectPoints.rows; i++) 
 {
  fprintf(gp, "%lf %lf %lf\n", objectPoints.at<float>(i,0), objectPoints.at<float>(i,1), objectPoints.at<float>(i,2));
 }
 fprintf(gp, "e\n");
 fflush(gp);
 _pclose(gp);
ちなみにC++, Windows環境での例です。前提としてgnuplot windows版をインストールしていて、インストール時に環境変数PATHにgnuplotのフォルダパスを追加しておく(インストーラのチェックボックスで設定)必要があります。 http://www.gnuplot.info/

2013年4月12日金曜日

契約終了後HTC Desire X06HTIIが使えなくなる件の対処方法

SoftbankのDesireが解約後約一ヶ月で「サービス提供不可」と表示されてなんにも操作できなくなる件、対処方法は起動直後に機内モードに設定することだそうです。http://kyaba.blog.eonet.jp/default/2012/09/post-b6dc.html

しかし、USIMカードにPINロックをかけていたり、画面ロックが複雑だったりするとロックがかかるまでに設定するのはほぼ不可能。

と、あきらめかけていたのですがなんとか設定することが出来ました。そのときの手順をメモします。

1. Desireを起動
2. ロゴ表示が終わったと同時に画面のバーを下げて画面ロック解除コード入力画面を出し、パターンを入力(ここまでの操作をなんとかUSIMカードのPINロック画面が表示されるまでに行う)
3. USIMカードのPIN入力画面になったらPINをすぐに入力せずに時間を稼ぐ。こうすることで常駐プロセスが全て起動し終えるまで(僕の携帯の場合はAdvansed Task Killerなどのアイコンが画面上に表示されたりして落ち着くまで)待つ。時間の稼ぎ方は番号を入力してバックスペース(番号表示枠の右側の←|のようなアイコン)を押したりするのを繰り返す。
4. 常駐プロセスの起動が終わり落ち着いたら正しいPINを入力してOKを押す。
5. ホーム画面が表示されると同時に"menu"ボタンを押す。押すと下側にメニューバーが表示されるのですぐに一番右下の"設定"を押す。すると設定メニューが表示されるのですぐに上から2番目の"無線とネットワーク"を押す。すると画面がまた変わるので今度は一番上の"機内モード"の右側にあるチェックボックスをONにする。

かなり時間が厳しいのですが20回以上挑戦してなんとかうまくいきました。コツはPIN入力画面での時間は制限時間にカウントされないみたいなのでこの画面で常駐プロセスが起動するの待つことで続く画面の表示を高速に表示させるようにすることです。健闘を祈ります。

参考までにメニューの位置が分かるよう画面の写真を載せておきます。
#Desireだとスクリーンショットはroot化しないと撮影できないみたいなのであきらめました。




2013年2月5日火曜日

VMWare FUSION 5のGuest OSで突然ネットワークに接続できなくなったときの対応

Guest のWindowsからある日突然ネットワークに接続できなくなったときはネット検索するとネットワークドライバを一回削除するとか、OSを再起動するとか、あきらめて自動検出からNAT接続に設定を変更するとかいろいろ書かれているが自分の場合は無線LANルーターを再起動することで直りました。
詳しくは分からないが無線LANルーターのDHCPがGeustのWindowsにIPを振ってくれなくなるようだ。なのでこの現象が頻発するなら再起動するという対応以外にもWindowsのIPを固定にするとかの対応もあり得そうだ。(その場合は他のネットワーク環境で使うときはまたネットワークアダプタの設定の変更が必要になるが。。。)

2013年1月27日日曜日

VMWare FUSIONでゲストWindowsをRetinaのフル解像度で表示する

VMWare FUSION5でWindowsをカスタムインストールするとゲストWindowsの「画面の解像度」を設定しようとしても解像度の選択リストにフル解像度の項目が表示されない。

この場合はVMWare FUSIONのメニューからVMWare Toolsをインストールするとよい。
ゲストWindows起動中に下記のようにVMWare Toolsをインストールを選択するとWindowsのディスクドライブにVMWare Toolsのインストールメディアがマウントされた状態になり、インストーラが実行されてVMWare Toolsをインストールできる。たまにメニューをクリックしてもインストーラが起動できないことがあるようだが何回かやったらうまくいった。また、反応なくてもマイコンピュータのディスクドライブにはこっそりマウントされていることもあるので手動でそのメディアを開いてsetup.exeを実行すれば解決することもある。


インストールが完了すると画面の解像度にmacのディスプレイのフル解像度が表示されるようになる。

注)この投稿のスクリーンショットでは既にWMWare Toolsのインストールが完了しているため「VMWare Toolsの再インストール」となっている。

2013年1月22日火曜日

VMWare FUSIONのゲストWindows上で「やり直し」のショートカットキーを実現する方法

FUSIONのゲストWindowsではmacショートカットでcommand-Zで「戻る」操作が可能だがcommand-Yで「やり直し」操作が動作しない。まあcontrol-Yを押せばいいのだがせっかくだからcommand-Yでも「やり直し」操作が出来ると便利なので以下の方法で設定する。

FUSIONの設定から キーボードとマウスを選択。今使っているプロファイルをリストで選択して設定(ギヤ)アイコンを押してプロファイルを編集。
さらに編集画面で「キーボードとマウス」タブを開きその中で「キーマッピング」タブを開く。
+ボタンを押してショートカット定義を追加。
Macの「command-Y」をWindowsの「^-Y」にマッピングするよう設定。

2013年1月19日土曜日

DiXiM Media Serverをインストールしたらネットワーク接続できなくなった件

I-O DATAのTVチューナーGV-MVP/XS2を買ったので付属ソフトであるDiXiM Media Serverをインストールしてみた。

それから再起動して以降PCがネットワークに接続できなくなった。LANケーブルが接続されているにも関わらずネットワーク接続の状態には接続されていません出たりする。当該のローカルエリア接続を無効にしてから有効にしてみても改善なし。というかフリーズする。

最初ハードが壊れたのかと思ったが結局DiXiM Media Serverのインストールが失敗していたのが原因らしい。そういわれてみればDiXiM Media Serverをインストールした最後にダイアログのプログレスバーが100%になった後反応がなくなり、キャンセル押しても反応がないので強制終了したのだった。

DiXiM Media Serverが必要ないのであれば手っ取り早い方法はローカルエリア接続のプロパティにいつの間にか追加されている"DigiOn DTCP-IP Driver"のプロトコルのチェックを外せばよい。そして後でじっくりDiXiM Media Serverをアンインストールすればよい。試しにインストールしてみたDiXiM Media Serverだったがとんでもない目にあった。ますます地デジまわりの規格に腹が立った出来事でした。

2013年1月9日水曜日

VMWare FusionのGuest WindowsのVisualStudioで入力候補が出せない件

Mac上で動かしているWindowsのVisualStudioで入力候補(auto complete, complete word, 自動補完)を発動するためにCtrl+Spaceを押すとMacのスポットライトが反応してしまう件、以下で解決します。

入力候補はAlt+→でも出せるがやや押しにくい。Ctrl+Spaceで行うにはMacのショートカットを無視する様設定を変更することで回避可能。

1:VMwareFUSIONを起動する。
2:メニューバー>VMware Fusion>環境設定>キーボードとマウス>Mac ホストショートカットを開く。
3:「mac ホストショートカットを有効化」のチェックを外す。
以上の設定を行うことでVisualStudio on MacでCtrl+Space barで入力候補を出せるようになる。

注)後から気づいたことだが入力候補を表示するショートカットはCtrl+Space bar以外にもalt+→でもよいみたい。macキーボードだとデフォルト設定でoption+→で表示されるはずです。