healthchipget
Gets per chip health, topology, and temperature information
healthchipget
Description
Gets the health status of one or all chips for a selected hashboard. To get the information for a single chip, use the optional chip_id parameter. When health is in an "Unknown" state, the related fields will be omitted and are listed as Optional. in the table below.
Returns the topology information for all chips. This information includes the physical row/column location and electrical domain assignment for each ASIC chip on the hashboard. The row and column index of (0,0) always corresponds to the upper-left top-view of the hashboard closest to the power and hashboard connections.
Returns the chip temperature for models such as S21 and T21 that support this feature.
On the Antminer Z15 Pro, each chip also carries RepeatedIndexCount and SolutionCount. A repeated index is a
degenerate Equihash solution the chip returns: it passes the chip's own filter, so no ticket mask removes it, and its
share of the chip's returned solutions climbs two to three voltage steps before the chip's hashrate moves, which makes
it the earliest per-chip failure signal. SolutionCount is the denominator of that fraction. Both are totals for the
board's current session, reset to zero when the board halts, so difference them over any window that does not span a
halt (a drop marks one). Around 7–8% repeated indices is healthy; 12% and above means the chip is failing. Both fields
are absent on other models, and on a Z15 Pro board until its first health summary.
Command
$ echo '{"command": "healthchipget", "parameter": "0,20"}' | nc $MINER_IP 4028 | jqExamples
For a single chip:
$ echo '{"command": "healthchipget", "parameter": "0,20"}' | nc $MINER_IP 4028 | jq
{
"CHIPS": [
{
"BadHashCount": 0,
"Board": 0,
"Chip": 20,
"Column": 6,
"Domain": 2,
"DoubleHashCount": 0,
"Frequency": 290,
"GHS 15m": 154.68,
"GHS 1m": 268.92,
"GHS 5m": 216.56,
"HashCount": 476,
"HashExpected": 452,
"HashMin": 91,
"Healthy": "Y",
"IsChecking": false,
"ReadErrors": 0,
"ReadTimeouts": 0,
"Row": 2,
"Score": 105.3,
"When": 1719418678445,
"WriteErrors": 0
}
],
"STATUS": [
{
"Code": 314,
"Description": "LUXminer 0.1.0-15436f7140",
"Msg": "Health Chip Get",
"STATUS": "S",
"When": 1719418680
}
],
"id": 1
}
To get all chips at once:
$ echo '{"command": "healthchipget", "parameter": "0"}' | nc $MINER_IP 4028 | jq
{
"CHIPS": [
{
"BadHashCount": 0,
"Board": 0,
"Chip": 0,
"ChipTemp": 54.84,
"Column": 0,
"Domain": 0,
"DoubleHashCount": 0,
"Frequency": 400,
"GHS 15m": 180.23,
"GHS 1m": 280.97,
"GHS 5m": 255.42,
"HashCount": 41,
"HashExpected": 39,
"HashMin": 8,
"Healthy": "Y",
"IsChecking": false,
"ReadErrors": 0,
"ReadTimeouts": 0,
"Row": 0,
"Score": 105.13,
"When": 1667913887267,
"WriteErrors": 0
},
{
"BadHashCount": 0,
"Board": 0,
"Chip": 1,
"ChipTemp": 56.84,
"Column": 1,
"Domain": 0,
"DoubleHashCount": 0,
"Frequency": 400,
"GHS 15m": 187.27,
"GHS 1m": 291.41,
"GHS 5m": 260.18,
"HashCount": 3,
"HashExpected": 39,
"HashMin": 8,
"Healthy": "N",
"IsChecking": false,
"ReadErrors": 0,
"ReadTimeouts": 0,
"Row": 0,
"Score": 7.69,
"When": 1667914007313,
"WriteErrors": 0
},
{
"BadHashCount": 0,
"Board": 0,
"Chip": 2,
"ChipTemp": 57.22,
"Column": 2,
"Domain": 0,
"DoubleHashCount": 0,
"Healthy": "Unknown",
"IsChecking": true,
"ReadErrors": 0,
"ReadTimeouts": 0,
"Row": 0,
"WriteErrors": 0
}
/* and so on, for all chips */
],
"STATUS": [
{
"Code": 314,
"Description": "LUXminer 0.1.0-15436f7140",
"Msg": "Health Chip Get",
"STATUS": "S",
"When": 1667917088
}
],
"id": 1
}Parameters
| Parameter | Notes |
|---|---|
board_id | Board ID, starting from zero. |
chip_id | Optional. The chip number, starting from zero. |
Field details
| Field | Notes |
|---|---|
BadHashCount | Number of "bad hashes" generated by this chip. |
Board | Board ID, starting from zero. |
Chip | Chip number, starting from zero. |
ChipTemp | Optional. Chip on-die temperature |
Column | Board topology chip column location, starting from zero. |
Domain | Board topology chip domain assignment, starting from zero. |
DoubleHashCount | Number of "double hashes" generated by this chip. |
Frequency | Optional. Chip frequency |
GHS 15m | Optional. Estimated per chip hashrate based on 15m average & most recent "HashCount" |
GHS 1m | Optional. Estimated per chip hashrate based on 1m average & most recent "HashCount" |
GHS 5m | Optional. Estimated per chip hashrate based on 5m average & most recent "HashCount" |
HashCount | Optional. Number of hashes during the test. |
HashExpected | Optional. Number of expected hashes for a perfect score. |
HashMin | Optional. Minimum number of hashes to be considered "healthy". |
Healthy | Either "Y" or "N" depending if the chip is healthy, or "Unknown" if the chip wasn't evaluated yet. |
IsChecking | In the current health checker, this is always false. |
ReadErrors | Counter of how many read error happened when reading the chip frequency. |
ReadTimeouts | Counter of how many times a chip read timed-out. |
RepeatedIndexCount | Optional. Antminer Z15 Pro only. Number of returned solutions that repeated an index since the board started; see the description. |
Row | Board topology chip row location, starting from zero. |
Score | Optional. Health score, defined as HashCount / HashExpected * 100. |
SolutionCount | Optional. Antminer Z15 Pro only. Number of verified solutions the chip returned since the board started, the denominator of the repeated-index fraction. A different population from HashCount. |
When | Optional. Unix timestamp of the check. |
WriteErrors | Counter of how many "write" errors happened when changing the frequency. |