Sie sind hier: Startseite Lehre Projekte, Abschlussarbeiten Hardware detection tools (like …

Hardware detection tools (like dmidecode) with JSON output

The goal of this task is to add easily parsable output to the dmidecode tool (and/or further utilities like lspci, ethtool, ...).

The dmidecode utility is the GoTo solution for reading the SMBIOS information on modern architectures which lists details about the installed hardware, like the machine's manufacturer and model name, installed CPU, installed memory modules and their speed, manufacturer, and much more. As the tool slowly evolved over the last decades, it only supports human readable output, and the code that generates this output is not structured in a way that allows easily throwing in alternative output formats, i.e. lots of printf() calls sprinkled all over the place as the code walks the binary SMBIOS tables. Thoughtful restructuring of the code is required to successfully add different output formats.

Similar aspects are required for further utilities to detect information on network adapters and links in a system (rather simple for desktop machines with just one link, but more complex for machines with multiple links, connection speeds, IP addresses, ...).


Basic knowledge of the C programming language, analytical skills regarding code structure, and communication with the dmidecode (or further tools) maintainers in order to produce a solution that can be accepted to be merged with the original project code. The goal of this exercise is to produce quality code that can be maintained, and wasn't just cobbled together to survive a simple demo for getting a grade.


Simon Rettberg

abgelegt unter: