New release: 3.3.2, 10th August 2013
First release since I got back from overseas, concentrating on bugfixes. I've posted a new firmware, 20130810 in http://ck.kolivas.org/apps/cgminer/avalon/20130810/
but bear in mind that batch 3 avalons have temperature sensors closer to the actual devices, leading a 20 degree higher temperature, and the default settings currently in cgminer are for the older batches. This means you will have to add --avalon-temp 70 --avalon-cutoff 90 for batch 3 devices for them to behave the same as earlier batches.Human readable changelog:
- Windows builds contain a new libusb and libcurses library; the usb library update fixes a huge number of issues with multiple icarus devices (eg AMU) on usb ports/hubs.
- Hotplugging devices on windows now enlarges the device window again by recreating it, so the log display is wiped but at least all devices will display now.
- There are new sanity checks to prevent too high/low intensities for sha versus scrypt mining.
- Benchmarking, which didn't work on scrypt, is no longer allowed.
- New BFLSC command --bflsc-overheat allowing you to specify or disable the throttle temperature.
- Bitburner (BTB) avalon clone device support
- BTB voltage can be set
- Avalon frequency and BTC voltage can now be set via the API.
- Minor fix which could lead to less duplicate shares on avalons.
- More usb debugging information
- Fix a problem where a slow to respond pool would lead to cgminer simply disconnecting, leading to unnecessary disconnects. This has also sped up some communication operations when the other side doesn't respond.
- Extra BFLSC stats visible via the API.
- Numerous avalon changes improving dramatically its behaviour (compared to official 3.3.1 release, not the last firmware posted), and supporting new features:
--avalon-auto Adjust avalon overclock frequency dynamically for best hashrate
--avalon-cutoff <arg> Set avalon overheat cut off temperature (default: 60)
--avalon-fan <arg> Set fanspeed percentage for avalon, single value or range (default: 20-100)
--avalon-freq <arg> Set frequency range for avalon-auto, single value or range
--avalon-options <arg> Set avalon options baud:miners:asic:timeout:freq
--avalon-temp <arg> Set avalon target temperature (default: 50)
- Made the 5 second hashmeter dramatically smoother, being a true exponential decay based on time now.
- Accepted and Rejected counts on screen now show shares scaled to difficulty, so each 10 diff share for example will increase accepted by 10. This should fix an awful lot of confusion regarding accepted/rejected/hw error ratios.
- Reclaimed screen real estate by doing away with increasingly irrelevant U: figure since so few people run diff 1 now.
- Numerous performance and stability fixes under the hood .Full changelog:
- Recreate curses windows on windows when a device is hotplugged to allow window
resizing without crashing.
- Update copyright notice.
- Limit intensity range according to whether scrypt is in use or not.
- Do not allow benchmark mode to be used with scrypt.
- Add a --bflsc-overheat command which allows you to set the throttling
temperature for BFLSC devices or disable it.
- Move bflsc defines to a header file.
- avalon allow frequency to be set via the API
- BTB voltage management via the API - and set default on startup
- Avalon BTB allow partial work to be transferred
- avalon_cts use correct buffer
- miner.php format Best Share
- remove unnecessary memcpy
- using more concise description
- using usb_ident
- forgot a return
- changes to Avalon driver for BitBurner boards
- Revert "Sleep after sending icarus work to emulate working at 115200 baud."
- api correct timeout stat display
- usb timeouts - min/max also
- log USB timeouts in API stats
- usbutils report failed timeouts
- usbutils ensure stats macros are using the macro arguments
- Check for negative wait time in socket_full.
- Fix extra argument passed to statline before.
- Adjust socket wait timeout in recv_line according to how long we've already
waited to avoid a 60 second wait dropping to 1 second due to a blocked socket.
- usbutils use a heap buffer for bulk read rather than stack
- usbutils only one bulk transfer call per stat
- set device_drv function noops when first add_cgpu
- usbutils - in init only change the config if needed
- bflsc nonce per work item stats
- bflsc increase flush count to handle parallel work
- force type checking on curses
- logging - size check sprintf
- usbutils - size check all sprintf
- cgminer - size check all sprintf
- size check get_datestamp/get_timestamp and remove unused cgpu->init
- make all statline overflow safe
- WU only needs +2 width
- Check for a timeout in avalon_scanhash and post to the write sem if we receive
- Decay result count in avalon more slowly to not falsely detect idle periods as
low result return rates.
- Count the number of miners idled in avalon to account more accurately for when
its result return rate is too low.
- Fix potential dereference when starting avalon with all new work.
- Convert the decay_time function into one that truly creates an exponentially
decaying average over opt_log_interval.
- Only throttle avalon clockspeed in avalon_auto in non optimal temperature
settings if the fanspeed has reached maximum.
- Reinstate more aggressive <2% HW error target for avalon-auto
- Set avalon fan min and fan max to PWM values instead of percentage.
- Provide an --avalon-freq command line to give a valid range of frequencies for
avalon in auto mode.
- Set the avalon idle frequency to lowest if avalon auto is enabled and we have
an overheat condition.
- Decrease avalon frequency in auto mode if we are unable to maintain the
temperature in the optimal range.
- Don't count invalid nonces as hashrate for bflsc.
- Use a more conservative upper limit of 1% for hardware errors with avalon auto
- Allow the avalon fanspeed range to be passed as parameter on the command line,
default to 20-100%
- Just display A: and R: for difficulty accepted and rejected to preserve screen
real estate and decrease decimal places for WU.
- correct device DR: and remove global U:
- Update all screen A/R to instead use DA/DR and device U to WU
- miner.php add ASC fields
- GPU fan rpm display 9999 when it overflows
- bflsc get volts stats needs its own GETVOLTS
- Support all avalon frequencies on the command line.
- Move to slightly more relaxed timeouts for avalon.
- MMQ turn on cps delays
- bflsc x-link header different to documentation
- Reset the other auto counters in avalon when idling a device.
- usbutils/icarus include more locking to usbdev access
- Icarus turn on cps delays by default
- usbutils cps correct time measurement