Results 1 to 10 of 110

Thread: HOWTO: Toshiba Laptop (with Phoenix BIOS) and built-in Bluetooth support

Threaded View

  1. #1
    Join Date
    Oct 2005
    Location
    United Kingdom
    Beans
    138
    Distro
    Kubuntu 13.04 Raring Ringtail

    HOWTO: Toshiba Laptop (with Phoenix BIOS) and built-in Bluetooth support

    Note: The project website at http://omnibook.sourceforge.net seems to no longer be available. While it appears to no longer be maintained, the source code is still available from http://sourceforge.net/projects/omnibook. As it may no longer be maintained, it is probably a good idea to find an alternative to this module. Unfortunately, I have not had the time (or need as yet) to search for a usable alternative.

    HOWTO: Toshiba Laptop (with Phoenix BIOS) and built-in Bluetooth

    I hope somebody will find this useful. I have seen a few people with problems using bluetooth on the Phoenix BIOS models of Toshiba laptops, in this forum and elsewhere on the internet (while searching for answers to this problem).

    This is a subject that is sorely lacking all over the place. There are wonderful utilities (or seemingly so, as I cannot use them) for Toshiba models that do not have a Phoenix BIOS, but rather a Toshiba BIOS, such as the “toshset” utility.

    Toshiba models that use a Phoenix BIOS cannot use the toshset utility. This is a problem when you wish to use bluetooth. I came across a utility originally for the HP Omnibook, with support for various Toshiba (notably those with a Phoenix BIOS) and Acer models.

    The omnibook module is written by Mathieu Bérard, and all credit goes to him.

    I have a Toshiba Satellite Pro M70-235 (available in Europe, Africa, and I guess the Middle East – as those regions tend to be grouped as EMEA – but I am unsure about the US), with the following specs:
    Pentium M 1.86GHz
    512 MB RAM (Upgraded to 1GB)
    60GB HDD
    DVD Writer
    ATI X700
    WiFi
    Bluetooth

    In short, its a powerful machine, but has everything required for mobility and ease of use etc (such as I will require bluetooth for using my phone as a GPRS modem when I am away from home this Christmas).

    I was very worried today that I might have to reinstall Windows after wiping it off (again) so that I would be able to use Bluetooth.

    The problem is this: The Toshiba bluetooth radio is disabled at boot, and it can only be enabled with a particular ACPI call. In Windows, you hit the Enable Bluetooth Radio button, and on you go. In GNU/Linux, you ... spend hours on the Internet and give up. Or maybe you find the omnibook sourceforge project (who would look there for a Toshiba problem?), which allows (through the /proc filesystem) control of things like the WiFi and Bluetooth radios. At least, that is all I have used it for. presumably, you can also use it to set up the multimedia buttons and whatnot, which I may have a bash at soon, but bluetooth was the big thing for me.

    The omnibook project can be found at http://omnibook.sourceforge.net
    Only source code is available, and you HAVE TO (!!!!!) use the svn trunk. At the time of writing this, the latest source package available on sourceforge did not work for me!

    Before you download the required packages, and build, install and attempt to use the omnibook kernel module, head over to the supported laptops list and see if your machine (or a similar machine, if you feel daring) is listed. Note the number next to the name of the machine (in my case, the Toshiba Satellite M70 has a value of 12 for the ectype field). You may need this value if your machine is not directly supported (as mine was not – i.e. the module did not detect what options it should load as I have a Satellite Pro, different from the Satellite listed there).

    Packages that you will need in order to download and build the omnibook kernel module:

    Code:
    subversion
    build-essential
    linux-source
    note that linux source is fairly large (in the region of 40 MB). I am not certain if this is required, but it is listed clearly as a dependency in the original install instructions.

    You should probably also install the linux-headers package relating to your kernel, for instance linux-headers-generic

    So, simply issue this command to install them:

    Code:
    $ sudo apt-get install subversion build-essential linux-source linux-headers-generic
    make a folder in your home directory called “omnibook”, and use svn (subversion) to download the latest omnibook module sources:

    Code:
    $ cd ~
    $ mkdir omnibook
    $ cd omnibook
    $ svn co https://omnibook.svn.sourceforge.net/svnroot/omnibook/omnibook/trunk
    you will get notification of each file downloaded, and when it is done, you need to cd into the trunk folder:

    Code:
    $ cd trunk
    now, you need to build and install the module:
    Code:
    $ make
    $ sudo make install
    load the module by performing the following command (which will run depmod and modprobe for you):

    Code:
    $ sudo make load
    now, cd to /proc/omnibook/ (which should now exist)

    Code:
    $ cd /proc/omnibook
    $ ls
    There should be, at the very least, two files listed there:
    dmi
    version

    If these are the only two files listed, then your machine is not supported directly. I will get to working around that in a second. If you have other files listed there, like wifi, bluetooth, lcd, temparature, touchpad, or others, then your machine is supported and you can enable bluetooth by using the following command:

    Code:
    $ sudo su
    # echo 1 > bluetooth
    (I do the “sudo su” to get a root console because a normal “sudo echo 1 > bluetooth” does not work. More on this later, and how to fix it)

    To disable:
    Code:
    $ sudo su
    # echo 0 > bluetooth
    The same can be done for wifi.
    You can also get information about each item by doing this:

    Code:
    $ sudo cat bluetooth
    To stop having to use a root console to set the paramaters, load the module with this option: “userset=1”

    so, instead of running “make load” as we did earlier, do this:

    Code:
    $ sudo depmod -a
    $ sudo modprobe omnibook userset=1
    now a normal user will be able to enable/disable bluetooth, or edit any other omnibook paramater:

    Code:
    $ echo 1 > bluetooth
    Once bluetooth is enabled using this method, you will be able to use it as normal. Issue a "hcitool dev" command in the console and you should get this:

    Code:
    $ hcitool dev
    Devices:
            hci0    xx:xx:xx:xx:xx:xx
    $
    Code:
    xx:xx:xx:xx:xx:xx
    is your bluetooth HW address

    where before you had this:

    Code:
    $ hcitool dev
    Device:
    $
    If you do not have the settings files (such as bluetooth and wifi), but only have the dmi and version files, all is not lost if you feel like taking a risk. If your computer is similar to one of the models listed as supported, I think this is a small risk, but if it is completely different.. well, here is the warning from the website:

    WARNING: Forced load on an unsupported machine may cause unpredictable result. You have been warned...
    I take no responsibility for damaged caused by loading the module on an unsupported machine.

    Here is where you need the “ectype” from the supported laptop list described above (the number in the column next to the laptop model – 12 in my case)

    when you load the module, you will need to specify the ectype as a module option:

    Code:
    $ sudo depmod -a
    $ sudo modprobe omnibook ectype=12
    You should now have a list of files something like this in /proc/omnibook
    blank
    bluetooth
    display
    dmi
    hotkeys
    lcd
    temperature
    touchpad
    version
    wifi

    You can make the module start on boot:

    make a file called omnibook.modprobe in /etc/modprobe.d/ and place the module options in it:

    Code:
    options omnibook ectype=12 userset=1
    append “omnibook” to /etc/modules to load it at boot:

    Code:
    $ sudo su
    # echo “omnibook” > /etc/modules
    You can also run this command to get a list of module options:

    Code:
    $ modinfo omnibook
    then you can disable support for various elements completely. For instance, using bluetooth=0 as a module option will prevent the bluetooth file from showing up in /proc/omnibook and thus prevent you from modifying it.

    see http://omnibook.sourceforge.net for full documentation to discover what else you can do with this utility.

    EDIT: See post #3 below for my issues with omnibook.
    EDIT (13-12-2007): Update the URL to the SVN repository (It changed, and the one on the website is also incorrect....).
    Last edited by Azriphale; October 29th, 2008 at 10:01 AM.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •