Advertisement
JMilone

CGWatcher 1.1.5.1 ReadMe

Jun 10th, 2013
871
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 48.83 KB | None | 0 0
  1. CGWatcher
  2. version 1.1.5.1
  3. © 2013 Justin Milone
  4. Milone99k@gmail.com
  5. http://manotechnology.blogspot.com/p/cgwatcher.html
  6. Donate:
  7. BTC: 19msnBddmcaHnbTTQgFgzPDuy6PqfBgFJh
  8. LTC: LM6Un6hZvPzLBggJWiAVG6E6w2GfaHukXY
  9. NMC: NJjD4rP5xy2mgSK8gXXsZwFkdknbvtvy3q
  10.  
  11. UPDATE:
  12. See the Changelog at the bottom for more information on what has changed in this update.
  13.  
  14.  
  15. PURPOSE:
  16. CGWatcher is a GUI/monitor for CGMiner and BFGMiner, the bitcoin mining program. It provides a graphical user interface, along with control and monitoring options to help ensure mining runs consistently. These miners are capable of detecting and recovering from many problems that can interrupt mining, but there are cases where it is not and having a small utility to keep an eye on it and give it a push when necessary has allowed me to setup 24/7 mining computers without having to constantly monitor them.
  17.  
  18.  
  19. HOW IT WORKS:
  20. CGMiner (and BFGMiner) has an API allowing other applications to communicate with them for purposes like this. Specifically, it uses RPC to allow communication between the two applications. CGWatcher sends a command to the miner, and the miner returns a reply message. These commands can be simple requests for information (such as asking what the current hash rate is or what devices it is using) along with commands that tell the miner to do something (change pools, disable a device, or restart, etc.) This allows a GUI to be written with a more user-friendly interface without affecting the miner's performance and hash rate. The miner gets to stay lightweight and as fast as possible, and the more resource-intensive GUI program only sends requests when necessary. This communication is not enough to have a noticable effect on the miner's performance.
  21.  
  22.  
  23. REQUIREMENTS:
  24. The .NET Framework 4.0 is required. The latest version of CGMiner or BFGMiner is recommended, although changes to these programs may require updates to CGWatcher, which I will try to do as quickly as possible. These miners must be ran with parameters giving CGWatcher full API privilege for full functionality. This is now done automatically any time the miner is started from CGWatcher, regardless of whether or not it is in the config file or arguments. CGWatcher will only ensure full API access is given to 127.0.0.1. If you want to allow full API access to other IP addresses, you can still use the api-allow option as it is not overwritten (CGWatcher just makes sure 127.0.0.1 is listed in W: group.)
  25.  
  26.  
  27. USING CGWATCHER:
  28.  
  29. PROFILES
  30.  
  31. Mining profiles that allow you to easily switch between crypto-currencies. Upon starting CGWatcher for the first time, a default profile will be created for you. If a miner is running when you start it for the first time, it will set that miner to the default profile. If a miner is not running, it will check for a miner (cgminer.exe or bfgminer.exe) in the same directory or subdirectories (miner,cgminer,bfgminer). If it cannot find a miner, you will need to edit the profile and set the miner you want to use for the profile. You can do this as well as add, edit, or delete profiles by clicking 'Manage Profiles...' in the Settings tab.
  32.  
  33. (Note: CGWatcher will only automatically create a profile for a running miner if no profiles exist. Once at least a one profile exists, any miners detected that were not started by CGWatcher will result in a prompt asking if you'd like to create a profile for that miner.)
  34.  
  35. *Notice: Starting with version 1.1.5.0, how CGWatcher checks for running miners that it did not start has changed. Instead of just looking for miner processes, it will now require miners that have API enabled and ignore any that do not. It will start by looking to see if the running miner belongs to any of its profiles, and if so it will check that profile's configuration to find which API port to use to communicate with it. If the running miner does not belong to a profile, it will use the API port set in the Settings tab to communicate with the miner. If communication fails (API is not enabled or is using a different port), the miner will be ignored.
  36.  
  37. To add, edit, or create profiles, use the 'Manage Profiles...' button on the Settings tab to open the Profile Manager. Although the Settings tab displays the active profile's settings, you cannot edit them here.
  38.  
  39. For each profile, you can specify the following:
  40.  
  41. -Profile name (required) - a unique name (e.g. "Bitcoin", "Litecoin")
  42.  
  43. -Miner Path (required) - path to the miner's .exe (or .bat/.cmd file used to launch the miner). Each profile can have its own miner, they can all use the same one, or a mix of both.
  44.  
  45. -Config File (optional) - a config file to use with the miner (does not have to be in the same directory as the miner). If the config file path contains spaces, CGWatcher will automatically put quotes around it to prevent an error in the miner. You can specify the complete file path, or just the filename for config files in the same directory as the miner and CGWatcher will convert it to the complete path for you. If you've named config files in Config File Editor (see below), they will appear in a drop-down list in the Config File textbox allowing you to select a config file by name it it will be automatically converted to its file path.
  46.  
  47. -Miner Arguments (optional) - arguments used when launching the miner. Note: if you set a .bat or .cmd file as the Miner Path, any arguments in the .bat or .cmd file WILL BE saved to the .bat or .cmd file. Changing the profile arguments in CGWatcher will not affect other lines in the .bat or .cmd file, so if you're setting GPU_MAX_ALLOC_PERCENT or GPU_USE_SYNC_OBJECTS in your batch/command file before launching the miner, these lines will remain unaffected. Essentially this means that whether your miner path is an .exe, .bat, or .cmd file, you can edit arguments in the Profile Manager.
  48.  
  49. If you've set a config file in the Miner Arguments using --config, CGWatcher will automatically extract it from the arguments and set it as the Config File. So if you see the --config option disappear from the Miner Arguments textbox, it is because it is now specified in the Config File textbox... and if it is in the Config File textbox, it will be used when launching the miner.
  50.  
  51. There are two profiles you should be aware of in CGWatcher - the active profile and the current mining profile. The active profile is the one you want to use for mining and you can change this any time in the Settings tab by selecting a profile from the drop-down list and clicking 'Save Settings'. However, if the miner was running while you switched to a new profile, you will need to restart the miner for it to use the new profile. CGWatcher will prompt you to restart the miner when this happens, but if you choose not you will not be actually using the new active profile until you restart the miner. The Status tab, as well as the bottom right corner of the window when the miner is running, display the current mining profile - the profile the miner is currently using. The Settings tab will show you the active profile. This active profile is what is saved and loaded the next time CGWatcher opens.
  52.  
  53. - The only time you need to worry about the current mining profile is if you change profiles while a miner is running and choose not to restart the miner when CGWatcher asks you. -
  54.  
  55. Normally when the miner is just sent the "restart" command, it uses the same settings even though it actually launches a new process. If CGWatcher detects that there have been changes to the active profile, the miner's config file, or the miner's arguments, it will perform a Stop/Start to make sure that the new settings are loaded.
  56.  
  57. Example of active profile vs. current mining profile: You are mining with a profile called "Bitcoin". While the miner is still running, you go to the Settings tab and change the active profile to "Litecoin" and click 'Save Settings'. You will be asked if you want to restart the miner so it will switch to the "Litecoin" profile now, and declining means the miner will keep running under the "Bitcoin" profile until the next time it is restarted or stopped and started.
  58.  
  59.  
  60. INTERFACE
  61.  
  62. To keep the interface as small as possible, features are separated into tabs. Upon starting for the first time, you should go to the Settings tab and click 'Manage Profiles...' to setup your mining profiles. The Settings tab also allows for changing the miner's API IP address and port, but this will start out set default to the miner's defaults and should not need changed for most people. The API port is only used if the api-port option is not set in the miner's config file or arguments (when starting/restarting miner using CGWatcher, api-port in arguments overrides api-port in config file). If you are running multiple instances of CGWatcher to monitor multiple miners, you should set a unique port in each CGWatcher and miner to avoid cross-communication. For multiple instances, you can also check the 'Force this API port' to override any specified api-port option when the miner is launched from that CGWatcher instance. This will ensure that each of your CGWatcher instances are using unique API ports with their respective miners.
  63.  
  64. Below is a list of the tabs and information on the features each tab contains:
  65.  
  66.  
  67. STATUS
  68.  
  69. The Status tab provides general information such as hash rate (current and average), accepted and rejected shares, etc. Moving the mouse over a text box will provide you with more information about the data being shown in it. This tab also features a line graph showing the current hash rate and GPU temperatures for the last ten times information was polled from the miner.
  70.  
  71. At any time, you can refresh the information in CGWatcher by clicking the Refresh button. If monitoring is enabled, this will be done automatically at the interval you specify. However, if you wish to update it instantly without changing the interval, you can use this button at any time. Clicking the Refresh button will update information but it will not perform any checks regarding the miner's status or perform any miner restarts.
  72.  
  73. The Status tab also includes a large Pause/Un-Pause button. If a miner is currently running, the button will be labeled "Pause Mining". Clicking it will shutdown the miner. Once the miner is not running, the button turns into a "Start Mining" button. Clicking it will launch the miner using the active profile and begin mining. The idea behind this button is to have a very easy way to "pause" mining if you wish to do something on the computer (like watch a video, for example) where you will need more performance from your GPU than you can get while mining, since mining usually maxes out your GPU. Depending on your GPU(s) and intensity settings, you may not need to pause the miner to do something like watch a video, but the option is there nonetheless.
  74.  
  75. On the bottom of the window underneath all of the tabs, you will see a status display on the left (which only appears when CGWatcher is doing something.)
  76. On the right is a miner status display that shows whether an accessible miner is running or not, and if CGWatcher is monitoring it. If the miner was started outside of CGWatcher and CGWatcher does not have API access to it, it will show that no miner is running. If the miner was started using CGWatcher and API access is disabled for some reason, it will show that the miner is running (but no miner data will be available.)
  77.  
  78.  
  79. MONITOR
  80.  
  81. The Monitor tab provides options for monitoring CGMiner and watching for problems and correcting them. Changes to the settings on this tab are applied instantly and do not need to be "Saved."
  82.  
  83. "Enable monitoring, get miner status every: <seconds>" - This turns on the monitoring feature which will request mining information from the miner at the interval you set. This option has to be turned on in order to enable the other monitoring and recovery options below it, because with it disabled it will not continuously watch the miner. The default value of 10 seconds means every 10 seconds CGWatcher will request data from the miner, update the display, and perform the checks that you've enabled. When this option is turned on, you will see "[Monitoring]" added to the text in the CGWatcher title bar.
  84.  
  85. Each time the monitor refreshes, it will check to see if the miner is running and if it is responding. If the miner being monitored stops responding for 3 consecutive checks, it will kill the process and restart it. You can change the number of consecutive checks required by changing the NotRespondingRestartChecks setting in the [Monitor] section of the INI file.
  86.  
  87. The Windows Error Reporting UI creates a small window that comes up when a program stops responding, listing different options like 'Close the program', 'Check for a solution and restart', etc. In order to prevent this from preventing CGWatcher from killing a non-responding miner, the WER UI is disabled when CGWatcher starts, and its setting is restored when CGWatcher closes. This means that the UI will not be displayed for other programs that stop responding while CGWatcher is running, so if you wish to prevent CGWatcher from doing this you can set AllowDisableWERUI=False in the [Monitor] section of the INI file.
  88.  
  89. "Restart if total hashrate falls below: <hashrate> <Kh/s;Mh/s;Gh/s> - On occasion I have seen the hashrate fall to virtually nothing for some unknown reason. To correct this, you can enable this option and set it to a low value such as 10% of your current hashrate. For example, if your current hashrate is 500 Mh/s, you may want to set this at 50 Mh/s (or below). A number this low will avoid restarting due to small fluctuations in hashrates that can occur. If the total hashrate is below this cutoff for 3 consecutive checks, the miner will be restarted.
  90. (Note: You can change the number of consecutive checks by editing the HashRateCounter value in CGWatcher.exe.ini)
  91.  
  92. "Restart miner every: (hours of continuous mining): <hours>" - As a sort of last resort, you can specify a number of hours of continuous mining before the miner is restarted. For example, the default value of 24 means the miner will be restarted after it runs for 24 continuous hours (without stopping). Whenever the miner is stopped or restarted, this timer resets. As an example, if you set this to 2 hours and a temporary problem disrupted mining, it should ensure that at most you will have 2 hours of downtime.
  93.  
  94. "Restart miner if accepted shares stop increasing for: <minutes>" - If your accepted share count stops increasing for an unusually long amount of time, this likely indicates a problem with your pool or network. Setting this to 10, for example, means that if your accepted share count doesn't increase for 10 minutes, the miner gets restarted.
  95.  
  96. "Restart miner when sick or dead GPUs are detected" - More often than not, the miner will detect sick or dead GPUs but is unable to restart them and continue mining. When CGWatcher detects these sick or dead GPUs, it restarts the miner. (Note: This option no longer attempts to restart the sick or dead GPU only, as that often fails. Instead it now completely restarts the miner.) If you find that restarting the miner fails to resolve the problem, you can also select to restart the computer when this happens. If conditions to restart the computer are met, you will be shown a 30-second countdown window from which you can cancel the restart. By default, when a restart is performed CGWatcher will not force close other programs, meaning is another program prompts you to save something before closing, it may prevent or postpone the restart. If you wish for CGWatcher to force close other programs when it performs a restart, you can set the ForceCloseProgramsOnRestart=True under the [Monitor] section in the INI file.
  97.  
  98. "Restart miner if full API access becomes read-only or if API access is lost completely" - If CGWatcher had API access to the currently running miner process but then lost it, it indicates a problem with the miner and it will restart it by killing the process and restarting. Likewise, if CGWatcher had full API access and this became read-only or lost completely, it also performs the kill and restart. If it has read-only access and never had full access, it will not restart the miner. Nor will it restart any miner that it never had API access to.
  99.  
  100. "Ensure miner stays running unless paused or stopped in CGWatcher" - means what it says. If you enable this option and you or some unknown force closes the miner outside of CGWatcher, CGWatcher will start it up again. And it will continue to do this until you enable this option. Stopping the miner by using the Pause Mining or Stop buttons will prevent the miner from being restarted. If starting the miner fails 3 consecutive times, CGWatcher will give up and notify you of a problem.
  101.  
  102. OVERHEAT PROTECTION
  103.  
  104. If the miner is able to detect a GPU's temperatures, it provides overheat protection using the temp-cutoff option in the config file or arguments. If you use the miner's auto-fan and auto-gpu options, the miner provides additional protection by controlling the GPU's clock and fan speeds to keep it running in the temp-target range. However, the miner is unable to detect information for all GPUs, specifically Nvidia GPUs, because it only uses ADL (AMD) to get this information. So if the miner is not able to get the GPU's temperature but CGWatcher is, CGWatcher will try to provide basic overheat protection also using the temp-target, temp-overheat, and temp-cutoff options. If the temperature passes the temp-overheat setting, CGWatcher will lower its intensity by one in an attempt to get temperatures back to the temp-target range. If the temperature returns to below the temp-target, CGWatcher will gradually increase its intensity back to the original setting unless the temperature passes the temp-overheat again, in which case it lowers the intensity by one again. If the temperature passes the temp-cutoff, CGWatcher will disable the GPU. Once its temperatures return back to less than or equal to the temp-target, it will re-enable the GPU.
  105.  
  106. For GPUs that the miner is providing overheat protection for (AMD), CGWatcher takes a hands-off approach other than when the miner disables them for exceeding temp-cutoff. Although the miner is supposed to re-enable them once they return to target temperatures, this does not seem to happen so CGWatcher will restart the GPU once it has returned to temp-target or below.
  107.  
  108. If you find that overheat protection is causing problems or you just wish to disable it, you can change EnableOverheatProtection=False in the [Monitor] section of the INI file.
  109.  
  110. Keep in mind that temp-target, temp-overheat, and temp-cutoff all have default values of 75, 85, and 95 respectively. This means that even if you don't explicitly set these options, they are still set to their default values.
  111.  
  112.  
  113. DEVICES
  114.  
  115. This tab shows mining device information, and is broken down into more tabs - one for each type of device. Currently it only supports GPUs. If you would like to help in adding support for other types of devices, please run the Device Test on that device's tab and email me the results.
  116.  
  117. At the top of the GPU tab is the number of GPUs found and a drop-down box for selecting a GPU. Once you select one, you can see information specific to that GPU (hashrate, clock, temperature, etc.) Some of these text boxes are read-only (gray text) and some are editable (black text) if the miner is running, meaning you can change values and click 'Apply Changes' to change those settings on the GPU even while mining. This makes it easier to test and adjust different settings without having to edit the config file and restart the miner, or use the miner's command-driven interface.
  118. Towards the bottom is a large text box containing more information for the selected GPU. Underneath is the selected GPU's status (ACTIVE, DISABLED, etc.) and buttons to enable/disable or restart the GPU. (Note that enable/disable and restart are just in terms of mining and will not affect other programs.)
  119.  
  120. If you have a low monitor interval you may not have time to change settings in between refreshes. If you are just changing one setting, you may have enough time to change it and click Apply Changes because CGWatcher will not update a textbox that you are changing. If you find that you need more time, you can click the 'Freeze' button next to the GPU list to stop updates on all editable fields. This will allow you to edit the settings uninterrupted, click 'Apply Changes', then click the same 'Un-freeze' button to resume updates in these fields. Even while frozen, all other fields will continue to update as usual.
  121.  
  122. Changing GPU settings to values outside of their operating ranges can cause system crashes and possibly damage components! Please make sure you know what you are doing before you change these. These settings can all be changed in the miner arguments and config file as well, but neither program is responsible should you push your hardware outside of its operating range and break something.
  123.  
  124. GPU data will refresh every at the same rate as the monitor interval, regardless of whether or not the miner is running.
  125.  
  126. Starting with 1.1.5.0, the GPU tab also displays the overheat protection status for each GPU. See OVERHEAT PROTECTION section above for more information.
  127.  
  128.  
  129. POOLS
  130.  
  131. This tab is similar to the devices tab, except that it shows pool information. You can select a pool from the drop-down list at the top to see information specific to that pool. You can enable/disable a pool, change the pool's priority (which will adjust other pools' priorities accordingly), and switch to a specific pool (which will enable the pool (if it is disabled) and set its priority to 0). The large text box shows more information specific to the selected pool.
  132.  
  133. If the miner is running, the pool information is retrieved both from the miner and from the miner's config file or arguments. If the miner is not running, pool information is retrieved from the active profile's config file or arguments.
  134.  
  135. Clicking the 'Manage Pools' button will open the current mining profile's config file in Config File Editor. You can change any config settings, including adding, editing, or removing pools. Once changes to the config file are saved, the miner will need to be restarted to load the updated configuration.
  136.  
  137.  
  138. REPORT
  139.  
  140. This tab's purpose is for all of the data I couldn't fit anywhere else. It shows information regarding CGWatcher and its monitor (if enabled), the current miner, and the active profile. At the bottom is debug information that may be helpful when troubleshooting problems or bugs. If you are having a problem with CGWatcher, submitting the text in this tab along with a description of what is happening should be enough to troubleshoot in most cases.
  141.  
  142. Similar to the GPU tab, you can freeze the report by clicking the 'Freeze Report' button. This prevents any updates to the report data so you can read it without interruption. When you want to resume updates, click the same 'Un-freeze Report' button.
  143.  
  144.  
  145. REMOTE
  146. The Remote tab is for future configuration and use with CGRemote, which will allow you to monitor and control your miners remotely. More information will be given when it is released.
  147.  
  148.  
  149. SCHEDULE
  150.  
  151. The monitor has to be enabled for the scheduling option to work.
  152.  
  153. "Start mining on selected days at this time: (if not already running) <time><days>" - Specify a time to start mining on the days you select. If mining is already running, CGMiner will be restarted to correct any problems that may not have been corrected by other checks. The actual time mining is started may vary up to the monitoring interval you've set. For example, if you've set the monitoring interval to 10 seconds and the schedule start time to 5:00:00, the actual start time may be anywhere between 5:00:00 and 5:00:10.
  154.  
  155. "Stop mining after: <hours>" - When you use the scheduling option, you can specify a number of hours for it to stop mining after. This would allow you to, for example, run CGMiner while you sleep by setting it to start at night and stop after 8 hours. CGMiner will only be stopped if it was started by the scheduler. If you use the Start, Stop, or Restart buttons on the Settings tab, the scheduled stop will be aborted. You can, however, use the Pause Mining/Start Mining button on the Status tab to pause or un-pause scheduled mining without aborting the scheduled stop time.
  156.  
  157.  
  158. SETTINGS
  159.  
  160. This tab is for CGWatcher settings. Remember to click 'Save Settings' to save any changes to the fields on this tab. If you later change a setting without saving and want to go back to the last saved settings, click the 'Cancel' button. The settings include:
  161.  
  162. Active Profile
  163. Here you can set the active profile you want to use. If the miner is running while you change profiles, you will need to restart it for it to use the new profile. The profile's settings are displayed below, but are read-only. If you want to change profile settings, click the 'Manage Profiles...' button. Next to the Miner and Config File paths, you will see buttons that either open the corresponding file's directory, open the config file in Config File Editor, or open the file in Notepad.
  164.  
  165. - "Check mining profitability" opens http://dustcoin.com/mining which displays estimated earnings for mining different crypto-currencies with a given hashrate.
  166.  
  167. Miner Settings
  168. - 'Start', 'Stop', 'Restart' buttons - Start, stop, and restart the miner. Note that if you are using the scheduled mining option in the Monitor tab, using these buttons during a scheduled mining time will cancel the 'Stop mining after <hours>' option if you've enabled it. If you would like to stay on the scheduled mining, use the Pause Mining/Start Mining button on the Status tab.
  169.  
  170. - "Miner window mode" - For those who don't like seeing the miner, you can select to have it ran hidden or minimized. Minimized will still show its icon in the taskbar, which you can click on to restore the miner's window. Hidden will cause the miner to not appear on the screen or in the taskbar. The only way you can tell it is working is by checking CGWatcher. You will need to use the buttons in CGWatcher to start/stop/restart the miner. Alternatively, you could kill the cgminer.exe or bfgminer.exe process in Task Manager.
  171.  
  172. - "Miner API Address (IP:port)"" - This is the IP Address and port of the miner's RPC server. This is required for CGWatcher to work, because it communicates with the miner via RPC. The default values are 127.0.0.1:4028.
  173.  
  174. - "Force this API port (override config settings)" - If an api-port is specified in the miner's config file or arguments, this option will override it using the port you've set above. This is designed to help manage multiple instances of CGWatcher used to monitor multiple miners at the same time. (Note: Currently running multiple instances of CGWatcher should be done from different folders to avoid one instance overwriting INI settings of another. This will be fixed in the future.)
  175.  
  176. - 'Config File Editor' opens a blank/default config file in Config File Editor. You will also see smaller Config File Editor buttons next to textboxes that contain config file paths, allowing you to quickly open those files in the editor.
  177.  
  178. - 'GPU Map' opens the GPU map form. I'll try to explain why you would need to use this:
  179.  
  180. The miner has its own gpu-map option because it has to match up GPU information from OpenCL (which is used for mining) and ADL (used to get and set GPU settings like clock, temp, voltage, etc.) These libraries do not provide information to accurately map GPUs to each other 100% of the time, so the miner provides you with a way to manually map a GPU's hashrate (OpenCL) to its name, clock speed, temperature, etc (ADL).
  181.  
  182. Starting with 1.1.5.0, CGWatcher now also gathers GPU data using OpenCL, ADL (AMD), and NVAPI (Nvidia). This means that the problem is reintroduced when it comes to CGWatcher displaying the correct mining data for the GPUs it has detected. It attempts to map accurately using the miner's gpu-reorder and gpu-map options, but it may not always do this accurately. Once you manually map CGWatcher's GPUs to the miner's GPUs, the mappings will be saved and used whenever you start CGWatcher. See more information on the GPU map window below.
  183.  
  184.  
  185. CGWatcher Settings
  186. - "Run when Windows starts" adds a startup entry for CGWatcher. This means it will launch automatically when Windows starts. This is useful in the case of system restarts to ensure mining resumes automatically (after a system crash, for example). However, if your computer requires you to login to Windows, you would obviously have to login first before mining could be resumed after a system crash and automatic restart.
  187.  
  188. - "Start Minimized" starts CGWatcher minimized. If the "Minimize to system tray" option is also enabled, CGWatcher will start minimized to the system tray.
  189.  
  190. - "Minimize to system tray" - minimizes CGWatcher to the system tray. This means it will not appear in the taskbar. Instead, its icon will be in the system tray above (or near) the clock. Double-click the CGWatcher icon to restore its window.
  191.  
  192. - "Run miner when started" - will launch the active profile's miner and start mining when you run open CGWatcher (if the miner is not already running). For continuous mining after a system crash in the above example, you would also want to enable this feature.
  193.  
  194. The idea is, in case of a system crash (BSOD, "Blue screen of death"), the computer is automatically restarted. The order to resume mining would be:
  195.  
  196. Computer restarts -> [Windows login?] -> Launch CGWatcher automatically -> Launch CGMiner automatically = mining resumed
  197.  
  198. - "Don't prompt on exit" - By default, CGWatcher will ask you if you're sure you want to exit if: the miner is running, monitoring is enabled, and the reason for exit is the user is closing the window. Enable this option to prevent any prompts upon exiting.
  199.  
  200.  
  201. LOG
  202.  
  203. This displays the CGWatcher log for the current session (since CGWatcher was started).
  204. - 'Clear Log Text' - clears only the textbox without deleting any log entries.
  205. - 'Clear Entire Log' - completely deletes all data from the log file.
  206. - 'Open in Notepad' - if you need to view older log events, this button opens the cgwatcher.log file located in the same directory as CGWatcher. This will display the entire log history, either from the last time you cleared it or the first time you ran CGWatcher.
  207. - 'Show Debug Log Entries' - the log typically keeps you updated on what CGWatcher is doing or has done. There are also debug log entries that provide error and troubleshooting information. Checking this box shows those entries as well.
  208.  
  209.  
  210. TESTS
  211.  
  212. This tab allows you to send commands to CGMiner and see what kind of reply messages it sends back. This can be useful for requesting information that I haven't yet implemented into the program. The reply messages are comma-delimited, but checking the "Convert comma-separated results into line-separated results" will do what it says, making the results easier to read. Un-checking it reverts back to the comma-delimited message.
  213.  
  214. If you wish to send multiple commands in one click, enter the commands in the Diagnostic text box (separate them by commas). Then click Run. The reply messages for all of the commands will be displayed in the large Result message text box.
  215.  
  216.  
  217. ABOUT
  218.  
  219. Displays information about CGWatcher. The link will direct you to the official CGWatcher page. The 'Check for Update' button will check for program updates and if available, will provide a download link.
  220.  
  221.  
  222. SOURCE
  223.  
  224. I am working on releasing the source, but it will be some time before this happens. There is a valid reason for this. Aside from that, I've been rewriting a lot (most) of the code as I have time getting closer to having something presentable, only to get a ton of feature requests and turn to trying to add as much stuff as quickly as possible. I am trying to find a balance between the two, and I will be open-sourcing it on GitHub. I honestly look forward to having others contribute and I've received a lot of good ideas from users that indicate there is still a lot that could be done. I've created the repositories but still no ETA, sorry.
  225.  
  226. Future CGWatcher Repository: https://github.com/justinmilone/CGWatcher
  227. Future CGRemote Repository: https://github.com/justinmilone/CGRemote
  228.  
  229.  
  230. UPDATES
  231.  
  232. Starting with version 1.1.4, I've switched to the four-part version number, so actually 1.1.4.0. The last part (minor revision) will be used to fix bugs quickly as I become aware of them. The CGWatcher download page will contain a link to the last major release (1.1.4) and the last bugfix release (1.1.4.x) so anyone having a problem can check for an updated release that fixes it. Only major releases will return that an update is available when you click the 'Check for Update' button. For bugfix releases, you'll have to check the download page to see the latest version number.
  233.  
  234.  
  235. CONFIG FILE EDITOR [BETA]
  236.  
  237. The Config File Editor attempts to make editing your miner's configuration easier. To start, it displays the config file in a grid allowing you to see all available settings and a description of each. Settings that can only be enabled or disabled will have a true or false option. Settings that allow numbers only (not including lists of numbers) will only allow numbers. The 'Validate' button attempts to check your settings for errors that may prevent the miner from starting or working correctly.
  238.  
  239. * The Config File Editor is in beta and is not yet perfect. It has undergone quite a bit of testing but with so many possible configurations, it will take some user testing to get bugs worked out.
  240.  
  241. * Settings set to default values are not written to the config file when saving. They are also not converted to arguments, because they are set to default values and don't need to be explicitly set as arguments.
  242.  
  243. * To add, edit, or remove pools, locate Pools in the config file grid. (There may be a Pools category heading as well in Category view mode), but you want the Pools that says '(Collection)' in the cell next to it. Click on the word '(Collection)' and a small '...' button will appear in the cell. Click on this '...' button to open the pool window.
  244.  
  245. When editing pools, you can create names for them as well so they are more easily identifiable when editing them later on. Pool names are saved inside the config file, but will not cause a problem with the miner. To change pool priorities, use the up and down arrows in the pools window to move pools up and down the list. The top of the list is the first priority, the bottom of the list is last priority.
  246.  
  247. 'Name #' - You can name your config files so when you're using them in profiles they will be easier to access. Enter a name for the config file in the Name textbox. Then when managing your profiles, you can select a Named config file from the Config File textbox drop-down instead of needing to browse your computer for it. After clicking out of the Config File textbox, it will be converted to the config file path automatically.
  248.  
  249. 'Ensure API is enabled upon saving' : If enabled, the API access needed by CGWatcher will always be enabled when saving the config file, regardless if these settings were enabled in the grid. It will not affect other groups/IP address in the api-allow setting, it only makes sure api-listen is enabled and that 127.0.0.1 is included in the W: group of api-allow.
  250.  
  251. The Config File Editor Menu
  252.  
  253. - File -> New : Create a new config file.
  254. - File -> Open : Open an existing config file.
  255. - File -> Save (As) : Save the current config file.
  256. - File -> Close : Close the Config File Editor.
  257. - Tools -> Import Settings -> From Config File... : select an existing config file to import settings from. The current settings will be overwritten, but will not be permanent until you save the config file.
  258. -Tools -> Import Settings -> From Named Config File -> <select> : if you've set names for config files using the Name textbox in Config File Editor, these config files can be loaded quickly by just this name, both in Config File Editor and in the Mining Profiles window. This is the same as the previous menu item, but quicker and easier.
  259. - Tools -> Import Settings -> From Arguments : enter or paste miner arguments to have them converted to a config file. If you have a config file open, you will be asked if you want to overwrite only the settings listed in the arguments, or if you want to create a new config file using only the settings listed in the arguments.
  260. - Tools -> Export Settings -> To Arguments : converts the current config file to miner arguments.
  261. - Tools -> Open this Config File in Notepad : opens config file in Notepad. There is also a button next to the config file's Path to open in Notepad.
  262. - Tools -> Validate this Config File : checks the config file for errors in the settings' formats or values.
  263.  
  264.  
  265. GPU MAP
  266.  
  267. The GPU Map window lists all of the miner's GPUs on the left. It lists the name (or die codename) or the GPU and its current hashrate to help identify which GPU is which in a multi-GPU system. Unfortunately, the identifying information available from OpenCL means it is difficult to guarantee an accurate match to ADL or NVAPI GPUs, so on the right is a drop-down list for each miner's GPU that lists all of the GPUs CGWatcher was able to detect. You will see that this information is easier to identify a GPU, and is what links the OpenCL data like hashrate to a GPU's name, clock speed, fan speed, temperature, etc. While I tried to plan for weird and unusual system configurations, there may need to be additional work done to allow proper mapping.
  268.  
  269. If you find that the new method of GPU detection breaks CGWatcher although it had worked in previous versions, you can set UseBackupHardwareMode=True in the [CGWatcher] setting of the INI file. This will attempt to return to the former method of GPU detection (getting data only from the miner.)
  270.  
  271. I recommend backing up the CGWatcher folder any time you update to a newer version in case the new version breaks something. Because the section and setting names in the INI file occasionally change, backing up the .exe alone may result in you losing some of your previously saved settings.
  272.  
  273.  
  274.  
  275. CHANGELOG:
  276.  
  277. version 1.1.5.1 (6/10/2013)
  278. -Fixed issue with GPU mapping when more than one OpenCL platform exists and GPUs are not on platform (index) 0.
  279. -Added support for FPGA and ASIC devices, but not currently displayed because I am hoping to get more device test results. If you use these devices, please run the test on the FPGA or ASIC tab and email me the results. You can check if these devices are detected correctly by clicking the 'Show FPGA' or 'Show ASIC' buttons on the Tests tab.
  280. -Fixed open miner path directory in Profile Manager
  281. -Cancel button will give option of canceling wait for miner start (at bottom next to status)
  282. -Arguments will now take priority over config file (if same option is specified in both.) Pools set in arguments will be appended to pools set in a config file.
  283. -Fixed .cmd/.bat files causing miner to be killed on restart. Instead a quit is performed if full API access, or kill if not. This ensures any other commands in the .bat/.cmd file are reloaded during restart.
  284. -Added check processes for cgminer-nogpu.exe.
  285. -If miner disables GPU for exceeding temp-cutoff, cgwatcher will restart it once it returns below temp-target because the miner is usually unable to re-enable it successfully.
  286. -Profiles without a pool specified can not be saved. At least one pool must be specified in a config file or arguments. Otherwise this would cause the miner to prompt for this info on each restart.
  287. -Fixed bug with saving arguments to bat/cmd file that may have removed other lines in certain conditions.
  288. -Miner processes that are detected but fail to communicate with CGWatcher are now saved so it doesn't keep trying to communicate with them (if it has not found a process to monitor.) Hopefully this will not cause issues with detection, but miners started from within CGWatcher should not be affected.
  289. -Hardware information will refresh at same interval as monitor (instead of 5 seconds as in 1.1.5.0), but will continue to refresh even if miner is not running (when possible).
  290.  
  291.  
  292. version 1.1.5.0 (5/30/2013)
  293. - CGWatcher now gets GPU information (clock, temp, etc.) on its own for most AMD and Nvidia cards. If the miner is capable of getting GPU information as well (as it does for most AMD cards), the miner's information is used to ensure both programs are using same information.
  294. - GPU Map form to map GPUs detected by CGWatcher to miner GPUs in cases where automatic mapping is not correct.
  295. - Backup/fallback hardware detection mode added for problems with new method.
  296. - Overheat protection added for any GPUs that CGWatcher is capable of getting temperature for if the miner is unable to get temperature for.
  297. - Overheat protection status displayed for each GPU.
  298. - Full API access will always be enabled when starting a miner from CGWatcher.
  299. - Hashrate bug that caused hashrates to not be displayed occasionally fixed.
  300. - If miner path is a .bat or .cmd file, a miner restart will actually stop then start the miner to make sure any other commands are also ran.
  301. - Multiple instances of CGWatcher now allowed but currently require being ran from different folders. This will be changed in future versions to allow multiple instances from the same folder.
  302. - Support for multiple miner instances if each miner is using a unique API port (as specified in the miner's configuration or using default CGWatcher port.)
  303. - Miners already running when CGWatcher is started that do not have API access are ignored.
  304. - Force API port option added.
  305. - API calls to miner reduced.
  306. - Monitor checks that miner has not stopped responding. Restarts miner if not responding for 3 consecutive checks. Value can be changed in INI (NotRespondingRestartChecks)
  307. - WER UI disabled on CGWatcher start and restored on exit to prevent hang ups on miners that stopped responding, feature can be disabled in INI (AllowDisableWERUI)
  308. - GPU activity changed to progressbar.
  309. - GPU fan % changed to slider based on calculated fan min and max (if possible.) If min and max value cannot be determined, slider is disabled but rpm can still be edited for supported GPUs.
  310. - Small GUI enhancements to make certain data more visible.
  311. - Splash screen added to indicate instance has started and is loading since loading time is now longer.
  312. - Chart now updates regardless of whether or not miner is running.
  313. - Restart miner when sick or dead GPUs are detected changed to allow computer restart also.
  314. - Restart option gives 30-second countdown providing opportunity to cancel.
  315. - Restart option has force close option in INI file (ForceCloseProgramsOnRestart)
  316. - Schedule tab created, schedule options moved to it to allow future enhancements and additional room for options on the Monitor tab.
  317. - Device tests moved to their respective tabs.
  318. - Bug fixed preventing miner using .bat or .cmd files with 2>log.txt from launching.
  319. - Bug fixed when modifying arguments for miner using .bat or .cmd file (arguments changed in Profile Manager are saved to .bat or .cmd file automatically.)
  320. - Open directory buttons removed from Settings tab to prevent confusion. Changing miner or config file path must be done in the Profile Manager.
  321. - Device option removed from Config File Editor because specifically enabling multiple devices using the config file is not supported in cgminer. Instead do this in arguments using -d <device>.
  322. - Miner.log created to record miner events. Right now is limited to some process info, hardware errors, pool change, pool and GPU status changes, new blocks, found blocks, etc.
  323. - Log entries kept in memory reduced. Ultimately they will not be stored in memory but it was a quick way to show/hide debug entries. In the future a separate debug log may be used instead.
  324. - Misc. bug fixes and improvements.
  325.  
  326.  
  327. version 1.1.4.1 (5/14/2013)
  328. - added option to choose checking for accepted share count or total share count (accepted, rejected, and stale) changes.
  329. - fixed bug that prevented the correct hashrate cutoff types from being saved (Kh/s,Mh/s,Gh/s)
  330. - fixed bug that caused messagebox when 'Ensure miner stays running' option is enabled after switching profiles.
  331.  
  332.  
  333. version 1.1.4.0 (5/12/2013)
  334. - Config File Editor added.
  335. - Mining profiles added.
  336. - Improved monitor and restarting ability.
  337. - Notify user of (3) consecutive failed miner starts.
  338. - Scheduled Mining bug fix.
  339. - Hashrate/temperature chart displays temps for up to 8 GPUs.
  340. - Restart if API access becomes read-only or is lost option.
  341. - Check total share count option now only checks accepted share count.
  342. - Some data added/removed from Status tab to keep up with mining changes. Discarded work now only shown on Report tab.
  343. - Created tabs for other devices, Device Tests on Tests tab to allow help in implementing support for these devices.
  344. - Fixed bug with window position saving on multiple monitors that caused CGWatcher to open in wrong monitor.
  345. - Introduces several smaller features and improvements, maybe some new bugs.
  346.  
  347.  
  348. version 1.1.3
  349. - Scrypt mining detected automatically and hashrates are corrected accordingly.
  350. - Culture problems fixed where using a decimal instead of a comma produced incorrect hashrates.
  351. - Miner is restarted when sick or dead GPUs are detected, as restarting the GPU often fails.
  352. - Increased API buffer size to prevent chinese characters from appearing when miner returned a lot of data.
  353. - Ability to switch miners (CGMiner to BFGMiner or vice versa) handled in case that should ever happen.
  354. - Share percentages displayed and include stale and discarded in total to give more accurate percentages.
  355. - Check for Update button in the About tab added.
  356. - Restart when hashrate below X now fixed to require the hashrate to be below the value for three consecutive CGWatcher refreshes. This number can be changed by changing the HashRateCounter value in CGWatcher.exe.ini. You can also now select whether this value is in Kh/s, Mh/s, or Gh/s.
  357. - Miner restarts are improved. If CGWatcher lost full API access or the miner closes unexpectedly on the "restart" command, it is correctly handled by CGWatcher.
  358. - Miner is given a startup grace period where it will not be restarted during in order to give it time to start mining. The default is 180 seconds. This can be changed by changing RestartGracePeriod value in CGWatcher.exe.ini.
  359. - CGWatcher remembers window position including multi-monitor setups and monitor changes.
  360.  
  361.  
  362. version 1.1.2
  363. - Form size increased to make room for more options.
  364. - Simple scheduling option added.
  365. - Minimize to system tray option added.
  366. - Select CGMiner window mode (normal, minimized, hidden) option added.
  367. - Editable options now marked in black text, read-only in gray text (in most cases).
  368. - Closing CGWatcher while CGMiner is running will prompt the user to confirm closing.
  369. - Added support for BFGMiner.
  370.  
  371.  
  372.  
  373.  
  374. THINGS TO DO:
  375. - Include licenses to libraries. For now you can see information below regarding libraries used and licenses.
  376. - Better support for pool problems.
  377. - More scheduling options, including setting profile and option to increase/decrease intensity on schedule.
  378. - Auto-update option.
  379. - More statistics, information, and reports.
  380. - Remote monitoring and control using CGRemote. (in development)
  381. - Finish FPGA and ASIC support: Display FPGA and ASIC devices and their stats.
  382. - Setting Text Size in Windows to Medium (125%) or Large (150%) causes problems with interface (makes text labels too large).
  383. - Feature suggestions can be sent to Milone99k@gmail.com. Requests from donators get priority.
  384.  
  385.  
  386.  
  387. KNOWN ISSUES:
  388. - Automatic GPU mapping may not be accurate, although it was on all systems I tested on. GPU temperature data may not be available for all devices, but you should be notified in the GPU tab if this is the case and overheat protection cannot be provided.
  389.  
  390.  
  391.  
  392. LIBRARIES
  393.  
  394. http://openhardwaremonitor.org/license/ - Collect GPU data for AMD and Nvidia GPUs and Intel CPUs.
  395.  
  396. http://openclnet.codeplex.com/license - .NET OpenCL library to detect OpenCL devices the same way the miner does in order to better match GPUs.
  397.  
  398. http://json.codeplex.com/license - used to read/write Json for the miner's config file.
  399.  
  400. http://www.codeproject.com/Articles/5304/Read-Write-XML-files-Config-files-INI-files-or-the - a library that I use for writing and reading INI, XML, and config files. (no license stated)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement