I just succeeded in getting Bluetooth working on Nexus 7 with Plasma Active. In order to get Bluetooth running you need the latest kernel from the hardware adaptation repository and install the new “nexus7-fw-installer” package, which can also be found in the Nexus 7 hardware adaptation repository. In case you are using a permanently flashed kernel please make sure to also flash the new zImage.
After the “nexus7-fw-installer” package was installed you will need to run “nexus7-fw-install” as root. This will download the required proprietary firmware bits and will help you during the installation. Please note that you need to accept (and of course read beforehand) the displayed license in order to install the firmware. For more information follow the displayed instructions.
Also thanks to the Ubuntu guys who provided great information on how to get Bluetooth running on Nexus 7.
Edit: After the installation has finished you should reboot once to get everything working.
After updating kernel, restarting and starting the bluetooth service (systemctl start bluetooth.service), I get no bluedevil item in the status area. So how can I utilize it?
uname -a reports 3.1.10 from feb. 8.
You shouldn’t need to touch bluetooth.service.
The important service is brcm-patchram-bluetooth.service. This one essentially calls brcm-patchram-bluetooth.sh (also in /usr/sbin).
And yes, if everything works out, a bluetooth icon should appear along with the volume, usb, wlan, etc. icons in the “toolbar”/”statusbar”.
The kernel version by the way is no good indicator that the right kernel is being used as all kernels are 3.1.10, just with different “patch levels” or so. But the build date looks ok. It should be “Fri Feb 8 17:54:12” or later.
Forgot to mention that I of course installed the fw package, btw the “nexus7-fw-install” binary is /usr/sbin/nexus7-fw-install in case anyone wonders 😉
Another note – this also contained the gps stuff, so maybe there is hope of getting that to work as well 🙂
How can I run “nexus7-fw-install” ?
I’ve already installed the package, I’ve tried to run “nexus7-fw-install” but it reports “command not found”, I’m in /usr/sbin
Unless you have roots environment, /usr/sbin is not in your path, so try ./nexus7-fw-install, or /usr/sbin/nexus7-fw-install
Forgot to mention, that you of course have to be root. Su – will give you roots environment in addition to the uid 😉
Of course I was root…I’ve tried to run “nexus7-fw-install” from /usr/sbin but nothing, now I typed “/usr/sbin/nexus7-fw-install” and I successfully installed the firmware, thanks!
One more question, I have plasma in multirom…the post says ” In case you are using a permanently flashed kernel please make sure to also flash the new zImage.” is that my problem?
I think your problem was that you did not have root environment. If you do “su”, then you keep your user environment, while “su -” gets you roots environment.
I have plasma in multirom too, and did not flash the zImage, since I don’t know that I am running a permanently flashed kernel 😉
Well…now I see the BT icon, but when I try to connect to a BT keyboard (already paired) the list of “compatible services” is empty…
But at least I can pair 🙂
By the way, one thing I am currently struggling with is “actively” connecting to a device via the bluedevil GUI.
What works is, e.g., pairing with my N9 and then I can connect from my N9. However, I didn’t find a way yet to initiate the connection the other way around, i.e., from the Nexus 7.
Being able to connect from the Nexus 7 side is important when dealing with devices like handsets and the like. Naturally, one needs to establish/initiate the connection from the Nexus 7 in this case. However, I couldn’t find the according button or whatever yet.
There is a button for disconnecting. But nothing apparent for establishing the connection. Note: I am not talking about pairing, this works, I am talking about establishing an actual connection.
I was able to get it working, basically I rebooted, and then I got a bluetooth icon. I could also connect to my android phone (discover and connect), but I can not transfer files in either direction.
Ah, yes, I forgot to mention that you need to reboot at least once. Reason for this is that on installation the brcm-… service (which needs the firmware file) starts before the firmware is installed.
Nice to see you got it working. 🙂
Why can’t I use Linux 3.7 from kernel.org? Please mainline your Kernel patches!
In a nutshell, because we are dealing with embedded systems/systems on a chip (SoC) and things are not that easy in this area. We, by the way, have only one kernel patch right now: the one that enables g_multi support. Otherwise, we are simply using the Ubuntu kernel.
This project uses 3.1 kernel from google/asus. When they move to 3.7, this projects moves too 🙂
I got bluetooth icon after the reboot, I’ve also successfully paired my bluetooth keyboard but when I try to connect, the list of “avaiable serices” is empty and I can’t go on.