2 คะแนน โดย GN⁺ 2025-11-17 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • แอปโอเพนซอร์สที่ทำให้สามารถใช้ฟีเจอร์ขั้นสูงของ AirPods ซึ่งถูกจำกัดไว้สำหรับอุปกรณ์ Apple บนอุปกรณ์ที่ไม่ใช่ Apple เช่น Android/Linux ได้
  • รองรับฟีเจอร์หลักอย่าง การควบคุมเสียงรบกวน, โหมดโปร่งใสแบบปรับตัว, การตรวจจับการสวมใส่อัตโนมัติ, การแสดงสถานะแบตเตอรี่, ท่าทางศีรษะ, การรับรู้บทสนทนา
  • ฟีเจอร์ส่วนใหญ่ทำงานได้ครบถ้วนบน AirPods Pro รุ่นที่ 2 และรุ่นที่ 3 ส่วนรุ่นอื่นรองรับเฉพาะฟีเจอร์พื้นฐาน
  • บน Android ต้องใช้การรูทและโมดูล Xposed และสามารถเปิดใช้ฟีเจอร์เพิ่มเติมได้ผ่าน Bluetooth DID hooking เพื่อให้อุปกรณ์ถูกมองว่าเป็นอุปกรณ์ Apple
  • เป็น เครื่องมือที่ช่วยให้ใช้ฟีเจอร์พรีเมียมของ AirPods ได้อย่างอิสระ โดยไม่ต้องผูกติดกับระบบนิเวศของ Apple

ภาพรวมของ LibrePods

  • LibrePods เป็นโปรเจ็กต์ที่ ปลดล็อกฟีเจอร์ AirPods ที่ Apple ผูกขาดไว้ให้ใช้บนอุปกรณ์ที่ไม่ใช่ Apple ได้
    • ฟีเจอร์ที่รองรับ: โหมดควบคุมเสียงรบกวน, โหมดโปร่งใสแบบปรับตัว, การตรวจจับหู, โหมดช่วยฟัง, การแสดงสถานะแบตเตอรี่ เป็นต้น
    • ทำให้ผู้ใช้สามารถนำฟีเจอร์พรีเมียมที่จ่ายเงินไปแล้ว ไปใช้งานนอกระบบนิเวศของ Apple ได้

ความเข้ากันได้ของอุปกรณ์

  • AirPods Pro (รุ่นที่ 2) : รองรับเต็มรูปแบบและทดสอบแล้ว
  • AirPods Pro (รุ่นที่ 3) : รองรับเต็มรูปแบบ ยกเว้นการวัดอัตราการเต้นของหัวใจ
  • AirPods รุ่นอื่น ๆ: ใช้งานได้เฉพาะฟีเจอร์พื้นฐาน เช่น สถานะแบตเตอรี่และการตรวจจับหู
  • ฟีเจอร์ส่วนใหญ่สามารถทำงานได้กับ AirPods ทุกรุ่น แต่ผู้พัฒนาทดสอบเฉพาะ AirPods Pro รุ่นที่ 2 เท่านั้น

ฟีเจอร์หลัก

  • โหมดควบคุมเสียงรบกวน: สลับโหมดได้โดยไม่ต้องควบคุม AirPods โดยตรง
  • การตรวจจับหู: ควบคุมการเล่นเพลงอัตโนมัติและสลับไปลำโพงเมื่อใส่หรือถอดออก
  • การแสดงสถานะแบตเตอรี่: ตรวจสอบระดับแบตเตอรี่ที่แม่นยำ
  • ท่าทางศีรษะ: รับสายโทรศัพท์ด้วยการพยักหน้า
  • การรับรู้บทสนทนา: ลดระดับเสียงอัตโนมัติเมื่อผู้ใช้เริ่มพูด
  • รองรับฟีเจอร์ขั้นสูงอย่าง โหมดช่วยฟัง, การตั้งค่าโหมดโปร่งใสแบบกำหนดเอง, การเชื่อมต่อพร้อมกัน 2 อุปกรณ์ เป็นต้น
    • ฟีเจอร์ที่มีเครื่องหมายดอกจัน (*) ต้องเปิดใช้ Bluetooth DID hooking

