Jump to content


Photo

Orange Pi PoE


  • Please log in to reply
16 replies to this topic

#1 hmartin

hmartin

    Advanced Member

  • Senior Members
  • PipPipPip
  • 43 posts

Posted 24 December 2016 - 03:05 PM

Questions and answers about powering the Orange Pi Zero using the "Power over Ethernet" option.

 

The aim is to answer community questions about Power Over Ethernet options (both official 802.3af/at and unofficial "PoE" solutions) and to improve the wiki page with these answers:

http://linux-sunxi.o..._Orange_Pi_Zero

 

Helpful links:

 

Examples of standards-compliant PoE hardware:

 

Examples of non-standards-compliant PoE hardware:

Q&A:

 

1. The Orange Pi Zero says it supports "PoE" how is this implemented?

The Ethernet port on the Orange Pi Zero exposes pins 4/5 and 7/8 via pads on the bottom of the board. Photo here. Note that this is 802.3af mode B, which is not fully standards compliant (802.3af/at specifies mode A and mode B, it is not allowed to have a device which only accepts one mode).

 

Out of the box, there is NO way to power the board from Ethernet, either with an 802.3af/at switch or with passive "PoE" injectors. More effort is needed.

 

2. What are the options to power the Orange Pi with "PoE" ?

Option 1:

Solder 0 Ohm resistors across the pads and use a PoE injector with 5V.

Pro:

 + No additional power supply needed

Con:

 - 5V cannot travel long distances without voltage sag. You can put in a higher voltage (e.g. 7V DC) but then all the cables would need to be the same length and you risk destroying the Orange Pi if the voltage spikes.

 

Option 2:

Solder a step-down converter and use a PoE injector with a higher voltage (e.g. 24V).

Pro:

 + 24V will travel much farther than 5V in a CAT5/6 cable.

Cons:

 - You will need to purchase and solder an additional voltage regulator to take the input voltage and drop it down to 5V.

 

Option 3:

Buy/use a PoE switch implementing 802.3af/at.

Pro:

 + Standards compliant

 + 802.3af/at operate at ~48V, which can power devices up to 100m away from the switch

 + Plugging in a non-PoE device will not result in fireworks

 + Cable faults will not result in short circuits because the switch will shut down the port

Con:

 - Power electronics to turn 48V into 5V may consume more power than the Orange Pi itself

 - More expensive



#2 atharmian

atharmian

    Advanced Member

  • Senior Members
  • PipPipPip
  • 81 posts

Posted 24 December 2016 - 07:31 PM

hmartin,

Thanks for taking time on this Xmas weekend. Well organized!

Two questions:

1. For option 3, what do you need to solder onto the OPi0 pads? 48/57-5V buck or zero ohm?

Also which pins to solder where ( clarification since this point isn't mentioned anywhere.)

2. Any clues on how to use OPi as PoE injector, passive or 802.3af/at compliant?

#3 hmartin

hmartin

    Advanced Member

  • Senior Members
  • PipPipPip
  • 43 posts

Posted 25 December 2016 - 11:09 AM

1. For option 3, what do you need to solder onto the OPi0 pads? 48/57-5V buck or zero ohm?

Also which pins to solder where ( clarification since this point isn't mentioned anywhere.)

 

For option 3 you need an external adapter like the ones mentioned in Examples of standards-compliant PoE hardware

 

No soldering is required if you buy one with Micro USB cable (e.g. https://www.aliexpre...2741378583.html ) . If you want one like the TP-Link which doesn't have a micro USB port, you can solder the power directly to GPIO pins (+5: pins 2,4; GND: pin 6). The Orange Pi Zero schematic lists the GPIO header pinout on page 11 [PDF]. Here is a photo of the correct pins.

 

 

2. Any clues on how to use OPi as PoE injector, passive or 802.3af/at compliant?

 

Using the Orange Pi as an injector? Not sure why you would want to do this...

 

If you soldered 0 Ohm resistors to R29 and R358 you would bridge VBUS to pins 4/5 and GND to pins 7/8 of the Ethernet cable. Then if you powered the Orange Pi Zero with 5V, this power would also go out via the Ethernet cable.

 

This is not 802.3at/af compliant!

 

It also isn't very useful for anything because 5V won't travel very far, and because it's from VBUS in the Orange Pi Zero there's no way to put in higher voltage. You could perhaps solder a DC-DC step-up converter between the VBUS side and the Ethernet side of R29 to boost the VBUS voltage of the Orange Pi Zero before sending it out, but because it's stepping up from 5V there will be severe limits to the output voltage and current.



#4 atharmian

atharmian

    Advanced Member

  • Senior Members
  • PipPipPip
  • 81 posts

Posted 25 December 2016 - 04:36 PM

hmartin,

I only asked about the OPi0 as PoE injector for completeness: the Xunlong sunxi description mentions it in the last sentence. Of course as you say this won't be very useful, and can only go 3-4m with 5V.

Also re: Option 3 ( 802.3af mode B ), I thought that if you soldered zero ohm resistors on the pads, the correct power ( no overvoltage) would be transmitted to the OPi0 board as PD from the Ethernet port, since there would be auto- negotiation. And the cat5 cable from the 802.3af injector, e.g., TP- Link, would go into this Ethernet port on the OPi0. But maybe not.

The power splitter device usage I understand, but then this can also be used with non- PoE boards as PDs.

#5 hmartin

hmartin

    Advanced Member

  • Senior Members
  • PipPipPip
  • 43 posts

Posted 26 December 2016 - 07:15 PM

Also re: Option 3 ( 802.3af mode B ), I thought that if you soldered zero ohm resistors on the pads, the correct power ( no overvoltage) would be transmitted to the OPi0 board as PD from the Ethernet port, since there would be auto- negotiation. And the cat5 cable from the 802.3af injector, e.g., TP- Link, would go into this Ethernet port on the OPi0. But maybe not.

 

802.3af mode B only refers to the wires used to transmit power. It's one of 4 possible modes of power delivery (100Mbit Mode A/Mode B, Gigabit Mode A/Mode B ). A device cannot be 802.3af compliant unless it supports both mode A and mode B, which the Orange Pi Zero does not. You can find this mentioned in the non-standard implementations section of the Wikipedia article.

 

The switch will only negotiate whether to send power or not, and whether to send 15W (802.3af/"PoE") or 25W (802.3at/"PoE+"). There is no negotiation between the PSE (switch) and the PD over the voltage supplied to the PD: it's always 48V.

 

The Orange Pi Zero is not 802.3af complaint, so you need an 802.3af compliant power supply like the TL-POE10R mentioned above. The TL-POE10R is the PD. The Orange Pi Zero then connects to the TL-POE10R PD for power and data. Past the TL-POE10R, the PSE doesn't care what's connected so long as it speaks Ethernet and the total consumption of the device and TL-POE10R doesn't exceed 15W.

 

Because the PSE has a detection sequence to detect 802.3af/at compliance, I doubt it will supply any power if you solder 0 Ohm resistors to your Orange Pi Zero, since the PSE is probing for a very specific resistance and load current (see: Stages of powering up a PoE link). Empirical evidence is always welcome though  :D



#6 atharmian

atharmian

    Advanced Member

  • Senior Members
  • PipPipPip
  • 81 posts

Posted 26 December 2016 - 07:28 PM

hmartin,

Good explanation. Your link , "Stages of powering..." comes empty.

So essentially the 802.3 af option 3 is pointless, because OPi0 still sees 48V or so, and will need a power splitter for Ethernet data only (Ethernet port without power injection) and power routes.

In which case the OPi0 linux-sunxi description should be amended to remove references to 802.3af capabilities ( power splitters can be used in all feed cases anyway.) OPi0 is just a passive PoE PD.

Also the power injector part should be clarified to say only over short distances, 3-4m, given the 5V restriction.

#7 hmartin

hmartin

    Advanced Member

  • Senior Members
  • PipPipPip
  • 43 posts

Posted 27 December 2016 - 12:43 PM

Good explanation. Your link , "Stages of powering..." comes empty.

 

Works for me, but here's the raw link:

https://en.wikipedia...owering_devices

 

In which case the OPi0 linux-sunxi description should be amended to remove references to 802.3af capabilities ( power splitters can be used in all feed cases anyway.) OPi0 is just a passive PoE PD.

 

I have updated the page based on our discussion!



#8 atharmian

atharmian

    Advanced Member

  • Senior Members
  • PipPipPip
  • 81 posts

Posted 27 December 2016 - 12:53 PM

hmartin,

Great ! Looks nice.

#9 SomeArmbianForumUser

SomeArmbianForumUser

    Member

  • Senior Members
  • PipPip
  • 17 posts

Posted 28 December 2016 - 08:59 PM

Safety

 

I'm considering passive PoE for 2 to 4 Opi0 distributed across our house.

 

I want to make sure the house cannot burn down even if something shorts the power supply lines at the remote network socket or if the cat6 installation cable is damaged.

 

The linked 8 port passive PoE injector does not mention fuses in its description.

 

This 4 port injector https://www.amazon.c.../dp/B01HPLCLGM/mentions a "resettable 650 mA fuse" for each port. I ask myself if 650mA is low enough for safety, and if this ability to reset itself is not risky.

 

I guess I should add an additional external fuse between power supply and PoE injector that is even lower for peace of mind. 4 Opi0s, with IoT power saving settings but both network interfaces active, might consume 3 Watt total. With 90% efficiency of the buck converters I would need 3.3 Watts total at the 4 remote network sockets, Wikipedia tells me PoE specs assume ~25% conduction loss, so I would need to inject 4.2 Watts total into the central patch panel, which at 24 Volts means total current for 4 Opi0s should not exceed 175mA.

 

If I use a single external 200mA quick melting fuse for a four port injector I should have enough power to drive 4 Opi0s and still have headroom for spikes. My cat6 installation length is < 20m everywhere. With the normally low currents of the Opi0s, conduction loss should be lower than the 25% rule of thumb for PoE.

 

Please point out any flaws I made. I'm a bit paranoid here.



#10 hmartin

hmartin

    Advanced Member

  • Senior Members
  • PipPipPip
  • 43 posts

Posted 29 December 2016 - 10:47 AM

This 4 port injector https://www.amazon.c.../dp/B01HPLCLGM/mentions a "resettable 650 mA fuse" for each port. I ask myself if 650mA is low enough for safety, and if this ability to reset itself is not risky.

 

Fuses are a good idea, but we're talking about 24V here. Enough to make a spark if you've got a big enough source (e.g. car battery) but in low currents it should be entirely safe to use.

 

650mA * 24V is 15.5W, which is the same limit as normal 802.3af. If they are not a one-time fuse, I would guess they're a polyfuse, meaning they are heat activated. The same kind of fuses are used to protect USB ports from over current.

 

However looking at the photos on Amazon, I can't see these fuses anywhere. If you buy this injector I would verify that there are actually fuses installed.

 

 

I guess I should add an additional external fuse between power supply and PoE injector that is even lower for peace of mind. 4 Opi0s, with IoT power saving settings but both network interfaces active, might consume 3 Watt total. With 90% efficiency of the buck converters I would need 3.3 Watts total at the 4 remote network sockets, Wikipedia tells me PoE specs assume ~25% conduction loss, so I would need to inject 4.2 Watts total into the central patch panel, which at 24 Volts means total current for 4 Opi0s should not exceed 175mA.

 

If I use a single external 200mA quick melting fuse for a four port injector I should have enough power to drive 4 Opi0s and still have headroom for spikes. My cat6 installation length is < 20m everywhere. With the normally low currents of the Opi0s, conduction loss should be lower than the 25% rule of thumb for PoE.

 

200mA * 24V is only 5W. In my opinion this is cutting it too close, you're very likely to have the fuse burned out at some point due to a current spike (e.g. if you have a power failure and all Orange Pi Zero's restart at the same time). I also think that 3W for 4 Orange Pi units with Ethernet and WiFi is too conservative.

 

I would recommend using a larger fuse. Something around 1A (24W) will provide both enough head room for all Orange Pi Zero units to run and yet still provide the protection you're seeking.

 

24W won't generate enough heat to cause a fire, even if there's a direct short.


  • SomeArmbianForumUser likes this

#11 SomeArmbianForumUser

SomeArmbianForumUser

    Member

  • Senior Members
  • PipPip
  • 17 posts

Posted 24 January 2017 - 01:39 PM

It seems that I'm the first person (*) to actually tinker with passive PoE on the Orange Pi Zero. I'm not finished yet, but I'd like to publish this warning for the benefit of anyone who follows on this path:

 

Before you inject power over ethernet, remove resistors R135 and R136 from the Orange Pi Zero board!

 

These resistors can be found on the top side of the board, next to the RJ45 jack:

(Apparently I'm not allowed to post images. Be sure to remove the correct ones. the resistors nearest the label "R135/R136"l are actually R353/R352. R135/136 are nearer to the RJ45 connector. Yes I found out by removing the wrong ones first.)

 

If these resistors are left on the board, they will connect POE+ and POE-GND with a resistance of 150Ω. At 24V, that would produce 3.8W of heat. These resistors would not sustain that. I found out something's wrong in the good old tradition of connecting power and see if smoke develops.

 

Then I cut them off with small wire cutters (I suck at SMD soldering).

 

(*) The image at http://linux-sunxi.o...ccess_Point.jpg also shows PoE preparations, but apparently it has not actually been used with PoE power, as you can see R135 still intact, and the part of R136 that can bee seen also shows no damage.



#12 atharmian

atharmian

    Advanced Member

  • Senior Members
  • PipPipPip
  • 81 posts

Posted 24 January 2017 - 02:30 PM

@SomeArmbianForumUser

Thanks for the details. Hopefully the wiki will get updated soon.

So I guess Xunlong never tested this, neither did other Armbians.

#13 SomeArmbianForumUser

SomeArmbianForumUser

    Member

  • Senior Members
  • PipPip
  • 17 posts

Posted 24 January 2017 - 03:35 PM

So I guess Xunlong never tested this

To be fair, the HW manufacturer planned for direct 5V injection, which would only produce 166mW wasted heat through these resistors. Armbians suggested a more practical aproach with higher network voltage and a buck converter, for which I'm thankful.



#14 SomeArmbianForumUser

SomeArmbianForumUser

    Member

  • Senior Members
  • PipPip
  • 17 posts

Posted 24 January 2017 - 05:56 PM

Success: My First OPZ runs on PoE.

 

I have used this PoE Injector, extended it with this fuse holder, currently it contains a 200mA slow acting fuse. I'm using this 24V 0.5A power supply and these buck converters. I would not recommend the buck converters, because they are very tricky to adjust.



#15 hmartin

hmartin

    Advanced Member

  • Senior Members
  • PipPipPip
  • 43 posts

Posted 24 January 2017 - 10:38 PM

These resistors can be found on the top side of the board, next to the RJ45 jack:

(Apparently I'm not allowed to post images. Be sure to remove the correct ones. the resistors nearest the label "R135/R136"l are actually R353/R352. R135/136 are nearer to the RJ45 connector. Yes I found out by removing the wrong ones first.)

 

If these resistors are left on the board, they will connect POE+ and POE-GND with a resistance of 150Ω. At 24V, that would produce 3.8W of heat. These resistors would not sustain that. I found out something's wrong in the good old tradition of connecting power and see if smoke develops.

 

Thanks for pointing this out! Sorry it was missed in the summary of PoE options.

 

I've updated the wiki with instructions to remove the resistors and a photo highlighting their location on the PCB.



#16 SomeArmbianForumUser

SomeArmbianForumUser

    Member

  • Senior Members
  • PipPip
  • 17 posts

Posted 25 January 2017 - 10:23 PM

I've updated the wiki with instructions to remove the resistors and a photo highlighting their location on the PCB.

You have made the same mistake graphically that I made physically at first. Sorry for not being clear enough.

 

In that picture, you have actually encircled R353/R352. These are _not_ identical to R135/R136. R135/R136 sit directly below the encircled resistors in that picture. R353/R352 can stay, R135/R136 have to go.

 

A correctly modified board looks like this (test if I can include images from the sunxi wiki): OrangePiZero_without_R135R136.jpg

 

I have now corrected the wiki page. I could not replace the image with the wrong resistors highlighted, so I uploaded a new one with a different name and used this in the article to highlight the R135/R136 resistor positions:

OrangePiZero_R135R136.jpg



#17 hmartin

hmartin

    Advanced Member

  • Senior Members
  • PipPipPip
  • 43 posts

Posted 26 January 2017 - 08:30 PM

You have made the same mistake graphically that I made physically at first. Sorry for not being clear enough.

 

In that picture, you have actually encircled R353/R352. These are _not_ identical to R135/R136. R135/R136 sit directly below the encircled resistors in that picture. R353/R352 can stay, R135/R136 have to go.

 

Whoops, thanks for the correction!