This is an awfully complicated subject that I want to tackle in just enough details for miners that are not computer professional to understand. The idea for the article comes after hours of beating my head on the phone trying to help someone who is not what I would call "computer literate" get PhoenixMiner running. What has been second nature to me for two decades apparently requires more explaining than I had offered. So tonight I dusted off the old computer books to brush up and now I will get to the point.
Most of the popular GPU mining software utilize what are known as windows batch files (batch files originated back in the days of MS-DOS) to pass parameters, instructions, or commands to the miner to execute through the command interpreter (this is CMD.EXE on windows) which pops up and appears as a black screen on Windows and runs all the pretty text as the miner does it's magic.
Let's look at the structure of a PhoenixMiner batch for mining Ethereum:
PhoenixMiner.exe -pool us1.ethermine.org:4444 -wal 0x000000000000000000000000 -worker Rig01 -epsw x -mode 1 -log 0 -mport 0 -etha 0 -ftime 55 -retrydelay 1 -tt 79 -tstop 89 -coin eth
pause
The commander interpreter is passing on the pool, wallet, worker, epsw, mode, log, mport, etha, ftime, retrydelay, tt, tsop and coin paramenters to PhoenixMiner then telling it to run.
Common problems I hear are that the miner just won't run. If the command interpreter window opens and reads something like 'PhoenixMiner.exe' is not recognized as an internal or external command, operable program or batchfile, then the batch file is not in the same folder as the executable (.exe) file it is trying to call.
If you do not write the batch file properly you sometimes will get an error. For example I added a blank space followed by the number 3090 in the wallet parameter and it will throw an error:
PhoenixMiner.exe -pool us1.ethermine.org:4444 -wal 0x000000000000000000000000 3090 -worker Rig01 -epsw x -mode 1 -log 0 -mport 0 -etha 0 -ftime 55 -retrydelay 1 -tt 79 -tstop 89 -coin eth
Invalid option: 3090
Not all mining software is so kind to help point you to errors and just close quickly. For those occasions I recommend the use of a logfile to try to catch the offense. For PhoenixMiner we add three parameters to use logfiles and add them to the end of our batch file. Those parameters are -log to tell the program we do want to create a logfile; -logfile to give it the name of the logfile and -logdir to tell it the location to save the file.
PhoenixMiner.exe -pool us1.ethermine.org:4444 -wal 0x09ab3972d0873F5D88FCea4e04DBB9Aa3Eaf4B15 -worker Rig01 -epsw x -mode 1 -log 0 -mport 0 -etha 0 -ftime 55 -retrydelay 1 -tt 79 -tstop 89 -coin eth -log 1 -logfile logfile.txt$ -logdir C:\MINERS\PhoenixMiner_5.7b_Windows\
Make note that of the log file name with the $ character which PhoenixMiner uses to know if you want to overwrite the logfile each time it runs.
That covers the very basics of batch files. The simply pass instructions to software through the windows commander interpreter and as always there is no room for error when you are writing a batch file so pay close attention to the examples provider with the software and browse the included documentation for guidance.