Changes for version 2019-11-01 since 2019-10-04. All scripts changed a bit. Here are bigger changes:
A. The two fan control scripts are now set up for configuration files, which should go in the same directory as the script. This way it is easier to install new script versions; you won't have to fiddle with settings unless there are new ones.
B. In spinpid2.sh, added a setting to tell the script how to determine what the duty cycles (%) are. The options are assuming they are what the script set (as recent versions have done) or reading the data from the board. Caveats and tips are in the config file above the setting.
C. In spinpid2.sh, there is a completely new and more elaborate approach to the whole BMC reset thing. I've tested as much as I can on my one-zone board, but will be looking for some feedback.
- First, each major cycle there is a mismatch test to see if either zone is way off the setting, either too high or too low.
- If mismatch, it will try to force the offending zone back into line. Then it reads fan data again, and repeats the mismatch test.
- If there is still a mismatch, reset the BMC, wait for it to come back (2 minutes), force-set fans again, read fan data again, and repeat mismatch test.
- If still a mismatch, go through one more time (force set fans, read fan data, repeat mismatch test) then give up and move on with the script.
If things are really screwed up and this can't fix them, the BMC will reset again the next major cycle (5 minutes or so. But I don't see any point to killing the script in that case, as I don't think that will help. As always, you need to have your fan settings correct based on running spintest.sh. That is needed to determine if fan speeds are appropriate or BMC reset is needed.
I hope this is the last change for a while, but depends on feedback.