メインコンテンツにスキップ
リペアコミュニティに参加 - アカウントの作成

この翻訳は機械によって生成されたものであり、まだ人間による校正は行われていません。 日本語を話せますか? レビューはこちらから。

Meike 85mm f/1.8 ポートレートレンズの文鎮化:ファームウェア復旧の試み(暗号化および読み取り禁止により失敗)

閲覧: 726

統計データ:

過去24時間:
2
過去7日:
20
過去30日:
114
今までの合計
726
コメント: 1

1件のガイドコメント

修理ガイドのコメントへ
完了済み: 0

誰もこのガイドで修理を「完了」させていません。あなたが一番目になりませんか?

お気に入り: 0

誰もこのガイドをお気に入りに登録していません。一番最初の登録者になりませんか?

所要時間: 見積もりなし
難易度: とても難しい
コミュニティメンバーによる寄稿ガイド

iFixitコミュニティーの素晴らしいメンバーがこのガイドを作成しました。iFixitスタッフによって作成されたものではありません。

Meike 85mm f/1.8 ポートレートレンズの文鎮化:ファームウェア復旧の試み(暗号化および読み取り禁止により失敗)

はじめに

手順 1 に進む ↓

まず、まだ行っていない場合は、絶対に動作しているMeikeレンズのファームウェアのアップデートを行わないでください。ファームウェアの「マジック文字列」が汎用的なもののようで、誤ったファームウェアを書き込んでレンズを永久に文鎮化させてしまう可能性があるためです。

修理ガイドになるはずだったものが、警告の物語に変わってしまいました…

「不注意な愚かさ」の瞬間、レンズがUSBマスストレージデバイスとして作成したフォルダーに誤ったファームウェアファイルをドロップしてしまいました。レンズはアップデートされ機能しなくなり、USBデバイスとして認識されなくなりました。「元に戻す方法はありません!」 この記事は、他の誰かが同じ作業をやり直した挙句、暗号化されたファームウェアとMeikeからの部品供給がないという行き止まりにぶつかることがないように残します。

「正しいファームウェアのサイトはこちらです」: https://meikeglobal.com/pages/firmware-u...

*私は間違った、古い中国語のファームウェアサイトに行ってしまいました! http://www.mkgrip.com/down.html*

*上記のサイトはその後閉鎖されています!*

限られたリソース、データシート、そしてChatGPTへの質問を駆使して、オンボードの小さなSTM32 ARMプロセッサーを、USB経由で認識され、STM32CubeProgrammerでプログラムや再フラッシュが可能な「DFUモード」に入れようと試みました。

これは成功しました!MCUピンのピッチが非常に狭いため個々のピンを測定するのが非常に困難で、さらに金属製の磁気シリアルクリップをPCBホルダーとして使い、スルーホールのはんだ付けに適したはんだごてでミニ冷蔵庫の上で作業していたため、ピンに銅線を1本はんだ付けすることさえほぼ不可能でした。

奇跡と新しい機材によって、MCUを交換しプログラムすることに成功しました。レンズを組み立て直しましたが、動作せずUSB経由でも認識されません!これは、BOOT0ピンが切断された状態の元のMCUと同じ挙動です(「その挙動の原因をBOOT0ピンのせいにしていました!」)。現在、ファームウェアは強力に暗号化されていると確信しています。STM32 MCUにはIP保護のためのAES暗号化が含まれており(エントロピー値は7.9487)、MCUが読み取りを拒否するように設定されていることは理にかなっているため、「DFUモード」経由でロードするための非暗号化バージョンのファームウェアを入手する方法はありません。

交換用のプリント基板/PCBを購入できないかMeikeに問い合わせました:

*「申し訳ありませんが、その部品は販売しておりません。」*

