# The Firmware and Hardware Rabbit Hole

DevFeed: [The Firmware and Hardware Rabbit Hole](<https://devfeed.tech/articles/the-firmware-and-hardware-rabbit-hole-35205.md>)

Original publisher: [Read original article](<https://blog.jessfraz.com/post/the-firmware-rabbit-hole/>)

Published: 2019-02-13T01:09:26Z

Content type: opinion

Language: en

Sources: [Jessie Frazelle](<https://devfeed.tech/sources/jessie-frazelle.md>)

Topics: [Hardware](<https://devfeed.tech/topics/hardware.md>), [Embedded Software Dev](<https://devfeed.tech/topics/embedded-software-dev.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [API](<https://devfeed.tech/topics/api.md>), [gRPC](<https://devfeed.tech/topics/grpc.md>), [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>), [Rust](<https://devfeed.tech/topics/rust.md>), [backdoor](<https://devfeed.tech/topics/backdoor.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [backdoor](<https://devfeed.tech/tags/backdoor.md>), [datacenter](<https://devfeed.tech/tags/datacenter.md>), [firmware](<https://devfeed.tech/tags/firmware.md>), [grpc](<https://devfeed.tech/tags/grpc.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [rust](<https://devfeed.tech/tags/rust.md>), [security-vulnerabilities](<https://devfeed.tech/tags/security-vulnerabilities.md>)

## AI overview

A personal exploration of firmware and hardware projects, focusing on OpenBMC, u-bmc, IPMI, Redfish, and the possibility of implementing a baseboard management controller in Rust. It also briefly examines the Intel Management Engine and reported security vulnerabilities and backdoor theories.

## Source excerpt

I started dipping into some firmware and hardware things on my vacation and unemployment and I figured I would take you down my journey as well. Baseboard management controller The first thing I dipped into was openbmc. This is pretty cool. At face value it has support for a lot of different boards. It uses IPMI (Intelligent Platform Management Interface) to perform tasks for monitoring and operating the components of a computer. The IPMI interface has been around for a super long time. RedFish is kind of the successor. It's an HTTP API and is more modern as a thoughtful approach to hardware deployment in a datacenter. The standard doesn't include every sensor that IPMI has but it does allow for someone to add more sensors types to their implementation. So I dug into the openbmc project a bit and tried to lick my wounds of dbus, seeing that was what it was using. I thought hmmm I wonder if there are more projects like this... It turns out there are! u-bmc from the same folks that made u-root seemed like a more simple, opinionated solution. However, it only has the support of one board currently, although others seem planned. I thought it was a kinda neat and interesting detail that u-bmc used gRPC instead of IPMI, seems like a cool choice to modernize but I had some naive questions so I headed to the internet for answers. Anyone know what the memory overhead for using gRPC for this is... I would think it's not insignificant, or you'd want to use one of the "tiny grpc" replacements, or maybe something that didn't reinvent its own HTTP server perhaps...? https://t.co/gIpW97r7Xw -- jessie frazelle 👩🏼🚀 (@jessfraz) February 5, 2019 That thread is awesome. Thanks to some super awesome and smart friends from the internet I learned a lot more about these two projects. I will let you read the thread and form opinions of your own but there's a lot of experience and knowledge in there. Currently, I'm feeling a bit nerd sniped by the idea of a BMC implemented in Rust to solve some of