Print
Category: Komputer
Hits: 14527

Salah satu postingan saya di social media beberapa hari lalu :

Pernah dengar Raspberry Pi?
Ini hampir sama dengan Rpi itu, tapi ukurannya lebih kecil dan harga cuman 1/3nya.

CPU boardnya yang ijo tuh, harganya nggak sampai 200ribu.
Processor 400 MHz, Ethernet, USB2 (host), Serial, Wifi.

Bisa jadi wireless web server, tambahin harddisk jadi NAS, kasih webcam 50ribuan jadi Ip Camera, sambungin Arduino bisa jadikan Arduinonya wireless (diakses lewar wifi-hape) atau jadi robot sekalian, jadi proxy & router, kasih USB VGA bisa display di monitor, kasih USB sound card bisa jadi internet radio/ip soundcast., de el el.

Rangkaian komputer kecil, murah nan banyak guna.

Ternyata memajang foto dan tulisan itu membawa akibat aku kudu membuat penjelasan dalam beberapa pertemuan dengan teman-teman. Konsekuensi berikutnya adalah kewajiban membuat tulisan ini setelah setahun nggak nyentuh blog ini lagi.

Okelah kalau begitu, baca halaman berikutnya ya?

 


Fokus pembahasan ini tertuju pada benda kotak berwarna hijau yang dihiasi lampu kelap-kelip warna hijau bak pohon natal. Itu adalah sebuah mainboard yang sudah berisi :

Mainboard : MR3020

Prosesor Atheros AR7240@400MHz
RAM 32 MiB
Flash Storage 4 MiB
Ethernet 10/100 Mbps
USB2 port
Serial port
Wifi 802.11b/g/n MIMO

Dengan harga sekitar 200ribu rupiah, ukuran board hanya 5,5 x 5,5 cm dan penggunaan daya 1W melalui konektor mini USB, menjadikan board ini memiliki banyak nilai plus dengan beberapa keterbatasannya.

Sekarang, darimana sih dapat board seperti ini? Banyak yang merasakan kemisteriusannya saat fotonya kupamerkan di social media kemarin.

Baca halaman lanjutannya...


 

Setelah cukup penasarannya, saya akan membongkar identitas misterius alat ini.
Sebenarnya alat ini adalah... jreng jreng... sebuah mini router merk TP-Link type MR3020.

TPLink MR3020Hah, serius?
Barang gituan sih beli di toko komputer biasa juga bisa, gampang ditemukan dan harganya murah banget kan? Nah apa kubilang, benda ini layak jadi mainan para linux geek.
Jerohannya komputer, bisa diinstall Linux, pasang program dan service ini-itu, pasang USB hub (USB portnya kan cuman satoe?) lalu pasang perangkat berUSB, maka jadilah server mini multiguna.

MR3020 + FlashdiskTapi spesifikasinya sepertinya terbatas banget? Ya, terutama storage dan USB port. Namun semua itu bisa diatasi dengan memasang USB hub dan menambahkan USB disk (flashdisk). System bisa diatur supaya memindahkan root file system ke external storage setelah booting awal, istilahnya extRoot.

Apakah hanya tipe ini yang bisa dioprek sedahsyat itu? Nggak.
Masih banyak merk dan tipe lain yang bisa dijadikan mainan.

Lalu kenapa barang yang ini?

Sebenarnya ada sih yang lebih asyik, typenya MR3040. Isinya hampir sama dengan yang ini, tapi sudah ada batere internalnya. Jadi nggak usah pakai eksternal power, tapi.... kalau kita udah pakai USB hub dengan bermacam-macam peralatan yang kecolok pasti power pada USB portnya bisa keok, jadi tetap aja butuh external power buat kasih tenaga ke USB peripheralnya.

