JF6DEU blog

改造・修理

CN-H500WDの修理

2025年1月29日 作成

Panasonic CN-H500WD (strada)
標題のものを入手したが、HDDからカッチャンカッチャン...

...というわけで修理してみることにした。
分解
まずは分解。
ここまでは難なくできた。
HDDの救出
次にHDDを救出してみる。
いつものようにATAロック。
そこで、
zu /p
という呪文で解除。

こんなときにXPとFDDは役に立つ。
持っててよかったぁ~。

あとは
ddrescue -d -r 1 --no-scrape 元 先
でデータを救出。(1時間半かかった)

ちなみにどうでもいい話。
このナビにはAK4353というDACが積まれていた。
時間持て余してたら部品見てた。
あーぁ...
HDDを載せ替えても「HDDが異常です 20」との表示が...
こりゃだめかなぁ...

(続く...かな?)
2日目
ここからはほとんど写真がありません。
夢中になると忘れちゃうんです(^^;


昨日そのままddで突っ込んだイメージが悪いのかと思い、もう一度試してみることに。
実は60GB HDDからddrescueで救出したイメージをそのまま40GBのHDDに書き込んでいたので、そこをチェック。
PCに繋いでgparted起動した直後、あれま!
パーティションが途中までしかできていませんでした。

...というわけでgpartedでカキカキ...(MSVを14GBに削った)

で、反映の間にちょっと別のPCのところに行こうとした時、解体中のカーナビに足を引っ掛けてフラットケーブルを損傷してしまったのでそこを修正。(引き裂かれていた)

そしてddイメージをループバックにマウントし、ファイルをコピー。
このときMSV領域は入りきらなかったのでコピーせず。
のんびり待ってコピー終了、umountしてカーナビにセット。

そして起動してみると...
再起動ループ。
一瞬地図が表示されるが、すぐにブラックアウトして再起動してしまう。
もちろん設定メニューを開く間もない。
失敗...か?
もう一度HDDを取り出す。

最後の手段として、MSV領域に空のAUDIOフォルダとシステムファイルらしきデータベースをコピー。
すると...すんなり起動。
やったぁ!と思ってもやはり1分ほどで再起動。
ここまでの余裕があるなら、と設定メニューから初期化を10回ぐらいしてみた。
すると電源が落ちなくなった。

...と、いうことで出来上がり。(日付は変わって午前一時、ひさしぶりにこの時間まで起きた)

ちなみに外付けSSDはこうやって金属の板で挟むと転送速度が上がることに気づいた。
3日目
なんか動作が不安定だなと思っていたら、今日は起動しなかった。(同じ20のエラー)

...というわけでさっそく修理開始~
パーティションについて
とりあえず何回も試行するうえでわかったことをメモ。

  1. 論理パーティション内のパーティションが(5つのパーティションをまとめたところ)TFAT以外のドライブ名の場合->エラー23(TFATとして認識できない、マウント不可)
  2. 前二つのプライマリーパーティションのドライブ名が空以外の場合->エラー23(マウント不可)
  3. パーティション4 HDDVER.TXTがV 11.10.04.01.11M以外の場合->再起動ループもしくはエラー20
  4. 最初のパーティションに__TFAT_HIDDEN_ROOT_DIR__以外のフォルダがある場合->エラー20
  5. パーティション2のNATフォルダがない場合->エラー20
イメージの修正
...というわけでイメージの修正。

sudo losetup -Pf ./path/to/navidiskddfile
sudo gparted /dev/loopbackAddress
sudo losetup -d /dev/loopbackAddress
sudo dd if=/path/to/navidiskddfile of=/dev/HDDpath status=progress

...これで起動するといいけど。
->HDDが異常です エラー24ってなった。
まだ謎があるみたい。

gpartedで調べたら割り切れなかった1MBがあったので隣のパーティション(最終パーティション)と一緒にしてみた...けどこれでもダメ。
その後、windows側でそれぞれのパーティションを作り直してファイルを入れると、エラー20。
そしてパーティション2を書き換えるとエラー24。
その後パーティション2を作り直すとエラー36。
4日目
ついに4日目になった。

朝起動してみるとエラー24に逆戻り。
調べてみると後ろから3つのパーティションそれぞれにLBAフラグが立っていたのでそれを修正。
...でもダメだった。(エラー24)
でも、この段階で起動にだいぶ時間がかかるようになった。
これが壊れた印じゃないといいけど。

この時点で
  • パーティション2はOK
  • まとめたところもOK
...なのかなぁ...
残りは最初と最後になった...

その後、chkdskしてもダメ。
全部作り直してもダメ。
八方塞がりとなった。
エラー20の正体
ふとHDDの接点に緑錆が出ていることに気が付いて接点を洗浄してみた。
するとエラー20->エラー24に。

えぇー?!

エラー20ってHDDが読めなかったってこと?!

...というわけでバーティションを全削除してやり直してみる。
そうこうしているうちに...
とある方法で取り寄せたものが届きました。

こっちでそのまま試してみるとエラー23。(あたりまえ)
というわけで書き直してみる。

...エラー23。

と、ここでクラスタサイズのことを思い出してみる。
クラスタサイズまとめ
左から順番に、

1:
種類 : FAT
アロケーション ユニット サイズ : 4096
フラグ: 00000000
2:
種類 : FAT32
アロケーション ユニット サイズ : 64K
フラグ: 00000000
3:
種類 : FAT32
アロケーション ユニット サイズ : 64K
フラグ: 00000000
4:
種類 : FAT32
アロケーション ユニット サイズ : 16K
フラグ: 00000000
5:
種類 : FAT32
アロケーション ユニット サイズ : 4096
フラグ: 00000000
6:
種類 : FAT32
アロケーション ユニット サイズ : 16K
フラグ: 00000000
7:
種類 : FAT
アロケーション ユニット サイズ : 4096
フラグ: 00000000

となっていた。
作戦会議
...ここまでで分かったことメモ

  • 元のHDDはクラッシュしてて、一部データが消えてる可能性あり
  • 元のHDDはパーティション2つはプライマリ、あとは論理
  • エラー20はシステムからHDDを認識できないもの
  • エラー23はマウントできないもの
  • エラー24、36は謎
  • 60GBのddイメージをコピーして40GBのディスクに無理やり入れると起動はする、1度でも電源を落とすとエラー20
    このとき無理やり入れた部分に少し手を加えないといけない
  • LBAフラグは関係ない
  • 予約済み容量(2MBytes)の謎
  • FATとFAT32も関係ない

かなぁ...
損傷
分解を重ねているうちにあちこち不調が。

まずフラットケーブル。
留め具の黒いロックが折れたり効かなくなったり。
全部で二か所。
頑張ってテープでおさえている。
ケーブル自体も亀裂が全部で3か所ほど入っている。

次にフロントカバー
何回もの脱着でパチンと留める場所がおかしくなってきている。
見栄えにもかかわるので慎重にしてたのに...
一時撤退
...というわけで一時撤退。
一週間ほど作戦を練ることに。

(つづく...かな?)
2025/2/23
作戦がまとまってきた。

1)2日目の手順を再実行
2)その際、MSV領域を最初からすべてコピー
3)パーティションは同じWindows(Windows 10)で作る。
(実はこのカーナビWindows CE 5.0ベースのWindows Automotive 5.0が入ってるっぽい)

...ってなわけでここの手順を再実行することに。

3まで試したら、エラー24。
なんか見覚えが...
ちなみにハードディスクは立ち上がった後大きいファイルを読む音(ジー)が鳴ってからエラー24...ってことはHドライブなのか...?
これは初めて。
2025/2/25
ふと思いついた。
「ソフトウェアアップデートをしてみては?」
...ということでアップデート開始...としたいところだけど「バージョンアップの必要はありません」と出てきた。
ならばとひとつ上のCN-H510Dのファームウェアをリネームして入れてみることを思いついた。(CN-R500Dも同じか?)

->そんなうまい話があるわけもなく。惨敗。

...と、その前にHDDの状態を確認。
すると、一番最初のドライブに「NMLOG[数字]」というログファイルが。
というわけで解析。
そして、GINI.EXEがSTEP0_2で固まっていることを発見!
一気に進んだか...?

ちなみにフォーマットは、
  • 最初の方に謎のバイトがある
  • 次にログ本体
  • 改行
...となっていた。

ログから見えたのはマウントがうまく行っていることとGINI.EXEがSTEP0_2でエラー出したことぐらい...
ちなみに別の用途でNAVI.EXEもあるらしい。

最初の2MB分を読み出してみた。
これ書き込んでも...ダメ。
2025/4/21
作業再開。
Amazonで「MHT2060AT」というHDDがヒットした。
どうやら富士通製の60GB IDE HDDらしい。
お値段1,280円。
いやぁ〜高い。

これで直らなかったらお蔵入りだなぁ...
ddコピー
まずは最初にddrescueでコピーしたイメージを書き込み。
するとエラー24。
やっぱり駄目だった。
webアーカイブ
そもそもファームウェアがおかしいのでは?と思った。
解析の過程でHDD内部の最初の方に謎のファームウェアらしきバイナリがあることを確認していた。
ダメもとでファームウェアを入手し、HDDと一緒にHxD(バイナリエディタ)にかけてみる。
だが、Panasonicのページにあるファームウェアは逆アセンブル不可能。
...というわけでarchive.orgを散歩していたらH500D.BINなるものを発見!
これはいける!と思ってHDDの先頭から似たようなデータを探す。
すると、H500D.BINの1040F10付近で似たようなものを発見。

H500D.BINの1040890にある、
11 FF FF FF 62 79 20 50 61 6E 61 73 6F 6E 69 63 57 49 4E 44 4F 57 53 50 6C 61 74 66 6F 72 6D 20
(by Panasonic WINDOWSPlatformのところ)
から最終行までをHDD内部にコピペ。
するとエラー20に逆戻り。
あっちゃー。
Windows 10の修復機能
一度冷静に立ち止まって考えることにした。
ディスクの管理からはパーティションが見える。
さらに前と同じエラー。
...と、いうことは...

...というわけでWindows 10標準機能のディスクの修復を試してみる。
するとこれが大当たり。
エラー20は消えてひさしぶりに表示とご対面。

修復成功!

こんどは何回電源切っても大丈夫になった。
まとめ
とりあえずstrada(CN-H500D)のHDD交換についてまとめておくことにした。

  • H500D.BINを入手する
  • 上記のオフセットから先をHDDの先頭に張り付ける(セクター13から先にバイナリ本体が来るように)
  • パーティションを作ってその中に救出したデータを入れる

...たぶんこれだけ。