Advertisement
Guest User

Untitled

a guest
Dec 19th, 2017
238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 35.02 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. ##########################################################################
  4. ##########################################################################
  5. #################   nvOC v0019-2.0 - Community Release   #################
  6. ##############        by papampi, Stubo and leenoox         ##############
  7. ##########   Based on the original nvOC v0019-1.4 by fullzero   ##########
  8. ##########################################################################
  9. ##########################################################################
  10.  
  11.  
  12. # 3main for v0019-2.0
  13.  
  14. #
  15. # Dev Mod Log:
  16. #
  17. # v=0001 : papampi and Stubo:
  18. #          bug fixes, code clean-up, optimizations and split into 2 files: 3main and 0miner
  19. #
  20. # v=0002 : leenoox
  21. #          bug fix - $pwr_lim_daggerhashimoto5 > $pwr_lim_daggerhashimoto
  22. #          bug fix - INDIVIDUAL settings were applied to GPU's 0-13 only. Fixed to work with 0-18
  23. #          code optimization
  24. #
  25. # v=0003 : leenoox
  26. #          added GPU LED Logo brightness control
  27. #
  28. # v=0004 : papampi
  29. #          Telegram Changes
  30. #
  31. # v=0005 : papampi
  32. #          Minor change on miner launch and output
  33.  
  34.  
  35. # DEV_VERSION=0005
  36.  
  37.  
  38. source /home/m1/1bash
  39.  
  40. nvOC_ver="nvOC v0019-2.0 - Community Release"   # Do not edit this
  41. nvOC_3main_ver="v0019-2.0.005"                  # Do not edit this
  42.  
  43.  
  44.  
  45. #########################################################################
  46. #########################################################################
  47. #########################################################################
  48. #########################################################################
  49.  
  50. echo ""
  51. echo " $nvOC_ver "
  52. echo ""
  53. echo ""
  54.  
  55. sudo ldconfig /usr/local/cuda/lib64
  56.  
  57. GPUS=$(nvidia-smi -i 0 --query-gpu=count --format=csv,noheader,nounits)
  58.  
  59. NVD=nvidia-settings
  60.  
  61. SALFTER="NO"
  62.  
  63. if [ $COIN == "SALFTER_NICEHASH_PROFIT_SWITCHING" ]
  64. then
  65.   SALFTER="YES"
  66. fi
  67.  
  68. if [ $COIN == "SALFTER_MPH_PROFIT_SWITCHING" ]
  69. then
  70.   SALFTER="YES"
  71. fi
  72.  
  73. if [ $CLEAR_LOGS_ON_BOOT == "YES" ]
  74. then
  75.   sudo bash '/home/m1/clear_logs'
  76. fi
  77.  
  78. if [ $LOG_ROTATE == "YES" ]
  79. then
  80.   HCD='/home/m1/log_rotate'
  81.   running=$(ps -ef | awk '$NF~"log_rotate" {print $2}')
  82.   if [ "$running" == "" ]
  83.   then
  84.     guake -n $HCD -r LOG_ROTATE -e "bash /home/m1/log_rotate"
  85.     running=""
  86.   fi
  87. fi
  88.  
  89. if [ $SALFTER == "NO" ]
  90. then
  91.   pkill -e miner
  92. fi
  93.  
  94. if [ $LOCALorREMOTE == "REMOTE" ]
  95. then
  96.   export DISPLAY=:0
  97. fi
  98.  
  99. ___1050_or_1050ti="NO"
  100.  
  101. NORMAL="NO"
  102.  
  103. P106_100="NO"
  104.  
  105. nvidia-smi -L > /tmp/tempa
  106.  
  107. if grep -q "1050" /tmp/tempa;
  108. then
  109.   ___1050_or_1050ti="YES"
  110. fi
  111.  
  112. if grep -q "P106-100" /tmp/tempa;
  113. then
  114.   ___1050_or_1050ti="YES"
  115.   P106_100="YES"
  116. fi
  117.  
  118. if grep -q -E '1060|1070|1080' /tmp/tempa;
  119. then
  120.   NORMAL="YES"
  121. fi
  122.  
  123. rm /tmp/tempa
  124.  
  125. XORG="FAIL"
  126.  
  127. if grep -q "28800" /etc/X11/xorg.conf;
  128. then
  129.   XORG="OK"
  130. fi
  131.  
  132. # dev note by leenoox:
  133. # I don't see the relevance of this code, if the previous check for 28800 fails, but this one passes, it
  134. # will mistakenly set XORG="OK" even though the check for 28800 failed. This needs to be revisited
  135. if [ $P106_100 == "YES" ]
  136. then
  137.   XORG="OK"
  138. fi
  139.  
  140. # dev note by leenoox:
  141. # we need to create function for this:
  142. if [ $SLOW_USB_KEY_MODE == "YES" ]
  143. then
  144.   sleep 6
  145. fi
  146.  
  147. if [ $XORG == "FAIL" ]
  148. then
  149.   sudo cp '/etc/X11/xorg.conf.backup' '/etc/X11/xorg.conf'
  150.   echo ""
  151.   echo "Xorg PROBLEM DETECTED"
  152.   echo ""
  153.   echo "Restoring Xorg"
  154.   echo ""
  155.   echo "Rebooting in 5 seconds"
  156.   sleep 5
  157.   sudo reboot
  158. fi
  159.  
  160. IP=$(ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p')
  161.  
  162. # Set MINER_PWD if unset
  163. if [ -z ${MINER_PWD+x} ]
  164. then
  165.   MINER_PWD="x"
  166. fi
  167.  
  168. echo ""
  169. echo ""
  170. echo "rig IP: $IP"
  171. echo ""
  172. echo ""
  173. echo "rig MAC: $MAC"
  174.  
  175. if [ $SLOW_USB_KEY_MODE == "YES" ]
  176. then
  177.   sleep 6
  178. fi
  179.  
  180. echo ""
  181. echo ''
  182. lspci | grep VGA
  183.  
  184. if [ $SLOW_USB_KEY_MODE == "YES" ]
  185. then
  186.   sleep 6
  187. fi
  188.  
  189. echo ""
  190. echo ''
  191. nvidia-smi
  192. echo ""
  193.  
  194. if [ $SLOW_USB_KEY_MODE == "YES" ]
  195. then
  196.   sleep 6
  197. fi
  198.  
  199. if [ $USE_ENVIRONMENTAL_VARIBLES == "YES" ]
  200. then
  201.   export GPU_FORCE_64BIT_PTR="0"
  202.   export GPU_MAX_HEAP_SIZE="100"
  203.   export GPU_USE_SYNC_OBJECTS="1"
  204.   export GPU_MAX_ALLOC_PERCENT="100"
  205.   echo ""
  206.   echo ENVIRONMENTAL VARIBLES SET
  207. fi
  208.  
  209. if [ $CONTROL_GPU_LED == "YES" ]
  210. then
  211.   ${NVD} -a GPULogoBrightness=$LED_BRIGHTNESS
  212. fi
  213.  
  214. if [ $POWERLIMIT == "YES" ]
  215. then
  216.   sudo nvidia-smi -pl $POWERLIMIT_WATTS
  217. fi
  218.  
  219. if [ $INDIVIDUAL_POWERLIMIT == "YES" ]
  220. then
  221.   sudo nvidia-smi -i 0 -pl $INDIVIDUAL_POWERLIMIT_0
  222.   sudo nvidia-smi -i 1 -pl $INDIVIDUAL_POWERLIMIT_1
  223.   sudo nvidia-smi -i 2 -pl $INDIVIDUAL_POWERLIMIT_2
  224.   sudo nvidia-smi -i 3 -pl $INDIVIDUAL_POWERLIMIT_3
  225.   sudo nvidia-smi -i 4 -pl $INDIVIDUAL_POWERLIMIT_4
  226.   sudo nvidia-smi -i 5 -pl $INDIVIDUAL_POWERLIMIT_5
  227.   sudo nvidia-smi -i 6 -pl $INDIVIDUAL_POWERLIMIT_6
  228.   sudo nvidia-smi -i 7 -pl $INDIVIDUAL_POWERLIMIT_7
  229.   sudo nvidia-smi -i 8 -pl $INDIVIDUAL_POWERLIMIT_8
  230.   sudo nvidia-smi -i 9 -pl $INDIVIDUAL_POWERLIMIT_9
  231.   sudo nvidia-smi -i 10 -pl $INDIVIDUAL_POWERLIMIT_10
  232.   sudo nvidia-smi -i 11 -pl $INDIVIDUAL_POWERLIMIT_11
  233.   sudo nvidia-smi -i 12 -pl $INDIVIDUAL_POWERLIMIT_12
  234.   sudo nvidia-smi -i 13 -pl $INDIVIDUAL_POWERLIMIT_13
  235.   sudo nvidia-smi -i 14 -pl $INDIVIDUAL_POWERLIMIT_14
  236.   sudo nvidia-smi -i 15 -pl $INDIVIDUAL_POWERLIMIT_15
  237.   sudo nvidia-smi -i 16 -pl $INDIVIDUAL_POWERLIMIT_16
  238.   sudo nvidia-smi -i 17 -pl $INDIVIDUAL_POWERLIMIT_17
  239.   sudo nvidia-smi -i 18 -pl $INDIVIDUAL_POWERLIMIT_18
  240. fi
  241.  
  242. if [ $TEAMVIEWER == "YES" ]
  243. then
  244.   running=$(ps -ef | awk '$NF~"teamviewer" {print $2}')
  245.   if [ "$running" == "" ]
  246.   then
  247.     sudo teamviewer --daemon enable
  248.     sleep 2
  249.     guake -n teamviewer -r teamviewer -e "teamviewer"
  250.     running=""
  251.   fi
  252. fi
  253.  
  254. if [ $TEAMVIEWER == "NO" ]
  255. then
  256.   running=$(ps -ef | awk '$NF~"teamviewer" {print $2}')
  257.   if [ "$running" != "" ]
  258.   then
  259.     sudo teamviewer --daemon disable
  260.     sleep 2
  261.     running=""
  262.   fi
  263. fi
  264.  
  265. if [ $SSH == "YES" ]
  266. then
  267.   sudo cp '/etc/init/ssh.conf-on' '/etc/init/ssh.conf'
  268. fi
  269.  
  270. if [ $SSH == "NO" ]
  271. then
  272.   sudo cp '/etc/init/ssh.conf-off' '/etc/init/ssh.conf'
  273. fi
  274.  
  275. if [ $SRR == "YES" ]
  276. then
  277.   sleep 2
  278.   HCD='SRR'
  279.   running=$(ps -ef | awk '$NF~"SRR" {print $2}')
  280.   if [ "$running" == "" ]
  281.   then
  282.     guake -n $HCD -r SRR -e "bash /home/m1/SRR"
  283.     running=""
  284.   fi
  285. fi
  286.  
  287. if [ $plusCPU == "YES" ] && [ $AUTO_START_MINER == "YES" ]
  288. then
  289.   HCD='/home/m1/cpuOPT/cpuminer'
  290.   XMRADDR="$XMR_ADDRESS.$XMR_WORKER"
  291.   echo ""
  292.   echo ""
  293.   echo "LAUNCHING:  plusCPU"
  294.   if [[ `ps -ef |grep cpuminer |grep -v grep |wc -l` -eq 0 ]]
  295.   then
  296.     if [ $LOCALorREMOTE == "LOCAL" ]
  297.     then
  298.       guake -n $HCD -r plusCPU -e "$HCD -a cryptonight -o stratum+tcp://$XMR_POOL:$XMR_PORT -u $XMRADDR -p x -t $threadCOUNT"
  299.     else
  300.       screen -dmS plusCPU $HCD -a cryptonight -o stratum+tcp://$XMR_POOL:$XMR_PORT -u $XMRADDR -p x -t $threadCOUNT
  301.     fi
  302.     echo ""
  303.     echo "plusCPU process in guake terminal Tab (f12)"
  304.     echo ""
  305.     running=""
  306.   fi
  307. fi
  308.  
  309. if [ $AUTO_REBOOT == "YES" ]
  310. then
  311.   HCD='/home/m1/reboot'
  312.   running=$(ps -ef | awk '$NF~"reboot" {print $2}')
  313.   if [ "$running" == "" ]
  314.   then
  315.     guake -n $HCD -r AUTO_REBOOT -e "bash /home/m1/reboot"
  316.     running=""
  317.   fi
  318. fi
  319.  
  320.  
  321. if [ $_Parallax_MODE == "YES" ]
  322. then
  323.   HCD='/home/m1/upPASTE'
  324.   running=$(ps -ef | awk '$NF~"upPASTE" {print $2}')
  325.   if [ "$running" == "" ]
  326.   then
  327.     echo ""
  328.     echo ""
  329.     echo "LAUNCHING:  _Parallax_and_lost_post_upPASTE"
  330.     echo ""
  331.     echo "process in guake terminal Tab (f12)"
  332.     echo ""
  333.     guake -n $HCD -r PX_LP_upPASTE -e "bash /home/m1/upPASTE"
  334.     running=""
  335.   fi
  336. fi
  337.  
  338. sleep 2
  339.  
  340. if [ $MINER_TEMP_CONTROL == "YES" ]
  341. then
  342.   reup=0
  343.   running=$(ps -ef | awk '$NF~"6tempcontrol" {print $2}')
  344.  
  345.   if [ "$running" != "" ]
  346.   then
  347.     target=$(ps -ef | awk '$NF~"6tempcontrol" {print $2}')
  348.     kill $target
  349.     reup=1
  350.   fi
  351.   sleep 2
  352.   echo ""
  353.   echo "LAUNCHING:  MINER TEMP CONTROL "
  354.   HCD='/home/m1/6tempcontrol'
  355.   running=$(ps -ef | awk '$NF~"6tempcontrol" {print $2}')
  356.   remote_running=$(ps -ef | awk '$NF~"6tempcontrol" {print $2}')
  357.   if [ "$running" == "" ]
  358.   then
  359.     if [ $LOCALorREMOTE == "LOCAL" ]
  360.     then
  361.       guake -n $HCD -r MINER_TEMP_CONTROL -e "bash /home/m1/6tempcontrol"
  362.       echo ""
  363.       echo "process in guake terminal Tab (f12)"
  364.       echo ""
  365.       running=""
  366.     fi
  367.   fi
  368.   if [ "$remote_running" == "" ]
  369.   then
  370.     if [ $LOCALorREMOTE == "REMOTE" ]
  371.     then
  372.       screen -c /home/m1/screenrc-tempcontrol -dmSL temp bash /home/m1/6tempcontrol
  373.       echo ""
  374.       echo "process in screen temp; attach with: screen -r temp"
  375.       echo ""
  376.       remote_running=""
  377.     fi
  378.   fi
  379. fi
  380.  
  381. if [ $MINER_WATCHDOG == "YES" ] && [ $AUTO_START_MINER == "YES" ] && [ $SALFTER == "YES" ]
  382. then
  383.   HCD='/home/m1/5watchdog'
  384.   echo ""
  385.   echo "LAUNCHING:  MINER WATCHDOG"
  386.   sleep 2
  387.   running=$(ps -ef | awk '$NF~"5watchdog" {print $2}')
  388.   if [ "$running" == "" ]
  389.   then
  390.     if [ $LOCALorREMOTE == "LOCAL" ]
  391.     then
  392.       guake -n $HCD -r MINER_WATCHDOG -e "bash $HCD"
  393.       echo ""
  394.       echo "process in guake terminal Tab (f12)"
  395.       echo ""
  396.       running=""
  397.     fi
  398.     if [ $LOCALorREMOTE == "REMOTE" ]
  399.     then
  400.       screen -c /home/m1/screenrc-watchdog -dmSL wdog bash /home/m1/5watchdog
  401.       echo ""
  402.       echo "process in screen wdog; attach with: screen -r wdog"
  403.       echo ""
  404.       running=""
  405.     fi
  406.   fi
  407. elif [ $MINER_WATCHDOG == "YES" ] && [ $AUTO_START_MINER == "NO" ] && [ $SALFTER == "YES" ]
  408. then
  409.   echo "  "
  410.   echo "  "
  411.   echo "Auto start miner is set to NO, Watchdog is not starting"
  412.   echo "  "
  413.   echo "  "
  414. fi
  415.  
  416. if [ $TELEGRAM_MESSAGES == "YES" ]
  417. then
  418.   HCD='/home/m1/telegram'
  419.   running=$(ps -ef | awk '$NF~"TELEGRAM_MESSAGES" {print $2}')
  420.   if [ "$running" == "" ]
  421.   then
  422.     guake -n $HCD -r AUTO_GRAM -e "bash /home/m1/7telegram"
  423.     running=""
  424.   fi
  425. fi
  426.  
  427.  
  428. if [ "$FAN_SPEED" -lt "40" ]
  429. then
  430.   FAN_SPEED=40
  431. fi
  432.  
  433. if [[ $WTM_PROFIT_CHECK == "YES" ]] && [[ $WTM_AUTO_SWITCH == "NO" ]]
  434. then
  435.  
  436.   echo ""
  437.   echo "LAUNCHING:  WTM PROFIT CHECK "
  438.   echo ""
  439.  
  440.   cat <<EOF >/home/m1/WTM.json
  441. {
  442.  "WTM_URL": "$WTM_AUTO_SWITCH_URL",
  443.  "WTM_COINS": "$WTM_AUTO_SWITCH_COINS",
  444.  "WTM_MIN_DIFFERENCE": "$WTM_MIN_DIFFERENCE",
  445.  "currency":"$WTM_CURRENCY"
  446. }
  447. EOF
  448.  
  449.   HCD='/home/m1/8wtm_profit_check'
  450.   running=$(ps -ef | awk '$NF~"8wtm_profit_check" {print $2}')
  451.   if [ "$running" == "" ]
  452.   then
  453.     guake -n $HCD -r WTM_PROFIT_CHECK -e "bash /home/m1/8wtm_profit_check"
  454.     running=""
  455.   fi
  456. fi
  457.  
  458.  
  459. if [ $COIN == "SALFTER_NICEHASH_PROFIT_SWITCHING" ]  && [ $AUTO_START_MINER == "YES" ]
  460. then
  461.   HOSTEDIT="YES"
  462.   if grep -q "api.nicehash.com" /etc/hosts;
  463.   then
  464.     HOSTEDIT="NO"
  465.   fi
  466.  
  467.   if [ $HOSTEDIT == "YES" ]
  468.   then
  469.     sudo -- sh -c -e "echo '' >> /etc/hosts";
  470.     sudo -- sh -c -e "echo '104.20.158.21 api.nicehash.com' >> /etc/hosts";
  471.     echo UPDATED HOSTS FILE WITH IPv6 FIX
  472.     echo ""
  473.     echo ""
  474.   fi
  475.  
  476.   sleep 2
  477.   cd /home/m1
  478.  
  479.   if [ "$INDIVIDUAL_CLOCKS" == "YES" ]
  480.   then
  481.     gpu_clks_daggerhashimoto="[$__CORE_OVERCLOCK_0,$__CORE_OVERCLOCK_1,$__CORE_OVERCLOCK_2,$__CORE_OVERCLOCK_3,$__CORE_OVERCLOCK_4,$__CORE_OVERCLOCK_5,$__CORE_OVERCLOCK_6,$__CORE_OVERCLOCK_7,$__CORE_OVERCLOCK_8,$__CORE_OVERCLOCK_9,$__CORE_OVERCLOCK_10,$__CORE_OVERCLOCK_11,$__CORE_OVERCLOCK_12,$__CORE_OVERCLOCK_13,$__CORE_OVERCLOCK_14,$__CORE_OVERCLOCK_15,$__CORE_OVERCLOCK_16,$__CORE_OVERCLOCK_17,$__CORE_OVERCLOCK_18]"
  482.  
  483.     mem_clks_daggerhashimoto="[$MEMORY_OVERCLOCK_0,$MEMORY_OVERCLOCK_1,$MEMORY_OVERCLOCK_2,$MEMORY_OVERCLOCK_3,$MEMORY_OVERCLOCK_4,$MEMORY_OVERCLOCK_5,$MEMORY_OVERCLOCK_6,$MEMORY_OVERCLOCK_7,$MEMORY_OVERCLOCK_8,$MEMORY_OVERCLOCK_9,$MEMORY_OVERCLOCK_10,$MEMORY_OVERCLOCK_11,$MEMORY_OVERCLOCK_12,$MEMORY_OVERCLOCK_13,$MEMORY_OVERCLOCK_14,$MEMORY_OVERCLOCK_15,$MEMORY_OVERCLOCK_16,$MEMORY_OVERCLOCK_17,$MEMORY_OVERCLOCK_18]"
  484.  
  485.     gpu_clks_equihash=$gpu_clks_daggerhashimoto
  486.     mem_clks_equihash=$mem_clks_daggerhashimoto
  487.     gpu_clks_neoscrypt=$gpu_clks_daggerhashimoto
  488.     mem_clks_neoscrypt=$mem_clks_daggerhashimoto
  489.     gpu_clks_lyra2rev2=$gpu_clks_daggerhashimoto
  490.     mem_clks_lyra2rev2=$mem_clks_daggerhashimoto
  491.     gpu_clks_lbry=$gpu_clks_daggerhashimoto
  492.     mem_clks_lbry=$mem_clks_daggerhashimoto
  493.   else
  494.     gpu_clks_daggerhashimoto="$__daggerhashimoto_CORE_OVERCLOCK"
  495.     mem_clks_daggerhashimoto="$daggerhashimoto_MEMORY_OVERCLOCK"
  496.     gpu_clks_equihash="$__equihash_CORE_OVERCLOCK"
  497.     mem_clks_equihash="$equihash_MEMORY_OVERCLOCK"
  498.     gpu_clks_neoscrypt="$__neoscrypt_CORE_OVERCLOCK"
  499.     mem_clks_neoscrypt="$neoscrypt_MEMORY_OVERCLOCK"
  500.     gpu_clks_lyra2rev2="$__lyra2rev2_CORE_OVERCLOCK"
  501.     mem_clks_lyra2rev2="$lyra2rev2_MEMORY_OVERCLOCK"
  502.     gpu_clks_lbry="$__lbry_CORE_OVERCLOCK"
  503.     mem_clks_lbry="$lbry_MEMORY_OVERCLOCK"
  504.   fi
  505.  
  506.   if [ "$INDIVIDUAL_POWERLIMIT" == "YES" ]
  507.   then
  508.     pwr_lim_daggerhashimoto="[$INDIVIDUAL_POWERLIMIT_0,$INDIVIDUAL_POWERLIMIT_1,$INDIVIDUAL_POWERLIMIT_2,$INDIVIDUAL_POWERLIMIT_3,$INDIVIDUAL_POWERLIMIT_4,$INDIVIDUAL_POWERLIMIT_5,$INDIVIDUAL_POWERLIMIT_6,$INDIVIDUAL_POWERLIMIT_7,$INDIVIDUAL_POWERLIMIT_8,$INDIVIDUAL_POWERLIMIT_9,$INDIVIDUAL_POWERLIMIT_10,$INDIVIDUAL_POWERLIMIT_11,$INDIVIDUAL_POWERLIMIT_12,$INDIVIDUAL_POWERLIMIT_13,$INDIVIDUAL_POWERLIMIT_14,$INDIVIDUAL_POWERLIMIT_15,$INDIVIDUAL_POWERLIMIT_16,$INDIVIDUAL_POWERLIMIT_17,$INDIVIDUAL_POWERLIMIT_18]"
  509.     pwr_lim_equihash=$pwr_lim_daggerhashimoto
  510.     pwr_lim_neoscrypt=$pwr_lim_daggerhashimoto
  511.     pwr_lim_lyra2rev2=$pwr_lim_daggerhashimoto
  512.     pwr_lim_lbry=$pwr_lim_daggerhashimoto
  513.   else
  514.     pwr_lim_daggerhashimoto=$daggerhashimoto_POWERLIMIT_WATTS
  515.     pwr_lim_equihash=$equihash_POWERLIMIT_WATTS
  516.     pwr_lim_neoscrypt=$neoscrypt_POWERLIMIT_WATTS
  517.     pwr_lim_lyra2rev2=$lyra2rev2_POWERLIMIT_WATTS
  518.     pwr_lim_lbry=$lbry_POWERLIMIT_WATTS
  519.   fi
  520.  
  521.   cat <<EOF >/home/m1/conf.json
  522. {
  523.  "currency": "$CURRENCY",
  524.  "pwrcost": $POWER_COST,
  525.  "min_profit": $MINIMUM_PROFIT,
  526.  "payment_addr": "$PAYMENT_ADDRESS",
  527.  "miner_name": "$WORKER_NAME",
  528.  "performance":
  529.  {
  530.    "daggerhashimoto": {
  531.      "speed": 0.087, "power": 0.397,
  532.      "power_limit": $pwr_lim_daggerhashimoto, "gpu_oc": $gpu_clks_daggerhashimoto, "mem_oc": $mem_clks_daggerhashimoto, "fan": 0,
  533.      "cmd": "/home/m1/eth/ethminer_12dev2/ethminer -SP 2 -S daggerhashimoto.usa.nicehash.com:3353 -O {ADDR}.{MINER}:x -U"
  534.    },
  535.    "equihash": {
  536.      "speed": 0.000001140, "power": 0.397,
  537.      "power_limit": $pwr_lim_equihash, "gpu_oc": $gpu_clks_equihash, "mem_oc": $mem_clks_equihash, "fan": 0,
  538.      "cmd": "/home/m1/zec/v3_4/miner --eexit 3 --fee 0 --pec --server equihash.usa.nicehash.com --user {ADDR}.{MINER} --pass z --port 3357"
  539.    },
  540.    "neoscrypt": {
  541.      "speed": 0.002160, "power": 0.397,
  542.      "power_limit": $pwr_lim_neoscrypt, "gpu_oc": $gpu_clks_neoscrypt, "mem_oc": $mem_clks_neoscrypt, "fan": 0,
  543.      "cmd": "/home/m1/KTccminer/ccminer -a neoscrypt -o stratum+tcp://neoscrypt.usa.nicehash.com:3341 -u {ADDR}.{MINER} -p x"
  544.    },
  545.    "lyra2rev2": {
  546.      "speed": 0.081, "power": 0.386,
  547.      "power_limit": $pwr_lim_lyra2rev2, "gpu_oc": $gpu_clks_lyra2rev2, "mem_oc": $mem_clks_lyra2rev2, "fan": 0,
  548.      "cmd": "/home/m1/SPccminer/ccminer -a lyra2v2 -o stratum+tcp://lyra2rev2.usa.nicehash.com:3347 -u {ADDR}.{MINER} -p x"
  549.    },
  550.    "lbry": {
  551.      "speed": 0.639, "power": 0.392,
  552.      "power_limit": $pwr_lim_lbry, "gpu_oc": $gpu_clks_lbry, "mem_oc": $mem_clks_lbry, "fan": 0,
  553.      "cmd": "/home/m1/SPccminer/ccminer -a lbry -o stratum+tcp://lbry.usa.nicehash.com:3356 -u {ADDR}.{MINER} -p x"
  554.    }
  555.  }
  556. }
  557. EOF
  558.  
  559.   echo "LAUNCHING:  SALFTER_NICEHASH_PROFIT_SWITCHING "
  560.   echo ""
  561.  
  562.   python2.7 '/home/m1/switch' /home/m1/conf.json
  563.  
  564.   if [ $LOCALorREMOTE == "LOCAL" ]
  565.   then
  566.     guake -n 1 -r SALFTER_NICEHASH_PROFIT_SWITCHING -e "screen -r miner"
  567.   fi
  568.  
  569.   while true
  570.   do
  571.     echo ""
  572.     cat current-profit
  573.     echo ""
  574.  
  575.     if [ $LOCALorREMOTE == "LOCAL" ]
  576.     then
  577.       guake -r SALFTER_NICEHASH_PROFIT_SWITCHING -e "screen -r miner"
  578.       echo ""
  579.       echo "mining process in Guake Tab"
  580.       echo ""
  581.       sleep $PROFIT_CHECK_TIMEOUT
  582.       python2.7 '/home/m1/switch' /home/m1/conf.json
  583.     fi
  584.  
  585.     if [ $LOCALorREMOTE == "REMOTE" ]
  586.     then
  587.       echo "ENTER:"
  588.       echo ""
  589.       echo "screen -r miner"
  590.       echo ""
  591.       echo "in a terminal to view mining process"
  592.       sleep $PROFIT_CHECK_TIMEOUT
  593.       python2.7 '/home/m1/switch' /home/m1/conf.json
  594.     fi
  595.   done
  596.  
  597. elif [ $COIN == "SALFTER_NICEHASH_PROFIT_SWITCHING" ]  && [ $AUTO_START_MINER == "NO" ]
  598. then
  599.   echo "    "
  600.   echo "    "
  601.   echo "Auto Start Miner is set to NO"
  602.   echo "    "
  603.   echo "Miner is not starting"
  604.   echo "    "
  605.   echo "    "
  606. fi
  607.  
  608.  
  609. if [ $COIN == "SALFTER_MPH_PROFIT_SWITCHING" ] && [ $AUTO_START_MINER == "YES" ]
  610. then
  611.  
  612.   cd /home/m1
  613.  
  614.   if [ "$INDIVIDUAL_CLOCKS" == "YES" ]
  615.   then
  616.     gpu_clks_daggerhashimoto="[$__CORE_OVERCLOCK_0,$__CORE_OVERCLOCK_1,$__CORE_OVERCLOCK_2,$__CORE_OVERCLOCK_3,$__CORE_OVERCLOCK_4,$__CORE_OVERCLOCK_5,$__CORE_OVERCLOCK_6,$__CORE_OVERCLOCK_7,$__CORE_OVERCLOCK_8,$__CORE_OVERCLOCK_9,$__CORE_OVERCLOCK_10,$__CORE_OVERCLOCK_11,$__CORE_OVERCLOCK_12,$__CORE_OVERCLOCK_13,$__CORE_OVERCLOCK_14,$__CORE_OVERCLOCK_15,$__CORE_OVERCLOCK_16,$__CORE_OVERCLOCK_17,$__CORE_OVERCLOCK_18]"
  617.  
  618.     mem_clks_daggerhashimoto="[$MEMORY_OVERCLOCK_0,$MEMORY_OVERCLOCK_1,$MEMORY_OVERCLOCK_2,$MEMORY_OVERCLOCK_3,$MEMORY_OVERCLOCK_4,$MEMORY_OVERCLOCK_5,$MEMORY_OVERCLOCK_6,$MEMORY_OVERCLOCK_7,$MEMORY_OVERCLOCK_8,$MEMORY_OVERCLOCK_9,$MEMORY_OVERCLOCK_10,$MEMORY_OVERCLOCK_11,$MEMORY_OVERCLOCK_12,$MEMORY_OVERCLOCK_13,$MEMORY_OVERCLOCK_14,$MEMORY_OVERCLOCK_15,$MEMORY_OVERCLOCK_16,$MEMORY_OVERCLOCK_17,$MEMORY_OVERCLOCK_18]"
  619.  
  620.     gpu_clks_equihash=$gpu_clks_daggerhashimoto
  621.     mem_clks_equihash=$mem_clks_daggerhashimoto
  622.     gpu_clks_neoscrypt=$gpu_clks_daggerhashimoto
  623.     mem_clks_neoscrypt=$mem_clks_daggerhashimoto
  624.     gpu_clks_lyra2rev2=$gpu_clks_daggerhashimoto
  625.     mem_clks_lyra2rev2=$mem_clks_daggerhashimoto
  626.     gpu_clks_lbry=$gpu_clks_daggerhashimoto
  627.     mem_clks_lbry=$mem_clks_daggerhashimoto
  628.     __Blake_Vanilla_CORE_OVERCLOCK=$gpu_clks_daggerhashimoto
  629.     Blake_Vanilla_MEMORY_OVERCLOCK=$mem_clks_daggerhashimoto
  630.     __Cryptonight_CORE_OVERCLOCK=$gpu_clks_daggerhashimoto
  631.     Cryptonight_MEMORY_OVERCLOCK=$mem_clks_daggerhashimoto
  632.     __Groestl_CORE_OVERCLOCK=$gpu_clks_daggerhashimoto
  633.     Groestl_MEMORY_OVERCLOCK=$mem_clks_daggerhashimoto
  634.     __Keccak_CORE_OVERCLOCK=$gpu_clks_daggerhashimoto
  635.     Keccak_MEMORY_OVERCLOCK=$mem_clks_daggerhashimoto
  636.     __Myriad_Groestl_CORE_OVERCLOCK=$gpu_clks_daggerhashimoto
  637.     Myriad_Groestl_MEMORY_OVERCLOCK=$mem_clks_daggerhashimoto
  638.     __Qubit_CORE_OVERCLOCK=$gpu_clks_daggerhashimoto
  639.     Qubit_MEMORY_OVERCLOCK=$mem_clks_daggerhashimoto
  640.     __Scrypt_CORE_OVERCLOCK=$gpu_clks_daggerhashimoto
  641.     Scrypt_MEMORY_OVERCLOCK=$mem_clks_daggerhashimoto
  642.     __Sia_CORE_OVERCLOCK=$gpu_clks_daggerhashimoto
  643.     Sia_MEMORY_OVERCLOCK=$mem_clks_daggerhashimoto
  644.     __Skein_CORE_OVERCLOCK=$gpu_clks_daggerhashimoto
  645.     Skein_MEMORY_OVERCLOCK=$mem_clks_daggerhashimoto
  646.     __X11_CORE_OVERCLOCK=$gpu_clks_daggerhashimoto
  647.     X11_MEMORY_OVERCLOCK=$mem_clks_daggerhashimoto
  648.   else
  649.     gpu_clks_daggerhashimoto="$__daggerhashimoto_CORE_OVERCLOCK"
  650.     mem_clks_daggerhashimoto="$daggerhashimoto_MEMORY_OVERCLOCK"
  651.     gpu_clks_equihash="$__equihash_CORE_OVERCLOCK"
  652.     mem_clks_equihash="$equihash_MEMORY_OVERCLOCK"
  653.     gpu_clks_neoscrypt="$__neoscrypt_CORE_OVERCLOCK"
  654.     mem_clks_neoscrypt="$neoscrypt_MEMORY_OVERCLOCK"
  655.     gpu_clks_lyra2rev2="$__lyra2rev2_CORE_OVERCLOCK"
  656.     mem_clks_lyra2rev2="$lyra2rev2_MEMORY_OVERCLOCK"
  657.     gpu_clks_lbry="$__lbry_CORE_OVERCLOCK"
  658.     mem_clks_lbry="$lbry_MEMORY_OVERCLOCK"
  659.   fi
  660.  
  661.   if [ "$INDIVIDUAL_POWERLIMIT" == "YES" ]
  662.   then
  663.     pwr_lim_daggerhashimoto="[$INDIVIDUAL_POWERLIMIT_0,$INDIVIDUAL_POWERLIMIT_1,$INDIVIDUAL_POWERLIMIT_2,$INDIVIDUAL_POWERLIMIT_3,$INDIVIDUAL_POWERLIMIT_4,$INDIVIDUAL_POWERLIMIT_5,$INDIVIDUAL_POWERLIMIT_6,$INDIVIDUAL_POWERLIMIT_7,$INDIVIDUAL_POWERLIMIT_8,$INDIVIDUAL_POWERLIMIT_9,$INDIVIDUAL_POWERLIMIT_10,$INDIVIDUAL_POWERLIMIT_11,$INDIVIDUAL_POWERLIMIT_12,$INDIVIDUAL_POWERLIMIT_13,$INDIVIDUAL_POWERLIMIT_14,$INDIVIDUAL_POWERLIMIT_15,$INDIVIDUAL_POWERLIMIT_16,$INDIVIDUAL_POWERLIMIT_17,$INDIVIDUAL_POWERLIMIT_18]"
  664.     pwr_lim_equihash=$pwr_lim_daggerhashimoto
  665.     pwr_lim_neoscrypt=$pwr_lim_daggerhashimoto
  666.     pwr_lim_lyra2rev2=$pwr_lim_daggerhashimoto
  667.     pwr_lim_lbry=$pwr_lim_daggerhashimoto
  668.     Blake_Vanilla_POWERLIMIT_WATTS=$pwr_lim_daggerhashimoto
  669.     Cryptonight_POWERLIMIT_WATTS=$pwr_lim_daggerhashimoto
  670.     Groestl_POWERLIMIT_WATTS=$pwr_lim_daggerhashimoto
  671.     Keccak_POWERLIMIT_WATTS=$pwr_lim_daggerhashimoto
  672.     Myriad_Groestl_POWERLIMIT_WATTS=$pwr_lim_daggerhashimoto
  673.     Qubit_POWERLIMIT_WATTS=$pwr_lim_daggerhashimoto
  674.     Scrypt_POWERLIMIT_WATTS=$pwr_lim_daggerhashimoto
  675.     Sia_POWERLIMIT_WATTS=$pwr_lim_daggerhashimoto
  676.     Skein_POWERLIMIT_WATTS=$pwr_lim_daggerhashimoto
  677.     X11_POWERLIMIT_WATTS=$pwr_lim_daggerhashimoto5
  678.   else
  679.     pwr_lim_daggerhashimoto=$daggerhashimoto_POWERLIMIT_WATTS
  680.     pwr_lim_equihash=$equihash_POWERLIMIT_WATTS
  681.     pwr_lim_neoscrypt=$neoscrypt_POWERLIMIT_WATTS
  682.     pwr_lim_lyra2rev2=$lyra2rev2_POWERLIMIT_WATTS
  683.     pwr_lim_lbry=$lbry_POWERLIMIT_WATTS
  684.   fi
  685.  
  686.   cat <<EOF >/home/m1/mph_conf.json
  687. {
  688.   "user_name": "$MPH_USERNAME",
  689.   "miner_name": "$WORKER_NAME",
  690.   "card_type": "nvidia",
  691.   "currency": "$CURRENCY",
  692.   "pwrcost": $POWER_COST,
  693.   "min_profit": $MINIMUM_PROFIT,
  694.   "miners":
  695.   {
  696.     "Blake-Vanilla":
  697.     {
  698.       "bin": "/home/m1/SPccminer/ccminer -a vanilla -o stratum+tcp://{HOST}:{PORT} -u {NAME}.{MINER} -p x",
  699.       "power_limit": $Blake_Vanilla_POWERLIMIT_WATTS, "gpu_oc": $__Blake_Vanilla_CORE_OVERCLOCK, "mem_oc": $Blake_Vanilla_MEMORY_OVERCLOCK, "fan": 0,
  700.       "speed": 12.3, "power": 0.389
  701.     },
  702.     "Cryptonight":
  703.     {
  704.       "bin": "/home/m1/KTccminer-cryptonight/ccminer -o stratum+tcp://{HOST}:{PORT} -u {NAME}.{MINER} -p x",
  705.       "power_limit": $Cryptonight_POWERLIMIT_WATTS, "gpu_oc": $__Cryptonight_CORE_OVERCLOCK, "mem_oc": $Cryptonight_MEMORY_OVERCLOCK, "fan": 0,
  706.       "speed": 0.000002, "power": 0.325
  707.     },
  708.     "Equihash":
  709.     {
  710.       "bin": "/home/m1/zec/v3_4/miner --eexit 3 --fee 0 --pec --server {HOST} --user {NAME}.{MINER} --pass z --port {PORT}",
  711.       "power_limit": $pwr_lim_equihash, "gpu_oc": $gpu_clks_equihash, "mem_oc": $mem_clks_equihash, "fan": 0,
  712.       "speed": 0.000001140, "power": 0.397
  713.     },
  714.     "Ethash":
  715.     {
  716.       "bin": "/home/m1/eth/ethminer_12dev2/ethminer -S {HOST}:{PORT} -O {NAME}.{MINER}:x -U",
  717.       "power_limit": $pwr_lim_daggerhashimoto, "gpu_oc": $gpu_clks_daggerhashimoto, "mem_oc": $mem_clks_daggerhashimoto, "fan": 0,
  718.       "speed": 0.087, "power": 0.397
  719.     },
  720.     "Groestl":
  721.     {
  722.       "bin": "/home/m1/SPccminer/ccminer -a groestl -o stratum+tcp://{HOST}:{PORT} -u {NAME}.{MINER} -p x",
  723.       "power_limit": $Groestl_POWERLIMIT_WATTS, "gpu_oc": $__Groestl_CORE_OVERCLOCK, "mem_oc": $Groestl_MEMORY_OVERCLOCK, "fan": 0,
  724.       "speed": 0.0853, "power": 0.392
  725.     },
  726.     "Keccak":
  727.     {
  728.       "bin": "/home/m1/SPccminer/ccminer -a keccak -o stratum+tcp://{HOST}:{PORT} -u {NAME}.{MINER} -p x",
  729.       "power_limit": $Keccak_POWERLIMIT_WATTS, "gpu_oc": $__Keccak_CORE_OVERCLOCK, "mem_oc": $Keccak_MEMORY_OVERCLOCK, "fan": 0,
  730.       "speed": 1.45, "power": 0.391
  731.     },
  732.     "Lyra2RE2":
  733.     {
  734.       "bin": "/home/m1/SPccminer/ccminer -a lyra2v2 -o stratum+tcp://{HOST}:{PORT} -u {NAME}.{MINER} -p x",
  735.       "power_limit": $pwr_lim_lyra2rev2, "gpu_oc": $gpu_clks_lyra2rev2, "mem_oc": $mem_clks_lyra2rev2, "fan": 0,
  736.       "speed": 0.081, "power": 0.386
  737.     },
  738.     "Myriad-Groestl":
  739.     {
  740.       "bin": "/home/m1/SPccminer/ccminer -a myr-gr -o stratum+tcp://{HOST}:{PORT} -u {NAME}.{MINER} -p x",
  741.       "power_limit": $Myriad_Groestl_POWERLIMIT_WATTS, "gpu_oc": $__Myriad_Groestl_CORE_OVERCLOCK, "mem_oc": $Myriad_Groestl_MEMORY_OVERCLOCK, "fan": 0,
  742.       "speed": 0.158, "power": 0.391
  743.     },
  744.     "NeoScrypt":
  745.     {
  746.       "bin": "/home/m1/KTccminer/ccminer -a neoscrypt -o stratum+tcp://{HOST}:{PORT} -u {NAME}.{MINER} -p x",
  747.       "power_limit": $pwr_lim_neoscrypt, "gpu_oc": $gpu_clks_neoscrypt, "mem_oc": $mem_clks_neoscrypt, "fan": 0,
  748.       "speed": 0.002160, "power": 0.397
  749.     },
  750.     "Qubit":
  751.     {
  752.       "bin": "/home/m1/SPccminer/ccminer -a qubit -o stratum+tcp://{HOST}:{PORT} -u {NAME}.{MINER} -p x",
  753.       "power_limit": $Qubit_POWERLIMIT_WATTS, "gpu_oc": $__Qubit_CORE_OVERCLOCK, "mem_oc": $Qubit_MEMORY_OVERCLOCK, "fan": 0,
  754.       "speed": 0.0509, "power": 0.382
  755.     },
  756.     "Scrypt":
  757.     {
  758.       "bin": "/home/m1/SPccminer/ccminer -a scrypt -o stratum+tcp://{HOST}:{PORT} -u {NAME}.{MINER} -p x",
  759.       "power_limit": $Scrypt_POWERLIMIT_WATTS, "gpu_oc": $__Scrypt_CORE_OVERCLOCK, "mem_oc": $Scrypt_MEMORY_OVERCLOCK, "fan": 0,
  760.       "speed": 0.00224, "power": 0.403
  761.     },
  762.     "Sia":
  763.     {
  764.       "bin": "/home/m1/SPccminer/ccminer -a sia -o stratum+tcp://{HOST}:{PORT} -u {NAME}.{MINER} -p x",
  765.       "power_limit": $Sia_POWERLIMIT_WATTS, "gpu_oc": $__Sia_CORE_OVERCLOCK, "mem_oc": $Sia_MEMORY_OVERCLOCK, "fan": 0,
  766.       "speed": 3.700, "power": 0.403
  767.     },
  768.     "Skein":
  769.     {
  770.       "bin": "/home/m1/ASccminer/ccminer -a skein -o stratum+tcp://{HOST}:{PORT} -u {NAME}.{MINER} -p x",
  771.       "power_limit": $Skein_POWERLIMIT_WATTS, "gpu_oc": $__Skein_CORE_OVERCLOCK, "mem_oc": $Skein_MEMORY_OVERCLOCK, "fan": 0,
  772.       "speed": 0.835, "power": 0.383
  773.     },
  774.     "X11":
  775.     {
  776.       "bin": "/home/m1/TPccminer/ccminer -a x11 -o stratum+tcp://{HOST}:{PORT} -u {NAME}.{MINER} -p x",
  777.       "power_limit": $X11_POWERLIMIT_WATTS, "gpu_oc": $__X11_CORE_OVERCLOCK, "mem_oc": $X11_MEMORY_OVERCLOCK, "fan": 0,
  778.       "speed": 0.0327, "power": 0.403
  779.     }
  780.   }
  781. }
  782. EOF
  783.  
  784.   echo "LAUNCHING:  SALFTER_MPH_PROFIT_SWITCHING "
  785.   echo ""
  786.  
  787.   python2.7 '/home/m1/mph_switch' /home/m1/mph_conf.json
  788.  
  789.   if [ $LOCALorREMOTE == "LOCAL" ]
  790.   then
  791.     guake -n 1 -r SALFTER_MPH_PROFIT_SWITCHING -e "screen -r miner"
  792.   fi
  793.  
  794.  
  795.  
  796.   while true
  797.   do
  798.     echo ""
  799.     cat current-profit
  800.     echo ""
  801.  
  802.     if [ $LOCALorREMOTE == "LOCAL" ]
  803.     then
  804.       guake -r SALFTER_MPH_PROFIT_SWITCHING -e "screen -r miner"
  805.       echo ""
  806.       echo "mining process in Guake Tab"
  807.       echo ""
  808.       sleep $PROFIT_CHECK_TIMEOUT
  809.       python2.7 '/home/m1/mph_switch' /home/m1/mph_conf.json
  810.     fi
  811.  
  812.     if [ $LOCALorREMOTE == "REMOTE" ]
  813.     then
  814.       echo "ENTER:"
  815.       echo ""
  816.       echo "screen -r miner"
  817.       echo ""
  818.       echo "in a terminal to view mining process"
  819.       sleep $PROFIT_CHECK_TIMEOUT
  820.       python2.7 '/home/m1/mph_switch' /home/m1/mph_conf.json
  821.     fi
  822.   done
  823. elif [ $COIN == "SALFTER_MPH_PROFIT_SWITCHING" ]  && [ $AUTO_START_MINER == "NO" ]
  824. then
  825.   echo "    "
  826.   echo "    "
  827.   echo "Auto Start Miner is set to NO"
  828.   echo "    "
  829.   echo "Miner is not starting"
  830.   echo "    "
  831.   echo "    "
  832. fi
  833.  
  834.  
  835. if [ $SALFTER == "NO" ]
  836. then
  837.  
  838.   if [ $INDIVIDUAL_CLOCKS == "YES" ]
  839.   then
  840.     __CORE_OVERCLOCK[0]=$__CORE_OVERCLOCK_0
  841.     MEMORY_OVERCLOCK[0]=$MEMORY_OVERCLOCK_0
  842.     __CORE_OVERCLOCK[1]=$__CORE_OVERCLOCK_1
  843.     MEMORY_OVERCLOCK[1]=$MEMORY_OVERCLOCK_1
  844.     __CORE_OVERCLOCK[2]=$__CORE_OVERCLOCK_2
  845.     MEMORY_OVERCLOCK[2]=$MEMORY_OVERCLOCK_2
  846.     __CORE_OVERCLOCK[3]=$__CORE_OVERCLOCK_3
  847.     MEMORY_OVERCLOCK[3]=$MEMORY_OVERCLOCK_3
  848.     __CORE_OVERCLOCK[4]=$__CORE_OVERCLOCK_4
  849.     MEMORY_OVERCLOCK[4]=$MEMORY_OVERCLOCK_4
  850.     __CORE_OVERCLOCK[5]=$__CORE_OVERCLOCK_5
  851.     MEMORY_OVERCLOCK[5]=$MEMORY_OVERCLOCK_5
  852.     __CORE_OVERCLOCK[6]=$__CORE_OVERCLOCK_6
  853.     MEMORY_OVERCLOCK[6]=$MEMORY_OVERCLOCK_6
  854.     __CORE_OVERCLOCK[7]=$__CORE_OVERCLOCK_7
  855.     MEMORY_OVERCLOCK[7]=$MEMORY_OVERCLOCK_7
  856.     __CORE_OVERCLOCK[8]=$__CORE_OVERCLOCK_8
  857.     MEMORY_OVERCLOCK[8]=$MEMORY_OVERCLOCK_8
  858.     __CORE_OVERCLOCK[9]=$__CORE_OVERCLOCK_9
  859.     MEMORY_OVERCLOCK[9]=$MEMORY_OVERCLOCK_9
  860.     __CORE_OVERCLOCK[10]=$__CORE_OVERCLOCK_10
  861.     MEMORY_OVERCLOCK[10]=$MEMORY_OVERCLOCK_10
  862.     __CORE_OVERCLOCK[11]=$__CORE_OVERCLOCK_11
  863.     MEMORY_OVERCLOCK[11]=$MEMORY_OVERCLOCK_11
  864.     __CORE_OVERCLOCK[12]=$__CORE_OVERCLOCK_12
  865.     MEMORY_OVERCLOCK[12]=$MEMORY_OVERCLOCK_12
  866.     __CORE_OVERCLOCK[13]=$__CORE_OVERCLOCK_13
  867.     MEMORY_OVERCLOCK[13]=$MEMORY_OVERCLOCK_13
  868.     __CORE_OVERCLOCK[14]=$__CORE_OVERCLOCK_14
  869.     MEMORY_OVERCLOCK[14]=$MEMORY_OVERCLOCK_14
  870.     __CORE_OVERCLOCK[15]=$__CORE_OVERCLOCK_15
  871.     MEMORY_OVERCLOCK[15]=$MEMORY_OVERCLOCK_15
  872.     __CORE_OVERCLOCK[16]=$__CORE_OVERCLOCK_16
  873.     MEMORY_OVERCLOCK[16]=$MEMORY_OVERCLOCK_16
  874.     __CORE_OVERCLOCK[17]=$__CORE_OVERCLOCK_17
  875.     MEMORY_OVERCLOCK[17]=$MEMORY_OVERCLOCK_17
  876.     __CORE_OVERCLOCK[18]=$__CORE_OVERCLOCK_18
  877.     MEMORY_OVERCLOCK[18]=$MEMORY_OVERCLOCK_18
  878.   fi
  879.  
  880.   if [ $INDIVIDUAL_CLOCKS == "NO" ]
  881.   then
  882.     __CORE_OVERCLOCK[0]=$__CORE_OVERCLOCK
  883.     MEMORY_OVERCLOCK[0]=$MEMORY_OVERCLOCK
  884.     __CORE_OVERCLOCK[1]=$__CORE_OVERCLOCK
  885.     MEMORY_OVERCLOCK[1]=$MEMORY_OVERCLOCK
  886.     __CORE_OVERCLOCK[2]=$__CORE_OVERCLOCK
  887.     MEMORY_OVERCLOCK[2]=$MEMORY_OVERCLOCK
  888.     __CORE_OVERCLOCK[3]=$__CORE_OVERCLOCK
  889.     MEMORY_OVERCLOCK[3]=$MEMORY_OVERCLOCK
  890.     __CORE_OVERCLOCK[4]=$__CORE_OVERCLOCK
  891.     MEMORY_OVERCLOCK[4]=$MEMORY_OVERCLOCK
  892.     __CORE_OVERCLOCK[5]=$__CORE_OVERCLOCK
  893.     MEMORY_OVERCLOCK[5]=$MEMORY_OVERCLOCK
  894.     __CORE_OVERCLOCK[6]=$__CORE_OVERCLOCK
  895.     MEMORY_OVERCLOCK[6]=$MEMORY_OVERCLOCK
  896.     __CORE_OVERCLOCK[7]=$__CORE_OVERCLOCK
  897.     MEMORY_OVERCLOCK[7]=$MEMORY_OVERCLOCK
  898.     __CORE_OVERCLOCK[8]=$__CORE_OVERCLOCK
  899.     MEMORY_OVERCLOCK[8]=$MEMORY_OVERCLOCK
  900.     __CORE_OVERCLOCK[9]=$__CORE_OVERCLOCK
  901.     MEMORY_OVERCLOCK[9]=$MEMORY_OVERCLOCK
  902.     __CORE_OVERCLOCK[10]=$__CORE_OVERCLOCK
  903.     MEMORY_OVERCLOCK[10]=$MEMORY_OVERCLOCK
  904.     __CORE_OVERCLOCK[11]=$__CORE_OVERCLOCK
  905.     MEMORY_OVERCLOCK[11]=$MEMORY_OVERCLOCK
  906.     __CORE_OVERCLOCK[12]=$__CORE_OVERCLOCK
  907.     MEMORY_OVERCLOCK[12]=$MEMORY_OVERCLOCK
  908.     __CORE_OVERCLOCK[13]=$__CORE_OVERCLOCK
  909.     MEMORY_OVERCLOCK[13]=$MEMORY_OVERCLOCK
  910.     __CORE_OVERCLOCK[14]=$__CORE_OVERCLOCK
  911.     MEMORY_OVERCLOCK[14]=$MEMORY_OVERCLOCK
  912.     __CORE_OVERCLOCK[15]=$__CORE_OVERCLOCK
  913.     MEMORY_OVERCLOCK[15]=$MEMORY_OVERCLOCK
  914.     __CORE_OVERCLOCK[16]=$__CORE_OVERCLOCK
  915.     MEMORY_OVERCLOCK[16]=$MEMORY_OVERCLOCK
  916.     __CORE_OVERCLOCK[17]=$__CORE_OVERCLOCK
  917.     MEMORY_OVERCLOCK[17]=$MEMORY_OVERCLOCK
  918.     __CORE_OVERCLOCK[18]=$__CORE_OVERCLOCK
  919.     MEMORY_OVERCLOCK[18]=$MEMORY_OVERCLOCK
  920.   fi
  921.  
  922.   TI="3"
  923.  
  924.   if [ $___1050_or_1050ti == "YES" ]
  925.   then
  926.     TI="2"
  927.     if [ $NORMAL == "YES" ]
  928.     then
  929.       TI="2 3"
  930.     fi
  931.   fi
  932.  
  933.   if [ $SLOW_USB_KEY_MODE == "YES" ]
  934.   then
  935.     sleep 6
  936.   fi
  937.  
  938.  
  939.   if [ $P106_100_FULL_HEADLESS_MODE == "NO" ]
  940.   then
  941.  
  942.     gpu=0
  943.     while [ $gpu -lt $GPUS ]
  944.     do
  945.       for j in $TI
  946.       do
  947.         CORE=${__CORE_OVERCLOCK[${gpu}]}
  948.         MEM=${MEMORY_OVERCLOCK[${gpu}]}
  949.         ${NVD} -a [gpu:$gpu]/GPUGraphicsClockOffset[${j}]=$CORE
  950.         ${NVD} -a [gpu:$gpu]/GPUMemoryTransferRateOffset[${j}]=$MEM
  951.       done
  952.       gpu=$(($gpu+1))
  953.     done
  954.  
  955.     if [[ $MANUAL_FAN == "YES" && $MINER_TEMP_CONTROL == "NO" ]]
  956.     then
  957.       gpu=0
  958.       while [ $gpu -lt $GPUS ]
  959.       do
  960.         ${NVD} -a [gpu:$gpu]/GPUFanControlState=1
  961.         ${NVD} -a [fan:$gpu]/GPUTargetFanSpeed=${FAN_SPEED}
  962.         gpu=$(($gpu+1))
  963.       done
  964.     fi
  965.  
  966.     if [[ $MANUAL_FAN == "NO" && $MINER_TEMP_CONTROL == "NO" ]]
  967.     then
  968.       gpu=0
  969.       while [ $gpu -lt $GPUS ]
  970.       do
  971.         ${NVD} -a [gpu:$gpu]/GPUFanControlState=0
  972.         gpu=$(($gpu+1))
  973.       done
  974.     fi
  975.   fi
  976.  
  977.   UPDATE="YES"
  978.  
  979.   if [ $P106_100_FULL_HEADLESS_MODE == "YES" ]
  980.   then
  981.     if grep -q "XORG_UPDATED" /home/m1/xorg_flag;
  982.     then
  983.       sleep 2
  984.       UPDATE="NO"
  985.     fi
  986.     if [ $UPDATE == "YES" ]
  987.     then
  988.       sudo nvidia-xconfig --enable-all-gpus --cool-bits=12
  989.       cd /home/m1
  990.       echo XORG_UPDATED > '/home/m1/xorg_flag'
  991.       sleep 4
  992.       echo "XORG UPDATED"
  993.       echo ''
  994.       echo "Rebooting in 5"
  995.       echo ''
  996.       echo "disconnect monitor if connected"
  997.       sleep 5
  998.       sudo reboot
  999.     fi
  1000.     sleep 4
  1001.     ${NVD} -a GPUGraphicsClockOffset[2]=${__CORE_OVERCLOCK}
  1002.     ${NVD} -a GPUMemoryTransferRateOffset[2]=${MEMORY_OVERCLOCK}
  1003.   fi
  1004.  
  1005.   if [ $GPUPowerMizerMode_Adjust == "YES" ]
  1006.   then
  1007.     gpu=0
  1008.     while [ $gpu -lt $GPUS ]
  1009.     do
  1010.       sudo ${NVD} -a [gpu:$gpu]/GPUPowerMizerMode=${GPUPowerMizerMode}
  1011.       gpu=$(($gpu+1))
  1012.     done
  1013.   fi
  1014.  
  1015.   if [ $SLOW_USB_KEY_MODE == "YES" ]
  1016.   then
  1017.     sleep 6
  1018.   fi
  1019.  
  1020.   if [ $AUTO_START_MINER == "YES" ]
  1021.   then
  1022.     echo "Auto Start Miner Set to YES"
  1023.     if [ $MINER_WATCHDOG == "YES" ]
  1024.     then
  1025.       HCD='/home/m1/5watchdog'
  1026.       echo ""
  1027.  
  1028.       sleep 2
  1029.       running=$(ps -ef | awk '$NF~"5watchdog" {print $2}')
  1030.       if [ "$running" == "" ]
  1031.       then
  1032.         if [ $LOCALorREMOTE == "LOCAL" ]
  1033.         then
  1034.           guake -n $HCD -r MINER_WATCHDOG -e "bash $HCD"
  1035.           echo "LAUNCHING:  MINER WATCHDOG"
  1036.           echo ""
  1037.           echo "process in guake terminal Tab (f12)"
  1038.           echo ""
  1039.           running=""
  1040.         elif [ $LOCALorREMOTE == "REMOTE" ]
  1041.         then
  1042.           screen -c /home/m1/screenrc-watchdog -dmSL wdog bash /home/m1/5watchdog
  1043.           echo "LAUNCHING:  MINER WATCHDOG"
  1044.           echo ""
  1045.           echo "process in screen wdog; attach with: screen -r wdog"
  1046.           running=""
  1047.         fi
  1048.       fi
  1049.     fi
  1050.  
  1051.     if [ $WTM_AUTO_SWITCH == "YES" ]
  1052.     then
  1053.       echo ""
  1054.       echo "LAUNCHING:  WTM AUTO SWITCH "
  1055.       echo ""
  1056.       cat <<EOF >/home/m1/WTM.json
  1057. {
  1058.  "WTM_URL": "$WTM_AUTO_SWITCH_URL",
  1059.  "WTM_COINS": "$WTM_AUTO_SWITCH_COINS",
  1060.  "WTM_MIN_DIFFERENCE": "$WTM_MIN_DIFFERENCE",
  1061.  "currency":"$WTM_CURRENCY"
  1062. }
  1063. EOF
  1064.       HCD='/home/m1/8wtm_auto_switch'
  1065.       running=$(ps -ef | awk '$NF~"8wtm_auto_switch" {print $2}')
  1066.       if [ "$running" == "" ]
  1067.       then
  1068.         guake -n $HCD -r WTM_AUTO_SWITCH -e "bash /home/m1/8wtm_auto_switch"
  1069.         running=""
  1070.       fi
  1071.     fi
  1072.  
  1073.     reup=0
  1074.     #running=$(ps ax | grep -i screen | grep miner | awk '"miner" {print $1}')
  1075.     running=$(ps ax | grep -v cpuminer | grep -i screen | grep miner | awk '"miner" {print $1}')
  1076.  
  1077.     if [ "$running" != "" ]
  1078.     then
  1079.       #target=$(ps ax | grep -i screen | grep miner | awk '"miner" {print $1}')
  1080.       target=$(ps ax | grep -v cpuminer | grep -i screen | grep miner | awk '"miner" {print $1}')
  1081.       kill $target
  1082.       reup=1
  1083.     fi
  1084.     sleep 2
  1085.     echo ""
  1086.     echo "LAUNCHING:  MINER"
  1087.     echo "    "
  1088.     #running=$(ps ax | grep -i screen | grep miner | awk '"miner" {print $1}')
  1089.     running=$(ps ax | grep -v cpuminer | grep -i screen | grep miner | awk '"miner" {print $1}')
  1090.     if [ "$running" == "" ]
  1091.     then
  1092.       bash /home/m1/0miner
  1093.       echo "    "
  1094.       echo "    "$(ps ax | grep -i screen | grep miner | grep -o 'SCREEN.*')
  1095.       echo "    "
  1096.       if [ $LOCALorREMOTE == "REMOTE" ]
  1097.       then
  1098.         echo "Miner output: ~/nvOC miner-log"
  1099.         echo "    "
  1100.         echo "    "
  1101.         running=""
  1102.       elif [ $LOCALorREMOTE == "LOCAL" ]
  1103.       then
  1104.         touch /home/m1/nvoc_logs/screenlog.0
  1105.         tail -f /home/m1/nvoc_logs/screenlog.0
  1106.       fi
  1107.     fi
  1108.  
  1109.   elif [ $AUTO_START_MINER == "NO" ]
  1110.   then
  1111.     echo "    "
  1112.     echo "    "
  1113.     echo "Auto Start Miner is set to NO"
  1114.     echo "    "
  1115.     echo "Miner is not starting"
  1116.     echo "    "
  1117.     echo "    "
  1118.   fi
  1119. fi
  1120.  
  1121.  
  1122. # Infinite Loop
  1123. while true
  1124. do
  1125.   sleep 60
  1126. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement