Ralink RT3290 doesn't have a bluetooth driver

Bug #1189721 reported by Graeme Pietersz
852
This bug affects 172 people
Affects Status Importance Assigned to Milestone
Linux
Confirmed
Medium
Linux Mint
Confirmed
Undecided
Unassigned
linux (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

As of Raring Ubuntu has a wifi driver for the RT3290 that works out of the box.

It still does not have bluetooth support.

This thread in the Ubuntu forums links to a driver that is claimed to work:

http://ubuntuforums.org/showthread.php?t=2115570
---
ApportVersion: 2.9.2-0ubuntu8.3
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: graeme 2412 F.... pulseaudio
CRDA:
 country GB:
  (2402 - 2482 @ 40), (N/A, 20)
  (5170 - 5250 @ 40), (N/A, 20)
  (5250 - 5330 @ 40), (N/A, 20), DFS
  (5490 - 5710 @ 40), (N/A, 27), DFS
DistroRelease: Ubuntu 13.04
EcryptfsInUse: Yes
HibernationDevice: RESUME=UUID=2d107179-35e2-4b1f-8bdd-90a01132ec70
InstallationDate: Installed on 2013-05-17 (144 days ago)
InstallationMedia: Ubuntu 13.04 "Raring Ringtail" - Release amd64 (20130424)
MachineType: Hewlett-Packard HP ProBook 4540s
MarkForUpload: True
Package: linux (not installed)
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.8.0-31-generic root=UUID=ac74fd89-3445-4a6d-b91b-ae4987867afe ro quiet splash acpi_backlight=vendor vt.handoff=7
ProcVersionSignature: Ubuntu 3.8.0-31.46-generic 3.8.13.8
RelatedPackageVersions:
 linux-restricted-modules-3.8.0-31-generic N/A
 linux-backports-modules-3.8.0-31-generic N/A
 linux-firmware 1.106
RfKill:
 0: phy0: Wireless LAN
  Soft blocked: no
  Hard blocked: no
Tags: raring
Uname: Linux 3.8.0-31-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dialout dip lpadmin plugdev sambashare sudo
dmi.bios.date: 11/06/2012
dmi.bios.vendor: Hewlett-Packard
dmi.bios.version: 68IRR Ver. F.32
dmi.board.name: 17F6
dmi.board.vendor: Hewlett-Packard
dmi.board.version: KBC Version 58.1D
dmi.chassis.type: 10
dmi.chassis.vendor: Hewlett-Packard
dmi.modalias: dmi:bvnHewlett-Packard:bvr68IRRVer.F.32:bd11/06/2012:svnHewlett-Packard:pnHPProBook4540s:pvrA1018C1100:rvnHewlett-Packard:rn17F6:rvrKBCVersion58.1D:cvnHewlett-Packard:ct10:cvr:
dmi.product.name: HP ProBook 4540s
dmi.product.version: A1018C1100
dmi.sys.vendor: Hewlett-Packard

tags: added: bluetooth ralink rt3290
Revision history for this message
Brad Figg (brad-figg) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 1189721

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
summary: - Ralink RT3290 needs blueetooth driver
+ Ralink RT3290 needs bluetooth driver
Changed in linux (Ubuntu):
importance: Undecided → Medium
tags: added: raring
Revision history for this message
Emanuele Sottocorno (sotema) wrote : Re: Ralink RT3290 needs bluetooth driver

HP ProBook 450.
Kernel 3.8.0-26 x86_64

 lspci -v output
04:00.1 Bluetooth: Ralink corp. RT3290 Bluetooth
 Subsystem: Hewlett-Packard Company Device 18ec
 Flags: bus master, fast devsel, latency 0, IRQ 10
 Memory at d0600000 (32-bit, non-prefetchable) [size=64K]
 Capabilities: [40] Power Management version 3
 Capabilities: [50] MSI: Enable- Count=1/32 Maskable- 64bit+
 Capabilities: [70] Express Endpoint, MSI 00
 Capabilities: [100] Advanced Error Reporting
 Capabilities: [140] Device Serial Number 00-00-a0-f4-47-56-85-bc

bluethoot device not configured at boot.

emanuele@emybook:~$ lsmod |egrep "rt3|rt2"
rt2800pci 18582 0
rt2800lib 66507 1 rt2800pci
rt2x00pci 14519 1 rt2800pci
rt2x00lib 54869 3 rt2x00pci,rt2800lib,rt2800pci
mac80211 606457 3 rt2x00lib,rt2x00pci,rt2800lib
cfg80211 510937 2 mac80211,rt2x00lib
eeprom_93cx6 13344 1 rt2800pci
crc_ccitt 12707 1 rt2800lib

And the Wifi car is also unstable (randomic disconnections)

Revision history for this message
girto (patspiper) wrote :

The link in the OP refers indeed to the RT3290 bluetooth driver (and WiFi driver) that should in theory compile on Ubuntu 12.04. It needs however some modifications in order to compile on the more recent kernels.

Revision history for this message
Christopher Rooney (ctr-287) wrote : apport information

ApportVersion: 2.9.2-0ubuntu8.1
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: christopher 2046 F.... pulseaudio
DistroRelease: LinuxMint 15
HibernationDevice: RESUME=UUID=3d08e960-32f0-4d5f-b0ec-08b794b71b5a
InstallationDate: Installed on 2013-07-29 (6 days ago)
InstallationMedia: Linux Mint 15 "Olivia" - Release amd64 (20130520)
MachineType: Hewlett-Packard HP ENVY dv6 Notebook PC
MarkForUpload: True
Package: linux 3.8.0.27.45 [origin: Ubuntu]
PackageArchitecture: amd64
ProcEnviron:
 TERM=xterm
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.8.0-27-generic root=UUID=7ab12979-e1b1-4799-9c1d-e640023a4c84 ro quiet splash acpi_backlight=vendor vt.handoff=7
ProcVersionSignature: Ubuntu 3.8.0-27.40-generic 3.8.13.4
RelatedPackageVersions:
 linux-restricted-modules-3.8.0-27-generic N/A
 linux-backports-modules-3.8.0-27-generic N/A
 linux-firmware 1.106
RfKill:
 0: phy0: Wireless LAN
  Soft blocked: no
  Hard blocked: no
Tags: olivia third-party-packages
Uname: Linux 3.8.0-27-generic x86_64
UnreportableReason: This is not an official LinuxMint package. Please remove any third party package and try again.
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
dmi.bios.date: 11/02/2012
dmi.bios.vendor: Insyde
dmi.bios.version: F.22
dmi.board.asset.tag: Type2 - Board Asset Tag
dmi.board.name: 181E
dmi.board.vendor: Hewlett-Packard
dmi.board.version: 52.24
dmi.chassis.asset.tag: Chassis Asset Tag
dmi.chassis.type: 10
dmi.chassis.vendor: Hewlett-Packard
dmi.chassis.version: Chassis Version
dmi.modalias: dmi:bvnInsyde:bvrF.22:bd11/02/2012:svnHewlett-Packard:pnHPENVYdv6NotebookPC:pvr088A110000305920000620100:rvnHewlett-Packard:rn181E:rvr52.24:cvnHewlett-Packard:ct10:cvrChassisVersion:
dmi.product.name: HP ENVY dv6 Notebook PC
dmi.product.version: 088A110000305920000620100
dmi.sys.vendor: Hewlett-Packard

tags: added: apport-collected olivia third-party-packages
Revision history for this message
Christopher Rooney (ctr-287) wrote : AlsaInfo.txt

apport information

Revision history for this message
Christopher Rooney (ctr-287) wrote : BootDmesg.txt

apport information

Revision history for this message
Christopher Rooney (ctr-287) wrote : CRDA.txt

apport information

Revision history for this message
Christopher Rooney (ctr-287) wrote : CurrentDmesg.txt

apport information

Revision history for this message
Christopher Rooney (ctr-287) wrote : Dependencies.txt

apport information

Revision history for this message
Christopher Rooney (ctr-287) wrote : IwConfig.txt

apport information

Revision history for this message
Christopher Rooney (ctr-287) wrote : Lspci.txt

apport information

Revision history for this message
Christopher Rooney (ctr-287) wrote : Lsusb.txt

apport information

Revision history for this message
Christopher Rooney (ctr-287) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
Christopher Rooney (ctr-287) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Christopher Rooney (ctr-287) wrote : ProcModules.txt

apport information

Revision history for this message
Christopher Rooney (ctr-287) wrote : PulseList.txt

apport information

Revision history for this message
Christopher Rooney (ctr-287) wrote : UdevDb.txt

apport information

Revision history for this message
Christopher Rooney (ctr-287) wrote : UdevLog.txt

apport information

Revision history for this message
Christopher Rooney (ctr-287) wrote : WifiSyslog.txt

apport information

Revision history for this message
casper (casper-e) wrote : Re: Ralink RT3290 needs bluetooth driver
Download full text (123.1 KiB)

  Hi,
  I have the same problem with raring, and this ralink RT3290. Wifi works, but not bluetooth. What can I do to help you ?

  My dmesg :
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 3.8.0-26-generic (buildd@panlong) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-1ubuntu1) ) #38-Ubuntu SMP Mon Jun 17 21:43:33 UTC 2013 (Ubuntu 3.8.0-26.38-generic 3.8.13.2)
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.8.0-26-generic root=UUID=c7d6be7f-601f-4f51-85f3-bd3714965325 ro quiet splash acpi_osi=Linux acpi_backlight=vendor vt.handoff=7
[ 0.000000] KERNEL supported cpus:
[ 0.000000] Intel GenuineIntel
[ 0.000000] AMD AuthenticAMD
[ 0.000000] Centaur CentaurHauls
[ 0.000000] e820: BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000006dfff] usable
[ 0.000000] BIOS-e820: [mem 0x000000000006e000-0x000000000006ffff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x0000000000070000-0x0000000000087fff] usable
[ 0.000000] BIOS-e820: [mem 0x0000000000088000-0x00000000000bffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000df2befff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000df2bf000-0x00000000dfabefff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000dfabf000-0x00000000dfbbefff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x00000000dfbbf000-0x00000000dfbfefff] ACPI data
[ 0.000000] BIOS-e820: [mem 0x00000000dfbff000-0x00000000dfbfffff] usable
[ 0.000000] BIOS-e820: [mem 0x00000000dfc00000-0x00000000dfffffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000f8000000-0x00000000fbffffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fec10000-0x00000000fec10fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fed80000-0x00000000fed80fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000ffc00000-0x00000000ffffffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000100000000-0x0000000106ffffff] usable
[ 0.000000] BIOS-e820: [mem 0x0000000107000000-0x000000011effffff] reserved
[ 0.000000] NX (Execute Disable) protection: active
[ 0.000000] efi: EFI v2.31 by INSYDE Corp.
[ 0.000000] efi: ACPI=0xdfbfe000 ACPI 2.0=0xdfbfe014 SMBIOS=0xdfabef98
[ 0.000000] efi: mem00: type=3, attr=0xf, range=[0x0000000000000000-0x0000000000001000) (0MB)
[ 0.000000] efi: mem01: type=7, attr=0xf, range=[0x0000000000001000-0x000000000000e000) (0MB)
[ 0.000000] efi: mem02: type=3, attr=0xf, range=[0x000000000000e000-0x0000000000010000) (0MB)
[ 0.000000] efi: mem03: type=7, attr=0xf, range=[0x0000000000010000-0x000000000002e000) (0MB)
[ 0.000000] efi: mem04: type=3, attr=0xf, range=[0x000000000002e000-0x000000000002f000) (0MB)
[ 0.000000] efi: mem05: type=4, attr=0xf, range=[0x000000000002f000-0x0000000000030000) (0MB)
[ 0.000000] efi: mem06: type=3, attr=0xf, range=[0x0000000000030000-0x000000000006e000) (0MB)
[ 0.000000] efi: mem07: type=10, attr=0xf, range=[0x000000000006e000-0x0000000000070000) (0MB)
[ 0.000000]...

Revision history for this message
Aleksander Kovač (adrkv97) wrote :

is there any bluetooth driver for rt3290? i have ubuntu 13.04 and wifi works fine, but bluetooth is simply dead.....

sry for my bad english

Revision history for this message
wmccarty (wdmlist) wrote :

I am also having the same issue.

Revision history for this message
Mahesh S Rao (mahesh-srao) wrote :

Having same issue on hp Pavilion 15-e016TX, Ubuntu 13.04
Kernel ve: 3.9.11-030911-generic

WiFi works fine.. No Bluetooth, Device driver status is unclaimed

downloaded rt3290
http://www.mediatek.com/_en/07_downloads/01-1_windowsDetail.php?sn=5033

http://askubuntu.com/questions/253632/how-do-i-get-a-ralink-rt3290-wireless-card-working
Unable to compile..

Revision history for this message
Josue Soto (josue-soto1) wrote :

Hi I had installed 12.04LTS 64 bit.
Drivers for WIFI works fine. However Bluetooth is not detected.
I had tried solution: Setting Up Wifi and Bluetooth on 12.04 LTS posted previously, but cannot compile in the latest kernel 3.8.

regards
Josue Soto

Revision history for this message
Graeme Pietersz (fgpietersz) wrote : AlsaInfo.txt

apport information

description: updated
Revision history for this message
Graeme Pietersz (fgpietersz) wrote : BootDmesg.txt

apport information

Revision history for this message
Graeme Pietersz (fgpietersz) wrote : CurrentDmesg.txt

apport information

Revision history for this message
Graeme Pietersz (fgpietersz) wrote : HookError_cloud_archive.txt

apport information

Revision history for this message
Graeme Pietersz (fgpietersz) wrote : IwConfig.txt

apport information

Revision history for this message
Graeme Pietersz (fgpietersz) wrote : Lspci.txt

apport information

Revision history for this message
Graeme Pietersz (fgpietersz) wrote : Lsusb.txt

apport information

Revision history for this message
Graeme Pietersz (fgpietersz) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
Graeme Pietersz (fgpietersz) wrote : ProcEnviron.txt

apport information

Revision history for this message
Graeme Pietersz (fgpietersz) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Graeme Pietersz (fgpietersz) wrote : ProcModules.txt

apport information

Revision history for this message
Graeme Pietersz (fgpietersz) wrote : PulseList.txt

apport information

Revision history for this message
Graeme Pietersz (fgpietersz) wrote : UdevDb.txt

apport information

Revision history for this message
Graeme Pietersz (fgpietersz) wrote : UdevLog.txt

apport information

Revision history for this message
Graeme Pietersz (fgpietersz) wrote : WifiSyslog.txt

apport information

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Saljack (saljacky) wrote : Re: Ralink RT3290 needs bluetooth driver

Hi found solution how to make bluetooth work. I use https://launchpad.net/~barracuda72/+archive/ralink and download package with source code https://launchpad.net/~barracuda72/+archive/ralink/+files/rtbth-dkms_3.9.3-0ubuntu1~ppa3.tar.gz and compile and install. After then my bluetooth adapter starts work. Tested on Ubuntu 13.10

casper (casper-e)
Changed in linux (Ubuntu):
assignee: nobody → casper (casper-e)
assignee: casper (casper-e) → nobody
Høst (helvete)
tags: added: trusty
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
tags: added: kernel-request-3.13.0-24.46
Høst (helvete)
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
ChemaRR (buzonchachi)
no longer affects: linux
penalvch (penalvch)
tags: removed: apport-collected bluetooth olivia ralink rt3290 third-party-packages
wmccarty (wdmlist)
tags: added: bot-stop-nagging
summary: - Ralink RT3290 needs bluetooth driver
+ Ralink RT3290 doesn't have a bluetooth driver
255 comments hidden view all 305 comments
Revision history for this message
In , es20490446e (es20490446e-linux-kernel-bugs) wrote :

As seen in <https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1189721>, there is no bluetooth support for Ralink RT3290.

Changed in linux:
importance: Undecided → Unknown
status: New → Unknown
Changed in linuxmint:
status: New → Confirmed
Changed in linux (Ubuntu):
status: Confirmed → Triaged
Revision history for this message
In , es20490446e (es20490446e-linux-kernel-bugs) wrote :
Revision history for this message
In , vpsink (vpsink-linux-kernel-bugs) wrote :

@Alberto
That driver just don't work in Ubuntu.
I patched the rt3290 bt driver according to this page:
http://wirama.web.id/rt3290-bluetooth-rtbth-driver-with-kernel-3-13/
And here's it:
http://www.mediafire.com/download/2t59ayhx9fxxfoh/rtbth-3.9.3-patched.7z
It's partially working on >3.13 kernels.
I'm able to compile it and install. However it's still bugged, I can't turn it off and on again (it will not power on again) and it can't pair with any device.

Changed in linux (Ubuntu):
status: Triaged → Confirmed
Changed in linux (Ubuntu):
status: Confirmed → Triaged
Jayakrishnan (jkv-nair)
Changed in linux (Ubuntu):
status: Triaged → Confirmed
status: Confirmed → New
status: New → Confirmed
AAK (aakb234)
Changed in linux (Ubuntu):
assignee: nobody → AAK (aakb234)
vishnunaini (visred)
Changed in linux (Ubuntu):
assignee: AAK (aakb234) → visred (visred-deactivatedaccount-deactivatedaccount)
status: Confirmed → Incomplete
Høst (helvete)
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Tomáš (halamek-tomas)
affects: linux (Ubuntu) → bluetooth
Changed in bluetooth:
assignee: visred (visred) → Tomáš (halamek-tomas)
Changed in ubuntu:
status: New → Confirmed
Revision history for this message
In , user501254 (user501254-linux-kernel-bugs) wrote :

Any updates? Is this ever gonna work?

Høst (helvete)
Changed in bluetooth:
assignee: Tomáš (halamek-tomas) → nobody
Revision history for this message
In , mikewortin (mikewortin-linux-kernel-bugs) wrote :

(In reply to Ashesh Kumar Singh from comment #3)
> Any updates? Is this ever gonna work?

No, it does not working in any vanilla kernel.
A workaround is installing rtbth as described here
https://bbs.archlinux.org/viewtopic.php?id=176121
After installing this driver I can pair and send files fro my android phone, but cannot connect to my bluetooth headphones.

33 comments hidden view all 305 comments
Revision history for this message
Blaze (blaze) wrote :

_v16 stores the output of LM_Find_Link_Table_Entry() which can be 0 when RtlCompareMemory() is non-zero (error) on the last iteration. See the link below.

http://paste.ubuntu.com/23880923/

Revision history for this message
Blaze (blaze) wrote :

Logic an physical link table structures from include/rt3298_iomap.h:

http://paste.ubuntu.com/23881034/

Revision history for this message
Jan Vodochalek (kukulo2011) wrote :

At the address 0x48615c I've got jump, so the memory at the address (_v16 + 220) & 255) equals 0, which is wrong. This way we never reach the _LMssp_Send_LMP_DH_Key_Check() routine.

I would need to trace this on Ubuntu 12.10 where is the pairing successful.

I could nop-out the jump at the address 0x48615c and reach the _LMssp_Send_LMP_DH_Key_Check(), but the comparison is done in the _LMssp_Send_LMP_DH_Key_Check(), so the patch of rtbt was so far without pairing.

Revision history for this message
Blaze (blaze) wrote :

Correction:
>on the last iteration
on every iteration
Or there's another way also but it doesn't really make sense. I'm being confused here.

Revision history for this message
Blaze (blaze) wrote :

So my basic theory is: LM_Find_Link_Table_Entry() is trying to read something (link table) from efuse data and when the data is malformed LMssp_LM_User_Confirmation_Request_Reply() fails. Now it's only left to find out why is the data malformed.

Revision history for this message
Blaze (blaze) wrote :

How about to try compiling the driver with an ancient gcc version (4.5.3)?

Revision history for this message
Jan Vodochalek (kukulo2011) wrote :

I traced the rtbt binary on 12.10. The result is:
Ubuntu 12.10:

48609b - jump taken
4860b3 -jump
4860cc - no jump
486102 - jump
48615c - jump

It means, that the _v16 value is zero on Ubuntu 12.10. So the function LM_Find_Link_Table_Entry() should return 0 value. For some reason the comparison in that routine is returning non zero value on 15.10.
The rest of the LMssp_LM_User_Confirmation_Request_Reply() routine on 12.10 clears the timer and writes du then quits.

Revision history for this message
Jan Vodochalek (kukulo2011) wrote :

I have got the same trace on Ubuntu 15.10. So LM_Find_Link_Table_Entry() returns a valid pointer value as it should. However I still haven't got pairing in 15.10.

Revision history for this message
Antonio (fagottino) wrote :

I had this problem on Hp ENVY 15-j040el and Ubuntu 16.04 and I solved the problem with this (Italian) guide
http://forum.ubuntu-it.org/viewtopic.php?f=9&t=617322&p=4961328#p4961328

Revision history for this message
Jan Vodochalek (kukulo2011) wrote :

Can you pair with BT V4 devices?

Revision history for this message
shihiro (asd616-0) wrote :

New Deb-File look here: https://launchpad.net/~blaze/+archive/ubuntu/rtbth-dkms

Use in terminal

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

and look in synaptic for package rtbth-dkms and install it

or load and install it here https://launchpad.net/~blaze/+archive/ubuntu/rtbth-dkms/+packages

On the first link there is the source link to GitHub https://github.com/loimu/rtbth-dkms

On README.md you can read:

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

i typed it in terminal and everything works.

24 comments hidden view all 305 comments
Revision history for this message
In , dmjpp (dmjpp-linux-kernel-bugs) wrote :

There exists a rtbth that works with latest kernels https://github.com/loimu/rtbth-dkms

Can that be integrated into the kernel?

23 comments hidden view all 305 comments
Revision history for this message
Høst (helvete) wrote :

According to https://bugzilla.kernel.org/show_bug.cgi?id=84521, there's a kernel module that seems to be working (https://github.com/loimu/rtbth-dkms). I can't test it by myself since I replaced the wireless combo with a Qualcomm-Atheros card.

It's (at least) compatible with most HP laptops and all-in-one desktops. I can understand that a lot of you aren't in the position of buying a new card, but if you're interested here's the datasheet:
https://wikidevi.com/files/Atheros/specsheets/AR9462.pdf

Revision history for this message
Blaze (blaze) wrote : Re: [Bug 1189721] Re: Ralink RT3290 doesn't have a bluetooth driver

Høst wrote:
> According to https://bugzilla.kernel.org/show_bug.cgi?id=84521, there's
> a kernel module that seems to be working (https://github.com/loimu
> /rtbth-dkms). I can't test it by myself since I replaced the wireless
> combo with a Qualcomm-Atheros card.
>
> It's (at least) compatible with most HP laptops and all-in-one desktops. I
> can understand that a lot of you aren't in the position of buying a new
> card, but if you're interested here's the datasheet:
> https://wikidevi.com/files/Atheros/specsheets/AR9462.pdf

Well, that's my Github profile. And I already asked a number of times to
test the driver against GCC 4.5 to see if the pairing works, but still no one
did.

Revision history for this message
Alex10336 (ap10336) wrote :

@Blaze: Can you update make/install instruction ?

clone & make seem to work. (gcc 5.4)

Revision history for this message
Blaze (blaze) wrote :

Alex10336 wrote:
> @Blaze: Can you update make/install instruction ?
>
> clone & make seem to work. (gcc 5.4)

GCC 4.5 is an oldish GCC version Ubuntu 12.04 had in times of the driver
release (see the doc provided by Ralink). But today you need to compile
and install it yourself. Computer savvy people required.

Ralink doc on the driver:
https://github.com/loimu/rtbth-dkms/blob/master/doc/Ubuntu
%20RT3290%20Bluetooth%20Host%20Driver%20User%20Guide.pdf

Revision history for this message
Alex10336 (ap10336) wrote :

Hello,

Step followed, one by one.
Still fail on pairing. saying no same paring code for a phone. Just fail for a mouse.

kernel 4.4.0 / ubuntu base 17.04

Revision history for this message
corrado venturini (corradoventu) wrote :

Still fail in Aardvark 17.10

Revision history for this message
slaykristian (christian-vanet) wrote :

No pairing even on my ubuntu 16.04 4-8..-rt
Sad, bluetooth is one function basic for me.

Revision history for this message
Ashesh (askmrsinh) wrote :

Four years since this was reported and still no proper Bluetooth support on this!

Revision history for this message
Carlos Renê (slipttees) wrote :

Here too. Lubuntu 18.04 LTS daily build 01/11/2018. HP Pavilion x360. Kernel 4.13.0-25.

Revision history for this message
brad (dragonsawareness) wrote :

https://forums.linuxmint.com/viewtopic.php?f=49&t=172945&sid=64abd72188d9ab7e90aa76da2a241d0f&start=20#p1278925

Can anyone confirm if this solution from the Linux mint forums works?

"Step-by-step solution Open new terminal (ctrl+alt+t) and type as follows:

mkdir ~/tmp
cd ~/tmp
git clone https://github.com/alinefr/rtbth.git
cd rtbth
make
sudo make install
sudo cp -r ~/rtbth /usr/src/rtbth-3.9.3
sudo dkms install rtbth/3.9.3
sudo nano /etc/modules
Add there "rtbth" at the end, then ctrl+o and ENTER (to save the file) and ctrl+x to close the editor
Reboot"

Revision history for this message
corrado venturini (corradoventu) wrote :

still same problem on Ubuntu Bionic 18.04
corrado@corrado-HP-p3-bb:~$ inxi -SCx
System: Host: corrado-HP-p3-bb Kernel: 4.15.0-10-generic x86_64 bits: 64 gcc: 7.3.0
           Desktop: Gnome 3.27.92 (Gtk 3.22.28-1ubuntu3)
           Distro: Ubuntu Bionic Beaver (development branch)
CPU: Dual core Intel Core i5-4210U (-MT-MCP-) arch: Haswell rev.1 cache: 3072 KB
           flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 9578
           clock speeds: max: 2700 MHz 1: 1304 MHz 2: 1448 MHz 3: 1210 MHz 4: 1484 MHz
corrado@corrado-HP-p3-bb:~$
09:00.1 Bluetooth: Ralink corp. RT3290 Bluetooth
 Subsystem: Hewlett-Packard Company Ralink RT3290LE 802.11bgn 1x1 Wi-Fi and Bluetooth 4.0 Combo Adapter
 Flags: bus master, fast devsel, latency 0
 Memory at b2500000 (32-bit, non-prefetchable) [size=64K]
 Capabilities: [40] Power Management version 3
 Capabilities: [50] MSI: Enable- Count=1/32 Maskable- 64bit+
 Capabilities: [70] Express Endpoint, MSI 00
 Capabilities: [100] Advanced Error Reporting
 Capabilities: [140] Device Serial Number 00-00-5e-03-82-b8-d1-ac

Revision history for this message
fjrial (fjrial-deactivatedaccount-deactivatedaccount) wrote :

#286

Just to confirm, the instructions from comment #286 still work in latest Ubuntu 17.10.1

There is a but, you have to modify source code from the cloned repository in order to compile it

You have to change

HCI_BREDR

with

HCI_PRIMARY

in rtbth_core_bluez.c.

After that, all compiles and works.

I'm using it with my bt headphones (SBH-20), **but the quality of the sound is awful**

Revision history for this message
fjrial (fjrial-deactivatedaccount-deactivatedaccount) wrote :

Just to be clear.. the quality of the sound is related to the driver, not to the bt headphones.. I mean, maybe it's an old driver that does not support A2DP

Revision history for this message
fjrial (fjrial-deactivatedaccount-deactivatedaccount) wrote :

Update:

After struggling with blueman software, I managed to get the A2DP profile sound to work.

Basically, dont connect the bt hardware with the Preferences->Bluetooth section. Just ignore it in this section.

Then, connect the device with blueman software. After you've configured it, select the A2DP profile

Revision history for this message
swadesh Parasher (swadesh) wrote :

Will there ever be a fix for this bug?
Have been waiting for a while.
I am using ubuntu 18.04 and it is a nuisance not being able to listen to music or use bluetooth devices.

Revision history for this message
eyes only (eyes-only) wrote :

#288
Update. Now on kernel 4.15, it seems that it cannot be compiled.

Revision history for this message
rigodon (rcolladof) wrote :

Here is the solution at least for ASUS X552L & Linux Mint 19.1
https://webwiks.com/techcorner/get-ralink-rt3290-wifi-work-linux-distribution/

Revision history for this message
Jan Vodochalek (kukulo2011) wrote :

There is a fix for the pairing on https://github.com/loimu/rtbth-dkms/pull/4

for the RTBTH_IOCDMAC: dmac.dmac_op=2

Blaze, can you take look at this pull request and let it test?

Revision history for this message
Jan Vodochalek (kukulo2011) wrote :

I also changed:

        case RTBTH_IOCDMAC:
            do {
                struct rtbth_dmac dmac;

                if (copy_from_user(&dmac, (void *)arg, sizeof(dmac))) {
                    retval = -EFAULT;
                    DebugPrint(ERROR, DBG_INIT,"copy_from_user failed at %d\n", __LINE__);
                    break;
                }
                DebugPrint(ERROR, DBG_INIT,"RTBTH_IOCDMAC: dmac.dmac_op=%d\n", dmac.dmac_op);

                if(dmac.dmac_op == 0){
                    RtbtResetPDMA(gpAd);
                }else if(dmac.dmac_op == 1){
                    BthEnableRxTx(gpAd);
                }else if(dmac.dmac_op == 2){
                    DebugPrint(TRACE, DBG_MISC, "%s:kfifo reset ==>\n", __func__);
                    kfifo_reset(gpAd->acl_fifo);
                    kfifo_reset(gpAd->hci_fifo);
                    kfifo_reset(gpAd->evt_fifo);
                    kfifo_reset(gpAd->sco_fifo);
                    kfifo_reset(gpAd->rx_fifo);
                    DebugPrint(TRACE, DBG_MISC, "%s:kfifo reset <== \n", __func__);
                }
                else {
                     DebugPrint(ERROR, DBG_INIT,"No such the dma op = %d\n", dmac.dmac_op);
                }
            }while(0);
break;

to:

        case RTBTH_IOCDMAC:
            do {
                struct rtbth_dmac dmac;

                if (copy_from_user(&dmac, (void *)arg, sizeof(dmac))) {
                    retval = -EFAULT;
                    DebugPrint(ERROR, DBG_INIT,"copy_from_user failed at %d\n", __LINE__);
                    break;
                }
                DebugPrint(ERROR, DBG_INIT,"RTBTH_IOCDMAC: dmac.dmac_op=%d\n", dmac.dmac_op);

                if(dmac.dmac_op == 2){
                    DebugPrint(TRACE, DBG_MISC, "%s:kfifo reset ==>\n", __func__);
                    kfifo_reset(gpAd->acl_fifo);
                    kfifo_reset(gpAd->hci_fifo);
                    kfifo_reset(gpAd->evt_fifo);
                    kfifo_reset(gpAd->sco_fifo);
                    kfifo_reset(gpAd->rx_fifo);
                    DebugPrint(TRACE, DBG_MISC, "%s:kfifo reset <== \n", __func__);
                }

                if(dmac.dmac_op == 0){
                    RtbtResetPDMA(gpAd);
                }
                if(dmac.dmac_op == 1){
                    BthEnableRxTx(gpAd);
                } else {
                     DebugPrint(ERROR, DBG_INIT,"No such the dma op = %d\n", dmac.dmac_op);
                }

            }while(0);
            break;

Now it is the pairing even more reliable. Paired 5 different devices including bluetooth audio device.

Somehow the execution was not reaching this part:

  if(dmac.dmac_op == 2){
                    DebugPrint(TRACE, DBG_MISC, "%s:kfifo reset ==>\n", __func__);
                    kfifo_reset(gpAd->acl_fifo);
                    kfifo_reset(gpAd->hci_fifo);
                    kfifo_reset(gpAd->evt_fifo);
                    kfifo_reset(gpAd->sco_fifo);
                    kfifo_reset(gpAd->rx_fifo);
                    DebugPrint(TRACE, DBG_MISC, "%s:kfifo reset <== \n", __func__);
                }

It is the interrupt causing it?

6 comments hidden view all 305 comments
Revision history for this message
In , oxr463 (oxr463-linux-kernel-bugs) wrote :

Any updates on this one?

Revision history for this message
In , es20490446e (es20490446e-linux-kernel-bugs) wrote :

That I'm still failing at dating.

Changed in linux:
importance: Unknown → Medium
status: Unknown → Confirmed
tags: added: focal xenial
removed: raring
affects: ubuntu → linux (Ubuntu)
Revision history for this message
In , aadeshsonawane307 (aadeshsonawane307-linux-kernel-bugs) wrote :

I can report that this bluetooth driver https://github.com/loimu/rtbth-dkms works well with 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.37-1 (2023-07-03).

It would be great if we could upstream that driver!

Revision history for this message
In , Blaze (blaze) wrote :

I will copy and paste here my answer from github discussion.

It is not possible (to upstream the driver). The driver itself is proprietary with the exception of the wrapper kernel module part. Technically you need a new driver either written from scratch or reverse-engineered in order to accomplish what you want, which appears to be unrealistic. The only possible shortcut is to convince Mediatek to open the driver, but I'm not sure if they even have the source at this day and age.

affects: bluetooth → ubuntu
no longer affects: ubuntu
Displaying first 40 and last 40 comments. View all 305 comments or add a comment.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.