ปัญหาเริ่มต้นขึ้นเมื่อ 'Tom' เจ้าของอุปกรณ์ตรวจจับตำแหน่งสายเคเบิล Amprobe ราคาประมาณ 2,000 ปอนด์ (ราว 90,000 บาท) พบว่าตัวเครื่องส่งสัญญาณไม่ยอมเปิดใช้งานหลังจากเก็บไว้ในตู้เฉยๆ นานหลายปี เมื่อเขาส่งเครื่องไปยังศูนย์บริการของ Fluke กลับพบว่าต้องจ่ายค่าตรวจเช็กเบื้องต้นถึง 70 ปอนด์ และยังประเมินค่าซ่อมขั้นต่ำสูงถึง 600 ปอนด์ (ประมาณ 27,000 บาท) เขาจึงตัดสินใจส่งเครื่องไปให้ช่องยูทูบ 'Buy it Fix it' ช่วยตรวจสอบแทนเพื่อประหยัดค่าใช้จ่าย
จากการวิเคราะห์ระบบ ทีมซ่อมได้ตัดประเด็นเรื่องระบบไฟและหน้าจอออกไป จากนั้นจึงเชื่อมต่อผ่านพอร์ต Serial เพื่อตรวจสอบระบบการบูตของชิปประมวลผล (SoC) และพบข้อความแจ้งเตือนว่าไฟล์ Boot Image ในหน่วยความจำ NAND Flash ขนาด 128 MB มีความเสียหายและไม่ผ่านการตรวจสอบความถูกต้อง ทำให้ตัวเครื่องไม่สามารถบูตระบบขึ้นมาทำงานได้ตามปกติ
ทีมช่างตัดสินใจถอดชิป NAND Flash แพ็กเกจ TSOP 48 ออกมาอ่านข้อมูลด้วยเครื่องอ่าน แม้จะมีการพยายามใช้แชตบอต AI อย่าง Google Gemini เข้ามาช่วยวิเคราะห์โค้ดแต่ก็ไม่เป็นผลและทำให้เสียเวลา สุดท้ายจึงหันมาใช้วิธีเปรียบเทียบข้อมูลจากเครื่องรับสัญญาณอีกเครื่องที่ยังทำงานได้ดี จนพบว่ามีสภาวะ ‘บิตรวน’ (Flipped Bits) เกิดขึ้นในส่วนของ Bootloader ซึ่งมีสาเหตุมาจากเซลล์เก็บประจุของหน่วยความจำเสื่อมสภาพจากการปล่อยทิ้งไว้โดยไม่มีไฟเลี้ยงนานเกินไป
หลังจากเขียนข้อมูล Bootloader ที่แก้ไขเสร็จสมบูรณ์กลับลงไปในชิป ตัวเครื่อง Amprobe ก็กลับมาบูตทำงานบนระบบปฏิบัติการพื้นฐาน Linux 2.6 ได้อีกครั้งอย่างราบรื่น อย่างไรก็ตาม ทีมช่างแนะนำว่าในระยะยาวควรเปลี่ยนชิป NAND Flash ตัวใหม่เพื่อป้องกันไม่ให้เกิดปัญหานี้ซ้ำอีก เนื่องจากชิปเดิมเริ่มมีอาการประจุรั่วไหลตามอายุการใช้งานแล้ว
🏷️ หมวดหมู่: Repair Hacks, firmware, NAND flash
🔗 อ่านบทความฉบับเต็ม: hackaday
