Jumat, Desember 18, 2009

Setting HP menjadi Modem (CDMA/GSM) di Linux

Setelah pengalaman saya dengan SMART seperti yang saya jelaskan pada posting sebelumnya, saya memutuskan untuk TIDAK membeli produk yang tidak linux-friendly (Minimal untuk saat ini) tersebut. Tetapi justu membuat saya berfikir bahwa saya dapat memaksimalkan fungsi HP yang selama ini saya pakai. Saya sudah cukup lama menggunakan MyG 818. Pada waktu saya membeli, HP ini tampak sangat canggih dibandingkan dengan harganya ( Saya membeli dengan harga Rp 2,2 jt ). fasilitas yang ada cukup banyak. Kamera, Modem GPRS, Bluetooth dan beberapa fasilitas yang biasanya ada pada HP kelas menengah.


Pada saat awal saya membeli HP ini saya menggunakan windows XP. Kebetulan MyG menyediakan software dan driver pendukung pada Windows XP. Modem dapat berfungsi dengan baik. Pada saat itu modem hanya dapat digunakan dengan kabel USB. Fungsi bluetooth tidak terlalu mulus di windows. Sedangkan lainnya berjalan normal saja. Software pendukung juga sedikit bermasalah, tidak jelas penyebabnya apa. Setelah cari dinternet juga tidak ada jawaban yang jelas.

Beberapa waktu kemudian saya menggunakan Linux Ubuntu sebagai sistem operasi default saya. Sebagai pemula, saya tidak dapat memanfaatkan fasilitas modem HP MyG 818. Saya bahkan tidak berfikir kalau itu mungkin. Untuk beberapa lama saya tidak terganggu dengan hal itu karena saya dapat mengakses internet (speedy) di rumah dan secara cuma-cuma di kampus.
Setelah kasus SMART tadi, saya mulai berfikir bahwa saya dapat memanfaatkan HP ini sebagai modem. Saya bahkan berfikir bahwa saya dapat menggabungkan fungsi modem dengan bluetooth sekaligus. Artinya saya akan dapat menjadikan HP ini modem tanpa harus menggunakan kabel. Ini adalah lompatan sangat besar (bahkan melebihi expectasi pada saat saya menggunakan windows).
Dalam fikiran saya tetap berkata "BISA" !. Saya memulai dengan mengeksplorasi perintah - perintah yang mungkin akan diperlukan. Tentu saja saya membutuhkan bantuan pak google untuk itu, selain dari halaman manual linux. (Tentu saja anda dapat mencoba HP anda sendiri dengan langkah yang sama. Tolong beri kabar jika anda berhasil ! )

Langkah prinsip dalam setting modem GSM atau CDMA adalah sama
1. Deteksi modem, pastikan modem dapat berkomunikasi dengan linux anda
2. Konfigurasi wvdial (untuk yang menggunakan wvdial)
3. Koneksikan !

Sebelum menggunakan bluetooth, saya menggunakan usb kabel dulu.
Bismillahirrohmanirrohim
Colok kabel USB. Biasanya muncul pilihan pada HP anda untuk a. menggunakan sebagai media penyimpanan, b. menggunakan kamera, atau c sebagai port comm. Pilih yang terakhir
Setiap yang dicolokkan ke USB harus dapat terdeteksi. ( Dulu saya selalu berharap bahwa setelah USB dicolok, sesuatu akan muncul di layar, persis seperti pada windows. Untuk Linux itu juga terjadi jika hardware sudah dikenal dan sudah dimasukkan dalam kernel. Tetapi untuk hardware yang baru kita perlu deteksi dulu)
Untuk mendeteksi periperal usb ketik

sastrawan@sastrawan-laptop:~$ lsusb
di laptop saya muncul
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 1b1a:0000
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 003: ID 0e8d:0003 MediaTek Inc.
Bus 002 Device 002: ID 03f0:171d Hewlett-Packard Wireless (Bluetooth + WLAN) Interface [Integrated Module]
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub


Baris Bus 002 Device 003: ID 0e8d:0003 MediaTek Inc. adalah hasil deteksi untuk HP ini. Sebelum modem dicolok, dengan perintah yang sama, baris tersebut tidak ada. Jadi dapat disimpulkan bahwa baris tersebut adalah identifikasi modem. Saya menganjurkan untuk mencabut semua USB sebelum melakukan ini untuk memudahkan deteksi.
Informasi yang ada pada baris "Bus 002 Device 003: ID 0e8d:0003 MediaTek Inc" adalah no vendor(VID) 0e8d: dan nomor produk (PID) 0003. Identifikasi ini diperlukan pada saat melakukan "modprobe", yaitu prosedur untuk menambahkan hardware ini kedalam kernel linux. Karena saya menggunakan Linux Ubuntu 9.04, saya tidak lagi menggunakan modeprobe tersebut.

Setiap media yang dicolokkan ke Linux biasanya harus di 'mount' terlebih dahulu. Sekali lagi, karena saya menggunakan ubuntu 9.04 yang sudah banyak melakukan mounting secara otomatis, maka saya bisa skip langkah ini dan langsung melihat dimana modem tersebut di mount.

perintahnya adalah sbb

sastrawan@sastrawan-laptop:~$ dmesg | tail
hasilnya
[ 119.250474] sd 4:0:0:0: [sdb] Assuming drive cache: write through
[ 119.250483] sdb: sdb1
[ 119.357228] sd 4:0:0:0: [sdb] Attached SCSI removable disk
[ 119.357375] sd 4:0:0:0: Attached scsi generic sg2 type 0
[ 356.340283] usb 1-4: USB disconnect, address 4
[ 598.232029] usb 2-2: new full speed USB device using ohci_hcd and address 3
[ 598.443374] usb 2-2: configuration #1 chosen from 1 choice
[ 598.502390] cdc_acm 2-2:1.1: ttyACM0: USB ACM device
[ 598.505357] usbcore: registered new interface driver cdc_acm
[ 598.505364] cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters

dapat dilihat bahwa modem tersebut dimount sebagai ttyACM0. hal ini dapat dilihat dari baris [ 598.502390] cdc_acm 2-2:1.1: ttyACM0: USB ACM device

selanjutnya coba gunakan linux anda untuk menelpon teman anda. ( WOW ini mulai menarik ). Perintahnya sederhana.

sudo echo atdt0370655085 > /dev/ttyACM0

Perhatikan deretan angka setelah atdt. angka tersebut adalah nomor telepon yang dipanggil. Sesuaikan baris setelah /dev/ (dalam kasus ini ttyACM0) dengan tty yang anda dapatkan dari baris ketiga dari bawah pada hasil dmesg | tail seperti diatas

Jika ternyata HP anda melakukan panggilan ke nomor tersebut (anda dapat menelpon seperti biasa) maka dapat dipastikan bahwa modem anda sudah siap untuk digunakan internet.

Untuk memutus hubungan tersebut anda dapat disconnect langsung dari HP anda atau (jika anda malas menyentuh HP) gunakan perintah berikut di linux anda

sastrawan@sastrawan-laptop:~$ echo ath> /dev/ttyACM0

Selamat, HP anda dapat digunakan sebagai modem di linux

Langkah berikutnya adalah melakukan konfigurasi wvdial. Saya mengasumsikan wvdial sudah terinstall di komputer anda. Jika belum silahkan diinstal dengan mengetikkan "sudo apt-get install wvdial". pastikan anda terhubung ke internet.

Untuk melakukan konfigurasi apapun dalam linux, sebenarnya dimaksud adalah mengedit file tertentu dengan akhiran .conf. Untuk melakukan configurasi wvdial maka yang dibutuhkan adalah mengedit file wvdial.conf. Permasalahannya adalah bagaimana mengetahui letak file tersebut dalam filesystem linux?.
Untuk pengguna ubuntu, file tersebut biasanya ada di folder /etc/wvdial.conf. untuk pengguna distro lain silahkan dicari sendiri dengan menggunakan perintah "sudo find -name wvdial.conf". jangan lupa pindah directory ke root ( cd / )

untuk mengedit anda dapat menggunakan pengolah kata favorit anda. Dalam contoh ini saya menggunakan gedit sehingga perintahnya menjadi

