Сканирование Bluetooth не находит ни одного устройства Bluetooth

Вопрос или проблема

Я использую Linux Mint 17.2 64bit на Acer Aspire-VN7-791G. Bluetooth, похоже, работает – по крайней мере, я могу его включить – но при сканировании других устройств ничего не находится.

lspci возвращает следующее

user@user-Aspire-VN7-791G ~ $ lspci -nnk | grep -iA2 net
07:00.0 Network controller [0280]: Qualcomm Atheros Device [168c:003e] (rev 20)
    Subsystem: Lite-On Communications Inc Device [11ad:0804]
    Kernel driver in use: ath10k_pci
08:00.0 Ethernet controller [0200]: Broadcom Corporation NetLink BCM57780 Gigabit Ethernet PCIe [14e4:1692] (rev 01)
    Subsystem: Acer Incorporated [ALI] Device [1025:091d]
    Kernel driver in use: tg3

Вывод lsusb

user@user-Aspire-VN7-791G ~ $ lsusb
Bus 004 Device 002: ID 8087:8000 Intel Corp. 
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 8087:8008 Intel Corp. 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 04f2:b469 Chicony Electronics Co., Ltd 
Bus 001 Device 004: ID 06cb:2970 Synaptics, Inc. 
Bus 001 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 002: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 001 Device 006: ID 04ca:3011 Lite-On Technology Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Также моя версия ядра 4.2.0-18-generic, потому что я обновил ее, чтобы Wi-Fi заработал.

У меня такой же ноутбук (VN7-591G-77FS), и я также использую Mint 17.2. Вам нужно сделать следующее:

1) скачайте последние бэкапс ядра

https://www.kernel.org/pub/linux/kernel/projects/backports/2015/11/20/

2) распакуйте архив, а затем в файле drivers/bluetooth/btusb.c найдите следующие строки

/* QCA ROME chipset */
{ USB_DEVICE(0x0cf3, 0xe007), .driver_info = BTUSB_QCA_ROME },
{ USB_DEVICE(0x0cf3, 0xe300), .driver_info = BTUSB_QCA_ROME },
{ USB_DEVICE(0x0cf3, 0xe360), .driver_info = BTUSB_QCA_ROME },

и добавьте следующее ниже них

{ USB_DEVICE(0x04ca, 0x3011), .driver_info = BTUSB_QCA_ROME },

3) скомпилируйте, установите и перезагрузитесь. Если Bluetooth все еще не работает, то, вероятно, не хватает необходимого прошивки, которая должна быть упомянута в каком-то сообщении об ошибке в dmesg. Что-то вроде

dmesg | grep -i bluetooth

должно это показать

ИЗМЕНЕНИЕ: Я только что увидел, что вы обновили ядро. В таком случае, вам не нужны бэкапсы. Просто найдите соответствующий файл в дереве ядра и отредактируйте его там. В моем случае я также предпочел решение с бэкапсами для Wi-Fi 😉

У меня такая же проблема с Asus Aspire V 13

BT-устройство – Atheros… но работает с настройками ROME, поэтому я добавил следующую строку в btusb.c: (затем скомпилировал как модуль, установил как модуль и загрузил)

{ USB_DEVICE(0x04ca, 0x3011), .driver_info = BTUSB_QCA_ROME },

Мой lsusb:

lsusb
Bus 003 Device 007: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 003 Device 005: ID 04f2:b469 Chicony Electronics Co., Ltd 
Bus 003 Device 004: ID 04ca:3011 Lite-On Technology Corp. 
Bus 003 Device 009: ID 0461:0010 Primax Electronics, Ltd HP PR1101U / Primax PMX-KPR1101U Keyboard
Bus 003 Device 008: ID 03f0:094a Hewlett-Packard Optical Mouse [672662-001]
Bus 003 Device 024: ID 0b95:772b ASIX Electronics Corp. AX88772B
Bus 003 Device 003: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 003 Device 002: ID 8087:8001 Intel Corp. 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Я подал отчет об ошибке: Bluetooth 04ca:3011 [Asus Aspire V3-371] не работает | bugs.launchpad.net