レンズを文鎮化させてしまった場合、同じタイプの故障したレンズから正常なプリント基板/PCBを入手しない限り、復旧させることはできません!

    1. Meike 85mm f/1.8 ポートレートレンズの文鎮化:ファームウェア復旧の試み(暗号化および読み取り禁止により失敗), 取り付けリングの取り外し: 手順 1、 3の画像 1 Meike 85mm f/1.8 ポートレートレンズの文鎮化:ファームウェア復旧の試み(暗号化および読み取り禁止により失敗), 取り付けリングの取り外し: 手順 1、 3の画像 2 Meike 85mm f/1.8 ポートレートレンズの文鎮化:ファームウェア復旧の試み(暗号化および読み取り禁止により失敗), 取り付けリングの取り外し: 手順 1、 3の画像 3
      • ここは簡単な作業です。ドライバー(PH000)を使用して、写真1で示された2本のネジを外します。

      • ドライバー(PH00)を使用して、写真2で示された4本のネジを外します。

      • プラスチック成形部品は、示されている4つのクリップで固定されていますが、内側から押し出すだけで取り外せます

      FixBotに聞いてみる

      コメントを追加

    2. Meike 85mm f/1.8 ポートレートレンズの文鎮化:ファームウェア復旧の試み(暗号化および読み取り禁止により失敗), リアカバーとプリント基板/PCBの取り外し: 手順 2、 1の画像 1
      • まず、矢印で示されたリボンケーブルを慎重に取り外す。小さな滑らかな顎のラジオペンチを使用する。爪が十分に長ければ、爪を使うこともできる。

      • AF/MFスイッチ付きのリアカバーを取り外したら、残りのリボンケーブルを慎重に取り外す。次に、丸で囲まれた2本のプリント基板/PCB固定用ネジを外す。

      FixBotに聞いてみる

      コメントを追加

    3. Meike 85mm f/1.8 ポートレートレンズの文鎮化:ファームウェア復旧の試み(暗号化および読み取り禁止により失敗), ボードの設計と構成: 手順 3、 3の画像 1 Meike 85mm f/1.8 ポートレートレンズの文鎮化:ファームウェア復旧の試み(暗号化および読み取り禁止により失敗), ボードの設計と構成: 手順 3、 3の画像 2 Meike 85mm f/1.8 ポートレートレンズの文鎮化:ファームウェア復旧の試み(暗号化および読み取り禁止により失敗), ボードの設計と構成: 手順 3、 3の画像 3
      • マイクロUSB出入力ポートを備えたMeiki 85mm f/1.8のロジックボードを、最初の写真にレンズと並べて示しています。これは基本的に2つのモータードライバーを搭載したSTM32マイコンです。

      • 2枚目の写真は、STMF072C8T6 マイクロコントローラーの接写です。

      • 3枚目の写真はST社のデータシートからの抜粋で、LQFP48 ピン配置を示しています。

      FixBotに聞いてみる

      コメントを追加

    4. Meike 85mm f/1.8 ポートレートレンズの文鎮化:ファームウェア復旧の試み(暗号化および読み取り禁止により失敗), DFUリカバリーモードのセットアップ方法: 手順 4、 3の画像 1 Meike 85mm f/1.8 ポートレートレンズの文鎮化:ファームウェア復旧の試み(暗号化および読み取り禁止により失敗), DFUリカバリーモードのセットアップ方法: 手順 4、 3の画像 2 Meike 85mm f/1.8 ポートレートレンズの文鎮化:ファームウェア復旧の試み(暗号化および読み取り禁止により失敗), DFUリカバリーモードのセットアップ方法: 手順 4、 3の画像 3
      • 工場出荷時のファームウェアから起動する場合、ピン44のBOOT0は10kΩのプルダウン抵抗を介してLow(0V)に保持されます。NRSTピンであるピン7は、10kΩのプルアップ抵抗を介してHigh(3.3V)に保持されており、これには0Vへのデカップリングコンデンサが付いています。

      • DFUモードで起動するには、ピン44のBOOT0をHigh(3.3V付近)に保持する必要があります。その状態で、ピン7のNRSTピンを一時的にLowにしてMCUをリセットします!

      • ''BOOT0がどこでプルダウンされているのか分からなかったため、ピン44をハンダ除去して上に曲げ、スルーホールの10kΩプルアップ抵抗を介してHighに引き上げました!うまくいきましたが、元に戻そうとしたときにピン44が折れてしまい、結果としてMCUを破壊してしまいました!

      • NRST : 写真1では、赤丸で囲まれた一時的にショートさせる必要のあるデカップリングコンデンサを確認できます。BOOT0用の3.3Vを得るには、青丸で囲まれた10kΩのNRSTプルアップ抵抗の上部、または隣接するデカップリングコンデンサにプルアップ抵抗をハンダ付けします。基板の下側の配線の銅箔を削って予備ハンダを施すことも可能です。

      • BOOT0 : 写真2では、ピン44のBOOT0の配線がプリント基板の裏面から出て、10kΩのプルダウン抵抗に接続されている場所を確認できます!黒丸() 下にあるピン36はVDDIO2で、3.3Vになっています!オレンジ丸() ここに1kΩのプルアップ抵抗を接続し、扱いやすい3.3Vレールにつなぐことで、MCUをDFUモードに設定できます!!!

      • 損傷した状態! : 写真3はMCUを取り外した後のプリント基板です(ひどく損傷して消耗しているように見えます!)。赤い四角は3.3Vを取得した場所で、ピンクの円はBOOT0の配線がMCUの下に消える場所と、そこから出てくる場所を示しています。[リワークのページを参照]

      • BOOT0には10kΩのプルダウンがあります。電圧 = Vdd * Rdown / (Rup+Rdown) ' -- 1kΩ → ~3.0V (0.91·Vdd, 0.3mA) ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' - 2.2kΩ → ~2.7V (0.82·Vdd, 0.27mA) ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' - - 3.3kΩ → ~2.5V (0.75·Vdd)

      FixBotに聞いてみる

      コメントを追加

    5. Meike 85mm f/1.8 ポートレートレンズの文鎮化:ファームウェア復旧の試み(暗号化および読み取り禁止により失敗), DFU(デバイスファームウェアアップグレード)リカバリーモードのプログラミング: 手順 5、 3の画像 1 Meike 85mm f/1.8 ポートレートレンズの文鎮化:ファームウェア復旧の試み(暗号化および読み取り禁止により失敗), DFU(デバイスファームウェアアップグレード)リカバリーモードのプログラミング: 手順 5、 3の画像 2 Meike 85mm f/1.8 ポートレートレンズの文鎮化:ファームウェア復旧の試み(暗号化および読み取り禁止により失敗), DFU(デバイスファームウェアアップグレード)リカバリーモードのプログラミング: 手順 5、 3の画像 3
      • 写真1のように、6バンドの1kΩ抵抗器を32swgのワイヤーに接続します。そのワイヤーの片端を3.3vトレースに、もう片端を10kΩのBOOT0プルダウン抵抗器の上部にそれぞれはんだ付けします。

      • ボードをDFUモードに設定したら、STM32CubeProgrammerソフトウェアをインストールしたシステムに接続して起動します。ボードはすでにUSB経由で認識されており、プログラマーが接続されるはずです。写真2は、Windows 10のデバイスマネージャーに表示されるDFUのブートロードを示しています。名前は「STM BOOTLOADER」となります。

      • 写真3は、再プログラミング後のスクリーンショットです。次の手順でプログラミングのステップを説明します。

      FixBotに聞いてみる

      コメントを追加

    6. Meike 85mm f/1.8 ポートレートレンズの文鎮化:ファームウェア復旧の試み(暗号化および読み取り禁止により失敗), DFUモードでのプログラミング: 手順 6、 3の画像 1 Meike 85mm f/1.8 ポートレートレンズの文鎮化:ファームウェア復旧の試み(暗号化および読み取り禁止により失敗), DFUモードでのプログラミング: 手順 6、 3の画像 2 Meike 85mm f/1.8 ポートレートレンズの文鎮化:ファームウェア復旧の試み(暗号化および読み取り禁止により失敗), DFUモードでのプログラミング: 手順 6、 3の画像 3
      • まず、Meikiのサイトから正しいファームウェアを入手します。ファームウェアの.SKYファイルを解凍し、もしファイル名が.BINになっていない場合は、.BINにリネームします。

      • PCBを導電性のない表面に置き、USBを接続します。STM32CubeProgrammerを開き、「Green Connect button」の隣にある「Blue button」をクリックしてUSBを選択します。次に「Connect」をクリックします。プログラマーが基板に接続され、情報が表示されます。

      • 左側にある上から2番目の緑色のボタンをクリックし、「Erasing and Programming」を選択します。「Erase Flash Memory」タブの中央右側にあるFull Eraseをクリックします(画像1)。OKをクリックして消去します。操作が完了するとメッセージが表示されます(画像2)。

      • Downloadセクションで、「Browse」を使用してファームウェアの.Binファイルを選択します。「Verify Programming」のチェックボックスにチェックを入れ、「Start Programming」ボタンをクリックします。プログラミングと検証が完了すると、確認ダイアログが表示されます(画像3)。

      • この時点でピン44を折ってしまいました!! 基板の接続を外し、1KΩのBOOT0プルアップ抵抗を慎重に取り外します。その後、再度基板をUSBに接続し、レンズに正しいファームウェアが入っていた時と同様にフォルダーが表示されるか確認します。表示されたら、レンズを元通りに組み立ててテストします。

      • 表示されない場合は、レンズ内で基板をテストするか、あるいは1KΩの抵抗を元に戻し、別のファームウェアイメージで繰り返します。

      FixBotに聞いてみる

      コメントを追加

    7. Meike 85mm f/1.8 ポートレートレンズの文鎮化:ファームウェア復旧の試み(暗号化および読み取り禁止により失敗), [新しいMCUへの交換 *通常、この操作は必要ありません!*]: 手順 7、 3の画像 1 Meike 85mm f/1.8 ポートレートレンズの文鎮化:ファームウェア復旧の試み(暗号化および読み取り禁止により失敗), [新しいMCUへの交換 *通常、この操作は必要ありません!*]: 手順 7、 3の画像 2 Meike 85mm f/1.8 ポートレートレンズの文鎮化:ファームウェア復旧の試み(暗号化および読み取り禁止により失敗), [新しいMCUへの交換 *通常、この操作は必要ありません!*]: 手順 7、 3の画像 3
      • 「35ドルという非常に安価なホットエアー(熱風式)はんだ付けステーションを購入したので、新しいMCUに交換します!!」

      • 「現在、I/Oの割り当てを調べています」

      • プリント基板/PCBを修正しました。ヘルピングハンズ(精密作業用補助器具)、はんだペースト、フラックスペンは必須アイテムでした!858Dを約333℃、風量4¾に設定し、はんだごては312℃で使用しました。パッドを洗浄し、はんだペーストを塗布してMCUを配置し、3つあるノズルのうち一番大きいものを使ってはんだ付けしました。フラックスペースト、はんだごて、はんだ吸い取り線を使って修正し、さらにフラックスを塗り直して一番小さいノズルで加熱し直す必要がありました。数時間におよぶ作業でした。

      • 今夜、2回「USBデバイスが認識されません」というエラーが発生して修正を行いましたが、その後ボードが認識され、ファームウェアの消去、書き込み、検証を行うことができました。

      FixBotに聞いてみる

      コメントを追加

    8. Meike 85mm f/1.8 ポートレートレンズの文鎮化:ファームウェア復旧の試み(暗号化および読み取り禁止により失敗), 新しいMCUの再プログラミング: 手順 8、 3の画像 1 Meike 85mm f/1.8 ポートレートレンズの文鎮化:ファームウェア復旧の試み(暗号化および読み取り禁止により失敗), 新しいMCUの再プログラミング: 手順 8、 3の画像 2 Meike 85mm f/1.8 ポートレートレンズの文鎮化:ファームウェア復旧の試み(暗号化および読み取り禁止により失敗), 新しいMCUの再プログラミング: 手順 8、 3の画像 3
      • 新しいMCUを、リネームした.skyファームウェアイメージで再プログラミングした。これら3枚の画像に示す通りである。

      • プルアップ抵抗の両端の電圧降下からプルダウン抵抗が回路内にあると判断し、そのプルアップ抵抗を取り外した。

      • レンズを再組み立てしたが、動作も列挙もされなかった。MCUの交換によって動作しなくなった可能性はある。USB通信は動作しておりMCUも実行されていたため、ファームウェアさえ実行されていれば列挙されるはずである。また、これは元のMCUの挙動と同じである。

      • クリーンなDFUモードの非圧縮/暗号化ファームウェアイメージが必要である。

      FixBotに聞いてみる

      コメントを追加

    9. Meike 85mm f/1.8 ポートレートレンズの文鎮化:ファームウェア復旧の試み(暗号化および読み取り禁止により失敗), 実行できない理由: 手順 9、 1の画像 1
      • 80年代からの古い技術者として、私が考慮に入れていなかった唯一のことは、「知的財産」に対する現代の執着かもしれません。ファームウェアは圧縮されているか、あるいは難読化されているとすら思っていました。しかし、この保護がST社によって提供され、ソフトウェアとハードウェアの両方で実装されているという事実に気づきませんでした。

      • Linuxの仮想マシンでファームウェアに取り組んでいましたが、これ以上進めなくなったため、AIに尋ねました。binwalkerからエントロピー値を取得するよう提案されました。解析を終えると、シェルプロンプトに戻されましたが、その後、エントロピーを7.9497と算出するPythonスクリプトを提供してくれました。

      • この暗号化は、ほぼ確実に共通鍵暗号方式です。さらに悪いことに、ハードウェアには「読み取り禁止」が実装されています。もしMeikeが、ST社が開発ツールで提供している強力な暗号化を使用するという先見の明を持っていたら……。

      • 彼らはほぼ確実に、読み取り禁止を使用して、マイクロコントローラーから抽出される非暗号化ファームウェアを保護するでしょう。

      • もしこれらのレンズを文鎮化させてしまった場合、レンズを機能する状態に復旧させる唯一の方法は、同じタイプの物理的に破損したレンズから正常なプリント基板/PCBを入手することです。Meikeに問い合わせましたが、彼らはプリント基板/PCBの交換用パーツを販売していません。たとえ、レンズのファームウェアを復旧できなくさせている原因が、彼らの知的財産保護措置であるにもかかわらず……。

      • IP(知的財産)保護に関するST社からの情報: https://www.st.com/content/st_com/en/eco...

      FixBotに聞いてみる

      コメントを追加

終わりに

動作しているMeikeレンズのファームウェアのアップデートは行わないでください。

キャンセル: このガイドを終了できませんでした。

添付文書

作成者

1人の作成者と共同作成されました。

Robin Taylor

メンバー登録日: 11/25/18

2,245 ポイント

12のガイドは作成済み

1件のガイドコメント

salut, remarquable le travail effectué ! Vous pourriez me réparer le miens ?

Respectueusement !

Guillaume - 返信 共有

コメントを追加

統計データ:

過去 24時間: 2

過去 7 日: 20

過去 30 日: 114

今までの合計 726