Mengoptimalkan Koneksi Modem Smart ZTE 2726
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:
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!