Restore OpenWrt MR3020 Ke Firmware TP-Link

Setelah asyik beberapa minggu testing OpenWrt di TL-MR33020, jadi pingin coba restore ke firmware original TP-Link. Murni iseng. Iseng-iseng berhadiah. Hehehe..

Prosedur restore TL-MR3020 dari OpenWrt ke firmware original sebenarnya mudah, seperti yg dijabarkan di sini. Sebelumnya, pastikan firmware yg digunakan tepat dan Sebelum me-restore original firmware, pastikan switch mode ke WISP.

LuCI terinstal

Pilih menu System->backup/update firmware. Pada bagian Flash new firmware image, untick Keep settings, browse file original firmware dari TP-Link. Klik Flash image…

Note: Upload via LuCI, jika firmware ada kata boot nya, nggak bisa. LuCI yield: The uploaded image file does not contain a supported format. Make sure that you choose the generic image format for your platform. Nice! 😉

LuCI tidak terinstal

Salin firmware original TP-Link ke direktori /tmp pada TL-MR3020, lalu restore firmware menggunakan program mtd.

# cd /tmp 
# wget -c http://ofmodemsandmen.com/download/Factory/mr3020nv1_en_3_14_2_up(120817).bin 
# mtd -r write mr3020nv1_en_3_14_2_up(120817).bin firmware 

Tunggu hingga router selesai reboot. Congrats! Udah balik firmwarenya. Tinggal selangkah lagi, akses router via browser di http://192.168.0.254/ dengan username/password adalah admin/admin. Kemudian lakukan factory reset, pilih menu System Tools -> Factory Defaults. Selesai.

Iseng-iseng berhadiah

Oia, di atas sempat disinggung firmware original yg tepat. Seperti apa sih? Emang apa akibatnya kl firmware yg digunakan tidak tepat?

Firmware original TP-Link yg tepat untuk di-restore adalah firmware dengan versi yg tidak ada kata boot pada nama filenya1. Ini adalah versi firmware yg tidak ada boot-loader-nya. Jika me-restore menggunakan firmware versi lain, dapat dipastikan TL-MR3020-nya akan brick (boot loop).

Been there, done that! Pertama kali coba restore ke firmware original MR3020, mungkin karena terlalu bersemangat & tidak teliti baca manual (duh!!!), restore pake firmware original versi terbaru yg aku punya.

Upload file firmware ke direktori /tmp di MR3020 dengan WinSCP, kemudian:

# cd /tmp
# mtd -w write mr3020nv1_en_3_17_1_up_boot(130929).bin firmware

Unlocking firmware ...

Writing from mr3020nv1_en_3_17_1_up_boot(130929).bin to firmware ...  [e]Failed to erase block
# reboot

Defenately, rebooting was a bad move. Failed to erase block adalah indikasi bahwa something goes wrong. Sebenarnya, selama tidak di-reboot, OpenWrt masih aktif dan bisa digunakan. Note for myself, when this happen again, do not reboot, write another valid firmware!

Setelah reboot, MR3020 ku memasuki state 'boot loop', semua LED blink (sekitar) 1 detik, terus-menerus. Berikut log Putty via Serial, pada saat boot loop terjadi.

U-Boot 1.1.4 (Mar 26 2013 - 16:03:16)

AP121 (ar9330) U-boot

DRAM:  32 MB
led turning on for 1s...
id read 0x100000ff
flash size 4194304, sector count = 64
Flash:  4 MB
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   ag7240_enet_initialize...
No valid address in Flash. Using fixed address
No valid address in Flash. Using fixed address
: cfg1 0x5 cfg2 0x7114
eth0: 00:03:7f:09:0b:ad
ag7240_phy_setup 
eth0 up
: cfg1 0xf cfg2 0x7214
eth1: 00:03:7f:09:0b:ad
athrs26_reg_init_lan
ATHRS26: resetting s26
ATHRS26: s26 reset done
ag7240_phy_setup 
eth1 up
eth0, eth1
Autobooting in 1 seconds
## Booting image at 9f020000 ...
   Uncompressing Kernel Image ... Too big uncompressed streamLZMA ERROR 1 - must RESET H1.1.4 (Mar 26 2013 - 16:03:16)

AP121 (ar9330) U-boot

DRAM:  32 MB
led turning on for 1s...
id read 0x100000ff
flash size 4194304, sector count = 64
Flash:  4 MB
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   ag7240_enet_initialize...
No valid address in Flash. Using fixed address
No valid address in Flash. Using fixed address
: cfg1 0x5 cfg2 0x7114
eth0: 00:03:7f:09:0b:ad
ag7240_phy_setup 
eth0 up
: cfg1 0xf cfg2 0x7214
eth1: 00:03:7f:09:0b:ad
athrs26_reg_init_lan
ATHRS26: resetting s26
ATHRS26: s26 reset done
ag7240_phy_setup 
eth1 up
eth0, eth1
Autobooting in 1 seconds
## Booting image at 9f020000 ...
   Uncompressing Kernel Image ... Too big uncompressed streamLZMA ERROR 1 - must RESET 

Bootloader masih aman, hanya image yg akan di-boot aja yg error.

Tetap pada niatan awal, menggunakan cara yg sama persis dengan cara ini hanya saja menggunakan firmware original TP-Link yg valid, sukses untuk restore TL-MR3020 ke firmware original.

RTFM


  1. File firmware original ini juga tersedia untuk di-download dari situs resmi TP-Link. http://www.tp-link.com/Resources/software/TL-MR3020_V1.00_120817.zip 
Iklan
Restore OpenWrt MR3020 Ke Firmware TP-Link

Instalasi OpenWrt Pada TP-Link TL-MR3020

Well, sebenarnya ini bukan proses instalasi pertama pada router TL-MR3020 ku. Router ini juga pernah brick trus aku debrick sendiri juga (Alhamdulillah, berhasil.. 😉 . Sayangnya, semua pengalaman itu nggak ditulis. Jadi sekarang, pingin nulis proses instalasi OpenWrt (sekali lagi) biar nggak lupa. Proses restore original firmware TP-Link dari OpenWrt, dibahas di post lain.

Tutorial instalasi OpenWrt itu banyak dan sebenarnya cukup mudah untuk diikuti. Apalagi kalau firmware TL-MR3020 nya masih asli bawaan pabrik. Cukup update firmware via Web GUI (Menu System Tools>Firmware Upgrade). Tapi kali ini, ingin mencoba instalasi OpenWrt ke TL-MR3020 menggunakan Serial Console dan TFTP. Sistem operasi yg digunakan adalah Windows 8. Yg menjadi acuan adalah tutorial dari wiki.openwrt.org

Sebelum mulai, ada beberapa hal yg perlu disiapkan terlebih dahulu, yaitu:

  1. TP-Link TL-MR3020; Router harus dibuka cover bagian atasnya untuk dapat mengakses mainboard. Model router yg digunakan adalah versi 1.8, pada versi ini di-mainboard-nya tidak ada pin untuk koneksi serial, hanya solder pad aja. Untuk kebutuhan ini, kabel bisa langsung disolder ke mainboard atau bisa dengan menyolder 4 pin in-line header (thanks to Mas Wanto, yg udah ngasih header+nyolderin 😀 ).
  2. USB-to-Serial Cable; Kabel harus sudah dikenali oleh Windows 8 dan driver telah terinstal dengan baik (no error). Kabel yg digunakan menggunakan chipset Prolific PL2303HXA.
  3. TFTP Server; Yg aku gunakan adalah TFTPgui. Applikasi ini menggunakan bahasa pemrograman Python. Jika tidak ingin menginstal Python, download saja ttftpgui_2_1_py25_installer.exe, ini adalah installer yg sudah “tertanam” Python Interpreter di dalamnya. Sialahkan check situs tftgui untuk pilihan download yg lain.
  4. Firmware OpenWrt untuk TL-MR3020; Firmware yg akan diinstall adalah latest trunk snapshot. Pilihan lain, dapat menggunakan firmware terbaru Attitude Adjustment dari sini. Atau silahkan melirik firmware dari OpenWrt Indonesia.
  5. Putty; Versi yg digunakan adalah 0.63 dan dapat di-download di sini.
  6. UPS; Ada baiknya jika router TL-MR3020 source powernya dari sebuah UPS. Hal ini untuk menghindari router mati mendadak karena lost power pada saat proses write firmware berlangsung.

Ok, persiapan selesai. Lanjut ke proses instalasi. Berikut langkah-langkahnya:

  1. Berdoa dengan tulus dan ikhlas. Tulus agar proses instalasi ini dapat berjalan lancar.  Dan ikhlas, jika seandainya sampai terjadi hal-hal yg tidak diinginkan, kita bisa menerimanya sebagai hikmah dan pelajaran berharga… 😀
  2. Salin firmware OpenWrt ke subfolder tftproot di folder instalasi TFTPgui. Sebenarnya tftp root folder ini folder apa saja, bisa disetting pada setup TFTPgui. Up to You, lahh..2014-01-02 20_20_00-TFTPgui
  3. Set IP address PC server TFTPgui ke 192.168.1.100 lalu plug kabel ethernet ke LAN port laptop dan hubungkan ke WAN/LAN port TL-MR3020 (masih dalam keadaan power off).
  4. Plug kabel USB-to-Serial ke laptop, lalu pastikan settingan Prolific USB-to-Serial Comm Port (port COM20 pada PC ku) sebagai berikut:
    1. Bits per second: 115200
    2. Data bits: 8
    3. Parity: None
    4. Stop bits: 1
    5. Flow control: None

    2014-01-02 19_40_25-Prolific USB-to-Serial Comm Port (COM20) Properties

  5. Jalankan Putty, lalu sesuaikan dengan setting Prolific USB-to-Serial Comm Port.
    • Pada opsi Category»Serial ubah parameter sbb:2014-01-02 19_42_32-PuTTY Configuration
    • Pada opsi Category»Session pilih Serial pada Connection Type.2014-01-02 19_43_05-PuTTY Configuration
  6. Hubungkan kabel USB-to-Serial dengan pin serial pada mainboard TL-MR3020. Klik tombol “Open” pada Putty Configuration untuk mulai menjalankan Putty Serial Console. Lalu power up TL-MR3020.
  7. Pada jendela Putty Serial Console, akan tampak prosees boot router. Setelah muncul “Autobooting in 1 seconds“, cepat-cepat ketik tpl. Kemudian akan muncul prompt “hornet>“. Ini adalah U-Boot command prompt, tandanya router siap menerima command.2014-01-04 19_45_02-COM20 - PuTTY
  8. Set IP address router menjadi 192.168.1.111
    hornet> setenv ipaddr 192.168.1.111
  9. Set IP address tftp server, yaitu 192.168.1.100
    hornet> setenv serverip 192.168.1.100
  10. Load OpenWrt firmware dari tftp server dan load ke
    hornet> tftpboot 0x80000000 openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin
  11. Erase
    hornet> erase 0x9f020000 +0x3c0000
  12. Copy
    hornet> cp.b 0x80000000 0x9f020000 0x3c0000
  13. Boot
    hornet> bootm 9f020000

    2014-01-04 20_05_34-COM20 - PuTTY

  14. Setalah perintah terakhir, Putty Serial Console akan menampilkan proses booting OpenWrt. Jika telah muncul “Please press Enter to activate this console.”, tekan <Enter>
    BusyBox v1.19.4 (2014-01-03 19:26:10 CET) built-in shell (ash)
    Enter 'help' for a list of built-in commands.
      _______                     ________        __
     |       |.-----.-----.-----.|  |  |  |.----.|  |_
     |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
     |_______||   __|_____|__|__||________||__|  |____|
              |__| W I R E L E S S   F R E E D O M
     -----------------------------------------------------
     BARRIER BREAKER (Bleeding Edge, r39185)
     -----------------------------------------------------
      * 1/2 oz Galliano         Pour all ingredients into
      * 4 oz cold Coffee        an irish coffee mug filled
      * 1 1/2 oz Dark Rum       with crushed ice. Stir.
      * 2 tsp. Creme de Cacao
     -----------------------------------------------------
    root@OpenWrt:/#

Well done. OpenWrt sudah terinstal pada TL-MR3020. Saat ini, TL-MR3020 masih dalam konfigurasi OpenWrt System Default. Yukk.. Mari dipelajari.. 😉

Instalasi OpenWrt Pada TP-Link TL-MR3020