Membuat Nokia E51 sebagai modem lewat usb ternyata sedikit rumit. Baca disini untuk referensinya kemudian download script gprs, gprs-connect-chat, dan gprs-disconnect-chat. Sebagai catatan saya menggunakan paket internet Telkomsel Flash Volume Based.

Buka script gprs, edit menjadi sbb:

# Connect script:
# scripts to initialize the GPRS modem and start the connection,
# wvdial command is for Orange SPV while other phones should work with chat
connect /etc/ppp/peers/gprs-connect-chat
#connect “/usr/bin/wvdial –chat –config /etc/ppp/peers/gprs-wvdial.conf radiolinja_usb_orange_spv”

# Disconnect script:
# AT commands used to ‘hangup’ the GPRS connection.
disconnect /etc/ppp/peers/gprs-disconnect-chat

# Serial device to which the GPRS phone is connected:
# /dev/ttyS0 for serial port (COM1 in Windows),
# /dev/ircomm0 for IrDA,
# /dev/ttyUB0 for Bluetooth (Bluez with rfcomm running) and
# /dev/ttyUSB0 for USB
#/dev/ttyS0 # serial port one
#/dev/ttyS1 # serial port two
#/dev/ircomm0 # IrDA serial port one
#/dev/rfcomm0 # Bluetooth serial port one
/dev/ttyACM0 # USB serial device, for example Orange SPV

Berikutnya edit:

# Username and password:
# If username and password are required by the APN, put here the username
# and put the username-password combination to the secrets file:
# /etc/ppp/pap-secrets for PAP and /etc/ppp/chap-secrets for CHAP
# authentication. See pppd man pages for details.
# Example, Radiolinja operator pap-secrets:
# “rlnet” * “internet” *
user “”

Edit script gprs-connect-chat sesuai APN, username, password sbb:

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 ATH \
OK ATE1 \
OK ‘AT+CGDCONT=1,”IP”,”internet“,”",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”

Copy sebagai root tiga script gprs, gprs-connect-chat, dan gprs-disconnect-chat ke /etc/ppp/peers/ kemudian rubah otoritas file dengan menjalankan command berikut:

# chown root:root /etc/ppp/peers/gprs*
# chmod u+rwx,g=rx,o=rx /etc/ppp/peers/gprs-connect-chat
# chmod u+rwx,g=rx,o=rx /etc/ppp/peers/gprs-disconnect-chat

Sekarang hubungkan Nokia E51 ke PC dengan usb kabel. Jalankan command berikut di konsole dengan mode user untuk memulai koneksi modem:

$ pppd call gprs

Jika berjalan lancar akan muncul tampilan berikut:

Press CTRL-C to close the connection at any stage!
defining PDP context…
rAT
OK
ATH
OK
ATE1
OK
AT+CGDCONT=1,”IP”,”internet”,”",0,0
OK
waiting for connect…

ATD*99#
CONNECT
Connected.
If the following ppp negotiations fail,
try restarting the phone.

Serial connection established.
using channel 4
Using interface ppp0
Connect: ppp0 <–> /dev/ttyACM0
rcvd [LCP ConfReq id=0x0 <auth pap> <mru 1500> <asyncmap 0xa0000>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xf8704718>]
No auth is possible
sent [LCP ConfRej id=0x0 <auth pap>]
rcvd [LCP ConfRej id=0x1 <magic 0xf8704718>]
sent [LCP ConfReq id=0x2 <asyncmap 0x0>]
rcvd [LCP ConfReq id=0x1 <mru 1500> <asyncmap 0xa0000>]
sent [LCP ConfAck id=0x1 <mru 1500> <asyncmap 0xa0000>]
rcvd [LCP ConfAck id=0x2 <asyncmap 0x0>]
sent [CCP ConfReq id=0x1 <mppe -H -M -S -L -D -C> <deflate 15> <deflate(old#) 15>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfReq id=0x0 <addr 10.6.6.6>]
sent [IPCP ConfNak id=0x0 <addr 10.0.0.1>]
rcvd [LCP ProtRej id=0x0 80 fd 01 01 00 12 12 06 00 00 00 00 1a 04 78 00 18 04 78 00]
rcvd [IPCP ConfNak id=0x1 <addr 221.132.215.112> <ms-dns1 202.3.208.10> <ms-dns3 202.3.210.10>]
sent [IPCP ConfReq id=0x2 <addr 221.132.215.112> <ms-dns1 202.3.208.10> <ms-dns3 202.3.210.10>]
rcvd [IPCP ConfReq id=0x1 <addr 10.0.0.1>]
sent [IPCP ConfAck id=0x1 <addr 10.0.0.1>]
rcvd [IPCP ConfAck id=0x2 <addr 221.132.215.112> <ms-dns1 202.3.208.10> <ms-dns3 202.3.210.10>]
local IP address 221.132.215.112
remote IP address 10.0.0.1
primary DNS address 202.3.208.10
secondary DNS address 202.3.210.10
Script /etc/ppp/ip-up started (pid 13252)
Script /etc/ppp/ip-up finished (pid 13252), status = 0×0

Jalankan NetApplet untuk memonitor apakah koneksi berhasil.

Note:

Untuk linux berbasis KDE sudah ada KPPP yang merupakan GUI untuk setup koneksi modem. Lewat KPPP setingan menjadi jauh lebih praktis.