Jump to content

pcDuino 3 ethernet not working


Andro

Recommended Posts

Using the Ubuntu Armbian image for pcDuino 3 I am unable to get the ethernet device eth1 to work. Wireless works fine, but trying to get an IP address for eth1 fails consistently. I have read various indications that this may be an issue with GMAC TX delays or similar, but as a newbie to pcDuino and embedded Linux I do not know how to alter or adjust this, or if this is even the problem. Has anybody else experienced this with the pcDuino3 and is there a solution? As a long time UNIX developer I am reasonably confident this is not merely a UNIX configuration issue, as I have configured the pcDuino 3 Ubuntu identically to my other reference Ubuntu servers which work fine. This is the exact image file I built:

 

Armbian_5.32_Pcduino3_Ubuntu_xenial_default_3.4.113_desktop.img

 

 

Link to comment
Share on other sites

More information on this problem, confirmed by experiment. The GMAC delay is certainly the issue. Using the pcDuino Nano image works fine. If I do a diff between the two u-boot.cfg files for the pcDuino3 and the pcDuino3 Nano, we have the following:

120c120
< #define CONFIG_GMAC_TX_DELAY 0
---
> #define CONFIG_GMAC_TX_DELAY 3
204c204
< #define CONFIG_USB1_VBUS_PIN "PH6"
---
> #define CONFIG_USB1_VBUS_PIN "PH11"
241a242
> #define CONFIG_RGMII 1
334c335
< #define CONFIG_DEFAULT_DEVICE_TREE "sun7i-a20-pcduino3"
---
> #define CONFIG_DEFAULT_DEVICE_TREE "sun7i-a20-pcduino3-nano"

It's clear the delay of 3 in the Nano config makes the ethernet work.

 

So now my question becomes, as a newbie, how do I make this modification to u-boot.cfg in the build process? I am unclear as to what modifications need to be made to compile.sh or elsewhere to achieve this. All assistance gratefully received.

 

Link to comment
Share on other sites

2 hours ago, Andro said:

So now my question becomes, as a newbie, how do I make this modification to u-boot.cfg in the build process?

 

By putting u-boot patch here: lib/patch/u-boot/u-boot-sunxi (userpatches/u-boot/u-boot-sunxi when testing) and if it works well, push it upstream.

Link to comment
Share on other sites

Hello Igor, Thanks for helping out this newbie to embedded Linux.

 

Indeed, setting the CONFIG_GMAC_TX_DELAY to 3 for the pcDuino 3 makes the ethernet spring into life and function perfectly. I am sure others must have encountered this also, so I will learn how to make a patch properly and correctly and give it a good soak test and then push this fix back to the community.

 

The pcDuino 3 is turning out for my purposes to be a surprisingly capable little board, and the price has suddenly dropped substantially here in Australia making it very affordable and excellent value, especially with the onboard SATA which works just great.

 

Armbian on the pcDuino is so much superior to the poor system that is installed on the board at purchase that I am quite overwhelmed. Once more, thanks!

 

 

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines