Internetan dengan Smartfren ZTE AC682 di Slackware Linux

Posted on Juni 14, 2011

Daripada bengong nungguin dosen, mending posting di blog aja. Kali ini saya sharing tentang bagaimana menggunakan modem Smartfren ZTE AC682 di Slackware Linux.*Yes… akhirnya punya modem baru.. support EVDO Rev.A juga* Sebenernya saya ga kepikirian beli modem ini, soalnya modem saya yang lama (ZTE MG880), walaupun cuma support CDMA 2000 1x, masih cukup buat kebutuhan internet saya. Tapi Jumat ( Juni 10 2011), saya diajak anak-anak kost (Samuel dan Adji) untuk jalan-jalan ke JEC liat pameran komputer cuma untuk cuci mata doang. Entah angin apa, sebelum menuju ke pintu keluar JEC, kami mampir sebentar ke gerai smartfren. Dan yang bikin saya tertarik adalah harganya yg cuma Rp. 299.000, tapi klo untuk pelajar, mahasiswa, dan guru dapet harga khusus, cuma Rp. 199.000. Oke klo di Windows, modem ini tidak mengalami masalah. Plug ‘n Play, langsung install ZTE Control Panelnya. Tapi di Slackware ternyata tidak semudah itu. Coba pake usbmodeswitch ternyata belum menyediakan switching untuk modem ini. Lalu saya coba menggunakan CrossPlatformUI versi Linux dari ZTE juga nihil. Yak tampaknya harus pake cara lama. Cara dengan usb-modeswitch UPDATE: 22 November 2011. Ternyata paket usb-modeswitch-data 2011-10-23 telah menambahkan konfigurasi untuk modem AC 682, jadi tidak perlu melakukan proses edit seperti di bawah, cukup update saja paket usb-modeswitch-data ke versi tanggal 2011-10-23. Apabila belum tersedia, maka silakan ikuti cara yang ada di postingan ini. Update 31 Agustus 2011. Akhirnya saya menemukan cara switching modem ZTE AC682 menggunakan usb_modeswitch Trik ini saya dapatkan setelah saya membaca postingan pada forum usb-modeswitch. Dalam post tersebut, Josh (sang admin) mengatakan kalau modem ini (ZTE AC682) memiliki karakteristik yang hampir sama dengan modem yang memiliki vendor-id dan product-id “19d2:fff5″ dan “19d2:0013″. Setelah saya coba, ternyata bisa di-switch menggunakan konfigurasi pada file “19d2:0013″. Cara ini saya uji menggunakan paket usb-modeswitch 1.1.9 dan usb-modeswitch-data 2011-08-05. Berikut adalah langkahlangkah yang saya lakukan:  Tambahkan 1 file pada direktori /etc/usb-modeswitch.d/ dan beri nama file tersebut sebagai: 19d2:ffde. Isi file tersebut adalah sebagai berikut:

######################################################## # ZTE "ffde" devices

DefaultVendor= 0x19d2 DefaultProduct=0xffde

TargetVendor=

0x19d2

TargetProductList="ffdd"

MessageContent="5553424312345679000000000000061b0000000200000000000 00000000000"

NeedResponse=1

CheckSuccess=20

Edit file /lib/udev/rules.d/40-usb_modeswitch.rules dengan menambah

baris berikut: # ZTE "ffde" (e.g. Smartfren ZTE AC682)
ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="ffde", RUN+="usb_modeswitch '%b/%k'"

Restart service udev dengan perintah: sudo udevadm control --reload-rules

Atau untuk lebih meyakinkan, reboot sistem linux anda. Cara manual (tanpa usb-modeswitch) Apabila tidak ada paket usb-modeswitch, bisa menggunakan cara manual sebagai berikut:

Klo dilihat dari hasil dmesg, modem ini dikenali sebagai CD-ROM ( /dev/sr1).

Hasil `dmesg | tail` waktu pertama kali modem di-insert

Hasil lspci menunjukkan modem ini mempunyai vendor_id = 19d2 dan product_id = ffde

Hasil lsusb pertama kali

Sekarang kita coba meng-eject device tersebut
# eject /dev/sr1

Coba kita lihat perubahannya, cek dengan perintah lsusb dan dmesg | tail

Hasil lsusb dan `dmesg | tail` setelah di-eject

Hasil lsusb dan dmesg nya berubah. Hm… product_id nya berubah, tapi belum ada tanda-tanda dikenali sebagai modem. Sekarang kita masukkan module usbserial dengan vendor id dan product id yang baru…
modprobe usbserial vendor=0x19d2 product=0xffdd

Hasil setelah dijalankan perintah modprobe. Modem terditeksi

Yes… akhirnya terdeteksi juga… sekarang kita jalankan wvdialconf

Hasil wvdialconf

Dan… wvdialconf medeteksi modemnya di /dev/ttyUSB0 . Untuk yg lain, tidak masalah apabila modemnya terdeteksi tidak di /dev/ttyUSB0. Itu hanyalah penamaan yang diberikan oleh distro linuxnya. Yang terpenting adalah modem telah dikenali oleh wvdialconf.

Setting wvdial Untuk settingan wvdialnya, silakan edit file /etc/wvdial.conf menggunakan teks editor yang ada. Saya menggunakan teks editor nano karena lebih mudah digunakan dibanding vi ataupun vim. # nano /etc/wvdial.conf Berikut adalah settingan wvdial yang saya gunakan (ganti /dev/ttyUSB0 dengan hasil yang didapat pada saat menjalakan perintah wvdialconf) :
[Dialer Default] Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Dial Command = ATDT Modem = /dev/ttyUSB0 ISDN = 0 Username = smart Password = smart Phone = #777 Modem Type = Analog Modem Stupid Mode = on Baud = 115200 New PPPD = yes

Jika sudah selesai, tekan Ctrl+O untuk menyimpan dan tekan Ctrl+X untuk keluar. Terakhir kita coba jalankan wvdial untuk mulai browsing..

# wvdial

Modem Smartfren ZTE AC682 sudah bisa digunakan… Selamat browsing NB: Apabila wvdial sudah jalan tapi belum bisa internetan, buka terminal/konsole baru, lalu jalankan perintah berikut:
# cp /etc/ppp/resolv.conf /etc/resolv.conf

Tambahan bagi pengguna ubuntu. Tips ini diberikan oleh mas Budi. Terima kasih mas, mau share. Saya copy langsung reply dari mas Budi: mas akhirnya saya berhasil ngenet ni di ubuntu pake smart ac682, (maaf baru sempet sharing lagi), jadi klo saya waktu itu, saya delete semua connection yang ada di : klik kanan icon network connection yg ada di kanan atas, trus delete connection yang ada di: wired, wireless, mobile broadband. setelah bersih, coba lagi, alhamdulillah jalan. kalo gak langsung jalan, coba direstart dulu. ok, buat yg punya masalah sama, semoga cara tadi bisa dipake. Satu lagi tambahan untuk pengguna ubuntu. Tips berikut diberikan oleh mas Andri. Sekedar sharing di Ubuntu 11.10 Linux mania.. biasanya klo pake wvdial dns selalu berubah2.. (konek kemudian lihat di /etc/resolv.conf). Bila pengen pake public dns, macam google dns, open dns, pertama install resolvconf (pake synaptic ato terminal), kemudian edit /etc/wvdial.conf. Tambahkan Auto DNS = off. Edit /etc/ppp/peers/wvdial, ubah usepeerdns menjadi #usepeerdns. Edit /etc/resolvconf/resolv.conf.d/head, tambahkan nameserver nameserver 8.8.4.4 8.8.8.8

Hi I have an EVDO rev. A modem which work well using TP-Link 3G modem router TL-MR3420, which i know that using usb_modeswitch But when i try to use my own openwrt box modeswitch doesn't have any configuration yet for this modem device vendor=19d2 product=ffde

