QUOTE
What you need
To using mobile internet over Bluetooth you need a few common things that is probably you have all ready. You just need a computer with Ubuntu (Linux distribution) operating system loaded. Then you have a Bluetooth enabled Mobile phone (Cellphone) which you want to use as a GPRS/EDGE/cdma 2000 1x/EVDO/HSDPA modem. You don't need a data cable because your data communication from your PC to Mobile phone will be wireless through Bluetooth. You should have a data plan from your Mobile operator for using internet. A unlimited data plan or some thing like is recommended. Because you may wish to using internet too much.
My Configuration
My Configuration was followings:
Ubuntu 8.04 (Hardy Heron) intel based 32 bit version
USB Bluetooth modem on my PC
Sagem x700 Cellphone
Unlimited EDGE connection
This should be portable across all Debian-based distributions and telecoms. But the configuration might vary from phone to phone (notably the channel number).
Make Your System Ready
Before starting the job you have to make your system ready. You may have to install some packages. By default those packages should be installed on your Ubuntu system. But make sure they all are installed.
Install the relevant packages
You need a Bluetooth device manager for gnome. There is a package named bluez-gnome. By default bluez-gnome is installed on your Ubuntu PC. You have to check that this package is all ready been installed. You can check it in Synaptic Package Manager. You will find this here:
System > Administration > Synaptic Package Manager
You have to also check for the package bluez-utils, bluez-pin, ppp. If those package are not installed then go to Terminal.
Application > Accessories > Terminal
Now install those with following command
sudo apt-get install bluez-gnome bluez-utils bluez-pin ppp
Permissions
Your user needs to be able to dial-out (if you are the first user on an ubuntu system, this is already done):
adduser your-username-here dialout
Log out and Log in again.
Connect to your phone
Now you have to turn on bluetooth on your phone and computer. If you've already tried connecting them before, delete any reference to your computer from your phone's list of Bluetooth devices. And delete any reference to your phone's ID from your Ubuntu PC. To do this go to here:
/var/lib/bluetooth/
Now delete all folders/files there. If you have problem with permission then do the following command on Terminal and try again.
sudo chmod -R oa+rw /var/lib/bluetooth
Now if the gnome bluetooth applet doesn't appear yet, run:
bluetooth-applet
It should make your computer discoverable by default.
Do a bluetooth scan on the phone, and add your computer as a paired device.
Enter the same pass code in both phone and computer. They should bond.
Now you can edit the properties of the computer on the phone's list of Bluetooth devices and tell it to always accept connections from the computer.
Now you need to find your phone's bluetooth mac address, make the phone discoverable, and run in Terminal
hcitool scan
Copy the MAC address (the text with the capital letters, numbers, and ':'s) somewhere convenient. You'll need it many times.
Now you'll need to find out what channel to connect to:
sdptool browse XX:XX:XX:XX:XX:XX <-- Insert your phone's MAC address here
Now probably you 'll see the followings reply.
Browsing 00:12:D2:FB:9B:AC ...
Service Name: Headset Audio Gateway
Service RecHandle: 0x4f491112
Service Class ID List:
"Headset Audio Gateway" (0x1112)
"Generic Audio" (0x1203)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 10
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
code_ISO639: 0x6672
encoding: 0x6a
base_offset: 0x110
code_ISO639: 0x6465
encoding: 0x6a
base_offset: 0x120
code_ISO639: 0x6a61
encoding: 0x6a
base_offset: 0x130
Profile Descriptor List:
"Headset" (0x1108)
Version: 0x0100
Service Name: Handsfree Audio Gateway
Service RecHandle: 0x4f49111f
Service Class ID List:
"Handfree Audio Gateway" (0x111f)
"Generic Audio" (0x1203)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 8
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
code_ISO639: 0x6672
encoding: 0x6a
base_offset: 0x110
code_ISO639: 0x6465
encoding: 0x6a
base_offset: 0x120
code_ISO639: 0x6a61
encoding: 0x6a
base_offset: 0x130
Profile Descriptor List:
"Handsfree" (0x111e)
Version: 0x0102
Service Name: A2DP Audio Source
Service RecHandle: 0x4f49110a
Service Class ID List:
"Audio Source" (0x110a)
Protocol Descriptor List:
"L2CAP" (0x0100)
PSM: 25
"AVDTP" (0x0019)
uint16: 0x100
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
code_ISO639: 0x6672
encoding: 0x6a
base_offset: 0x110
code_ISO639: 0x6465
encoding: 0x6a
base_offset: 0x120
code_ISO639: 0x6a61
encoding: 0x6a
base_offset: 0x130
Profile Descriptor List:
"Advanced Audio" (0x110d)
Version: 0x0100
Service Name: File Transfer
Service Description: OBEX File Transfer Protocol
Service RecHandle: 0x4f491106
Service Class ID List:
"OBEX File Transfer" (0x1106)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 12
"OBEX" (0x0008)
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
code_ISO639: 0x6672
encoding: 0x6a
base_offset: 0x110
code_ISO639: 0x6465
encoding: 0x6a
base_offset: 0x120
code_ISO639: 0x6a61
encoding: 0x6a
base_offset: 0x130
Profile Descriptor List:
"OBEX File Transfer" (0x1106)
Version: 0x0100
Service Name: OBEX Object Push
Service Description: Object Push
Service RecHandle: 0x4f491105
Service Class ID List:
"OBEX Object Push" (0x1105)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 4
"OBEX" (0x0008)
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
code_ISO639: 0x6672
encoding: 0x6a
base_offset: 0x110
code_ISO639: 0x6465
encoding: 0x6a
base_offset: 0x120
code_ISO639: 0x6a61
encoding: 0x6a
base_offset: 0x130
Profile Descriptor List:
"OBEX Object Push" (0x1105)
Version: 0x0100
Service Name: FAX
Service RecHandle: 0x4f491111
Service Class ID List:
"Fax" (0x1111)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 5
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
code_ISO639: 0x6672
encoding: 0x6a
base_offset: 0x110
code_ISO639: 0x6465
encoding: 0x6a
base_offset: 0x120
code_ISO639: 0x6a61
encoding: 0x6a
base_offset: 0x130
Profile Descriptor List:
"Fax" (0x1111)
Version: 0x0100
Service Name: Dial-up Networking
Service RecHandle: 0x4f491103
Service Class ID List:
"Dialup Networking" (0x1103)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 6 <-- Find this channel number
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
code_ISO639: 0x6672
encoding: 0x6a
base_offset: 0x110
code_ISO639: 0x6465
encoding: 0x6a
base_offset: 0x120
code_ISO639: 0x6a61
encoding: 0x6a
base_offset: 0x130
Profile Descriptor List:
"Dialup Networking" (0x1103)
Version: 0x0100
Service Name: SPP: Direct COM port
Service RecHandle: 0x4f491101
Service Class ID List:
"Serial Port" (0x1101)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 20
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
code_ISO639: 0x6672
encoding: 0x6a
base_offset: 0x110
code_ISO639: 0x6465
encoding: 0x6a
base_offset: 0x120
code_ISO639: 0x6a61
encoding: 0x6a
base_offset: 0x130
The number you want is the Channel number for Dial-up Networking. You find this under Service Name: Dial-up Network (Pointed in top).
Configure bluez
Now you are going to configure the bluez. Just type the following command in the terminal.
sudo gedit /etc/bluetooth/rfcomm.conf
Add the following text at the end:
rfcomm0 {
bind yes;
device XX:XX:XX:XX:XX:XX; <- Insert your phone's MAC address here
channel 4;
comment "P900 PPP connection";
}
restart blue-utils
/etc/init.d/bluez-utils restart
Configuring PPP
Now you have to configure ppp. Just run the following in terminal.
sudo gedit /etc/ppp/peers/BluetoothDialup
Now you see a blank text file. Then paste the following on the file
debug
noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/BluetoothDialup"
usepeerdns
/dev/rfcomm0 115200
defaultroute
crtscts
lcp-echo-failure 0
Save and close the BluetoothDialup file. Then run the following.
gksudo gedit /etc/chatscripts/BluetoothDialup
Now you see a blank text file. Then paste the following text on the text file, replacing your-apn-here with the APN from your data services profile and your-data-profile-number-here with the number you stored the profile into on the phone . If you don't know your apn (access point name) contact with your operator's help line.
TIMEOUT 35
ECHO ON
ABORT '\nBUSY\r'
ABORT '\nERROR\r'
ABORT '\nNO ANSWER\r'
ABORT '\nNO CARRIER\r'
ABORT '\nNO DIALTONE\r'
ABORT '\nRINGING\r\n\r\nRINGING\r'
'' \rAT
OK 'AT+CGDCONT=1,"IP","your-apn-here"'
OK ATD*99***your-data-profile-number-here#
CONNECT ""
The "AT+CGDCONT=1" command depends upon your operator. So get the right command from your operator's help service.
Connect To Internet
To connect to internet through your Mobile Phone's GPRS/EDGE/cdma 2000 1x/EVDO/HSDPA network with Bluetooth run the following dial up command in Terminal.
pon BluetoothDialup
Wait for about 30 - 60 seconds.You should able to connect to internet within this time.
Your Mobile Phone should display GPRS/EDGE/cdma 2000 1x/EVDO/HSDPA etc in the right place.
Test your connection through web browser with http://ubuntu-help.co.cc address.
To stop your internet connection. Command this:
poff BluetoohDialup
Debug
To see your connection progress.
tail -f /var/log/syslog
You can make your phone undiscoverable/hidden now. Enjoy.
To using mobile internet over Bluetooth you need a few common things that is probably you have all ready. You just need a computer with Ubuntu (Linux distribution) operating system loaded. Then you have a Bluetooth enabled Mobile phone (Cellphone) which you want to use as a GPRS/EDGE/cdma 2000 1x/EVDO/HSDPA modem. You don't need a data cable because your data communication from your PC to Mobile phone will be wireless through Bluetooth. You should have a data plan from your Mobile operator for using internet. A unlimited data plan or some thing like is recommended. Because you may wish to using internet too much.
My Configuration
My Configuration was followings:
Ubuntu 8.04 (Hardy Heron) intel based 32 bit version
USB Bluetooth modem on my PC
Sagem x700 Cellphone
Unlimited EDGE connection
This should be portable across all Debian-based distributions and telecoms. But the configuration might vary from phone to phone (notably the channel number).
Make Your System Ready
Before starting the job you have to make your system ready. You may have to install some packages. By default those packages should be installed on your Ubuntu system. But make sure they all are installed.
Install the relevant packages
You need a Bluetooth device manager for gnome. There is a package named bluez-gnome. By default bluez-gnome is installed on your Ubuntu PC. You have to check that this package is all ready been installed. You can check it in Synaptic Package Manager. You will find this here:
System > Administration > Synaptic Package Manager
You have to also check for the package bluez-utils, bluez-pin, ppp. If those package are not installed then go to Terminal.
Application > Accessories > Terminal
Now install those with following command
sudo apt-get install bluez-gnome bluez-utils bluez-pin ppp
Permissions
Your user needs to be able to dial-out (if you are the first user on an ubuntu system, this is already done):
adduser your-username-here dialout
Log out and Log in again.
Connect to your phone
Now you have to turn on bluetooth on your phone and computer. If you've already tried connecting them before, delete any reference to your computer from your phone's list of Bluetooth devices. And delete any reference to your phone's ID from your Ubuntu PC. To do this go to here:
/var/lib/bluetooth/
Now delete all folders/files there. If you have problem with permission then do the following command on Terminal and try again.
sudo chmod -R oa+rw /var/lib/bluetooth
Now if the gnome bluetooth applet doesn't appear yet, run:
bluetooth-applet
It should make your computer discoverable by default.
Do a bluetooth scan on the phone, and add your computer as a paired device.
Enter the same pass code in both phone and computer. They should bond.
Now you can edit the properties of the computer on the phone's list of Bluetooth devices and tell it to always accept connections from the computer.
Now you need to find your phone's bluetooth mac address, make the phone discoverable, and run in Terminal
hcitool scan
Copy the MAC address (the text with the capital letters, numbers, and ':'s) somewhere convenient. You'll need it many times.
Now you'll need to find out what channel to connect to:
sdptool browse XX:XX:XX:XX:XX:XX <-- Insert your phone's MAC address here
Now probably you 'll see the followings reply.
Browsing 00:12:D2:FB:9B:AC ...
Service Name: Headset Audio Gateway
Service RecHandle: 0x4f491112
Service Class ID List:
"Headset Audio Gateway" (0x1112)
"Generic Audio" (0x1203)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 10
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
code_ISO639: 0x6672
encoding: 0x6a
base_offset: 0x110
code_ISO639: 0x6465
encoding: 0x6a
base_offset: 0x120
code_ISO639: 0x6a61
encoding: 0x6a
base_offset: 0x130
Profile Descriptor List:
"Headset" (0x1108)
Version: 0x0100
Service Name: Handsfree Audio Gateway
Service RecHandle: 0x4f49111f
Service Class ID List:
"Handfree Audio Gateway" (0x111f)
"Generic Audio" (0x1203)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 8
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
code_ISO639: 0x6672
encoding: 0x6a
base_offset: 0x110
code_ISO639: 0x6465
encoding: 0x6a
base_offset: 0x120
code_ISO639: 0x6a61
encoding: 0x6a
base_offset: 0x130
Profile Descriptor List:
"Handsfree" (0x111e)
Version: 0x0102
Service Name: A2DP Audio Source
Service RecHandle: 0x4f49110a
Service Class ID List:
"Audio Source" (0x110a)
Protocol Descriptor List:
"L2CAP" (0x0100)
PSM: 25
"AVDTP" (0x0019)
uint16: 0x100
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
code_ISO639: 0x6672
encoding: 0x6a
base_offset: 0x110
code_ISO639: 0x6465
encoding: 0x6a
base_offset: 0x120
code_ISO639: 0x6a61
encoding: 0x6a
base_offset: 0x130
Profile Descriptor List:
"Advanced Audio" (0x110d)
Version: 0x0100
Service Name: File Transfer
Service Description: OBEX File Transfer Protocol
Service RecHandle: 0x4f491106
Service Class ID List:
"OBEX File Transfer" (0x1106)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 12
"OBEX" (0x0008)
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
code_ISO639: 0x6672
encoding: 0x6a
base_offset: 0x110
code_ISO639: 0x6465
encoding: 0x6a
base_offset: 0x120
code_ISO639: 0x6a61
encoding: 0x6a
base_offset: 0x130
Profile Descriptor List:
"OBEX File Transfer" (0x1106)
Version: 0x0100
Service Name: OBEX Object Push
Service Description: Object Push
Service RecHandle: 0x4f491105
Service Class ID List:
"OBEX Object Push" (0x1105)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 4
"OBEX" (0x0008)
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
code_ISO639: 0x6672
encoding: 0x6a
base_offset: 0x110
code_ISO639: 0x6465
encoding: 0x6a
base_offset: 0x120
code_ISO639: 0x6a61
encoding: 0x6a
base_offset: 0x130
Profile Descriptor List:
"OBEX Object Push" (0x1105)
Version: 0x0100
Service Name: FAX
Service RecHandle: 0x4f491111
Service Class ID List:
"Fax" (0x1111)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 5
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
code_ISO639: 0x6672
encoding: 0x6a
base_offset: 0x110
code_ISO639: 0x6465
encoding: 0x6a
base_offset: 0x120
code_ISO639: 0x6a61
encoding: 0x6a
base_offset: 0x130
Profile Descriptor List:
"Fax" (0x1111)
Version: 0x0100
Service Name: Dial-up Networking
Service RecHandle: 0x4f491103
Service Class ID List:
"Dialup Networking" (0x1103)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 6 <-- Find this channel number
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
code_ISO639: 0x6672
encoding: 0x6a
base_offset: 0x110
code_ISO639: 0x6465
encoding: 0x6a
base_offset: 0x120
code_ISO639: 0x6a61
encoding: 0x6a
base_offset: 0x130
Profile Descriptor List:
"Dialup Networking" (0x1103)
Version: 0x0100
Service Name: SPP: Direct COM port
Service RecHandle: 0x4f491101
Service Class ID List:
"Serial Port" (0x1101)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 20
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
code_ISO639: 0x6672
encoding: 0x6a
base_offset: 0x110
code_ISO639: 0x6465
encoding: 0x6a
base_offset: 0x120
code_ISO639: 0x6a61
encoding: 0x6a
base_offset: 0x130
The number you want is the Channel number for Dial-up Networking. You find this under Service Name: Dial-up Network (Pointed in top).
Configure bluez
Now you are going to configure the bluez. Just type the following command in the terminal.
sudo gedit /etc/bluetooth/rfcomm.conf
Add the following text at the end:
rfcomm0 {
bind yes;
device XX:XX:XX:XX:XX:XX; <- Insert your phone's MAC address here
channel 4;
comment "P900 PPP connection";
}
restart blue-utils
/etc/init.d/bluez-utils restart
Configuring PPP
Now you have to configure ppp. Just run the following in terminal.
sudo gedit /etc/ppp/peers/BluetoothDialup
Now you see a blank text file. Then paste the following on the file
debug
noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/BluetoothDialup"
usepeerdns
/dev/rfcomm0 115200
defaultroute
crtscts
lcp-echo-failure 0
Save and close the BluetoothDialup file. Then run the following.
gksudo gedit /etc/chatscripts/BluetoothDialup
Now you see a blank text file. Then paste the following text on the text file, replacing your-apn-here with the APN from your data services profile and your-data-profile-number-here with the number you stored the profile into on the phone . If you don't know your apn (access point name) contact with your operator's help line.
TIMEOUT 35
ECHO ON
ABORT '\nBUSY\r'
ABORT '\nERROR\r'
ABORT '\nNO ANSWER\r'
ABORT '\nNO CARRIER\r'
ABORT '\nNO DIALTONE\r'
ABORT '\nRINGING\r\n\r\nRINGING\r'
'' \rAT
OK 'AT+CGDCONT=1,"IP","your-apn-here"'
OK ATD*99***your-data-profile-number-here#
CONNECT ""
The "AT+CGDCONT=1" command depends upon your operator. So get the right command from your operator's help service.
Connect To Internet
To connect to internet through your Mobile Phone's GPRS/EDGE/cdma 2000 1x/EVDO/HSDPA network with Bluetooth run the following dial up command in Terminal.
pon BluetoothDialup
Wait for about 30 - 60 seconds.You should able to connect to internet within this time.
Your Mobile Phone should display GPRS/EDGE/cdma 2000 1x/EVDO/HSDPA etc in the right place.
Test your connection through web browser with http://ubuntu-help.co.cc address.
To stop your internet connection. Command this:
poff BluetoohDialup
Debug
To see your connection progress.
tail -f /var/log/syslog
You can make your phone undiscoverable/hidden now. Enjoy.


