Orangepi One wont connect ethernet unless through switch

Recommended Posts

Well a little info, I've been using my orangepi one with an SDR dongle to track airplanes with flightradar24 for the last few months. My intentions were to use a POE adapter and run the board outside near the antenna at one point. I have now received the final parts and went to move it today. It has been running flawlessly for a month with my POE adapter off of a switch near my PC in my shop. I now plan on connecting it to the main switch on my LAN.


So previously my setup was: Router -> switch -> long ethernet to shop -> swtich -> orangepione

now I want to run it: Router -> switch -> long ethernet to outside -> orangepione


But for some reason this doesn't work, it doesn't connect to the LAN unless it is behind both switches.

After booting it says:

phy: gmac0-0:00 - link is up full/100

phy: gmac0-0:00 - link is down


And repeats this every couple seconds. But if I unplug the ethernet cable and add the second switch between then it connects just fine. My laptop connects fine behind either setups so it cant be the cables.


Any ideas? are there settings in armbian that could be giving me these issues?

Link to post
Share on other sites
Donate and support the project!

I thought it might be that at first, but it does the same thing if I use a 5" cable.


I have only ever used my orangepi in my shop and at first I had the 2 ethernet ports on my shop computer bridged so I could plug it into that to get internet, but then I wanted to go on vacation and wanted to turn off my computer but leave the orangepi running so I put a cheap switch there instead. Now that Im trying to run it directly from the main switch on my LAN it work connect. Every other device on my lan connects fine through this switch and I've tried different cables and different ports.

Link to post
Share on other sites

Well the only way that has worked so far is to create a script in init.d

SPEED="100 duplex full"
case "$1" in
echo -n "Setting eth0 speed 100 duplex full autoneg off...";
$ETHTOOL -s $DEV speed $SPEED autoneg $AUTONEG;
echo " done.";;
exit 0

Is there a better way to do it? I tried adding the command with pre-up or post-up to /etc/network/interfaces but that didn't work at all.


Thanks for all the help this far!

Link to post
Share on other sites
This topic is now closed to further replies.