Bluetooth не обнаруживает устройства Ubuntu 16.04 LTS [dубликат]

Установите gnome classic, чтобы внести изменения в свой бар. Сначала запустите эту команду

sudo apt-get update

Затем запустите следующую команду

sudo apt-get install gnome-session-fallback
31
задан 21 February 2017 в 14:26

7 ответов

Вам необходимо установить прошивку.

Распространение прошивки Broadcom не разрешено лицензией Broadcom. Так что вам нужно получить это самостоятельно. Это немного сложный процесс, но нет другого законного способа.

Загрузите драйвер Broadcom Windows 8 или ИЗ ЗДЕСЬ.

Если устройство не указано в этих драйверах, вам нужно найти его более новую версию.

Некоторые производители ноутбуков имеют Bluetooth-драйверы на своих сайтах, но некоторые из них не могут быть недоступны. Так что это какой-то квест. Я мог бы скачать последние версии драйверов Broadcom со своего сайта, но его больше нет.

Загрузите драйвер Broadcom Windows 8 или ИЗ ЗДЕСЬ. Найти этот файл для VID_0A5C & PID_21D7. Эти цифры относятся к вашему выходу lsusb 0a5c: 21d7 Broadcom Corp. BCM43142 Bluetooth 4.0.

legal Некоторые устройства не признаны Broadcom BT в lsusb. Если вы не знаете, какой из них является вашим устройством BT, запустите команду usb-devices, он предоставит более подробную информацию. Там вы можете найти идентификаторы продуктов и поставщиков.

Вы увидите строку, заканчивающуюся RAMUSB21D7

. Поиск этого файла для RAMUSB21D7. Вы найдете там раздел:

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

Это то, что мы ищем. Имя файла прошивки. RAMUSB21D7

Искать этот файл для VID_0A5C & PID_21D7. Эти цифры относятся к вашему выходу lsusb 0a5c: 21d7 Broadcom Corp. BCM43142 Bluetooth 4.0.

Поиск этого файла для VID_0A5C & PID_21D7. Эти цифры взяты из вашего выхода lsusb

git clone git://github.com/jessesung/hex2hcd.git cd hex2hcd make Вы получите папку 0A5C в своем домашнем каталоге. Поместите файл прошивки в домашнюю папку и запустите ~/hex2hcd/hex2hcd ~/BCM43142A0_001.001.011.0122.0126.hex ~/BCM43142A0-0a5c-21d7.hcd . Вы видите, что 0a5c-21d7 является идентификатором вашего адаптера от lsusb.

Загрузите инструмент для этого

~/hex2hcd/hex2hcd ~/BCM43142A0_001.001.011.0122.0126.hex ~/BCM.hcd

Важно: для ядер 4.2+ вы вызываете этот файл как BCM.hcd.

Найти этот файл для VID_0A5C & PID_21D7. Эти цифры взяты из вашего выхода lsusb

git clone git://github.com/jessesung/hex2hcd.git cd hex2hcd make Вы получите папку 0A5C в своем домашнем каталоге.

Для ядер 4.8+ имя файл должен быть BCM-<VID>-<PID>.hcd, например BCM-0a5c-21d7.

sudo cp ~/BCM.hcd /lib/firmware/brcm

Для ядер 4.2 +

sudo cp ~/BCM-0a5c-21d7.hcd /lib/firmware/brcm

Для ядер 4.8 +

Вы получите папку 0A5C в своем домашнем каталоге.

0a5c: 21d7 Broadcom Corp. BCM43142 Bluetooth 4.0.

Важно : , если имя файла верное, запустив dmesg | grep -i blue. Появится сообщение об ошибке, если файл не найден.

Выключите и снова включите компьютер. Неправильно перезагрузитесь!

Ваш адаптер получит прошивку, и Bluetooth должен работать.

Все это выглядит сложным, но для этого виноваты адвокаты Broadcom.

Это позволяет разработчикам linux включать прошивку в дистрибутивы.

61
ответ дан 18 July 2018 в 03:39

Вам необходимо установить прошивку.

Распространение прошивки Broadcom не разрешено лицензией Broadcom. Так что вам нужно получить это самостоятельно. Это немного сложный процесс, но нет другого законного способа.

Загрузите драйвер Broadcom Windows 8 или ИЗ ЗДЕСЬ.

Если устройство не указано в этих драйверах, вам нужно найти его более новую версию.

