09.06.24 / 7AM

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:

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"?> <!-- -*- xml -*- -->

<deviceinfo version="0.2">
  <device>
    <match key="info.category" string="serial">
      <match key="@info.parent:usb.vendor_id" int="0x19d2">
        <!-- Smart ZTE AC2726 CDMA -->
        <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 download pelem gawe. Lumayan nih sekarang di Ubuntu koneksinya bisa dapat sekitar 100-150KB/s. Oke selamat berselancar!

Posted in: Half A Person | 22 Comments
09.06.23 / 10PM

Smart ZTE AC2726 & Ubuntu Linux

Baru dapat jatah preman usb modem Smart ZTE AC2726 dari tetangga, lumayan juga untuk konek internet murah meriah. Tapi seperti biasa harus sedikit dioprek biar bisa jalan dengan benar di Ubuntu 9.04 (Jaunty). Berikut beberapa catatan ngopreknya:

Smart ZTE AC2726

Cek USB ID:

$ lsusb
Bus 001 Device 004: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 003: ID 1058:1003 Western Digital Technologies, Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 009: ID 19d2:fff1
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Catatan: 19d2:fff1 itu berarti modemnya sudah terdeteksi, klo yang keluar itu id 19d2:fff5 artinya usb storage yang terdeteksi, ini perlu diubah dengan menggunakan bantuan USB_ModeSwitch.

Edit config /etc/usb_modeswitch.conf:

########################################################
# /etc/usb_modeswitch.conf
#
# Smart ZTE AC2726 (EVDO)
#

DefaultVendor=  0x19d2
DefaultProduct= 0xfff5

TargetVendor=   0x19d2
TargetProduct=  0xfff1

MessageContent="5553424312345678c00000008000069f030000000000000000000000000000"

Bikin berkas baru etc/udev/rules.d/99-zte-ac2726.rules untuk udev:

########################################################
# /etc/udev/rules.d/99-zte-ac2726.rules
#
# Smart ZTE AC2726 (EVDO)
#
SUBSYSTEM=="usb", SYSFS{idVendor}=="19d2", SYSFS{idProduct}=="fff5", RUN+="/usr/sbin/usb_modeswitch --default-vendor 0x19d2 --default-product 0xfff1 --message-content 5553424312345678c00000008000069f030000000000000000000000000000"

Cabut dan colok ulang usb modemnya lalu jalankan lsusb, harus dapat 19d2:fff1, lalu jalankan modprobe:

$ sudo modprobe usbserial vendor=0x15eb product=0x0001

Catatan: di Jaunty untuk bisa modprobe usbserial perlu upgrade ke kernel terbaru (2.6.28-13).

Bikin berkas baru /etc/ppp/peers/evdo untuk koneksi menggunakan pon:

#
# /etc/ppp/peers/evdo
#
hide-password
noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/evdo"
debug
ttyUSB0
921600
defaultroute
noipdefault
user "smart"
remotename smart
ipparam smart
crtscts
lock
usepeerdns

Tambah password:

#
# /etc/ppp/chap-secrets
#
smart * smart

Bikin berkas baru /etc/chatscripts/evdo:

#
# /etc/chatscripts/evdo
#
ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT DELAYED
'' "AT"
'OK' "ATQ0V1E0"
'OK' "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
OK-AT-OK "ATDT#777"
CONNECT \d\c

Konek:

$ sudo pon evdo

Diskonek:

$ sudo poff -a

Selesai dan terima kasih.

Berkas-berkas:

Posted in: Half A Person | 21 Comments
09.03.19 / 6PM

GNOME 2.26 Has Arrived!

GNOME 2.26

Ho oh beneran suer deh, silakan aja liat dimari. Dan selamat untuk GNOME!

Posted in: Half A Person | 2 Comments
09.03.03 / 1PM

Smart Haier D1200P, Koneksi Internet via pon & Ubuntu Linux

Catatan kecil seputar koneksi internet hp Smart Haier D1200P menggunakan pon di Ubuntu 8.10 (Intrepid Ibex). Lumayan nih skr gak perlu pancingan Windows klo koneksi pon-nya kita diskonekin sendiri (di kompie si gw sih ntah di komputer situ mah :P).

Bikin berkas baru /etc/ppp/peers/smart, /etc/chatscripts/smart dan /etc/chatscripts/disko lalu masukkan config untuk Smart sbb:

$ sudo vi /etc/ppp/peers/smart
#
# /etc/ppp/peers/smart
#
hide-password
noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/smart"
disconnect "/usr/sbin/chat -v -f /etc/chatscripts/disko"
debug
ttyUSB0
460800
defaultroute
noipdefault
user "smart"
remotename smart
ipparam smart
crtscts
lock
usepeerdns
noaccomp
logfile "/tmp/pppd.log"
$ sudo vi /etc/chatscripts/smart
#
# /etc/chatscripts/smart
#
ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT DELAYED
'' "\d\d+++\d\dATH"
'OK' "ATZ"
'OK' "ATZE0Q0V1"
'OK' "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
'OK' "at+crm=1;+cmux=1;+cps=33;+cta=0"
OK-AT-OK "ATDT#777"
CONNECT \d\c
$ sudo vi /etc/chatscripts/disko
#
# /etc/chatscripts/disko
#
ABORT BUSY ABORT 'NO CARRIER' ABORT ERROR ABORT 'NO DIALTONE'
'' "\K"
'' "\K"
'' "\K"
'' "\d\d+++\d\dATH"

Terakhir jangan lupa beresin ownership ketiga file tsb menjadi root.dip:

$ sudo chown root.dip /etc/ppp/peers/smart
$ sudo chown root.dip /etc/chatscripts/smart
$ sudo chown root.dip /etc/chatscripts/disko

Sebelum konek coba edit sebentara /etc/ppp/pap-secrets, isi password smartnya disitu, lebih kurang seperti ini:

smart	*	smart

Dan smart pun siap untuk beraksi, untuk menjalankan pon:

$ sudo modprobe usbserial vendor=0x15eb product=0x0001
$ sudo pon smart

Untuk mematikannya (perlu biar diskonek dengan normal & agar tidak mancing dulu di Windows):

$ sudo poff -a
$ sudo rmmod -f usbserial

Oh ya biar koneksinya gak putus setiap 50 menit sekali bisa baca-baca tips & trik Smart dari om Dodol.

Posted in: Half A Person | 53 Comments
08.10.04 / 10PM

Upgrade ke Ubuntu 8.10 Beta (Dalam Proses)

Upgrade to Ubuntu 8.10 Beta

Duh masih lama nunggu beresnya (hampir 3 jam bo’), ya sudah nyuci kolor aja dulu kali yah heheheh :P

Posted in: Half A Person | 8 Comments