Logo

HP T520: Firmware 

BIOS

Entry

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: http://www.hp.com/go/techcenter/startup

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 versions

For BIOS version(s) see the BIOS versions page.

In November 2022 I heard from Mihai who found that, after updating his BIOS to 1.13, his t520 started complaining if it was booted with no attached monitor or keyboard. On start-up the power LED started flashing red and the t520 emitted six loud beeps. It repeated this a number of times after which it stopped beeping but the power LED continued to flash red. However it did boot and run the default operating system so 'headless' use of the t520 was still possible if you were prepared to ignore the beeps and red flashing LED.

Initially I was unable to duplicate this behaviour on my t520, but Mihai ended up working through the BIOS settings one-by-one to locate the offender. It turned to be under Security -> Secure Boot Configuration -> Legacy Support. If this is set to Disable you get the audible and visual complaint. Set it to Enable and then there are no beeps and the power LED remains a steady white.

In my initial look into this I found a few other 'matters arising'.

The t520 motherboard has gone through a number of revisions - the revision number is marked on a label on the motherboard. As noted below, on my original t520 (revision C) I found the BIOS flash chip to be a MX25L6408E. By revision G this had changed to a Winbond W25Q64.V. This is only of concern if you wish to use flashrom to update the BIOS. Running flashrom -p internal will show you what's fitted to your t520.

With BIOS 1.12 they 'enhanced' the BIOS to add Enable AMD_SPI_ROM_Protect. With this enhancement flashrom (V1.2) can no longer read/write the BIOS chip. This isn't really a problem as I find the HP ToolLess Update process easy to use.

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.

Flashrom BIOS update caveat

Having used flashrom to update the BIOS I discovered that in the BIOS screen on the File -> System Information screen the Product Name, SKU Number, Serial Number, Asset Tag and Ownership Tag fields were empty.

Similarly the Security -> System IDs screen was essentially blank. This might be an issue if you're running some standard HP software?

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
256MB2829684K
128MB3485044K
64MB3550580K

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 2022