I built up a new board with built in network and a SC20100S today and am having some small problems with the ethernet.
What is happening is that network link is achieved, but it can not be pinged.
I built two boards, one has this problem and the other one doesnt. Same software, same ethernet settings.
I think it’s a hardware problem, this board already gave me a headache because the PHY chip was broken. Replacing the chip didn’t go too great, so it could be something is wrong there.
Could anyone give an indication as to what part of the hardware I should be checking here? Could it be, for example, the MDIO or MDCLK lines that arent connected properly? I’ve been blindly trying to fix things, but no success yet.
I probed the ETH ref clk already and it is a nice 50MHz sine. I also probed the TX± and RX± and I see normal network activity happening here.
I have a similar issue, i found that instead of power cycling the board i just have a timer that just resets the ethernet hardware 10 seconds after power on. I have no idea what’s going on under the hood or why this works, but it’s worked for me.
10 seconds after startup. All it does is turn off the Ethernet power pin, waits 2 seconds, reapplies the settings and then powers the ethernet pin back up. It’s a very hacky way of doing it but it seems to do the trick.
then my reset code is basically just from the tutorial
cs.Write(GHIElectronics.TinyCLR.Devices.Gpio.GpioPinValue.Low);
System.Threading.Thread.Sleep(500);
cs.Write(GHIElectronics.TinyCLR.Devices.Gpio.GpioPinValue.High);
System.Threading.Thread.Sleep(500);
//get net settings - this is where it does the tutorial stuff for the ethernet hardware