Thursday, December 5, 2013

Litecoin Mining Configuration - Troubleshooting

My two latest Litecoin mining posts have been getting plenty of traffic, and as you can probably guess if you look at the comments, some people are encountering problems. I've tried answering most of the questions/comments, but at this rate it might get out of hand. So, rather than repeating myself a dozen times in the comments, I thought I'd make a separate post with some general tips and troubleshooting ideas. Before we get to those, know that not every system will perform the same, but you should be within 10% of the typical hash rates -- anything less and it's time to figure out why.

First things first, I'm a Windows user. I know enough to tinker with Linux, but while I had no trouble getting good hash rates on Linux when I was mining Bitcoin, with Litecoin I've never managed to get anywhere near what I expected. If you're a Linux user, you'll have to look elsewhere for now. And with that out of the way, let's get into the details.

Getting Ready: Hardware and Software Setup

The first step is to assemble your system and get the software and drivers up to date. I'll skip the system assembly part, as I've discussed that elsewhere, other than to say you want sufficient airflow and breathing room for your graphics cards -- so don't put two R9 cards adjacent to each other with only half an inch (or less) space between them! As for the software/drivers, with older graphics cards, there may be some drivers that perform better than others, but with the R9 290/290X you'll basically want AMD's latest and greatest. While the graphics drivers are important, they're not the only drivers you need to install. Make sure you also install any chipset drivers, network drivers, etc. I personally get all of the latest Windows updates as well, just to be safe -- except for the AMD drivers that sometimes show up there, as they're usually a month or two old at least.

Besides the OS and drivers, you will want some good overclocking and system monitoring software. For most of my systems, I use MSI Afterburner (currently on 3.0 Beta 17) for overclocking and monitoring the GPUs, but quite a few graphics cards will not allow adjustment of voltages with that software. For Sapphire cards, you can also try Sapphire TRIXX. There may even be some GPUs that are fully locked on voltages (I don't think so, but you never know), but most high-end AMD GPUs allow limited voltage and clock speed adjustments. If nothing else, try adjusting the clocks through AMD's own Overdrive section in the Catalyst Control Center. And on a final note, R9 290 and 290X have an "Ultra" performance mode that basically lets the fans run faster (and louder) in order to improve performance; you'll want to enable that.

Before you do any overclocking, however, I recommend just running CGMiner with its default settings to see if it works, and to find your baseline hash rate.

Getting CGMiner Installed and Ready

I've covered CGMiner and CGWatcher already, with starting config files for both the 290 and 290X. If you still need more help, about the only thing I can recommend is that you run a command prompt at least once and execute the following two commands:

setx GPU_MAX_ALLOC_PERCENT 100
setx GPU_USE_SYNC_OBJECTS 1

That will make a permanent environment variable change that will allow the use of higher thread concurrency settings; if it's not working, try rebooting at least once after executing the above commands. You might also try running the commands from an elevated Command Prompt (from the start menu, right-click on Command Prompt and choose "Run as administrator").

Note that the configuration files that I provided previously include some overclocking, and they also run at intensity 20. If you're having problems with the default settings I provided, try thread-concurrency of 8192, set intensity to 13, and just see if you can get CGMiner working at all. If you can, great; time to try increasing the intensity and thread concurrency; if not, it's time for some troubleshooting.

Troubleshooting CGMiner Performance

One thing you need to know up front is that an intensity setting of 20 basically makes a system only useful for Litecoin mining -- interacting with Windows will be very slow and aggravating, so don't even try to do it. If you don't have a dedicated mining PC, you'll need to run alternative settings. I know on the Radeon HD 7950 that I can get around 560 KHash/sec on one of my systems, but it doesn't like I=20 so I have to run it at I=18. Since it's also a PC I use for other stuff, I have a secondary configuration with I=13 and two GPU threads, and that gives me 510 KHash/sec -- 10% lower, but most other software runs fine still. There are a few exceptions for software that runs well, plus some other tips.

First, get CGMiner up and running before you start loading other programs. I've noticed that web browsers with multiple tabs open (especially 10+ tabs) in particular can cause CGMiner to not start properly -- on my one PC, the GPU basically runs out of memory and I get hash rates of 30 KHash/sec or something silly, potentially with some system and/or driver crashes. It's not very fun, so start CGMiner before you load up Firefox, Chrome, Internet Explorer, etc.

Second, anything that really hits the GPU a lot is going to dislike mining software. Specifically, programs like Adobe Photoshop and Premiere tend to run slowly and/or crash if you're mining, and any reasonably complex games are likewise going to present problems. I have found that Flash games are somewhat playable (depending on your GPU and system), but that's not guaranteed either so don't push things too far. Otherwise, you might get a crash and need to reboot.

Another piece of information I want to pass along is that LTC mining can sometimes do funny things to AMD's drivers. If you get a couple "Graphics Driver stopped working" messages, even if Windows recovers it's probably time to reboot. Even starting and stopping CGMiner can sometimes get the AMD drivers into a messed up state where rebooting will help.

Sometimes, despite trying to do everything correctly, something will get messed up and CGMiner simply won't work properly. One thing I suggest trying is to use GUIminer and see if you can get things working, but there are a few pieces of information you need to know about GUIminer. First, it's usually a bit slower in my experience than running CGMiner at a a command prompt. Second, your GPU needs to be detected and active according to Windows, which means a display has to be connected -- or else a dummy plug.

Given that the latest GPUs don't even have VGA ports, dummy plugs are a bit more difficult to do. My recommendation is that if you are using GUIminer, stop -- or rather, use it to find some good settings (look at the console to find out the command GUIminer executes) and then switch to running CGMiner directly, or via CGWatcher. So you can connect your PC to a display, get it running, and when it's all working properly it can go headless -- meaning, no keyboard, mouse, or display connected. In my experience, CGMiner does not require the use of dummy plugs; they are only required if you're trying to use GUIminer.

What if things still aren't working? My first recommendation is to clean out all of your AMD drivers. Do this by first uninstalling via the usual method (Control Panel->Add/Remove Programs), then reboot. Next, download Driver Fusion and run a clean on the system -- if you want to be extra thorough, boot into Safe Mode and do this. Reboot again, then when you're back in Windows download and install the latest AMD drivers. No SDK should be required, as the drivers include everything you should need in my experience.

Okay, you've done all that and still you're getting lower hash rates than you want/expect? Here's where things get a bit trickier. First, know that not every card will perform the same, as the video BIOS can be tuned in various ways. As an example, I have an HD 7970 GHz Edition that by default basically sucks -- I couldn't get more than 510 KHash/sec out of it, no matter what I tried! The solution: update the VBIOS.

Another issue I've encountered is with running multiple GPUs from different families, e.g. 7970 with 5870, or 5850 with 6950. You often won't get optimal performance when mixing and matching, but it's usually "close enough". The trick is finding the right settings to get CGminer running, and often that will mean being a bit more conservative (e.g. 18 intensity instead of 20). Again, using GUIminer can sometimes help give you some ideas.

If the above still isn't helping, try different versions of CGMiner -- everything from version 3.7.2 and earlier should work with Litecoin mining; 3.8 and later are only for FPGA and ASIC Bitcoin mining, at least right now. I have a couple laptops as an example with 7970M GPUs and they are far more finicky about which version of CGMiner I use, and even then they still frequently crash (which is why CGWatcher is great).

Assuming you at least get CGMiner running and hashing properly, you will need to tune your settings to find something that works well for your particular hardware. This can consist of increasing/decreasing thread concurrency, increasing/decreasing intensity, changing GPU threads to something other than 1, adjusting clocks and voltages, tweaking fan speeds, etc. All of this can take some time, but really you should be able to get 95% of the maximum performance of your hardware without too much trouble. I have some 7950 cards that will do 600-615 KHash, but others only do 575-590; all are "acceptable" in my book.

Still Having Problems?

So you've tried all of the above and you still can't get CGMiner running properly? I've got a proposition for you: I can help. This is again only for Windows, but in this case it's because if I'm going to help directly I will need to remotely control your PC. Here's my deal: I'll help you if you ordered parts that costs more than $100 via my links (e.g. a GPU, CPU, motherboard, PSU, etc. would qualify) -- send me the date and specific item you ordered, and I'll verify that such an order exists and was placed. If it does, I'll do my best to help you for free (though I'll get a 4% commission from Amazon, so it's not quite "free"). While I'm here, let me just say that my Amazon Affiliate links are the only thing making money for me off this blog, and not a lot of money at that, so if you're ever planning to buy something at Amazon anyway, I'd appreciate your taking the time to go through my link. The other option is that I'll help you for a donation of at least $10 worth of Litecoin (based on the current price). If I can't get your system running, I'll even return the LTC.

Long story short: send me an email (jarred.walton [at] gmail [dot] com) with the subject, "Help me with LTC" and provide times when you're around for me to contact and I'll get back to you with more information. Or if you want to include the initial order information from Amazon to get things going more quickly, that's fine as well. I live in Washington (Pacific Time), so if you're in Asia or something we might have some difficulty getting together. If too many people ask, I might have to change my policy as well, so this is more of a trial run for me providing remote troubleshooting.

Find this useful? Please donate some LTC to help me support my blogging efforts or shop via my affiliate links. Either one is greatly appreciated! Or if you have no LTC, go win some for free!

LTC: LXpEZcNJtikd263z7Ha3vrdYDcLU7hiKWv

11 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. i don't think i installed everything. What do i need to install if i get a message saying
    "Error getting opencl platforms"?

    ReplyDelete
    Replies
    1. Usually that means the OpenCL drivers from AMD are missing. You probably need to uninstall the drivers, then use Driver Fusion (free) to do a clean of other files. Or look at this for some info on clearing out messed up AMD OpenCL stuff:
      http://forums.guru3d.com/showthread.php?t=359883

      Delete
    2. thanks i think that fixed it

      Delete
  3. Hi Jarred,

    Thanks for all your posts. I am having an issue with my miner. CGminer appears to be running just fine, but my hashrate and worker count are not updating on my pools website... and I have yet to receive any kind of payout after trying 3 different legitimate pools for multiple hours each. What might be causing this?

    ReplyDelete
  4. Hi Jarred, I am trying to run cgminer but I always get this message:

    Probing for an alive pool;
    pool 0 difficulty changed to 64;
    pool 0 JSON stratum auth failed:

    I don't know what do to. Is there any issue with my ports? Here is my conf file:

    {
    "pools" : [
    {
    "url" : "http://ltc.mupool.com:3333",
    "user" : "[xxxxx].[1]",
    "pass" : "[1]"
    }
    ],

    "intensity" : "20,20",
    "vectors" : "1,1",
    "worksize" : "256,256",
    "lookup-gap" : "2,2",
    "thread-concurrency" : "33792,33792",
    "gpu-engine" : "1025,1025",
    "gpu-fan" : "40-100,40-100",
    "gpu-memclock" : "1350,1350",
    "gpu-powertune" : "30,30",
    "temp-cutoff" : "99,99",
    "temp-overheat" : "95,95",
    "temp-target" : "90,90",

    "api-port" : "4028",
    "expiry" : "120",
    "failover-only" : true,
    "gpu-threads" : "1",

    "log" : "5",
    "queue" : "1",
    "scan-time" : "60",
    "temp-hysteresis" : "3",

    "scrypt" : true,
    "kernel" : "scrypt,scrypt",
    "kernel-path" : "/usr/local/bin"
    }

    ReplyDelete
    Replies
    1. You need to remove the brackets [] around your user ID and pass.

      Delete
  5. Mihai, if you haven't figured it out by now, your workername and password are wrong for that website. Unless you have brackets "[]" in your credentials, remove those. Log into your pool and check your workers for the credentials.

    ReplyDelete
  6. Thinking of picking up a used 5870 to fill an empty PCI slot in my computer (currently running a single 280X). Little bit nervous about the less-than-optimal performance you mentioned when mixing families. How big of a drop are we talking? Currently getting ~700 kh/s, and I expect + 400 kh/s from adding the 5870, so anything more than a 100 kh/s loss could make it less than worthwhile. Thoughts?

    ReplyDelete
    Replies
    1. I may need to revise expectations -- sometimes the bigger problem is that certain GPUs need two GPU threads to run well, so if you mix with a GPU that works best with one thread you either need to run two instances of cgminer or run one GPU at less than ideal settings. I have a system with one 7970 (doing around 680KHash) and one 5870 (doing around 350KHash). I needed -I 30 and -g 2 to get the 7970 above 600KHash without making the system unusable, while the 5870 is okay at -I 18 and -g1 for around 390. Net result is I'm losing about 50 KHash by having mixed these two GPUs. It really depends on what families you mix and what you want to do with the system. The above is my wife's PC, which is why I needed lower intensity so that it can still surf the web and play movies. :-)

      Delete
    2. Jared

      First off, you are the man. Love the website and articles.

      Do you what is the default GPU_MAX_ALLOC_PERCENTAGE with AMD Cards?

      Thank you in advance,
      Dave

      Delete