ПОШАГОВО, что я сделал (предполагая, что вы не скачали весь исходный код ядра и не собираетесь это делать):

  1. скачал btusb.c (мое ядро – 4.2, так что я взял его отсюда: Исходный код Linux: drivers/bluetooth/btusb.c (v4.2) | Bootlin), и 3 заголовка include: btbcm.h btintel.h btrtl.h (я убрал номера строк с помощью следующей команды: sed -e 's/ *[0-9]* //' btusb.txt > btusb.c – где txt это то, что вы скачали)
  2. создал Makefile с помощью nano Makefile со следующим содержанием:

    obj-m := btusb.o
    KDIR := /lib/modules/$(shell uname -r)/build
    PWD := $(shell pwd)
    default:
    $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
    
  3. Отредактировал загруженный btusb.c (фактически добавил вышеупомянутую строку)

  4. Скомпилировал с помощью команды make.
  5. Установил созданный модуль (btusb.ko) с помощью команды
    sudo make -C /usr/src/linux-headers-$(uname -r) M=$(pwd) modules_install
  6. Запустил sudo depmod -a
  7. Удалил “старый” btusb sudo rmmod btusb
  8. Установил то, что я сделал, как sudo modprobe btusb

Ответ или решение

Проблема, с которой вы столкнулись, заключается в том, что ваше Bluetooth-устройство не обнаруживает другие устройства. Вы используете Linux Mint 17.2 на аппаратуре Acer Aspire VN7-791G. Давайте попробуем исправить эту ситуацию.

Шаги по устранению проблемы

  1. Проверьте наличие драйверов и поддержку устройства:
    В вашем случае Bluetooth контроллер представлен устройством Qualcomm Atheros (идентификатор 168c:003e). Драйвер для этого устройства (ath10k_pci) загружается, но наличие проблем с Bluetooth может указывать на то, что этот драйвер не поддерживает ваш контроллер.

  2. Обновление ядра:
    Вы упомянули, что используете ядро версии 4.2.0-18-generic. Возможно, стоит обновить ядро до более новой версии, если это возможно в вашей системе. В более новых версиях ядра может быть добавлена поддержка необходимых драйверов.

  3. Использование backports:
    Если обновление ядра не решение, то вы можете использовать kernel backports, которые содержат обновленные драйверы для старых версий ядра. Сделайте следующее:

    • Загрузите и распакуйте последние backports (например, здесь).
    • Откройте файл drivers/bluetooth/btusb.c и добавьте следующую строку:
      { USB_DEVICE(0x04ca, 0x3011), .driver_info = BTUSB_QCA_ROME },
    • Скомпилируйте и установите изменения. Затем перезагрузите систему.
  4. Проверка на наличие прошивки:
    Если Bluetooth по-прежнему не работает, возможно, вам не хватает соответствующей прошивки. Выполните команду:

    dmesg | grep -i bluetooth

    Это может дать вам подсказки о том, какая конкретно прошивка отсутствует.

  5. Создание и установка модуля:
    Если проблема продолжается, выполните следующие шаги для создания и установки модуля:

    • Скачайте btusb.c из исходников (например, здесь).
    • Подготовьте Makefile с содержимым:
      obj-m := btusb.o
      KDIR := /lib/modules/$(shell uname -r)/build
      PWD := $(shell pwd)
      default:
      $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
    • Отредактируйте btusb.c, добавив нужную строку.
    • Скомпилируйте с помощью команды make.
    • Установите модуль:
      sudo make -C /usr/src/linux-headers-$(uname -r) M=$(pwd) modules_install
    • Обновите модульную базу:
      sudo depmod -a
    • Удалите старую версию модуля:
      sudo rmmod btusb
    • Загрузите модуль, который вы только что установили:
      sudo modprobe btusb

Заключение

Если после выполнения этих шагов проблема все еще остается, возможно, вам стоит рассмотреть возможность обращения к сообществу Linux или поддержки вашего дистрибутива. Также может быть полезно проверить настройки BIOS, чтобы убедиться, что Bluetooth включен на аппаратном уровне.

Оцените материал
Добавить комментарий

Капча загружается...