Installing SNMPd on HP ThinPro Thin Clients

I was tasked recently with finding the ultimate Thin Client to deploy at customer sites. They had to be capable of RDP, ICA, and PCoIP protocols, with some of the latest extensions. The line of thin clients had to support from one to four monitors (the possibility of 6 or more was a considered as well). We had to be able to connect to the devices for remote administration (SSH or similar) and assistance (VNC or similar). And finally they had to support SNMP so our Remote Monitoring and Management system could find the devices and monitor basic health.

HP's line of ThinPro thin clients fulfills almost all of these requirements. We considered others, especial the Wyse ThinOS units; but they topped out at two monitors. We really wanted to avoid Windows based systems for a variety of reasons, not the lest of which were cost and vulnerability concerns. The ThinPro units were notably lacking SNMP support, but fulfilled all our other requirements. Additionally I have previous experience with these units, so I am a bit more endeverous than I should be (they are incredibly difficult to brick, and the software HP releases might officially support only the latest hardware but runs great on older hardware as well).

HP's ThinPro operating system is a lightwight version of Debian Linux with a variety of HP proprietary software mixed in. The important fact here is that it's Debian with some extra bits. I started by downloading the latest version of ThinPro; version 5.2 as of writing (download image, or the Windows utility to make a bootable USB stick). Load up the image as you typically would. I'm using an HP t5565, an x86 based device. The same process applies to the ARM based thin clients, but you'll have to modify everything here a bit, for example downloading the T6A image.

Once you have the basic system running, switch to Administrator Mode (typically right clicking the desktop), open a Terminal (under the search menu); or SSH into the device (if you have SSHd enabled). Enter the command btrfs subvol modify rw / so you can modify the base image. If you don't know the version of Debian your version of ThinPro is based on, run cat /etc/debian_version. ThinPro 5.2 is based on Wheezy/SID. Download the SNMPd package from the Debian Package Repository, you will want the i386 version. Copy that file to the thin client, install it by running dpkg -i /tmp/tmpfs/MemoryStick/snmpd.deb (command assumes you put the deb package on a memory stick).

Now you have SNMPd installed. But it has the stock configuration. Unfortunatly I do not have time to modify Net-SNMP to read its configuration from the Manticore Registry (the configuration database HP's thin clients use to provide a common configuration interface across ThinPro and Windows Embedded Standard devices). It appears that HP may be working on this, but do not have any inside information. For now you will have to edit the standard configuration file to get the results you want, it's path is /etc/snmp/snmpd.conf and can be edited from a terminal or SSH session. I currently use the following minimalistic configuration file:
# Minimal SNMPd.conf by Chris Stone 2015-10-08 agentAddress udp:161 view systemonly included . rocommunity public default -V systemonly sysLocation TODO: Import DHCP Option sysContact Chris Stone sysServices 8 Once you have the configuration setup the way you want, relock the file system with btrfs subvol modify ro /. The system is ready to roll. You can capture an image of the thin client and push it out to your other units using HP Device Manager, or the ThinState program on the menu. The service is configured to start by default, if you need to restart the service after changing the configuration (and don't want to reboot the whole OS) you can do so with service snmpd restart. If you want to create an advanced configuration you can start with the official documentation.