เมื่อ GamePad ของเครื่องเกม Nintendo Wii U เสียหาย หลายคนอาจจำใจต้องทิ้งคอนโซลทั้งชุด เพราะไม่มีชิ้นส่วนทดแทนจากทั้ง Nintendo และผู้ผลิตภายนอก ทว่าล่าสุด MattKC นักวิจัยด้านรีเวิร์สเอ็นจิเนียริ่ง ได้ไขปริศนาและนำเสนอวิธีแก้ปัญหานี้ ด้วยการสร้าง GamePad โคลนขึ้นมาเอง เพื่อชุบชีวิตคอนโซลเรโทรที่ยังคงมีคุณค่าเครื่องนี้
Wii U อาจไม่ได้รับความนิยมเท่า Nintendo Wii แต่ก็เป็นระบบที่มีเอกลักษณ์เฉพาะตัว โดยเฉพาะจอยควบคุม GamePad ที่มาพร้อมหน้าจอในตัว ซึ่งใช้แสดงผลแผนที่ หรือเป็นหน้าจอส่วนตัวในการเล่นแบบผู้เล่นหลายคน ปัญหาหลักคือ GamePad ถูกมองว่าเป็นส่วนที่ “ไม่สามารถเปลี่ยนได้” ของคอนโซล ทำให้หากมันพัง ตัวคอนโซลก็แทบจะไร้ประโยชน์ไปด้วย
MattKC ค้นพบว่า Wii U และ GamePad สื่อสารกันผ่าน WiFi มาตรฐาน 5 GHz 802.11n ที่ถูกดัดแปลงเล็กน้อย โดย Nintendo ได้แก้ไขการยืนยันตัวตน WPA ด้วยการสลับไบต์ใน PTK ทำให้ WiFi stack ทั่วไปไม่สามารถเชื่อมต่อได้ เขาจึงใช้แพลตฟอร์มอย่าง Linux หรือ BSD ที่สามารถ “เจาะ” การยืนยันตัวตน WPA ในลักษณะเดียวกัน ร่วมกับการใช้คุณสมบัติ WPS ที่ไม่ปลอดภัยเมื่อกดปุ่มซิงค์ของ GamePad เพื่อเชื่อมต่อระบบ Linux เข้ากับคอนโซล Wii U ได้สำเร็จ
หลังจากเชื่อมต่อแล้ว คอนโซลจะส่งวิดีโอเข้ารหัส h.264 (AVC) ไปยัง “GamePad” และระบบที่ดัดแปลงจะส่งข้อมูลอินพุตจากจอยกลับไป ความสำเร็จนี้ได้กลายเป็นโปรเจกต์บน GitHub ชื่อ “Vanilla Wii U” ซึ่งช่วยให้ Steam Deck รวมถึงระบบ Linux และ BSD ที่มีอะแดปเตอร์ WiFi ที่รองรับ สามารถทำหน้าที่เป็น GamePad ของ Wii U ได้ สิ่งสำคัญคือวิธีการตรวจสอบสิทธิ์ที่ไม่เป็นมาตรฐานนี้ต้องถูกบายพาสด้วยซอฟต์แวร์ ทำให้ Nintendo Switch ที่ไม่ได้ดัดแปลงไม่สามารถนำมาใช้แทนได้
ความท้าทายทางเทคนิคเหล่านี้ ผนวกกับความนิยมที่ค่อนข้างต่ำของ Wii U ทำให้ไม่เคยมี GamePad จากผู้ผลิตภายนอกออกมา แต่ในเมื่อ Wii U ได้กลายเป็นคอนโซลเรโทรแล้ว ความพยายามเช่นนี้จึงมีความสำคัญอย่างยิ่งต่อการรักษาเครื่องเกมเหล่านี้ให้ยังคงใช้งานได้ต่อไป และอาจเป็นแรงบันดาลใจให้มีการดัดแปลงอุปกรณ์อื่น ๆ อย่าง PlayStation Portal ให้กลายเป็น GamePad ของ Wii U ในอนาคต
🏷️ หมวดหมู่: Games, Reverse Engineering, Wii U, Wii U GamePad
🔗 อ่านบทความฉบับเต็ม: hackaday