sastrawan@sastrawan-laptop:/$ sudo gedit /etc/wvdial.conf
kemudian ubah baris info phone, modem, username, dan password. Sesuaikan dengan operator anda. Contoh ini menggunakan XL bebas. Hasilnya adalah:

[Dialer proxl]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = Analog Modem
ISDN = 0
Phone = *99***1#
Modem = /dev/ttyACM0
Username =xlgprs
Password =proxl
Baud = 230400
Stupid Mode = 1

Baris [Dialer proxl] adalah nama koneksi yang akan dipanggil menggunakan wvdial

Sekarang anda siap untuk browsing di internet. Pastikan pulsa anda cukup banyak.

sastrawan@sastrawan-laptop:/$ sudo wvdial proxl

Hasilnya:

--> WvDial: Internet dialer version 1.60
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Modem initialized.
--> Sending: ATDT*99***1#
--> Waiting for carrier.
ATDT*99***1#
CONNECT
~[7f]}#@!}!} } }2}"}&} } } } }#}$@#}'}"}(}"R[04]~
--> Carrier detected. Starting PPP immediately.
--> Starting pppd at Fri Dec 18 10:28:22 2009
--> Pid of pppd: 8591
--> Using interface ppp0
--> pppd: �h�[08]�h�[08]
--> pppd: �h�[08]�h�[08]
--> pppd: �h�[08]�h�[08]
--> pppd: �h�[08]�h�[08]
--> pppd: �h�[08]�h�[08]
--> local IP address 10.199.38.191
--> pppd: �h�[08]�h�[08]
--> remote IP address 10.64.64.64
--> pppd: �h�[08]�h�[08]
--> primary DNS address 202.152.254.245
--> pppd: �h�[08]�h�[08]
--> secondary DNS address 202.152.254.246
--> pppd: �h�[08]�h�[08]

Jika anda sudah mendapatkan Ip address berarti anda sudah terkoneksi ke internet. Untuk meyakinkan, silahkan buka terminal baru dan lakukan ping ke sastrawan.web.id seperti berikut

sastrawan@sastrawan-laptop:~$ ping sastrawan.web.id

hasilnya :

PING sastrawan.web.id (202.67.9.130) 56(84) bytes of data.
64 bytes from jakarta.serverspeedy.com (202.67.9.130): icmp_seq=1 ttl=47 time=717 ms
64 bytes from jakarta.serverspeedy.com (202.67.9.130): icmp_seq=2 ttl=47 time=657 ms
64 bytes from jakarta.serverspeedy.com (202.67.9.130): icmp_seq=3 ttl=47 time=478 ms
64 bytes from jakarta.serverspeedy.com (202.67.9.130): icmp_seq=4 ttl=47 time=535 ms
64 bytes from jakarta.serverspeedy.com (202.67.9.130): icmp_seq=5 ttl=47 time=700 ms
64 bytes from jakarta.serverspeedy.com (202.67.9.130): icmp_seq=6 ttl=47 time=704 ms


tekan ctrl+c untuk berhenti.

Sekarang tinggal buka browser kesayangan anda dan selamat berinternet ria

Jika ingin merasakan bagaimana melakukan browsing dengan menggunakan browser berbasis text, gunakan saja perintah
"lynx sastrawan.web.id"

Untuk disconnect silahkan ketik ctrl+c
hasilnya :

^CCaught signal 2: Attempting to exit gracefully...
--> Terminating on signal 15
--> pppd: �h�[08]�h�[08]
--> Connect time 0.6 minutes.
--> pppd: �h�[08]�h�[08]
--> pppd: �h�[08]�h�[08]
--> pppd: �h�[08]�h�[08]
--> Disconnecting at Fri Dec 18 10:29:06 2009
sastrawan@sastrawan-laptop:/$

Alternatif lain yang lebih user-friendly adalah dengan menggunakan ppp-dialer. Saya menggunakan GNOME ppp-dialer. Software tersebut menyediakan deteksi modem otomatis. Pengalaman saya, ppp-dialer sangat mudah digunakan. Tetapi tidak selalu dapat mendeteksi modem yang baru. HP Smart tidak dapat dideteksi secara otomatis.

Alhamdulillahirobbil alamin.

0 comments:

Posting Komentar

Write your comment here