All the information has been derived with the help of Tom’s attempts to get GPRS working and GPRS over bluetooth and god almighty patience and repeated tries.
PC: Dell Latitude D600 with built in IR and BT (broken)
Linux Configuration: FC1, 2.6.10
Cellphone: SonyEricsson T610, connectivity options Bluetooth and IR
Service Provider: T-Mobile
PC side BT device: Belkin FT8003 USB BT adapter, recognized by Linux (automatic
loading of hci_usb and bluetooth modules on insertion of device).
All the following steps are to be taken as root on Linux PC.
Install various bluez modules (bluez-utils, bluez-sdp) and plugin your
device. If drivers are not loaded directly (check lsmod for hci_usb and
bluetooth), try running /etc/init.d/bluetooth.
$hciconfig
# should see hci0 up and running
#create /dev/rfcomm0 if not already there (check /proc/devices for major
number)
$mknod /dev/rfcomm0 c 216 0
#discover channel for DUN on phone
$hcitool scan
#will get phone's BT addr here
$sdptool browse
#should get channel for DUN
#Attach ircomm
$ircomm release 0 #just to clean it up!
$ircomm show #check out for clean state
$ircomm bind 0
#Scripts for running pppd
Put the following script in /etc/ppp/peers/gprs. Put
chat-gprs-connect and chat-gprs-disconnect in /etc/ppp.
#Run pppd
$pppd call gprs
#type Ctrl-C to exit
This is my screen dump.
AT
OK
ATE1
OK
AT+cgdcont=3,"IP","internet2.voicestream.com"
OK
Serial connection established.
using channel 12
Using interface ppp0
Connect: ppp0 <--> /dev/rfcomm0
sent [LCP ConfReq id=0x1
]
rcvd [LCP ConfReq id=0x1 ]
sent [LCP ConfRej id=0x1 ]
rcvd [LCP ConfRej id=0x1 ]
sent [LCP ConfReq id=0x2 ]
rcvd [LCP ConfReq id=0x2 ]
sent [LCP ConfAck id=0x2 ]
rcvd [LCP ConfAck id=0x2 ]
sent [IPCP ConfReq id=0x1 ]
sent [CCP ConfReq id=0x1 ]
rcvd [LCP ProtRej id=0x4 80 fd 01 01 00 0c 1a 04 78 00 18 04 78 00]
rcvd [IPCP ConfReq id=0x1 ]
sent [IPCP ConfAck id=0x1 ]
rcvd [IPCP ConfNak id=0x1 ]
sent [IPCP ConfReq id=0x2 ]
rcvd [IPCP ConfAck id=0x2 ]
not replacing existing default route to eth1 [199.77.208.1]
local IP address 10.185.231.70
remote IP address 10.185.231.71
Script /etc/ppp/ip-up started (pid 22310)
Script /etc/ppp/ip-up finished (pid 22310), status = 0x0
[SNIP]
This was almost painless. After installing irda utils, /etc/init.d/irda start did almost all, except I needed to put the following line in the start section of this script to make it work with Ericsson’s supposedly buggy IR stack $echo 1 > /proc/sys/net/irda/max_tx_window Just replace /dev/ircomm0 instead of /dec/rfcomm0 in /etc/ppp/peers/gprs script. Run pppd as above. It should work.