การรองรับแพลตฟอร์ม

  • Linux

    • เวอร์ชันก่อนหน้านี้มีฟีเจอร์จำกัด และผู้ดูแลไม่มีเวลามากพอสำหรับการบำรุงรักษา
    • กำลังพัฒนาเวอร์ชันใหม่อยู่ และมี PR ที่เกี่ยวข้อง (#241)
  • Android

    • มีภาพหน้าจอของ หน้าตั้งค่าต่าง ๆ, การแจ้งเตือน, วิดเจ็ต, ตัวเลือกการช่วยการเข้าถึง ให้ดู
    • ต้องรูทและใช้ Xposed เนื่องจากเป็นปัญหาบั๊กในสแตก Bluetooth ของ Android
      • มีลิงก์ไปยัง Google Issue Tracker และยังไม่มีข้อยกเว้นจนกว่าจะมีการแก้ไข
    • ในอดีตเคยมีวิธีแบบไม่ต้องรูทที่ใช้ overlayfs แต่ยุติไปแล้วเพราะความแตกต่างของแต่ละอุปกรณ์
    • เมื่อใช้ Xposed สามารถเปิดใช้ฟีเจอร์เพิ่มเติมได้ผ่าน DID hooking

Bluetooth DID (Device Identification) hooking

  • หากเปลี่ยน manufacturer ID เป็น Apple จะสามารถเข้าถึงฟีเจอร์พิเศษหลายอย่างได้
  • รองรับ การเชื่อมต่อพร้อมกัน 2 อุปกรณ์: ใช้ได้ทั้งเสียงและการควบคุม พร้อมแสดงการแจ้งเตือนเมื่อสลับระหว่างอุปกรณ์
  • การช่วยการเข้าถึงและการตั้งค่าช่วยฟัง: ปรับรายละเอียดโหมดโปร่งใส, ขยายเสียงบทสนทนา, ลดเสียงรบกวนรอบข้าง เป็นต้น
    • ไม่รวมฟีเจอร์ทดสอบการได้ยิน แต่สามารถนำเข้าผล audiogram ที่มีอยู่แล้วมาใช้ได้
  • เพื่อเปิดใช้ฟีเจอร์นี้ ต้องเปิดตัวเลือก act as Apple Device ในการตั้งค่าของแอป

ข้อควรระวังเพิ่มเติม

  • ในเฟิร์มแวร์ AirPods เวอร์ชันล่าสุด ต้องเปิดใช้งาน Off listening mode จึงจะสลับเป็นโหมดปิดแบบสมบูรณ์ได้
  • เมื่อถอด AirPods ออกทั้งหมด ระบบจะสลับไปยังลำโพงโดยอัตโนมัติ แต่ Android อาจพยายามเชื่อมต่อใหม่
    • แอปจะตรวจจับเหตุการณ์นี้และปิด A2DP profile โดยอัตโนมัติ
  • หากเปลี่ยนชื่อ AirPods จำเป็นต้องจับคู่ใหม่, ซึ่งเป็นข้อจำกัดของวิธีตั้งชื่อ Bluetooth บน Android
  • หากต้องการให้แอปการตั้งค่า Android แสดงไอคอน AirPods และสถานะแบตเตอรี่ ต้องติดตั้งเป็นแอประบบ

ไลเซนส์

  • LibrePods เป็นซอฟต์แวร์เสรีที่เผยแพร่ภายใต้ GNU General Public License v3
  • ไม่มีการรับประกันเชิงพาณิชย์ และเครื่องหมายการค้าและโลโก้ทั้งหมดเป็นทรัพย์สินของเจ้าของแต่ละราย
  • รูปภาพ AirPods, สัญลักษณ์, และฟอนต์ SF Pro เป็น ทรัพย์สินของ Apple Inc.

1 ความคิดเห็น

 
GN⁺ 2025-11-17
ความเห็นจาก Hacker News
  • ระหว่างดู DID(Device Identification) Hook ของ Bluetooth ก็พบว่า ถ้าเปลี่ยน manufacturer ID เป็น Apple ก็จะเข้าถึง ฟีเจอร์พิเศษ ได้หลายอย่าง
    คิดว่าการที่ Apple รักษาฟังก์ชันแบบผูกขาดเอาไว้ด้วยวิธีนี้ในสภาพที่แทบไม่มีการกำกับดูแล ควรถูกหน่วยงานกำกับดูแลลงโทษ จริง ๆ แล้ว AirPods ก็เชื่อมต่อกับอุปกรณ์อื่นได้ดี แต่มีการจำกัด การเข้าถึงฟีเจอร์ขั้นสูง เอาไว้

    • AirPods เชื่อมต่อกับอุปกรณ์ไหนก็ได้ และให้ประสิทธิภาพคล้ายหูฟัง Bluetooth อื่น ๆ เพียงแต่ฟีเจอร์บางอย่างที่ต้องใช้ ไดรเวอร์เฉพาะ จะทำงานได้เฉพาะบนอุปกรณ์ Apple
    • ฉันเองก็ใช้ AirPods และ AirPods Pro มาหลายเวอร์ชันแล้ว การ เชื่อมต่อกับอุปกรณ์ที่ไม่ใช่ Apple ก็ใช้งานได้ดีไม่มีปัญหา
    • ที่จริง Apple ก็กำลังถูกพิจารณาคดีเกี่ยวกับ DMA อยู่แล้ว บทความที่เกี่ยวข้อง: ข่าวจาก FSFE
    • คิดว่าองค์กรกำหนดมาตรฐาน Bluetooth ควรลงโทษ Apple เพื่อหยุดพฤติกรรมที่บ่อนทำลาย การทำงานร่วมกัน(interoperability)
    • พฤติกรรมแบบนี้ควรถูกมองว่าเป็น การบังคับขายพ่วงสินค้า(product tying) ที่ผิดกฎหมาย และควรร้องเรียนต่อ FTC หรือคณะกรรมาธิการการแข่งขันของสหภาพยุโรป
  • เป็น โปรเจกต์ที่เจ๋ง สำหรับคนที่อยากใช้ AirPods นอกระบบนิเวศของ Apple
    แต่เพราะบั๊กใน implementation ของ Bluetooth บน Android จึงต้องใช้ อุปกรณ์ Android ที่รูตแล้ว กับแพตช์เล็กน้อย
    ประเด็นที่เกี่ยวข้อง: Google Issue Tracker

    • มองว่านี่ไม่ใช่บั๊กของ Android เท่าไร แต่เป็นเพราะ AirPods ละเมิดสเปก Bluetooth และเรียกใช้แฮนด์เชคพิเศษก่อนคำขอมาตรฐาน Android จะใส่โค้ด workaround เพื่อรองรับอุปกรณ์นอกมาตรฐานแบบนี้ก็ดูไม่สมเหตุสมผล
    • สงสัยว่า latency ตั้งแต่เริ่มเล่นเสียงจนเสียงออกจากหูฟังจริง ๆ ใช้เวลานานแค่ไหน ตอนใช้ AnkiDroid เรียน มีคลิปเสียงสั้น ๆ เยอะมาก เลยเคยเจอปัญหาเรื่องดีเลย์ของหูฟัง Bluetooth แอปอาจแก้ได้ด้วยการเล่นเสียงเงียบสั้น ๆ ล่วงหน้า
    • น่าทึ่งที่มีคนคนเดียวฝ่าทั้ง ระบบนิเวศปิด ของ Apple และ ความหน่วง/ความจุกจิก(jank) ของ Android จนทำสิ่งนี้ได้
    • สองคอมเมนต์สุดท้ายนี่ตลกมาก — “ต้องแก้ไข” / “ก็เพราะวิศวกรโดนไล่ออกไง”
    • ดูเหมือนกรณีตัวอย่างคลาสสิกของบั๊กรายงานในบริษัทใหญ่ ผู้ใช้วิเคราะห์ปัญหาอย่างลึกมากแล้ว แต่บริษัทกลับติดป้ายว่า ลำดับความสำคัญต่ำ แล้วปล่อยทิ้งไว้
  • โกรธมากที่ Apple ทำให้ AirPods Pro 3 ไม่เข้ากัน กับ iOS 18
    เป็นชิป H2 เหมือนกัน ใช้อุปกรณ์ iOS เหมือนกัน แต่ถ้าจะให้ฟีเจอร์ยังใช้ได้ก็ต้องถูกบังคับให้อัปเกรดเป็น iOS 26 ฝ่ายซัพพอร์ตของ Apple เองก็ไม่รู้เหตุผล เอาแต่พูดว่า “เดี๋ยวมันก็น่าจะใช้ได้เอง”

  • Mark Zuckerberg พูดในการสัมภาษณ์ว่าระบบ การจับคู่แบบปิด ของ AirPods นั้นไม่เป็นธรรม หวังว่า Meta จะยอมทุ่มเงินเพื่อแก้ปัญหานี้ให้ทำงานร่วมกับผลิตภัณฑ์ของตัวเองได้

    • แต่แก่นของปัญหาไม่ใช่ความปิดของ AirPods เอง หากเป็นการที่ Apple กันไม่ให้บุคคลที่สามเข้าถึง(lock-out) มากกว่า Apple Watch ก็เช่นกัน Apple ขัดขวางไม่ให้บริษัทอื่นสร้างสมาร์ตวอตช์ที่ทำงานร่วมกับ iPhone ได้เทียบเท่าของตัวเอง
    • ไม่คิดว่าบริษัทอื่นจะมี หน้าที่ต้องเปิด ระบบนิเวศปิดของ Apple
  • โปรเจกต์แบบนี้เจ๋งก็จริง แต่ การที่มันต้องมีอยู่ตั้งแต่แรกนี่แหละคือปัญหา Apple ใช้ซอฟต์แวร์โอเพนซอร์ส แต่ในขณะเดียวกันก็บังคับให้เกิดโปรเจกต์ workaround แบบ OSS เพิ่มขึ้นเพราะนโยบายปิดของตัวเอง

    • การใช้ Pixel Buds บน iPhone ก็คล้ายกัน มองว่าไม่ใช่ความผิดของ Apple หรือ Google ฝ่ายเดียว แต่เป็นปัญหาเชิงโครงสร้างของสังคมที่มอง vendor lock-in เป็นเรื่องปกติ ถ้าสองบริษัทช่วยกันพัฒนา Bluetooth extension ก็น่าจะเป็นประโยชน์กับทุกฝ่าย แต่ด้วยโครงสร้างที่เน้นกำไรระยะสั้น การเปลี่ยนแปลงแบบนั้นคง เป็นไปไม่ได้ในรุ่นของเรา
    • AirPods เล่นเสียงบน Android ได้ก็จริง แต่ถ้าอยากใช้ ฟีเจอร์อำนวยความสะดวกของ iOS/macOS ก็ยังต้องรูตและแพตช์ Bluetooth stack
    • เป็นเรื่องน่าประหลาดดีที่ ระบบนิเวศปิด ของ Apple กลับสร้างโอเพนซอร์สเพิ่มขึ้นอีก
    • พอเห็นขั้นตอนซับซ้อนแบบนี้แล้ว ก็ยิ่งรู้สึกว่าที่ฉันยังยึด หูฟังแบบมีสาย อยู่เป็นเรื่องถูกต้อง ชุด REDMAGIC 9S Pro กับ Etymōtic ER4XR ไม่ต้องชาร์จ ไม่ต้องกังวลว่าจะหาย และไม่มีทางสอดแนมได้ ฟีเจอร์อย่าง “โหมดโปร่งใส” หรือ “head gesture” ของ AirPods ไม่ได้จำเป็นสำหรับฉัน ถึงอย่างนั้นก็ยินดีที่มีโปรเจกต์แบบนี้ทำให้ AirPods รองรับอุปกรณ์ที่ไม่ใช่ Apple ได้
    • Apple เองก็เป็นความจริงที่ว่า มีการ contribute โค้ดให้ OSS เยอะ
  • คิดว่า โหมดโปร่งใสที่ปรับแต่งได้(tunable transparency) เป็นไอเดียที่ดีมากจริง ๆ
    ตอนเล่นทรอมโบน AirPods Pro ให้ความรู้สึกเหมือน อุปกรณ์ปกป้องการได้ยิน ที่เกือบสมบูรณ์แบบ แต่พอเสียงรอบข้างดังขึ้น เสียงที่ฉันเล่นกลับหายไป เลยอยากให้มีทางเลือกที่ทำให้ได้ยินเฉพาะเสียงเครื่องดนตรีของตัวเองมากขึ้น หรือทำ การผสมระหว่าง noise cancelling กับ transparency mode ได้

    • Apple มีแค่ EQ พรีเซ็ต 9 แบบ ในเมนูการช่วยการเข้าถึง และ EQ นี้ถูกใช้ทั้งกับการเล่นเสียงและโหมดโปร่งใส ดังนั้นถ้ามีสักอันที่ตรงก็น่าจะดี
  • จำได้ว่าหูฟัง Beats ใช้ ชิปเซ็ตและไดรเวอร์ชุดเดียวกัน กับ AirPods แต่รองรับ Android ได้ดีกว่ามาก ไม่แน่ใจว่าตอนนี้ยังเป็นแบบนั้นไหม

  • เคยแฟลช Pine64 Pine Buds แล้ว แต่ปรับเสียงให้เข้าที่ไม่ได้เลยนอกจากค่าตั้งต้น ถึงอย่างนั้น UI ก็ถือว่าเท่มาก

  • พอเห็นโปรเจกต์แบบนี้ ก็ยิ่งรู้สึกชัดว่า ข้อดีของ OS แบบเปิด มีมากแค่ไหน

  • เคยอยากให้พ่อใช้ AirPods เหมือนเครื่องช่วยฟัง แต่เพราะใช้งาน iPhone ยากเลยไม่ได้ลอง สงสัยว่าโปรเจกต์นี้จะเอาไปทำเป็นอินเทอร์เฟซที่ง่ายกว่านี้ได้ไหม

    • การตั้งค่าเครื่องช่วยฟังทำแค่ครั้งเดียว หลังจากนั้นก็แค่ ปรับระดับการขยายเสียง ด้วยการปัดที่ก้านหูฟัง ใช้งานได้แม้ไม่มี iPhone