Heres some tips on how i got my Nokia n93i to allow me to borrow it's GPRS internet connection via Three Australia.
Using my debian/lenny linux laptop on 2.6.24
1. Setup your rfcomm bluetooth interface
This is my /etc/bluetooth/rfcomm.conf file (also attached)
Replace your device mac address with which ever is the device address of your mobile phone..
# hcitool scan
Scanning ...
00:xx:xx:xx:xx:xx dgtlmoon
So in your rfcomm.conf put this..
rfcomm0 {
# Automatically bind the device at startup
bind yes;
# Bluetooth address of the device
device 00:xx:xx:xx:xx:xx;
# RFCOMM channel for the connection
channel 1;
# Description of the connection
comment "PPPD connect";
}
Create the PPPD scripts
in /etc/ppp/peers/bluetoothconf
debug
noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/bluetoothconn"
usepeerdns
/dev/rfcomm0 115200
defaultroute
crtscts
lcp-echo-failure 0
and your /etc/chatscripts/bluetoothconn should look like this..
TIMEOUT 35
ECHO ON
ABORT 'nBUSYr'
ABORT 'nERRORr'
ABORT 'nNO ANSWERr'
ABORT 'nNO CARRIERr'
ABORT 'nNO DIALTONEr'
ABORT 'nRINGINGrnrnRINGINGr'
'' rAT
OK 'AT+CGDCONT=,,"3netaccess";'
OK ATD*99***1#
} ""
the 3netaccess is some kind of packet-interface filter name, you can find this out by going to Tools -> Settings -> Connection -> Access Points -> Mobile Internet and putting in what is set for "Access point name"
Launching the connection
Once this is complete, it should be as easy as running
pon bluetoothconn
You should see in /var/log/messages
Jul 24 11:16:53 nine pppd[13645]: pppd 2.4.4 started by root, uid 0
Jul 24 11:16:57 nine chat[13662]: timeout set to 35 seconds
Jul 24 11:16:57 nine chat[13662]: abort on (nBUSYr)
Jul 24 11:16:57 nine chat[13662]: abort on (nERRORr)
Jul 24 11:16:57 nine chat[13662]: abort on (nNO ANSWERr)
Jul 24 11:16:57 nine chat[13662]: abort on (nNO CARRIERr)
Jul 24 11:16:57 nine chat[13662]: abort on (nNO DIALTONEr)
Jul 24 11:16:57 nine chat[13662]: abort on (nRINGINGrnrnRINGINGr)
Jul 24 11:16:57 nine chat[13662]: send (rAT^M)
Jul 24 11:16:57 nine chat[13662]: expect (OK)
Jul 24 11:16:57 nine chat[13662]: rAT^M^M
Jul 24 11:16:57 nine chat[13662]: OK
Jul 24 11:16:57 nine chat[13662]: -- got it
Jul 24 11:16:57 nine chat[13662]: send (AT+CGDCONT=,,"3netaccess";^M)
Jul 24 11:16:58 nine chat[13662]: expect (OK)
Jul 24 11:16:58 nine chat[13662]: ^M
Jul 24 11:16:58 nine chat[13662]: AT+CGDCONT=,,"3netaccess";^M^M
Jul 24 11:16:58 nine chat[13662]: OK
Jul 24 11:16:58 nine chat[13662]: -- got it
Jul 24 11:16:58 nine chat[13662]: send (ATD*99***1#^M)
Jul 24 11:16:58 nine chat[13662]: expect (})
Jul 24 11:16:58 nine chat[13662]: ^M
Jul 24 11:16:59 nine chat[13662]: ATD*99***1#^M^M
Jul 24 11:16:59 nine chat[13662]: CONNECT^M
Jul 24 11:16:59 nine chat[13662]: ~^?}
Jul 24 11:16:59 nine chat[13662]: -- got it
Jul 24 11:16:59 nine chat[13662]: send (^M)
Jul 24 11:16:59 nine pppd[13645]: Serial connection established.
Jul 24 11:16:59 nine pppd[13645]: Using interface ppp0
Jul 24 11:16:59 nine pppd[13645]: Connect: ppp0 <--> /dev/rfcomm0
Jul 24 11:17:00 nine pppd[13645]: PAP authentication succeeded
Jul 24 11:17:00 nine pppd[13645]: local IP address 117.102.131.229
Jul 24 11:17:00 nine pppd[13645]: remote IP address 10.6.6.6
Jul 24 11:17:00 nine pppd[13645]: primary DNS address 202.124.81.2
Jul 24 11:17:00 nine pppd[13645]: secondary DNS address 202.124.81.3
Should be as easy as that, now just because of your telcos dodgey pricing schemes for mobile internet usage!