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

14 thoughts on “How to connect N900 to Internet through another phone having GPRS

  1. nice to know it helped smiley try executing “pppd call provider” or “pppd call”, pon is basically a script on debian systems. As you said its not there in the ppp package, but the time I wrote the article, I somehow had that command surprise

    Like

  2. I executed “pppd call provider ”   result — > can't open option file /etc/ppp/provider no such file or directory

     

    and executed “ppd call ” result — > it says that too few parameters for option call

     

    there are no folder called peers under /etc/pppd 

     

    why ?

    please is there a solution ?

    Like

  3. Hello!

    Thnx for this tut

    Bt I hv sm probs

    1- the file provider I can’t find it
    Tried to make it manually as what u said in one comment but I don’t know the exstention :s

    2- rfcomm command works perfectly but “rfcomm connect 0 &” is not working it says can find config entry for rfcomm0

    3- “pon” is not working as well

    Thnx again ur tut is very useful and u helped me I was searching for a tut like that from ages 🙂

    Like

  4. Thnx for the gr8 tut

    1- no file called provider

    2- “rfcomm connect 0 &” relpy that there ? no config

    3- pon is not working

    P.S: I have a softwear on my bb that makes the DUN it selfs I just want to connect to it I don’t want the provider thing can u help me with that? 🙂

    Thnx again

    Like

  5. Hi,

    Thanks for the good words, but sadly it seems the packages have changed, and they aren't what they used to be when I wrote this. Now even I can't find the provider file, and I didn't research much as I don't need it now. Hope you can Google and find something.

    Like

  6. I’m googling this from a month ago 😥

    Can’t find anything 😦

    When I found it its not running

    Am suffering

    I disabeled the WIFI from my house

    And I have 10GB’s on my BB torch

    I want to use then on n900 its useless without internet 😥

    Thnx any way man 🙂
    TC

    Like

  7. hi i hav an n900 but recently it started acting wierd the imei number got deleted and i've tried flashing the device with the old and new versions gazzillion times but it still gives me an error sayin that “the emergency call functions etc aren't working might hav to rebot the device”. pls help me

    Like

  8. Hi, This is a reported issue thats happening with lots of people, just try googling that error string and you'll find hundreds of results.

    While I think its a hardware failure and you'll have to goto a repair shop (better if nokia's authorized service), maybe you can try these-

    http://talk.maemo.org/showthread.php?t=36447

    http://talk.maemo.org/showthread.php?t=71780

    and see if they help.

    (P.S. sorry for the late reply, the email notifications were broken till yesterday frown )

    Like

  9. Looks like the ppp package no longer creates those directories automatically. Try doing this-

    1. Manually create /etc/ppp/peers/ directory.
    2. Copy /etc/ppp/peers/provider from a ubuntu/debian system. If you can't find it, here's how it is on my computer ( http://pastebin.com/Kygfk1ZQ )
    3. Modify the provider file as I have given in the main post.
    4. Now try pppd call provider.

    Good luck!

     

    Like

Leave a comment