Using HiveOS Shell to Fix Problems Remotely

If you’re like me you’re always wondering how you can tweak or fix every little problem with your miner. I’m very rarely in front of my miners, or even on the same network, but I’m always checking to insure they are running smooth. Most of the time they are, but as the months wear on, seasons change, chips and boards strain, you may find yourself with equipment that doesn’t run like it used to.

If you’re able to get on the same network as your miners, then it’s an easy day. But what if you can’t, what if they’re remote or you’re out of town. We all know the world ends if we have even 1 hour of downtime on one of our miners. Well if that’s how you feel too, then keep reading because I may have an idea that works for you.

A quick caveat, this is specifically geared towards HiveOS firmware. If you’re not running this then you won’t be able to access your miner using this method.

Also a word of warning, be careful what you do here. If you’re not comfortable manually editing the files or using a unix/linux editor then this may not be for you. I use vi, which is a built in editor to the unix/linux OS. It takes a little getting used to if you’ve never played with it, as it’s command line only, but it does the trick once you know your way around.

How to remotely connect to your miner

The first thing you need to do is get in front of a computer and log into your HiveOS farm. I’ve done it from my phone but, at least for me, life is so much easier on a computer. Once logged in you need to click on the specific miner you wish to connect to and pull up their status screen. From there you’ll see a toolbar on the top right, the 4th item in (appears like >_) is the run command shell, click on that and you’ll see a pop-up similar to below.

You will see a pop-up that says, “Worker Commands” and it will list all your recent commands, which may differ from what you see above. From here simply type in, “hssh start” and you’ll start the process of creating an ssh session to your miner. It can take anywhere from a few seconds to a few minutes to create the ssh session so be patient. Once the ssh session is ready you’ll see the status update, “> Hive Shell” with a pop-up link next to it, as seen below.

Once the, “> Hive Shell” pop-up link appears click on the box with the arrow pointing out of it to start the shell. Depending on your network, it will either launch the shell directly or give you another screen with a link as seen below. If you get the screen below, click on the blue highlighted text under, “Web-Link:” to launch the shell.

Your shell should start up and show you the miner you’ve attached to, as well as the time/date and IP and MAC addresses. It should look similar to the screen below.

So now we are connected to our miner, what next? This is where I caution folks, be very careful what you do when you’re in here. I would limit where you go and what you view/edit. I would limit my adventures to just the config directory right off root. To get there simply type, “cd config” hit enter and you’ll be in the directory that contains your base configuration files for the miner settings.

Since we are editing configuration files you’ll actually need to restart your miner after you’re done to have the changes take effect. This is good if you accidentally change something and save it, never fear, you haven’t messed things up yet. Simply go back and undo the changes before restarting, or don’t restart at all.


In the config.conf file we have the ability to change several items that may help keep the mining running smooth. If you’re going to modify this I strongly suggest making a backup first, copying it to a new name that you can restore if things go south (i.e. config.conf.old.)

If we want to manually change the frequency of a chain (useful if you’re getting a significant number/thousands of HW errors per day) you can edit the bitmain-freq for the specific chain (i.e. bitmain-freq1 for chain 1.) These are whole numbers that correspond with the normal drop down menus. For reference, 384 would be for the stock L3+ and 450 is for the stock L3++.

The next modification you can do is manually set the chain voltage. I’ve found this is extremely useful for chains that get a fair share of HW errors (hundreds per day.) This is set by a number between 1-256 (makes it simple for the DAC), but it’s not as complicated as you think. If I have chain 1 that I’ve initially set to 9.50V, I can bump that up to 9.62V by changing bitmain-voltage1=225 to bitmain-voltage1=205.

Here are some common voltage values found in the file.

145 = 9.98V

175 = 9.80V

205 = 9.62V

225 = 9.50V

If you have several asics that are going bad (i.e. the dreaded “x”) you can also bump up the bitmain-x-restart-threshold to something greater than 3.


In the manual_freqs.txt file we are able to set the frequency for each asic on each chain. This file is created by the HiveOS firmware when running autotune or setting individual chip frequencies from the advanced menu options on the GUI. I haven’t modified this file in the past as it’s difficult to narrow specific problems down without logging directly in on the same network and running the GUI to see how each asic is performing from the advanced menu.


As you can see there are other files that contain configuration information as well. I’m not touching those specific files in this article as those are easily maintained through the HiveOS farm menus and it’s more likely to cause issues if you attempt to modify them from the ssh shell.

CGMINER.CONF – Stores your mining pool information.

AUTOTUNE.CONF – Stores the most recent autotune configuration.

NETWORK.CONF – Stores network info, such as DCHP or static IP, and hostname.

WATCHDOG.CONF – Stores information on when a restart would be initiated.


When you’re done making edits, or just browsing around, make sure to type in, “exit” in the shell and then close the window. This insures the ssh session closes properly.


Once you’ve made your changes and exited the ssh session make sure to go back to the “run command” button from your menu (the “>_” button.) This time simply type, “miner restart” into the Worker Commands box and your miner will restart and apply your changes. You can also simply select the power icon and restart from there as well.

I hope you found this useful, please feel free to hit me up with questions or comments.

Leave a Reply

Your email address will not be published. Required fields are marked *