4 ms·
Considering the thing needs to have ethernet, presumably to support at least HTTP(S) and SNMP and ideally has the crunch to simulate a display device, and the b
by fake-name 4y ago
Considering the thing needs to have ethernet, presumably to support at least HTTP(S) and SNMP and ideally has the crunch to simulate a display device, and the bandwidth to stream at least an IP-KVM over the network, I'd love to hear how you would implement that on an arduino.
In this case, It exposes a PCIe interface (really!), USB, multiple SPI/QSPI, and various I2C/Serial interfaces to the host to monitor various facets of the system. The high bandwidth interfaces aren't exactly easy to implement on any small micro.
Really, basically you have either a LwIP-based implementation probably in completely new C (and all the fun security issues with that kind of codebase), or something running a whole host OS. Considering how it seems basically every time any security researcher takes a quick glance at LwIP half a dozen security issues seem to fall out, I think I'd trust linux way more then anything bespoke.
What do you exactly think a BMC does?
- fake-name 4y agoLooking through the DC-SCM specs [1], this thing is nuts. - 13 (*Thirteen*) separate I2C interfaces - 4 I3C interfaces (Update to I2C, still mostly proprietary) - 2 QSPI interfaces - 2 UART Interfaces - 2 USB-2.0 interfaces - PCIe 3.0 1x interface - PCIe 5.0 4x interface - JTAG to host system - Various simple control signals (power, ok, etc..) It's pretty goddamn future proof, though there's zero chance you could support all the various interfaces on anything arduino-esque. Note: Apparently this isn't exactly news, here's[2] the antmicro press-release about this thing from 2021. Here's [3] the actual docs on the DC-SCM (including kicad schematic & PCB layout!). 1: https://www.opencompute.org/documents/ocp-dc-scm-spec-rev-1-0-pdf https://www.opencompute.org/documents/ocp-dc-scm-spec-rev-1-... 2: https://antmicro.com/blog/2021/07/dc-scm-open-hardware-for-fpga-bmc/ https://antmicro.com/blog/2021/07/dc-scm-open-hardware-for-f... 3: https://github.com/antmicro/artix-dc-scm https://github.com/antmicro/artix-dc-scm
- unwind 4y agoWow, I was not aware of I3C being a thing, thanks for digging that up and making it visible! It looks like [1] it's from 2016 but I hadn't heard of it. I spend too little time in that part of the embedded world, it seems. From my quick reading it pushes the maximum data rate up from 5 Mbps to 25 by using various tricks, pretty cool. In my more sedate embedded world, I2C tops out at 400 kbps, old-school style. :) Also, completely agreed that this board management controller is massively (over)speced, it's really very capable. Of course the flip side of that is worrying about abuse ("with great power ...").
- fake-name 4y agoI read most of the complex facilities as being to allow it to act as a display adapter (to emulate a IP-KVM) and/or a boot disk (for remote provisioning). I don't think this is the sort of thing I'd worry about being misused, it's big and complex and will get hot and way more obvious then anything you'd use for clandestine purposes.
- rbanffy 4y ago> Wow, I was not aware of I3C being a thing One of the saddest thing about fancy servers is that we, ordinary mortals, never get to lay our hands on one. I'd be OK with writing COBOL in order to use a z16 mainframe.
- rbanffy 4y ago> I'd love to hear how you would implement that on an arduino. It may be possible, but I'm absolutely sure it's not pleasing.