บลูทู ธ ไม่ทำงานบน Ubuntu 14.04 กับ dell Inspiron 15-3521


9

ฉันมีแล็ปท็อป Dell Inspiron 15-3521 พร้อม Ubuntu 12.04 ที่ติดตั้งไว้ล่วงหน้ามันใช้งานได้ดี (ฉันลบ Ubuntu นี้) ฉันติดตั้ง Ubuntu 14.04 (ติดตั้งใหม่)

(ไดรเวอร์ที่ติดตั้งคือbcmwl-kernel-source 6.30.223.141+bdcom-0ubuntu2:)

เครือข่าย WiFi ใช้งานได้ดี แต่บลูทู ธ ไม่ทำงาน (โทรศัพท์ของฉันพีซีและแล็ปท็อปอื่นไม่สามารถมองเห็นได้และแล็ปท็อปของฉันไม่เห็นอะไรเลย)

อุปกรณ์ Bluetooth เปิดใช้งานและเปิดและมองเห็นได้

lspci ผลลัพธ์:

00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)
00:1c.1 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 2 (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation HM76 Express Chipset LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 05)
02:00.0 Network controller: Broadcom Corporation BCM43142 802.11b/g/n (rev 01)

lsusb ผลลัพธ์:

Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 
Bus 001 Device 005: ID 064e:8132 Suyin Corp. 
Bus 001 Device 004: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller 
Bus 001 Device 003: ID 0a5c:21d7 Broadcom Corp. BCM43142 Bluetooth 4.0
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002: ID 19d2:0031 ZTE WCDMA Technologies MSM MF110/MF627/MF636
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

ดูเหมือนว่าไม่ได้เชื่อมต่อกับบัส PCI ของคุณคุณสามารถอัปเดตคำถามของคุณด้วยlsusbเอาต์พุตโดยแก้ไขได้หรือไม่
P.-H. หลิน

ไม่ใช่อย่างนั้นมันเป็นการ์ดไร้สาย
P.-H. หลิน

บลูทู ธ ปรากฏใน lsusb
Momo

ฉันจะทำอะไรได้ตอนนี้
Momo

สิ่งนี้อาจช่วยให้askubuntu.com/questions/845531/…
warsong

คำตอบ:


4

น่าเสียดายที่อุปกรณ์บลูทู ธ ของคุณ:

Bus 001 Device 003: ID 0a5c:21d7 Broadcom Corp. BCM43142 Bluetooth 4.0

ไม่รองรับ Ubuntu ทุกรุ่นโปรดอ้างอิง
Bug1129865 [Broadcom Combo BT / Wifi การ์ด] บลูทู ธ 21D3 21D7 21D7 บลูทู ธ ไม่พบสิ่งใดเลย
(เหตุผลอยู่ในความคิดเห็น # 7)

และฉันจะแนะนำให้คุณสมัครเป็นสมาชิกข้อผิดพลาดนี้:
Bug 1065400 รองรับการโหลดเฟิร์มแวร์บลูทู ธ ของ Broadcom
อาจมีวิธีแก้ไขในเธรดนั้นโชคดี!


8

ขั้นตอนที่คล้ายกันจาก Diabolik2 ข้อมูลใหม่คือตำแหน่งและวิธีรับไฟล์ hex

แหล่งที่มา:

ในการมีทางออกที่สมบูรณ์ฉันเขียนทุกขั้นตอนตั้งแต่ต้น:

  1. ค้นหา ID ของอุปกรณ์ของคุณ:

    $ lsusb | บลูทู ธ grep

    เอาท์พุทของฉันเช่น:

    อุปกรณ์ 001 บัส 003: ID 0a5c: 21d7 Broadcom Corp. BCM43142 บลูทู ธ 4.0

    จากการที่0a5c: 21d7ควรจะจำได้

  2. รับไฟล์ hex สำหรับอุปกรณ์ของคุณ:

    • หลังจากค้นหาไดรเวอร์บลูทู ธ ใน Google ฉันได้เลือกดาวน์โหลดนี้: http://drivers.softpedia.com/get/BLUETOOTH/Broadcom/Broadcom-43142-Bluetooth-40-Adapter-Driver-12007030-for-Windows-8.shtml #download
    • ฉันได้แตกไฟล์. hex สุดท้ายโดยบังเอิญ โชคดีที่มันใช้งานได้ ขั้นตอน: ในหอยโข่งคลิกขวาที่ไฟล์. cab ที่ดาวน์โหลด> เลือกเปิดด้วยตัวจัดการเก็บถาวร > เลือกไฟล์. hexสุดท้ายในรายการเก็บถาวร> คลิกขวา> แยก ...
    • ดาวน์โหลดและรวบรวมhex2hcd
      $ git โคลน git: //github.com/jessesung/hex2hcd.git
      $ cd hex2hcd
      สร้างรายได้
    • แปลง. hex เป็น. hcd
       $ ./hex2hcd /path/to/extracted.hex /where/you/want/your_new.hcd
  3. คัดลอกไฟล์ hcd ไปยัง/ lib / firmwareเป็นlib / firmware / fw- 0a5c_21d7 .hcd

    ในชื่อไฟล์ให้ใช้ ID ที่คุณค้นพบก่อนหน้านี้


1
ขั้นตอนที่ 3 ควรจะเป็นสำเนาHCDไฟล์:/lib/firmware/brcm/
david6

I have extracted the last .hex file by chance. Fortunately it worked.- คนที่อ่านข้อความนี้โปรดทราบว่าหากไม่ได้ผลอาจเป็นเรื่องผิดปกติดังนั้นคุณควรทำเช่นนี้หากโพสต์ของ Diabolik2 ไม่ได้ผลสำหรับคุณ
Wilf

1
นอกจากนี้ยังเป็นสิ่งสำคัญมากที่จะต้องอ่านสิ่งที่dmesg | grep Bluetoothพูดเพราะจะให้ข้อมูลที่เป็นประโยชน์แก่คุณ ในกรณีของฉันมันก็บอกว่ามันล้มเหลวในการโหลดไฟล์brcm / BCM.hcdดังนั้นผมตั้งชื่อไฟล์ HCD เป็นBCM.hcdแทนและคัดลอกไปยังfw-0a5c_21d7.hcd /lib/firmware/brcm/มันทำงานเหมือนจับใจ DELL Inspiron 15 - 3543
Qualphey

โอ้และhexไฟล์ที่ฉันเลือกใช้วิธีที่แนะนำใน คำตอบของFlorin C การใช้infไฟล์
Qualphey

1
สำหรับ Ubuntu 16.04 การแก้ปัญหาคือการรับไฟล์. hex จาก windows ตามที่อธิบายไว้ข้างต้นแปลงไป.hdcตามที่อธิบายไว้ แต่คุณต้องใส่ชื่ออื่นสำหรับไฟล์เฟิร์มแวร์เช่น: /lib/firmware/brcm/BCM-0a5c-6410.hcd(ขึ้นอยู่กับ lsusb bus: devnum ID)
morhook

6

คำตอบบอกว่าฉันต้องติดตั้ง Windows เพื่อรับเฟิร์มแวร์สำหรับ Linux ... ฟังดูผิดใช่ไหม?

แต่คำตอบก่อนหน้านี้คือทองคำ ฉันใช้บลูทู ธ ทำงานเป็นเวลานานใน Dell กับ Ubuntu 12.04 386 ที่นี่คำตอบก่อนหน้านี้ของฉัน (โดยเฉพาะ sb):

  1. ห้องโดยสารของ sb นั้นดีและมีไฟล์เลขฐานสิบหกสำหรับชิปหลายตระกูลในตระกูลนี้

  2. cabextract เป็นเครื่องมือสำหรับแยกไฟล์. cab แค่:

    sudo apt-get install cabextract

และแยกโดย:

cabextract 20573731_e75f2c1244fb153ccc4c1cac0dfbbab030d18543.cab

พึงระวังว่าไม่มีไดเรกทอรีอยู่ในห้องโดยสาร แต่เป็นเพียงไฟล์ดังนั้นคุณจะได้รับไฟล์เลขฐานสิบหกมากมาย มันเป็นการดีที่จะ mkdir ไดเรกทอรีเฉพาะและแยกรถแท็กซี่ในนั้น

  1. วิธีการรับไฟล์ฐานสิบหกด้านขวา

ดังนั้นฉันจึงมีรหัสของชิป: 0a5c: 21d7และไฟล์เลขฐานสิบหก ฉันจะได้รับสิทธิที่เหมาะสมสำหรับฉันได้อย่างไร เคล็ดลับคือการตรวจสอบไฟล์. inf ที่สั่งให้ Windows ติดตั้ง ค้นหา 21D7 (สังเกตเมืองหลวง D แทน 'd') ฉันได้รับสิ่งนี้:

% Dell1704.DeviceDesc% = RAMUSB21D7, USB \ VID_0A5C & PID_21D7; BRCM ทั่วไป 43142A0 RAMUSB

USB / VID & PID คือสิ่งที่ฉันได้รับใน lsusb: capital (0a5c: 21d7) RAMUSB21D7 คือสิ่งที่ฉันต้องการค้นหาถัดไปในไฟล์ inf (เป็นคำอธิบายของอุปกรณ์)

และนี่คือผลลัพธ์ของฉัน:

;;;;;;;;;;;;;RAMUSB21D7;;;;;;;;;;;;;;;;;

[RAMUSB21D7.CopyList]
bcbtums.sys
btwampfl.sys
BCM43142A0_001.001.011.0122.0126.hex

และไฟล์ฐานสิบหกที่ฉันจะใช้คือBCM43142A0_001.001.011.0122.0126.hex

ส่วนที่เหลือเหมือนกันกับข้างต้น รับเครื่องมือคอมไพล์สร้าง, แปลงไฟล์ hex เพื่อ hcd, ทิ้ง / โหลด btusb อีกครั้ง

หมายเหตุ: โปรดทราบว่าไฟล์ hcd ควรเริ่มต้นด้วย fw -...... และไม่ใช่ fw _...... ฉันทำผิดพลาดนี้ :)


หลังจากแตกไฟล์ฐานสิบหกที่ถูกต้องและทำตามขั้นตอน dmesg | grep firmwareเมื่อฉันเริ่มต้นใหม่เครื่องของฉันและยิงคำสั่ง ฉันได้รับผลลัพธ์เป็น[ 15.023826] bluetooth hci0: Direct firmware load for brcm/BCM43142A0-0a5c-21d7.hcd failed with error -2
ravi1991

6

ฉันได้แก้ไขปัญหาด้วยการแก้ไขจากโพสต์นี้ :

โดยสรุปฉันทำตามขั้นตอนนี้แล้ว: ระบุรหัสของคุณ:

lsusb

ID ของฉันคือ: 0a5c:21d7

รับ .hex ไฟล์: ในพาร์ทิชันหน้าต่างของคุณ(ทะนงว่าคุณบูตคู่กับ Windows)ได้รับ BCMxxxx.hex C:\windows\system32\driversแฟ้มใน หากมีไฟล์. hex สองไฟล์ขึ้นไปให้ดูว่าไฟล์ตัวใดที่ใช้กับตัวจัดการอุปกรณ์ windows คัดลอกไฟล์นี้ในโฮมไดเร็กตอรี่ของคุณ

เปิด terminal และพิมพ์คำสั่งเหล่านี้:

sudo apt-get install git
git clone git://github.com/jessesung/hex2hcd.git
cd hex2hcd
make
./hex2hcd ../BCMxxxx.xxx.xxx.xx.hex fw-0a5c_21d7.hcd (Replace 0a5c_21d7 with your id)
sudo cp fw* /lib/firmware

โหลดโมดูลใหม่ด้วยคำสั่งเหล่านี้:

sudo modprobe -r btusb
sudo modprobe btusb

รีสตาร์ทคอมพิวเตอร์ของคุณ

เปิดเทอร์มินัลแล้วเขียน:

dmesg | grep firmware

หากถูกต้องคุณสามารถดูข้อความ:

[   xxxxxxxxxx] Bluetooth: firmware loaded

นี่คือทั้งหมด.

ขอให้โชคดี Diabolik2


1
แม้ว่าลิงก์นี้อาจตอบคำถามได้ดีกว่าหากรวมส่วนสำคัญของคำตอบไว้ที่นี่และให้ลิงก์สำหรับการอ้างอิง คำตอบสำหรับลิงก์เท่านั้นอาจไม่ถูกต้องหากหน้าเว็บที่เชื่อมโยงมีการเปลี่ยนแปลง
αғsнιη

โปรดทราบว่าโพสต์ได้รับการปรับปรุงด้วยขั้นตอนที่นี่
วิลฟ์

0

ในกรณีของฉันเฟิร์มแวร์บลูทู ธ ไม่โหลดจนกว่าฉันจะสร้างไดเรกทอรี brcm ใน / lib / firmware / และเปลี่ยนชื่อไฟล์เป็น

BCM43142A0-0a5c-21d7.hcd

ฉันใช้ Debian 8 และ Dell Inspiron 15

ไชโย


-1

โซลูชันใช้งานได้ (Ubuntu 14.04 kernel-4.2) ในกรณีของฉันไฟล์ HCD จำเป็นต้องมีชื่อว่า BCM.hcd ชื่อไฟล์ที่แน่นอนที่คุณควรตั้งชื่อไฟล์ hcd ของคุณจะระบุไว้ในคำอธิบายข้อผิดพลาดในการโหลดซึ่งสามารถดูได้โดยใช้คำสั่ง:

dmesg | grep firmware

ดังที่วิลฟ์กล่าวไว้ข้างต้น!


ยินดีต้อนรับสู่ถาม Ubuntu! กรุณาอย่าเพิ่มความคิดเห็นเป็นคำตอบ ลงทุนเวลาในไซต์และคุณจะได้รับสิทธิ์ที่เพียงพอในการถอนคำตอบเช่นนี้หรือเพิ่มความคิดเห็นจริงเมื่อค้นหาการชี้แจงปัญหาใด ๆ
Martin Thornton
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.