[Howto] BAD Fimware update - Recovery

  • Why english?
    Nachdem ich zum Thema Recovery nichts brauchbares gefunden habe gibt es nun ein HowTo von mir.
    Auch wenn dies das Deutschsprachige QNAP Forum ist, werde ich diesen Beitrag in Grenglish (German / English) verfassen, da ich nicht zusätzlich
    dieses HowTo in Englisch übersetzen möchte und auf der Englischen Seite auf dieses HowTo verweisen möchte.


    Hardware / Software:
    TS-109 Pro (with original Firmware)
    Powerbook G4 (Greetz to all Macusers) ;)
    Mac OS Leopard 10.5.6 / Ubuntu Live CD
    External USB case with a HDD formatted with fat32 or if you have enough local disc space a NFS Server.
    USB Stick (FAT32)


    Scenario:
    You have tryed to update the original QNAP firmware and the system does not boot correctly. (If you are useing debian have a look at here: http://www.cyrius.com/debian/orion/qnap/)
    The problem is, you can not mount the QNAP HDD (in a external case) via ext3 in a Ubuntu (or other distribution), because QNAP uses a modyfied ext3 filesystem.
    Now you would like to backup your files on a external HDD, before you reset the qnap firmware and this update erase your hdd.
    In the forums their exists an little howto for the Application TestDisk, but with it you can not copy files bigger than ~830 MB.


    Instruction:
    Shut down your QNAP and remove the NAS HDD. Then turn on your QNAP without the HDD. Wait a minute and have a look at the status LED.
    If the status LED blinks green you can skip the first seven steps. I the LED does not blinks green, we need to recover the QNAP flash.


    Step 1:
    Turn off your QNAP.
    Goto: http://wiki.qnap.com/wiki/Emergency_Recovery_Mode Note: READ THIS SITE! And follow the instructions! In this version you can use a USB Stick for the QPKG File.
    Here is my Different version:
    Download the QPKG and the Flash Image file for your NAS.
    If you are useing Windows you can Download the TFTPUtil on this Site.
    If you have a mac you can download the TFTP Server GUI here: http://ww2.unime.it/flr/tftpserver/
    On Linux there exists many guis for TFTP (if you need one) ;)


    Step 2:
    Extract all Files.....
    Now create a directory and put the Flash Image file into it and rename the Flash Image File to: qnapimg.bin
    Put the QPKG to a USB Stick.


    Step 3:
    Starting the TFTP Server and choose the directory to the .bin file.


    Step 4:
    Put your USB Stick with the QPKG File in the FRONT of your QNAP NAS.


    Step 5:
    Turn on your QNAP system without the HDD, but with the USB Stick in the Front. Try this step without pressing down the reset button and with pressing the reset button, if
    Step 6 does not have a function....


    Step 6:
    Wait.. Wait... and Wait...
    Have a look at your LAN Led on the QNAP. If it is blinking fast the QNAP searches fot the TFTP Server and the qnapimg.bin file.
    Wait......
    Reboot? All Done. ;) Shutdown the NAS


    Step 7:
    Remove the USB Stick, and turn the QNAP on.
    Now the QNAP boots and the Status LED is blinking green.
    Connect the QNAP with the Network or Computer via LAN.


    Step 8:
    My QNAP IP in the moment is: 169.254.100.100
    I will use it for this HowTo.
    Open Terminal (Console) and type:
    telnet 169.254.100.100 13131


    Step 9:
    Login with admin and the password admin (If it fails try it with your changed settings)


    Step 10:
    Create Directories for mounting...

    Code
    cd mnt//mnt] # mkdir sda4/mnt] # mkdir sda3/mnt] # mkdir recovery


    Step 11:
    Plug the NAS HDD in the QNAP (yes the system is on)


    Step 12:
    Mount the NAS HDD.

    Code
    [/mnt] # mount -t ext3 /dev/sda3 /mnt/sda3[/mnt] # mount -t ext3 /dev/sda4 /mnt/sda4


    Step 13:
    If you have enough disc space on a nfs server you can mount the NFS directory directly without the Steps 14-21. (

    Code
    mount -t nfs serverip:path /mnt/rocovery

    )
    If you do not have a nfs with enouth disc space we will use an external usb hdd (Follow the Steps 14-21).


    Step 14:

    Code
    [/mnt] # cd /lib/modules


    Step 15:

    Code
    [/lib/modules] # ls -l


    You will see:

    Code
    lrwxrwxrwx    1 admin    administ       15 Nov 14 11:56 misc -> /usr/local/misc@-rw-r--r--    1 admin    administ    99230 Nov 14 11:40 usb-storage.ko


    Ok, Now change the directory to the usr/local/misc note (Step 16) (this can be different i think)....


    Step 16:

    Code
    [/lib/modules] # cd /mnt/sda4/usr/local/misc/


    Step 17:

    Code
    [/mnt/sda4/usr/local/misc] # ls -l


    Result:

    Code
    -rw-r--r--    1 admin    administ    66092 Nov 14 11:40 fat.ko-rw-r--r--    1 admin    administ    70917 Nov 14 11:54 fuse.ko-rw-r--r--    1 admin    administ    11999 Nov 14 11:40 msdos.ko-rw-r--r--    1 admin    administ   228644 Nov 14 11:40 ntfs.ko-rw-r--r--    1 admin    administ     3109 Nov 14 11:55 sysinfo.ko-rw-r--r--    1 admin    administ    99230 Nov 14 11:40 usb-storage.ko-rw-r--r--    1 admin    administ    15579 Nov 14 11:40 vfat.ko


    Step 18:
    I recommed to load all modules (for noobs)

    Code
    [/mnt/sda4/usr/local/misc] # insmod fat.ko [/mnt/sda4/usr/local/misc] # insmod fuse.ko [/mnt/sda4/usr/local/misc] # insmod msdos.ko [/mnt/sda4/usr/local/misc] # insmod ntfs.ko [/mnt/sda4/usr/local/misc] # insmod vfat.ko [/mnt/sda4/usr/local/misc] # insmod sysinfo.ko [/mnt/sda4/usr/local/misc] # insmod usb-storage.ko


    Step 19:
    Turn on the external USB HDD and plug them into the front usb bus in your QNAP.


    Step 20:
    Locate your external USB HDD. (Wait few seconds)

    Code
    [/mnt/sda4/usr/local/misc] # fdisk -l


    Result:
    This is the QNAP HDD:

    Code
    Disk /dev/sda: 1000.2 GB, 1000204886016 bytes255 heads, 63 sectors/track, 121601 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes   Device Boot      Start         End      Blocks   Id  System/dev/sda1   *           1          66      530113+  83  Linux/dev/sda2              67         132      530145   82  Linux swap / Solaris/dev/sda3             133      121590   975611385   83  Linux/dev/sda4          121591      121600       80325   83  Linux[b]Here our USB HDD:[/b]Disk /dev/sdi: 160.0 GB, 160041885184 bytes255 heads, 63 sectors/track, 19457 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes   Device Boot      Start         End      Blocks   Id  System[b]Here our USB HDD mount device:[/b]/dev/sdi1               1       19458   156290872+   b  W95 FAT32


    Step 21:
    Mount the external USB HDD to...:

    Code
    [/mnt/sda4/usr/local/misc] # mount -t vfat /dev/sdi1 /mnt/recovery/


    Yeah, we have mounted a external FAT32 hdd with usb now. If it works correctly.


    Step 22:
    If you would like to copy all NAS HDD files (with all directories) to the nas you can copy it simply with:

    Code
    cp -r /mnt/sda3 /mnt/recovery/back


    You will find the original NAS HDD in

    Code
    /mnt/sda3

    . and the usb backup hdd (or nfs) in

    Code
    /mnt/recovery


    Step 23:
    Take a coffee


    Step 24:
    Turn off the NAS (console halt), disable the usb hdd from the qnap nas. Take out the NAS HDD.


    Step 25:
    Boot NAS without HDD (blinking green)


    Step 26:
    Now connect the NAS HDD with the NAS again.


    Step 27:
    Use the Quick Install Wizard from the CD and recover the nas. ;) (You are eraseing the NAS HDD)


    Step 28:
    NAS Recovery Done, the new firmware is configured and the NAS is ready.
    You can restore the files manually (ssh) or via webgui. That are the basics... I think..


    Good luck. :thumb:

  • In dem verlinkten Wiki-Eintrag steht, daß dieses Recovery nur für einige (wenige) NAS-Typen funktioniert. Ist dem wirklich so? Oder hat hier schon mal jemand ein dort nicht gelistetes QNAP-NAS ebenfalls mit dieser Prozedur gerettet?