A slave board is possible, but if there's a way to do without it I'd prefer that. I think the fewer proprietary and also essential parts there are, the better. Dealing with warranty stuff sucks from both ends, especially if there's no workaround to get your miner at least back to limping while waiting for replacements.
I'm not a fan of proprietary designs when there are off the shelf components available. That's why I was thinking about using something like:
https://www.adafruit.com/products/2885or similar as the slave controller. It is powerful enough to do everything to manage the miner, and is sourceable from a lot of places. Using a slave controller also makes some of the management tasks easier.
Are there any decent wifi modules that work with the Pi via USB? I'm assuming so, that seems like a very simple and common problem but I don't really use wifi so I've never had to look it up.
Yes, as @irritant mentioned, the RasPi 3 has it built-in.
What I'm thinking currently is have a Pi as an internal controller, and expose ethernet, at least one USB and probably some status LEDs on the front panel. Hashboards would connect directly to the Pi by USB. Worst case your Pi craps out and you're waiting on a replacement, you should still be able to tie the boards to an adjacent miner or other computer via hub.
How would fan management work in the failed/external controller scenario? I like the idea of each hashboard having it's own connection to the controller, but as you mentioned earlier, how to associate fans to hashboards/miners becomes a challenge. How much non-hashing functionality do you want to put on the hashboards? Is there benefit/value in keeping the hashboards "simple" and having some auxiliary board handle some of the other tasks?
With a setup like that, the hashboards become the only proprietary (and therefore difficult to source) electronics, and they would be easy to run off a variety of nonproprietary controllers, which minimizes a lot of the issues people have with, say, Antminer BeagleBoners and IO boards shooting craps and losing a month of hashtime and money out of pocket waiting for very specific replacement parts existing in limited quantities (if at all) from exactly one source in the world.
Agreed. If "fixing" the miner is as simple as removing the failed controller, pulling the microSD card, inserting it into the new controller, and plugging it back it in, then that's good. That the failed controller is available off the shelf from a number of places around the world, then it's even better. That's why I keep coming back to the RasPi variants. The Arduino and it's variants are about the only other ones I know that have such broad availability. There are probably others, but those are the two that come to mind.
Enabling power to the hashboards does not need to be accomplished using external switches in any way, provided the hashboards have an onboard regulator (which they will if I have any say in the matter). One only needs control of the buck controller's ENABLE pin (which NotFuzzy stated while I was typing this up). No power will get to the hashing chips if the buck is shut down, so the board-level microcontroller should be able to control this in addition to determining operating voltages.
Done! That is exactly what I was thinking. I'm just not as familiar with the low level power stuff as you are. What you and @NotFuzzyWarm are suggesting is a far better solution than my proposal.
I like the idea of making a software power-cycle of individual hashboards possible, and an advanced driver could be implemented that watches for a hung board then forces a hardware/software restart. That would be really handy for automatic tuning especially at the bottom-end voltage range where node-level voltage imbalances have the most effect on overall stability. Being able to force a total power-down of all ASICs would also be good for mitigating damage from an overheat condition resulting from fan failure.
Yes, this is what I was thinking, too, but you stated it better than I did. The nice thing is that if automatic control is implemented, you could have each hashboard under-volt and under-clock when temperatures reach a certain threshold. This enables miner self optimization to run at peak levels in hotter locations with less human intervention.
Cheers,
- zed