In certain Toshiba laptops the bluetooth will only work using the toshset utitlity. In previous versions of ubuntu, this worked flawlessly. Expect it be be fixed soon in 8.10, but in the mean time it's worth having this here.
There are 2 issues to solve.
1) 8.10 kernels are compiled without the toshiba_acpi module, which is required by toshset.
2) Versions of toshiba_acpi in recent kernels do not work with toshset
The solution is to patch and compile the toshiba_acpi kernel module and manually install it. This is easier, and should be more compatable, than compiling the whole kernel.
I am far from an expert, so the steps below could probably be done better - please do add further info.
Here are the steps I took:
Install required packages
Copy and extract the kernel sources to a working directory (check your version number)
sudo apt-get install build-essential linux-source libncurses5-dev kernel-package
Download the patch from here that most closely matches your kernel version. the 2.6.26 patch works on kernel 2.6.27 currently used in ubuntu 8.10.
cp /usr/src/linux-source-2.6.27.tar.bz2 src
tar xvjf linux-source-2.6.27.tar.bz2
Apply the patch - the first command checks it will all work. Only continue if it gives no errors.
Create a makefile:
patch -p0 < toshiba_acpi-dev_toshiba_test5-linux_2.6.26.patch --dry-run
patch -p0 < toshiba_acpi-dev_toshiba_test5-linux_2.6.26.patch
Copy the following contents in, then exit with Ctrl+X, type 'y' to save, and take the default location:
Build the kernel module:
obj-m += toshiba_acpi.o
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
There should now be a whole lot of files in that folder. The important one is called toshiba_acpi.ko
To install the module by hand, you need to copy it to the correct directory and modify one file which tells the kernel what dependencies the module has.
Using the following command should add the required line to the end of the file, but for some reason even as sudo and having modified file and directory permissions, I got a permission denied error:
sudo cp toshiba_acpi.ko /lib/modules/`uname -r`/kernel/drivers/acpi/
cd /lib/modules/`uname -r`
It works with nano though:
echo "/lib/modules/`uname -r`/kernel/drivers/acpi/toshiba_acpi.ko:" >> modules.dep
Copy this output, then:
echo "/lib/modules/`uname -r`/kernel/drivers/acpi/toshiba_acpi.ko:"
press page-down to end of file, then paste in the copied output. Save and exit (Ctrl-X, 'y', Enter)
sudo nano modules.dep
That should be it done. You can then load the module using:
Bluetooth can be turned on and off using the commands:
sudo modprobe toshiba_acpi
Further info from toshset:
sudo toshset -bluetooth on
sudo toshset -bluetooth off
Further info can be found at the following pages:
As always, I'm a beginner in this game, but if this helps a few others until the official patch is released then it's worth it.