Network connection simulaneously works, and doesn't

That title is confusing, as is the problem. Let’s see if anyone can figure this out. I had some power issues with this Le Potato, but it’s been up and running flawlessly for at least a couple of weeks. Now, all of the sudden, I can’t SSH into it. Being a headless system, this restricts any diagnostics. When I first boot it, or if I unplug the network cable and plug it back in, it shows up on my router. But after less than a minute, it disappears. Can’t talk to it. But curiously, it shows up on nmap and I can still ping it. I’ve re-flashed multiple images that have worked reliably to no avail. Using Armbian. I’m not familiar with the internal structure of the Ethernet interface, but it’s like lower level protocols work but something is hosed higher up.

Possibly relevant is that I noticed LEDS glowing a little when they are supposed to be off, and measured a curious 2.2V on the GPIO pins. The most power-hungry LED draws only about 3mA, so I haven’t overloaded the outputs. Since it’s been in its enclosure with forced air flow, I haven’t even noticed the heat sink getting warm. I have no ideas of causes for a hardware failure other than bad attitude. The have been no suspicious incidents, and all this happened abruptly for no apparent reason. As near as I can tell, it’s otherwise working. It seems to boot normally, the heartbeat comes on, and the SSD activity LED blinks as usual at startup.

Is there anything else I can try short of tossing the board and trying another one?

You can think about this, but don’t rack your brains over it right now. The problem might be a bad Ethernet switch. I found some other very strange behaviors not related to the Potato, and after rebooting the switch, nothing is talking. A switch is one of those things you take for granted and don’t think about. I’ll have a new one in a couple of days so I’ll know more then.

Be careful - if you check the data sheet for the S905 SOC, the max allowed current in the gpio pins ranges between 2mA and 4mA, depending on the specific pin.

For example, the GPIOAO pins are all rated for 2mA. GPIOX_0 through 5 are all rated for 4mA, while the rest of the GPIOX pins are rated for 3mA.

Ugh. There was some Libre documentation somewhere that said 16mA. That’s what I was going by. I’m using GPIOX_12 & 13, so that should be OK. I’ll probably move them anyway. Thanks.

Use the S905X datasheet. There’s no GPIOs that can provide 16mA.

The new switch fixed my ping issues but not the Potato issue. I did find the data sheet, but not from AmLogic. I tried that before, to no avail. They have a beautiful site, but if there’s any useful information on it, it’s well hidden. Turns out the pins I used are only rated at 2mA, so 3mA is a bit abusive. I’ll assume I fried it, and replace that too, but with a different front panel interface that keeps the load on that fragile I/O down to 20μA. I’m used to Microchip AVR and SAM devices with their 20mA I/O, so 16mA sounded quite reasonable. I’m not sure where I found that specification.

Microcontrollers are relatively simple device with low density circuitry and bigger more robust transistors for landing higher power LEDs and small motors. They’re usually low frequency. SoC are complex devices with high density circuitry and GPIO mostly designed for high speed signaling and not powering devices. They’re not designed for the same purpose.

I noticed an error in my earlier post and wanted to correct it in case anyone else followed it… not all the GPIOX_ pins are rated for 3mA or 4mA - many are only rated for 2mA. Turns out I was looking at the wrong data sheet. I was looking at S905. S905 and S905X are not the same and have different data sheets.