What does this mean?
0: GSF 0 - ticket value confirmed 0xf0/16 after 5000 nonces
This is the code showing the testing of the ticket mask value set.
It's normally only 3 or 4 messages over the entire run, on a normal bitcoin pool so I left it in.
The ticket mask is the difficulty of work the chip returns over USB to cgminer.
A ticket mask of zero means return all 1 diff nonces.
A ticket mask of 0xf0 means return all 16 diff nonces.
It's using a CDF[Erlang] calculation to determine when enough nonces returned correctly, means the ticket mask is working correctly.
As per the code:
// ticket values, diff descending. List values rather than calc them
// end comments are how long (at 25 task/sec = 100 1diff nonce/sec) testing should take
// and chance of failure,
// though it will retry MAX_TICKET_CHECK times so shouldn't give up in the
// exceedingly rare occasion where it fails once due to bad luck
// limit to max diff of 16 to ensure enough nonces are coming back to identify
// status changes/issues with a single asic
static struct TICKET_INFO ticket_1397[] =
{
{ 16, 0xf0, 5000, 16.9, 15.9 }, // 800s Erlang=4.6x10-5 <- 16+ nonces
{ 8, 0xe0, 1250, 8.9, 7.9 }, // 100s Erlang=6.0x10-5
{ 4, 0xc0, 450, 4.9, 3.9 }, // 18s Erlang=3.9x10-6
{ 2, 0x80, 150, 2.9, 1.9 }, // 3.0s Erlang=5.4x10-7
{ 1, 0x00, 50, 1.9, 0.0 }, // 0.5s Erlang=1.5x10-7 <- all nonces
{ 0 }
};
i.e. how many nonces returned gives a good idea that the ticket mask is actually working correctly.
i.e. at 5000 nonces at 16 diff (mask 0x0f) it's about a 1 in 21739 chance of it always returning correct nonces but the mask isn't working correctly,
but if in the rare case that happens, it will try again anyway
The aim of the ticket mask is to reduce the amount of unnecessary data over USB.
The new compacF code, however, also links it to the pool diff, to ensure it's not incorrectly higher than the pool diff.