У меня ноутбук Dell Inspiron 15-3521 с предустановленной Ubuntu 12.04. Он работал хорошо (я удалил эту Ubuntu). Я установил Ubuntu 14.04 (чистая установка).
(Установлен драйвер: bcmwl-kernel-source 6.30.223.141+bdcom-0ubuntu2
)
Сеть WiFi работает хорошо, но Bluetooth не работает (мой телефон, другой ПК и ноутбук не видят ее, а мой ноутбук вообще ничего не видит).
Устройство 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
решение1
Аналогичные шаги, как у Diabolik2. Новая информация — где и как получить hex-файл.
Источники:
- https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1065400/comments/11
- https://askubuntu.com/a/534632/336592.
Чтобы получить полное решение, я пишу все свои шаги с самого начала:
Найдите идентификатор вашего устройства:
$ lsusb | grep Bluetooth
Мой вывод, например:
Шина 001 Устройство 003: ID 0a5c:21d7 Broadcom Corp. BCM43142 Bluetooth 4.0
из которого0a5c:21d7следует помнить.
Получите hex-файл для вашего устройства:
- После поиска драйверов Bluetooth в Google я выбрал эту загрузку:http://drivers.softpedia.com/get/BLUETOOTH/Broadcom/Broadcom-43142-Bluetooth-40-Adapter-Driver-12007030-for-Windows-8.shtml#download
- Я случайно извлек последний .hex файл. К счастью, это сработало. ШАГИ: В nautilus щелкните правой кнопкой мыши на загруженном.таксифайл > выбралОткрыть с помощью менеджера архивов> выбрать последний.шестнадцатеричныйфайл в списке архивов > щелкните правой кнопкой мыши >Извлекать...
- скачать и скомпилироватьhex2hcd
$ git клон git://github.com/jessesung/hex2hcd.git $ cd hex2hcd $ сделать
- преобразовать .hex в .hcd
$ ./hex2hcd /путь/к/извлеченному.hex /где/вы/хотите/ваш_новый.hcd
Скопируйте файл hcd в/lib/прошивкакакlib/firmware/fw-0a5c_21d7.hcd.
В имени файла используйте идентификатор, который вы узнали ранее.
решение2
Ответы о том, что мне нужно установить Windows, чтобы получить прошивку для Linux... звучат неправильно, не правда ли?
Но предыдущие ответы были золотыми. У меня Bluetooth работает после долгого времени в моем Dell с Ubuntu 12.04 386. Вот мои дополнения к предыдущим ответам (особенно sb):
Кабина SB хороша и имеет шестнадцатеричные файлы для нескольких микросхем этого семейства.
cabextract — это инструмент для извлечения архива .cab. Просто:
sudo apt-get install cabextract
и извлеките его:
cabextract 20573731_e75f2c1244fb153ccc4c1cac0dfbbab030d18543.cab
Имейте в виду, что внутри cab нет каталога, а только файлы, так что вы получите много hex-файлов. Хорошо сделать mkdir для определенного каталога и извлечь cab туда.
- Как получить правильный hex-файл.
Итак, у меня есть идентификатор чипа:0a5c:21d7и куча hex-файлов. Как мне получить нужный мне? Хитрость заключается в том, чтобы исследовать .inf-файл, который инструктирует Windows, что устанавливать. Поискав 21D7 (обратите внимание на заглавную D вместо 'd'), я получаю это:
%Dell1704.DeviceDesc%=RAMUSB21D7, USB\VID_0A5C&PID_21D7 ; BRCM Generic 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
Остальное то же самое, что и выше. Получите инструмент через git, соберите его, преобразуйте hex-файл в hcd, удалите/перезагрузите btusb.
Примечание: Имейте в виду, что файл hcd должен начинаться с fw-......, а не fw_...... Я допустил эту ошибку. :)
решение3
Я решил проблему с помощью решения отэта почта:
Подводя итог, я выполнил следующие шаги: Укажите свой идентификатор:
lsusb
Мой идентификатор:0a5c:21d7
Получите файл .hex: в вашем разделе Windows(предполагается, что у вас двойная загрузка с Windows), получите файл BCMxxxx.hex в C:\windows\system32\drivers
. Если есть два или более файлов .hex, посмотрите, какой из них используется с помощью диспетчера устройств Windows. Скопируйте этот файл в свой домашний каталог
Откройте терминал и введите следующие команды:
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
решение4
В моем случае прошивка Bluetooth не загружалась, пока я не создал каталог brcm в /lib/firmware/ и не переименовал файл в
BCM43142A0-0a5c-21d7.hcd
Я использую Debian 8 и Dell Inspiron 15.
Ваше здоровье