JH1LHVの雑記帳

和文電信好きなアマチュア無線家の雑記帳

MiniPro (XGecu) TL866Ⅱ Pluse を購入しました

MiniPro (XGecu) TL866 Ⅱ Pluse という安価な ROM ライタを買ってみました。
もちろん、中華からです。

f:id:JH1LHV:20181227181033j:plain

https://www.aliexpress.com/item/TL866A-Universal-programmer-adapters-kits-TL866A-Programmer-Adapter-Socket-Extractor-Electronic-Components-Kit/32733156901.html?spm=a2g0s.9042311.0.0.31c74c4d96eVSE

 

f:id:JH1LHV:20181117165838j:plain

f:id:JH1LHV:20181117165932j:plain

f:id:JH1LHV:20181117170140j:plain


この ROM ライタの一番のウリは 15,000 以上のチップに対応していることかな。

  • AVR、PIC、EPROM、EEPROM など 15,000種 ものチップに対応
  • 48 pin までの Flash メモリに対応
  • ICSP サポート
  • VCC 1.8V〜6.5V、VPP 1.8V〜18V 保護機能付き
  • COMS、TTL などのロジック IC チェック
  • 形状は 10cm × 6cm × 2.5cm

他にも多くの特徴があるみたいですが・・・まだ、その全体がわかってません。。。

f:id:JH1LHV:20181228112326j:plain

現在、15401 種のチップに対応してます。


f:id:JH1LHV:20181228111956j:plain

TL822 は3タイプあります。
購入時は間違わないように注意してください。
 

■ ■

 

この TL866 は AliExpress の多くのショップで取り扱いがあります。
わたしは、オプションの拡張ボードの種類が豊富なショップから購入しました。

今どきは、 TSOP のような表面実装パーツを取り扱うことが多く、例えば手持ちのジャンク基板のメモリチップからデータを吸い出そうとした時に、チップに合う拡張ボードが無かったりするとシラケちゃうので、そうならないように最初からできるだけ多く拡張ボードを揃えておくことにしました。

 

アプリケーションのインストール

アプリケーションは公式ウェブからダウンロードできます。
現時点では V8.11 が最新バージョンのようです。

f:id:JH1LHV:20181228111359j:plain
インストール先のドライブの指定は、setup 実行時のデフォルトじゃないと上手くいかないみたいです。
(”D:\Xgpro” のままということ。)
 

f:id:JH1LHV:20181228112624j:plain

最初のアプリ起動で Firmware のアップデートを促されたので、アップデートしておきました。
起動時に勝手に最新の Firmware を確認してくれる、こういう仕様はイイですね。

 

f:id:JH1LHV:20181227190209j:plain
起動画面です。

f:id:JH1LHV:20181227190309j:plain

アプリの言語は英語や中文など数カ国から選択できますが、あいにく日本語はないのでデフォルトの英語のままとしました。

アプリのセットアップでドライバも勝手にインストールされるのかとパソコンの画面を凝視してたのですが、わたしの環境ではアプリケーションをインストールしただけで終わったように見えました。

このあと TL822 をパソコンに繋いだらちゃんとデバイスが認識したので、インストールの知らぬ間に勝手に入ったのかも知れません。(こわ)

f:id:JH1LHV:20181228105721j:plain

TL822 を繋いどきのデバイス一覧

 

とりあえず、動作確認

手元にあった古い ROM (富士通 MBM27C64)のブランクチェックをやってみました。
 

f:id:JH1LHV:20181228111840j:plain
デバイス一覧から MBM27C64 @DIP28 を選択します。

f:id:JH1LHV:20181228111122j:plain
Device → Blank Check を選択します。
ROM の装着方法を図で示してくれるところも、親切です。

f:id:JH1LHV:20181117171523j:plain

f:id:JH1LHV:20181228114415j:plain
データの編集もできるので、適当に数字を入れて Write 、 Read をやってみました。

 

PIC のプログラムを複製する

プログラム入り PIC のクローンを作ってみました。 
前に作ったモールス練習機の PIC(12F1822)を使いました。
 

f:id:JH1LHV:20181117191043j:plain

f:id:JH1LHV:20181117185643j:plain


〇 PIC からデータを Read

f:id:JH1LHV:20181228115149j:plain
プログラム入りのコピー元となる PIC を装着して、データを Read します。

f:id:JH1LHV:20181228115746j:plain
Read したデータを確認します。

f:id:JH1LHV:20181228120157j:plain

f:id:JH1LHV:20181228115517j:plain
保存する際のデータ形式として、BIN と HEX が選択できます。

〇 コピー先の PIC のブランクチェック

f:id:JH1LHV:20181228115000j:plain
コピー先の PIC の Blank チェックをします。

〇 コピー先の PIC にプログラムを書き込む

f:id:JH1LHV:20181228121538j:plain

保存したデータを読み込みます。

f:id:JH1LHV:20181228115849j:plain
① の Read ID の後、② の Program ボタンを押下してデータを書き込みます。

f:id:JH1LHV:20181228130746j:plain
正常に書き込めれば、「Programming successful !」と表示されます。

で、新たな PIC ですが、もちろん動作しました。

 

ロジック IC をチェックする

2回路入りのフリップフロップ、74HC74 をチェックしてみました。

f:id:JH1LHV:20181228122818j:plain

f:id:JH1LHV:20181228123145j:plain

各回路でチェックし、その結果を返しています。
2回路とも正常です。

 

