Hello, good OC. But could you integrate fan control in the system.
This can be done with a modification to oneBash. I didn't include fan speed control because once a card is set to manual fan control; even if the fan speed is not set or set to 0: the fan will not turn on no matter how hot the card gets.
Thus an incomplete configuration could damage cards permanently. There are 2 commands involved with fan speed:
the one which toggles between automatic and manual fan modes:
nvidia-settings -a [gpu:0]/GPUFanControlState=1
and the one that sets the actual fan speed:
nvidia-settings -a [fan:0]/GPUTargetFanSpeed=75
Note these are per card
You
MUST ALWAYS set the fan speed when you set the fan to manual ( I would keep it above 50% if on manual; preferably higher if your ambient temperature is high).
If you set the fan speed too low and damage your cards that is your own fault. If you are aware of the potential to damage your cards due to incomplete configuration and still want manual control; here is a version of oneBash that has fan control:
(note nvOC has a link to this thread in firefox)
Open oneBash with gedit,
delete all the code in oneBash,
then copy and paste the following code,
modify addresses, ect.. as you normally would when configuring oneBash and remember to save your changes
if [ $POWERLIMIT == "YES" ]
then
sleep 6
#change powerlimit by changing the number after -pl to the desired wattage
expect -c 'spawn sudo nvidia-smi -pl 125
expect "*password*:"
send "miner1\r" '
sleep 6
fi
if [ $INDIVIDUAL_POWERLIMIT == "YES" ]
then
sleep 6
#change GPU 0 powerlimit by changing the number after -pl to the desired wattage
expect -c 'spawn sudo nvidia-smi -i 0 -pl 125
expect "*password*:"
send "miner1\r" '
sleep 6
#change GPU 1 powerlimit by changing the number after -pl to the desired wattage
expect -c 'spawn sudo nvidia-smi -i 1 -pl 125
expect "*password*:"
send "miner1\r" '
sleep 6
#change GPU 2 powerlimit by changing the number after -pl to the desired wattage
expect -c 'spawn sudo nvidia-smi -i 2 -pl 125
expect "*password*:"
send "miner1\r" '
sleep 6
#change GPU 3 powerlimit by changing the number after -pl to the desired wattage
expect -c 'spawn sudo nvidia-smi -i 3 -pl 125
expect "*password*:"
send "miner1\r" '
sleep 6
#change GPU 4 powerlimit by changing the number after -pl to the desired wattage
expect -c 'spawn sudo nvidia-smi -i 4 -pl 125
expect "*password*:"
send "miner1\r" '
sleep 6
#change GPU 5 powerlimit by changing the number after -pl to the desired wattage
expect -c 'spawn sudo nvidia-smi -i 5 -pl 125
expect "*password*:"
send "miner1\r" '
sleep 6
fi
# settings above
#########################################################################
#########################################################################
#########################################################################
#########################################################################
# implementation below
NVD=nvidia-settings
COOL="sudo nvidia-xconfig --cool-bits=24"
expect -c "spawn $COOL
expect '*password*:'
send 'miner1\r'"
if [ $INDIVIDUAL_CLOCKS == "NO" ]
then
__CORE_OVERCLOCK_0=$__CORE_OVERCLOCK
MEMORY_OVERCLOCK_0=$MEMORY_OVERCLOCK
__CORE_OVERCLOCK_1=$__CORE_OVERCLOCK
MEMORY_OVERCLOCK_1=$MEMORY_OVERCLOCK
__CORE_OVERCLOCK_2=$__CORE_OVERCLOCK
MEMORY_OVERCLOCK_2=$MEMORY_OVERCLOCK
__CORE_OVERCLOCK_3=$__CORE_OVERCLOCK
MEMORY_OVERCLOCK_3=$MEMORY_OVERCLOCK
__CORE_OVERCLOCK_4=$__CORE_OVERCLOCK
MEMORY_OVERCLOCK_4=$MEMORY_OVERCLOCK
__CORE_OVERCLOCK_5=$__CORE_OVERCLOCK
MEMORY_OVERCLOCK_5=$MEMORY_OVERCLOCK
fi
TI="3"
if [ $___1050_or_1050ti == "YES" ]
then
TI="2 3"
fi
for j in $TI
do
${NVD} -a [gpu:0]/GPUGraphicsClockOffset[${j}]=${__CORE_OVERCLOCK_0}
${NVD} -a [gpu:0]/GPUMemoryTransferRateOffset[${j}]=${MEMORY_OVERCLOCK_0}
${NVD} -a [gpu:1]/GPUGraphicsClockOffset[${j}]=${__CORE_OVERCLOCK_1}
${NVD} -a [gpu:1]/GPUMemoryTransferRateOffset[${j}]=${MEMORY_OVERCLOCK_1}
${NVD} -a [gpu:2]/GPUGraphicsClockOffset[${j}]=${__CORE_OVERCLOCK_2}
${NVD} -a [gpu:2]/GPUMemoryTransferRateOffset[${j}]=${MEMORY_OVERCLOCK_2}
${NVD} -a [gpu:3]/GPUGraphicsClockOffset[${j}]=${__CORE_OVERCLOCK_3}
${NVD} -a [gpu:3]/GPUMemoryTransferRateOffset[${j}]=${MEMORY_OVERCLOCK_3}
${NVD} -a [gpu:4]/GPUGraphicsClockOffset[${j}]=${__CORE_OVERCLOCK_4}
${NVD} -a [gpu:4]/GPUMemoryTransferRateOffset[${j}]=${MEMORY_OVERCLOCK_4}
${NVD} -a [gpu:5]/GPUGraphicsClockOffset[${j}]=${__CORE_OVERCLOCK_5}
${NVD} -a [gpu:5]/GPUMemoryTransferRateOffset[${j}]=${MEMORY_OVERCLOCK_5}
done
if [ $MANUAL_FAN == "YES" ]
then
${NVD} -a [gpu:0]/GPUFanControlState=1
${NVD} -a [fan:0]/GPUTargetFanSpeed=${FAN_SPEED}
${NVD} -a [gpu:1]/GPUFanControlState=1
${NVD} -a [fan:1]/GPUTargetFanSpeed=${FAN_SPEED}
${NVD} -a [gpu:2]/GPUFanControlState=1
${NVD} -a [fan:2]/GPUTargetFanSpeed=${FAN_SPEED}
${NVD} -a [gpu:3]/GPUFanControlState=1
${NVD} -a [fan:3]/GPUTargetFanSpeed=${FAN_SPEED}
${NVD} -a [gpu:4]/GPUFanControlState=1
${NVD} -a [fan:4]/GPUTargetFanSpeed=${FAN_SPEED}
${NVD} -a [gpu:5]/GPUFanControlState=1
${NVD} -a [fan:5]/GPUTargetFanSpeed=${FAN_SPEED}
fi
if [ $MANUAL_FAN == "NO" ]
then
${NVD} -a [gpu:0]/GPUFanControlState=0
${NVD} -a [gpu:1]/GPUFanControlState=0
${NVD} -a [gpu:2]/GPUFanControlState=0
${NVD} -a [gpu:3]/GPUFanControlState=0
${NVD} -a [gpu:4]/GPUFanControlState=0
${NVD} -a [gpu:5]/GPUFanControlState=0
fi
if [ $COIN == "ZEC" ]
then
HCD='/home/m1/zec/miner'
ZECADDR="$ZEC_ADDRESS.$ZEC_WORKER"
until $HCD --eexit 3 --fee $EWBF_PERCENT --pec --server $ZEC_POOL --user $ZECADDR --pass z --port $ZEC_PORT --log 2 --logfile ewbf.log;
do
echo "FAILURE; reinit in 5" >&2
sleep 5
done
fi
if [ $COIN == "LBC" ]
then
HCD='/home/m1/SPccminer/ccminer'
ADDR="$LBC_ADDRESS.$LBC_WORKER"
until $HCD -a lbry -o $LBC_POOL -u $ADDR -p x
do
echo "FAILURE; reinit in 5" >&2
sleep 5
done
fi
if [ $COIN == "ETC" ]
then
HCD='/home/m1/9.0/ethdcrminer64'
ETCADDR="$ETC_ADDRESS/$ETC_WORKER"
until $HCD -epool $ETC_POOL -ewal $ETCADDR -epsw x -mode 1
do
echo "FAILURE; reinit in 5" >&2
sleep 5
done
fi
if [ $COIN == "ETH" ]
then
HCD='/home/m1/9.0/ethdcrminer64'
ETHADDR="$ETH_ADDRESS/$ETH_WORKER"
until $HCD -epool $ETH_POOL -ewal $ETHADDR -epsw x -mode 1
do
echo "FAILURE; reinit in 5" >&2
sleep 5
done
fi
if [ $COIN == "DCR" ]
then
HCD='/home/m1/pasc/sgminer'
ADDR="$DCR_ADDRESS.$DCR_WORKER"
until $HCD -k decred -o $DCR_POOL -u $ADDR -p x -p x -I 21 -w 64 -g2
do
echo "FAILURE; reinit in 5" >&2
sleep 5
done
fi
if [ $COIN == "PASC" ]
then
HCD='/home/m1/pasc/sgminer'
ADDR="$PASC_ADDRESS..$PASC_WORKER"
until $HCD -k pascal -o $PASC_POOL -u $ADDR -p x -p x -I 21 -w 64 -g2
do
echo "FAILURE; reinit in 5" >&2
sleep 5
done
fi
if [ $COIN == "DUAL_ETC_DCR" ]
then
HCD='/home/m1/9.0/ethdcrminer64'
ETCADDR="$ETC_ADDRESS/$ETC_WORKER"
DADDR="$DCR_ADDRESS.$DCR_WORKER"
until $HCD -epool $ETC_POOL -ewal $ETCADDR -epsw x -dpool $DCR_POOL -dwal $DADDR -dpsw x
do
echo "FAILURE; reinit in 5" >&2
sleep 5
done
fi
if [ $COIN == "DUAL_ETC_PASC" ]
then
HCD='/home/m1/9.0/ethdcrminer64'
ETCADDR="$ETC_ADDRESS/$ETC_WORKER"
ADDR="$PASC_ADDRESS..$PASC_WORKER"
until $HCD -epool $ETC_POOL -ewal $ETCADDR -epsw x -dpool $PASC_POOL -dwal $ADDR -dpsw x -dcoin pasc
do
echo "FAILURE; reinit in 5" >&2
sleep 5
done
fi
if [ $COIN == "DUAL_ETC_LBC" ]
then
HCD='/home/m1/9.0/ethdcrminer64'
ETCADDR="$ETC_ADDRESS/$ETC_WORKER"
ADDR="$LBC_ADDRESS.$LBC_WORKER"
until $HCD -epool $ETC_POOL -ewal $ETCADDR -epsw x -dpool $LBC_POOL -dwal $ADDR -dpsw x -dcoin lbc
do
echo "FAILURE; reinit in 5" >&2
sleep 5
done
fi
if [ $COIN == "DUAL_ETH_DCR" ]
then
HCD='/home/m1/9.0/ethdcrminer64'
ETHADDR="$ETH_ADDRESS/$ETH_WORKER"
DADDR="$DCR_ADDRESS.$DCR_WORKER"
until $HCD -epool $ETH_POOL -ewal $ETHADDR -epsw x -dpool $DCR_POOL -dwal $DADDR -dpsw x
do
echo "FAILURE; reinit in 5" >&2
sleep 5
done
fi
if [ $COIN == "DUAL_ETH_PASC" ]
then
HCD='/home/m1/9.0/ethdcrminer64'
ETHADDR="$ETH_ADDRESS/$ETH_WORKER"
ADDR="$PASC_ADDRESS..$PASC_WORKER"
until $HCD -epool $ETH_POOL -ewal $ETHADDR -epsw x -dpool $PASC_POOL -dwal $ADDR -dpsw x -dcoin pasc
do
echo "FAILURE; reinit in 5" >&2
sleep 5
done
fi
if [ $COIN == "DUAL_ETH_LBC" ]
then
HCD='/home/m1/9.0/ethdcrminer64'
ETHADDR="$ETH_ADDRESS/$ETH_WORKER"
ADDR="$LBC_ADDRESS.$LBC_WORKER"
until $HCD -epool $ETH_POOL -ewal $ETHADDR -epsw x -dpool $LBC_POOL -dwal $ADDR -dpsw x -dcoin lbc
do
echo "FAILURE; reinit in 5" >&2
sleep 5
done
fi
[/quote]
(I will add these modifications to the next release, but for now)
then for this version you will need to go thru these steps:open a standard terminal: To open a standard terminal open the mining terminal, select the terminal, move the cursor to the top left, select file, open terminal, select Unnamed
in the standard terminal enter the following; then press enter:
sudo nvidia-xconfig
enter the password:
miner1
when prompted
THEN
in the standard terminal enter the following; then press enter:
sudo nvidia-xconfig --cool-bits=4
enter the password:
miner1
when prompted
now ensure you have saved oneBash, close the mining process if open and logout (top right select logout, then confirm).
when x changes are done and you see the blue login screen; login
let the standard mining process start: you should see that it implements manual fan control but no OC.
open a standard terminal: To open a standard terminal open the mining terminal, select the terminal, move the cursor to the top left, select file, open terminal, select Unnamed
in the standard terminal enter the following; then press enter:
sudo nvidia-xconfig
enter the password:
miner1
when prompted
THEN
in the standard terminal enter the following; then press enter:
sudo nvidia-xconfig --cool-bits=28
enter the password:
miner1
when prompted
close the mining process if open and logout (top right select logout, then confirm).
when x changes are done and you see the blue login screen; login
Now you should be able to both OC and manual fan control by changing:
MANUAL_FAN="YES" # YES NO
FAN_SPEED=85
in oneBash
a Final warning: always use a high enough fan speed if set to manual.