Mengoptimalkan Koneksi Modem Smart ZTE 2726

From OnnoWiki
Jump to navigation Jump to search

Lanjutan catatan ngoprek modem Smart ZTE 2726, kali ini mencoba meningkatkan kecepatan koneksi di Linux, soalnya kalau membandingkan koneksi di Ubuntu dan di Windows, ternyata kecepatan koneksi di Ubuntu (download mentok max di sekitar 50-60an KB/s) lebih lambat daripada pas pakai di Windows (bisa nyampe sekitar 100an KB/s).

Ini terjadi karena module usbserial di Linux memang tidak diperuntukkan untuk modem kecepatan tinggi. Akhirnya nyoba tes ganti pakai module option.ko yang katanya diperuntukkan buat 3G modem.

Sayangnya module option.ko gak mendukung modem ZTE 2726, tapi ini bisa diakali dengan menambah sendiri info untuk modem ZTE ke dalam kode sumber option.c agar modem dapat dikenali. Untuk itu kita perlu membangun ulang module option.ko, berikut langkah-langkahnya (tes di Ubuntu Jaunty dengan kernel 2.6.28-13-generic).

Download paket sumber linux dan paket-paket untuk meng-compile module:

$ sudo apt-get install linux-source linux-headers-generic build-essential
$ sudo su
# cd /usr/src
# tar xjf linux-source-2.6.28.tar.bz2

Salin dan simpan patch berikut ini:

diff -Nurp linux-source-2.6.28.old/drivers/usb/serial/option.c linux-source-2.6.28/drivers/usb/serial/option.c
--- linux-source-2.6.28.old/drivers/usb/serial/option.c	2009-06-02 14:57:13.000000000 +0700
+++ linux-source-2.6.28/drivers/usb/serial/option.c	2009-06-24 02:39:56.000000000 +0700
@@ -292,6 +292,7 @@ static int  option_send_setup(struct tty
 #define ZTE_PRODUCT_MF628			0x0015
 #define ZTE_PRODUCT_MF626			0x0031
 #define ZTE_PRODUCT_CDMA_TECH			0xfffe
+#define ZTE_PRODUCT_AC2726			0xfff1 
#define BENQ_VENDOR_ID				0x04a5
#define BENQ_PRODUCT_H10			0x4068
@@ -511,6 +512,7 @@ static struct usb_device_id option_ids[]
 	{ USB_DEVICE(ZTE_VENDOR_ID, ZTE_PRODUCT_MF626) },
 	{ USB_DEVICE(ZTE_VENDOR_ID, ZTE_PRODUCT_MF628) },
 	{ USB_DEVICE(ZTE_VENDOR_ID, ZTE_PRODUCT_CDMA_TECH) },
+	{ USB_DEVICE(ZTE_VENDOR_ID, ZTE_PRODUCT_AC2726) },
 	{ USB_DEVICE(BENQ_VENDOR_ID, BENQ_PRODUCT_H10) },
 	{ USB_DEVICE(0x1da5, 0x4515) }, /* BenQ H20 */
 	{ } /* Terminating entry */

Lalu terapkan patch-nya:

# cd linux-source-2.6.28
# patch -p1 -i /PATH/KE/DIREKTORI/NAMA-BERKAS.patch

Dan compile ulang modulenya:

# cp /boot/config-$(uname -r) /usr/src/linux-source-2.6.28/.config
# make menuconfig
# make -C /lib/modules/$(uname -r)/build M=/usr/src/linux-source-2.6.28/drivers/usb/serial

Kalau sudah beres silakan salin module option.ko ke direktori module, jangan lupa backup dulu module option.ko yang lama:

# cp /usr/src/linux-source-2.6.28/drivers/usb/serial/option.ko /lib/modules/$(uname -r)/kernel/drivers/usb/serial/
# depmod -a

Beres dah tinggal colokin usb modemnya nanti otomatis terdeteksi, gak perlu pake modprobe module lagi. Coba aja llihat di direktori /dev, kalau udah ada ttyUSB0 artinya sudah sukses.

Selanjutnya biar modem ZTE 2726 bisa terdeteksi sama network manager jadi biar gak cape-cape lagi bikin config untuk dial-up, mari kita bikin config hal untuk ZTE:

Smart ZTE Network Manager

Bikin berkas baru /usr/share/hal/fdi/information/20thirdparty/20-zte-2726.fdi

# vi /usr/share/hal/fdi/information/20thirdparty/20-zte-2726.fdi

Salin config hal berikut ini:

<?xml version="1.0" encoding="UTF-8"?> 

<deviceinfo version="0.2">
  <device>
    <match key="info.category" string="serial">
      <match key="@info.parent:usb.vendor_id" int="0x19d2">
        <match key="@info.parent:usb.product_id" int="0xfff1">
          <match key="@info.parent:usb.interface.number" int="0">
            <append key="modem.command_sets" type="strlist">IS-707-A</append>
            <append key="info.capabilities" type="strlist">modem</append>
          </match>
        </match>
      </match>
    </match>
  </device>
</deviceinfo>

Simpan dan hapus berkas cache hal:

# rm /var/cache/hald/fdi-cache

Selesai, silakan restart dan sekarang seharusnya network manager sudah bisa mengenali modem ZTE 2726.

Udah ah segini aja catatan ngopreknya, waktunya gawe. Lumayan nih sekarang di Ubuntu koneksinya bisa dapat sekitar 100-150KB/s. Oke selamat berselancar!


Referensi

Pranala Menarik