USB メモリのフラッシュメモリからデータを抽出する

壊れて動かなくなった USB からデータを取り出す、データリカバリーができるかチャレンジしてみました。

f:id:JH1LHV:20181117192304j:plain
現用中の USB を分解するのは流石にもったいないので、昔使っていて廃棄するだけの 128MB のものを分解することにしました。

f:id:JH1LHV:20181117194110j:plain
左側の大きいやつがフラッシュメモリで、右のはコントローラです。

f:id:JH1LHV:20181228172633j:plain
フラッシュメモリはホットエアガンで簡単に外せます。


f:id:JH1LHV:20181228124607j:plain

この USB メモリに搭載されているフラッシュメモリは
 Samsung K9K1G08U0M(128M × 8bit NAND)
で、残念ながら TL866 のデバイス一覧にはありませんでした。

※NOR型、NAND型メモリは、電源を落としてもデータが消えない不揮発性のメモリです。

f:id:JH1LHV:20181228125207j:plain

 

f:id:JH1LHV:20181228191004j:plain

Samsung の Flash Memory 調べたら、128M × 8Bit のやつがあったので、不完全なまでも Read できることを期待して、作業続行です。 
f:id:JH1LHV:20181228190844j:plain

Samsung K9K1G08U0M(128M × 8bit NAND)

f:id:JH1LHV:20181228191556j:plain

f:id:JH1LHV:20181228191717j:plain

デバイス情報によれば、このチップに適合する拡張ボードは「緑色」とのこと。(TL866 のセットは「赤ボード」が添付)

f:id:JH1LHV:20181228130239j:plain
チップによってはこの「赤ボード」を使う必要があります。

ということで、別口で購入していた緑ボードを使いました。

f:id:JH1LHV:20181228173117j:plain

f:id:JH1LHV:20181228173253j:plain
緑色の拡張ボード2枚を重ねて装着します。
(TSOP48 Base ボード + TSOP32/40/48、緑)

f:id:JH1LHV:20181228192420j:plain

① Options の "Pin Detect" と "Check ID" のチェックを外します。
② データ保存用のファイルを設定します。
③ ID Check します。※これを忘れるとデータは正しく読めません!
④ Read ボタン押下でデータは読み出され、指定したファイルに保存されます。

f:id:JH1LHV:20181228175651j:plain
データ Read 中は黄色の LED が点灯します。

f:id:JH1LHV:20181228192833j:plain

f:id:JH1LHV:20181228193219j:plain
Read が終了し、「Read successful !」と表示されましたが、Bad Block の嵐。。。
(Config の設定が正しくないかも・・・。)

f:id:JH1LHV:20181228193733j:plain
保存した test.bin のプロパティでは、132MB のファイルサイズなのですが、Bad Block がこれだけあるとデータの救出は難しいでしょう。

f:id:JH1LHV:20181228193916j:plain
書き出したデータをバイナリエディタで見たところ、なにやらデータは Read されてますが不完全です。(jpg のヘッダが見つからない)

f:id:JH1LHV:20181228194239j:plain
一応、拡張子を img に変更してディスクイメージのマウントを試みましたが、エラーになりました。
(・・・そう単純じゃないかも。コントローラ側の動作を解析する必要があるような。。。)

ということで、Bad Block にならないデバイスはないかと・・・他のチップを手当たり次第にデバイス一覧から選択して Read してみたところ、K9F1208U0A という 64M のメモリで Bad Block は一か所だけだったので、この先の作業はこのバイナリで行うことに。

f:id:JH1LHV:20181229000504j:plain

f:id:JH1LHV:20181229002519j:plain
Bad Block になるのが少ないので、jpg を探すとそれなりのヘッダは見つかります。ただ、img としてマウントできないとあとは力業となり、FAT を解析してセクタ単位でつなぐ必要があります。

今日のところはここまでで、そもそもの「K9K1G08U0M」がデバイス一覧に追加されるのを待つか、FAT 解析ツールを探して自力で解析するか・・・まぁ、何れにしろ時間が必要です。

f:id:JH1LHV:20181229003340j:plain
jpg は、”FF D8 FF” から ”FF D9” なので、ヘッダを探して切り出したところ、断片的ではありますが、写真の一部を取り出すことができました。

ちなみに、紛失時のセキュリティ対策を施しているような高級な USB では、データが抜き出せたとしても、強固な暗号で守られてるため復号まではたどり着くのは難しいと思います。

ただ、パスワードがわかっていれば、なんとかなるかもです。
コントローラ用のチップを解析して暗号型式さえ判明できれば、復号も可能だと思います。

それと、チップは石みたいなものなので、結構強度があります。
たとえ手で折って壊そうとしても、固いチップ部分は避けて柔らかいところで折れるのでチップが破壊されることは滅多にありません。

ということで、時間は必要ですが、データ救済は可能だと思います。
 

チップを自動で判定する

品番がわからないチップを判別する機能です。
チップの刻印を削ってるような場合に威力を発揮しそうです。

ただし、4ピンや8ピンのチップだけのようです。
手持ちのチップで試そうとしたのですが・・・わたしが持ってるチップはすべて対象外でした。

f:id:JH1LHV:20181229010257j:plain
今のところ、対応するチップが少なく、今後に期待です。

 

結局、一番やりたかった USB メモリのチップからデータを救済することができなかった。。。
この件は、引き続き懸案事項とし、頭の隅っこに置いとくことにします。