Here is my modem device information are

Quote:

root@OpenWrt:~# lsusb Bus 001 Device 012: ID 19d2:ffde ONDA Communication S.p.A.

Code:

root@OpenWrt:~# lsusb -v Bus 001 Device 012: ID 19d2:ffde ONDA Communication S.p.A. Device Descriptor: bLength bDescriptorType bcdUSB bDeviceClass bDeviceSubClass bDeviceProtocol 1.10 0 (Defined at Interface level) 0 0 18 1

bMaxPacketSize0 idVendor idProduct bcdDevice iManufacturer iProduct iSerial

64

0x19d2 ONDA Communication S.p.A. 0xffde 0.00 1 China TeleCom 2 CBP7.0 11 ÿÿÿÿÿÿÿÿÿÿ 1

bNumConfigurations

Configuration Descriptor: bLength bDescriptorType wTotalLength bNumInterfaces bConfigurationValue iConfiguration bmAttributes 9 2 32 1 1

4 CONF1 0x40

(Missing must-be-set bit!) Self Powered MaxPower 0mA

Interface Descriptor: bLength bDescriptorType bInterfaceNumber bAlternateSetting bNumEndpoints 0 2 9 4 0

bInterfaceClass bInterfaceSubClass bInterfaceProtocol iInterface

8 Mass Storage 6 SCSI 80 Bulk (Zip)

9 Data Interface3

Endpoint Descriptor: bLength bDescriptorType bEndpointAddress bmAttributes Transfer Type Synch Type Usage Type wMaxPacketSize bInterval 0 7 5 0x04 EP 4 OUT 2 Bulk None Data 0x0040 1x 64 bytes

Endpoint Descriptor: bLength bDescriptorType bEndpointAddress bmAttributes Transfer Type Synch Type Usage Type wMaxPacketSize bInterval Device Status: 0 0x0001 7 5 0x84 EP 4 IN 2 Bulk None Data 0x0040 1x 64 bytes

Self Powered

Quote:

root@OpenWrt:~# cat /proc/bus/usb/devices T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 12 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=19d2 ProdID=ffde Rev= 0.00 S: Manufacturer=China TeleCom S: Product=CBP7.0 S: SerialNumber=ÿÿÿÿÿÿÿÿÿÿ C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none) E: Ad=04(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=84(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms

Quote:

root@OpenWrt:~# dmesg | tail usb 1-1: USB disconnect, device number 10 usb 1-1: new full speed USB device number 11 using ar71xx-ehci usb 1-1: device descriptor read/64, error -71 usb 1-1: USB disconnect, device number 11

eth1: link up (100Mbps/Full duplex) eth1: link down eth1: link up (100Mbps/Full duplex) usb 1-1: new full speed USB device number 12 using ar71xx-ehci usb 1-1: device descriptor read/64, error -71

Please please help me out. Thanks in advance. Back to top Josh Posted: Thu Aug 25, 2011 5:07 pm Site Admin Joined: 02 Nov 2007 Posts: 2174 Sorry for the late reply, failed to notice this topic before ...

It should be fairly easy to add support for your device. There is a limited number of things to try.

Get the latest data package, unpack and see the folder "usb_modeswitch.d". For the first attempts, it's more convenient to use the command line, taking the "MessageContent" string from the respective config file; you can provide it with the "-M" parameter.

Example with the string from "19d2:ffe6": Code: # usb_modeswitch -I -v 19d2 -p ffde -M "5553424330f4cf8124000000800108df200000000000000000000000000000"

If that does not work, replace the long string with the one from files "19d2:fff5" or "19d2:0013". It's highly likely that one of those three will do the trick. Check with lsusb each time. Replug before each new attempt.

I am not sure how usb_modeswitch is called automatically on OpenWRT when plugging in the stick. You may have to figure that out once you found the correct "MessageContent".

Sign up to vote on this title
UsefulNot useful