How to enable Bluetooth on Arch with a RT3290 chip

1 minute read

The RT3290 chip provides both WLAN and Bluetooth connectivity, but while on Arch WLAN connectivity works out of the box by using the kernel modules for RT2x00 chips, getting Bluetooth connectivity to work is a little bit more complicated. In this post I will describe how I got my bluetooth headset to work on my laptop.

In the first place, as recommended in the Bluetooth page in the Arch wiki we need to install the recommended bluez and bluez-utils packages:

$ sudo pacman -S bluez bluez-utils

Once these are installed, we will need a driver module to provide the functionality. In the ArchLinux User Repository there are three packages which should be capable of providing it:

  • rt3290sta-dkms: I was completely unable to get this working. As soon as I built and installed the package, I even lost WLAN connectivity (it blacklists rt2800 and rt2x00 modules), and had to remove the package to be able to recover it, because I was unable to get it working.
  • rtbth-dkms: This package was removed in favor of the next one (see comments in AUR).
  • rtbth-dkms-git: This is the good one. It says it is version 3.9.4.4, but it actually pulls the last version on the repository. Be advised.

All the three options use dkms, so we should install it too, together with the headers for your kernel:

$ sudo pacman -S dkms linux-headers

Now we are ready to install the module. I personally like yaourt to install packages from AUR:

$ sudo yaourt -S dkms rtbth-dkms-git

Once it is built and installed, there are a couple more of things to do. The first thing is to enable the bluetooth service:

$ sudo sudo systemctl enable bluetooth.service

And the second one, to tell systemd to reload the module at boot, and thus avoiding the “reload problem” mentioned in the comments of the rtbth-dkms-git package. We can do this by adding a /etc/modules-load.d/rtbth.conf file, containing a single line:

/etc/modules-load.d/rtbth.conf
--------------------------------------------------------------
rtbth

After rebooting, everything should be working, and we should be able to interact with bluetooth devices using bluetoothctl. In my case I followed the instructions in the Bluetooth Headset Wiki page to get my headset working.

Leave a Comment