Pages:
Author

Topic: мои форки cgminer и bfgminer для bitfury ASIC - page 23. (Read 53319 times)

legendary
Activity: 1302
Merit: 1008
как сделать чтобы форк продолжал работать при завершении сессии?
форк или не форк - не важно
ставим screen
Code:
sudo apt-get install screen

в /etc/rc.local добавляем строку
Code:
/usr/bin/screen -dmS cgminer bash -c '/home/pi/cgminer/mine.sh; exec bash'

где /home/pi/cgminer - путь к папке cgminer
mine.sh - скрипт для запуска (в простейшем случае это одна строчка /home/pi/cgminer/cgminer ключи)
(не забываем сделать mine.sh исполняемым: sudo chmod +x mine.sh)

подключиться к экрану:

screen -r cgminer
или
screen -r (если экран один)

отключиться - Ctrl-A + D

Вторая часть марлезонского балета - скрипт вотчдога (нагло сперт из недр авалона).

Code:
#!/bin/bash
# This file is for cron job

# This if for make sure the start cgminer when there is network problem
C=`pidof cgminer | wc -w`
if [ "$C" != "1" ]; then
    killall -s 9 cgminer
    sleep 1
    /sbin/reboot
    exit 0;
fi

A=`cat /tmp/cm.log`
B=`/usr/bin/php /home/pi/cgminer/api-example.php devs | grep "\[Last Valid Work\]"`
echo "$B" > /tmp/cm.log
if [ "$B" != "" -a "$A" == "$B" ]; then
    killall -s 9 cgminer
    sleep 1
/sbin/reboot
    exit 0;
fi

кладем скрипт куда угодно (у меня в /usr/bin лежит), даем права на исполнение (пример см.выше).
добавляем скрипт в /etc/crontab:

*/2 * * * * root /usr/bin/cgminer-monitor

для нормальной работы вотчдога cgminer должен быть запущен с поддержкой API!
(как минимум дать ключи --api-listen --api-port 4028 --api-network в mine.sh),
а так же в отсутствие желания писать свою читалку апи должен быть установлен php:
Code:
sudo apt-get install php5
legendary
Activity: 1287
Merit: 1094
как сделать чтобы форк продолжал работать при завершении сессии?
NNZ
member
Activity: 63
Merit: 10
Можно и так но мне проще через mc

Code:
pi@raspberrypi ~ $ crontab -l
no crontab for pi
pi@raspberrypi ~ $ sudo mc

root@raspberrypi:/home/pi# crontab -l

5 */3 * * *      /home/restart.sh
root@raspberrypi:/home/pi#
Как видно для пользователя pi нет заданий
после запускаю mc от рута жму ctrl+O открывается консоль но уже от рута и в нем уже редактирую.
legendary
Activity: 2893
Merit: 1158
у меня от рута сервис запускается поэтому и crontab я редактирую от рута.
Если я буду редактировать crontab от пользователя pi то возникнут проблемы с правами доступа.
Грубо говоря у каждого пользователя свои правила для  crontab

т.е. ты делаешь так:
sudo crontab -e

после sudo service cron reload?
NNZ
member
Activity: 63
Merit: 10
у меня от рута сервис запускается поэтому и crontab я редактирую от рута.
Если я буду редактировать crontab от пользователя pi то возникнут проблемы с правами доступа.
Грубо говоря у каждого пользователя свои правила для  crontab
legendary
Activity: 2893
Merit: 1158
заметил что в когда вручную запускаю майнер, пишет строку об удалении пида в папке /var/run/cgminer/pid
pi@raspberrypi ~ $ sudo service cgminer start
[ ok ] Removing stale PID file /var/run/cgminer/pid..
[....] Starting cgminer: cgminer/usr/bin/nohup: redirecting stderr to stdout
. ok
legendary
Activity: 2893
Merit: 1158
Все дело в правах доступа.
Если то создал задание для крона от юзверя pi то у него нет прав на перезапуск сервиса.
А вот задание для убийства видимо создал от root
подожди, у меня 2 скрипта, один restart.sh
Code:
#!/bin/bash

sleep 10
sudo service cgminer stop
sudo service cgminer start
второй angel.sh
Code:
#!/bin/bash

if [ `ps aux | grep cgminer | grep -v grep | wc -l` -eq 0 ]; then sudo service cgminer start; fi

фишка в том, что если запускать от пользователя то скрипт отрабатывает на ура
pi@raspberrypi ~ $ ./restart.sh
[....] Stopping cgminer: cgminerStopped process in pidfile '/var/run/cgminer/pid' (pid 6080).
. ok
[....] Starting cgminer: cgminer/usr/bin/nohup: redirecting stderr to stdout
. ok

pi@raspberrypi ~ $ ./angel.sh
[....] Starting cgminer: cgminer/usr/bin/nohup: redirecting stderr to stdout
. ok

пробывал по разному, заносил в /etc/crontab
Code:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --repo$
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --repo$
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --repo$
#
*/1 *  * * *   root    /home/pi/angel.sh
30 *   * * *   root    /home/pi/restart.sh
после делал sudo service cron reload
все равно не работает

пробывал делать crontab -e
туда в конец добавлял
Code:
*/1 *  * * * /home/pi/angel.sh
30 *   * * * /home/pi/restart.sh
service cron reload
тоже не работает, убивать убивает, но фиг перезапускает


NNZ
member
Activity: 63
Merit: 10
Все дело в правах доступа.
Если то создал задание для крона от юзверя pi то у него нет прав на перезапуск сервиса.
А вот задание для убийства видимо создал от root
legendary
Activity: 2893
Merit: 1158
needbmw, большущий тебе респект за твою разработку. Но есть моменты которые следовало бы дороботать, 1, почемуто в логи сгмайнера пишет правильно, но с лишними символами, трудно разобрать...

Code:
^[[6G2^[[4;29H842^[[9;14H9.86G/103^[[9;35H832^[[9;49H7^[[57G42.9


^[[M^[[23d [2013-09-16 14:05:23] Accepted 00d5520b Diff 307/128 BITFURY 0^[[4;2$
^[[3;8H3.27^[[3;24H5^[[3;60H1.3
^[[6G0^[[4;30H80^[[9;16H84^[[24G0^[[9;35H960^[[9;57H38.9


^[[M^[[23d [2013-09-16 14:05:33] Accepted 01eacd1b Diff 133/128 BITFURY 0 [2013$
^[[4;6H2^[[4;29H25^[[9;14H6.18^[[24G5^[[9;34H9088^[[9;49H9^[[57G46.2


^[[M^[[23d [2013-09-16 14:05:35] Accepted 00b50ecb Diff 361/128 BITFURY 0 [2013$
 [2013-09-16 14:05:41] Accepted 0038caf6 Diff 1.15K/128 BITFURY 0
^[[4;29H416^[[9;14H9^[[22G3.4^[[9;35H344^[[9;57H44.7


^[[2M^[[22d [2013-09-16 14:05:38] Accepted 00953814 Diff 439/128 BITFURY 0
 [2013-09-16 14:05:41] Accepted 0038caf6 Diff 1.15K/128 BITFURY 0^[[3;8H5.56^[[$
^[[4;29H553^[[9;14H6.60G/103.0^[[9;35H472^[[9;58H8.3
почему-то грузит 100 процентов проц, когда смотришь через вебморду на распик

Не могу понять почему не отрабатывает скрипт на автопрезапуск по 1 часу, и автоперезапуск при зависании, который проверяет зависание каждую минуту...
процесс убивает через час, но не загружает обратно...
автоперезагрузка тоже не запускает майнер


Помогите кто может
member
Activity: 67
Merit: 10
legendary
Activity: 2893
Merit: 1158
sr. member
Activity: 285
Merit: 250
legendary
Activity: 1912
Merit: 1020
Т.е. осцилографом? Мой в ремонте, Cry придется китайские 7-ми сегментные датчики цеплять.
Странные пульсации с такой амплитудой. Возможно в косяках с питанием все беды.

ЗЫ Как сам думаешь, вольтмод стоит того?
Возможно конденсаторы не особо качественные, с твердотельными пульсации меньше. Я на некоторые платы добавлял керамику и электролиты, вроде положительно сказалось на хэш-рейте тогда. Конечно мну не эксперт в электронике, но кажется с DC-DC ещё и дроссели нужны для сглаживания, конденсаторами одними не обойтись.

Стоит конечно. Как минимум 22Гх на плату будет. Был в определенных обстоятельствах на одной плате рекорд 27Гх, но что-то воспроизвести не удается пока его.
sr. member
Activity: 285
Merit: 250
В последнее время оцениваю программно, хотя это очень условная оценка. Правильно наблюдать на конденсаторах рядом с радиаторами, особенно какие там верхние пики пульсаций (пульсации до 10% достигают!).

Т.е. осцилографом? Мой в ремонте, Cry придется китайские 7-ми сегментные вольтметры цеплять.
Странные пульсации с такой амплитудой. Возможно в косяках с питанием все беды.

ЗЫ Как сам думаешь, вольтмод стоит того?
legendary
Activity: 1912
Merit: 1020
С какого места на плате ты снимаешь напряжение? Или опрашиваешь встроенные датчики?
Я так понимаю на 1.05В метабанковские модули нормально живут? Собираюсь тоже вольтмод мутить, охлаждение уже усилил.
В последнее время оцениваю программно, хотя это очень условная оценка. Правильно наблюдать на конденсаторах рядом с радиаторами, особенно какие там верхние пики пульсаций (пульсации до 10% достигают!).
sr. member
Activity: 285
Merit: 250
legendary
Activity: 1912
Merit: 1020
ладно, на этом пожалуй эксперименты закончу, надо теперь разобраться ПОЧЕМУ так  Grin


Это на напряжении 0.98В? Можешь снять осциллограмму переменной составляющей для своей платы? И по чипам индивидуальную статистику вывести, с усреднением хорошим?

Сейчас экспериментирую с напряжениями 1.02 - 1.05В, и наблюдаю какой-то чрезвычайный разброс: одни чипы продолжают кое-как  на 2.3Гх молотить, а парочка даже выше 4Гх разогналась. Один результат был даже устойчивый 4.5Гх, но после перезапуска cgminer не получилось воспроизвести результат. Ошибок по отношению к найденным шарам около 10%.
legendary
Activity: 1302
Merit: 1008

ладно, на этом пожалуй эксперименты закончу, надо теперь разобраться ПОЧЕМУ так  Grin

member
Activity: 67
Merit: 10
Сделай комбик с колоками в ячейку, можно будет убрать задание частоты.
В смысле, тыкнул в чип, его параметры #банк-#номер-#частота вбилсиь внизу для задания частоты? Или прямо в таблице вбивать значение, затем Enter и частота устанавливается?

чтобы в таблице сразу устанавливать чистоту, тыкнуть ентер и готово, а то не удобно постоянно менять цыфры и тыкать)
sr. member
Activity: 285
Merit: 250
Сделай комбик с колоками в ячейку, можно будет убрать задание частоты.
В смысле, тыкнул в чип - и его параметры #банк-#номер-#частота вбилсиь внизу для задания частоты? Или прямо в таблице вбивать значение, затем Enter и частота устанавливается?

Хорошо бы, что бы все гриды сайзились. У меня сейчас 1 плата на 6 чипов, много места свободного.
Можно ли статистику сбросить кнопочкой?
Очистку и запись лога.
Тоже сейчас думаю про сайзинг, а то на экран в ноутбуке не влезает. Smiley
Статистику сбросить не получится - она считается в cgminer'е, а в софтине просто обрабатывается.
Запись лога в файл? Но там лог не интересный, может че-нить еще в него добавить (типа: потеря связи с майнером)?
Pages:
Jump to: