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.
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.
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.
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?
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 256MB 2829684K 128MB 3485044K 64MB 3550580K
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:
Anyone have an explanation for this?