Oktober 21, 2010

Menggunakan AHA dengan Olive VME-110 di Arch Linux

Tulisan sederhana ini sekedar menjelaskan sedikit cara untuk bisa menggunakan modem EVDO dari AHA di Arch Linux. Untuk modem, saya menggunakan Olive VME-110 yang berwarna putih (yang berwarna perak merk-nya Huawei, caranya mungkin beda sedikit dengan yang ada di tulisan ini). Di tulisan ini, penyebutan "modem" berarti akan mengacu ke Olive VME-110 (males nulisnya kalau panjang ... :-D).

Paket yang Diperlukan

Ada beberapa paket yang diperlukan untuk mengaktifkan modem ini yaitu: wvdial dan usb_modeswitch. Untuk menginstall, gunakan pacman (tentu saja jika belum bisa koneksi ke Internet, ngalah dulu sebentar cari koneksi kabel atau wifi):
# pacman -S wvdial usb_modeswitch
Biasanya instalasi wvdial juga akan menyertakan wvstreams.

Mengubah dari Mode Storage ke Mode Modem

Setelah instalasi paket yang diperlukan di atas, lakukan langkah-langkah berikut untuk konfigurasi.

Aktifkan modul kernel usbserial:
# modprobe usbserial
Masukkan modem ke USB port. Kernel akan mengenali device sebagai USB storage (karena modem ini bisa difungsikan juga sebagai USB flashdisk) berikut ini:

Initializing USB Mass Storage driver...
scsi6 : usb-storage 2-1.1:1.0
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
USB Serial support registered for GSM modem (1-port)
usbcore: registered new interface driver option
option: v0.7.2:USB Driver for GSM modems
scsi 6:0:0:0: CD-ROM            Qualcomm MMC Storage      2.31 PQ: 0 ANSI: 2
sr1: scsi3-mmc drive: 0x/58x caddy
sr 6:0:0:0: Attached scsi CD-ROM sr1
sr 6:0:0:0: Attached scsi generic sg2 type 5
sr1: CDROM (ioctl) error, command: cdb[0]=0x51 51 00 00 00 00 00 00 00 02 00
sr: Sense Key : 0x4 [current] 
sr: ASC=0x0 ASCQ=0x0

Supaya bisa dikenali sebagai GSM modem (/dev/ttyUSB*), maka fasilitas storage (diatas dikenali sebagai Qualcomm - di Windows juga dikenali sebagai Qualcomm) harus di-eject dulu:
# eject /dev/sr1
Saya menggunakan /dev/sr1 karena sesuai dengan pesan yang ada di atas, bahwa storage tersebut di kenali sebagai sr1 (lihat baris "sr1: scsi3-mmc drive: 0x/58x caddy", di tempat lain, bisa saja sr0). Setelah di-eject, maka modem baru akan dikenali:

usb 2-1.1: USB disconnect, address 3
cdrom: issuing MRW back ground format suspend
usb 2-1.1: new full speed USB device using ehci_hcd and address 4
option 2-1.1:1.0: GSM modem (1-port) converter detected
usb 2-1.1: GSM modem (1-port) converter now attached to ttyUSB0
option 2-1.1:1.1: GSM modem (1-port) converter detected
usb 2-1.1: GSM modem (1-port) converter now attached to ttyUSB1
option 2-1.1:1.2: GSM modem (1-port) converter detected
usb 2-1.1: GSM modem (1-port) converter now attached to ttyUSB2

Device juga muncul:

[bpdp@bpdp-arch ~]$ ls -la /dev/ttyUSB*
crw-rw---- 1 root uucp 188, 0 Oct 22 08:45 /dev/ttyUSB0
crw-rw---- 1 root uucp 188, 1 Oct 22 08:45 /dev/ttyUSB1
crw-rw---- 1 root uucp 188, 2 Oct 22 08:45 /dev/ttyUSB2
[bpdp@bpdp-arch ~]$ 

Konfigurasi usb_modeswitch

Paket usb_modeswitch yang saya gunakan belum menyertakan definisi hardware dari modem, jadi kita akan membuat konfigurasinya sendiri. Pertama, kita mencari ID dari device modem:

[bpdp@bpdp-arch ~]$ lsusb 
Bus 002 Device 004: ID 201e:2009  
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 0b05:1788 ASUSTek Computer, Inc. 
Bus 001 Device 003: ID 04f2:b071 Chicony Electronics Co., Ltd 2.0M UVC Webcam / CNF7129
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
[bpdp@bpdp-arch ~]$

Di Arch Linux, device dikenali dengan ID vendor 201e dan ID product 2009. Setelah mengetahui ID ini, buat konfigurasi file baru di "/etc/usb_modeswitch.d/201e\:2009" yang berisi teks berikut:

########################################################
# AHA.co.id
# 201e:2009


DefaultVendor= 0x201e
DefaultProduct=0x2009


TargetVendor= 0x201e
TargetProduct= 0x2009


CheckSuccess=20


MessageContent="555342431234567824000000800108df200000000000000000000000000000"

Konfigurasi wvdial

Buat file baru (atau tambahkan entry berikut jika sudah ada filenya) untuk konfigurasi wvdial di "/etc/wvdial.conf". Isinya adalah teks sebagai berikut:

[Dialer aha]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = USB Modem
Baud = 115200
Modem= /dev/ttyUSB0


Phone = #777
Username = aha@aha.co.id
Password = aha
New PPPD = yes
Stupid Mode = 1

Konfigurasi udev

Konfigurasi udev diperlukan supaya kita tidak perlu repot-repot meng-eject setiap kali memasukkan modem ke USB port. Buatlah file baru di "/etc/udev/rules.d/99-evdo-modem.rules" yang berisi:

SYSFS{idVendor}=="201e",
SYSFS{idProduct}=="2009", RUN+="/usr/bin/eject %k"

Konfigurasi Modul Kernel

Masukkan "usbserial" dalam array MODULES yang ada di file "/etc/rc.conf". Jika sebelumnya sudah ada modul lainnya, tinggal tambahkan saja sebagai berikut (di file saya sudah ada modul ath9k, tidak perlu anda tulis jika tidak menginginkan modul ath9k tersebut aktif):

...
...
MODULES=(ath9k usbserial)
...
...

Menggunakan Modem

Langkah-langkah di atas sudah cukup untuk mengkonfigurasi modem. Jika kita ingin mengaktifkan, tinggal men-dial menggunakan wvdial sebagai berikut:

[root@bpdp-arch ~]# wvdial aha
--> WvDial: Internet dialer version 1.61
--> 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#777
--> Waiting for carrier.
ATDT#777
CONNECT 3100000
--> Carrier detected.  Starting PPP immediately.
--> Starting pppd at Fri Oct 22 09:13:09 2010
--> Pid of pppd: 2578
--> Using interface ppp0
--> pppd:  [01]� �[01]� 
--> pppd:  [01]� �[01]� 
--> pppd:  [01]� �[01]� 
--> pppd:  [01]� �[01]� 
--> pppd:  [01]� �[01]� 
--> local  IP address 10.69.7.130
--> pppd:  [01]� �[01]� 
--> remote IP address 192.168.11.10
--> pppd:  [01]� �[01]� 
--> primary   DNS address 10.8.9.2
--> pppd:  [01]� �[01]� 
--> secondary DNS address 192.168.190.66
--> pppd:  [01]� �[01]� 

Jika ingin disconnect, tekan Ctrl-C di posisi tersebut. Untuk seterusnya, jika ingin koneksi ke Internet menggunakan modem, yang kita lakukan hanya:
1. Masukkan modem ke port USB
2. dari terminal, sebagai root, ketikkan "wvdial aha"

Mudah bukan? Happy browsing using Arch Linux! :)

Catatan: 
Saat mencari cara untuk koneksi menggunakan AHA dengan modem Olive VME-110 ini, saya sangat terbantu dengan artikel dan komentar di URL http://www.icemanblogger.com/2010/07/setting-modem-aha-olive-v-me110-di.html. Bersama ini, rasanya saya perlu mengucapkan terima kasih untuk yang telah menulis artikel di atas dan komentar-komentar di bawahnya.