Build your own Ethereum Mining Rig, part 2: Linux Setup

In this second installment of our DIY Ethereum mining guide, we’ll look at how to install and configure Linux to setup your rig as an automated, remotely-manageable appliance. Don’t be dissuaded if you’ve never used Linux before—our step-by-step guide makes it simple!

Why Linux over Windows? First, it’s free—and saving ~$100 on the operating system is a big plus when you’re trying to maximize profitability. Other reasons include lesser hardware requirements (Linux is perfectly happy running from a USB stick plugged into ancient hardware!), simpler remote administration capabilities, and oftentimes better stability. The downside of running Linux is that video driver support isn’t on the same level as Windows, and things like GPU undervolting are trickier (but still possible via BIOS mods).

If you missed the hardware portion of our guide, make sure to check it out first. Otherwise, read on.

Build an Ethereum Mining Rig, part 2:  Linux Setup

The following is heavily adapted from my original 2013 Litecoin mining guide, updated for the latest Xubuntu LTS version, the new AMDGPU-PRO drivers, and necessary ethereum mining software (all up-to-date as of 11/29/2017). If you’re a bit nervous because you’ve a complete Linux newbie, don’t be. Simply follow the step-by-step instructions exactly as they’re written, and you’ll be fine. Even if you’ve never done anything like this before, you should be up and running in roughly an hour.

Step 1: Configure BIOS settings

Before we even get to Linux, let’s take a minute to make sure that your mining computer’s BIOS settings are in order. Power on your computer, and press the “delete” key a few times immediately after power on. You should end up in the BIOS configuration area. Do the following, then save & exit:

  • Change power options so that the computer automatically turns itself on whenever power is restored. The reason for this is two-fold: first, it’ll make sure that your miner automatically starts up after a power outage. Second, it makes powering the computer on much easier if you don’t happen to have a power switch connected to the motherboard.
  • Make sure that your USB stick is first in the boot-up order (you may need to have a USB stick attached).
  • Disable all components that you don’t plan to use. This may save a little bit of power, and since your miner will likely be running 24/7, it’ll add up. For me, that meant disabling onboard audio, one of the SATA controllers, the USB 3.0 ports (I only had a 2.0 USB stick), the Firewire port, and the serial port.
  • If you’re running a lot of GPUs (4+), additional tweaks might be necessary to ensure that they’re all recognized by the OS. Exact tweaks vary by motherboard, but setting the PCIe speed to Gen1 is usually a good place to start. No need to change anything now, but make a mental note that you may need to come back and play around a bit if all of your GPUs don’t show up in the OS later.

Step 2: Install Xubuntu Desktop on your miner

Xubuntu is a lightweight version of Ubuntu, a popular Linux distribution. Most other distros should work just fine, but be aware that the GPU drivers require the presence of Xorg, which means server distros that don’t have a GUI will not work properly.

  • Xubuntu 16.04.3 is the latest LTS release at the time of this guide, so that is what I recommend you use. You can download it here.
  • You’ll need to either write the installation ISO image to a USB stick (highly recommended), or burn it to a DVD. If you use a DVD, you’ll need to temporarily hook up a DVD drive to your mining rig for the installation (make sure you temporarily enable your SATA controller if you disabled it in step 1!).
  • Once you have the installation media prepared, you’re ready to install Xubuntu to your miner’s boot device (whether it’s an SSD, mechanical harddrive, or another blank USB stick). Boot using your new installation media (make sure it’s first in your miner’s BIOS boot order list). The Xubuntu installer should appear.
  • Follow the prompts, and make sure to click the “auto-login” box on the last step of the installer (otherwise, all of the default options are fine).
  • When the installation is complete, you should automatically boot into the Xubuntu desktop. Make sure to remove your installation media.

Step 3: Install SSH and package updates

At the Xubuntu desktop, press CTRL+ALT+T to open a terminal window.

  • Install SSH by typing:
    sudo apt-get install openssh-server

With SSH installed, you can unplug the keyboard/mouse/monitor from your miner, and complete the rest of the installation from your desktop computer. Simply download Putty onto your desktop, run it, and enter the IP address of your mining rig (type ifconfig at the Xubuntu terminal to find your miner’s address if you don’t know it—it will probably look like 192.168.0.x). That should bring up a remote terminal session to your miner, which is more or less just like sitting at the keyboard in front of it.

If you plan to manage your mining rig remotely over the internet, you’ll need to forward port 22 on your router to your miner. Make sure that you use a strong Xubuntu password!

Setup should be pretty quick from this point, as now you can simply copy text from this webpage (highlight it and press CTRL+C) and then paste it into your Putty session by simply right-clicking anywhere inside the Putty window. I highly recommend that you complete the remainder of the guide in this manner, as it eliminates the risk of typos!

  • Install package updates by typing (or copying & pasting via right-click into Putty) the following command:
    sudo apt-get dist-upgrade

Step 4: Install AMDGPU-PRO drivers

Next up, we’ll install AMD’s video drivers. AMD has special blockchain compute drivers available for mining that give far superior performance compared to their standard drivers, so that’s what we’ll be using (version 17.40, which is the latest as of 11/29/2017).

  • Type the following commands (press “enter” and wait for the operation to complete at the end of each line):
    cd ~/Downloads
    wget --referer=http://support.amd.com https://www2.ati.com/drivers/linux/beta/ubuntu/amdgpu-pro-17.40-483984.tar.xz
    tar -Jxvf amdgpu-pro-17.40-483984.tar.xz
    cd amdgpu-pro-17.40-483984
    ./amdgpu-pro-install -y
  • Some of these steps may take a minute or two to complete. When the installation is complete, type the following:
    sudo usermod -a -G video $LOGNAME
  • Next we need to install and configure the ROCm component:
    sudo apt install -y rocm-amdgpu-pro
    echo 'export LLVM_BIN=/opt/amdgpu-pro/bin' | sudo tee /etc/profile.d/amdgpu-pro.sh
  • Finally we need to enable large page support, which will dramatically improve mining performance. Type the following to open your grub file in nano for editing:
    sudo nano /etc/default/grub
  • Find the line that reads GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”. Modify it to:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amdgpu.vm_fragment_size=9"
  • Save the file and quit nano by pressing CTRL+X and then answering (Y)es to save the changes. When you’re finished, update grub and reboot:
    sudo update-grub
    sudo reboot

The final command will reboot your rig, which will cause you to immediately lose your SSH (Putty) connection. Wait a few seconds to give the computer a chance to boot, and then re-establish a new connection via Putty, and re-login.

Step 5: Install Ethereum software

(Note: you may skip step 5 entirely if you already have an ethereum wallet address that you intend to use!)

Next up, we’ll install the Ethereum software that will let us create a new wallet address. We’ll need this to store the coins we receive from mining.

  • Type the following to install the necessary ethereum packages:
    sudo add-apt-repository ppa:ethereum/ethereum
    sudo apt-get update
    sudo apt-get install ethereum geth
    
  • Now it’s time to create your Ethereum wallet address:
    geth account new

You’ll be prompted to enter a password, and then to confirm it (use a strong password!). The output will be a long string between two curly braces { }. That’s your new wallet address—make a note of it (highlight it within Putty to copy it to your clipboard).

Important: The combination of the password you just used to create this address *and* the associated encrypted key file is what gives you control over your new wallet address. If you lose either of these, you’ve also lost control of your wallet and all of the coins associated with it—and there is literally nothing that anyone will be able to do to help you. Remember your password, and keep multiple backups of your key file(s)!

Your key file(s) are stored in the ~/.ethereum/keystore directory. Copy the entire /keystore folder someplace safe to backup your wallet (backups are covered in more detail heredon’t forget to make multiple backups and keep them in a secure offline location!).

If you forget your wallet address, you can type geth account list to see your addresses and the location of their key files.

Step 6: Install Claymore’s Ethereum miner

There are several options as far as mining software, and I’ve experimented with all of the popular ones. I think Claymore’s miner is the best option, even if it does have two fairly significant downsides: it’s closed-source, and it’s not free (~1% of your mining time benefits the creator of the miner).

Two alternatives are the stock ethereum miner (ethminer) and Genoil’s fork of the stock miner. They’re both open-source and free, but they have pretty crippling downsides.

The stock ethminer is much slower than Claymore’s miner (by a margin of over 5% on my test rig). In addition, ethminer creates the Ethereum DAG file on disk instead of in GPU memory, which is slow and uses a lot of space (and if you’re running off a USB stick, all those writes may eventually wear it out).

Genoil’s fork seems to be nearly as fast as Claymore’s, and it doesn’t use physical disk space for the DAG, but it’s not stable (at least not for me). It often crashes, especially on startup (whereas I have yet to see a single crash on Claymore’s miner after nearly a week of full-time mining). The author abandoned development months ago, so improvements are unlikely.

So, explanation aside, here is how to setup Claymore’s miner:

  • First return to your downloads directory and grab the latest version (10.2 as of 11/29/2017). I’m pulling the file directly from the author’s Google Drive repository, if the link is broken check here for a newer release or updated link):
    cd ~/Downloads
    sudo apt install curl
    curl -L -o claymore_10.2_miner.tar.gz https://drive.google.com/uc?id=1t25SK0lk2osr32GH623rR8aG2_qvZds9
    
  • Then create a new directory for it, and unpack it there:
    sudo mkdir /usr/local/claymore10.2
    sudo tar -xvf claymore_10.2_miner.tar.gz -C /usr/local/claymore10.2
    
  • Then let’s head over to the installation directory and create a startup script. Note that commands 2-5 below just clean up the installation directory a bit by removing an intermediary directory that was included in the original tar archive:
    cd /usr/local/claymore10.2
    cd Clay*
    sudo mv * /usr/local/claymore10.2
    cd ..
    sudo rm -r Clay*
    sudo chown root:root ethdcrminer64
    sudo chmod 755 ethdcrminer64
    sudo chmod u+s ethdcrminer64
    sudo nano mine.sh
    
  • Nano will open a new blank text file; enter the following into it:
    #!/bin/sh
    export GPU_MAX_ALLOC_PERCENT=100
    ./ethdcrminer64 -epool eth-us-east1.nanopool.org:9999 -ewal YOUR_WALLET_ADDRESS/Miner01 -epsw x -mode 1 -allpools 1 -tt 68
    

    Where it says YOUR_WALLET_ADDRESS, use the address you created in step 5 (you’ll need to put “0x” in front of it). The “Miner01” following your address can be changed to any friendly label that you want to give your miner (only important if you plan to run multiple rigs). It’s easiest to copy the last line from my guide into something like notepad, then replace YOUR_WALLET_ADDRESS with your actual address there, and then copy the finished line into putty via right-click to get everything into nano without typos.

  • Save the file and quit nano by pressing CTRL+X and then answering (Y)es to save the changes, then enter the following to give your new script execute permission:
    sudo chmod +x mine.sh

Note that I’m using nanopool.org as the mining pool here. I’ve tried a few, and it seems to be a top pick, but feel free to pick your own pool. Most don’t require registration, and simply payout to whatever wallet address you supply whenever a certain threshold is met (usually whenever you accumulate 1+ ETH). Assuming you stick with Nanopool, you’ll be able to check on your miner’s status by going to this URL after you start mining: https://eth.nanopool.org/account/[YOUR WALLET ADDRESS]

  • Now is a good time to test things. You can fire up your miner by typing:
    ./mine.sh

You should see the Claymore miner start up. It’ll take a minute or two before it actually starts mining, but it should get there eventually. When you see a scrolling log of outputs that includes non-zero hashrates (expect hashrates in the low to mid 20s for unoptimized GPUs), you’re good to go. If the script fails to start, or you see errors, make sure that you’ve created the script exactly as outlined in the guide.

Press CTRL+C to exit the miner when you’re satisfied that it’s working.

Step 7: Create auto-start scripts

We’re almost done! We want to set up our rigs automatically start mining whenever the rig is powered on. That way, we keep mining losses to a minimum whenever a power outage occurs, and we don’t have to worry about manually starting it back up in other situations.

  • First, install screen:
    sudo apt install screen
  • Then type the following to create a new script in your home directory and open it in nano:
    cd ~
    sudo nano miner_launcher.sh
  • Enter the following text into the editor (substitute your actual Xubuntu username for YOUR_XUBUNTU_USERNAME where necessary!):
    #!/bin/bash
    DEFAULT_DELAY=0
    if [ "x$1" = "x" -o "x$1" = "xnone" ]; then
       DELAY=$DEFAULT_DELAY
    else
       DELAY=$1
    fi
    sleep $DELAY
    cd /usr/local/claymore10.2
    su YOUR_XUBUNTU_USERNAME -c "screen -dmS ethm ./mine.sh"
  • Save and quit nano (CTRL+X), and then type:
    sudo chmod +x miner_launcher.sh
  • Now we need to call our new script during startup; we do that by adding it to /etc/rc.local. Type the following to open /etc/rc.local in nano:
    sudo nano /etc/rc.local
  • Add the following text, right above the line that reads “exit 0” (substitute your own username!):
    /home/YOUR_XUBUNTU_USERNAME/miner_launcher.sh 15 &

Then save and quit out of nano (CTRL+X).

Step 8: Create an alias to easily check on the Claymore miner process

We’re essentially done at this point, but you’ll probably want to manually SSH into your miner from time to time to manually check on your hashrates & GPU temperatures, etc. Creating an alias will make that easy.

  • Type:

    sudo nano .bashrc
  • Scroll to the end of the file, and then add this text above the line that reads “# enable programmable completion…”
    alias miner='screen -x ethm'
  • Save and quit out of nano.

That’s it—you’re done! You’ll probably want to run a full test now. The easiest way to do that is to close your Putty session and power down your miner. Turn it back on and the following should happen:

  1. Your miner should boot into Xubuntu. This may take up to a minute, depending on the speed of your boot device (it’ll be much faster on an SSD).
  2. 15 seconds after Xubuntu has loaded, the Claymore miner will automatically start and begin mining. You might notice the fans on your GPUs spin up a bit when this happens.
  3. You should be able to SSH into your miner at any time and type miner to monitor the miner’s process. To close the screen (but keep the miner running), press CTRL+A, then CTRL+D.
  4. If you ever need to start the Claymore miner manually (because you quit out of it, or kill it, etc), simply type ~/miner_launcher.sh

(update 1/15/2018: **IMPORTANT** please read this if your hashrate is lower than expected!) 

Output from a single budget RX 470 at stock settings running Claymore’s ETH miner. You should see something like this when connecting to your rig via SSH and running your “miner” alias.

Congratulations—you have your own headless linux ethereum miner!

The next section of this guide covers setup under Windows, and then we’ll take a look at optimizing miner settings for better performance.

You can leave a response, or trackback from your own site.

793 Responses to “Build your own Ethereum Mining Rig, part 2: Linux Setup”

  1. Charles says:

    any idea why my hash rates have been cut in half over the last few months? I’ve rebuilt my rigs from the ground up and still can’t get my 1070 hash rates above 13Mh/s where they were easily doing 26-28Mh/s when I started. Would appreciate any thoughts or advice. I’m running on the Linux setup with the most recent Claymore version.

    Thanks so much!

    • Travis says:

      Hey Charles,

      I had a similar issue, and it turned out to be the drivers I was using. I would play around with different drivers and see if that fixes the issue. That may not be it though since you are using Nvidia drivers, but it’s worth a shot. I was losing about .1 Mh/s a day, so after a couple of months I started to notice it and the drivers fixed the issue.

  2. BDC says:

    Hi,

    Just want to say that this is an absolutely brilliant guide! I was originally running EthOS but found it very limiting so I put Windows 10 on my rig but ran in to no end of problems. I scouted the net for some information as to why my cards kept crashing but it’s a total minefield out there! Then I stumbled across this guide…

    I managed to set it up in the space of about 2 – 3 hours which I was very impressed with. Anyway, I woke up this morning to check the status of my rig via SSH but I couldn’t connect (I must say, being able to simply type ‘miner’ to see the status is great). So I went and checked the rig manually and it was prompting for a password? I typed in the password and it let me log in but it didn’t auto-start the miner again. I attempted a reboot but it hung on a black screen mentioning blocks so I forced it to shutdown and powered it back on and it is working fine now.

    Any idea why this would happen? Are there some settings in Xubuntu you need to tweak regarding auto-sleep or something like that?

    Any help Would be much appreciated! 🙂

    • northam says:

      Your AMD driver for X-Windows crashed, and X-Windows couldn’t start, preventing the miner to auto-start.
      This guide missed this part completely.

      • Nate says:

        Care to share some of your methods of working around it. I have found it to happen relatively frequently, despite updates.

        • northam says:

          Nate, I didn’t resolve the issue, but I found a workaround. And we are not alone, bunch of other people here experience the same problem on 6 or more GPUs (this is when i start to get this error as well). It’s pretty common issue, and I wonder why Cryptobadger didn’t cover it in this guide (though the guide overall is awesome).

          What I do is I press Ctrl+Alt+F1, which opens a terminal session in virtual console, I login with my Ubuntu credentials, and in 15 seconds my miner starts.

          And, btw, I have 12 GPUs running at the moment on my one ASRock H110 Pro BTC+ MB.

          Read about non-gui mode:
          https://askubuntu.com/questions/378046/how-to-run-ubuntu-xubuntu-in-a-complete-non-gui-mode

  3. PaulH says:

    Great instructions thanks. I am running with nvidia geforce 1070 everything is running perfectly I am achieving about a 26 hashrate, and seeing my nanopool balance increment (ever so slowly).

    But I have two questions.

    1). When I ssh in (remote) and execute miner i get:
    ‘There is no screen to be attached matching ethm’
    Is this because it is running on the local host, how do I fix so I can view remotely?

    2). I created the Ethereum wallet address as specified but how do I actually access or download the wallet?

  4. Ramon says:

    Hey guys,

    I am completely new to this and I wanted to ask for your help.

    I did everything on this guide, I did not get any error messages. But I cant see my miner working. I used linux for my set up.

    Thanks for your help

  5. Ramon says:

    Hey guys,

    I am completely new to this and I wanted to ask for your help.

    I did everything on this guide, I did not get any error messages. But I cant see my miner working. I used linux for my set up.

    I wanted to ask what are the steps for seeing my miner working after turning on y computer again.

    Thank you,

    – R

  6. Viju says:

    You are genius, thanks for nice guide.

    Can we do this using ubuntu mini? If yes do we require any extra steps.

    http://archive.ubuntu.com/ubuntu/dists/xenial/main/installer-amd64/current/images/netboot/mini.iso

    or

    User server
    http://cdimages.ubuntu.com/ubuntu-server/xenial/daily/current/xenial-server-amd64.iso

    I saw some tutorial here: http://pastebin.com/FWrFLraC
    but it was on Ubuntu 15.04

  7. Ray says:

    I am trying to download Claymore on my system. i get the following error message:

    � Claymore’s Dual ETH + DCR/SC/LBC/PASC GPU Miner v10.2 �
    ����������������������������������������������������������������ͼ

    This pool (eth-us-east1.nanopool.org) does not support Ethereum addresses as login (or requires worker name in “Login.Worker” format) and cannot be used for devfee mining, therefore it is not supported.
    However, you can mine on this pool if you specify “-allpools 1” option, default pools (different from this pool) will be used for devfee.
    Please read “Readme” file for details.This pool (eth-us-east1.nanopool.org) does not support Ethereum addresses as login (or requires worker name in “Login.Worker” format) and cannot be used for devfee mining, therefore it is not supported.
    However, you can mine on this pool if you specify “-allpools 1” option, default pools (different from this pool) will be used for devfee.
    Please read “Readme” file for details.Pool eth-us-east1.nanopool.org removed from the list
    ETH: No pools specified! Specify at least one valid pool in “-epool” parameter.
    ./mine.sh: 4: ./mine.sh: /Miner01: not found

    I am a total rookie at this, can anyone help me out please?

    Thank you

    • countwalkerj says:

      The fact that you are running Claymore shows that you have already downloaded it. The problem you are having now is that you are getting an error when you attempt to RUN it.

      The error message shows that the command is not formed correctly. Make sure you have properly typed the command EXACTLY as it has been shown on this website. It works if you enter it correctly. Make sure it is all on one line. Do not break it up into separate lines by hitting ENTER when you get to the end of the screen. Just keep typing. Not sure how experienced you are with computers so excuse me if this sounds overly basic but just want to make sure you are entering thing correctly.

      HTH

      • Ray says:

        Thank you, I just copied and pasted the commands on this page. I will try again. I am sure I made a mistake somewhere along the line.

        Thanks again,

        – R

      • ray says:

        Have I done something wrong here?

        rig1@rig1-System-Product-Name:/usr/local/claymore10.2$ cd ..
        rig1@rig1-System-Product-Name:/usr/local$ sudo rm -r Clay*
        rm: cannot remove ‘Clay*’: No such file or directory
        rig1@rig1-System-Product-Name:/usr/local$ sudo chmod u+s ethdcrminer64
        chmod: cannot access ‘ethdcrminer64’: No such file or directory
        rig1@rig1-System-Product-Name:/usr/local$ sudo nano mine.sh
        rig1@rig1-System-Product-Name:/usr/local$ sudo chmod +x mine.sh
        rig1@rig1-System-Product-Name:/usr/local$ ./mine.sh
        ./mine.sh: 3: ./mine.sh: ./ethdcrminer64: not found
        rig1@rig1-System-Product-Name:/usr/local$

  8. John says:

    Dear All,

    If any one have problem in the driver check this link :

    wget –referer=http://support.amd.com https://www2.ati.com/drivers/linux/beta/ubuntu/amdgpu-pro-17.40-483984.tar.xz

    Refer Link:
    https://community.amd.com/thread/205615

    Hope some one find it useful.

    Thanks for the guide …

    Regards,

  9. Felix says:

    I want to use my ethereum miner as a miner & a media server.
    I found a tutorial on how to set up a plex media server using ubuntu server, plex, and samba.
    https://www.youtube.com/watch?v=9jdbwlg0QFc

    Does anyone know if I can run an ethereum miner on ubuntu server and can i just follow the steps in this guide to do it?

  10. Jay says:

    i followed all the steps above and im stuck on this:
    miner@miner-desktop:/usr/local/claymore10.2$ ./mine.sh

    ????????????????????????????????????????????????????????????????ͻ
    ? Claymore’s Dual ETH + DCR/SC/LBC/PASC GPU Miner v10.2 ?
    ????????????????????????????????????????????????????????????????ͼ

    ETH: 1 pool is specified
    Main Ethereum pool is eth-us-east1.nanopool.org:9999
    AMD OpenCL platform not found
    No NVIDIA CUDA GPUs detected.
    No AMD OPENCL or NVIDIA CUDA GPUs found, exit

    I run lspci and i get this:

    miner@miner-desktop:/usr/local/claymore10.2$ lspci
    00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD/ATI] RD890 PCI to PCI bridge (external gfx0 port B) (rev 02)
    00:02.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] RD890 PCI to PCI bridge (PCI express gpp port B)
    00:04.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] RD890 PCI to PCI bridge (PCI express gpp port D)
    00:05.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] RD890 PCI to PCI bridge (PCI express gpp port E)
    00:07.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] RD890 PCI to PCI bridge (PCI express gpp port G)
    00:11.0 SATA controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] (rev 40)
    00:12.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
    00:12.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller
    00:13.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
    00:13.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller
    00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 SMBus Controller (rev 42)
    00:14.2 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 Azalia (Intel HDA) (rev 40)
    00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 LPC host controller (rev 40)
    00:14.4 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 PCI to PCI Bridge (rev 40)
    00:14.5 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI2 Controller
    00:15.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] SB700/SB800/SB900 PCI to PCI bridge (PCIE port 0)
    00:16.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
    00:16.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller
    00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor HyperTransport Configuration
    00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Address Map
    00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor DRAM Controller
    00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Miscellaneous Control
    00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Link Control
    02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 09)
    03:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller
    04:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller
    06:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Device 67df (rev ef)
    06:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Device aaf0

    • Captain says:

      Just ran into the same issue, and here is what I found:
      – I didn’t realize that the card needed direct power in addition to the powered riser. Silly error…
      – I had to have the riser plugged into the first pci slot. It didn’t like being plugged into a random one.

      That, and a couple reboots, got me going.

  11. Ben says:

    I followed this guide step-by-step, I have 3 XFX Radeon RX 570ss; however, only the first card is giving me full performance at 25 MH/s. The other two cards can only give me 15.881 MH/s. I’ve tried two different PSUs with the same outcome.

    I need advice as to why I can’t get the other two cards to perform at full power.

  12. mne992354 says:

    Thank you for this tut, i set up the ubuntu but it wont let me in, it asks for password and i supply it but the screen comes back. When i do ALT+CTRL+F1, it pulls up a terminal and asks for login info, i put the same info in and it works.
    Any help would be appreciated, i am running ubuntu 16.04.3 LTS

    • loahou04 says:

      Same issue happened to me. For some reason the amdpro driver does this. You don’t need to login to the machine locally. So just ssh into the machine rather than going through lightdm.

  13. Anonymous says:

    Thanks for your great tutorial. I installed ubuntu 16.04, installed the latest amd blockchain driver, but system can only read 5 GPUS instead of 6 and I dont knw why however I can read all 6 gpus when I use windows 10.

  14. RROK says:

    thanks for the tutorial.. my system can only read 6GPUs and after that it just gets stuck in the boot saying something like “/dev/sda5: clean, xxx/xxxx files, xxx/xxxx blocks”

  15. Captain says:

    I didn’t see any mention of antivirus or firewall software. Is that a concern on a mining rig if I’m connected to my home network? Any risk to my home PCs?

    And, if so, any suggestions for programs (preferably free)?

    Thanks!

    • Zelda says:

      About firewalls, you don’t need to make any special configurations, because the miner software will reach out for what it needs. As a good practice, configure the web server controls to be read-only. (See the claymore docs for more details.)

  16. og_but-newbie says:

    I’m getting the below error when starting mine.sh. Anyone else have this?

    Cannot build OpenCL program for GPU 0
    ./mine.sh: line 3: 4298 Segmentation fault (core dumped) ./ethdcrminer64 -epool eth-us-east1.nanopool.org:9999…..

    • Gareth says:

      yeah same
      ———-
      AMD Cards available: 2
      GPU #0: Tahiti, 2941 MB available, 14 compute units
      GPU #1: Tahiti, 3035 MB available, 14 compute units
      POOL/SOLO version
      Cannot build OpenCL program for GPU 0
      Cannot build OpenCL program for GPU 1
      Segmentation fault (core dumped)
      user@user-desktop:/usr/local/claymore10.2$
      user@user-desktop:/usr/local/claymore10.2$
      ———

      not entirely sure where to go from here. going to google around a bit, see what i find.

      • Patas007 says:

        I had Segmentation Fault when I configured

        export GPU_FORCE_64BIT_PTR=0

        in mine.sh script. This value I found with another exported values in some other “mining guide” I googled on Internet 🙂

  17. og_but-newbie says:

    Will claymore support AMD radeon 7950? I have a old card I am testing with before I buy rx 480.

  18. Megaman says:

    First of all you’re a damn genius. I got it working 1st try with 29 mh/s. (rx 580 8GB). But after I restarted the rig it only got about 14 mh/s on all cards. I redid all the steps twice but still 14 mh/s. Going to play more with it today. Going to check your other link about bios undervolting. Running the latest Ubuntu.

    Thanx a million

    Drop me your wallet address I’m going to support the cause.

  19. unixnoob says:

    anyway to have claymore auto-restart when it encounter errors? i have seen various watchdog and i believe clarymore is supposed to auto-reboot but this does not work and i have to do a “sudo reboot” for the miner to properly work again. these usually happen every day and a half while i am already sleeping so my miner sits idle for a few hrs until i wake up. i have read about the “-r 1” option but i am not quite sure how to implement this. has anybody been successful in doing so?

  20. Jerry says:

    thanks for the awesome updated tuturial! Question: At nanopool the minimum payout is .2 ETH, when I hit that will the geth account I setup and configured in step 5 receive the payment or do I need to initiate that at nanopool? Also, once it’s in my geth wallet how can I access it and send it to another wallet such as my MEW or my blockchain.info wallet? Thanks and happy new year!

    • Saturn says:

      You are better of setting up am account in an exchange like coinbase or binance and point your ETH address from the exchange yo nanopool. That way nanopool pays you and you don’t have to keep paying transfer fees anytime you move your money.

      Hope that helps, there are so many exchanges out there.

  21. translucide says:

    Works also with 17.50 drivers :
    wget –referer=http://support.amd.com https://www2.ati.com/drivers/linux/ubuntu/amdgpu-pro-17.50-511655.tar.xz

  22. translucide says:

    It needs this package installed to work :

    sudo apt install opencl-amdgpu-pro-icd

  23. Philippe says:

    Do you have any idea how to install AMD ADL library because claymore cant control cclock and mclock on the new blockchain driver…

  24. dimir says:

    Any help with the installation of ADL will be appriciated

Leave a Reply