Perhaps somebody else will find this useful. The relevant part of my /etc/conf.d/net:
(assuming Bluetooth works)
### GPRS ### config_ppp0=( "ppp" ) link_ppp0="/dev/rfcomm0" pppd_ppp0=( "noauth" # Do not require the peer to authenticate itself "nomagic" "debug" "local" # Ignore carrier detect signal from the modem "defaultroute" # Make this PPP interface the default route "usepeerdns" # Use the DNS settings provided by PPP "lcp-echo-interval 15" # Send a LCP echo every 15 seconds "lcp-echo-failure 3" # Make peer dead after 3 consective # echo-requests "lock" # Lock serial port "115200" # Set the serial port baud rate "crtscts" # Enable hardware flow control ) chat_ppp0=( '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' 'ATH' 'OK' 'ATE1' 'OK' 'AT+CGDCONT=1,"IP","cmnet"' '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' )