Here are configurations of both ppp and pppd for FreeBSD,
using Ericsson T39 cell phone (should work with any) over serial cable. pppd section is based on Mikko Rapeli instructions for Linux,
ppp section is based on papers from some meeting I visited. Both configurations works fine for me.
/etc/ppp/options
/dev/cuad0 # First serial port device 38400 # Serial port speed. Feel free to experiment here connect /etc/ppp/gprs-connect-chat # Connect script :10.0.0.2 # Accept IP assigned by provider noipdefault ipcp-accept-local local # Ignore carrier detect signal novj # Turn off header compression, novjccomp # essential in some GPRS networks disconnect /etc/ppp/gprs-disconnect-chat # Disconnect script defaultroute # Add default routing
/etc/ppp/gprs-connect-chat
exec chat
TIMEOUT 5 \
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' \
TIMEOUT 12 \
SAY "Press CTRL-C to close the connection at any stage!" \
SAY "\ndefining PDP context...\n" \
OK ATE1 \
OK 'AT+CGDCONT=1,"IP","internet","",0,0' \
OK AT+CGQREQ=1,0,0,0,0,0 \
OK AT+CGQMIN=1,0,0,0,0,0 \
OK ATD*99# \
TIMEOUT 22 \
SAY "\nwaiting for connect...\n" \
CONNECT "" \
SAY "\nConnected." \
SAY "\nIf the following ppp negotiations fail,\n" \
SAY "try restarting the phone.\n"
/etc/ppp/gprs-disconnect-chat
exec chat -V -s -S \ ABORT "BUSY" \ ABORT "ERROR" \ ABORT "NO DIALTONE" \ SAY "\nSending break to the modem\n" \ "" "\K" \ "" "+++ATH" \ SAY "\nPDP context detached\n"
/etc/ppp/ppp.conf
gprs:
ident user-ppp VERSION (built COMPILATIONDATE)
set device /dev/cuad0
set speed 38400
set dial "ABORT BUSY \"\" \
ATE1 OK AT+CGDCONT=1,\\\"IP\\\",\\\"internet\\\" OK \
AT+CGQREQ=1,0,0,0,0,0 OK AT+CGQMIN=1,0,0,0,0,0 OK ATDT*99# CONNECT"
set timeout 0
enable dns # if you're on local network and don't like ppp overwriting your
# resolv.conf every time you connect, comment this out
set ctsrts off
set authname eurotel # those can be usually chosen at will
set authkey gprs
set timeout 300
set ifaddr 0 0 255.255.255.0
add default HISADDR
Configuration which works with Bluetooth (rfcomm_pppd -a 00:0e:07:e5:d0:dd -c -C 1 -l rfcomm-client):
rfcomm-client:
# This is IMPORTANT option
enable force-scripts
# You might want to change these
set phone "*99***1#"
# You might want to adjust dial string as well
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
\"\" AT OK-AT-OK ATE1Q0 OK \\dATD\\T TIMEOUT 40 CONNECT"
set login
set timeout 6000
enable dns
resolv rewrite
set ifaddr 10.0.0.2/0 10.0.0.0/0 0 0
add default HISADDR
Last revision: 16 December 2006