HP Elite t755 Thin Client: The 2024 Evolution

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

Egbert

New Member
May 6, 2012
18
2
3
Introduction

The HP Elite t755 thin client was released back in January but with the exception of StorageReview's review, there does not seem to be much information about it yet. I bought one so that I could evaluate its potential as a VM host, with my particular needs in mind. I have gone through testing of the features that interest me, and I wanted to share my findings with others. All testing was done with the initial (and so far, only) BIOS version 1.01, and under Proxmox 8.1.4 unless specified.

This is not a review about the machine or even a walkthrough. I will leave that in the hands of people like WANg (who I believe will be getting one eventually) and the STH crew. Also, as my photography skills are lacking, I will not be providing any pictures of the unit itself. Anyone hungering for those can whet their appetite with the StorageReview article. Finally, I was only able to test very briefly as I did not have the time to do more. I will not be keeping my unit, so unfortunately I will not be able to perform more testing.

Configuration

I ordered the least expensive HP Elite t755 configuration with the HP Smart Zero Core OS (HP product #9S4S8UT#ABA). I tested with 2x 32 GB of DDR4 ECC SO-DIMMs, a 1TB Samsung 970 EVO Plus SSD, and a Mellanox ConnectX-3 VPI adapter. To get a good baseline, the ConnectX-3 was not installed in any of the testing except for the ones specifically requiring it.
 
Last edited:

Egbert

New Member
May 6, 2012
18
2
3
What do various utilities say about the machine?

CPU-Z:
cpuz1.pngcpuz2.pngcpuz3.pngcpuz4.pngcpuz5.png

GPU-Z:
gpuz.gif

HWiNFO:
hwinfo.png

lstopo output:
Bash:
$ lstopo --whole-io topo.png
topo.png

The rest:

Bash:
$ dmesg
$ dmidecode
$ lspci -vv
To be continued...
 

Attachments

Egbert

New Member
May 6, 2012
18
2
3
Interesting aspects about the hardware

First off, here are the official HP documents about the hardware specifications:

On first inspection of the hardware, there were three things that jumped out at me:
  1. The PCIe slot is 16x physical (8x electrical per HP's specs). Based on the CPU-Z output and the capabilities of the Ryzen V2546 CPU, the slot appears to be PCIe Gen 3: AMD Ryzen Embedded V2546 Specs. Note that I did not test with anything other than a PCIe 3 card, so I could be mistaken about this.
  2. There are three M.2 sockets in total. 2 are for eMMC/NVMe storage. The remaining one is for the WLAN card.
  3. My unit did not come with a metal RAM covering as shown in the StorageReview article. The difference could be due to the fact that their unit came with a discrete GPU while mine did not.

Does it work with ECC RAM?

The short answer is no. The longer answer is that you can install and use ECC RAM, but it will not have ECC capability.

I installed 2x 32GB of DDR4-3200 ECC SO-DIMM RAM. The particular model I used was from OWC (OWC3C2D42R8064P) and purchased on Amazon. There seems to be little information on the internet about this model, and no mention on OWC's website. However, the machine did detect all 64 GB running at DDR4-3200 speed and I was able to use it without encountering any issues. This is despite the fact that the t755 only officially supports a maximum of 32 GB.

Troubleshooting the issue, I looked with dmidecode:
Code:
# dmidecode -t memory
# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.2.0 present.

Handle 0x000A, DMI type 16, 23 bytes
Physical Memory Array
        Location: System Board Or Motherboard
        Use: System Memory
        Error Correction Type: None
        Maximum Capacity: 32 GB
        Error Information Handle: 0x0009
        Number Of Devices: 2

Handle 0x0011, DMI type 17, 84 bytes
Memory Device
        Array Handle: 0x000A
        Error Information Handle: 0x0010
        Total Width: 72 bits
        Data Width: 64 bits
        Size: 32 GB
        Form Factor: SODIMM
        Set: None
        Locator: Top-Slot 2 (under)
        Bank Locator: P0 CHANNEL A
        Type: DDR4
        Type Detail: Synchronous Unbuffered (Unregistered)
        Speed: 3200 MT/s
        Manufacturer: Unknown
        Serial Number: 0014F8EA
        Asset Tag: Not Specified
        Part Number: Unknown
        Rank: 2
        Configured Memory Speed: 3200 MT/s
        Minimum Voltage: 1.2 V
        Maximum Voltage: 1.2 V
        Configured Voltage: 1.2 V
        Memory Technology: DRAM
        Memory Operating Mode Capability: Volatile memory
        Firmware Version: Unknown
        Module Manufacturer ID: Unknown
        Module Product ID: Unknown
        Memory Subsystem Controller Manufacturer ID: Unknown
        Memory Subsystem Controller Product ID: Unknown
        Non-Volatile Size: None
        Volatile Size: 32 GB
        Cache Size: None
        Logical Size: None

Handle 0x0014, DMI type 17, 84 bytes
Memory Device
        Array Handle: 0x000A
        Error Information Handle: 0x0013
        Total Width: 72 bits
        Data Width: 64 bits
        Size: 32 GB
        Form Factor: SODIMM
        Set: None
        Locator: Top-Slot 1 (top)
        Bank Locator: P0 CHANNEL B
        Type: DDR4
        Type Detail: Synchronous Unbuffered (Unregistered)
        Speed: 3200 MT/s
        Manufacturer: Unknown
        Serial Number: 0014F932
        Asset Tag: Not Specified
        Part Number: Unknown
        Rank: 2
        Configured Memory Speed: 3200 MT/s
        Minimum Voltage: 1.2 V
        Maximum Voltage: 1.2 V
        Configured Voltage: 1.2 V
        Memory Technology: DRAM
        Memory Operating Mode Capability: Volatile memory
        Firmware Version: Unknown
        Module Manufacturer ID: Unknown
        Module Product ID: Unknown
        Memory Subsystem Controller Manufacturer ID: Unknown
        Memory Subsystem Controller Product ID: Unknown
        Non-Volatile Size: None
        Volatile Size: 32 GB
        Cache Size: None
        Logical Size: None
Parsing the relevant data, I saw that the total width is greater than the data width, meaning the system detects that these are ECC modules:

Code:
# dmidecode -t memory | grep Width
        Total Width: 72 bits
        Data Width: 64 bits
        Total Width: 72 bits
        Data Width: 64 bits
Looking at the error correction type, I did not see "Multi-bit ECC" as would be expected from a system that actually uses ECC:

Code:
# dmidecode -t memory | grep Correction
        Error Correction Type: None
After that, I tried looking for other evidence that ECC might be enabled:

Code:
# dmesg | grep -i EDAC
    [    0.559781] EDAC MC: Ver: 3.0.0
# apt install rasdaemon
# systemctl enable rasdaemon && systemctl start rasdaemon
# ras-mc-ctl --status
    ras-mc-ctl: drivers not loaded.
# lsmod | grep edac
    edac_mce_amd           36864  0
Nothing. So I tried forcing ECC on using the kernel's ecc_enable_override parameter. I booted with amd64_edac.ecc_enable_override=1 and tested again:

Code:
# dmidecode -t memory | grep Correction
        Error Correction Type: None
I confirmed that the parameter was being used:

Code:
# dmesg | grep -i EDAC
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-6.5.11-8-pve root=/dev/mapper/pve-root ro quiet amd64_edac.ecc_enable_override=1
[    0.115463] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.5.11-8-pve root=/dev/mapper/pve-root ro quiet amd64_edac.ecc_enable_override=1
[    0.556617] EDAC MC: Ver: 3.0.0
[    4.483389] EDAC amd64: Warning: Forcing ECC on is not recommended on newer systems. Please enable ECC in BIOS.
Next I tried forcing the loading of the EDAC driver:

Code:
# modprobe -v amd64_edac_mod
modprobe: FATAL: Module amd64_edac_mod not found in directory /lib/modules/6.5.11-8-pve
# ls /lib/modules/6.5.11-8-pve/kernel/drivers/edac/
amd64_edac.ko    i3000_edac.ko  i7300_edac.ko    igen6_edac.ko  x38_edac.ko
e752x_edac.ko    i3200_edac.ko  i7core_edac.ko   pnd2_edac.ko
edac_mce_amd.ko  i5100_edac.ko  i82975x_edac.ko  sb_edac.ko
i10nm_edac.ko    i5400_edac.ko  ie31200_edac.ko  skx_edac.ko
# modprobe -v amd64_edac
insmod /lib/modules/6.5.11-8-pve/kernel/drivers/edac/amd64_edac.ko
modprobe: ERROR: could not insert 'amd64_edac': No such device
No luck. Just in case, I tried searching for references to EINJ: APEI Error INJection — The Linux Kernel documentation.

Code:
# dmesg | grep -i EINJ
<no result>
# ls /sys/firmware/acpi/tables | grep EINJ
<no result>
Again, nothing. There were no references in the BIOS to ECC, ACPI5, WHEA, or PFEH.

The kernel version was 6.5.11, while the latest version was 6.8.7.

Code:
# uname -a
Linux pve 6.5.11-8-pve #1 SMP PREEMPT_DYNAMIC PMX 6.5.11-8 (2024-01-30T12:27Z) x86_64 GNU/Linux
It was possible that the support for ECC in Renoir only came in a later kernel version, so I booted into openSUSE Tumbleweed, a rolling distribution, and tested there:

Code:
# uname -r
6.8.7-1-default
# dmidecode -t memory
<same result>
# dmesg | grep -i EDAC
<same result>
# lsmod | grep edac
<same result>
# modprobe -v amd64_edac_mod
modprobe: FATAL: Module amd64_edac_mod not found in directory /usr/lib/modules/6.8.7-1-default
# ls /usr/lib/modules/6.8.7-1-default/kernel/drivers/edac/
amd64_edac.ko.zst  edac_mce_amd.ko.zst  i3000_edac.ko.zst  i5100_edac.ko.zst  i7300_edac.ko.zst   i82975x_edac.ko.zst  igen6_edac.ko.zst  sb_edac.ko.zst   x38_edac.ko.zst
e752x_edac.ko.zst  i10nm_edac.ko.zst    i3200_edac.ko.zst  i5400_edac.ko.zst  i7core_edac.ko.zst  ie31200_edac.ko.zst  pnd2_edac.ko.zst   skx_edac.ko.zst
# modprobe -v amd64_edac
insmod /usr/lib/modules/6.8.7-1-default/kernel/drivers/edac/amd64_edac.ko.zst
modprobe: ERROR: could not insert 'amd64_edac': No such device
The kernel version was the latest, but openSUSE did not detect ECC capability either. I re-added the boot option amd64_edac.ecc_enable_override=1:

Code:
# dmesg | grep -i EDAC
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-6.8.7-1-default root=UUID=bc96978c-f374-49e5-a892-e64b3bb6c0d2 splash=silent mitigations=auto quiet security=apparmor amd64_edac.ecc_enable_override=1
[    0.014427] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.8.7-1-default root=UUID=bc96978c-f374-49e5-a892-e64b3bb6c0d2 splash=silent mitigations=auto quiet security=apparmor amd64_edac.ecc_enable_override=1
[    0.394130] EDAC MC: Ver: 3.0.0
[    7.238156] EDAC amd64: Warning: Forcing ECC on is not recommended on newer systems. Please enable ECC in BIOS.
# modprobe -v amd64_edac
insmod /usr/lib/modules/6.8.7-1-default/kernel/drivers/edac/amd64_edac.ko.zst ecc_enable_override=1
modprobe: ERROR: could not insert 'amd64_edac': No such device
Still nothing, even when trying to load the driver manually. Finally, I tried in Windows 10 Enterpise (bit-equivalent to Windows 10 IoT). As seen in the CPU-Z screenshots, Windows was able to detect that the RAM is ECC. However, Windows did not use ECC with the RAM installed (3 being the value for None):

Code:
> wmic MemPhysical get MemoryErrorCorrection
MemoryErrorCorrection
3
From this, I can only conclude that the HP Elite t755 does not support ECC. This is quite unfortunate, as the AMD Ryzen Embedded V2546 is supposed to be capable of ECC: https://www.amd.com/en/press-releas...ded-v2000-processors-enhanced-performance-and. There is a slim chance that this is due to the RAM I had installed. However, I was not able to confirm that as I did not have another set of DDR4 ECC SO-DIMMs nor did I have another ECC-capable machine that could use that RAM.

To be continued...
 
Last edited:

nasbdh9

Active Member
Aug 4, 2019
168
96
28
You can try to use GitHub - DavidS95/Smokeless_UMAF to enter the CBS menu and turn on the ECC option to try whether the device will start.
!!! Be sure to use the SPI programmer to back up your entire BIOS Flash before operation. !!!
I tried it on a T740 but on power up it reports a memory error via a buzzer.
 

Egbert

New Member
May 6, 2012
18
2
3
Thanks, being able to expose the ECC BIOS setting like that is something I hadn't seen before. However, I don't have access to an SPI programmer so I don't want to take the risk of turning the machine into an expensive paperweight. :) I'll leave experimenting with that to someone with one of those, or someone who's more daring.
 

Egbert

New Member
May 6, 2012
18
2
3
Is there SR-IOV support?

Yes, the machine supports SR-IOV, and the ARI forwarding issue that appeared on the older t740 is gone.

I tested SR-IOV using a Mellanox ConnectX-3 adapter, specifically the MCX354A-FCBT. I already had virtual functions (VFs) configured on the adapter before my testing, so I should be able to see them:

Code:
# cat /sys/class/infiniband/mlx4_0/device/sriov_numvfs
0
Alas, I had to do some extra configuration to get it working. I won't go into the details, but suffice it to say that following this guide worked perfectly: Configuring SR-IOV for a Mellanox ConnectX-3 NIC | that.guru.

Code:
# cat /sys/class/infiniband/mlx4_0/device/sriov_numvfs
8
The next step was to check whether the VFs were in their own IOMMU groups, which would be necessary in order to pass them through to different VMs. I ran the script from this gist to get the grouping: List the devices and their IOMMU groups..

Code:
IOMMU Group 11 01:00.1 Network controller [0280]: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function] [15b3:1004]
IOMMU Group 12 01:00.2 Network controller [0280]: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function] [15b3:1004]
IOMMU Group 13 01:00.3 Network controller [0280]: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function] [15b3:1004]
IOMMU Group 14 01:00.4 Network controller [0280]: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function] [15b3:1004]
IOMMU Group 15 01:00.5 Network controller [0280]: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function] [15b3:1004]
IOMMU Group 16 01:00.6 Network controller [0280]: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function] [15b3:1004]
IOMMU Group 17 01:00.7 Network controller [0280]: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function] [15b3:1004]
IOMMU Group 18 01:01.0 Network controller [0280]: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function] [15b3:1004]
It looked great so far. I then passed through a VF to a VM running Ubuntu Server 22.04.1 and checked the results:

Code:
# lspci -nnk | grep -A 2 Mellanox
01:00.0 Network controller [0280]: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function] [15b3:1004]
        Subsystem: Mellanox Technologies MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function] [15b3:61b0]
        Kernel driver in use: mlx4_core
        Kernel modules: mlx4_core
# sudo lshw -C net
<shows the interface as *-network DISABLED instead of *-network UNCLAIMED>
The VM was able to detect the PCIe device and load the correct kernel module. I then repeated this task 7 more times using a Proxmox VM template for a total of 8 VMs. I gave each VM its own VF and launched them all. Each one of them gave the same exact output as above, meaning that ARI forwarding works as advertised on this machine. If ARI forwarding did not work, it would fail to correctly pass through the 8th VF.

Note that I didn't actually try using the VFs inside the VMs but I don't expect that to fail considering the rest of the configuration was successful.

How hot does a PCIe card get?

While the ConnectX-3 card worked, I was concerned about whether it would overheat in such a small space without a fan blowing across the heatsink. For that, I needed to use mget_temp, a utility that comes with NVIDIA Firmware Tools (aka MFT) that measures the IC temperature. At first I downloaded the latest version 4.27.0; however, mst start did not work on that version. This thread explained that only older versions worked: https://forums.servethehome.com/ind...n-proxmox-for-mellanox-cx3.42618/#post-404650. I tried 4.26.1-LTS as well, but that also failed. Finally, 4.22.1-406-LTS worked on Proxmox 8.1.