Oke, sekarang kita sudah tahu asal-usul utamanya, sekarang itu kan hanya router kecil, bagaimana dengan Linuxnya? apakah dari sononya sudah ada OS Linuxnya?
Kalau mengandalkan firmware bawaannya ya jelas hanya bisa difungsikan sebagai 3G router.
Jadi kita perlu mengganti firmware bawaannya dengan distro Linux yang sudah dirancang bisa bekerja dengan hardware ini, yaitu OpenWRT.
Loh, sama aja dong, OpenWRT kan distro buat router juga? Dasarnya sih iya, tapi ini kan distro Linux gitu loh, open source gitu loh, jadi tentu bisa diexpand lagi program ama fungsinya.

Ya, kita bahas nanti saja lah.
Berikutnya cerita cara gantiin firmwarenya jadi OpenWRT yah?

 


Sumber : OpenWRT Wiki

Prens, sebelumnya saya mau wanti-wanti dulu ya, dalam melakukan semua ini pasti ada resiko rusak dan garansi barang yang kita oprek akan musnah tak berguna. Jadi kalau mau ikutan, kudu nekat dan tanggun sendiri resikonya. Kalau ruwet, capek, sebel, gagal, rusak dan apapun yang terjadi dengan jiwa ragamu, gw udah nggak nanggung jawab loh ya. Do it with your own risk! 

Kalau udah setuju, silahkan dilanjut...
Pertama download file :

http://downloads.openwrt.org/attitude_adjustment/12.09-rc1/ar71xx/generic/openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin

Ini adalah file firmware yang berisi OS Linux OpenWRT untuk TP-Link MR-3020.
Firmware ini adalah versi RC-1, versi stabil terbaru untuk saat ini. 
Kalau hardwaremu berbeda, silahkan sesuaikan OpenWRT yang kamu gunakan sesuai dengan milikmu, salah pilih bisa berakibat barangmu tidak bisa dipakai lagi, nggak berpotensi lagi!  

Setelah file tersebut terdownload, koneksikan komputer dengan router MR3020, usahakan menggunakan sambungan kabel Ethernet (LAN) supaya koneksi lebih reliabel saat proses penggantian firmware. 

  1.  Buka administrator page router kalian, mungkin aja di http://192.168.0.254 atau bisa beda kalau udah pernah ganti setting.
  2. Login dengan admin user (kalau masih kinclong baru  atau habis direset ya usernya admin dan passwordnya admin juga (nggak pakai juga).
  3. Dari menu utama (deret kiri), pilih System Tools - Firmware.
  4. Lalu di tampilan utama, klik tombol Choose File, arahkan dan pilih file yang sudah didownload tadi.
  5. Kalau sudah nekat, klik Upgrade.Menu update firmware TP-Link

  6. Nah, setelah terlanjur klik tombol upgrade, barangmu bakal restart tapi udah nggak bisa dikerjain lagi lewat web, karena firmware udah berubah.
    Ethernet addressnya juga berubah, defaultnya adalah 192.168.1.1
    Default dari firmware ini (Vanilla!) memang belum ada web interfacenya (tapi kadang sudah ada webservernya), jadi cara kita melanjutkan setup adalah melalui telnet ke  192.168.1.1 tadi, tapi sesuaikan dulu setelan jaringan kamu supaya masuk dalam subnet 192.168.1.1/24. Misalnya ganti IP komputer kamu jadi 192.168.1.100
  7. Jalankan perintah telnet 192.168.1.1 dan hasilnya adalah
    telnet 192.168.1.1 (to OpenWRT box)

  8.  Tadaaaaaa.... routermu sudah berubah jadi sebuah komputer, sebuah LInux box beneran.

Nah sekarang gimana, udah selesai? Terserah, kalau sudah puas dengan yang ginian ya berikutnya terserah anda. Kalau masih mau dilanjut, berikutnya adalah mempersiapkan flashdisk, modul USB untuk kernelnya, install web interface untuk administrasi alatnya, dll. dll.

Baca halaman berikutnya ya...


 Yo... Sekarang sudah punya komputer supermungil? Mini Linux box? Sekarang kita lanjutkan supaya fungsinya bisa tambah banyak ya.

Sekarang kita siapkan supaya OpenWRT box kamu bisa dipasang flashdisk karena dengan image vanilla yang barusan dipasang itu modul-modul kernelnya terbatas sekali, maklumlah storagenya cuman 4 MiB!

Untuk memasukkan modul kernel, salah satu cara yang umum digunakan adalah dengan  install langsung dari repository menggunakan perintah opkg install. Karena file instalasi terdapat di internet, jadi kita perlu menyesuaikan setting jaringan supaya OpenWRT box kamu nyambung ke internet.

  1.  Edit file /etc/config/network lalu sesuaikan isinya dengan setting jaringanmu.
    root@OpenWrt:~# vi /etc/config/network

    Contoh isinya (sesuaikan dengan jaringanmu) :
    config interface 'loopback'
    	option ifname 'lo'
    	option proto 'static'
    	option ipaddr '127.0.0.1'
    	option netmask '255.0.0.0'
    
    config interface 'lan'
    	option ifname 'eth0'
    	option type 'bridge'
    	option proto 'static'
    	option ipaddr '192.168.1.10'
    	option netmask '255.255.255.0'
    	option gateway '192.168.1.1'
    	list dns '192.168.1.1'
    	list dns '8.8.8.8'
    
    config interface 'wan'
    	option ifname 'eth0.1'
    	option proto 'dhcp'
    	option gateway '192.168.1.1'
    	option netmask '255.255.255.0'
    	list dns '192.168.1.1'
    	list dns '8.8.8.8'
    
    config interface 'wifi'
    	option proto 'static'
    	option ipaddr '192.168.2.1'
    	option netmask '255.255.255.0'
     
  2. Restart lalu telnet lagi ke nomer IP yang baru, pada contoh diatas adalah 192.168.1.10.
    Pastikan koneksi internet sudah baik dan benar, test dengan ping ke google atau ke website lain.
    Kalau ping tidak berhasil, pasti ada yang salah dengan setting jaringan atau koneksi internet kamu. 
  3. Setelah koneksi internet oke, sekarang saatnya install modul kernel untuk USB support :
    root@OpenWrt:~# opkg update 
    root@OpenWrt:~# opkg install kmod-usb-uhci 
    root@OpenWrt:~# insmod uhci 
    root@OpenWrt:~# opkg install kmod-usb-ohci 
    root@OpenWrt:~# insmod usb-ohci
     
  4. Setelah itu, sekarang giliran untuk modul USB flashdisk :

    root@OpenWrt:~# opkg update
    root@OpenWrt:~# opkg install kmod-usb-storage block-mount kmod-fs-ext4 kmod-fs-vfat  kmod-scsi-core e2fsprogs 

  5. Sekarang periksa apakah proses tersebut berhasil dengan menancapkan flash disk ke USB port. Lalu lihat dengan perintah ls /dev/sd*  
    root@OpenWrt:~# ls /dev/sd*

    Kalau muncul daftar partisi flashdisknya (sda, sda1, sda2, sdb1, sdb2) atau yang lain, berarti perjalanan kamu lumayan lancar sampai disini.

  6. Sekarang siapkan sebuah flash disk dengan sebuah partisi ext4, silahkan ditambahkan partisi lain jika diinginkan. 
  7. Pasang flashdisk tadi, lalu mount ke /mnt/usb lalu buat extRoot dengan menyalin /overlay ke /mnt/usb
    root@OpenWrt:~# mkdir -p /mnt/usb 
    root@OpenWrt:~# mount -t vfat /dev/sda1 /mnt/usb
    root@OpenWrt:~# tar -C /overlay -cvf - . | tar -C /mnt/usb -xvf -
  8.  Kamu sekarang sudah punya extRoot di flashdisk, artinya main storagemu sudah ada di flashdisk dengan ukuran yang jauh lebih lega sehingga nantinya bisa dipasang bermacam-macam aplikasi.
    Sekarang giliran edit /etc/config/fstab supaya flashdisk ini akan ter-mount otomatis setiap booting.
    root@OpenWrt:~# vi /etc/config/fstab

    sesuaikan bagian "config mount" sehingga jadi seperti ini :
     config 'mount'
            option target   /overlay
            option device   /dev/sda1
            option fstype   ext4
            option options  rw,sync
            option enabled  1
            option enabled_fsck 0
     
  9. Sekarang restart OpenWRT box anda, tunggu sampai proses boot selesai, lalu telnet lagi ke box anda. Check penggunaan flashdisk dengan perintah df.
     
    root@OpenWrt:~# df
    Filesystem           1K-blocks      Used Available Use% Mounted on
    rootfs                 1962212     65100   1798716   3% /
    /dev/root                 1536      1536         0 100% /rom
    tmpfs                    14600        72     14528   0% /tmp
    tmpfs                      512         0       512   0% /dev
    /dev/sda1              1962212     65100   1798716   3% /overlay
    overlayfs:/overlay     1962212     65100   1798716   3% /
     

    Perhatikan dari ukuran dan availablenya, seharusnya besarnya sesuai  dengan ukuran partisi ext4 pada flashdisk yang kamu siapkan tadi. Kalau ukurannya kecil sekali berarti ada masalah pada proses mounting flashdisk dan penggunaan extRoot.

Nah yang kita miliki sekarang adalah sebuah Linux box kecil mungil dengan storage yang lumayan, berikutnya kita akan pasang web interface untuk memudahkan kita mengutak-atik OpenWRT box kita.


Untuk bagian terakhir dari artikel ini adalah memasang web interface.
Loh kok terakhir? ya artikel ini membahas sampai kita punya Linux box yang siap diwujudkan untuk  menjadi fungsi yang beragam, jadi pembahasan yang lebih khusus, menjurus dan beragam harus dibahas di artikel yang terpisah (berikutnya).

Web interface yang biasa digunakan pada OpenWRT adalah LUCI - Luci is Universal Configuration Interface. Cara pemasangannya :

  1. Siapkan repo 
    root@OpenWrt:~# opkg update
  2. Install webserver Lighttpd dan Luci
    root@OpenWrt:~# opkg install lighttpd lighttpd-mod-cgi luci-mod-admin-full luci-theme-openwrt libiwinfo libwinfo-lua
  3. Edit file /etc/lighttpd/lighttpd.conf
    root@OpenWrt:~# vi /etc/lighttpd/lighttpd.conf

    Enable dan sesuaikan bagian server.modules menjadi :
     
    server.modules = (
    #       "mod_rewrite",
    #       "mod_redirect",
    #       "mod_alias",
    #       "mod_auth",
    #       "mod_status",
    #       "mod_setenv",
    #       "mod_fastcgi",
    #       "mod_proxy",
    #       "mod_simple_vhost",
            "mod_cgi",
    #       "mod_ssi",
    #       "mod_usertrack",
    #       "mod_expire",
    #       "mod_webdav"
    )
     

    Karena /www akan digunakan Luci, maka wwwroot kita pindahkan ke /website
    Cari setting :
     #server.document-root = "/www/"
    Ganti menjadi :
     server.document-root = "/website"
     
    Kemudian :
     #server.port = 81
    Ganti menjadi :
     server.port = 80

    Tambahkan bagian akhir untuk menjalankan Luci 
    $SERVER["socket"] == ":88" {
        server.document-root = "/www/"
        cgi.assign = ( "luci" => "/usr/bin/lua" )
    }
     
  4. Buat file /website/index.html untuk melihat apakah webserver berjalan dengan baik
    # mkdir /website
    # echo "OpenWRT Webserver! OK!" >> /website/index.html
  5. Enable service dan jalankan Lighttpd
    root@OpenWrt:~# /etc/init.d/lighttpd start
    root@OpenWrt:~# /etc/init.d/lighttpd enable
  6. Test dengan web browsermu, dengan alamat yang sesuai dengan setting jaringanmu.
    Pada setting diatas, alamatnya adalah
    untuk webserver http://192.168.1.10
    untuk LUCI http://192.168.1.10:88 

Done! Sekaran kamu punya komputer supermurah, supermungil yang siap dijadikan bermacam-macam fungsi. Untuk saat ini aku sudah bermain dengan :

Masih banyak fungsi lain yang bisa ditanamkan, selamat bereksplorasi!