สำหรับท่านที่ใช้ Linux กับ Thinkpad รุ่นใหม่ และมีปัญหากับ Bluetooth อยู่....

กระทู้สนทนา
ผมใช้ thinkpad t14 g3 (AMD) กับ ubuntu ไอ้ thinkpad รุ่นนี้มันใช้ WIFI+Bluetooth module รุ่น NFA725A ของยี่ห้อ USI มันเป็น pci-e+USB interface Based on Qualcomm อะไรซักตัว ถ้ามองฝั่ง USB จะเห็นเป็น vendor id = 10AB , product id = 9309 เดิมทีก็ใช้ได้ดีหรอกครับ เนียนเลย จนมาไม่กี่วันนี้เอง เข้าใจว่ามันคงมีการ update package ไป อยู่ดีๆ bluetooth มันก็ไม่ทำงานขึ้นมาเฉยๆ แต่ไม่รู้ตัวเพราะไม่ได้ยุ่งกับมันเลย แต่พอจะมาใช้ อ้าว มันรวนซะอย่างนั้น

อาการคือ enable bluetooth ไม่ได้ มีการคาย error ออกมาเป็นชุดๆ เห็นได้จาก dmesg ผมหาทางแก้มา 1 วันเต็มๆ ใน reddit/thinkpad forum เจอแต่คนถาม ไม่จอวิธีแก้ที่เด็ดๆ เลย บ้างก็ว่าให้ไป disable power management ที่ usb (ไอ้นี่มันอยู่ใน USB) แต่ก็ไม่ได้ผล ที่แปลกคือแรกๆ เหมือนจะดีขึ้นนะ แต่แล้วก็พังไปอีก คือมันมีคนเจอใน windows ด้วย ผมก็เลยคิดว่า หรือ h/w มันจะพัง.... ซึ่งถ้าเป็นแบบนี้ งานเข้าแน่ เพราะ thinkpad รุ่นหลังๆ มันเล่นบัดกรี module นี้ลงบอร์ดเลย แกะเครื่องออกมานี่ใบ้รับประทาน ว่าจะเปลี่ยนซะหน่อย ไม่เปิดโอกาสให้เราเลย...

ปรากฏว่าไปเจอของดีครับ คือ firmware file ที่ใหม่กว่าตัวที่อยู่ใน ubuntu (ผมใช้ 23.04 update สุด) ใน  ubuntu มันเป็นรุ่น 2.1.0-00438 ไปเจอใน driver ของ windows มันเป็น 2.1.0-00595 เลยลองเอามาใส่ดู.... ปรากฏว่าหายครับ ใช้งานได้เช่นเดิม นี่ผมเชื่อมหูฟัง Sennheiser HD350BT ใน mode aptX อยู่ เสียงพริ้วเลย ถ้าใครมีปัญหาอยู่ จะลองดูก็ได้ครับ...

วิธีนี้สำหรับ module รุ่นของผมนะครับ ตัวอื่นอาจต้องพลิกแพลงไป
ไปเอา driver pack ที่นี่ 
https://www.catalog.update.microsoft.com/Search.aspx?q=Qualcomm%20FastConnect%206900
เอาตัวที่ชื่อว่า Qualcomm Atheros Communications - Bluetooth - 2.0.0.1036  มา  มันจะเป็น file .cab ก็แกะตามระเบียบ จะเจอไฟล์นามสกุล dfu หลายตัว  เราจะเอา 2 ตัวนี้ครับ

AthrBT_0x00130201.dfu  (MD5: 1f66cf1881a3c6939f001b0bdf3557aa)
ramps_0x00130201_gf.dfu (MD5:  a5005f4065ba08cdc184a8b4b1cba72b)

เอา AthrBT_0x00130201.dfu ไปแทนที่ /lib/firmware/qca/rampatch_usb_00130201.bin  และเอา ramps_0x00130201_gf.dfu ไปแทนที่ /lib/firmware/qca/nvm_usb_00130201_gf.bin
 
อย่าลืม backup ตัวเก่านะครับ กันเหนียว เสร็จแล้วก็ restart โลดครับ (ความจริง rfkill เอาก็ได้นะ)
นี่ผม restart เล่นมา 4-5 รอบแล้ว ทั้งแบบ cold boot / warm boot (จริงๆ laptop มันคงไม่มี cold boot จริงๆ หรอก) และ suspend / resume ยังใช้งานได้ดีครับ น่าจะสรุปได้ว่าหาย 90% ละครับ วิธีนี้น่าจะใช้ได้กับ Laptop ยี่ห้ออื่นที่ใช้ Bluetooth module รุ่นคล้ายๆ กันได้ด้วยครับ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่