How to connect N900 to Internet through another phone having GPRS

This is the Nokia N900, the day you think that you've had enough of the features, you end up with finding that you're wrong.

Ok, so the scenario is that I have two phones, a Nokia 6630 and a Nokia N900 having Airtel 2G and BSNL 3G SIMs respectively.

Right now, my N900 is mainly put on tablet mode (offline mode + WiFi + Bluetooth) because I don't use the 3G Internet (too costly right now). My N900 connects to the Internet using an Ad-Hoc network I create using my laptop.

At times my laptop isn't on, and I want to access the Inernet from the N900 (say for installing a package). Until now, I used to put the 6630's Airtel SIM into the N900 to use GPRS and then put it back. This is a tedious process and there is a risk of the SIM pins getting damaged.

Today, I just got this idea - I use the 6630 to connect to the GPRS from my laptop when on the move, why not do the same thing with the N900! After all N900 = Small laptop.

Here's what I did and what you need to do if you want the same (Beware, for advanced users only, this can kill your cat). This is the general procedure you can follow to connect a computer to GPRS Internet using a Bluetooth enabled mobile phone -

Install the packages ppp, power kernel, and rootsh from extras-devel. Now we can run the following commands-

  • hcitool
  • rfcomm
  • pon

Open a terminal and gain root -

user@Nokia-N900~ $ sudo gainroot

Next, turn on Bluetooth on both the phones and execute this on the N900 -

/home/user # hcitool scan

This will scan for bluetooth devices and the output -

Scanning ...
        00:11:9F:D7:62:FA       Nokia 6630

The first column is the Bluetooth address of the phone, note it down.

Next, we have to find the channel for DUN -

/home/user # sdptool browse 00:11:9F:D7:62:FA

This gives a large output, locate the entry for "Dial Up Networking" -

Service Name: Dial-Up Networking
Service RecHandle: 0x1003e
Service Class ID List:
  "Dialup Networking" (0x1103)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 3
Language Base Attr List:
  code_ISO639: 0x454e
  encoding:    0x6a
  base_offset: 0x100
Profile Descriptor List:
  "Dialup Networking" (0x1103)
    Version: 0x0100

Note down the channel number (in my case, 3).

Next, we have to configure rfcomm to connect to our phone, to do this (vi can be used in place of nano) -

/home/user # nano /etc/bluetooth/rfcomm.conf

Modify the file to look like this (obviously, put your phone's address and channel) -

rfcomm0 {
        device 00:11:9F:D7:62:FA;
        channel 3;
        comment "Example Bluetooth device";
}

The last step, we need to configure pppd to connect to this Bluetooth modem -

/home/user # nano /etc/ppp/peers/provider

In this file, change the following lines to what is shown -

user " "

connect "/usr/sbin/chat -v -f /etc/chatscripts/pap -T *99#"

# Serial device to which the modem is connected.
/dev/rfcomm0

All is set, lets connect! -

/home/user # rfcomm connect 0 &

Connected /dev/rfcomm0 to 00:11:9F:D7:62:FA on channel 3
Press CTRL-C for hangup

/home/user # pon

If everything went fine, your other phone should connect to the Internet and N900 will use that smiley

Page Type: