ไมโครซอฟท์เปิดซอร์สโค้ด CFU ระบบอัพเดตเฟิร์มแวร์ของฮาร์ดแวร์ผ่าน Windows Update

2018-10-23

ไมโครซอฟท์เปิดซอร์สโค้ดของ Component Firmware Update (CFU) ช่วยให้ผู้ผลิตฮาร์ดแวร์สามารถอัพเดตเฟิร์มแวร์ของตนเองผ่าน Windows Update ได้สะดวกขึ้นมาก

ก่อนหน้านี้การอัพเดตเฟิร์มแวร์มีด้วยกัน 3 วิธีคือ

  • อัพเดตผ่านเครื่องมือของแต่ละบริษัทเอง ข้อดีคือรองรับโปรโตคอลเฉพาะของตัวเอง ข้อเสียคือผู้ใช้ยุ่งยาก
  • อัพเดตผ่าน UEFI UpdateCapsule ข้อดีคือกดสั่งผ่าน Windows Update ได้ แต่กระบวนการอัพเดตทำได้เฉพาะตอนบูตเครื่อง (ผ่าน UEFI) เท่านั้น
  • อัพเดตผ่านไดรเวอร์ของฮาร์ดแวร์ชิ้นนั้นๆ (Component-specific firmware update drivers) ข้อดีคือรองรับโปรโตคอลเฉพาะ และอัพเดตได้ตลอดเมื่อฮาร์ดแวร์ชิ้นนั้นเชื่อมต่อกับเครื่อง

ปัญหาของแนวทางที่สามคือโปรโตคอลของฮาร์ดแวร์แต่ละชิ้นมีความแตกต่างกันมาก ไมโครซอฟท์จึงออกโปรโตคอลกลาง Component Firmware Update (CFU) มาแก้ปัญหานี้ เพื่อให้ฮาร์ดแวร์มีมาตรฐานกลางในการสื่อสารเรื่องการอัพเดตเฟิร์มแวร์ โดย CFU เป็นเหมือนหน้าด่านในการพูดคุยเรื่องการอัพเดต และฮาร์ดแวร์สามารถสื่อสารด้วยโปรโตคอลของตัวเองได้เช่นเดิม (ผ่าน CFU อีกที)

No Description

CFU ยังออกแบบมาสำหรับอุปกรณ์ฝังตัวที่แบตเตอรี่มีขนาดเล็ก การอัพเดตเฟิร์มแวร์แต่ละครั้งมี “ต้นทุน” มากในแง่แบตเตอรี่ โดยเฉพาะการดาวน์โหลดเฟิร์มแวร์มาแล้วอุปกรณ์ปฏิเสธไม่รับเฟิร์มแวร์นั้นๆ (เช่น เฟิร์มแวร์ผิดเวอร์ชัน) ไมโครซอฟท์จึงแก้ปัญหานี้โดยเสนออัพเดตเฟิร์มแวร์ไปยังฮาร์ดแวร์ก่อน โดยยังไม่ดาวน์โหลดไฟล์อิมเมจมาจริงๆ เมื่อฮาร์ดแวร์ตรวจเช็ค metadata ผ่านแล้วจึงค่อยดาวน์โหลดไฟล์อีกทีหนึ่ง (ฮาร์ดแวร์ยังสามารถปฏิเสธการอัพเดตหลังดาวน์โหลดได้ เช่น กรณีไฟล์เสียระหว่างทาง)

ไมโครซอฟท์ประกาศว่าเปิดซอร์สโปรโตคอล CFU ทั้งหมด, ตัวอย่างไดรเวอร์และโค้ดต่างๆ เพื่อกระตุ้นให้ผู้ผลิตฮาร์ดแวร์หันมาอัพเดตเฟิร์มแวร์ผ่าน CFU

รายละเอียดการทำงานของ CFU อ่านได้จากลิงก์ต้นทาง ตัวอย่างโค้ดดูได้จาก GitHub

ที่มา – Windows Blog