HP T520: Firmware 






Press F10 on power up to get into the AMI BIOS screens. Alternatively F9 brings up a boot menu:

Please Select Boot Device
>UEFI Boot Sources Legacy Boot Sources Hard Drive USB2.0 Flashdisk 1100 SATA0 Network Controller (Realtek PXE B01 D00)
↑ and ↓ to move selection
ENTER to select boot device
ESC to boot using defaults

(I had a USB flash drive plugged in)

...and ESC a startup menu:

Startup Menu F1 System Information F2 System Diagnostics F9 Boot Device Options F10 BIOS Setup F12 Network Boot ENTER - Continue Startup For more information, please visit:

The BIOS is a fairly capable (for a thin client) AMI BIOS. The available boot devices are SATA (M.2 Flash), USB and PXE.

One can also disable specific USB ports, disable the Mini PCI-e slot, toggle virtualization features of the CPU, change the amount of RAM allocated to the GPU and modify power-saving features. There is also an option to make the unit boot up at a specified day of the week and time.

BIOS update

HP BIOS chip MX25L6404E The BIOS in my t520 was version L41 v01.03 dated 10/03/2014. The HP website offered: 'HP Thin Client BIOS (L41 BIOS) v00.01.12RevA dated Jul 9, 2019.'. This was in the download sp98368.exe. I downloaded this and ran it to produce the updated BIOS and supporting updating software files. There was an accompanying how to file that started:

This SoftPaq contains utilities and data files that can be used to restore or upgrade ("flash") the system firmware (BIOS) on supported HP Thin-Clients. Several methods for flashing the BIOS on your thin client are available. This document describes the various ways to perform the update.

  • Updating in Microsoft Windows.
  • Updating in ThinPro.
  • Updating in ToolLess mode.
  • Updating from Computer Setup (F10).
  • Updating by Silent Install.
  • Recovering from a failed update (corrupted image).
  • View supported models and revision history.

Most of these assume that you have a system running one of the HP standard OSs. Naturally mine wasn't, basically because the SSD was faulty. As a result my eye was immediately drawn to Updating from Computer Setup (F10). The words about this included:

This method requires that a Recovery USB flash drive be present which containing the BIOS binary image file and flash utility in the Hewlett-Packard folder. The Recovery USB flash drive image can be created by the L41_0112.exe in Windows environment.

Booting into the BIOS and heading to the 'File' menu got me the drop-down menu:

System Information About
Set Time and Date
Default Setup
Apply Defaults and Exit Ignore Changes and Exit Save Changes and Exit

No sign of any BIOS flashing option. This meant that I was thrown back on either getting one of the t520's Operating Systems installed, or using a stand-alone utility like flashrom.

To cut a long story short I discovered that, whilst my last build of the flashrom binary I'd done under Tiny Core 10 didn't work, an earlier one I'd done under Tiny Core 8.2 did work. It was a matter of a few minutes to create a USB pen drive with Tiny Core 8.2.1 on it, add pci-utils.tcz, usbutils.tcz, dmidecode.tcz, and copy over the flashrom binary I'd built under 8.2.1. Finally I added the file L41_0112.bin BIOS image file from sp98368.

To write the BIOS use:

sudo ./flashrom -c "MX25L6406E/MX25L6408E" -p internal -w L41_0112.bin

Having done this the BIOS was updated to 00.01.12 and the drop-down File menu now read:

System Information About
Set Time and Date Flash System ROM
Default Setup
Apply Defaults and Exit Ignore Changes and Exit Save Changes and Exit

Which release of the BIOS included the Flash System ROM option I don't know.

If you want to use Tiny Core 8.2.1 to do this you can download the flashrom binary here, and the Tiny Core distribution from the archive here.

Missing Memory

Having found a memory issue with the HP t610 I decided to check out the t520 and found exactly the same problem.

In the BIOS there is a setting:

Advanced -> Device Options -> Integrated Graphics

where you can set the size of the Video RAM memory.

You use the left or right arrow key to switch Integrated Graphics between Auto or Force.

According to a HP manual all Auto does is set the buffer size to 256MB if you have 4GB of RAM fitted, and to 128MB if you have 2GB of RAM fitted.

The Force option adds a new parameter that lets you explicitly set the UMA Frame buffer size. This can be set to one of 32M/64M/128M/256M/512M/1G.

On a t520 fitted with 4GB of RAM I ran TinyCore Linux a number of times with different settings for the UMA Frame Buffer size. In each case I looked in the boot log to see what value was reported for available memory.

Memory: 2528532K/2567540K available (5401K kernel code, 419K rwdata, 1380K rodata......

The results are in the table below and are similar to those I found with the t610 and t620:

Buffer size  Free memory
Auto (256MB)2567540K

With a Video buffer size set 64MB or 128MB you get the expected ~3.5GB of RAM. Set it to 256MB and you lose a lot more RAM than you would expect. As you can see from the figures above:

  • Moving from 64MB to 128MB you lose another 64MB of RAM. (Makes sense)
  • Moving from 128MB to 256MB you lose another 650MB of RAM (Makes no sense)

Anyone have an explanation for this?


Any comments? email me. Added February 2017    Last update November 2019