It is possible to get the driver to do this. It is one reason I am requesting docs on the driver. If it is using the standard A1 driver then I would just need to modify it. But I am largely working blind with the driver side now. I have been reading up a bit on driver coding as its not my strength. But I got enough of a handle on it I think I can make it run a delay just long enough for the hardware to initialize properly.
How much have you read up on the A1's actual chip coms? I see in the pdf on github there are a lot of chip-level detect/response options. Out of my range on the software coding end there but see a lot of possibilities in the command list...
We did rewrite the driver a bit, but moreover wrote in an easy to use i2cdetect app which allowed us to try and set all boards to a specific voltage through the trimpot. For what ever reason, our version of the board (could be the trimpot, could be something else that we never figured out) did not allow the settings of the trimpot to be remembered, hence the default voltage ended up resulting in .92-.94. By creating this extra script, we were able to set all boards at once. It was later implemented in bitmines UI update.
command as follows:
amt-setup
amt-setup dpot (5c-64 seems to be the safe zone)
depending on the board, components used, heatsink. Where bitmine programs all boards right off the line, we didn't have the luxury.
depending on your board - 5c (higher voltage value) 64 (lower voltage value) 63-64 worked best on pb boards. In an attempt to try anything, we did a few hundred boards with led, hoping for a better solder between the chips.
scale 5a -5b - 5c -5d- 5e 5f - 60 -61 -62 -63 -64
amt-setup dpot 5d
amt-setup apply
(you've just set a new value - prior to hashing, take a dvm place black to ground and red to any cap next to a chip, you'll get the core voltage)
amt-setup mode
amt-setup mode 16000:720000:2000 this is the under clocked default mode which should be in mode 1. scale ( 0 - 1 -2 ) correlates to (power saver, nominal, turbo)
set a new mode
amt-setup mode 1 16000:720000:2000
amt-setup apply
amt-setup mode 2 16000:760000:4000
amt-setup apply
The script also allows for redressing boards among a few other tools which came in handy when individually diagnosing/testing each board on different lots which came out. As we discovered the variation in board performance, and couldn't set the voltage directly on the trimpot, this was the only alternative we could come up with. After we implemented this the initial overall board success went from 2 out of 10 to 4-5 out of 10 off the line, the rest resulting in no chip chain detected from the line, and and extra 20-30% of the successful 40%-50% of new boards off the line, resulting in no chip chain after 2-3 minutes of hashing as well. So out of 10 boards produced, 2 survived.
Why didn't we stop running them and figure out the problem?
We had been constantly met with "Our advise is to keep running, we will address the problems and fix the boards as soon as we understand the problem but since some do work, don't you think you should just ship the ones that and get to the bad ones later". At the time he had a point, it was more important to deliver. Still looking 100's of bad board daily btw. Things like that were followed by promises of fixing bad boards among several other things.
Anyway, for those of you which have a dvm and know what your doing please play around with the amt-setup options. Reggie is an example of someone that it go it to work with those tools. In general, we didn't publicize that script in such detail because it allows for direct overclocking, and overclocking leads to RMA anyway which you put it.