Tak terasa dua minggu lebih telah berlalu sejak paket modem smart Haier C700 menjadi milikku. Keputusan yang tak kusesali, paket modem ini lumayan memuaskan. Hanya dengan Rp400 rb aku bisa menikmati akses internet unlimited dengan kecepatan yang lumayan.
"Bisa nggak ya mbak, dipake di Linux?", demikian tanyaku basa-basi pada mbak-mbak costumer services dealer smart.
"Wah, gak bisa mas. Kami hanya menyediakan support untuk Windows XP, Vista, dan Mac OS.", katanya menjelaskan.
"Trus bagaimana dengan versi haier yang dulu, D1200P?"
"Wah, kalo yang itu kami supportnya malah Windows XP aja, driver untuk Vista dan Mac belum kami sediakan"
Kata-kata terakhir gadis smart berbaju merah itu membulatkan niatku untuk membeli hape manis murah meriah itu. Telah kucari sebelumnya di internet, Haier D1200P bisa dipakai buat konek ke internet. Andai mbak-mbak itu mengatakan D1200P bisa konek internet di Linux, aku takkan mengambil versi ini.
Hitam legam dengan warna lampu keyboard biru, simpel dan nyaman dipegang, itulah Haier C700. Ternyata versi yang ini menyediakan slot micro SD juga, beserta mp3 player. Tapi yang kuinginkan hanyalah modem. Di Linux, tentu saja.
Tiga hari pertama kuhabiskan waktuku mengotak-atik Debian Lenny-ku. Memanfaatkan windowsku yang jarang sekali kupakai, aku mencari tutorial dengan bantuan Mr Google. Hampir semua artikel tentang koneksi Haier di Linux membicarakan Haier D1200P. Dimana gerangan master-master Linux yang sukses konek internet dengan Haier yang ini?
Wvdial dan wvdialconf
Sebelum smart, aku mengandalkan motorola c380 tuaku, dengan kartu im3 di dalamnya. Sungguh tidak nyaman. Tapi konek. Dan petualanganku dengannya cukup mengasyikan.
Motorola memang beda dengan Haier. Motorola buatan Eropa, Haier China. Motorola menjalin kerjasama dengan Open Source, Haier nampaknya tidak. Maka sangat muluslah koneksi motorola-Linux. Tanpa modifikasi apa-apa pada script modul, kernel telah mendeteksi modem ini dengan baik. Coba lihat dengan perintah dmesg, nampak jelas hapeku terdeteksi sebagai /dev/ttyACM0. Dengan bantuan sudo 'wvdialconf', aku telah memiliki file konfigurasi di /etc/wvdial.conf secara otomatis. Cukup dengan menambahkan dial number, username, dan password di file tersebut semua orang bisa menjalankan 'sudo wvdial' dan sukses terkoneksi ke internet.
Cara ini ternyata gak bisa diterapkan di modem yang satu ini. Wvdialconf berhenti dan menyerah. Ada apa ini. Untuk mengetahui seberapa jauh kernelku mengenal modem baru ini, kupanggil dmesg di terminal. Berikut ini sebagian output yang keluar.
[ 59.853627] usb 4-1: New USB device found, idVendor=05c6, idProduct=9004Tapi mengapa wvdialconf gak bisa mengenal modem itu? Baru-baru ini aku mengerti bahwa ternyata wvdialconf hanya bisa mengenali modem yang terpasang jika dia telah dikenal sebagai satu device dalam format /dev/namadevice. Motorolaku telah dikenal baik oleh linux, tapi aku harus mengenalkan Haierku padanya.
[ 59.853629] usb 4-1: New USB device strings: Mfr=3, Product=2, SerialNumber=0
[ 59.853631] usb 4-1: Product: Smart CDMA Technologies MSM
[ 59.853632] usb 4-1: Manufacturer: Smart
Driver dan Modprobe
Microsoft memanjakan kita dengan segala sesuatu yang Instan. Linux memanjakan penggunanya dengan bentuk lain; dan lebih hebat: kemanjaan tersembunyi yang tak habis-habisnya digali. Dan kemanjaan itu membuat penggunanya mengerti apa yang ada di balik kemanjaan itu, karena kemanjaan yang adalah kemanjaan akan mudahnya informasi mengenai proses yang terjadi di Linux.
Setelah dua minggu mempelajari hal ini demi suksesnya koneksi internet dengan haier C700, solusi terpenting koneksi modem ini hanya satu baris:
sudo modprobe usbserial vendor=0x05c6 product=0x9004Modprobe adalah perintah untuk menambahkan atau menghapus module dari Kernel Linux. Karena perintah ini membutuhkan account administrator, kutambahkan sudo. Jika dibahasakan dalam bahasa manusia, perintah tersebut menyuruh kernel supaya menggunakan modul usbserial pada device dengan idVendor=05c6 dan idProduct=9004 yang telah dikenal sebelumnya. Informasi tersebut bisa disampaikan dengan format seperti di atas, yaitu dengan statement vendor="vendor id" dan product="product id". Adapun vendor id dan product id ditulis menggunakan format bilangan hexadesimal, yaitu dengan memberi awalan 0x sebelum penulisan bilangan.
Setelah kernel mengenali modem, ada tambahan pada output dmesg seperti ini:
[ 59.649221] usb 4-1: new full speed USB device using ohci_hcd and address 2Artinya sekarang modem sudah dikenali sebatai /dev/ttyUSB0 dan /dev/ttyUSB1. Ada yang tahu mengapa ditemukan dua device di sini? Aku juga tidak tahu tepatnya. Bisa jadi yang satu adalah path ke modem, sedangkan yang lain untuk PC Suite. Tapi hanya hipotesa yang belum kucari kebenarannya.
[ 59.845716] usb 4-1: configuration #1 chosen from 1 choice
[ 59.850848] usbserial_generic 4-1:1.0: generic converter detected
[ 59.850887] usb 4-1: generic converter now attached to ttyUSB0
[ 59.850945] usbserial_generic 4-1:1.1: generic converter detected
[ 59.853533] usb 4-1: generic converter now attached to ttyUSB1
Ngomong-ngomong, kata seorang teman perintah ini cukup dijalankan sekali, dan tidak perlu diulanginya lagi untuk yang berikutnya. Sayangnya tidak demikian yang kualami. Aku harus selalu menjalankan perintah ini sekali ketika komputer menyala. Masalah kecil ternyata cukup dengan mengedit file /etc/modules dan menambahkan informasi module seperti ini:
gksudo gedit /etc/modulesKemudian tambahkan baris seperti ini:
usbserial vendor=0x05c6 product=0x9004Dengan modifikasi ini, aku takpernah lagi menjalankan perintah sudo modprobe dst.
Sesuatu di /etc/ppp/options
Berdasarkan sumber yang kudapat, aku mendapat informasi bahwa koneksi haier di Linux selalu disconnect setelah beberapa waktu (katanya cepat). Solusinya adalah mengedit suatu baris di /etc/ppp/options. Memang tutorial yang kubaca dikhususkan untuk Haier D1200P, tapi tak ada salahnya ini kuterapkan di Haierku. Demikian kuketik di terminal.
sackull@sackull-cabin:~$ gksudo gedit /etc/ppp/optionsFile konfigurasi /etc/ppp/options menyimpan beberapa opsi yang diantaranya dinonaktifkan dengan tanda '#' di depannya. Kuturuti tutorial itu untuk mengaktifkan opsi passive dan silent. Ada juga opsi seperti ini pada file tersebut:
lcp_echo_failure 4Sesuai sumber, kuganti angka 4 menjadi sebanyak-banyaknya:
lcp-echo-failure 99999999999999999999999999999999999999Khusus untuk /etc/ppp/options di sistemku, banyak sekali hal lain yang kuubah tanpa banyak pertimbangan; tentu di saat koneksiku belum sukses. Aku tak perlu repot-repot memikirkan perubahan yang terlupakan itu, toh koneksiku sukses. Tentu membandingkan performa keduanya tidak bisa kulakukan, karena file itu tidak ku-backup sebelumnya.
Kebodohan demi Kebodohan yang Akhirnya Menghasilkan Banyak Buah
Kujalankan wvdialconf dan baudrate maksimal hanya 9600. Ada apa gerangan ini? Kuedit /etc/wvdial.conf dan kuganti 9600 menjadi 230400 seperti biasanya. Kujalankan wvdial, dan yang kuterima hanyalah tulisan-tulisan aneh berdatangan.
Kekacauan-kekacauan dan kebodohan pun kulakukan mencoba mengatasi hal ini.Salah satunya adalah koneksi internt via pon, tutorial untuk haier d1200p di Ubuntu Linux. Pon pun gagal. Dan aku telah mengubah dan membuat banyak sekali file konfigurasi yang tak kutahu artinya. Aku hanya mengopy paste isi file-file yang harus kubuat, antara lain /etc/ppp/peers/smart, /etc/chatscripts/smart, /etc/chatscripts/disko. Tapi masih gagal.
Cara terakhir adalah dengan menggunakan pancingan windows. Kupilih menu Windows pada Grub Loader, konek ke smart seperti biasa, diskonek, restart, dan masuk Linux. Kujalankan sudo wvdial, dan ternyata bisa. Sayangnya ini hanya berlaku satu kali. Jika koneksi terputus, aku harus mancing di windows lagi. Sungguh menderita.
Maka kucoba upgrade kernelku. Kudownload source code kernel di http://www.kernel.org dan kupilih versi stable terbaru. Diluar dugaan kompilasi kernel tidak sesulit yang kutahu. Langsung sukses. Kuingat kembali cerita lamaku berjuang mati-matian mengompile kernel 2.6 di Red Hat 8 dengan kernel 2.4 yang berhenti dengan ketidakberhasilan.
Sayangnya loading kernel tidak berhasil. Ada sesuatu yang salah. Usut punya usut, ternyata aku belum membuat initrd. Dengan dua baris perintah sederhana untuk membuat initrd, aku berhasil. Informasi ini kudapakan dari seorang teman (yang baru kukenal tentu saja) di forum.linux.or.id (yang baru kuikuti). Kalau tertarik silakan buka link ini.
Tapi ternyata koneksi tetap tidak berhasil. Setelah melakukan bermacam-macam eksperimen, akhirnya aku menemukan cara terbaik koneksi smart tanpa pancingan di windows, serta tambahan beberapa pemahaman baru.
Kegagalan Design System Haier?
Caranya hanya dengan merestart hape, bukan komputer. Matikan hape, nyalakan lagi, jalankan wvdial. Itu jika wvdial pertama gagal. Biasanya perintah wvdial pertama sejak kunyalakan komputerku selalu berhasil. Jika koneksi terputus/kuputus dan ingin menyambungkannya lagi aku harus merestart hapeku.
Suatu saat aku menemukan bahwa restart hape pun harus dilakukan jika kemudian aku ingin memakai browser (opera mini) dari hape. Jika tidak tanpa basa-basi opera mini akan memberitahukan terjadinya "connection error". Kejadian yang sama terjadi pada koneksi internet di Linux. Mengapa di Windows tidak? Tentu karena ada sesuatu di driver bawaan smart yang mengatasi masalah ini.
Dari pengalaman itu, dapat disimpulkan bahwa ada sesuatu yang salah pada chipset smart yang tidak bisa secara otomatis kembali pada mode 'bisa terkonek'. Menurut bang utam di forum Linux, masalah ini terjadi karena "seakan-akan modem ini msh menganggap bhw koneksi belum terputus".
Sebagai mahasiswa Teknik Perangcangan Mesin, masalah ketidaknyamanan produk seperti ini sangat menarik untuk diselidiki. Apakah ini kegagalan design sistem ataukah sengaja dibuat untuk tujuan-tujuan tertentu? Analisaku, sangat kecil bahkan hampir tidak mungkin kemungkinan kesalahan ini disengaja. Lebih mungkin ini karena chipset yang cacat lebih murah, sehingga hape bisa dijual dengan harga murah, toh bisa diakali dengan driver. Sayangnya smart tidak menyediakan driver untuk Linux, dan teknisi smart tidak mengumumkan cacat ini (tentu saja) untuk bisa dijadikan referensi para pecinta linux. Minimal belum.
Wvdial dan Wvdialconf Lagi
Silakan baca lagi paragraf pertama pada 2 bagian yang lalu. Supaya lebih mudah kukutip saja untukmu:
"Kujalankan wvdialconf dan baudrate maksimal hanya 9600. Ada apa gerangan ini? Kuedit /etc/wvdial.conf dan kuganti 9600 menjadi 230400 seperti biasanya. Kujalankan wvdial, dan yang kuterima hanyalah tulisan-tulisan aneh berdatangan".Andai saja aku tak menjalankan wvdialconf sebelum wvdial dan cukup memakai settingan yang telah ada sebelumnya, aku yakin koneksiku sukses. Ini kebiasaan lamaku main cabut-colok dalam rangka konek internet pakai motorola tuaku. Dalam koneksi internet menggunakan modem Haier yang satu ini, wvdialconf dan wvdial tidak bisa dijalankan secara berurutan. Proses restart hape harus kaulakukan, jika tidak copylah isi file /etc/wvdial.conf yang sudah tersebar di blog-blog teman-teman kita. Dan jangan meniru kebodohanku yang selalu menjalankan wvdialconf sebelum wvdial, karena itu tidak perlu.
Berikut ini kusertakan saja isi /etc/wvdial.conf di sistemku, agak berbeda dengan sumber dimana aku mengcopy paste baris-baris ini. Silakan kau coba kalau tutorial yang lain tidak berhasil.
[Dialer Defaults]Nb: Init1 dan Init2 kudapat dari wvdialconf.
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem = /dev/ttyUSB1
Phone = #777
Idle Seconds = 300
Password = smart
Modem Type = Analog Modem
Stupid Mode = 1
Compuserve = 0
Baud = 460800
Dial Command = ATDT
Ask Password = 0
ISDN = 0
Username = smart
FlowControl = CRTSCTS
Kesimpulan
Mengabaikan segala macam ocehan yang kusampaikan, koneksi dialup di Linux bisa dilakukan dengan memperhatikan 3 hal berikut:
- Membuat kernel mengenali modem.
- Mengubah setting pada /etc/ppp/options sehingga dialer tidak terputus setelah periode tertentu.
- Segala macam perintah yang berkaitan dengan dialer (meliputi wvdialconf atau wvdial) hanya bisa dilakukan sekali, karena ada sesuatu yang mereka lakukan yang menyebabkan tidak kembalinya modem pada mode siap konek. Selanjutnya hape harus direstart sebelum perintah dijalankan.
Setelah memiliki koneksi yang nyaman di Linux, sangat mudah sekali browsing sambil mengotak-atik sistem. Salah satunya adalah mengupgrade Debian Lennyku yang versi stabil, mengingat paket-paket dalam branch yang satu ini relatif kuno. Akan kuceritakan lebih lanjut di postingan selanjutnya. Proyek lainnya adalah konek internet tanpa merestart hape. Ini proyek yang sangat abstrak, karena sampai saat ini pun aku tidak tahu dimana mulainya. Terakhir - ini berawal dari experimenku mongcompile kernel baru dengan costumisasi sendiri - aku berharap semoga modul qualcomm qcserial.ko segera mensuport untuk chipset qualcomm dengan produk id 0x9004, yang keberadaanya sebagai chispet di hape murah haier c700 menjadi kegembiraan dan perbincangan banyak orang.
Sampai ketemu lagi...
Sackullawastu
Daftar Sumber:
http://forum.linux.or.id/viewtopic.php?f=34&t=19477&sid=be4a7af0bfa36ea0365895005b412607
http://forum.linux.or.id/viewtopic.php?f=3&t=19877&sid=be4a7af0bfa36ea0365895005b412607
http://linuxperiences.wordpress.com/2009/08/08/setting-smart-haier-d1200p-pada-ubuntu/
http://skyisgrey.org/blog/smart-haier-d1200p-koneksi-internet-via-pon-ubuntu-linux.html/
http://forum.linux.or.id/viewtopic.php?f=34&t=19477&sid=be4a7af0bfa36ea0365895005b412607
http://forum.linux.or.id/viewtopic.php?f=3&t=19877&sid=be4a7af0bfa36ea0365895005b412607
http://linuxperiences.wordpress.com/2009/08/08/setting-smart-haier-d1200p-pada-ubuntu/
http://skyisgrey.org/blog/smart-haier-d1200p-koneksi-internet-via-pon-ubuntu-linux.html/
1 comments:
Khusus untuk ubuntu Linux, ternyata cara di atas tidak bisa diterapkan. Ada cara khusus gaya ubuntu. Silakan cabut ke blog teman seperjuangan saya di http://mboenkz41.wordpress.com/2009/10/09/think-smart-with-jaunty-and-vostro/
Mungkin membantu
Post a Comment