Содержание
Данная статья посвящeна установке драйвера на «синезубый» адаптер Broadcom BT.
Сама лицензия Broadcom не позволяет заниматься распростронением драйвера для данного адаптера, поэтому мы соберём его сами.
Где найти?
- Нам необходим сам драйвер, который можно скачать по нижеприведённым ссылкам:
первая ссылка
вторая ссылка
B случае, если у приведённых ссылок будут изменены адреса, придётся пользоваться поиском по сайту производителя.
Поиск информации
- Oткройте архив в менеджере архивов и найдите файл bcbtums-win8x86-brcm.inf, oткройте его в текстовом редакторе.
Может быть напpимер bcbtums.inf, но все они расположены в директории Win32 или Win64, разрядность не важна.
- Используя системную утилиту lsusb, мы можем получить нужную информацию для последующего определения необходимого файла в архиве драйвера.
Предположим, что по запросу <lsusb>, мы узнали, что <VID> - 0A5C и <PID> - 21D7.
Полный вывод по нашему/вашему адаптеру будет содержать примерно такую строку:0a5c:21d7 Broadcom Corp. BCM43142 Bluetooth 4.0
Запись в файле bcbtums-win8x86-brcm.inf будет иметь формат VID_0A5C&PID_21D7, её-то и нужно вбить в строке поиска по файлу .inf
Если Вы не уверены которым из увиденных устройств является Ваш адаптер BT, используйте команду <usb-devices>, тем самым можно получить более детальную информацию.
По выводу этой команды можно узнать ID продукта и вендора.
Итак, мы увидим строку, заканчивающуюся записью <RAMUSB21D7>.
В таком случае, мы можем произвести поиск по файлу .inf, имея эту информацию.
Секция файла .inf, которая нас интересует, имеет следующие записи:
[RAMUSB21D7.CopyList] bcbtums.sys btwampfl.sys BCM43142A0_001.001.011.0122.0126.hex
Bingo!!
BCM43142A0_001.001.011.0122.0126.hex - это наше искомое!
Распакуйте из архива именно этот файл.
Конвертация
- Далее, нам нужно переконвертировать из формата hex в формат hcd, для этого нам понадобится конвертор hex2hcd.
Скачиваем и устанавливаем:
git clone git://github.com/jessesung/hex2hcd.git cd hex2hcd make
После чего у Вас появится каталог hex2hcd в домашней директории.
- Поместите файл прошивки в корень домашней директории и запустите конвертацию:
Как видите, в названии файла обязательно должны присутствовать ID-шки Вашего адаптера из вывода команды <lsusb>
~/hex2hcd/hex2hcd ~/BCM43142A0_001.001.011.0122.0126.hex ~/BCM43142A0-0a5c-21d7.hcd
T.е., команда конвертации будет выглядеть так:
~/hex2hcd/hex2hcd ~/BCM43142A0_001.001.011.0122.0126.hex ~/BCM.hcd
BCM-0a5c-21d7.hcd
- Теперь просто скопируйте сконвертированный файл прошивки с названием в соответствии с версией Вашего ядра в директорию /lib/firmware/brcm.
Eсли имя файла прошивки - BCM43142A0-0a5c-21d7.hcd, то:
sudo cp ~/BCM43142A0-0a5c-21d7.hcd /lib/firmware/brcm
Важно!!
Для ядер 4.2+ это будет выглядеть как:
sudo cp ~/BCM.hcd /lib/firmware/brcm
Для ядер 4.8+ - так:
sudo cp ~/BCM-0a5c-21d7.hcd /lib/firmware/brcm
Для последующих ядер название может опять измениться. Для ядра 5.0 название файла может быть опять BCM43142A0-0a5c-21d7.hcd Правильное название всегда можно узнать выполнив
dmesg | grep -i blue
Если имя прошивки неверно, то появится ошибка ввода, сообщающая, что файл не найден. В таком случае нужно переименовать файл.
Выключите компьютер и включите снова.
Адаптер подхватит прошивку и соединение будет установлено.
Благодарность Broadcom
Конечно, данная инструкция выглядит немного сложноватой для начинающего linux-user'а, но во всех этих сложностях стоит винить только лишь юристов компании Broadcom.
Большинство производителей оборудования позволяют распространять прошивки в соответствии с лицензиями.
А сейчас они запрещают «распространять» свои прошивки, поэтому никто не может легально поставлять уже сконвертированные прошивки для дистрибутивов, включая Ubuntu.
Ссылки
- Original text translated by τοΖεη