Dengan hadirnya layanan telepon wireless CDMA memungkinkan kita untuk memiliki akses internet berkecepatan lumayan tinggi, dengan infrastruktur yang minim.Beberapa handphone CDMA telah dilengkapi dengan kabel data USB untuk koneksi ke komputer. Pemilihan handphone dengan kabel data yang mendukung sistem operasi GNU/Linux, agak sulit dikarenakan minimnya referensi.
Dengan googling kita bisa memperoleh informasi bahwa secara garis besar ada dua macam kabel data usb yang banyak digunakan handphone CDMA. Pertama yang true usb, yang berkomuniksai menggunakan usb protocol dari komputer ke handphone. Tipe kedua menggunakan serial-to-usb adapter yang built-in dalam kabel.
Setelah melihat-lihat dokumentasi kernel, dukungan untuk serial-to-usb adapter di Linux kernel lebih menjanjikan. Untuk itu penulis memilih handphone yang memiliki kabel data yang kemungkinan besar menggunakan built in usb-to-serial adapter. Pada kesempatan ini penulis menggunakan jaringan telepon Flexi dengan handphone Sanex SC-7080.
Persiapan Sistem Linux
Pada umumnya, kernel distro Linux yang ada dewasa ini sudah dikompilasi dengan dukungan driver usb-to-serial adapter. Penulis sudah mencoba distro Gentoo Linux dan Fedora Core 1. Kedua distro ini by default sudah memberikan dukungan driver usb-to-serial adapter. Apabila sistem Linux anda belum mendukung driver usb-to-serial adapter anda bisa melakukan kompilasi kernel sendiri. Anda harus mengaktifkan dukungan usb, kemudian usb serial dan pilih serial support untuk PL2303.
Sebagian besar distroLinux yang baru juga sudah mengaktifkan hotplug. Sehingga secara otomatis pada saat anda sambungkan handphone usb ke komputer, Linux akan me-load module-module pendukung yang diperlukan. Apabila hotplug belum aktif atau sengaja tidak anda aktifkan, anda dapat melakukan loading module-module secara manual berikut ini:
#modprobe usbcore
#modprobe usb-uhci
#modeprobe usbserial
#modeprobe pl2303
Untuk distro Gentoo Linux, anda memiliki pilihan untuk mengaktifkan hotplug ataupun memasukan module-module yang ingin di-load secara otomatis dalam file konfigurasi /etc/modules.autoload.d/kernel-2.4. Pilihan distro dan cara load module sepenuhnya tergantung anda.
Setelah anda sambungkan handphone CDMA dengan komputer anda, dan module-module yang dibutuhkan sudah di-load, anda dapat memeriksa status koneksi usb dengan perintah sebagai berikut:
#dmesg|tail
Apabila sistem anda sudah terkonfigurasi dengan benar, akan anda dapatkan hasil kurang lebih sebagai berikut:
hub.c: new USB device 00:07.2-2, assigned address 3
usb.c: USB device 3 (vend/prod 0x67b/0x2303) is not claimed by any active driver.
usb.c: registered new driver serial
usbserial.c: USB Serial support registered for Generic
usbserial.c: USB Serial Driver core v1.4
usbserial.c: USB Serial support registered for PL-2303
usbserial.c: PL-2303 converter detected
usbserial.c: PL-2303 converter now attached to ttyUSB0 (or usb/tts/0 for devfs)
pl2303.c: Prolific PL2303 USB to serial adaptor driver v0.9
Dari log dmesg di atas dapat kita lihat bahwa kabel data Sanex SC-7080 menggunakan Prolific PL2303 dan disupport dengan baik di Linux. Kabel data kita sudah tersambung ke device berikut:
1. Untuk Fedora ada di /dev/ttyUSB0
2. Untuk Gentoo Linux ada di /dev/usb/tts0
Sekarang kita tinggal melakukan konfigurasi PPPD untuk melakukan koneksi ke internet. Pastikan bahwa kernel anda sudah mendukung PPP. Sebagian besar distro Linux sudah dikompilasi dengan support PPPD. Jika belum, anda dapat mengaktifkannya dan melakukan kompilasi kernel sendiri.
Konfigurasi PPPD
Sebelum melakukan konfigurasi pppd, kita pastikan dulu file-file pendukung sudah tersedia di sistem anda. Berikut adalah file-file yang kita butuhkan:
1. pppd ada di /usr/sbin/pppd
2. chat ada di /usr/sbin/chat
2. grep ada di /bin/grep
3. date ada di /bin/date
4. awk ada di /bin/awk
5. killall ada di /usr/bin/killall
Untuk mengetahui dan menyesuaikan lokasi dari file-file tersebut di sistem, anda bisa menggunakan perintah which
Sebelum anda melakukan konfigurasi pppd pastikan bahwa handphone sanex anda sudah terkonfigur dengan benar. Untuk Sanex SC7080 setting Data Service harus di set ke Packet. Untuk selengkapnya Anda bisa melihat di petunjuk yang ada pada CD kabel data.
Prinsip kerja dari pppd di Linux adalah sebagai berikut:
1. pppd daemon melakukan konfigurasi serial port yang akan digunakan. ( /dev/ttyUSB0 atau /dev/usb/tts/0).
2. pppd menjalankan program chat untuk melakukan koneksi ke provider. Program chat ini akan melakukan inisialisasi modem, kemudian dial ke provider. Untuk Flexi, dial ke nomor #777. Setelah itu chat akan menunggu konfirmasi sambungan ke provider (CONNECT).
3. pppd akan melakukan konfigurasi ip address, default routing, dan menyimpan informasi dns server di file /etc/ppp/resolv.conf
Konfigurasi pppd di atas kita lakukan dengan membuat lima file sebagai berikut.
1. File /etc/ppp/peers/flexi dengan isi sebagai berikut:
noauth
connect "/usr/sbin/chat -v -f /etc/ppp/chat-flexi"
/dev/ttyUSB0
115200
defaultroute
noipdefault
user "telkomnet@flexi"
remotename flexi
usepeerdns
Penjelasan:
noauthdigunakan agar peer kita (flexi) gak usah authentikasi ke kita.
connect "/usr/sbin/chat -v -f /etc/ppp/chat-flexi"untuk koneksi pake chat dengan konfigurasi ada di /etc/ppp/chat-flexi.
/dev/ttyUSB0adalah nama device yang kita pakai. untuk Gentoo Linux tulis /dev/usb/tts/0
115200 artinya kecepatan data dari komputer ke handphone.
defaultrouteuntuk mengatur koneksi ppp ini sebagai default routing kita.
noipdefaultberarti kita tidak memiliki ip default.
user "telkomnet@flexi" digunakan untuk memilih password untuk authentikasi PAP yang tersimpan di /etc/ppp/pap-secrets
remotename flexi digunakan untuk memilih password authentikasi PAP yang tersimpan di /etc/ppp/pap-secrets
usepeerdnsberarti pppd akan meminta konfigurasi nameserver dan akan menyimpannya di /etc/ppp/resolv.conf
Jika ada yang kurang jelas, anda dapat melihat informasi selengkapnya dengan perintah �man pppd�.
2. File /etc/ppp/chat-flexi dengan isi sebagai berikut:
ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE
'' ATZ
OK-AT-OK ATDT#777
ECHO ON
CONNECT ''
Penjelasan:
Program chat-flexi digunakan untuk melakukan koneksi serial ke provider.
ABORT BUSY ABORT 'NO CARRIER' ABORT VOICEartinya chat akan berhenti pada saat menerima kata BUSY atau NO CARRIER atau VOICE.
'' ATZberarti chat tanpa menunggu kata tertentu akan mengirimkan ATZ ke modem.
OK-AT-OK ATDT#777 artinya menunggu OK. Jika lama sehinnga timeout, akan kirim AT kemudian tunggu OK kembali. Jika OK diterima akan kirim ATDT#777 (dial ke provider).
CONNECT ''artinya chat akan menunggu CONNECT, jika diterima berarto selesai tugasnya.
3. File /etc/ppp/pap-secrets dengan isi sebagai berikut:
telkomnet@flexi flexi telkom
Artinya, untuk koneksi ppp ke Flexi dengan user �telkomnet@flexi� password yang dipakai adalah �telkom�.
4. File /sbin/start-flexi untuk memulai koneksi internet melalui CDMA Flexi.
#!/bin/bash
PPP=/usr/sbin/pppd
echo Connect ke Flexi ...
$PPP updetach call flexi
cp -f /etc/resolv.conf /etc/resolv.conf.flexi-bak
cp -f /etc/ppp/resolv.conf /etc/resolv.conf
Penjelasan:
$PPP updetach call flexi artinya jalankan pppd dengan menggunakan konfigurasi /etc/ppp/peers/flexi. Jangan detach dari terminal sebelum up.
Jangan lupa mengubah permission setting dari file /sbin/start-flexi dengan perintah
# chmod +x /sbin/start-flexi
5. File /sbin/stop-flexi untuk menghentikan koneksi ke Flexi sekaligus mencatat jumlah paket yang telah kita gunakan. Ini penting, karena hitungan biaya Flexi dengan koneksi ke #777 adalah jumlah paket, bukan jumlah waktu seperti ke Telkomnet Instan 080989999.
#!/bin/bash
STAT=/usr/sbin/pppstats
GREP=/bin/grep
LOG=/var/log/flexi-log
DATE=/bin/date
AWK=/bin/awk
KILL=/usr/bin/killall
TGL=`$DATE '+%d-%m-%Y %H:%M:%S'`
RCV=`$STAT -a| $GREP -v IN | $AWK '{print $1}'`
SND=`$STAT -a| $GREP -v IN | $AWK '{print $7}'`
(( TOT=($RCV+$SND)/1024 ))
(( REM=($RCV+$SND)%1024 ))
if (( $REM>0 )) ; then (( TOT=$TOT+1 )) ; fi
(( CHARGE=$TOT*5 ))
if (( $CHARGE==0 )) ; then (( CHARGE=5 )) ; fi
echo $TGL $RCV $SND $TOT $CHARGE >> $LOG
$KILL pppd
cp -f /etc/resolv.conf.flexi-bak /etc/resolv.conf
rm -f /etc/resolv.conf.flexi-bak
Jangan lupa mengubah permission setting dari file /sbin/stop-flexi dengan perintah
# chmod +x /sbin/stop-flexi
Pengujian
Jalankan koneksi internet melalui flexi dengan perintah �start-flexi�:
[root@gita flexi]# start-flexi
Connect ke Flexi ...
Serial connection established.
Using interface ppp0
Connect: ppp0 <--> /dev/ttyUSB0
local IP address 10.67.128.2
remote IP address 10.67.128.1
primary DNS address 202.134.0.155
secondary DNS address 202.134.2.5
Ping 3 kali ke www.google.com:
[root@gita flexi]# ping -c 3 www.google.com
PING www.google.akadns.net (66.102.7.99) 56(84) bytes of data.
64 bytes from 66.102.7.99: icmp_seq=0 ttl=236 time=779 ms
64 bytes from 66.102.7.99: icmp_seq=1 ttl=236 time=759 ms
64 bytes from 66.102.7.99: icmp_seq=2 ttl=236 time=969 ms
--- www.google.akadns.net ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2169ms
rtt min/avg/max/mdev = 759.680/836.370/969.983/94.825 ms, pipe 2
Ping 3 kali ke www.yahoo.com:
[root@gita flexi]# ping -c 3 www.yahoo.com
PING www.yahoo.akadns.net (66.94.230.38) 56(84) bytes of data.
64 bytes from p7.www.scd.yahoo.com (66.94.230.38): icmp_seq=0 ttl=43 time=778 ms
64 bytes from p7.www.scd.yahoo.com (66.94.230.38): icmp_seq=1 ttl=44 time=759 ms
64 bytes from p7.www.scd.yahoo.com (66.94.230.38): icmp_seq=2 ttl=44 time=789 ms
--- www.yahoo.akadns.net ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2268ms
rtt min/avg/max/mdev = 759.662/776.176/789.983/12.567 ms, pipe 2
Putuskan koneksi internet dari Flexi dengan perintah �stop-flexi�:
[root@gita flexi]# stop-flexi
Lihat log pemakaian untuk mengetahui tanggal dan jam, jumlah paket data terkirim (bit), data diterima (bit), dan data total (kilobit), serta biaya (data total dikalikan Rp 15,- per kilobit) :
[root@gita flexi]# tail /var/log/flexi-log
03-04-2004 08:01:30 5207 4452 10 150
Pengembangan lebih lanjut
Dengan memanfaatkan iptables dan traffic control, kita dapat memberikan solusi koneksi internet secara bersama, dengan infrastruktur yang relatif mudah diimplementasikan, dan dengan tingkat keamanan yang terjamin. Bila dilengkapi bandwith management yang bagus, solusi ini sangat cocok untuk menunjang kebutuhan komunikasi data di kantor atau warnet. Di samping itu, dengan pentarifan yang berdasarkan trafik data, kita dapat melakukan perhitungan biaya yang lebih mudah. Selamat mencoba.
P. Kristiana (pkristiana@telkom.net)
No comments:
Post a Comment