Skip to content
forked from ckolivas/cgminer

CGMiner 4.3.5 with Scrypt and support for Gridseed and Zeus ASICs

License

Unknown, GPL-3.0 licenses found

Licenses found

Unknown
LICENSE
GPL-3.0
COPYING
Notifications You must be signed in to change notification settings

Talie5in/cgminer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cgminer-scrypt

CGMiner 4.3.5 with GridSeed and Zeus scrypt ASIC support.

This file describes Scrypt-specific settings and options. For general CGMiner information refer to README. Scrypt algorithm code was ported from CGMiner version 3.7.2.

Zeus

./autogen.sh
./configure --enable-scrypt --enable-zeus
make

The Zeus driver needs to be configured with two runtime options: the number of chips per ASIC device with --zeus-chips and the desired clock speed in MHz with --zeus-clock. These options are applied to all Zeus miners. To set options for a specific device use --zeus-options ID,chips,clock where ID specifies the device (see below) and chips and clock set the respective options. Multiple ID,chips,clock tuples can be joined together separated by semi-colons.

Device Selection

With no --scan-serial options the driver will use libusb to autodetect any connected miners and to perform all device I/O operations. This is the recommended method if multiple drivers are compiled into cgminer.

If --scan-serial zeus:auto is specified, the driver will use libudev to identify which USB-serial ports (if any) are from a Zeus miner and open those ports directly. All I/O will be done using direct serial reads and writes (not through libusb). This method may not work properly if multiple drivers are enabled.

As a fallback should autodetection not work, individual devices can be specified manually using --scan-serial zeus:/dev/ttyX (note the "zeus:" is optional if only the Zeus driver has been compiled in).

The following three examples are equivalent assuming three miners are connected:

# Using libusb
./cgminer --scrypt --zeus-chips 96 --zeus-clock 328

# Direct serial I/O, auto-detect ports
./cgminer --scrypt --zeus-chips 96 --zeus-clock 328 --scan-serial zeus:auto

# Direct serial I/O, manual port specification
./cgminer --scrypt --zeus-chips 96 --zeus-clock 328 --scan-serial /dev/ttyUSB0 \
	--scan-serial /dev/ttyUSB1 --scan-serial /dev/ttyUSB2

The reason for the multitude of options is for backward compatibility as well as testing and in case auto-detection fails.

Device Identification

The Zeus miners currently do not provide a unique serial number, therefore the driver identifies them by their port. If using serial I/O the ID for use with --zeus-options is the full path name of the serial port (eg: /dev/ttyUSB0). If using libusb the ID consists of the string <bus number>:<device address>. These parameters can be found by running ./cgminer --ndevs or by examining the output of lsusb. The ID is also shown on each device's status line on the main screen of cgminer.

Note that IDs may change upon reboot or when unplugged and replugged.

Chip count for different models: Blizzard: 6, Cyclone: 96

Zeus driver is based on documentation and the official reference implementation. Many thanks also to sling00 and LinuxETC for providing access to test hardware.


Gridseed

./autogen.sh
./configure --enable-scrypt --enable-gridseed
make

GC3355-specific options can be specified via --gridseed-options or "gridseed-options" in the configuration file as a comma-separated list of sub-options:

  • baud - miner baud rate (default 115200)
  • freq - any frequency multiple of 12.5 MHz, non-integer frequencies rounded up (default 600)
  • pll_r, pll_f, pll_od - fine-grained frequency tuning; see below
  • chips - number of chips per device (default 5)
  • per_chip_stats - print per-chip nonce generations and hardware failures
  • start_port - first port number for scrypt proxy mode (default 3350); see below
  • voltage - switch the voltage to the GC3355 chips; see below
  • led_off - turn off the LEDs on the Gridseed miner

When mining scrypt-only this version of cgminer does not initialize the SHA cores so that power usage is low. On a 5-chip USB miner, power usage is around 10 W.

Gridseed support is based largely on the original Gridseed CGMiner and dtbartle's scrypt modifications.

Frequency Tuning

If pll_r/pll_f/pll_od are specified, freq is ignored, and calculated as follows:

  • Fin = 25
  • Fref = int(Fin / (pll_r + 1))
  • Fvco = int(Fref * (pll_f + 1))
  • Fout = int(Fvco / (1 << pll_od))
  • freq = Fout

Dual Mining

When dual-mining start_port will set the listening proxy port of the first gridseed device on the SHA256 instance of cgminer, with additional miners using successive ports. The scrypt instance of cgminer will attempt to connect starting at this port.

When dual mining, start the SHA mining instance of cgminer first, wait for it to begin mining and then start the scrypt version. The second instance will detect that the USB ports are in use and will attempt to connect to the first via UDP.

If everything is working the same devices will appear in both cgminer windows.

Voltage Modding

If voltage=1 is set the gridseed chips will be switched to an alternate voltage. Specifically, this flag will cause the MCU to assert the VID0 input to the voltage regulator. This requires a voltmodded miner. On a stock unit this will actually reduce the regulator's output voltage.

More Complex Options

The options can also be specified for each device individually by serial number via --gridseed-freq or --gridseed-override or their configuration file equivalents. --gridseed-freq takes a comma-separated list of serial number to frequency mappings while --gridseed-override takes the same format as --gridseed-options:

--gridseed-freq "<SERIAL>=<FREQ>[,...]"

--gridseed-override "<SERIAL>:freq=<FREQ>,voltage=<0/1>[,...];<SERIAL>:freq=<FREQ>[,...[;...]]"

About

CGMiner 4.3.5 with Scrypt and support for Gridseed and Zeus ASICs

Resources

License

Unknown, GPL-3.0 licenses found

Licenses found

Unknown
LICENSE
GPL-3.0
COPYING

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 94.3%
  • PHP 2.7%
  • C++ 2.6%
  • Java 0.3%
  • Python 0.1%
  • Shell 0.0%