QNAP TS-473A Firmware update
Table of Contents
These are my notes on how to upgrade the UEFI firmware on my QNAP TS-473.
Steps to update
- Go to the Utilities section of the QNAP Download Center for the TS-473A
- Locate the latest file named BIOS for TS-473A, TS-673A, TS-873A
- Format a USB stick as FAT32
- mount the stick
- unzip the downloaded archive to the stick
- unmount the stick cleanly
- insert stick into QNAP TS-473A
- boot to UEFI shell
- wait for continuous beep (this takes a couple minutes, do not remove the stick before it beeps)
- remove stick
- remove power cord
- wait 30 seconds
- plug power back in
Notes
Like with all firmware upgrades, I recommend you read the vendor’s readme file and the FAQ entry linked in that readme.
I did not bother removing any drives from the chassis for the upgrade. Instead I chose the boot target myself for the upgrade, skipping my normal Linux boot target.
Content of the downloaded file (click to expand).
pcfe@t3600 tmp $ unzip -l BiosAutoUpgrade_Q07DAR15.zip
Archive: BiosAutoUpgrade_Q07DAR15.zip
Length Date Time Name
--------- ---------- ----- ----
0 10-14-2020 18:14 EFI/
0 10-15-2020 10:03 EFI/BOOT/
757136 08-14-2020 17:10 EFI/BOOT/BOOTx64.efi
7552 10-14-2020 17:33 EFI/BOOT/done.efi
902080 03-06-2012 11:53 EFI/BOOT/QNAP_BIOS.EFI
7200 10-15-2020 09:08 EFI/BOOT/start.efi
0 02-09-2022 15:14 Q07DAR15/
527984 07-02-2018 15:57 Q07DAR15/AfuEfix64.efi
41 12-20-2021 14:31 Q07DAR15/Q07DAR15.nsh
8388608 12-20-2021 12:13 Q07DAR15/Q07DAR15.rom
7081 12-20-2021 14:33 Q07DAR15/release_note_Q07DAR15.txt
1424 02-09-2022 15:15 startup.nsh
--------- -------
10599106 12 files
Selected boot target
I booted into UEFI shell, not the USB stick.
The UEFI shell picked up the stick’s startup.nsh
, which then did the update.
Since I added a GPU to my TS-473A, I simply hit <DEL>
during POST and then selected the
UEFI Shell as boot target.
But, if you are already running in UEFI mode, there should be no need to faff around with either
a screen
or a serial console
only to to select a boot target. If you can ssh to the QNAP, then you can use efibootmgr
to choose the
next boot target.
Demo of using efibootmgr to set the target of the next boot (click to expand).
Find the number of the UEFi shell target (I have no idea why I have two, 4 and 14)
[root@ts-473a-01 ~]# efibootmgr
BootCurrent: 0006
Timeout: 5 seconds
BootOrder: 0006,000C,000D,000E,000F,0010,0014,0004,0003
Boot0003* iPXE
Boot0004 UEFI: Built-in EFI Shell
Boot0005 USB DISK MODULE PMAP
Boot0006* Red Hat Enterprise Linux
Boot000A ST4000VN000-1H4168
Boot000B ST4000VN000-1H4168
Boot000C* Samsung SSD 980 500GB
Boot000D* CT2000P2SSD8
Boot000E* ST4000VN000-1H4168
Boot000F* ST4000VN000-1H4168
Boot0010* USB DISK MODULE PMAP
Boot0014* UEFI: Built-in EFI Shell
Next time, boot into target number 4
[root@ts-473a-01 ~]# efibootmgr --bootnext 4
BootNext: 0004
BootCurrent: 0006
Timeout: 5 seconds
BootOrder: 0006,000C,000D,000E,000F,0010,0014,0004,0003
Boot0003* iPXE
Boot0004 UEFI: Built-in EFI Shell
Boot0005 USB DISK MODULE PMAP
Boot0006* Red Hat Enterprise Linux
Boot000A ST4000VN000-1H4168
Boot000B ST4000VN000-1H4168
Boot000C* Samsung SSD 980 500GB
Boot000D* CT2000P2SSD8
Boot000E* ST4000VN000-1H4168
Boot000F* ST4000VN000-1H4168
Boot0010* USB DISK MODULE PMAP
Boot0014* UEFI: Built-in EFI Shell
[root@ts-473a-01 ~]# reboot
Connection to ts-473a-01 closed by remote host.
Connection to ts-473a-01 closed.
Post-upgrade state
Now it is running version Q07DAR15 (click for details).
[root@ts-473a-01 ~]# date ; dmidecode --type bios
Sun Mar 12 15:25:15 CET 2023
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 3.2.0 present.
Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
Vendor: American Megatrends Inc.
Version: Q07DAR15
Release Date: 12/20/2021
Address: 0xF0000
Runtime Size: 64 kB
ROM Size: 8 MB
Characteristics:
PCI is supported
BIOS is upgradeable
BIOS shadowing is allowed
Boot from CD is supported
Selectable boot is supported
BIOS ROM is socketed
EDD is supported
5.25"/1.2 MB floppy services are supported (int 13h)
3.5"/720 kB floppy services are supported (int 13h)
3.5"/2.88 MB floppy services are supported (int 13h)
Print screen service is supported (int 5h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
ACPI is supported
USB legacy is supported
BIOS boot specification is supported
Targeted content distribution is supported
UEFI is supported
BIOS Revision: 0.0
Handle 0x0028, DMI type 13, 22 bytes
BIOS Language Information
Language Description Format: Long
Installable Languages: 1
en|US|iso8859-1
Currently Installed Language: en|US|iso8859-1
Still some boot time errors
This has not changed from what I got on the older version. I’m still not really bothered by this.
[…] kernel: ACPI: Video Device [VGA] (multi-head: yes rom: no post: no)
[…] kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.GP17.VGA.LCD._BCM.AFN7], AE_NOT_FOUND (20211217/psargs-330)
[…] kernel: fbcon: Taking over console
[…] kernel: ACPI Error:
[…] kernel: Console: switching to colour frame buffer device 100x37
[…] systemd[1]: Started Show Plymouth Boot Screen.
[…] kernel: Aborting method \_SB.PCI0.GP17.VGA.LCD._BCM due to previous error (AE_NOT_FOUND) (20211217/psparse-531)
[…] kernel: ACPI Error: Evaluating _BCM failed (20211217/video-370)
[…] systemd[1]: Started Forward Password Requests to Plymouth Directory Watch.
[…] systemd[1]: Reached target Paths.
[…] kernel: input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:11/LNXVIDEO:00/input/input2
Still no SecureBoot
Sadly, this also has not changed from what I got on the older version.
[root@ts-473a-01 ~]# mokutil --sb-state
SecureBoot disabled
Links
- https://www.qnap.com/en/download?model=ts-473a&category=utility
- https://www.qnap.com/en/how-to/faq/article/how-do-i-update-the-uefi-on-a-qnap-nas-with-a-usb-drive
- https://www.qnap.com/en/how-to/tutorial/article/updating-the-bios-on-a-qnap-nas
- https://www.reddit.com/r/qnap/comments/x6kdw4/latest_bios_for_ts473ats673ats873a/
- https://www.reddit.com/r/qnap/comments/11lfqgn/serial_console_and_truenas_on_qnap_ts473a/