Building a Cryptocurrency Mining Rig - Part 2
This is Part 2 in a series on building a cryptocurrency mining rig.
In Part 1, I designed and built a custom miner chassis. In Part 2, I'll discuss how I resolved some BIOS-related issues that I encountered.
Problem: Motherboard Failed to Detect More than 4 GPUs
The miner would initially detect a maximum of 4 of the 6 GPUs. After ruling out hardware failures, I turned to Google to see if others had encountered the same problem.
They had. The solution was simple:
- Flash a new motherboard BIOS (
- Boot into the BIOS config
- Navigate to
Settings\Advanced\PCI Subsystem Settings
Above 4G memory/Crypto Currency Miningto
I rebooted the miner after making the above changes. The video output had become corrupted, and would "blank" after POST.
ssh-ed into the miner to determine if it was booting successfully. It was.
nvidia-smi now detected all 6 GPUs.
So, progress had been made, but one problem had been traded for another.
Problem: Corrupted Video Output
I once again turned to Google, but this time found no useful results, and was forced to resolve the problem by myself.
I hypothesized that the prior BIOS change had - somehow - interfered with the GPUs' ability to perform "graphics" tasks. As a workaround, I decided to reconfigure my BIOS to use the processor's "integrated graphics" to drive the video output.
I booted into BIOS config and did the following:
- Navigated to
Settings\Advanced\Integrated Graphics Configuration
Initiate Graphic Adapterto
I rebooted the system. Video output was now fine while booting, but became
"fuzzy" after the
X server started. I had one final problem to solve.
Problem: Fuzzy Video Output in X Server
At a glance, it looked as though the monitor had been configured at the wrong
refresh rate. I popped open
xorg.conf to view the display configuration. It
had two issues:
- It was still configured against an "NVIDIA" device, rather than IGP.
- It was configured to output in 1080i, rather than 1080p.
I simply deleted
xorg.conf, rebooted the machine, and restarted
the video output became crytal clear, and
detect all 6 GPUs.
With that, I moved on to more interesting work. In Part 3, I'll discuss tuning the system for performance.