Bluetooth/GPRS

Technical:

Running a dial-up over bluetooth to a S700i.

Most of this is cargo-culted from the pages listed on http://www.holtmann.org/linux/kernel/ (page no longer available) - with most of it coming from here.

Installed bluez-hcidump, bluez-pin and bluez-utils.

Used hcidump and sdptool to scan for the device - got the device's id.

bluez-pin worked for me - so I kept that.

Config files.

/etc/bluetooth/hcid.conf - unchanged

/etc/bluetooth/rfcomm.conf

rfcomm0 {
bind yes;
device device_id;
channel 1;
comment "S700i GPRS";
}

/etc/ppp/peers/gprs

/dev/rfcomm0 57600
connect '/usr/sbin/chat -v -f /etc/chatscripts/gprs'
noauth
defaultroute
replacedefaultroute
debug

NB - debug can probably be removed - replacedefaultroute too - that was used for testing whilst still online via normal net connection.

/etc/chatscripts/gprs

TIMEOUT 120
ABORT 'BUSY'
ABORT 'ERROR'
ABORT 'NO CARRIER'
'' 'ATE1'
OK AT+CGDCONT=1,"IP","internet"
OK ATD*99***1#

or OK ATD*99

CONNECT \d\c

To connect

sudo rfcomm bind rfcomm0
sudo pppd call gprs

This brings up ppp0 and sets the default route so that communication goes over this.

To disconnect - wish I knew how to do this properly - at present
1) Kill the pppd process
2) sudo rfcomm release rfcomm0
3) Reset the defaultroute (with a /etc/init.d/networking restart) - this is only necessary when testing (see comment above about replacedefaultroute).

ifdown ppp0 doesn't work (complains about not being configured) - pppd disconnect needs a script I don't have.