DSL Tips and Tricks :: How to make an irda - mobile phone GPRS connection
This is part 4 of the DSL irda how-to. In order to proceed from here, you will need to have irda up and running on your DSL machine as described in part 1 - see post "How to start irda & check it works"
In order to connect to the modem in your mobile phone over an irda connection, you need to first make sure that the irda mode on the phone is set to "modem" and not "pc-connect" or similar. Apparently, although the irda link can be used for dial-up and file transfers, it needs to be told which to expect.
I have been unable to use microcom or wvdial to make a GPRS connection but managed to figure out how to do this using chatscripts.
First create and save the following two files:
# cat /opt/ppp/peers/gprs_irda
# This optionfile was generated by pppconfig 2.1.
#
# /opt/peers/gprs_irda
#
defaultroute
noauth
connect "/usr/sbin/chat -v -f /opt/ppp/chatscripts/gprs_irda_chat"
debug
/dev/ircomm0
115200
updetach
#ipcp-accept-local
#ipcp-accept-remote
usepeerdns
# EOF
# cat /opt/ppp/chatscripts/gprs_irda_chat
# This chatfile was generated by pppconfig 2.1.
# Please do not delete any of the comments. Pppconfig needs them.
#
# ispauth chat
# abortstring
ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT DELAYED
# modeminit
'' ATZ
#We add gprs specific stuff.
OK 'AT+CGDCONT=1,"IP","mnet"' [edit to suit your provider]
# ispnumber
OK-AT-OK "ATD*99***1#"
# ispconnect
CONNECT ''
# prelogin
# ispname
# isppassword
# postlogin
# end of pppconfig stuff
The connection can then be initiated by calling the gprs_irda file and terminated by poff:
# pppd call gprs_irda
Serial connection established.
using channel 1
Using interface ppp0
Connect: ppp0 <--> /dev/ircomm0
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xd85a37fc> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <pcomp> <accomp>]
sent [LCP ConfAck id=0x1 <asyncmap 0x0> <pcomp> <accomp>]
rcvd [LCP ConfRej id=0x1 <magic 0xd85a37fc>]
sent [LCP ConfReq id=0x2 <asyncmap 0x0> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x2 <asyncmap 0x0> <pcomp> <accomp>]
sent [LCP EchoReq id=0x0 magic=0x0]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <compress VJ 0f 01> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]
rcvd [LCP CodeRej id=0x3 09 00 00 08 00 00 00 00]
LCP: Rcvd Code-Reject for code 9, id 0
rcvd [LCP ProtRej id=0x4 80 fd 01 01 00 0f 1a 04 78 00 18 04 78 00 15 03 2f]
rcvd [IPCP ConfReq id=0x1 <addr 217.165.200.242>]
sent [IPCP ConfAck id=0x1 <addr 217.165.200.242>]
rcvd [IPCP ConfRej id=0x1 <compress VJ 0f 01>]
sent [IPCP ConfReq id=0x2 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfNak id=0x2 <addr 217.165.200.243> <ms-dns1 195.229.241.222> <ms-dns3 213.42.20.20>]
sent [IPCP ConfReq id=0x3 <addr 217.165.200.243> <ms-dns1 195.229.241.222> <ms-dns3 213.42.20.20>]
rcvd [IPCP ConfAck id=0x3 <addr 217.165.200.243> <ms-dns1 195.229.241.222> <ms-dns3 213.42.20.20>]
Cannot determine ethernet address for proxy ARP
local IP address 217.165.200.243
remote IP address 217.165.200.242
primary DNS address 195.229.241.222
secondary DNS address 213.42.20.20
# ping www.damnsmalllinux.org
PING www.damnsmalllinux.org (65.254.46.177): 56 data bytes
64 bytes from 65.254.46.177: icmp_seq=0 ttl=50 time=949.8 ms
64 bytes from 65.254.46.177: icmp_seq=1 ttl=50 time=1040.1 ms
<ctrl-c>
--- www.damnsmalllinux.org ping statistics ---
3 packets transmitted, 2 packets received, 33% packet loss
round-trip min/avg/max = 949.8/994.9/1040.1 ms
#
# poff
It took about 4 minutes to perform an "apt-get update" to the latest oldstable archive which seems pretty good to me.
Please feel free to suggest improvements to the chat scripts.
original here.