|
@@ -46,7 +46,8 @@ To give an IP address/subnet access to a group you use the group letter
|
|
|
in front of the IP address instead of W: e.g. P:192.168.0/32
|
|
in front of the IP address instead of W: e.g. P:192.168.0/32
|
|
|
An IP address/subnet can only be a member of one group
|
|
An IP address/subnet can only be a member of one group
|
|
|
A sample API group would be:
|
|
A sample API group would be:
|
|
|
- --api-groups P:switchpool:enablepool:addpool:disablepool:removepool:poolpriority:*
|
|
|
|
|
|
|
+ --api-groups
|
|
|
|
|
+ P:switchpool:enablepool:addpool:disablepool:removepool:poolpriority:*
|
|
|
This would create a group 'P' that can do all current pool commands and all
|
|
This would create a group 'P' that can do all current pool commands and all
|
|
|
non-privileged commands - the '*' means all non-privileged commands
|
|
non-privileged commands - the '*' means all non-privileged commands
|
|
|
Without the '*' the group would only have access to the pool commands
|
|
Without the '*' the group would only have access to the pool commands
|
|
@@ -110,7 +111,7 @@ The STATUS section is:
|
|
|
|
|
|
|
|
For API version 1.10 and later:
|
|
For API version 1.10 and later:
|
|
|
|
|
|
|
|
-The list of requests - a (*) means it requires privileged access - and replies are:
|
|
|
|
|
|
|
+The list of requests - a (*) means it requires privileged access - and replies:
|
|
|
|
|
|
|
|
Request Reply Section Details
|
|
Request Reply Section Details
|
|
|
------- ------------- -------
|
|
------- ------------- -------
|
|
@@ -126,7 +127,8 @@ The list of requests - a (*) means it requires privileged access - and replies a
|
|
|
ADL in use=X, <- Y or N if any GPU has ADL
|
|
ADL in use=X, <- Y or N if any GPU has ADL
|
|
|
Strategy=Name, <- the current pool strategy
|
|
Strategy=Name, <- the current pool strategy
|
|
|
Log Interval=N, <- log interval (--log N)
|
|
Log Interval=N, <- log interval (--log N)
|
|
|
- Device Code=GPU ICA , <- spaced list of compiled devices
|
|
|
|
|
|
|
+ Device Code=GPU ICA , <- spaced list of compiled
|
|
|
|
|
+ device drivers
|
|
|
OS=Linux/Apple/..., <- operating System
|
|
OS=Linux/Apple/..., <- operating System
|
|
|
Failover-Only=true/false, <- failover-only setting
|
|
Failover-Only=true/false, <- failover-only setting
|
|
|
ScanTime=N, <- --scan-time setting
|
|
ScanTime=N, <- --scan-time setting
|
|
@@ -136,15 +138,15 @@ The list of requests - a (*) means it requires privileged access - and replies a
|
|
|
summary SUMMARY The status summary of the miner
|
|
summary SUMMARY The status summary of the miner
|
|
|
e.g. Elapsed=NNN,Found Blocks=N,Getworks=N,...|
|
|
e.g. Elapsed=NNN,Found Blocks=N,Getworks=N,...|
|
|
|
|
|
|
|
|
- pools POOLS The status of each pool
|
|
|
|
|
- e.g. Pool=0,URL=http://pool.com:6311,Status=Alive,...|
|
|
|
|
|
|
|
+ pools POOLS The status of each pool e.g.
|
|
|
|
|
+ Pool=0,URL=http://pool.com:6311,Status=Alive,...|
|
|
|
|
|
|
|
|
devs DEVS Each available GPU, PGA and CPU with their status
|
|
devs DEVS Each available GPU, PGA and CPU with their status
|
|
|
e.g. GPU=0,Accepted=NN,MHS av=NNN,...,Intensity=D|
|
|
e.g. GPU=0,Accepted=NN,MHS av=NNN,...,Intensity=D|
|
|
|
- Last Share Time=NNN, <- standard long time in seconds
|
|
|
|
|
|
|
+ Last Share Time=NNN, <- standard long time in sec
|
|
|
(or 0 if none) of last accepted share
|
|
(or 0 if none) of last accepted share
|
|
|
Last Share Pool=N, <- pool number (or -1 if none)
|
|
Last Share Pool=N, <- pool number (or -1 if none)
|
|
|
- Last Valid Work=NNN, <- standand long time in seconds
|
|
|
|
|
|
|
+ Last Valid Work=NNN, <- standand long time in sec
|
|
|
of last work returned that wasn't an HW:
|
|
of last work returned that wasn't an HW:
|
|
|
Will not report PGAs if PGA mining is disabled
|
|
Will not report PGAs if PGA mining is disabled
|
|
|
Will not report CPUs if CPU mining is disabled
|
|
Will not report CPUs if CPU mining is disabled
|
|
@@ -162,7 +164,8 @@ The list of requests - a (*) means it requires privileged access - and replies a
|
|
|
pga|N PGA The details of a single PGA number N in the same
|
|
pga|N PGA The details of a single PGA number N in the same
|
|
|
format and details as for DEVS
|
|
format and details as for DEVS
|
|
|
This is only available if PGA mining is enabled
|
|
This is only available if PGA mining is enabled
|
|
|
- Use 'pgacount' or 'config' first to see if there are any
|
|
|
|
|
|
|
+ Use 'pgacount' or 'config' first to see if there
|
|
|
|
|
+ are any
|
|
|
|
|
|
|
|
cpu|N CPU The details of a single CPU number N in the same
|
|
cpu|N CPU The details of a single CPU number N in the same
|
|
|
format and details as for DEVS
|
|
format and details as for DEVS
|
|
@@ -237,19 +240,23 @@ The list of requests - a (*) means it requires privileged access - and replies a
|
|
|
|
|
|
|
|
gpuintensity|N,I (*)
|
|
gpuintensity|N,I (*)
|
|
|
none There is no reply section just the STATUS section
|
|
none There is no reply section just the STATUS section
|
|
|
- stating the results of setting GPU N intensity to I
|
|
|
|
|
|
|
+ stating the results of setting GPU N intensity
|
|
|
|
|
+ to I
|
|
|
|
|
|
|
|
gpumem|N,V (*)
|
|
gpumem|N,V (*)
|
|
|
none There is no reply section just the STATUS section
|
|
none There is no reply section just the STATUS section
|
|
|
- stating the results of setting GPU N memoryclock to V MHz
|
|
|
|
|
|
|
+ stating the results of setting GPU N memoryclock
|
|
|
|
|
+ to V MHz
|
|
|
|
|
|
|
|
gpuengine|N,V (*)
|
|
gpuengine|N,V (*)
|
|
|
none There is no reply section just the STATUS section
|
|
none There is no reply section just the STATUS section
|
|
|
- stating the results of setting GPU N clock to V MHz
|
|
|
|
|
|
|
+ stating the results of setting GPU N clock
|
|
|
|
|
+ to V MHz
|
|
|
|
|
|
|
|
gpufan|N,V (*)
|
|
gpufan|N,V (*)
|
|
|
none There is no reply section just the STATUS section
|
|
none There is no reply section just the STATUS section
|
|
|
- stating the results of setting GPU N fan speed to V%
|
|
|
|
|
|
|
+ stating the results of setting GPU N fan speed
|
|
|
|
|
+ to V%
|
|
|
|
|
|
|
|
gpuvddc|N,V (*)
|
|
gpuvddc|N,V (*)
|
|
|
none There is no reply section just the STATUS section
|
|
none There is no reply section just the STATUS section
|
|
@@ -257,21 +264,23 @@ The list of requests - a (*) means it requires privileged access - and replies a
|
|
|
|
|
|
|
|
save|filename (*)
|
|
save|filename (*)
|
|
|
none There is no reply section just the STATUS section
|
|
none There is no reply section just the STATUS section
|
|
|
- stating success or failure saving the BFGMiner config
|
|
|
|
|
- to filename
|
|
|
|
|
|
|
+ stating success or failure saving the BFGMiner
|
|
|
|
|
+ config to filename
|
|
|
The filename is optional and will use the BFGMiner
|
|
The filename is optional and will use the BFGMiner
|
|
|
default if not specified
|
|
default if not specified
|
|
|
|
|
|
|
|
quit (*) none There is no status section but just a single "BYE"
|
|
quit (*) none There is no status section but just a single "BYE"
|
|
|
reply before BFGMiner quits
|
|
reply before BFGMiner quits
|
|
|
|
|
|
|
|
- notify NOTIFY The last status and history count of each devices problem
|
|
|
|
|
|
|
+ notify NOTIFY The last status and history count of each devices
|
|
|
|
|
+ problem
|
|
|
e.g. NOTIFY=0,Name=PGA,ID=0,ProcID=0,Last Well=1332432290,...|
|
|
e.g. NOTIFY=0,Name=PGA,ID=0,ProcID=0,Last Well=1332432290,...|
|
|
|
|
|
|
|
|
privileged (*)
|
|
privileged (*)
|
|
|
none There is no reply section just the STATUS section
|
|
none There is no reply section just the STATUS section
|
|
|
- stating an error if you do not have privileged access
|
|
|
|
|
- to the API and success if you do have privilege
|
|
|
|
|
|
|
+ stating an error if you do not have privileged
|
|
|
|
|
+ access to the API and success if you do have
|
|
|
|
|
+ privilege
|
|
|
The command doesn't change anything in BFGMiner
|
|
The command doesn't change anything in BFGMiner
|
|
|
|
|
|
|
|
pgaenable|N (*)
|
|
pgaenable|N (*)
|
|
@@ -289,25 +298,28 @@ The list of requests - a (*) means it requires privileged access - and replies a
|
|
|
none There is no reply section just the STATUS section
|
|
none There is no reply section just the STATUS section
|
|
|
stating the results of the identify request
|
|
stating the results of the identify request
|
|
|
This is only available if PGA mining is enabled
|
|
This is only available if PGA mining is enabled
|
|
|
- and currently only BitForce Singles support this command
|
|
|
|
|
- On a BitForce Single it will flash the led on the front
|
|
|
|
|
- of the device for approximately 4s
|
|
|
|
|
- All other non-BFL PGA devices will return a warning
|
|
|
|
|
- status message stating that they don't support it
|
|
|
|
|
- This adds a 4s delay to the BFL share being processed
|
|
|
|
|
- so you may get a message stating that processing took
|
|
|
|
|
- longer than 7000ms if the request was sent towards
|
|
|
|
|
- the end of the timing of any work being worked on
|
|
|
|
|
|
|
+ and currently only BitForce Singles support this
|
|
|
|
|
+ command
|
|
|
|
|
+ On a BitForce Single it will flash the led on the
|
|
|
|
|
+ front of the device for approximately 4s
|
|
|
|
|
+ All other non-BFL PGA devices will return a
|
|
|
|
|
+ warning status message stating that they don't
|
|
|
|
|
+ support it
|
|
|
|
|
+ This adds a 4s delay to the BFL share being
|
|
|
|
|
+ processed so you may get a message stating that
|
|
|
|
|
+ processing took longer than 7000ms if the request
|
|
|
|
|
+ was sent towards the end of the timing of any work
|
|
|
|
|
+ being worked on
|
|
|
e.g.: BFL0: took 8438ms - longer than 7000ms
|
|
e.g.: BFL0: took 8438ms - longer than 7000ms
|
|
|
You should ignore this
|
|
You should ignore this
|
|
|
|
|
|
|
|
devdetails DEVDETAILS Each device with a list of their static details
|
|
devdetails DEVDETAILS Each device with a list of their static details
|
|
|
- This lists all devices including those not supported
|
|
|
|
|
- by the 'devs' command
|
|
|
|
|
|
|
+ This lists all devices including those not
|
|
|
|
|
+ supported by the 'devs' command
|
|
|
e.g. DEVDETAILS=0,Name=PGA,ID=0,ProcID=0,Driver=bitforce,...|
|
|
e.g. DEVDETAILS=0,Name=PGA,ID=0,ProcID=0,Driver=bitforce,...|
|
|
|
|
|
|
|
|
- restart (*) none There is no status section but just a single "RESTART"
|
|
|
|
|
- reply before BFGMiner restarts
|
|
|
|
|
|
|
+ restart (*) none There is no status section but just a single
|
|
|
|
|
+ "RESTART" reply before BFGMiner restarts
|
|
|
|
|
|
|
|
stats STATS Each device or pool that has 1 or more getworks
|
|
stats STATS Each device or pool that has 1 or more getworks
|
|
|
with a list of stats regarding getwork times
|
|
with a list of stats regarding getwork times
|
|
@@ -332,12 +344,13 @@ The list of requests - a (*) means it requires privileged access - and replies a
|
|
|
|
|
|
|
|
debug|setting (*)
|
|
debug|setting (*)
|
|
|
DEBUG Debug settings
|
|
DEBUG Debug settings
|
|
|
- The optional commands for 'setting' are the same as
|
|
|
|
|
- the screen curses debug settings
|
|
|
|
|
|
|
+ The optional commands for 'setting' are the same
|
|
|
|
|
+ as the screen curses debug settings
|
|
|
You can only specify one setting
|
|
You can only specify one setting
|
|
|
- Only the first character is checked (case insensitive):
|
|
|
|
|
- Silent, Quiet, Verbose, Debug, RPCProto, PerDevice,
|
|
|
|
|
- WorkTime, Normal
|
|
|
|
|
|
|
+ Only the first character is checked - case
|
|
|
|
|
+ insensitive:
|
|
|
|
|
+ Silent, Quiet, Verbose, Debug, RPCProto,
|
|
|
|
|
+ PerDevice, WorkTime, Normal
|
|
|
The output fields are (as above):
|
|
The output fields are (as above):
|
|
|
Silent=true/false,
|
|
Silent=true/false,
|
|
|
Quiet=true/false,
|
|
Quiet=true/false,
|
|
@@ -357,30 +370,34 @@ The list of requests - a (*) means it requires privileged access - and replies a
|
|
|
|
|
|
|
|
pgaset|N,opt[,val] (*)
|
|
pgaset|N,opt[,val] (*)
|
|
|
none There is no reply section just the STATUS section
|
|
none There is no reply section just the STATUS section
|
|
|
- stating the results of setting PGA N with opt[,val]
|
|
|
|
|
|
|
+ stating the results of setting PGA N with
|
|
|
|
|
+ opt[,val]
|
|
|
This is only available if PGA mining is enabled
|
|
This is only available if PGA mining is enabled
|
|
|
|
|
|
|
|
- If the PGA does not support any set options, it will
|
|
|
|
|
- always return a WARN stating pgaset isn't supported
|
|
|
|
|
|
|
+ If the PGA does not support any set options, it
|
|
|
|
|
+ will always return a WARN stating pgaset isn't
|
|
|
|
|
+ supported
|
|
|
|
|
|
|
|
If opt=help it will return an INFO status with a
|
|
If opt=help it will return an INFO status with a
|
|
|
help message about the options available
|
|
help message about the options available
|
|
|
|
|
|
|
|
The current options are:
|
|
The current options are:
|
|
|
- MMQ opt=clock val=2 to 250 (and a multiple of 2)
|
|
|
|
|
- XBS opt=clock val=2 to 250 (and a multiple of 2)
|
|
|
|
|
|
|
+ MMQ opt=clock val=2 to 250 (a multiple of 2)
|
|
|
|
|
+ XBS opt=clock val=2 to 250 (a multiple of 2)
|
|
|
|
|
|
|
|
zero|Which,true/false (*)
|
|
zero|Which,true/false (*)
|
|
|
none There is no reply section just the STATUS section
|
|
none There is no reply section just the STATUS section
|
|
|
- stating that the zero, and optional summary, was done
|
|
|
|
|
- If Which='all', all normal cgminer and API statistics
|
|
|
|
|
- will be zeroed other than the numbers displayed by the
|
|
|
|
|
- usbstats and stats commands
|
|
|
|
|
|
|
+ stating that the zero, and optional summary, was
|
|
|
|
|
+ done
|
|
|
|
|
+ If Which='all', all normal cgminer and API
|
|
|
|
|
+ statistics will be zeroed other than the numbers
|
|
|
|
|
+ displayed by the usbstats and stats commands
|
|
|
If Which='bestshare', only the 'Best Share' values
|
|
If Which='bestshare', only the 'Best Share' values
|
|
|
- are zeroed for each pool and the global 'Best Share'
|
|
|
|
|
- The true/false option determines if a full summary is
|
|
|
|
|
- shown on the cgminer display like is normally displayed
|
|
|
|
|
- on exit.
|
|
|
|
|
|
|
+ are zeroed for each pool and the global
|
|
|
|
|
+ 'Best Share'
|
|
|
|
|
+ The true/false option determines if a full summary
|
|
|
|
|
+ is shown on the cgminer display like is normally
|
|
|
|
|
+ displayed on exit.
|
|
|
|
|
|
|
|
When you enable, disable or restart a GPU or PGA, you will also get Thread
|
|
When you enable, disable or restart a GPU or PGA, you will also get Thread
|
|
|
messages in the BFGMiner status window.
|
|
messages in the BFGMiner status window.
|
|
@@ -1013,7 +1030,8 @@ the last one
|
|
|
|
|
|
|
|
So an example for 3 rigs would be:
|
|
So an example for 3 rigs would be:
|
|
|
|
|
|
|
|
- $rigs = array('192.168.0.100:4028:A', '192.168.0.102:4028:B', '192.168.0.110:4028:C');
|
|
|
|
|
|
|
+ $rigs = array('192.168.0.100:4028:A', '192.168.0.102:4028:B',
|
|
|
|
|
+ '192.168.0.110:4028:C');
|
|
|
|
|
|
|
|
Of course each of the rigs listed would also have to have the API
|
|
Of course each of the rigs listed would also have to have the API
|
|
|
running and be set to allow the web server to access the API - as
|
|
running and be set to allow the web server to access the API - as
|
|
@@ -1387,11 +1405,14 @@ Looking at the Mobile example:
|
|
|
'DEVS.Temperature=Temp', 'DEVS.MHS av=MHS av',
|
|
'DEVS.Temperature=Temp', 'DEVS.MHS av=MHS av',
|
|
|
'DEVS.Accepted=Accept', 'DEVS.Rejected=Rej',
|
|
'DEVS.Accepted=Accept', 'DEVS.Rejected=Rej',
|
|
|
'DEVS.Utility=Utility', 'NOTIFY.Last Not Well=Not Well'),
|
|
'DEVS.Utility=Utility', 'NOTIFY.Last Not Well=Not Well'),
|
|
|
- 'POOL' => array('POOL', 'Status', 'Accepted', 'Rejected=Rej', 'Last Share Time'));
|
|
|
|
|
|
|
+ 'POOL' => array('POOL', 'Status', 'Accepted', 'Rejected=Rej',
|
|
|
|
|
+ 'Last Share Time'));
|
|
|
|
|
|
|
|
$mobilesum = array(
|
|
$mobilesum = array(
|
|
|
- 'SUMMARY' => array('MHS av', 'Found Blocks', 'Accepted', 'Rejected', 'Utility'),
|
|
|
|
|
- 'DEVS+NOTIFY' => array('DEVS.MHS av', 'DEVS.Accepted', 'DEVS.Rejected', 'DEVS.Utility'),
|
|
|
|
|
|
|
+ 'SUMMARY' => array('MHS av', 'Found Blocks', 'Accepted', 'Rejected',
|
|
|
|
|
+ 'Utility'),
|
|
|
|
|
+ 'DEVS+NOTIFY' => array('DEVS.MHS av', 'DEVS.Accepted', 'DEVS.Rejected',
|
|
|
|
|
+ 'DEVS.Utility'),
|
|
|
'POOL' => array('Accepted', 'Rejected'));
|
|
'POOL' => array('Accepted', 'Rejected'));
|
|
|
|
|
|
|
|
$customsummarypages = array('Mobile' => array($mobilepage, $mobilesum));
|
|
$customsummarypages = array('Mobile' => array($mobilepage, $mobilesum));
|
|
@@ -1527,5 +1548,5 @@ The first 4 are as expected - the numerical sum, average, minimum or maximum
|
|
|
'count' is the number of rows in the section specified in the calc e.g.
|
|
'count' is the number of rows in the section specified in the calc e.g.
|
|
|
('DEVS.Name' => 'count') would be the number of DEVS selected in the 'where'
|
|
('DEVS.Name' => 'count') would be the number of DEVS selected in the 'where'
|
|
|
of course any valid 'DEVS.Xyz' would give the same 'count' value
|
|
of course any valid 'DEVS.Xyz' would give the same 'count' value
|
|
|
-'any' is effectively random: the field value in the first row of the grouped data
|
|
|
|
|
|
|
+'any' is effectively random: the field value in the 1st row of the grouped data
|
|
|
An unrecognised 'function' uses 'any'
|
|
An unrecognised 'function' uses 'any'
|