I have an HP Envy H8-1437c system and my bluetooth is not working. I am running Ubuntu 13.04 with kubuntu-desktop
installed. This is a UEFI system, but legacy boot is turned on.
I have a Ralink RT3290 wireless and bluetooth card, and the wireless works fine. When I go to the bluetooth settings in KDE, I am told that no bluetooth adapters were found.
Here is one part of the output of lspci -v
:
03:00.1 Bluetooth: Ralink corp. RT3290 Bluetooth
Subsystem: Hewlett-Packard Company Device 18ec
Flags: fast devsel, IRQ 11
Memory at f7200000 (32-bit, non-prefetchable) [disabled] [size=64K]
Capabilities:
And rfkill list
:
0: phy0: Wireless LAN
Soft blocked: no Hard blocked: no
As you can see, bluetooth simply does not show up. I know that my computer is capable of using bluetooth; it worked before I wiped Windows and it is clearly advertised on the box that the computer came in.
I tried downloading the driver for the bluetooth card from http://downloads.zotac.com/mediadrivers/mb/download/NB087_Ubuntu.zip. When I follow the instructions from here, I get stuck at the first step. Here is the output of the make
command when I am in ~/Downloads/rtbth_v3.9.3/rtbth_v3.9.3
:
make -C /lib/modules/3.8.0-19-generic/build M=/home/ashwin/Downloads/rtbth_v3.9.3/rtbth_v3.9.3 modules
make(1): Entering directory/usr/src/linux-headers-3.8.0-19-generic'
/usr/src/linux-headers-3.8.0-19-generic'
CC [M] /home/ashwin/Downloads/rtbth_v3.9.3/rtbth_v3.9.3/rtbth_core_pci.o
/home/ashwin/Downloads/rtbth_v3.9.3/rtbth_v3.9.3/rtbth_core_pci.c:38:44: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__devinitdata’
/home/ashwin/Downloads/rtbth_v3.9.3/rtbth_v3.9.3/rtbth_core_pci.c: In function ‘rtbt_pci_suspend’:
/home/ashwin/Downloads/rtbth_v3.9.3/rtbth_v3.9.3/rtbth_core_pci.c:60:43: error: ‘struct hci_dev’ has no member named ‘driver_data’
/home/ashwin/Downloads/rtbth_v3.9.3/rtbth_v3.9.3/rtbth_core_pci.c: In function ‘rtbt_pci_resume’:
/home/ashwin/Downloads/rtbth_v3.9.3/rtbth_v3.9.3/rtbth_core_pci.c:87:46: error: ‘struct hci_dev’ has no member named ‘driver_data’
/home/ashwin/Downloads/rtbth_v3.9.3/rtbth_v3.9.3/rtbth_core_pci.c: At top level:
/home/ashwin/Downloads/rtbth_v3.9.3/rtbth_v3.9.3/rtbth_core_pci.c:101:22: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘rtbt_pci_probe’
/home/ashwin/Downloads/rtbth_v3.9.3/rtbth_v3.9.3/rtbth_core_pci.c:228:23: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘rtbt_pci_remove’
/home/ashwin/Downloads/rtbth_v3.9.3/rtbth_v3.9.3/rtbth_core_pci.c:288:14: error: ‘rtbt_pci_ids’ undeclared here (not in a function)
/home/ashwin/Downloads/rtbth_v3.9.3/rtbth_v3.9.3/rtbth_core_pci.c:290:11: error: ‘rtbt_pci_probe’ undeclared here (not in a function)
/home/ashwin/Downloads/rtbth_v3.9.3/rtbth_v3.9.3/rtbth_core_pci.c:292:2: error: implicit declaration of function ‘__devexit_p’ [-Werror=implicit-function-declaration]
/home/ashwin/Downloads/rtbth_v3.9.3/rtbth_v3.9.3/rtbth_core_pci.c:292:24: error: ‘rtbt_pci_remove’ undeclared here (not in a function)
/home/ashwin/Downloads/rtbth_v3.9.3/rtbth_v3.9.3/rtbth_core_pci.c: In function ‘BthIsr’:
/home/ashwin/Downloads/rtbth_v3.9.3/rtbth_v3.9.3/rtbth_core_pci.c:346:40: error: ‘struct hci_dev’ has no member named ‘driver_data’
/home/ashwin/Downloads/rtbth_v3.9.3/rtbth_v3.9.3/rtbth_core_pci.c: At top level:
/home/ashwin/Downloads/rtbth_v3.9.3/rtbth_v3.9.3/rtbth_core_pci.c:42:1: error: ‘__mod_pci_device_table’ aliased to undefined symbol ‘rtbt_pci_ids’
cc1: some warnings being treated as errors
make[2]: *** [/home/ashwin/Downloads/rtbth_v3.9.3/rtbth_v3.9.3/rtbth_core_pci.o] Error 1
make[1]: *** [_module_/home/ashwin/Downloads/rtbth_v3.9.3/rtbth_v3.9.3] Error 2
make[1]: Leaving directory
make: *** [all] Error 2
I do not know why I cannot build the package. Based on other people's reports, the driver works once you build it. I need the rtbth.ko
file to put into /etc/Wireless/RT3290
. Please help me get my bluetooth working… Thanks!
Edit: I just read another AskUbuntu post about this, with the same problem as me. Please see here. I am wondering if I can somehow download the rtbth.ko
file from somewhere, since that is really all I need to get bluetooth working… I appreciate any help on this topic. I know I could switch back to Ubuntu 12.04 LTS, but I really can't because there is software on Ubuntu 13.04 that I need for work… Thanks again!
Best Answer
There's a fix to this problem which I will explain here (source)
modify
rtbth_core_bluez.c
line 406 and just comment out this line.then change
rtbth_core_bluez.c
line #216 and comment out the original line, replacing it with:after that, you need to change
rtbth_core_bluez.c
in line 86 and make these changes (is it clear?)after making these changes you should be able to compile and add your BT devices, although I never managed to add a device myself.
by the way, the patch provided inside the link does not work and you have to do this by yourself.