Некоторые производители ноутбуков имеют Bluetooth-драйверы на своих сайтах, но некоторые из них не могут быть недоступны. Так что это какой-то квест. Я мог бы скачать последние версии драйверов Broadcom со своего сайта, но его больше нет.

Загрузите драйвер Broadcom Windows 8 или ИЗ ЗДЕСЬ. Найти этот файл для VID_0A5C & PID_21D7. Эти цифры относятся к вашему выходу lsusb 0a5c: 21d7 Broadcom Corp. BCM43142 Bluetooth 4.0.

legal Некоторые устройства не признаны Broadcom BT в lsusb. Если вы не знаете, какой из них является вашим устройством BT, запустите команду usb-devices, он предоставит более подробную информацию. Там вы можете найти идентификаторы продуктов и поставщиков.

Вы увидите строку, заканчивающуюся RAMUSB21D7

. Поиск этого файла для RAMUSB21D7. Вы найдете там раздел:

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

Это то, что мы ищем. Имя файла прошивки. RAMUSB21D7

Искать этот файл для VID_0A5C & PID_21D7. Эти цифры относятся к вашему выходу lsusb 0a5c: 21d7 Broadcom Corp. BCM43142 Bluetooth 4.0.

Поиск этого файла для VID_0A5C & PID_21D7. Эти цифры взяты из вашего выхода lsusb

git clone git://github.com/jessesung/hex2hcd.git cd hex2hcd make Вы получите папку 0A5C в своем домашнем каталоге. Поместите файл прошивки в домашнюю папку и запустите ~/hex2hcd/hex2hcd ~/BCM43142A0_001.001.011.0122.0126.hex ~/BCM43142A0-0a5c-21d7.hcd . Вы видите, что 0a5c-21d7 является идентификатором вашего адаптера от lsusb.

Загрузите инструмент для этого

~/hex2hcd/hex2hcd ~/BCM43142A0_001.001.011.0122.0126.hex ~/BCM.hcd

Важно: для ядер 4.2+ вы вызываете этот файл как BCM.hcd.

Найти этот файл для VID_0A5C & PID_21D7. Эти цифры взяты из вашего выхода lsusb

git clone git://github.com/jessesung/hex2hcd.git cd hex2hcd make Вы получите папку 0A5C в своем домашнем каталоге.

Для ядер 4.8+ имя файл должен быть BCM-<VID>-<PID>.hcd, например BCM-0a5c-21d7.

sudo cp ~/BCM.hcd /lib/firmware/brcm

Для ядер 4.2 +

sudo cp ~/BCM-0a5c-21d7.hcd /lib/firmware/brcm

Для ядер 4.8 +

Вы получите папку 0A5C в своем домашнем каталоге.

0a5c: 21d7 Broadcom Corp. BCM43142 Bluetooth 4.0.

Важно : , если имя файла верное, запустив dmesg | grep -i blue. Появится сообщение об ошибке, если файл не найден.

Выключите и снова включите компьютер. Неправильно перезагрузитесь!

Ваш адаптер получит прошивку, и Bluetooth должен работать.

Все это выглядит сложным, но для этого виноваты адвокаты Broadcom.

Это позволяет разработчикам linux включать прошивку в дистрибутивы.

61
ответ дан 24 July 2018 в 17:54

Вам необходимо установить прошивку.

Распространение прошивки Broadcom не разрешено лицензией Broadcom. Так что вам нужно получить это самостоятельно.

  1. Загрузите драйвер Broadcom Windows 8 или ИЗ ЗДЕСЬ .

Если устройство не указано в этих драйверах, вам нужно найти его более новую версию. Broadcom удалил последние версии драйверов со своего сайта, чтобы сделать его более сложным.

У некоторых поставщиков ноутбуков есть Bluetooth-драйверы на своих сайтах, но некоторые из них не могут быть недоступны. Так что это какой-то квест. Я могу загрузить последние версии драйверов Broadcom со своего сайта, но его больше нет.

  1. Откройте этот файл с помощью Archive Manager и найдите там файл bcbtums-win8x86-brcm.inf. Название файла может отличаться в некоторых драйверах. Это может быть bcbtums.inf, расположенный в каталоге Win32 или Win64. Не нужно загружать 32 или 64 бит.
  2. Найти этот файл для VID_0A5C & PID_21D7. Эти цифры взяты из вашего выхода lsusb 0a5c: 21d7 Broadcom Corp. BCM43142 Bluetooth 4.0.

