needbmw (OP)
Legendary
Offline
Activity: 1302
Merit: 1008
|
|
September 07, 2013, 03:13:31 PM Last edit: September 24, 2013, 05:11:27 AM by needbmw |
|
В связи с тем, что cgminer Легкодымова оказался очень сильно заточен под платы Метабанка (вплоть до захардкоженых везде количества чипов в платах и т.д.) я создал форк, где буду пытаться по возможности исправлять недоработки. https://github.com/needbmw/cgminerПока исправляю хардкоды, в планах нормальное API со статистикой по каждому чипу, гибкое мультиплексирование и другие фичи. К сожалению, времени на код сильно не хватает, если кто серьезно готов присоединиться к этой работе - могу даже предоставить небольшую железку для отладки (во временное пользование) железка отдана. Планируется полная совместимость с майнерами от метабанка, соответственно нужны будут и желающие протестировать форк на этом майнере. UPDсдернул форк bfgminer у Бальтазара https://github.com/needbmw/bfgminerс метабанковским железом пока несовместим работает нормально. реализован агрессивный опрос (из-за этого потребляет много ресурсов CPU), не течет по памяти в отличие от cgminer.
|
NO PSAKING!
|
|
|
growersun
Member
Offline
Activity: 67
Merit: 10
|
|
September 07, 2013, 03:17:19 PM |
|
В связи с тем, что cgminer Легкодымова оказался очень сильно заточен под платы Метабанка (вплоть до захардкоженых везде количества чипов в платах и т.д.) я создал форк, где буду пытаться по возможности исправлять недоработки. https://github.com/needbmw/cgminerПока исправляю хардкоды, в планах нормальное API со статистикой по каждому чипу, гибкое мультиплексирование и другие фичи. К сожалению, времени на код сильно не хватает, если кто серьезно готов присоединиться к этой работе - могу даже предоставить небольшую железку для отладки (во временное пользование). Планируется полная совместимость с майнерами от метабанка, соответственно нужны будут и желающие протестировать форк на этом майнере. на самопалах уже пашед? если да то пойду качать)
|
|
|
|
needbmw (OP)
Legendary
Offline
Activity: 1302
Merit: 1008
|
|
September 07, 2013, 03:19:28 PM |
|
на самопалах уже пашед? если да то пойду качать)
смотря что за самопалы если просто цепочка без мультиплексирования, нужно проверить значения в libbitfury.h #define BITFURY_MAXCHIPS 256 #define BITFURY_MAXBANKS 1 #define BITFURY_BANKCHIPS 60 и выбрать по вкусу #define BITFURY_ENABLE_SHORT_STAT 1 #define BITFURY_ENABLE_LONG_STAT 1 при одной цепочке без мультиплексоров важно указать BITFURY_MAXBANKS 1 иначе найдет кучу несуществующих чипов
|
NO PSAKING!
|
|
|
needbmw (OP)
Legendary
Offline
Activity: 1302
Merit: 1008
|
|
September 07, 2013, 05:13:26 PM |
|
Сделал статистику через API. Выглядит примерно так: php api-example.php devs [STATUS] => Array ( [STATUS] => S [When] => 1378573692 [Code] => 9 [Msg] => 1 ASC(s) - [Description] => cgminer 3.3.1 )
[ASC0] => Array ( [ASC] => 0 [Name] => BITFURY [ID] => 0 [Enabled] => Y [Status] => Alive [Temperature] => 0.00 [MHS av] => 100744.44 [MHS 5s] => 100440.94 [Accepted] => 449 [Rejected] => 15 [Hardware Errors] => 0 [Utility] => 62.90 [Last Share Pool] => 0 [Last Share Time] => 1378573688 [Total MH] => 43147241.4456 [Diff1 Work] => 10052 [Difficulty Accepted] => 11498.00000000 [Difficulty Rejected] => 30.00000000 [Last Share Difficulty] => 256.00000000 [Last Valid Work] => 1378573692 )
)
php api-example.php stats [STATS0] => Array ( [STATS] => 0 [ID] => BITFURY0 [Elapsed] => 515 [Calls] => 0 [Wait] => 0.000000 [Max] => 0.000000 [Min] => 99999999.000000 [chip_n] => 40 [clock_bits0] => 54 [clock_bits1] => 54 [clock_bits2] => 54 [clock_bits3] => 54 [clock_bits4] => 54 [clock_bits5] => 54 [clock_bits6] => 54 [clock_bits7] => 54 [clock_bits8] => 54 [clock_bits9] => 54 [clock_bits10] => 54 [clock_bits11] => 54 [clock_bits12] => 54 [clock_bits13] => 54 [clock_bits14] => 54 [clock_bits15] => 54 [clock_bits16] => 54 [clock_bits17] => 54 [clock_bits18] => 54 [clock_bits19] => 54 [clock_bits20] => 54 [clock_bits21] => 54 [clock_bits22] => 54 [clock_bits23] => 54 [clock_bits24] => 54 [clock_bits25] => 54 [clock_bits26] => 54 [clock_bits27] => 54 [clock_bits28] => 54 [clock_bits29] => 54 [clock_bits30] => 54 [clock_bits31] => 54 [clock_bits32] => 54 [clock_bits33] => 54 [clock_bits34] => 54 [clock_bits35] => 54 [clock_bits36] => 54 [clock_bits37] => 54 [clock_bits38] => 54 [clock_bits39] => 54 [match_work_count0] => 244 [match_work_count1] => 281 [match_work_count2] => 272 [match_work_count3] => 283 [match_work_count4] => 268 [match_work_count5] => 269 [match_work_count6] => 270 [match_work_count7] => 309 [match_work_count8] => 248 [match_work_count9] => 258 [match_work_count10] => 296 [match_work_count11] => 309 [match_work_count12] => 308 [match_work_count13] => 350 [match_work_count14] => 304 [match_work_count15] => 338 [match_work_count16] => 324 [match_work_count17] => 330 [match_work_count18] => 326 [match_work_count19] => 280 [match_work_count20] => 324 [match_work_count21] => 281 [match_work_count22] => 297 [match_work_count23] => 326 [match_work_count24] => 344 [match_work_count25] => 342 [match_work_count26] => 340 [match_work_count27] => 303 [match_work_count28] => 314 [match_work_count29] => 345 [match_work_count30] => 325 [match_work_count31] => 302 [match_work_count32] => 363 [match_work_count33] => 278 [match_work_count34] => 307 [match_work_count35] => 340 [match_work_count36] => 336 [match_work_count37] => 272 [match_work_count38] => 190 [match_work_count39] => 303 [strange_count0] => 53 [strange_count1] => 31 [strange_count2] => 15 [strange_count3] => 15 [strange_count4] => 30 [strange_count5] => 15 [strange_count6] => 18 [strange_count7] => 18 [strange_count8] => 16 [strange_count9] => 40 [strange_count10] => 15 [strange_count11] => 31 [strange_count12] => 15 [strange_count13] => 29 [strange_count14] => 15 [strange_count15] => 18 [strange_count16] => 17 [strange_count17] => 16 [strange_count18] => 20 [strange_count19] => 15 [strange_count20] => 38 [strange_count21] => 22 [strange_count22] => 61 [strange_count23] => 15 [strange_count24] => 71 [strange_count25] => 61 [strange_count26] => 30 [strange_count27] => 16 [strange_count28] => 31 [strange_count29] => 71 [strange_count30] => 60 [strange_count31] => 30 [strange_count32] => 16 [strange_count33] => 80 [strange_count34] => 64 [strange_count35] => 48 [strange_count36] => 66 [strange_count37] => 15 [strange_count38] => 91 [strange_count39] => 25 [ghash0] => 1.937548 [ghash1] => 2.099010 [ghash2] => 1.872963 [ghash3] => 2.099010 [ghash4] => 1.905256 [ghash5] => 2.018279 [ghash6] => 1.872963 [ghash7] => 2.212034 [ghash8] => 1.727647 [ghash9] => 1.905256 [ghash10] => 2.228180 [ghash11] => 2.454227 [ghash12] => 2.438081 [ghash13] => 2.696421 [ghash14] => 2.470374 [ghash15] => 2.518812 [ghash16] => 2.454227 [ghash17] => 2.341204 [ghash18] => 2.438081 [ghash19] => 1.824524 [ghash20] => 2.373496 [ghash21] => 2.066718 [ghash22] => 2.147449 [ghash23] => 2.696421 [ghash24] => 2.405789 [ghash25] => 2.615690 [ghash26] => 2.357350 [ghash27] => 2.292765 [ghash28] => 2.405789 [ghash29] => 2.583397 [ghash30] => 2.405789 [ghash31] => 2.373496 [ghash32] => 2.664129 [ghash33] => 2.018279 [ghash34] => 2.244326 [ghash35] => 2.906322 [ghash36] => 2.712567 [ghash37] => 1.792232 [ghash38] => 1.485453 [ghash39] => 2.357350 )
[/code]
|
NO PSAKING!
|
|
|
Balthazar
Legendary
Offline
Activity: 3108
Merit: 1359
|
|
September 07, 2013, 05:14:23 PM |
|
Первым делом перенести бы все эти изменения на BFGMiner... А то cgminer как-то кривоват сам по себе, например соединения закрывать "забывает".
|
|
|
|
needbmw (OP)
Legendary
Offline
Activity: 1302
Merit: 1008
|
|
September 07, 2013, 05:15:27 PM |
|
Первым делом перенести бы все эти изменения на BFGMiner )
Займешься? Железку - дам
|
NO PSAKING!
|
|
|
Balthazar
Legendary
Offline
Activity: 3108
Merit: 1359
|
|
September 07, 2013, 05:16:46 PM |
|
Без проблем, по мере возможностей... В плане времени, его не очень много.
|
|
|
|
Subw
|
|
September 07, 2013, 05:37:45 PM |
|
В связи с тем, что cgminer Легкодымова оказался очень сильно заточен под платы Метабанка (вплоть до захардкоженых везде количества чипов в платах и т.д.) я создал форк, где буду пытаться по возможности исправлять недоработки. https://github.com/needbmw/cgminerПока исправляю хардкоды, в планах нормальное API со статистикой по каждому чипу, гибкое мультиплексирование и другие фичи. К сожалению, времени на код сильно не хватает, если кто серьезно готов присоединиться к этой работе - могу даже предоставить небольшую железку для отладки (во временное пользование). Планируется полная совместимость с майнерами от метабанка, соответственно нужны будут и желающие протестировать форк на этом майнере. занялся бы с 16 числа, если железку даешь не во временное пользование. опыт 10+ лет, резюме могу скинуть.
|
|
|
|
invader
|
|
September 07, 2013, 07:09:24 PM |
|
Как только мне в руки попадут чипы, сделаю согласователь уровней spi, распаяю их (макетки уже есть) - присоединюсь к допиливанию кода.
|
|
|
|
Konstantins
Newbie
Offline
Activity: 8
Merit: 0
|
|
September 08, 2013, 06:52:02 AM |
|
готов присоедениться, подробно в личке.
|
|
|
|
limpbrains
Newbie
Offline
Activity: 58
Merit: 0
|
|
September 08, 2013, 07:43:06 AM |
|
Привет. API это здорово, теперь можно собирать статистику по чипам. Мне кажется некорректным использование сквозной нумерации чипов. Лучше привязывать идентификаторы к номеру платы и номеру чипа на ней.
Например такая ситуация. Запустили cgminer, собираем статистику по чипам. Потом умер 8й чип на второй плате и не определяется при старте. Нумерация чипов начиная с 15го сместилась на единичку. Теперь накопленная статистика не соответствует действительности.
Конечно есть случаи которые отследить невозможно. Когда устройство выключили и поменяли 1 плату, мы этого неузнаем.
Еще плюс этого метода, что чипы можно будет легко находить. попробуй найди чип #35 который дает низкий хэшрейт, если пара чипов до него не работает.
|
|
|
|
needbmw (OP)
Legendary
Offline
Activity: 1302
Merit: 1008
|
|
September 08, 2013, 07:51:55 AM Last edit: September 08, 2013, 08:06:27 AM by needbmw |
|
Лучше привязывать идентификаторы к номеру платы и номеру чипа на ней.
это сделаем, просто у меня сейчас все цепочки без мультиплексирования, поэтому сквозная нумерация. как сделаю цепочку с мультиплексорами - будут и "слоты". Например такая ситуация. Запустили cgminer, собираем статистику по чипам. Потом умер 8й чип на второй плате и не определяется при старте. Нумерация чипов начиная с 15го сместилась на единичку. Теперь накопленная статистика не соответствует действительности.
согласен, опять же надо сначала сделать железо со слотами сделал пока в виде [chip_n] => 40 [clock_bits_0_0] => 54 [clock_bits_0_1] => 54 [clock_bits_0_2] => 54 [clock_bits_0_3] => 54 [clock_bits_0_4] => 54 [clock_bits_0_5] => 54 [clock_bits_0_6] => 54 [clock_bits_0_7] => 54 [clock_bits_0_8] => 54 ...
первое число номер слота, второе номер чипа в слоте. у кого есть метабанковский майнер попробуйте, должно заработать
|
NO PSAKING!
|
|
|
ProtonEvil
|
|
September 08, 2013, 09:19:54 AM Last edit: September 08, 2013, 09:30:58 AM by ProtonEvil |
|
у кого есть метабанковский майнер попробуйте, должно заработать
Я готов, но как? Просто клонировать, собрать и запустить? Надо что-то менять, настраивать?
|
|
|
|
needbmw (OP)
Legendary
Offline
Activity: 1302
Merit: 1008
|
|
September 08, 2013, 09:33:02 AM |
|
Я готов, но как? Просто клонировать, собрать и запустить? Надо что-то настраивать?
клонировать, поменять в libbitfury.h константы на параметры майнера метабанка: #define BITFURY_MAXCHIPS 256 #define BITFURY_MAXBANKS 32 #define BITFURY_BANKCHIPS 8 и оставить или закомментировать (по вкусу) #define BITFURY_ENABLE_SHORT_STAT 1 #define BITFURY_ENABLE_LONG_STAT 1 (если оставить, cgminer будет периодически выплевывать short/long статистику еще и в вывод) дальше все как обычно ./autogen.sh --enable-bitfury make майнер запускаем с доп. ключами --api-listen --api-port 4028 --api-network чтобы смотреть статистику по API я использую php-скрипт api-example.php (там же в исходниках лежит) вызывается: php api-example.php devs php api-example.php stats и т.д. (если php не установлен на распи: sudo apt-get install php5)
|
NO PSAKING!
|
|
|
ProtonEvil
|
|
September 08, 2013, 09:55:22 AM |
|
Спс, щас попробую. Кстати, натравил майнера на элигиус, как ты просил. Майнит почти час. Но есть проблема: как только переключаюсь на элигиус, нагрузка под 100%, смотрю top - виноват cgminer. Если переключаюсь на др. пул, сразу становиться все нормально. Пока тестирую: 1LZJNgDHSFutzQcsUbW2tU3ehxEK77xP52
ЗЫ. Скорость майнера на этом пуле сразу падает на ~15Гх (в статистике)
|
|
|
|
needbmw (OP)
Legendary
Offline
Activity: 1302
Merit: 1008
|
|
September 08, 2013, 10:10:01 AM |
|
Спс, щас попробую. Кстати, натравил майнера на элигиус, как ты просил. Майнит почти час. Но есть проблема: как только переключаюсь на элигиус, нагрузка под 100%, смотрю top - виноват cgminer. Если переключаюсь на др. пул, сразу становиться все нормально. Пока тестирую: 1LZJNgDHSFutzQcsUbW2tU3ehxEK77xP52
ЗЫ. Скорость майнера на этом пуле сразу падает на ~15Гх (в статистике)
ок, статистика здесь: http://eligius.st/~wizkid057/newstats/userstats.php/1LZJNgDHSFutzQcsUbW2tU3ehxEK77xP52элигиус сначала дает задания низкой сложности (1-15), возможно cgminer-у в малинке это просто тяжеловато переварить. через некоторое время он должен перейти на более высокую сложность. на итзоде кстати наоборот - сначала секунд 10-15 минимальная сложность 2, потом он сразу ставит максимум 128-512, у меня при этом загрузка CPU cgminer-ом по top-у порядка 15% (правда это на короткой цепочке 40 чипов).
|
NO PSAKING!
|
|
|
ProtonEvil
|
|
September 08, 2013, 10:24:10 AM |
|
Ok, пока собирается (писец как медленно) вопрос: подойдет ли метабанковский просмотр статистики (php5 не встал)? Или api-example.php что-то особенное показывает? И где эта сборка будет конфу пулов брать, или надо параметром при запуске передавать?
|
|
|
|
needbmw (OP)
Legendary
Offline
Activity: 1302
Merit: 1008
|
|
September 08, 2013, 10:32:46 AM |
|
Ok, пока собирается (писец как медленно) вопрос: подойдет ли метабанковский просмотр статистики (php5 не встал)? Или api-example.php что-то особенное показывает? И где эта сборка будет конфу пулов брать, или надо параметром при запуске передавать?
я не знаю откуда метабанковская вебморда берет данные для просмотра. вообще API выдает данные в формате JSON, вот только читать их неудобно. там есть еще скрипт на питоне (питон есть на распи в стандартной поставке), вызывается аналогично: python api-example.py stats но он вывод не форматирует, поэтому на выходе будет тот же JSON. параметры можно задавать без конфига, просто в командной строке. например я так задаю: ./cgminer --failover-only -o pool.itzod.ru:3333 -u username_0 -p pa$$w0rd -o eu-stratum.btcguild.com:3333 -u username_0 -p x --api-listen --api-port 4028 --api-network
|
NO PSAKING!
|
|
|
ProtonEvil
|
|
September 08, 2013, 10:39:17 AM |
|
Запустилось! Направил на итзод. Метабанковская морда отлично собирает статистику (берет с порта 4028). Пул-юзер-пас параметрами передал. Нашел все 72 чипа (один модуль на 8 временно изъят), хешит прекрасно, все без ошибок. По результатам чуть позже отпишусь.
|
|
|
|
ProtonEvil
|
|
September 08, 2013, 10:42:10 AM |
|
вообще API выдает данные в формате JSON, вот только читать их неудобно. там есть еще скрипт на питоне (питон есть на распи в стандартной поставке), вызывается аналогично:
python api-example.py stats
но он вывод не форматирует, поэтому на выходе будет тот же JSON.
Можно не только JSON, еще и строками простыми. Писал прогу на QT под Win для сбора статистики по сети, но HDD с исходниками полетел, влом заново писать, а то не стал бы такими глупыми вопросами задаваться
|
|
|
|
|