Если передергивать питание ядра, то cgminer вначале работы, рапортует о большом количестве дублей, хоть и показывает при этом большой хешрейт. Но и без ресета ядра, при перезапуске майнера хешрейт выше, но при этом нету дублей.
Так и должно быть, у меня тоже самое. Вы за все время видели когда-нибудь столько последовательно созданных дублей(20-40шт.)?
Дубли идут потому, что чип стартует с синхронизацией, кстати обратите внимание с какой скоростью выплевывает эти первые дубли, практически все мгновенно. Сейчас происходит принцип бомбардировки чипа кучей пакетов, хаотично, с расчетом, что какая-то часть, попадет как нужно, в кадр. Вот и получается, что при старте их слишком много попадет куда нужно, о чем майнер и кричит. В рабочем варианте, количество запросов будет значительно меньше, но они должны быть синхронизированы.
По поводу масла, повышения напряжения и т.д., не спешите выжимать все соки из чипа, дубовыми методами. Он сейчас как хромоножка, бежит и спотыкается, больше конечно спотыкается, чем бежит, а вы его еще сильней подталкиваете, вместо того, чтобы хромоту лечить
Подумайте как он хорошо бежать будет, после того как хромому вылечите код, если он бедный хромой, да еще в масле или еще под чем, бежит со скоростью 3Gh
Может быть возможно обойтись простой реиницализацией чипов, выбрав подходящий интервал?
Я смотрел, повторная инициализация чипа после включения питания ничего не меняет, значения в регистрах же
не сбрасываются, можете попробовать обнулить значения. Записывать первыми обнуленные значения, потом делать повторную инициализацию и записывать нужные значения.
Отправлять два пакета инициализации, первый обнуление регистров, второй нужные значения. Кстати эти регистры читать можно? Может стоит, если это возможно, прочитать исходное значение регистров, после включения питания?
ЗЫ IMHO. Текущий код общения с чипом неверный, в него нужно добавить синхронизацию передачи данных с чипом. Нужно опрашивать изменение состояния перед запуском SPI режима на пине MISO. После включать SPI и кидать какое-то количество пакетов, потом все заново, или менять строку инициализации, этот момент нужно проверять.
Сейчас, нужно найти, после какой последовательности инициализации появляются кадры синхронизации на MISO, возможно нужно переделать порядок инициализации. Возможно получится найти тот самый регистр конфигурации, который запускает синхронизацию. Нужен логический анализатор с возможностью записать 2-3 кадра по 1.3сек. Как собрать анализатор, я писал выше