Комментарий: Некоторые устройства не признаны Broadcom BT в lsusb. Если вы не знаете, какой из них является вашим устройством BT, запустите команду usb-devices, он предоставит более подробную информацию. Там вы можете найти идентификаторы продуктов и поставщиков.

Вы увидите строку, заканчивающуюся RAMUSB21D7

. Поиск этого файла для RAMUSB21D7. Вы найдете там раздел:

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

Это то, что мы ищем. Имя файла прошивки. BCM43142A0_001.001.011.0122.0126.hex

  1. Теперь извлеките эту прошивку из того же файла cab. Затем вам нужно преобразовать этот файл из hex в формат hcd.
  2. Загрузить инструмент для этого
    git clone git://github.com/jessesung/hex2hcd.git
    cd hex2hcd
    make
    
    . Вы получите папку hex2hcd в своем домашнем каталоге.
  3. Поместите файл прошивки в ваша домашняя папка и запустите
    ~/hex2hcd/hex2hcd ~/BCM43142A0_001.001.011.0122.0126.hex ~/BCM43142A0-0a5c-21d7.hcd
    
    . Вы видите, что 0a5c-21d7 является идентификатором вашего адаптера от lsusb.

Важно: для ядер 4.2+ вы вызываете этот файл как BCM.hcd.

   ~/hex2hcd/hex2hcd ~/BCM43142A0_001.001.011.0122.0126.hex ~/BCM.hcd

Для ядер 4.8+ имя файла должно быть BCM-<VID>-<PID>.hcd, например BCM-0a5c-21d7.

  1. Теперь просто скопируйте BCM43142A0-0a5c-21d7.hcd или другой файл в соответствии с версию ядра в каталог /lib/firmware/brcm на
    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

Вы всегда можете проверить правильность имени файла, выполнив dmesg | grep -i blue. Будет сообщение об ошибке, если файл не найден.

  1. Выключите и снова включите компьютер. Не просто перезагрузка! Ваш адаптер получит прошивку, и bluetooth должен работать.

Все это выглядит сложным, но для этого виноваты адвокаты Broadcom. Большинство других производителей позволяют повторно распространять прошивку при условии, что она выполнена в соответствии с лицензией.

Это позволяет разработчикам linux включать прошивку в дистрибутивы.

Но не в случае Broadcom. Вот почему это нелегко.

Многие люди могут преобразовать все шестнадцатеричные файлы в hcd и сделать их доступными. Или просто добавьте их в пакет linux-firmware Ubuntu.

