Andro Posted July 13, 2017 Share Posted July 13, 2017 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 sharing options...
Andro Posted July 13, 2017 Author Share Posted July 13, 2017 Sorry - this should be posted under A20. Link to comment Share on other sites More sharing options...
Andro Posted July 15, 2017 Author Share Posted July 15, 2017 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 More sharing options...
Igor Posted July 15, 2017 Share Posted July 15, 2017 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 More sharing options...
Andro Posted July 15, 2017 Author Share Posted July 15, 2017 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! 1 Link to comment Share on other sites More sharing options...
Recommended Posts