eeePC Vodafone 3G access via Nokia E90 and Bluetooth

The whole point of me installing internal Bluetooth connectivity into my eeePC was so that I could connect to the Internet via my Nokia E90 when out and about. Unfortunately the built-in Network Manager doesn't seem to support a Bluetooth modem.

It's gonna be one of those command line jobs then...

First things first. I *think* the Bluetooth software is installed on the Xandros OS by default but I can't remember if I installed it separately or not. To check if you have it, enter the following command:
dpkg-query -l | grep bluez

It should return with something along the lines of:
ii bluez-utils 3.7.1 Bluetooth tools and daemons

If not, ensure you have a working internet connection and issue the following commands:

sudo su
apt-get install bluez-utils

If you have a USB Bluetooth adaptor, plug it in and enter the following commands to check that it works with the eeePC. If you haven't done it already, use the sudo su command to get root access before continuing:

hciconfig hci0 up
hcitool dev

... this should list the unique MAC address of your Bluetooth chipset. If nothing is listed, your Bluetooth device may not be compatible.

A couple of other useful commands...

hcitool scan [scans for discoverable devices in range]
hciconfig hci0 down [deactivates the Bluetooth hardware]

Assuming your adaptor works and your hci0 interface is up, place your mobile phone in discoverable mode and issue the following command to search for available Dial-Up Network services:

sdptool search DUN

You should get a response similar to the following:

Inquiring ...
Searching for DUN on 00:1A:89:BE:7D:A4 ...
Service Name: Dial-Up Networking
Service RecHandle: 0x10013
Service Class ID List:
"Dialup Networking" (0x1103)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 4
Language Base Attr List:
code_ISO639: 0x454e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Dialup Networking" (0x1103)
Version: 0x0100

The important items to note down are the MAC address of your phone (00:1A:89:BE:7D:A4 in my case), and the RFCOMM channel (4 for me). If you're in a busy location then you may get multiple responses to the search command so make sure you're looking at the response that is from your phone and not someone elses! As a hint, you can usually get the Bluetooth MAC address out of your phone by dialing *#2820# and look for the search response that goes with your MAC address.

Edit your hcid.conf file:
nano /etc/bluetooth/hcid.conf

hcid.conf should contain the following information:

options {
autoinit yes;
security auto;
pairing multi;
passkey “1234”;
device {
name “%h-%d”;
class 0x3e0100;
iscan enable; pscan enable;
lm accept;
lp rswitch,hold,sniff,park;

You can use a different passkey if you wish. This is the key that will be required when you come to pair your phone with the eeePC.

Next, edit the rfcomm file:
nano /etc/bluetooth/rfcomm.conf

This should contain the following information (although you will need to insert your phone-specific MAC address and RFCOMM channel where mine are listed):

rfcomm0 {
bind yes;
device 00:1A:89:BE:7D:A4;
channel 4;
comment “E90 Mobile Phone”;

Create a PPP connection configuration next. I'm going to call mine 'VF3G' as I will be connecting to the Vodafone UK 3G network.
nano /etc/ppp/peers/VF3G

This should contain the following configuration:

connect '/usr/sbin/chat -v -f /etc/ppp/peers/3g-chat'



maxfail 10
lcp-echo-interval 5
lcp-echo-failure 12
holdoff 3
noaccomp noccp nobsdcomp nodeflate nopcomp novj novjccomp

Create the 3g-chat config file referred to by the VF3G file created above:
nano /etc/ppp/peers/3g-chat

This should contain the following information:

'' \rAT
OK 'AT+cgdcont=1,”IP”,”internet”'
OK ATD*99#

Note that your own mobile ISP access point needs to be defined – mine is 'internet' for the UK Vodafone Contract service but other providers or tariffs will differ. The dial string (*99#) may also differ.

Start the dbus and bluetooth services:
/etc/init.d/dbus start
/etc/init.d/bluetooth start

Now use your phone to pair with your eeePC. You'll need the PIN code defined earlier in hcid.conf. I set my Nokia E90 to always accept connections from my eeePC without authentication.

With my phone paired and my eeePC configured, I can start a 3G connection at any time from the command line by issuing the following commands:

hciconfig hci0 up
/etc/init.d/dbus start
/etc/init.d/bluetooth start
pon VF3G

If you named your connection configuration file differently, then amend your 'pon' command accordingly.

To stop the connection, use this command:
poff VF3G

If you have problems establishing a dial up connection, try removing the 'pin' file from the Bluetooth directory. I recommend taking a backup of it first. I had to do this on Nigels eeePC when I was playing with it as when I issued the pon command, there was a brief burst of Bluetooth traffic before the connection failed without an error. To back up and delete the pin file, issue the following commands as superuser:

cp /etc/bluetooth/pin /etc/bluetooth/pin.bak
rm /etc/bluetooth/pin

Related articles on this site:
Project homepage
eeePC Disassembly guide
eeePC Bluetooth and USB mods (fitting internal Bluetooth and an extra USB port)
eeePC model 4G review
eeeDora OS WiFi fix
eeePC Tips and Tricks
Trust BT-2400p ultra small Bluetooth adaptor review