Но это не является законным: - ((

61
ответ дан 3 August 2018 в 18:15

Это все, что вам нужно: https://github.com/winterheart/broadcom-bt-firmware

В этом репозитории вы можете найти дополнительную информацию и https://github.com /winterheart/broadcom-bt-firmware.

Чтобы быть более конкретным, я даю вам инструкции, которые я написал для себя:

Этот учебник предназначен для создания беспроводной / беспроводной сети Broadcom Corporation BCM43142 802.11b / g / n (rev 01) (идентификатор устройства: 0a5c: 216d), работающей в системах Linux (я попробовал это на элементарной ОС 0.4.1 Loki на базе Ubuntu 16.04.3 LTS).

Он не может работать для других устройств, но он не должен сильно отличаться от этой процедуры для других устройств Broadcom. Необходимые драйверы Broadcom находятся в этой папке репозитория GitHub в формате .hcd.

Введите следующую команду, чтобы узнать, какое имя драйвера является ядром, которое ищет при загрузке дисков при загрузке: dmesg | grep -i 'firmware load' Попробуйте это, если он ничего не находит: dmesg | grep -i 'bluetooth' Результат должен быть примерно таким: bluetooth hci0: Direct firmware load for brcm/BCM.hcd failed with error -2 Объяснение: в моем случае ядро ​​ищет файл BCM.hcd в каталоге /lib/firmware/brcm, где ожидается драйвер Broadcom. Если ядро ​​ищет другое имя драйвера, вы должны переименовать файл драйвера (BCM43142A0-0a5c-216c.hcd в моем случае для BCM43142 (0a5c: 216d)) на требуемое имя ядром. Переместите переименованный драйвер (BCM.hcd) в домашний каталог (/ home / YourUsername /) и выполните следующую команду, чтобы переместить его в папку, в которой находится ядро ​​во время загрузки: sudo mv ~/BCM.hcd /lib/firmware/brcm Вы должны использовать соответствующий драйвер в зависимости от вашего устройства и переименовать его, если требуется для ядра. Перезагрузите компьютер и он должен работать! * (Вы можете снова ввести dmesg | grep -i 'bluetooth', чтобы узнать, был ли загружен драйвер)
1
ответ дан 18 July 2018 в 03:39

Вот проект, целью которого является автоматизация процесса: https://github.com/winterheart/broadcom-bt-firmware

скопируйте BCM в правый каталог / имя в зависимости от Ядро (как описано выше).

В 4.8 Мне не нужна перезагрузка, просто в терминале:

sudo modprobe -r btusb sudo modprobe btusb dmesg | grep -i blu

должен показать, загружен ли он. Убедитесь, что идентификатор оборудования соответствует файлу. Его можно найти с помощью:

lsusb

, который показывает это на моем Lenovo (только эта строка):

Bus 001 Device 006: ID 105b:e065 Foxconn International, Inc. BCM43142A0 Bluetooth module

Надеюсь, что это поможет:)

11
ответ дан 18 July 2018 в 03:39

Это все, что вам нужно: https://github.com/winterheart/broadcom-bt-firmware

В этом репозитории вы можете найти дополнительную информацию и https://github.com /winterheart/broadcom-bt-firmware.

Чтобы быть более конкретным, я даю вам инструкции, которые я написал для себя:

Этот учебник предназначен для создания беспроводной / беспроводной сети Broadcom Corporation BCM43142 802.11b / g / n (rev 01) (идентификатор устройства: 0a5c: 216d), работающей в системах Linux (я попробовал это на элементарной ОС 0.4.1 Loki на базе Ubuntu 16.04.3 LTS).

Он не может работать для других устройств, но он не должен сильно отличаться от этой процедуры для других устройств Broadcom. Необходимые драйверы Broadcom находятся в этой папке репозитория GitHub в формате .hcd.

Введите следующую команду, чтобы узнать, какое имя драйвера является ядром, которое ищет при загрузке дисков при загрузке: dmesg | grep -i 'firmware load' Попробуйте это, если он ничего не находит: dmesg | grep -i 'bluetooth' Результат должен быть примерно таким: bluetooth hci0: Direct firmware load for brcm/BCM.hcd failed with error -2 Объяснение: в моем случае ядро ​​ищет файл BCM.hcd в каталоге /lib/firmware/brcm, где ожидается драйвер Broadcom. Если ядро ​​ищет другое имя драйвера, вы должны переименовать файл драйвера (BCM43142A0-0a5c-216c.hcd в моем случае для BCM43142 (0a5c: 216d)) на требуемое имя ядром. Переместите переименованный драйвер (BCM.hcd) в домашний каталог (/ home / YourUsername /) и выполните следующую команду, чтобы переместить его в папку, в которой находится ядро ​​во время загрузки: sudo mv ~/BCM.hcd /lib/firmware/brcm Вы должны использовать соответствующий драйвер в зависимости от вашего устройства и переименовать его, если требуется для ядра. Перезагрузите компьютер и он должен работать! * (Вы можете снова ввести dmesg | grep -i 'bluetooth', чтобы узнать, был ли загружен драйвер)
1
ответ дан 24 July 2018 в 17:54

Вот проект, целью которого является автоматизация процесса: https://github.com/winterheart/broadcom-bt-firmware

скопируйте BCM в правый каталог / имя в зависимости от Ядро (как описано выше).

В 4.8 Мне не нужна перезагрузка, просто в терминале:

sudo modprobe -r btusb sudo modprobe btusb dmesg | grep -i blu

должен показать, загружен ли он. Убедитесь, что идентификатор оборудования соответствует файлу. Его можно найти с помощью:

lsusb

, который показывает это на моем Lenovo (только эта строка):

Bus 001 Device 006: ID 105b:e065 Foxconn International, Inc. BCM43142A0 Bluetooth module

Надеюсь, что это поможет:)

11
ответ дан 24 July 2018 в 17:54
  • 1
    В моем случае (UtechSmart USB Блютуз 4.0 ID устройства: 0a5c:21e8) водители winterheart загружен, но hcitool dev еще не показать все устройства и ошибка в syslog. Нашел другой драйвер по plugable.com/2014/06/23/..., что сделал работу. – Greg Bray 3 December 2017 в 02:30

Другие вопросы по тегам:

Похожие вопросы: