Testing NBminer in Windows and why I’m moving to pool mining

Since Nicehash released their 100% LHR unlock *and* the price of BTC has dropped, I’ve been exploring alternative means of revenue generation. It’s probably about time! Here’s why:

nicehash before the drop in BTC

I definitely haven’t been writing at the pace that I would usually expect. Still, as I probably didn’t expect when I first started (only back in November 2021), mining is actually pretty tricky.

You have to build the machines, make them thermally stable, then get the software stable, then you find you have to address the cooling problems you create as you go along. All while power is getting more expensive and difficulty is increasing. I went big, quickly, and going by the numbers at that time, I was easily going to make an ROI in around 10 months…

I’ve been a big supporter of Nicehash Quickminer for beginners. Provided that your GPUs are thermally taken care of, the optimization profiles through OCtune are pretty good. The profiles are a little power hungry which makes them slightly less efficient, but on the whole, while you’re messing around trying to make your environment work, Nicehash rocks.

octune from nicehash
Small section of Nicehash OCtune, showing locked memclock delta and so on (source)

Nicehash, I might add, was first (by a day) to release an LHR unlock for LHR (limited hash rate cards) to unleash their full hash rate potential. I’ve seen reports of 3080s running at 120mh/s – obviously, there are a lot of newcomers to the scene and what’s happening there is the lifespan of these poor cards are probably being shortened, terribly.

over-overclocking a 3080 ti
A screenshot from a delighted miner on Facebook’s GPU Mining group. That RTX 3080 ti will never be the same again 🙁

100mh/s is about right on a thermally stable 3080. But that’s a different conversation and somewhat subjective. Efficiency is key.

I tested this thing out in the only place I own LHR cards: my sim rig. So, I was excited but quickly disappointed. Mostly, because while my EVGA FTW3 Ultra Gaming went full hash, My Gigabyte Aorus 3080 rev 2.0 would only run at 54mh/s – about two-thirds of what T-Rex Miner’s LHR unlock feature was already doing.

Unfortunately, I had crashes and instability, which I really dislike!

Then, I came across this video from Red Panda Mining. The poignant part of the video (for me) was the discussion about whether you should be renting your mining gear and getting paid in BTC or mining via a pool for ETH.

I won’t be using Nicehash & Windows to achieve 100% LHR unlock via Red Panda Mining

Until that point, I was 100% BTC and on 100% Nicehash. Largely, because it’s easy, I’m a bit lazy, BTC is valuable and personally, I think the predictions for the next 5 years for BTC pricing look pretty good.

But this chart made me think:

Major crypto assets by a percentage of total market cap (or the BTC dominance chart)
Major crypto assets by a percentage of total market cap (or the BTC dominance chart)

This “major crypto assets by the percentage of total market cap” (or the BTC dominance chart) shows something really interesting when you look at the gradual degradation of BTC’s dominance over other currencies. And, in particular: Etherium. While the market is in a bit of a mess at the moment (here’s why).

So right now Eth is worth £1,891.47 which is -44.12% down in value on this time last year. But there’s huge buy pressure on the coin and, with ETH2.0 on the horizon, the penny kind of dropped for me. I’ve been renting my machines out and getting paid quite well in BTC, but for several different reasons right now, I’m switching half of that to ETH pool mining.

I feel that the LHR unlock from Nicehash wasn’t in the short-term best interests of the machine owners. My 4gh/s farm (all on NH) dropped in profitability. In my opinion, this was caused by several factors. Firstly, and most obviously, the value of BTC dropped. But also quite suddenly, there was a lot more hash power available through the Nicehash marketplace, which must push down the bid price for miners buying hash power on the network in the short term. And, the difficulty is increasing while power is getting more expensive, although that issue applies to us all.

Clearly, I’ve had a few things to think about and the conclusion I’ve reached was to test switching some of my equipment to ETH mining via the 2Miners pool. T-Rex (which I know well) would have been in this picture but the temptation to find a stable, 100% LHR unlocked miner and driver combination was too strong. 2Miners felt like a good place to be and NBminer seemed to be the one to go for at the moment if you own an LHR card.

Getting started with NBminer

Get started by downloading NBminer from an official repository: https://github.com/NebuTech/NBMiner

Download the latest version of NBminer from their Github
Download the latest version of NBminer from their Github

Once you’ve downloaded the zip file, extract it to your C:\ drive:

NBminer's file structure

NBminer’s file structure

The way to start the miner is to run a start batch file as administrator, while there are some settings changes to make first, it’s as simple as a right mouse button click:

To start mining, run as admin
To start mining, run as admin

Of course, before you do that you’ll need your wallet address and you’ll need to decide which pool to join. 2Miners will pay in BTC if you provide a BTC address in the BAT file or ETH / Nano if you provide the relevant wallet address.

As it happens, I know the optimal overclock settings for my pair of LHR cards, I also know I can push them much harder if I choose. But, you have to consider energy efficiency and thermals.

So consider this example route a “goldilocks zone” test for cards that I don’t usually use for mining. They’ve never been re-padded and my EVGA does all the heavy lifting in the simulator. I don’t want them to get too hot or use too much power running!

Driver

As I understand it, if you have an LHR card you’ll need GeForce Game Ready Driver v512.15 which can be downloaded from here. Some folks use DDU which is handy if you want to stop Windows automatically updating your drivers! I’ve disabled all of that kind of thing in task scheduler so it’s less of an issue. The main thing is to download that driver and perform a clean installation. That should do it.

NBminer OC settings

I took a small amount of time to come to terms with the slight differences between NBminer and T-Rex’s settings. As you can see in my config file, I’ve set the power limit at 90% (-pl 90%%), locked the core clock at 1140mhz where the “@” symbol implies the lock. I’ve set a memory clock offset to +1200 and set the fans at 100%.

There are similarities between NBminer and T-Rex but they’re different enough that you definitely should use the readme file or check out this list of arguments:

–power-limit, –pl \<limit>

Sets power limit of the GPU.  Set PL in watts: -pl 200. Set PL in percentage of default PowerLimit: -pl 75%

–cclock \<clocks>

Sets the core clock in MHz. Set clock offsets: -cclock 100, -cclock -500 (Windows only). Set locked clock: -cclock @1500.

–mclock \<clocks>

Sets the memory clock offsets in MHz. (Windows only)

–fan \<speed>    Set GPU fan speed in percentage. (Windows only)

When you’re testing your batch file, be aware that to stop NBminer, use “CTRL+C” and then confirm with “Y” and press enter. That will close the session. Keey an eye on your temperatures and make sure things are stable and that you feel comfortable with how things are running:

2 x 3080 LHR’s running at a reasonable hashrate but OK efficiency and low temps!

Look out for these little tables, low/no rejects is a good sign, as is low MTmp at a decent hashrate.

What if I have a mix of LHR and FHR cards in my rig?

You can do this by only running NBminer on the LHR GPUs and a different instance for the non-LHR GPUs. Seb Heslow explains this brilliantly:

4 ways to FIX 100% LHR unlock stability issues mining Ethereum (Stop crashing & low hashrate)

The command Seb is referring to is:

-d, –devices <devices>

Specify GPU list to use. Format: “-d 0,1,2,3” to use the first 4 GPUs.

For a full list of NBminer commands take a look here: https://bitcointalk.org/index.php?topic=5099379

Setting up NBminer in a mixed card all FHR machine

To finish up I’m going to show you how to set up a larger mining rig with NBminer. This particular machine has 5 x 3090 FE’s, 1 x 3080 FE and 2 x 3070 FE’s.

While the syntax for the setup file doesn’t really change, we do need to build an array of overclock settings for the start file.

I find it useful to find out which GPU no has been assigned to each card by briefly running NBminer with the stock batch file:

I’ve set everything up but with the default oc settings for the 3090 only

As soon as you get your GPU list, CTRL-C will start the session termination process. Don’t close the session, just stop it or take a screenshot of your GPU list.

Armed with this list you’ll be quickly able to configure each GPU individually like so:

Let’s say you had 3 GPUs and you wanted to lock the core clocks, set the memclock offset and fans individually.

-cclock @1000,@1000,@1000 -mclock 1200,1200,1200 -fan 70,70,70 

Obviously, all those numbers can be different based on what you need from each GPU. If you’re setting an absolute setting absolute core you don’t strictly need the power adjustments but I leave those in there as a global control to cool things down on a hot day.

As an aside, if you had 3 GPUs that needed a negative core offset instead of an absolute lock. These might be quite familiar to Afterburner users:

-cclock -502,-502,-502 -mclock 1200,1200,1200 -fan 70,70,70 -pl 120,65%%,110

I’ve set power levels using either wattage or a percentage of the total power. For example, -pl is showing 120w for gpu0, 65% for gpu1, and 110w for gpu2. So for each item in the array, you have a choice of how to instruct the miner to use the card, provided you use the right syntax.

I’m not sure where to start with overclock settings!

Google / Reddit is definitely your friend, but you could also take a look at hashrate.no. If you’re migrating from Nicehash QuickMiner you could check the OCtune settings – their autotune, aside from being a bit power hungry, is brilliant:

OCtune
OCtune will show you the OC settings you’ll need for each card as a good starting point

Then, check your GPU order in NBminer as described earlier. Mine is as follows:

My device list

Using the array method, my NBminer ETH start file overclock settings for 5 x 3090 FE’s, 1 3080 FE and 2 x 3070 FE’s as follows:

@cd /d "%~dp0"
nbminer -a ethash -o stratum+tcp://eth.2miners.com:2020 -u 0x1CF354f13130290E0f724d0446177D14ea725dFc.BigRig2 -log -cclock @1140,@1140,@1140,@1110,@1140,@1140,@1200,@1100 -mclock 1200,1200,1200,1370,1200,1200,1300,1200 -fan 100,100,100,100,100,100,100,100
pause

That appeared to work first time and here are the results so far:

Everything appears chilled although it’s early days for this rig @836.4mh/s

It’s interesting to compare the performance vs Excavator. Setting these up in the way I have right now, I have no global control over the rigs from a web UI and especially not from outside my network! This is fast becoming HIVEos territory, but you have to learn to walk before you can run.

Same rig running Excavator and OCtune’s settings @814.87mh/s

So there’s not a huge amount I can gather at this stage, generally, NBminer seems to be finding 20 or so more megahash, but for more or less the same power and efficiency.

In terms of revenue generation, I’ll have to take a long hard look to see what’s paying out the most. I genuinely expect the short-term results to be negligible and within a few % of each other, and with a bit of time I’ll end up with 2Gh/s on Nicehash and 2Gh/s on 2Miners. A bit of ETH and BTC, perhaps.

I’m staying open-minded though and of course, I will be watching like a hawk!


Leave a comment