At idle:

Code:
# mget_temp -d /dev/mst/mt4099_pci_cr0
70
To stress test the card, I ran iperf. I started it on a server:

Code:
# iperf -s
Then on the t755, I disconnected all other interfaces, as iperf 2.1.8 doesn't seem to respect the routing table or the interface binding, so it would try to use the Gigabit Ethernet interface by default. I ran the test directly on Proxmox 8.1, not from within a VM:

Code:
# mst start
<output>
# iperf -B 192.168.1.133 -c 192.168.1.251 -t 900 -i 60; mget_temp -d /dev/mst/mt4099_pci_cr0
------------------------------------------------------------
Client connecting to 192.168.1.251, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  1] local 192.168.1.133 port 52927 connected with 192.168.1.251 port 5001 (icwnd/mss/irtt=14/1448/138)
[ ID] Interval       Transfer     Bandwidth
[  1] 0.0000-60.0000 sec  65.7 GBytes  9.40 Gbits/sec
[  1] 60.0000-120.0000 sec  65.7 GBytes  9.40 Gbits/sec
[  1] 120.0000-180.0000 sec  65.7 GBytes  9.40 Gbits/sec
[  1] 180.0000-240.0000 sec  65.7 GBytes  9.40 Gbits/sec
[  1] 240.0000-300.0000 sec  65.7 GBytes  9.40 Gbits/sec
[  1] 300.0000-360.0000 sec  65.7 GBytes  9.40 Gbits/sec
[  1] 360.0000-420.0000 sec  65.7 GBytes  9.40 Gbits/sec
[  1] 420.0000-480.0000 sec  65.7 GBytes  9.40 Gbits/sec
[  1] 480.0000-540.0000 sec  65.7 GBytes  9.40 Gbits/sec
[  1] 540.0000-600.0000 sec  65.7 GBytes  9.40 Gbits/sec
[  1] 600.0000-660.0000 sec  65.7 GBytes  9.40 Gbits/sec
[  1] 660.0000-720.0000 sec  65.7 GBytes  9.40 Gbits/sec
[  1] 720.0000-780.0000 sec  65.7 GBytes  9.40 Gbits/sec
[  1] 780.0000-840.0000 sec  65.7 GBytes  9.40 Gbits/sec
[  1] 840.0000-900.0000 sec  65.7 GBytes  9.40 Gbits/sec
[  1] 0.0000-900.0184 sec   985 GBytes  9.40 Gbits/sec
76
I set iperf to run for 15 minutes to get a steady-state temperature reading at the end. The result was 70° C at idle, and 76° C at a medium load. The consistent bandwidth shows that there were no dropped packets (or at least not a statistically significant amount) that would have indicated temperature issues. This is confirmed by an NVIDIA employee, who stated that anything below 105° C is okay for the card: Does anyone know what the Max Junction temperature is for the MT27508 IC on a ConnectX-3.

Note that this was only running one port of the adapter at 10Gbps. This is likely typical of most homelabbers, so there wouldn't be any issues for most people. For a more aggressive test, I would have needed to run both ports at the full 56Gbps but I did not test that scenario due to time constraints.

As with the t740, I would not recommend running any cards that require serious airflow over the heatsink, as the only fan in the machine is the CPU fan. However, a low-power card such as a ConnectX-3 should work just fine.

What do the IOMMU groups look like?

Using this gist from before, here is the full output for the IOMMU groups on a base system (without the ConnectX-3):

Code:
IOMMU Group 0 00:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge [1022:1632]
IOMMU Group 1 00:01.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne PCIe GPP Bridge [1022:1634]
IOMMU Group 2 00:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge [1022:1632]
IOMMU Group 3 00:02.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne PCIe GPP Bridge [1022:1634]
IOMMU Group 4 00:08.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge [1022:1632]
IOMMU Group 4 00:08.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir Internal PCIe GPP Bridge to Bus [1022:1635]
IOMMU Group 4 03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Renoir [1002:1636] (rev 84)
IOMMU Group 4 03:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Renoir Radeon High Definition Audio Controller [1002:1637]
IOMMU Group 4 03:00.2 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) Platform Security Processor [1022:15df]
IOMMU Group 4 03:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne USB 3.1 [1022:1639]
IOMMU Group 4 03:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne USB 3.1 [1022:1639]
IOMMU Group 4 03:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Family 17h/19h HD Audio Controller [1022:15e3]
IOMMU Group 5 00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:790b] (rev 51)
IOMMU Group 5 00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge [1022:790e] (rev 51)
IOMMU Group 6 00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 0 [1022:1448]
IOMMU Group 6 00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 1 [1022:1449]
IOMMU Group 6 00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 2 [1022:144a]
IOMMU Group 6 00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 3 [1022:144b]
IOMMU Group 6 00:18.4 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 4 [1022:144c]
IOMMU Group 6 00:18.5 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 5 [1022:144d]
IOMMU Group 6 00:18.6 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 6 [1022:144e]
IOMMU Group 6 00:18.7 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 7 [1022:144f]
IOMMU Group 7 01:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
IOMMU Group 8 02:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983 [144d:a808]
To be continued...
 

Egbert

New Member
May 6, 2012
18
2
3
Just a note on my previous post: The temperature readings were done with no bracket installed on the ConnectX-3 adapter. I didn't find my low-profile bracket so I opted to go without. However, considering the minimal cooling in the chassis, I don't think this would have made a lot of difference either way.
 

Egbert

New Member
May 6, 2012
18
2
3
Can you pass through the iGPU?

Perhaps, but I was not able to get it working.

While not something that I needed, I was curious whether I would be able to pass through the iGPU to a VM. At first, I tried the straightforward approach by simply allocating the iGPU to a VM in Proxmox. I used the following settings:
  • Q35 machine type
  • OVMF
  • Primary GPU
  • Kept "All Functions" unselected
  • PCI-Express
Unfortunately that did not work. I then went through the whole set of instructions here: GPU Passthrough Ryzen 4600G APU. Still no luck, it appeared the OpenSUSE Tumbleweed VM installer was not even detecting the PCIE passthrough. One problem I encountered with the instructions was that enabling the Proxmox non-enterprise repository made it try to download a new kernel version when installing the kernel headers using apt install pve-headers. To work around that, I specified the kernel header version using apt install pve-headers-$(uname -r). It was quite time-consuming trying different ideas as I would have to reboot the host each time due to QEMU no longer being able to start the VM a second time.

Due to the lack of time, I didn't try any of the below:
Is there out-of-band (DASH) support?

The answer is either no, or very limited support. Note that this may be due to the particular configuration I have, as the HP QuickSpecs list two different Gigabit Ethernet controller options:
  • Realtek RTL8111EPH-CG, which does have DASH support
  • Realtek RTL8111HSH-CG, which does not have DASH support
There was no option to select which one to include as part of your configuration, so it may be determined by the OS selected (HP Smart Zero Core, IGEL OS, Windows 10 IoT).

There is a dire lack of information on DASH, especially compared to Intel AMT, as this Reddit thread states: https://www.reddit.com/r/homelab/comments/17kfbrn . The only official source of material on configuring DASH was AMD's page here: https://www.amd.com/en/technologies/manageability-tools. I tried following Appendix A in the AIM-T User Guide, but it became clear that it was only possible to provision a DASH system within Windows. It also seemed to require running the AMD Provisioning Console on a separate system to create the profile for provisioning. After searching online, I found this forum thread on other ways of provisioning: Provisioning tools for DASH standalone systems. Unfortunately, trying to provision using management mode did not work, as Shift+F10 did not do anything on startup. There was no DASH option to enable in the BIOS either.

I went and installed the AMD Provisioning Console on another computer to create the profiles. Then I copied the resulting package to the t755 under Windows 10 Enterprise. All the drivers were installed on the thin client and Windows was fully up to date. In accordance to the package's readme, I ran the following command to try provisioning using AIM-T:

Code:
> AIM-TProvisioningApp.exe -i <CryptoName>_<PackageName>_oMt
Unfortunately, the result was an error that gave zero search results on Google.

I tried using the Realtek command instead, as this had a Realtek NIC:

Code:
> DASHConfigRT.exe -xf:DashConfig.xml
Again, it failed but this time stating that it could not find a service, presumably the service that comes with the Realtek DASH utility. This utility seems to get installed when enabling DASH in the BIOS on supported machines.

Finally, I tried with HP Device Manager (HPDM), the sole method of managing the thin clients listed in the user guide. I installed HPDM and tried getting the thin client to show up. No luck with that, even after manually adding the thin client to the interface (it shows as offline). I tried again with the default OS (HP Smart Zero Core) instead, and it finally appeared on HPDM after messing around with various settings. However, I was not able to get KVM working with HPDM, and I did not have the time to learn how to use HPDM correctly just to test this.

In short, DASH did not seem to work at all and the system only seems to be capable of being managed using HPDM. I would not recommend using HPDM as it is an enterprise solution:
The port requirements seems to indicate that it's an in-band solution, rather than the out-of-band solution like AMD DASH. I would prefer to use something like a PiKVM or a TinyPilot to manage the thin client rather than trying to use HPDM.
 

Egbert

New Member
May 6, 2012
18
2
3
Power and performance

Now onto more mundane concerns: how does the t755 perform? To answer that, I ran PassMark PerformanceTest:

passmark.png

The baseline is available at PassMark Software - Display Baseline ID# 2083742.

Let's do a quick analysis of the results. The latest, most normal AMD CPU that's directly comparable is the Ryzen 7 7700. Of course, that is a full-fledged desktop CPU while the Ryzen V2546 is an embedded CPU so we can expect less performance.

7700V2546% difference
CPU Mark346061623653% slower
Single Thread4063251338% slower

So it's about 50% slower than the 7700. Now what about a more realistic comparison to the CPU in the prior t740? That one uses a V1756:

V1756V2546% difference
CPU Mark82911623696% faster
Single Thread2102251320% faster

So on an absolute basis, it's almost twice as fast at multi-threaded work. However, the V1756 is a 4-core CPU while the V2546 is a 6-core CPU. Let's do some quick-and-dirty math to see what a core-for-core equivalent might look like: 16236 * (4 cores / 6 cores) / 8291 = 30% faster. Of course, this makes the simplifying assumption that there is a linear scaling of cores in CPU Mark scores.

I also looked at two samples of power consumption. At idle on Proxmox 8.1, the power draw without the ConnectX-3 installed was ~11W. With Cinebench 2024 running on Windows 10 Enterprise, the power draw was ~62W. This is in line with what was reported in the StorageReview article.

Finally, I checked whether the CPU throttles at maximum utilization. Running Cinebench 2024, the maximum CPU temperature in HWiNFO was 95.4° C. The maximum junction temperature of the CPU is 105° C: https://www.amd.com/en/products/specifications/embedded.html. So it seems like the CPU does not throttle, which is also what HWiNFO reported.

BIOS options

The BIOS was mostly described under Computer Setup Utilities in the User Guide: https://support.hp.com/us-en/product/setup-user-guides/hp-elite-t755-thin-client/2101669521. They did a good job of listing most of the menu items and what each option means. However, there were a few differences, probably due to last-minute changes. Here are a few BIOS options that were either available or not available, which people may be interested in.

Available:
Fan Idle Mode: 0-6 - You can adjust the speed of the fan at idle

Not available:
DASH
ECC
ACPI5/WHEA/PFEH - these are for ECC error injection
PCIe bifurcation

Conclusion

To sum up my findings:

FeaturesStatusCompared with t740
ECCNot workingSame as t740? No one seems to have tested amd64_edac.ecc_enable_override=1 on that machine yet.
SR-IOVWorkingImprovement over t740 (ARI forwarding working)
PCIe card compatibilityConnectX-3 works fineSame as t740
iGPU passthroughUnknown, didn't have time for more testingUnknown, not aware of any testing on the t740
Out-of-band supportNot really workingWorse than t740? t740 only has one NIC model (which has DASH support) but not aware of anyone who actually tested it.
Performance-20-30% single core improvement, 100% multi-core improvement

In summary, if you're not concerned about ECC or DASH, the t755 appears to be a worthy upgrade to the t740.
 

nasbdh9

Active Member
Aug 4, 2019
168
96
28
Dash only provides support in Windows. It is basically a remote http service that can view device information and control device switches. It will only work after Windows is started because it is a "software".

20240429172302.png20240429172250.png
 

Egbert

New Member
May 6, 2012
18
2
3
Thanks for the clarification, nasbdh9. I was under the impression that it was mostly handled by the BIOS/NIC, as the AIM-T user guide provided by AMD refers to the ability to go into the BIOS KVM. But I'm not really familiar with how DASH works, so I just assumed it was similar to Intel's AMT.