Thursday, May 10, 2012

Connecting Internet in Ubuntu using mobile as modem via bluetooth or datacable





When I installed Ubuntu 8.04 in my computer I found no way to connect internet using my mobile as modem via bluetooth. So I switched to XP and googled some forums and found the solution.
I think this might be much useful for new users.
To know how

Here the things i used.
1) Ubuntu 8.04
2)Airtel Mobile Office
3)Nokia 6600 also i checked with Nokia N72 and Moto L6i mostly all are working.

Here are the things you should do it may look like a long process but all can do it !
For users who are using bluetooth:
1: Switch on bluetooth on your phone and the computer. Make both your computer and phone visible to other devices.
2: Do a search from Ubuntu for bluetooth devices near you. For this, you need to do as follows:
application > accessories > terminal (it is like cmd in XP)
Give the command :
sudo hcitool scan
It will ask password you just enter it but no * or dot will appear in screen so give your password with out any mistake and press enter
After sometime you will get the list of devices with their device address (also called as MAC address) and the device name. . . It will look something like:
12:12:12:12:12:12 PhoneName
Number may vary from phone to phone after that MAC address your phone’s bluetooth name will appear
Note down the device address of your phone (it will appear the place of the 12:12:12:12:12:12 , but in a similar format). You will need to use it later.
3: Now, you need to find which channel on your phone is assigned to what service on the phone. For this you will need to browse the device services. To do this, pass the following command:
sudo sdptool browse 12:12:12:12:12:12
NOTE: Replace 12:12:12:12:12:12 with your phone address.
You will get something like this:
Code:
Browsing 00:18:13:47:13:BE .
Service Description: Sony Ericsson W810
Service RecHandle: 0×10000
Service Class ID List:
“PnP Information” (0×1200)
Service Name: OBEX SyncML Client
Service RecHandle: 0×10001
Service Class ID List:
UUID 128: 00000002-0000-1000-8000-0002ee000002
Protocol Descriptor List:
“L2CAP” (0×0100)
“RFCOMM” (0×0003)
Channel: 1
“OBEX” (0×0008)
Service Name: Dial-up Networking
Service RecHandle: 0×10002
Service Class ID List:
“Dialup Networking” (0×1103)
“Generic Networking” (0×1201)
Protocol Descriptor List:
“L2CAP” (0×0100)
“RFCOMM” (0×0003)
Channel: 2
Profile Descriptor List:
“Dialup Networking” (0×1103)
Version: 0×0100
Service Name: Serial Port
Service RecHandle: 0×10003
Service Class ID List:
“Serial Port” (0×1101)
Protocol Descriptor List:
“L2CAP” (0×0100)
“RFCOMM” (0×0003)
Channel: 3
Service Name: HF Voice Gateway
Service RecHandle: 0×10004
Service Class ID List:
“Handfree Audio Gateway” (0x111f)
“Generic Audio” (0×1203)
Protocol Descriptor List:
“L2CAP” (0×0100)
“RFCOMM” (0×0003)
Channel: 4
Profile Descriptor List:
“Handsfree” (0x111e)
Version: 0×0101
Service Name: HS Voice Gateway
Service RecHandle: 0×10005
Service Class ID List:
“Headset Audio Gateway” (0×1112)
“Generic Audio” (0×1203)
Protocol Descriptor List:
“L2CAP” (0×0100)
“RFCOMM” (0×0003)
Channel: 5
Profile Descriptor List:
“Headset” (0×1108)
Version: 0×0100
Service Name: OBEX Object Push
Service RecHandle: 0×10006
Service Class ID List:
“OBEX Object Push” (0×1105)
Protocol Descriptor List:
“L2CAP” (0×0100)
“RFCOMM” (0×0003)
Channel: 6
“OBEX” (0×0008)
Profile Descriptor List:
“OBEX Object Push” (0×1105)
Version: 0×0100
Service Name: OBEX File Transfer
Service RecHandle: 0×10007
Service Class ID List:
“OBEX File Transfer” (0×1106)
Protocol Descriptor List:
“L2CAP” (0×0100)
“RFCOMM” (0×0003)
Channel: 7
“OBEX” (0×0008)
Profile Descriptor List:
“OBEX File Transfer” (0×1106)
Version: 0×0100
Service Name: OBEX IrMC Sync Server
Service RecHandle: 0×10008
Service Class ID List:
“IrMC Sync” (0×1104)
Protocol Descriptor List:
“L2CAP” (0×0100)
“RFCOMM” (0×0003)
Channel: 8
“OBEX” (0×0008)
Profile Descriptor List:
“IrMC Sync” (0×1104)
Version: 0×0100
Service Name: NAP service
Service Description: NAP description
Service RecHandle: 0×10009
Service Class ID List:
“Network Access Point” (0×1116)
Protocol Descriptor List:
“L2CAP” (0×0100)
PSM: 15
“BNEP” (0x000f)
Version: 0×0100
SEQ8: 0 6
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0×100
Profile Descriptor List:
“Network Access Point” (0×1116)
Version: 0×0100
Service Name: Mouse & Keyboard
Service Description: Remote Control
Service Provider: Sony Ericsson
Service RecHandle: 0x1000a
Service Class ID List:
“Human Interface Device” (0×1124)
Protocol Descriptor List:
“L2CAP” (0×0100)
PSM: 17
“HIDP” (0×0011)
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0×100
Profile Descriptor List:
“Human Interface Device” (0×1124)
Version: 0×0100
4: We need to see which channel is assigned to the service “Dial Up networking”. Do not be worried by the long output. It is easy to find it.
In the above output (in the code box), search for the lines which say “Service Name” and find the one which says “Dial Up networking”. You can see that in the above output, the area below matches our requirements:
Quote:
Service Name: Dial-up Networking
Service RecHandle: 0×10002
Service Class ID List:
“Dialup Networking” (0×1103)
“Generic Networking” (0×1201)
Protocol Descriptor List:
“L2CAP” (0×0100)
“RFCOMM” (0×0003)
Channel: 2
Profile Descriptor List:
“Dialup Networking” (0×1103)
Version: 0×0100
In this entry, the channel number is given. We see that the channel is ’2′ (as shown by the line Channel : 2).
Note down the channel number. We will need in the next step.
5: Now you have all the required information for the work to be done. Now you need your computer to recognize the phone as the modem. for this, pass the following command:
Code:
sudo rfcomm bind 0 12:12:12:12:12:12 2
Remember to replace the address 12:12:12:12:12:12 with your device address and the number ’2′ at the end with the channel number you will get for YOUR phone.
Now skip to “Common to both using bluetooth and datacable” area below
For Datacable users:
1: Connect the data cable to the phone.
2: Some phones as for selection of modes e.g. nokia phones ask to select either the data mode or PC suite mode and Sony Phones ask to select either the ‘file transfer’ mode or ‘phone mode’. Select the one which you use on Windows to connect to internet (on nokia it is PC suite mode or Nokia mode and on Sony phones it is ‘phone mode’). Wait for 2-3 seconds to get the device detected by Ubuntu.
3: launch the terminal (application > accessories > terminal (it is like cmd in XP) ) and switch to root by passin
g the command: su . Enter the password and you will get the # prompt.
give the following command
cd /
4: go to the /dev directory by passing the command:
cd dev
5: Check for the ttyACM devices. issue the command :
ls ttyACM*.
It should show either ttyACM0 or ttyACM1 as output.
NOTE: If it does not show any output, then your phone is not detected !
6: Note the output which is mostly either ttyACM0 or ttyACM1.
Common to both using bluetooth and datacable:
So till now, you have made Ubuntu recognize the phone as a modem either via Bluetooth or via Data cable. Now you need to dial to connect to the internet.
For this you will have to copy the following as save it as /etc/wvdial.conf using the root account:
To do this give the following command:
sudo gedit /etc/wvdial.conf
if it asks for password give it.
A text editor will open with name wvdial.conf
copy the code below and save it:
[Modem0]
Modem = /dev/rfcomm0
Baud = 230400
SetVolume = 0
DialCommand = ATDT
FlowControl = Hardware(CRTSCTS)
[Modem1]
Modem = /dev/ttyACM0
Baud = 230400
SetVolume = 0
DialCommand = ATDT
FlowControl = Hardware(CRTSCTS)
[Dialer GPRS]
Username = 1
Password = 1
Phone = *99***1#
Mode = 1
Inherits = Modem0
[Dialer DATA]
Username =
Password =
Phone = *99***1#
Mode = 1
Inherits = Modem1
[Dialer Defaults]
Modem = /dev/rfcomm0
Baud = 230400
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,”IP”,”airtelgprs.com”
ISDN = 0
Modem Type = Analog Modem
Area Code =
Phone = *99***1#
Username =
Password =
Ask Password = 0
Dial Command = ATDT
Stupid Mode = 1
Compuserve = 0
Force Address =
Idle Seconds = 3600
DialMessage1 =
DialMessage2 =
ISDN = 0
Auto DNS = 1
Now when dialing via Bluetooth, give the following command:
sudo wvdial GPRS
When dialing via datacable give the following command:
sudo wvdial DATA
It will ask for the root password. Enter it and it should connect.
Main things:
1. Don’t close the terminal window if once connected. If you close, then net will be disconnected

2.Keep your browser in online mode to do this open Firefox

file> uncheck work offline
It is 100% working even I am posting this post using the internet connection which I made using the above method.
Any doubts please post your comments i will try to solve it.