Pages:
Author

Topic: GekkoScience 2Pac/Compac BM1384 Stickminer Official Support Thread - page 115. (Read 177274 times)

vh
hero member
Activity: 699
Merit: 666
======================
= cgminer on Windows =
======================

(!)... If you have access to linux, use the mxe based cross compile example in the post above.

(!)... If you just want the windows executable, read a little past the cross compile section in the post above for a pre-built cgminer.exe.


Building the cgminer.exe binary for windows on windows can be a bit tricky (not for beginners).

Follow the steps below in exact order.  If a step fails, most steps after it will fail also.

Once you have a successful binary, zip up the whole C:\MinGW folder for safe keeping.  
Chances are these instructions won't work, as is, a few months from now due to normal updates, but you might still be able to git pull and build updates.

Environment Used:
Windows 7, (should work for all WinOS supported by MinGW & Git)
MinGW Installation Manager (0.6.2-beta-20131004-1 - Tested)
Git for Windows (2.11.0 - Tested)



MinGW Installation Manager
http://www.mingw.org/ : Download installer : mingw-get-setup.exe

    Install Options:
    default all - "C:\MinGW\"
    Mark for installation - "mingw-developer-toolkit", "mingw-base"
    Installation -> "Apply Changes"

From Windows Explorer: (or you'll get errors later)
C:\MinGW << Security (Edit)<< Users << Full Control  
    
Paste the following into Windows+R to get a MINGW32 shell and init the home directory: "C:\MinGW\msys\1.0\msys.bat"

From MINGW32 shell:
Code:
echo 'export PATH=$PATH:/opt/git/bin:/opt/git/mingw64/bin:/opt/git/usr/bin/' > ~/.profile
mkdir /opt
exit

Install Git for Windows
https://git-for-windows.github.io/

    Install Options:
    "C:\MinGW\msys\1.0\opt\git"
    "Use Git from Git Bash only"
    default everything else -->>>
    

Return to MINGW32 shell and complete the build.

Code:
#--- From MINGW32 shell: "C:\MinGW\msys\1.0\msys.bat"

mingw-get install mingw32-libpdcurses mingw32-pdcurses

curl -O http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip
curl -O http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip
curl -O http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.28/glib_2.28.1-1_win32.zip
curl -k -O https://curl.haxx.se/gknw.net/rm/7.33.0/dist-w32/curl-7.33.0-devel-mingw32.zip

unzip pkg-config_0.23-3_win32.zip -d pkg-config
unzip pkg-config-dev_0.23-3_win32.zip -d pkg-config
unzip glib_2.28.1-1_win32.zip -d glib
unzip curl-7.33.0-devel-mingw32.zip -d curl

cp pkg-config/bin/pkg-config.exe /mingw/bin/
cp pkg-config/share/aclocal/pkg.m4 /mingw/share/aclocal/
cp glib/bin/libglib-2.0-0.dll /mingw/bin/
cp "C:/MinGW/bin/libintl-8.dll" "C:/MinGW/bin/intl.dll"

cp curl/curl-7.33.0-devel-mingw32/bin/* /mingw/bin/
cp -r curl/curl-7.33.0-devel-mingw32/include/* /mingw/include/
cp -r curl/curl-7.33.0-devel-mingw32/lib/* /mingw/lib/

rm -rf glib*
rm -rf pkg-config*
rm -rf curl*

#--- Going to intrusively tweak Mingw here.  Good time to have a backup of C:\MinGW.

sed -r "s/lcurl$/lcurl \-lcurldll \-lssh2 \-lidn \-lrtmp \-lssl \-lcrypto \-lgdi32 \-lz \-lwldap32/" /mingw/lib/pkgconfig/libcurl.pc -i

sed -r "s/winsock.h/winsock2.h/" /mingw/include/ptw32_errno.h -i
sed -r "s/0x0501\)/0x0001\)\n#include \n/" /mingw/include/ws2tcpip.h -i
sed -r "s/__struct_timespec_defined/_TIMESPEC_DEFINED/" /mingw/include/time.h -i
sed -r "s/\_UWIN \*\//\*\/\n\nstatic char* strtok_r(char *s, const char *d, char **n) { char *r; if (s == NULL) s = *n; s += strspn(s, d); if (*s == '\\\0') return NULL; r = s; s += strcspn(s, d); if (*s) *s++ = '\\\0'; *n = s; return r; }\n/" /mingw/include/string.h -i

#--- Install libusb

mkdir /opt/src
cd /opt/src
git clone git://git.libusb.org/libusb.git
cd libusb
./autogen.sh --prefix=/mingw --disable-log
make & make install

#--- Build cgminer

cd ~
mkdir -p git/vthoang; cd git/vthoang
git clone https://github.com/vthoang/cgminer.git
cd cgminer

autoreconf -fvi
CFLAGS="-O2 -msse2" ./configure --enable-gekko

make -j 2

cgminer.exe --help


Install the zadig generic WinUSB drivers

http://zadig.akeo.ie

If all is well, you can list and see the stick from cgminer.
cgminer.exe -n





The cgminer.exe executable build can be located in windows explorer at:
C:\MinGW\msys\1.0\home\\git\vthoang\cgminer

To transfer the executable for another system, you'll need the following dll(s) in the same folder as cgminer.exe

C:\MinGW\bin\libcurl.dll
C:\MinGW\bin\libeay32.dll
C:\MinGW\bin\libgcc_s_dw2-1.dll
C:\MinGW\bin\libidn-11.dll
C:\MinGW\bin\libpdcurses.dll
C:\MinGW\bin\pthreadGC-3.dll
C:\MinGW\bin\ssleay32.dll
C:\MinGW\bin\zlib1.dll
C:\MinGW\bin\libusb-1.0.dll

vh
hero member
Activity: 699
Merit: 666
########################################
#GekkoScience 2Pac BM1384 Stickminer Official Support Thread#
########################################



=================
=Thanks To The Community=
=================
As with the original compac, this project would not have even been possible without the great support from the community.  
A big thanks to everyone who pitched in; whether through signature campaigns, discussion, product ordering, or anything else.


=================
=How to get a 2Pac=
=================
Check the current product discussion thread for the latest news and updates.
https://bitcointalksearch.org/topic/gekkoscience-is-now-dabbling-with-16nm-asics-for-new-designs-1651958


=================
=How to Run=
=================
At the moment, you will need to build cgminer with the latest gekko driver to mine with the 2Pac.

The driver is under active development in an fork of ckolivas/cgminer.  
A pull request will be redirected to the ckolivas/cgminer repo once the code approached a stable point.

Run syntax:

*nix [if not root level privileges, see Q&A]
./cgminer -o stratum+tcp://pool.ckpool.org:3333 -u 1BURGERAXHH6Yi6LRybRJK7ybEm5m5HwTr -p x --suggest-diff 32

Windows
cgminer.exe -o stratum+tcp://pool.ckpool.org:3333 -u 1BURGERAXHH6Yi6LRybRJK7ybEm5m5HwTr -p x --suggest-diff 32

OS X
cgminer -o stratum+tcp://pool.ckpool.org:3333 -u 1BURGERAXHH6Yi6LRybRJK7ybEm5m5HwTr -p x --suggest-diff 32


Linux cgminer build steps

    Ubuntu 16.04.1 LTS new install.
    Default Install (+OpenSSH server)

Code:
sudo apt-get update
sudo apt-get upgrade -y

sudo apt-get install -y build-essential git autoconf automake libtool pkg-config libcurl4-openssl-dev libudev-dev
    
mkdir -p git/vthoang; cd git/vthoang
git clone https://github.com/vthoang/cgminer.git
cd cgminer

CFLAGS="-O2 -march=native" ./autogen.sh --enable-gekko
make -j 2



    Debian 8.7.1 new install.
        Default Install (No desktop environment, + SSH Server)
        (*do not specify root password to enable sudo)
   
    or Raspbian - Kernel version: 4.4 (Raspberry Pi)
    or Linux Mint 19 "Tara"

Code:
sudo apt-get update
sudo apt-get upgrade -y

sudo apt-get install -y build-essential git libusb-1.0-0-dev libusb-1.0-0 libcurl4-openssl-dev libncurses5-dev libudev-dev screen libtool automake pkg-config libjansson-dev

mkdir -p git/vthoang; cd git/vthoang
git clone https://github.com/vthoang/cgminer.git
cd cgminer

CFLAGS="-O2" ./autogen.sh --enable-gekko
make -j 2






Window cgminer.exe build steps (grab the finished zip file in the next paragraph if you want to skip this)


Linux cgminer.exe cross-compile steps (for windows use)

    Ubuntu 16.04.1 LTS new install.
    Default Install (+OpenSSH server)

Code:
sudo apt-get update
sudo apt-get upgrade -y

sudo apt-get install -y build-essential git autoconf autopoint bison flex gperf libtool libtool-bin python ruby scons unzip intltool p7zip-full libgtk2.0-dev


cd /opt
sudo git clone https://github.com/mxe/mxe.git

export MXE_DIR=/opt/mxe
export MXE_TARGETS='i686-w64-mingw32.static'
sudo make -j 4 -C $MXE_DIR MXE_TARGETS="$MXE_TARGETS" curl pthreads pdcurses ncurses libusb1


echo 'export PATH=/opt/mxe/usr/bin:$PATH' >> ~/.profile
echo 'export PKG_CONFIG_PATH=/opt/mxe/usr/i686-w64-mingw32.static/lib/pkgconfig/' >> ~/.profile

export PATH=/opt/mxe/usr/bin:$PATH
export PKG_CONFIG_PATH=/opt/mxe/usr/i686-w64-mingw32.static/lib/pkgconfig/

cd ~
mkdir -p git/vthoang
cd git/vthoang

git clone https://github.com/vthoang/cgminer.git
cd cgminer

autoreconf -fi
CFLAGS="-O2 -msse2" ./configure --host=i686-w64-mingw32.static --disable-shared --enable-gekko

make -j 2
strip cgminer.exe


    cross-compiled cgminer.exe binaries (use 7zip or WinZip to open the archive)

    Oct 19, 2018 @ a17a0f9 - cgminer-4.11.1-windows-gekko-a17a0f9.7z
    Oct 8, 2018 @ f9d7218 - cgminer-4.11.1-windows-gekko-f9d7218.7z
    Feb 27, 2018 @ 1fccd3d - cgminer-4.10.0-windows-gekko-1fccd3d.7z
    Apr 29, 2017 @ 495461c - cgminer-4.10.0-windows-gekko-495461c.7z
    Apr 20, 2017 @ b682468 - cgminer-4.10.0-windows-gekko-b682468.7z
    Apr 02, 2017 @ 3094f39 - cgminer-4.10.0-windows-gekko-3094f39.7z
    Mar 23, 2017 @ b756f23 - cgminer-4.10.0-windows-gekko-b756f23.7z
    Mar 09, 2017 @ 2a41ffb - cgminer-4.10.0-windows-gekko-2a41ffb.7z

Install the zadig generic WinUSB drivers from:

http://zadig.akeo.ie

If all is well, you can list and see the miner from cgminer.
Code:
cgminer.exe -n


Mac OSX Compiling with Homebrew

    El Capitan (10.11.6)

Code:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew doctor
brew tap vthoang/cgminer
brew install cgminer



=================
=Expected Performance=
=================
The expected performance of the 2Pac is 0.11*MHz=GH.  For example, 150MHz gives 16.5 GH (theoretical expectation).

Rough chart of power draw:


2Pac running with default settings:


=================
=Cooling=
=================
If you run the miners over about 100MHz it is strongly advised to cool them with a fan.  The cooling requirements are fairly low and unless you're trying to run 250MHz or above almost any fan at all will do.

===============
=Basic Q&A / Troubleshooting=
===============

Q. Can I run this cgminer build with the original Compac?

Yes.  The original Compac will register with separate device name from the 2Pac.

Q. Can I run this cgminer build with other USB miners?

It is recommended to use the official cgminer build for better support of other devices.  
It is best to keep the 2Pac separated from other devices until this fork of cgminer can be regression tested.

Q. How can I set a different frequency for the 2Pac vs the Compac?

cgminer will accept one or both parameters for the stick.
--gekko-compac-freq 200 --gekko-2pac-freq 150

Q. How many 2Pac(s) can I run at a time?

One.  Review the power chart in the performance section above.  
You can add more sticks using a 1-2A per port powered hub (recommended).
Hub thread: https://bitcointalksearch.org/topic/now-that-usb-sticks-are-being-sold-by-sidehack-here-is-a-new-usb-hub-thread-1779423

Q. Something doesn't look correct..  

Here are some of the more common ways to address issue(s):

Any email asking for support will be met with "If you didn't buy from me, talk to the person you bought it from."


Q. How do I get the latest version of the driver and code?

Updates to main cgminer and gekko updates will be checked in regularly.
If you are following along with the instructions, enter the cgminer directory, pull and rebuild:
Code:
cd ~/git/vthoang/cgminer/
git pull
...


Q. I tried the latest code and am certain the old one works better, how do I go back?

Code:
git reset --hard 495461c
CFLAGS="-O2" ./autogen.sh --enable-gekko
make -j 2


Q. How to get past "USB init, open device failed" ... "you don't have privilege to access" error.
Code:
cd ~/git/vthoang/cgminer/
sudo usermod -G plugdev -a `whoami`
sudo cp 01-cgminer.rules /etc/udev/rules.d/
sudo reboot

Pages:
Jump to: