How to undervolt really low?

Hi all
I have rig with rx 470,480,580. Under windows using wattman i can undervolt to low 8xxmV, and my cards work stable. But under hive i cant get lower then 950mV. How to fix this ? I can put 800mV in oc settings and nothing happens. Still get about 950mV.

In a related thread (https://forum.hiveos.farm/discussion/386/amd-power-draw-hash) it was suspected that in Hive OS the undervolt is only being applied to the core clock and not to the memory.

That thread ends with the OP resorting to modding the BIOS of their cards to achieve an undervolt similar to what is achievable in Windows. Hopefully we’ll see a better solution soon.

I’m using ETHOS but wanna use hiveos but with 2 systems:

5 and other 3 cards all the same cards Sapphire pulse rx580 8GB Micron

I have totally hashrate of 257.2 Mh/s with power usage on kWh from wall : 1140W
If i’m using the second system with 3 cards i go to 2230W from the wall:

CORE 1200 1200 1200
DPM 5 5 5
V 800 800 845
MEM 2310 2322 2310
MDPM 2 2 2
FAN 55 55 55

0
01:00.0
Radeon RX 580 8192M
Unknown Micron, 113-1E3870U-O49
43°
52%
95W

1
04:00.0
Radeon RX 580 8192M
Unknown Micron, 113-1E3870U-O49
44°
52%
98W

2
05:00.0
Radeon RX 580 8192M
Unknown Micron, 113-1E3870U-O49
41°
52%
98W

Please help

I have already posted on this forum about undervolting AMD cards. It is not nice and clear solution, but it works. Anyway, I have managed (using Internet resources from other forums) to compile a script to undervolt RX470 really low (cards reporting under 60W in Hive; rig with 13xRX470 around 1.4kW at the socket). Problem is that something gets messed up with pp_tables so I need to restart miner (claymore) every time I want to change OC settings.

Attaching script that can be run directly in shell. It can be integrated in amd-oc but then it gets overwritten on upgrades.

This can be used on other AMD cards - similar results, but really extraordinary results on RX470)

3 Likes

Ok and how to use sorry newby :tired_face:

Please if you want tell me how i can use it… and if its remove after upgrade if i know i will do it again

Extract script and transfer it to your rig. Then ssh to your rig, make script executable and run it. You can edit it directly to change OC settings.

just execute once ? and where do i need to place it or doesn’t metter ? just execute ?

Yes. Just execute once. Doesn’t matter where do you put it. Inside the script are variables that you can edit to change OC settings. For array variables - if you have onboard GPU recognized by OS then put 0 on the place of that GPU in array variable.

If you want to change OC settings after you have already applied this script - you need to restart the miner and run the script again.

Iam new to HiveOS. I have the same problem that my powerconsumption with HiveOS is ~110W higher w.r.t. Windows, which is a bit stupid because of the 0.2$ that I have to pay per kWh. I hope that the devs can implement the fix explained by givo into HiveOS.
FYI: I use 5 RX580 8GB and have a hashrate of roughly 154MHs. With windows I consumed roughly 650W from the wall, where hiveOS consumes 760W from the wall.

So can you help me to edit the script then for :smile:
Sapphire pulse rx580 8gb Micron ?

My solution is based on @givo, huge credits to him. I’ve tried to slim it down as much as possible.
Make a backup of /hive/sbin/amd-oc! Stop miner.
Edit with nano /hive/sbin/amd-oc

Comment (put #) on lines 190-192:

 [[ ! -z $FAN && ${FAN[$i]} > 0 ]] &&
  #wolfamdctrl -i $cardno --set-fanspeed ${FAN[$i]}
  args+=" --set-fanspeed ${FAN[$i]}"

Before line 208:

if [[ ! -z $coreState || ! -z $memoryState ]]; then

Add this:

for coreStateCtr in {1..7}; do eval wolfamdctrl -i $cardno --core-clock ${CORE_CLOCK[$i]} --core-state $coreStateCtr; done
for voltStateCtr in {1..15}; do eval wolfamdctrl -i $cardno --vddc-table-set ${CORE_VDDC[$i]} --volt-state $voltStateCtr; done
if [[ ! -z $FAN && ${FAN[$i]} > 0 ]]; then eval wolfamdctrl -i $cardno --set-fanspeed ${FAN[$i]}; fi

Save (ctrl-X) and exit. Start miner and your power draw should drop.
The commands take around 10-15 seconds to run and on each miner restart they are reapplied.
Ugly but it works. :slight_smile:

1 Like

@givo, @brnfex, It really works! Thank you!
It turned out to make power consumption as on Windows.
Hive - the best, Windows - goodbye!

@brnfex i will try this tonight ! thnx for your time man so every time you edit the OC it also reapplied ? or only if the miner restart ? and is it just the miner or do you need to reboot the machine ?

@dbbdark it is reapplied every time you reboot your rig or restart the miner because Hive reapplies AMD overclock on every miner start command. Please give it a try and make a backup of the original file (or have a spare image for reflash) in case it doesn’t work.

Can confirm I tried the brnfex method and had a reduction in power usage both in hive & wattmete. Personally I couldnt go lower than 875mv without at least 1 GPU hanging.

Working for now… now testing for stable ! thnx for now

Its work -200W on 12xRX574
Bios modified downwolt.
Before:


After:

But its not work if you dont write core voltage in AMD OC dialog on hive account

Strange sometimes HIVEOS says:

45° 48%
26.67
48° 48%
26.65
44° 48%
31.77

CORE 1230 1240 1230 V 865 865 865 MEM 2325 2325 2310 FAN 50 50 50

On ethos its stable runds on 32+ and now i can’t get it higher

=== GPU 0, 01:00.0 /sys/class/drm/card1 ===
Adapter 0: Device 67df
Core: 1230 MHz, Mem: 2325 MHz, CoreOD: 0, MemOD: 0, Load: 100%, Temp: 50 C, Fan: 48.6275%
Core clocks: 300 1230
Memory Clocks: 300 1000 2325
manual DPM 1 CORE 1230Mhz V 865 MEMSTATE 2 MEM 2325Mhz PWR 81.14 W

=== GPU 1, 04:00.0 /sys/class/drm/card2 ===
Adapter 1: Device 67df
Core: 1240 MHz, Mem: 2325 MHz, CoreOD: 0, MemOD: 0, Load: 100%, Temp: 52 C, Fan: 48.6275%
Core clocks: 300 1240
Memory Clocks: 300 1000 2325
manual DPM 1 CORE 1240Mhz V 865 MEMSTATE 2 MEM 2325Mhz PWR 77.154 W

=== GPU 2, 05:00.0 /sys/class/drm/card3 ===
Adapter 2: Device 67df
Core: 1230 MHz, Mem: 2310 MHz, CoreOD: 0, MemOD: 0, Load: 100%, Temp: 48 C, Fan: 48.6275%
Core clocks: 300 1230
Memory Clocks: 300 1000 2310
manual DPM 1 CORE 1230Mhz V 865 MEMSTATE 2 MEM 2310Mhz PWR 82.54 W
root@miner1:~#

Strange after a few reboots its back on 32+