bluetooth logo

It has taken a long while for me to figure out how to get the bluetooth adapter in my Toshiba a200/a205 laptop to work with linux. I am currently running Linux Mint 8, which is a derivative of Ubuntu 9.10 Karmic. These instructions and tools apply specifically to Ubuntu and its derivatives, though they may work on other systems. However, I am not responsible for any problems that these instructions or tools create on your system - use them at your own risk!

Image credit goes to gadgetsteria.

That being said, I've found that there are two types of Toshiba laptops - those with Toshiba BIOS and those with Phoenix BIOS. It is easy to test which kind of BIOS you have, just open a terminal and type $ sudo modprobe toshiba_acpi If the response is something like FATAL: Error inserting toshiba_acpi (/lib/modules/xxxx/toshiba_acpi.ko): Operation not permitted then you have the Phoenix BIOS (like me). In that case, skip ahead to the Phoenix section. Also, I recommend installing the following packages for bluetooth support (if they aren't already installed): bluez and gnome-bluetooth. Also, lets first test if your bluetooth adapter is recognized $ sudo hcitool dev If this returns just "Dev:" and nothing else, then continue with the steps below. If it does show a device and its MAC address, then just run $ bluetooth-applet and you're done!

Toshiba BIOS

This is pretty easy to get working in Ubuntu. Since you already have done the modprobe command above and have not encountered an error, the toshiba_acpi kernel module should be loaded. Now all you have to do to enable bluetooth is $ sudo toshset -bluetooth on You can now run $ bluetooth-properties and confirm that your adapter is detected. If it is, you can start the bluetooth applet $ bluetooth-applet. To turn bluetooth off again, simply run $ sudo toshset -bluetooth off

Phoenix BIOS

We're going to use the omnibook kernel module to add support for the Phoenix BIOS.

The best way is to go through these steps yourself so you can learn from the experience. I prefer to use checkinstall (available via synaptic or apt-get) instead of "make install", so that is what is displayed in my steps below. However, you can just substitute the checkinstall command below with "make install" if you like.

First, lets clone the latest version of omnibook from git

$ git clone git://omnibook.git.sourceforge.net/gitroot/omnibook/omnibook
$ cd omnibook/

Now, lets compile and install the omnibook module

$ make
$ sudo checkinstall

We now need to load the module and see if we can now see the bluetooth adapter

$ sudo depmod -a
$ sudo modprobe omnibook ectype=14
$ hcitool dev # should reveal the device

If you get the same result as before with hcitool, then you'll need to try a different ectype until you find the right one for your hardware. Valid ectype values are 1-16. To do this, repeat the following commands, trying different ectypes

$ sudo make unload # alternatively try 
$ sudo modprobe -r omnibook
$ sudo modprobe omnibook ectype=14 && dmesg | grep omnibook && hcitool dev

Once you find the right ectype, your model will no longer show up as "unknown" and you should see the device. Moreover, the directory /proc/omnibook should contain a file called bluetooth. You can check the status of your bluetooth adapter by running

cat /proc/omnibook/bluetooth

Now its time to automate this process so the adapter is available when you boot. Substitute your ectype value in the following commands

sudo su
echo "omnibook" >> /etc/modules
echo "options omnibook ectype=14 userset=1 bluetooth=1" > /etc/modprobe.d/omnibook.conf
exit

Now, set the program bluetooth-applet to start with your window manager (for Gnome look at Startup Applications from the main menu). This should do it - now you have a working bluetooth adapter for your Toshiba laptop on Linux!

Thanks to this thread for the Phoenix information and this other thread for information on the Toshiba BIOS. If you're having problems, please post here or visit those threads for more information.