Ralink RT 3290 Проблема с Bluetooth в Ubuntu 14.04

Я недавно установил Ubuntu 14.04, и все работает хорошо, кроме Bluetooth.

У меня Ralink 3290 Bluetooth. попытался установить драйвер, используя метод, описанный здесь. Код не компилируется и выдает 2 ошибки. Даже изменение в os/linux/pci_main_dev.c не работает.

Обновление: теперь я перешел по этой ссылке, и после небольшого изменения файла мне удалось скомпилировать и установить этот драйвер. Я уверен, что Ubuntu наконец-то нашел адаптер Bluetooth, и теперь я получаю Bluetooth:

rfkill list all
0: phy0: Wireless LAN
     Soft blocked: yes
     Hard blocked: no
1: hci0: Bluetooth
    Soft blocked: yes
    Hard blocked: no

Но теперь Bluetooth is disabled ошибка показывает и вывод

dmesg | grep Blue
[   17.378741] Bluetooth: Core ver 2.17
[   17.378778] Bluetooth: HCI device and connection manager initialized
[   17.378788] Bluetooth: HCI socket layer initialized
[   17.378792] Bluetooth: L2CAP socket layer initialized
[   17.378799] Bluetooth: SCO socket layer initialized
[   17.809313] Bluetooth: hci0 sending frame failed
[   20.507392] Bluetooth: RFCOMM TTY layer initialized
[   20.507420] Bluetooth: RFCOMM socket layer initialized
[   20.507440] Bluetooth: RFCOMM ver 1.11
[   20.669232] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   20.669237] Bluetooth: BNEP filters: protocol multicast
[   20.669249] Bluetooth: BNEP socket layer initialized

приближается.

5 ответов

Я получил Bluetooth для работы!

  1. Сначала загрузите Исходный код отсюда и распакуйте его в Home,

  2. После этого откройте rtbth_core_bluez.c файл, а затем перейдите к строке 86 и измените его с:

    int rtbt_hci_dev_send(struct sk_buff *skb)
    {
        struct hci_dev *hdev = (struct hci_dev *)skb->dev;
    

    чтобы:

    int rtbt_hci_dev_send(struct hci_dev *hdev, struct sk_buff *skb)
    {
        //struct hci_dev *hdev = (struct hci_dev *)skb->dev;
    
  3. Перейдите к строке 216 и измените ее с:

        status = hci_recv_frame(skb);
    

    чтобы:

        status = hci_recv_frame(hdev,skb);
    
  4. Затем перейдите к строке 406 и измените ее с:

    hdev->ioctl = rtbt_hci_dev_ioctl;
    

    чтобы:

    //hdev->ioctl = rtbt_hci_dev_ioctl;
    
  5. Сохранить, затем открыть rtbth_hlpr_linux.c и перейдите к строке 575. Измените его с:

    //daemonize((PSTRING)&pOSTask->taskName[0]);
    

    в

    (PSTRING)&pOSTask->taskName[0];
    
  6. Теперь вы готовы к компиляции. Скомпилируйте его в терминале:

    cd rtbth-3.9.3
    make
    sudo make install
    
  7. Перезагружать. Кроме того, вы можете следить за PDF-файлом, содержащимся в этом ZIP- файле, в случае, если Bluetooth все еще не работает.

Это сообщается как ошибка на LP:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1189721

На данный момент нет рабочего драйвера. Если у вас есть учетная запись LP, я бы порекомендовал вам пометить ошибку как затрагивающую вас и подписаться на уведомления по электронной почте для комментариев.

Согласно комментарию shihiro к сообщению об ошибке, для драйвера Bluetooth доступен хорошо поддерживаемый PPA:

Использовать в терминале

sudo add-apt-repository ppa:blaze/rtbth-dkms
sudo apt-get update
sudo apt-get install rtbth-dkms

или загрузите и установите его с панели запуска. На первой ссылке есть исходная ссылка на страницу GitHub. В README.md ты можешь читать:

# Init
sudo modprobe rtbth
sudo rfkill unblock bluetooth
hcitool dev # check

Я набрал его в терминале, и все работает.

В Ubuntu 17.10 и, возможно, в более ранних версиях модуль может автоматически попасть в черный список. Если это случится с вами

  1. добавлять rtbth в /etc/modules,
  2. открыть /etc/modprobe.d/dkms-rtbth.conf и закомментируйте или удалите строку, которая говорит blacklist rtbth,
  3. перезагрузите систему.

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

Это очень легко установить, файлы расположены на github rtbth-dkms.

Установить,

sudo add-apt-repository ppa:blaze/rtbth-dkms
sudo apt-get update
sudo apt-get install rtbth-dkms

а затем следуйте Init Команды ниже, ваш BlueTooth будет работать сейчас, в случае каких-либо проблем оставьте комментарий, я буду рад помочь вам.

использование

# Init
sudo modprobe rtbth
sudo rfkill unblock bluetooth
hcitool dev # check

# Switch off
sudo rfkill block bluetooth

# Switch on
sudo rfkill unblock bluetooth

# Shutdown
sudo pkill -2 rtbt
sudo rmmod rtbth

Решение DKMS и systemd, которое работает на моем ноутбуке HP ProBook 455 G1 с:
Сетевой контроллер: Ralink Corp. RT3290 Беспроводной 802.11n 1T/1R PCIe и его гибрид.
Который имеет встроенный Bluetooth: Ralink Corp. RT3290 Bluetooth.

Я прошу проверить, работает ли эта инструкция на Ubuntu.
Напишите версию ОС и ядра Linux, например:

ИСПЫТАНО НА:
ОС: Fedora 27 с оболочкой гнома.
Ядро Linux: 4.13.12-300.fc27.x86_64

Copy source from:
https://github.com/loimu/rtbth-dkms

DKMS Build Instruction:
http://xmodulo.com/build-kernel-module-dkms-linux.html

Копировать файлы:

cp 49rtbt to /usr/lib64/pm-utils/sleep.d  
cp rtbt to one of this folder /bin or /usr/local/bin or /usr/bin

Создайте новое имя файла bluetooth-setup.sh и скопируйте:

#!/bin/bash
sudo mknod /dev/rtbth c 192 0
sudo rtbt

Выполнение автоматического запуска, следуя этой инструкции.
Добавьте скрипт в systemd:

https://linuxconfig.org/how-to-automatically-execute-shell-script-at-startup-boot-on-systemd-linux 
Другие вопросы по тегам