7 ms·
Negotiating PoE+ Power in the Pre‑Boot Environment
- throw0101d 1y ago> PoE Standards Overview (IEEE 802.3) For the record, 802.3bt was released in 2022: * https://en.wikipedia.org/wiki/Power_over_Ethernet https://en.wikipedia.org/wiki/Power_over_Ethernet It allows for up to 71W at the far end of the connection.
- londons_explore 1y agoThe UART standards didn't specify bit rates - which allowed the same standard to scale all the way from 300 bps in the 1960's all the way up to 10+ megabps in the 90's. Why can't POE standards do the same? Simply don't set voltage or current limits in the standard, and instead let endpoint devices advertise what they're capable of.
- userbinator 1y agoThe standards basically specify the minimum power the source is supposed to be able to supply, and the maximum power the other end can sink.
- esseph 1y agoThat would require them to know the standard of cable they're connected with Unless you like home and warehouse fires Or if you want to add per port fuses. That sounds incredibly expensive.
- wmf 1y agoDoes POE+++++ measure the cable? If not, there's nothing in the protocol stopping you from overloading the cable.
- esseph 1y agoHave you ever ran a DC voltage calculation for voltage drop for a cat5/6/7 cable? It can be substantial. But yes, there are cable spec requirements for POE depending on the demands of the device! NEC as of 2017 has new standards and a whole section for PoE devices above 60W now, specifically a section on safety and best practices. It DOES have cable requirements that do impact the cable standard chosen. More info on that here: https://www.panduit.com/content/dam/panduit/en/landing-pages/power-over-ethernet/NEC-PoE-Updated-TechBrief.pdf https://www.panduit.com/content/dam/panduit/en/landing-pages... From: https://reolink.com/blog/poe-distance-limit/?srsltid=AfmBOopD8g6rbvIN-ijn2R84RPp2T7fkq1tRT8VYVuy7Dr5w0ajyCkYu#poe-standards-and-poe-distance-limits https://reolink.com/blog/poe-distance-limit/?srsltid=AfmBOop... --- PoE Distance Limit (802.3af) The original 802.3af PoE standard ratified in 2003 provides up to 15.4W of power to devices. It has a maximum distance limit of 100 meters, like all PoE standards. However, because of voltage drop along Ethernet cables, the usable PoE distance for 15.4W devices is often only 50-60 meters in practice using common Cat5e cabling. In addition, this piece of note from Wikipedia: https://en.wikipedia.org/wiki/Power_over_Ethernet#Power_capacity_limits https://en.wikipedia.org/wiki/Power_over_Ethernet#Power_capa... --- The ISO/IEC TR 29125 and Cenelec EN 50174-99-1 draft standards outline the cable bundle temperature rise that can be expected from the use of 4PPoE. A distinction is made between two scenarios: bundles heating up from the inside to the outside, and bundles heating up from the outside to match the ambient temperature The second scenario largely depends on the environment and installation, whereas the first is solely influenced by the cable construction. In a standard unshielded cable, the PoE-related temperature rise increases by a factor of 5. In a shielded cable, this value drops to between 2.5 and 3, depending on the design. PoE+ Distance Limit (802.3at) An update to PoE in 2009 called PoE+ increased the available power to 30W per port. The formal 100-meter distance limit remains unchanged from previous standards. However, the higher power budget of 30W devices leads to increased voltage drops during transmission over long distances. PoE++ Distance Limit (802.3bt) The latest 2018 PoE++ standard increased available power further to as much as 60W. As you can expect, with higher power outputs, usable distances for PoE++ are even lower than previous PoE versions. Real-world PoE++ distances are often only 15-25 meters for equipment needing the full 60W.
- wmf 1y ago
- brirec 1y agoThe standard is, well, a standard, and that’s why PoE is safe in the first place. Adding per-port fuses won’t stop bad cable from burning, because the fuse would have to be sized for the rating of the PoE switch. This is why you don’t want “fake” Cat6 etc. cable. I’ve seen copper-clad aluminum sold as cat6 cable before, but that shit will break 100% of the time and a broken cable will absolutely catch fire from a standard 802.at switch.
- esseph 1y agoThere are also distance limits based on the type of cable used and the power drawn by the end device. The more you push that, the more heat you build. Shielding reduces that heat factor. https://en.wikipedia.org/wiki/Power_over_Ethernet#Power_capacity_limits https://en.wikipedia.org/wiki/Power_over_Ethernet#Power_capa... For Dayjob I power a lot of very expensive not-even-on-the-market-yet radios and other equipment via multiple PoE standards, mixed vendors, 2 pair, 4 pair, etc via POE and we have ran into all kinds of POE problems over the years. POE fires do happen. Sometimes it's the cable, the connector, sometimes something happened to the cable run. Sometimes the gear melts. https://www.powerelectronictips.com/halt-and-catch-fire-the-perils-of-cheap-poe/ https://www.powerelectronictips.com/halt-and-catch-fire-the-...
- throw0101d 1y ago> There are also distance limits It should be noted that there are two standards (of course) for Ethernet cabling, and one (TIA) officially hardcodes distances (e.g., 100m) but the other (ISO) simply specifies the signal-to-noise has to be a certain limits which could allow for longer distances (>100m): * https://www.youtube.com/watch?v=kNa_IdfivKs https://www.youtube.com/watch?v=kNa_IdfivKs A specific product that lets you go longer than 100m: * https://www.youtube.com/watch?v=ZY48KUAZKhM https://www.youtube.com/watch?v=ZY48KUAZKhM
- esseph 1y agoAs for your note about PoE standards btw, I remember an old joke, something along the lines of "The best thing about standards is that there are so many to choose from!" --- Non-standard implementations There are more than ten proprietary implementations.[49] The more common ones are discussed below. https://en.wikipedia.org/wiki/Power_over_Ethernet#Non-standard_implementations https://en.wikipedia.org/wiki/Power_over_Ethernet#Non-standa...
- RF_Savage 1y agoProper PoE sources have active per port current monitoring and will disable the PoE power in case of an over current event.
- esseph 1y agoYou can be over the thermal capacity of the cable without having too much draw on the port.
- izacus 1y agoSo the situation would be: you create a setup, buy devices and then they randomly shutdown as they pull too much current? How is that better than having a well defined standard that ensures compatibility?
- crote 1y agoThe device first negotiates a certain current capability. If a device explicitly asks for 15W and then goes on to draw 60W, you can hardly call it a "random" shutdown: it is clearly misbehaving, so it is best to shut it down to prevent further damage.
- mrheosuper 1y agobecause power delivery depends on a lot of other things. The most important one i could think is the cable, the ethernet cable is a dumb one, no way to tell its capability. USB-C solved this problem with the E-marker chip, which basically transform the dumb cable into smart one. Even so, the PD protocol limits how much power can be transferred.
- Aurornis 1y ago> Simply don't set voltage or current limits in the standard, There are thermal and safety limits to how much current and voltage you can send down standard cabling. The top PoE standards are basically at those limits. > and instead let endpoint devices advertise what they're capable of. There are LLDP provisions to negotiate power in 0.1W increments. The standards are still very useful for having a known target to hit. It’s much easier to say a device is compatible with one of the standards then to have to check the voltage and current limits for everything.
- yencabulator 1y ago802.3bt changes how the wires are used physically. Power can now be negotiated to be delivered over previously data-only lines.
- varjag 1y agoIt was finalized in 2018, and by 2020 there were commercial offerings from major vendors. I know this as we developed a 802.3bt product in 2018.
- mrheosuper 1y agoInteresting. If it were me, i would try to boot the OS at lower CPU clock and maybe I can get away with it. That approach would be less than ideal than author's.
- userbinator 1y agorunning Intel Atom processors[...]these were full-fledged x86 computers that required more power than what the standard PoE (802.3af) could deliver Those must've been the server Atoms or the later models that aren't actually all that low-power, as the ones I'm familiar with are well under 10W.
- bigfatkitten 1y agoYou might have a 10W TDP CPU, but the rest of the system requires power too.
- SoftTalker 1y agoWhat I don't understand, though, is that these were for "digital signage systems" according to TFA. You're not running Windows 10 Pro on an Atom board and a large illuminated digital sign with 25W PoE. Maybe the signs were smaller than I'm thinking? Like tablet-sized? But if you're needing to run power for a display, why not just power the whole system from that?
- unit149 1y ago[dead]
- blocksocial130 1y ago[dead]
- pawanjswal 1y agoSolving PoE+ power negotiation before the OS boots is next-level. This is good and a clever workaround.
- tremon 1y agoI would have thought it the other way around: performing PoE+ negotiation in the network hardware is first-level; delegating it to the OS is next-level for me.
- oakwhiz 1y agoWouldn't it be funny to probe peripherals to decide if extra power is demanded or not, then request it all inside UEFI
- amelius 1y agoWhat if the demand is variable?
- BobbyTables2 1y agoBlade servers basically do this before they even turn on.
- smileybarry 1y agoI assume it’s probably because the baseboard management thing (iDRAC and the like) boot beforehand and can do various USB & ISO manipulation.
- protocolture 1y agoThis is awesome. I probably would have used passive poe, which is the defacto workaround everyone seems to use. Good to see someone actually tackle the issue instead of working around it.
- minetest2048 1y agoRelated problem is single-board computers that relies on USB-PD for power. USB-PD sources requires the sink to do power delivery negotiation within 5 seconds, or it will cut its power or do funny things. Because USB-PD negotiation is handled in Linux, by the time Linux boots it will be too late, and power supply will cut the power, so it will be stuck in a boot loop: https://www.spinics.net/lists/linux-usb/msg239175.html https://www.spinics.net/lists/linux-usb/msg239175.html They way they're trying to solve it is very similar to this article, by doing the USB-PD negotiation during U-boot bootloader stage: - https://gitlab.collabora.com/hardware-enablement/rockchip-3588/linux/-/issues/8 https://gitlab.collabora.com/hardware-enablement/rockchip-35... - https://lore.kernel.org/u-boot/20241015152719.88678-1-sebastian.reichel@collabora.com/ https://lore.kernel.org/u-boot/20241015152719.88678-1-sebast...
- rickdeckard 1y agoInteresting, thanks for sharing. I missed that evolution of "thin" USB-C controllers which delegate the PD handshake elsewhere. I don't know yet how I feel about the fact that a driver in the OS is supposed to take this role and tell the power-supply how much power to deliver. Not necessarily a novel security concern, but a potential nightmare from a plain B2C customer service perspective (i.e. a faulty driver causing the system to shut down during boot, fry the Motherboard,...)
- gorkish 1y agoIt's not, per-se, a driver doing the PD negotiation in software; it's more that the USB chipset isnt initialized and configured for PD negotiation (or anything else for that matter) until the CPU twiddles its PCI configuration space. I would have imagined that USB controller chipsets would likely offer some nonvolatile means to set the PD configuration (like jumpers or eeprom) precisely because of this issue. It's surprising to me that such a feature isnt common
- jdndnxnd 1y agoHaving persistent state between components is a nightmare in embedded world Nevertheless I'm surprised USB controller initialization is done by the OS instead of the motherboard chipset
- theandrewbailey 1y ago> I dug deeper and came across the concept of UEFI applications. TIL.
- yencabulator 1y agoMy rule of thumb: UEFI is like a cleaned-up MS-DOS.
- smileybarry 1y agoWait until you find out OEMs now make UEFI applications that NetBoot off the internet. Lenovo have a recovery app implemented this way
- willis936 1y ago>the switch is configured to require LLDP for Data Link Layer Classification for devices requiring more than 15.4W This really feels like a switch configuration problem. A compliant PoE PD circuit indicates its power class and shouldn't need to bootstrap power delivery. If the PD is compliant and components selected correctly then the PSE is either non-compliant or configured incorrectly.
- xyst 1y ago> Back in 2015, I was working on a project to build PoE-powered embedded x86 computers and digital signage systems. > Our device required about 23W when fully operational, which pushed us into 802.3at (PoE+) territory The problem the author solved is quite interesting. But I can’t help but think how wasteful it is to load up a full copy of windows just to serve up dumb advertisements. The attack surface of a fully copy of windows 10 is an attackers wet dream. Hope most of these installations are put out to pasture and replaced with very low power solutions.
- wildzzz 1y agoIt all depends on the environment. If windows is already running on every PC in the building, it may make more sense to have these signs run windows too. You can put copies of the security software you're already paying for and allow for approved AD users to login and manage the signs. Windows is a great attack vector but there's less risk if you're in control of it versus some vendor solution that you can't audit as easily. The fact that you don't have a user going to malicious websites or plugging in malware flash drives probably reduces the risk too. If you already have 1000 windows machines on the enterprise network, what's a few more?
- stackskipton 1y agoHaving worked with these systems before, most of them are appliances meaning no, we did not AD join them or install our security software. Windows was running because Linux was too hard for vendors.
- shadowpho 1y agoLinux is also a PIA for non-server application. I’ve spent several days getting my screen to stay on for a Linux driven display.
- smileybarry 1y agoThey’re usually IoT editions of Windows 10, I.e. still the same kernel but with a lot less bundled apps etc. and a LTS support cycle. I’m also not sure how much of modern Windows is that big of an attack surface, given that most things are just firewalled off automatically.
- baybal2 1y ago[dead]
- ranger207 1y agoI know USB PD has trigger chips that will request the power levels that require active negotiation for you; are there not equivalents for PoE?