Ubuntu 14.04上的Ralink RT 3290蓝牙问题


14

我最近安装了Ubuntu 14.04,除了蓝牙以外,其他所有东西都运行良好。

我有Ralink 3290蓝牙。尝试使用此处描述的方法安装驱动程序。该代码未编译,并给出2个错误。即使更改 os/linux/pci_main_dev.c也不起作用。

更新:现在,我点击了此链接,并在修改了一些文件之后,成功编译并安装了该驱动程序。我敢肯定,Ubuntu终于找到了一个蓝牙适配器,现在我正在使用蓝牙:

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

来了。


您应该问两个不同的问题,因为那是两个不同的问题。另外,请粘贴您收到的错误消息,以便我们进一步为您提供帮助。
Aserre 2014年

对不起,@ Ploutox在同一线程中询问两个不同的问题。无论如何,这make是我在编译驱动程序后遇到的错误:
Adnan 2014年

对我有用,谢谢。通过输入“ 0000”作为PIN,可以配对Apple BT鼠标。
user303124 2014年

刚切换到Qualcomm Atheros AR9485无线网络适配器(修订版01),我什么都无法工作。一旦我的蓝牙耳机充满电(幸运的是,它们有唱机回退),我们将看看这是否是一个ubuntu问题
MrMesees

@MrMesees仅适用于Ralink RT3290蓝牙。
阿德南

Answers:


10

我让蓝牙工作了!

  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. 重启。此外,如果蓝牙仍然不起作用,您可以遵循此ZIP文件中包含的PDF文件。


新问题。即使在检测到我的蓝牙之后ON,我似乎也无法与任何设备配对。
阿德南2014年

1
根据本指南在HP 15-n240tx上安装了Ralink 3290,但我也遇到同样的问题。它不配对。错误是“密码或密码不正确”(在设备上看到)
Shaakunthala 2014年

配对问题也在这里!
opu 2​​014年

将内核升级到3.15-rc7并安装驱动程序后,我可以与Moto G成功配对并发送文件。但是我无法接收文件,并且如果我关闭蓝牙,则蓝牙将不会再次打开。只有重新启动后,它才能再次工作。
阿德南2014年


5

根据shihiro对错误报告的评论,有一个维护良好的PPA可用于蓝牙驱动程序:

在终端中使用

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

从Launchpad加载并安装它。在第一个链接上,有指向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. 重新启动系统。

您是否可以通过蓝牙成功传输文件?
阿德南(Adnan)

@Adnan:我本人没有任何蓝牙设备,因此我无法对其进行测试。我只是对实际答案发表了很好的评论。
大卫·

我也不再自己拥有该Ralink设备,因此希望对将来的其他人有所帮助。
阿德南(Adnan)

安装后它可能不起作用,如果发生这种情况,我添加了解决方法
Lynob

0

可在我的HP ProBook 455 G1笔记本电脑上使用的DKMS和systemd解决方案,其中包括:
网络控制器:Ralink corp.。RT3290无线802.11n 1T / 1R PCIe及其混合物。
内置蓝牙:Ralink公司。RT3290蓝牙。

我要求检查此指令是否在Ubuntu上有效。
例如,编写一个操作系统和内核Linux版本:

测试于:
操作系统:带有gnome外壳的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 

0

这是一种简单的方法,我也一直在寻找解决这一问题的方法,两年来,我最多能够列出所有的蓝牙设备,并且无法连接到其中任何一个,但是下面是我今天遇到的解决方案,它可以正常工作完美无缺。

它非常容易安装,文件位于github rtbth-dkms上

安装,

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

然后按照Init下面的命令操作,您的蓝牙现在可以使用了,如果有任何问题,请发表评论,我们将竭诚为您服务。

用法

# 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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.