Saturday, June 6, 2009

Use Your Bluetooth Phone To Access The Internet

This is really cool! I could finally access the internet over a bluetooth personal area network (PAN) on my Ubuntu Hardy, here are the steps:
  1. Install the following packages: bluez-utils, bluetooth, bluez-gnome, bluez-hcidump
  2. you will need to enable the BlueTooth applet in GNOME. Do this by going to "System->Preferences->BlueTooth Preferences". Set the mode of operation on the "Devices" tab to "Other devices can connect". On the "General" tab, set the program to always show the BlueTooth systray applet (personal preference).
  3. Pair your phone and computer
  4. Open a terminal. On the command line, enter the following commands and taking note of the information where asked to.

    Code:
    sudo bash

    hcitool scan #(Make a note of the hardware address of your phone as listed).
    gedit /etc/default/bluetooth #You can use any other text editor of course
    Find the line which has something like:

    Code:
    PAND_ENABLED=0
    and change it to:

    Code:
    PAND_ENABLED=1
    Next, find the line which looks like:

    Code:
    PAND_OPTIONS=""
    and change that to:

    Code:
    PAND_OPTIONS="--listen --role=PANU --devup /etc/bluetooth/pan/dev-up --devdown /etc/bluetooth/pan/dev-down"
    Save the file.

  5. Now, create a directory called "/etc/bluetooth/pan". Use an editor to create a file called "/etc/bluetooth/pan/dev-up" and put the following lines into that file:
    Code:
    #!/bin/bash
    ifup bnep0
    Save that file.
  6. Now, use a text editor to create another file called "/etc/bluetooth/pan/dev-down" and put the following lines into it:

    Code:
    #!/bin/bash
    ifdown bnep0
    Save that file as well.
  7. Add a line to /etc/network/interfaces. Open that file with a text editor (as root) and add the following line to it near the end:

    Code:
    iface bnep0 inet dhcp
  8. Start up the Internet Sharing on your phone and connect from your PC. The Internet Sharing on your phone is going to be different depending on the phone, but on the Linux client, use the following command:

    Code:
    pand --connect  #The address you have got in the "hcitool scan" command
    ifup bnep0
  9. That's it. You should see the bnep0 interface come up and get a DHCP address from your phone. After you have the address, you can freely browse the Internet.

    To disconnect, simply run:

    Code:
    pand -K
    Remember, any time you want to connect or disconnect, you must run the "pand" commands as root. BTW, I'm now using my new HTC Touch 3G to post this :)))). Article Source (with some changes): http://ubuntuforums.org/showthread.php?t=598890

3 comments:

Mohammed Hewedy said...

Great post :)

BTW, Congratulations on your new HTC Touch 3G Mobile phone :)

MadTux said...

Why you want to use bluetooth to connect phone to internet when you have an HTC? I thought HTC phones have wifi built-in. In any case, I would like to know if the blackberry curve 8330 will do this and doesn't it require more than just setting up Linux?

Ahmad Amr said...

I use bluetooth to connect my laptop to the internet through my phone, i.e. the laptop is connected to the mobile phone through bluetooth and the mobile phone has 3G connection. There is a much easier way now, still not foolproof but it's much easier, the software is called blueman, it's a very nice bluetooth manager for Linux.