Hai semua,
Saya ingin membagikan panduan detail tentang bagaimana saya berhasil melewati error FW999, FW012, dan FW006 yang terkenal saat memperbarui TVS-473e dari QTS 5.2.5 ke 5.2.8. Jika Anda pernah mengalami pesan “Invalid update image size” atau “System update failed” meskipun ruang disk masih banyak, panduan ini untuk Anda.
Masalah: Mengapa pembaruan resmi gagal Setelah menelusuri log pembaruan dan perilaku update.sh, tampaknya ada dua kekurangan utama dalam logika update QNAP saat ini:
-
RAMDisk Habis (Error FW006): Skrip update mencoba mengekstrak firmware ke /mnt/update, yang sering kali berada di RAMDisk kecil (sekitar 400MB). Jika firmware dan komponen yang diekstrak melebihi ruang kosong di sana, proses akan gagal dengan error “No space left on device”.
-
“Schrödinger’s Mount” (Error FW999): Skrip update_img.sh mencoba me-mount partisi DOM (/dev/sdd2) ke /root/FLASH_RFS1. Dalam banyak kasus, mount sebenarnya berhasil, namun skrip salah menafsirkan kode return atau gagal pada pemeriksaan selanjutnya, memicu rutinitas “cleanup” yang menghapus file hasil ekstraksi Anda, lalu mengeluh bahwa device sedang sibuk—karena baru saja di-mount oleh skrip itu sendiri!
Solusi: Update Manual dengan “Intervensi Bedah”
Jika Anda nyaman menggunakan CLI (dan mcedit/vi!), berikut roadmap menuju keberhasilan:
1. Buat workspace di Data Volume Anda yang sebenarnya Jangan biarkan QNAP memakai RAMDisk. Buat symlink ke volume HDD besar Anda.
mkdir -p /share/Public/fw_update
rm -rf /mnt/update
ln -sf /share/Public/fw_update /mnt/update
2. Dekripsi dan ekstrak firmware secara manual Gunakan tool internal PC1 untuk mendapatkan fw.tar.
/sbin/PC1 d QNAPNASVERSION4 /share/Public/your_firmware.img /share/Public/fw_update/fw.tar
cd /share/Public/fw_update
tar xf fw.tar
3. Perbaiki Logika Skrip yang “Rusak” Di sinilah kita mengakali SoftLab. Buka update_img.sh (dengan mcedit atau vi) dan cari baris yang mencoba mount /dev/sdd2 ke /root/FLASH_RFS1. Komentari baris mount tersebut (tambahkan # di awal). Kenapa? Karena kita akan mount manual, dan kita tidak ingin skrip panik saat mencoba mount partisi yang sudah ter-mount. Berikut hasil editnya:
mount_flash_rfs1()
{
[ -d "$FLASH_RFS1_MP" ] || /bin/mkdir "$FLASH_RFS1_MP"
# /bin/mount "$FLASH_RFS1" "$FLASH_RFS1_MP"
# /bin/grep "$FLASH_RFS1_MP " /proc/mounts > /dev/null 2>&1
# if [ $? -ne 0 ]; then
# echo "mount $FLASH_RFS1 to $FLASH_RFS1_MP failed"
# return 1
# fi
return 0
}
4. Siapkan environment dan Jalankan
#Pastikan mount point ada dan partisi sudah di-mount
mkdir -p /root/FLASH_RFS1
mount /dev/sdd2 /root/FLASH_RFS1
#Palsukan file versi untuk logger
echo “5.2.8” > ./newver
#Jalankan skrip update image (pekerja, bukan wrapper)
./update_img.sh /share/Public/fw_update
5. Bersihkan dan Reboot Jika Anda melihat “Update Finished”, Anda berhasil.
umount /root/FLASH_RFS1
reboot
Catatan akhir untuk Developer QNAP Menarik sekali skrip update cukup canggih untuk memeriksa dukungan secure boot, namun justru kalah oleh partisi yang “terlalu sukses” di-mount. Mungkin menambahkan if ! mountpoint -q /root/FLASH_RFS1; then mount… bisa menghemat banyak waktu pengguna? Hanya saran. ![]()
Semoga panduan ini membantu siapa pun yang terjebak di loop FW999!