14

I recently installed Ubuntu 14.04 and everything is working good except the Bluetooth.

I have Ralink 3290 Bluetooth. tried to install the driver using the method described here. The code is not compiling and giving 2 errors. Even the change in os/linux/pci_main_dev.c is not working.

Update: Now I followed this link and after modifying some file a little bit, I was successful in compiling and installing this driver. I am certain that Ubuntu finally found a Bluetooth Adapter, and now I am getting bluetooth in:

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

But now the Bluetooth is disabled error is showing and the output of

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

is coming.

  • You should ask 2 different questions as those are 2 different issues. Also, please paste the error messages you get so that we can help you further. – Aserre Apr 23 '14 at 13:09
  • Sorry @Ploutox for asking two different questions in the same thread. Anyways, here's the make error that I'm getting after compiling driver: – Adnan Apr 23 '14 at 14:09
  • It worked for me, thank you. I was able to pair apple BT mouse by entering "0000" as PIN. – user303124 Jul 10 '14 at 7:22
  • just switched to Qualcomm Atheros AR9485 Wireless Network Adapter (rev 01), I couldn't get any of this to work; we'll see if it's an ubuntu problem once my bluetooth headphones have charged (luckily they have a phono fallback) – MrMesees Jan 13 '17 at 12:16
  • @MrMesees this is only for Ralink RT3290 bluetooth. – Adnan Feb 13 '17 at 20:55
10

I got the bluetooth to work!

  1. First download the Source code from here and extract it to Home.

  2. After that, open the rtbth_core_bluez.c file, and then go to line 86 and change it from:

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

    to:

    int rtbt_hci_dev_send(struct hci_dev *hdev, struct sk_buff *skb)
    {
        //struct hci_dev *hdev = (struct hci_dev *)skb->dev;
    
  3. Go to line 216 and change it from:

        status = hci_recv_frame(skb);
    

    to:

        status = hci_recv_frame(hdev,skb);
    
  4. Then go to line 406 and change it from:

    hdev->ioctl = rtbt_hci_dev_ioctl;
    

    to:

    //hdev->ioctl = rtbt_hci_dev_ioctl;
    
  5. Save, then open rtbth_hlpr_linux.c and go to line 575. Change it from:

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

    to

    (PSTRING)&pOSTask->taskName[0];
    
  6. Now you are ready to Compile. Compile it in Terminal by:

    cd rtbth-3.9.3
    make
    sudo make install
    
  7. Reboot. Additionally, you can follow the PDF file contained inside this ZIP in case bluetooth still does not work.
| improve this answer | |
  • Help taken from here: wirama.web.id/rt3290-bluetooth-rtbth-driver-with-kernel-3-13 – Adnan Apr 25 '14 at 0:23
  • New problem. Even after my bluetooth is detected and is ON, I seem to be unable to pair with any device. – Adnan May 9 '14 at 12:54
  • 1
    Got Ralink 3290 on HP 15-n240tx according to this guide, but I'm also having the same problem. It doesn't pair. Error is 'incorrect PIN or password' (seen on device) – Shaakunthala Sep 21 '14 at 18:47
  • Pairing problem here too! – opu 웃 Oct 2 '14 at 8:27
  • After upgrading the kernel to 3.15-rc7 and installing this driver, I can successfully pair with my Moto G and send a file. But I am unable to receive a file and If I turn off the Bluetooth, then the Bluetooth won't turn on again. Only rebooting will make it work again. – Adnan Oct 14 '14 at 23:56
6

This is reported as bug on LP:

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

As of now, there is no working driver. If you have LP account, I'd recommend you marking the bug as affecting you and subscribing for email notifications on comments.

| improve this answer | |
5

According to shihiro's comment on the bug report there's a well maintained PPA available for the Bluetooth driver:

Use in terminal

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

or load and install it from Launchpad. On the first link there is the source link to the GitHub page. In README.md you can read:

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

I typed it in terminal and everything works.

On Ubuntu 17.10, and possibly earlier versions, the module might get blacklisted automatically. If that happens to you

  1. add rtbth to /etc/modules,
  2. open /etc/modprobe.d/dkms-rtbth.conf and comment out or delete the line that says blacklist rtbth,
  3. reboot the system.
| improve this answer | |
  • Are you able to successfully transfer files by bluetooth? – Adnan May 10 '17 at 19:21
  • @Adnan: I don't have any Bluetooth devices myself, so I have no way to test this. I merely extended a good comment into an actual answer. – David Foerster May 10 '17 at 23:42
  • I too no longer own this Ralink device myself, so I hope this will be helpful for someone else in the future. – Adnan May 11 '17 at 17:54
  • It might not work when installed, if that happens, I added how to fix it – Lynob Jan 14 '18 at 19:39
1

Here is a easy way, I too was looking for solving this problem for 2 years now, and at most I was able to get all Bluetooth Devices listed and was unable to connect to any of them, but below solution I encountered today and It worked flawlessly for me.

It is very easy to install, files are located on github rtbth-dkms.

To Install,

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

and then follow the Init commands below, your BlueTooth will work now, in case of any problem leave a comment, I will be happy to help you.

Usage

# 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
| improve this answer | |
0

The DKMS and systemd solution that works on my HP ProBook 455 G1 Laptop with:
Network controller: Ralink corp. RT3290 Wireless 802.11n 1T/1R PCIe and it's hybrid.
Which has built-in Bluetooth: Ralink corp. RT3290 Bluetooth.

I am ask for check if this instruction work on Ubuntu.
Write an OS and Kernel Linux version for example:

TESTED ON:
OS: Fedora 27 with gnome shell.
Kernel 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

Copy files:

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

Makeing new file name bluetooth-setup.sh and copy :

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

Making an automatic start by following this instruction.
Add script to systemd :

https://linuxconfig.org/how-to-automatically-execute-shell-script-at-startup-boot-on-systemd-linux 
| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.