Wednesday, August 10, 2011

Koneksi Internet dengan Modem USB di Linux Console Menggunakan wvdial

Sekedar berbagi pengalaman bagaimana cara setting koneksi internet di Linux console menggunakan modem usb. Jika anda sudah terbiasa menggunakan GUI (GNome/KDE) mungkin pengalaman ini akan kurang begitu berarti, karena di GUI semuanya akan terciptakan secara otomatis melalui Applet/NetworkManager sehingga jauh lebih mudah dan cepat. Namun jika anda ingin konek internet dengan console, maka pengalaman ini mungkin akan sangat berarti. Sebelum memulai instalasi, ada beberapa hal penting yang saya gunakan :
  • Modem USB 3G/HSDPA merk Vodafone atau Huawei E220
  • Kartu Telkomsel Flash Unlimited
  • Linux Fedora 14
Jika distro linux anda bukan fedora, saya yakin ini tidak jauh berbeda.

Langkah-langkah instalasi:
  1. Pastikan program wvdial sudah terinstall dengan perintah: rpm -qa | grep wvdial

    Di linux saya menghasilkan wvdial-1.61-3.fc13.i686.
    Jika belum ada anda harus menginstalnya dari CD/DVD fedora anda atau download dari internet. Jika komputer anda sudah ada koneksi internet aktif, anda bisa langsung menginstallnya dengan perintah: yum -y install wvdial

  2. Pastikan modem usb anda sudah dikenali oleh kernel linux dengan perintah: wvdialconf /etc/wvdial.conf
    Jika dikenali, mungkin hasilnya (salah satunya) akan seperti di bawah ini:

    ttyUSB0<*1>: ATQ0 V1 E1 -- OK
    ttyUSB0<*1>: ATQ0 V1 E1 Z -- OK
    ttyUSB0<*1>: ATQ0 V1 E1 S0=0 -- OK
    ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
    ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
    ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
    ttyUSB0<*1>: Modem Identifier: ATI -- Manufacturer: huawei
    ttyUSB0<*1>: Speed 9600: AT -- OK
    ttyUSB0<*1>: Max speed is 9600; that should be safe.
    ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK

    Jika tidak menunjukkan hasil seperti di atas, mungkin modem tidak dikenali. Tapi jika dikenali seperti di atas, maka anda bisa langsung saja loncat ke langkah 3.

    Jika modem usb tidak dikenali, gunakan modul usb_modeswitch. Modul ini berfungsi untuk mengenail modem usb yang tidak dikenali oleh kernel linux, apapun merknya. Sebelumnya, pastikan dulu apakah sudah terintall dengan perintah: rpm -qa | grep usb_modeswitch

    Di Linux saya menghasilkan: usb_modeswitch-1.1.4-1.fc14.i686 dan usb_modeswitch-data-20100817-1.fc14.noarch.

    Jika belum ada, anda harus menginstalnya dari CD/DVD fedora anda atau download dari internet. Jika komputer anda sudah ada koneksi internet aktif, anda bisa langsung menginstallnya dengan perintah: yum -y install usb_modeswitch

  3. Buat konfigurasi wvdial dengan perintah: wvdialconf /etc/wvdial.conf
    Berikut ini adalah pesan log yang muncul:

    Editing `/etc/wvdial.conf'.

    Scanning your serial ports for a modem.

    ttyS0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
    ttyS0<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
    ttyS0<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
    ttyS1<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
    ttyS1<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
    ttyS1<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
    Modem Port Scan<*1>: S2   S3  
    WvModem<*1>: Cannot get information for serial port.
    ttyUSB0<*1>: ATQ0 V1 E1 -- OK
    ttyUSB0<*1>: ATQ0 V1 E1 Z -- OK
    ttyUSB0<*1>: ATQ0 V1 E1 S0=0 -- OK
    ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
    ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
    ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
    ttyUSB0<*1>: Modem Identifier: ATI -- Manufacturer: huawei
    ttyUSB0<*1>: Speed 9600: AT -- OK
    ttyUSB0<*1>: Max speed is 9600; that should be safe.
    ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
    WvModem<*1>: Cannot get information for serial port.
    ttyUSB1<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
    ttyUSB1<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 9600 baud
    ttyUSB1<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
    WvModem<*1>: Cannot get information for serial port.
    ttyUSB2<*1>: ATQ0 V1 E1 -- OK
    ttyUSB2<*1>: ATQ0 V1 E1 Z -- OK
    ttyUSB2<*1>: ATQ0 V1 E1 S0=0 -- OK
    ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
    ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
    ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
    ttyUSB2<*1>: Modem Identifier: ATI -- Manufacturer: huawei
    ttyUSB2<*1>: Speed 9600: AT -- OK
    ttyUSB2<*1>: Max speed is 9600; that should be safe.
    ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK

    Found a modem on /dev/ttyUSB0.
    /etc/wvdial.conf: Can't open '/etc/wvdial.conf' for reading: No such file or directory
    /etc/wvdial.conf: ...starting with blank configuration.
    Modem configuration written to /etc/wvdial.conf.
    ttyUSB0: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
    ttyUSB2: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"

  4. Edit file /etc/wvdial.conf dengaPastikan modul usb_modeswitch sudah terintall dengan perintah: rpm -qa | grep usb_modeswitchn perintah: vi /etc/wvdial.conf
    Sesuaikan dengan provider internet yang anda punya. Jika menggunakan TelkomselFlash isinya harus sbb:

    [Dialer Defaults]
    Init1 = ATZ
    Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
    Init3 = AT+CGDCONT=1,"IP","internet"    
    Init4 = ATM0
    Modem Type = Analog Modem
    Phone = *99#
    ISDN = 0
    Username = ”
    Password = ”
    Modem = /dev/ttyUSB0
    Baud = 460800

  5. Jalankan program wvdial untuk memulai koneksi dengan perintah: wvdial.Perintah ini akan menghasilkan pesan log sbb:

    --> 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*99#
    --> Waiting for carrier.
    ATDT*99#
    CONNECT
    --> Carrier detected.  Waiting for prompt.
    --> Don't know what to do!  Starting pppd and hoping for the best.
    --> Starting pppd at Fri Sep  9 19:48:03 2011
    --> Pid of pppd: 1928
    --> Using interface ppp0
    --> pppd: X��[08]H��[08]
    --> pppd: X��[08]H��[08]
    --> pppd: X��[08]H��[08]
    --> pppd: X��[08]H��[08]
    --> pppd: X��[08]H��[08]
    --> pppd: X��[08]H��[08]
    --> local  IP address 182.8.249.3
    --> pppd: X��[08]H��[08]
    --> remote IP address 10.64.64.64
    --> pppd: X��[08]H��[08]
    --> primary   DNS address 114.127.243.113
    --> pppd: X��[08]H��[08]
    --> secondary DNS address 114.127.208.84
    --> pppd: X��[08]H��[08]
    dst...........

    Jika anda tekan CTRL-C maka anda akan kembali ke prompt dan wvdial akan di-disconnect.
    Untuk menghindari ini anda bisa menjalankannya secara background dengan menggunakan perintah: wvdial & sehingga anda akan kembali ke prompt tanpa perlu CTRL-C dan koneksi tetap akan aktif.

  6. Coba cek dengan perintah ifconfig untuk memastikan koneksi modem anda sudah aktif dengan tipe koneksi ppp0 seperti di bawah ini:

    eth0      Link encap:Ethernet  HWaddr 00:0D:9D:4A:E4:F8 
              inet addr:192.168.10.5  Bcast:192.168.10.255  Mask:255.255.255.0
              inet6 addr: fe80::20d:9dff:fe4a:e4f8/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:766562 errors:0 dropped:0 overruns:0 frame:0
              TX packets:120608 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:447753295 (427.0 MiB)  TX bytes:15208833 (14.5 MiB)
              Interrupt:20

    lo        Link encap:Local Loopback 
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:20 errors:0 dropped:0 overruns:0 frame:0
              TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:1444 (1.4 KiB)  TX bytes:1444 (1.4 KiB)

    ppp0      Link encap:Point-to-Point Protocol 
              inet addr:182.1.116.152  P-t-P:10.64.64.64  Mask:255.255.255.255
              UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
              RX packets:11 errors:0 dropped:0 overruns:0 frame:0
              TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:3
              RX bytes:348 (348.0 b)  TX bytes:502 (502.0 b)

  7. Tambahkan IP DNS yang dihasilkan pada langkah 5 ke dalam file /etc/resolve.conf seperti sbb:
    ---------------
    --> primary   DNS address 114.127.243.113
    --> pppd: X��[08]H��[08]
    --> secondary DNS address 114.127.208.84

    Gunakan perintah vim /etc/resolve.conf dan masukkan baris berikut:

    nameserver 114.127.243.113
    nameserver 114.127.208.84

  8. Coba tes ping ke www.yahoo.co.id dengan perintah: ping www.yahoo.co.id
    Jika koneksi anda berhasil maka hasilnya akan sbb:
    PING sg-rc.g01.yahoodns.net (203.84.219.114) 56(84) bytes of data.
    64 bytes from w2.rc.vip.sg1.yahoo.com (203.84.219.114): icmp_req=1 ttl=45 time=336 ms
    64 bytes from w2.rc.vip.sg1.yahoo.com (203.84.219.114): icmp_req=2 ttl=45 time=328 ms
    64 bytes from w2.rc.vip.sg1.yahoo.com (203.84.219.114): icmp_req=3 ttl=45 time=336 ms

  9. Selamat mencoba dan semoga berhasil.

0 Comments: