Помогите сделать h-stats.sh файл под ccminer

#1

Добрый день

Проблема:
Нузно запустить свою сборку ccminerа на HiveOS 2.0
Все вроде работает по инструкции как тут: https://github.com/minershive/hiveos-linux/blob/master/hive/custom/README.md
В плане майнер стартует и работает коректно, но в Хайве не отобразается статистика видеокарт, не показывает хешрайт и обороты кулиров,
Я просто бонално не знаю как долзен выгледить h-stats.sh файл под ccminer

Ребята помогите сделать h-stats.sh файл под ccminer

#2

can you look in the original ccminer?

#3

Ищи там ccminer

#4

Вот ето неработает копектно, показыжает только общий хашрайт всех видеокарт

#!/usr/bin/env bash
threads=echo "threads" | nc -w 5 localhost 4068 #&& echo $threads
if [[ $? -ne 0 || -z $threads ]]; then
echo -e “${YELLOW}Failed to read $miner stats from localhost:4068${NOCOLOR}”
else
summary=echo "summary" | nc -w 2 localhost 4068
re=’;UPTIME=([0-9]+);’ && [[ $summary =~ $re ]] && local uptime=${BASH_REMATCH[1]} #&& echo “Matched” || echo “No match”
#khs will calculate from cards; re=’;KHS=([0-9.]+);’ && [[ $summary =~ $re ]] && khs=${BASH_REMATCH[1]} #&& echo “Matched” || echo “No match”
algo=echo "$summary" | tr ';' '\n' | grep -m1 'ALGO=' | sed -e 's/.*=//'
local ac=echo "$summary" | tr ';' '\n' | grep -m1 'ACC=' | sed -e 's/.*=//'
local rj=echo "$summary" | tr ';' '\n' | grep -m1 'REJ=' | sed -e 's/.*=//'
#stats=echo $threads | tr '|' '\n' | tr ';' '\n' | tr -cd '\11\12\15\40-\176' | grep -E 'KHS=' | sed -e 's/.*=//' | jq -cs '{khs:.}'
striplines=echo "$threads" | tr '|' '\n' | tr ';' '\n' | tr -cd '\11\12\15\40-\176'

			#if GPU has 0.0 temp it hanged. ccminer does not mine on this card but shows hashrate
			cctemps=(`echo "$striplines" | grep 'TEMP=' | sed -e 's/.*=//'`) #echo ${cctemps[@]} | tr " " "\n" #print it in lines
			cckhs=(`echo "$striplines" | grep 'KHS=' | sed -e 's/.*=//'`)
			ccbusids=(`echo "$striplines" | grep 'BUS=' | sed -e 's/.*=//'`)


			#local nvidiastats
			for (( i=0; i < ${#cckhs[@]}; i++ )); do
				#if temp is 0 then driver or GPU failed
				[[ ${cctemps[$i]} == "0.0" ]] && cckhs[$i]="0.0"

				#cckhs[$i]="84316579.94" #test
				#check Ghs. 1080ti gives ~64mh (64000kh) on lyra. when it's showing ghs then load is 0 on gpu
				#if [[ `echo ${cckhs[$i]} | awk '{ print ($1 >= 1000000) ? 1 : 0 }'` == 1 ]]; then #hash is in Ghs, >= 1000000 khs
				if [[ `echo ${cckhs[$i]} | awk '{ print ($1 >= 1000) ? 1 : 0 }'` == 1 ]]; then # > 1Mh
					#[[ -z $nvidiastats ]] && nvidiastats=`gpu-stats nvidia` #a bit overhead in calling nvidia-smi again
					local busid=`echo ${ccbusids[$i]} | awk '{ printf("%02x:00.0", $1) }'` #ccbus is decimal
					local load_i=`echo "$gpu_stats" | jq ".busids|index(\"$busid\")"`
					if [[ $load_i != "null" ]]; then #can be null on failed driver
						local load=`echo "$gpu_stats" | jq -r ".load[$load_i]"`
						#load=0 #test
						[[ -z $load || $load -le 10 ]] &&
							echo -e "${RED}Hash on GPU$i is in GH/s (${cckhs[$i]} kH/s) but Load is detected to be only $load%${NOCOLOR}" &&
							cckhs[$i]="0.0"
					fi
				fi

				#khs=`echo $khs ${cckhs[$i]} | awk '{ printf("%.3f", $1 + $2) }'`
				khs=`echo $khs ${cckhs[$i]} | awk '{ printf("%.3f", $1 + $2) }'`
			done

			khs=`echo $khs | sed -E 's/^( *[0-9]+\.[0-9]([0-9]*[1-9])?)0+$/\1/'` #1234.100 -> 1234.1

			stats=$(jq -n \
				--arg uptime "$uptime", --arg algo "$algo" \
				--argjson khs "`echo ${cckhs[@]} | tr " " "\n" | jq -cs '.'`" \
				--argjson temp "`echo ${cctemps[@]} | tr " " "\n" | jq -cs '.'`" \
				--argjson fan "`echo \"$striplines\" | grep 'FAN=' | sed -e 's/.*=//' | jq -cs '.'`" \
				--arg ac "$ac" --arg rj "$rj" \
				'{$khs, $temp, $fan, $uptime, $algo, ar: [$ac, $rj]}')
		fi
#5

Сравни апи сисимайнера и твоего мода, найди отличия в передаче информации о хэшрейте карт, ну и измени скрипт, что бы корректно обрабатывал новое апи. Как-то так.

#6

А ещё вспомнил. Cryptodredge сделан на основе сисимайнера, можешь попробовать оттуда дёрнуть статсы.
http://download.hiveos.farm/custom/cryptodredge-0.8.3.tar.gz

#7

Спасибо тебе человек добрый, на путь правильный меня ты направил, вижу теперь ошибки свои я :slight_smile:

1 Like