Sunday, September 29, 2013

Scrypt

What is Scrypt exactly, you may wonder? Scrypt is a password-based key derivation function (or algorithm).


This may not say much to you right now, but i’m pretty sure the next sentence will explain some of the mystery : it was originally designed to perform large scale custom hardware attacks. Now now, don’t give me that frown. It comes down to this : Scrypt was designed to decipher, or decrypt, encrypted messages.



If you paid close attention yesterday, you may remember that SHA-256 was designed to ENCRYPT messages and data, while Scrypt was designed to DECRYPT messages and data. Now, of course, if you have an encrypted piece of data, and there is absolutely no way to decrypt it, the data isn’t of much use to anyone, is it? But, as we all know, once you can decrypt things, you can use the algorithm to decrypt in a not-so legitimate way aswell.


I’ll throw some hacker lingo in here as well for you, because i know you’re on the edge of your seat by now. We have another term for large hardware attacks, that you may be familiar with : brute-forcing. See, i can tell by your smile that you’re getting it now. Or are you? Maybe the entire picture isn’t clear to you yet. Every one who mines Scrypt coins is basically brute forcing data blocks. Yes, i went there and dropped that pipe-bomb. Take a deep breath , then read on.



Ok, you’ve got a chance to calm down. I’m not accusing anyone of anything illegal here, you have to understand that. Mining Scrypt coins is basically brute forcing (or attacking) a huge chunk of data. We solve shares (pieces of data) , but to be able to solve the shares , the data has to be decrypted first, so we can see if it matches the details of our shares. Kind of like an employer looking at the work you’ve done all day, and then looking deeper to see if you actually did it properly.


Scrypt mining, or brute forcing, depending on how you look at it, means you submit a lot of data in the hopes of finding something that matches with the actual data we are trying to solve (or decrypt). As this is a very intensive process, it requires a LOT of memory. I’m not talking about RAM here, i’m talking about the actual memory on your CPU or graphics card.



Why a lot of memory, you wonder? Well, that’s simple to explain. As the data we send is being matched up to the big chink of data, the memory has to keep a constant flow of data going to the target. You can’t throw 100 possible combinations of shares at a block and then twiddle your thumbs for minutes, that’s not how it works. You have to keep pushing, and pushing, and pushing. Brute-forcing works in the same way : you try to flood the system and create a vulnerability which you can use. Each share we solve when Scrypt mining is a tiny chink in the armor of the actual block. The more chinks we can chip away, the better our chances of being successful in solving the block.



The ideal setup to start mining Scrypt coins, includes having one (or several) piece(s) of hardware with a lot of memory. This is where graphics cards will, for now at least, out perform any CPU. If you’re looking at purchasing one (or more) graphics card(s) to start mining Scrypt coins, you’ll have to look at Radeon video cards.

Nvidia cards are sadly under-performing in this area, but they sure make great cards for video gaming. You can’t be great at everything unfortunately.


In the end it comes down to this : SHA-256 and Scrypt both do the same thing on the surface : we solve shares in the hopes of getting a big payday , or if you’re pool mining, several smaller payouts which add up nicely over the course of the day. They do take different approaches though : SHA-256 relies more on the engine core of your hardware, the higher the engine, the better your chances with SHA-256. Scrypt, on the other hand, requires a lot of memory. The more memory you have, the better your chances with Scrypt.


To conclude, we need to talk some Scrypt coin examples of course! The best known one is Litecoin, but there are many others, including Feathercoin, Digitalcoin, Realcoin, and many , many more.


source: http://www.cryptonerd.co/



Friday, September 27, 2013

SHA-256

So what exactly is SHA-256? Well, as i said before, it’s an algorithm. To be more specific, a cryptographic hash function, which has been designed by your friends and mine, the NSA. Wait, wait, don’t freak out yet, there is nothing to worry about. Bear with me for this, you won’t be bored, I promise.


What this hash function does, is it transforms (or hashes) a set of data elements into a fixed length value. This length value will then be compared against copies of the original data, without the ability to derive the original data. That’s the official Wikipedia explanation, which is all fine and dandy, but i don’t speak that language. I am pretty sure most of you don’t either, so allow me to explain what this means for us “commoners”.


As we all know, when mining SHA-256 coins, we are solving shares with our CPU or GPU. These shares are displayed in your mining program as something along the lines of “Accepted 0aef41a3b”. That value, 0aef41a3b, is a hash. It represents the data element we have solved, converted to a hash value. In very simple terms : it’s a short line of data we have solved, while the main chunk (or block) of data consists of several thousands, if not millions, lines of data.



Which also explains why you (usually) need to solve a lot of shares before finding a block of your coin. You have a one in a thousand, ten thousand, hundred thousand, or one in a million chance of solving THE line that identifies the EXACT value required to unlock, or mine the data (or block). It’s kind of like playing the lottery, but using machinery, which can perform calculations to the winning combination way faster and better than any of us humans can do. This does not include humans who luckily guess a winning combination!



So, for solving SHA-256 hashes, you would need some powerful hardware, you say? Well, yes, you do. The more computational power you can throw at it, the better, and the bigger your chance of getting a big payday. However, keep in mind, you aren’t the only person fighting for a piece of the data pie, and there are people who have more and better resources than you. Don’t get discouraged when you appear unlucky. Like playing the lottery, you never know when your moment may come! icon wink SHA 256


But now let’s go back to the actual SHA-256 algorithm. Crypto-currency isn’t the only example of where SHA-256 is used. There are several protocols you may have heard of which implement the same algorithm. Protocols like SSL, SSH, PGP, and many more. Every time you visit a secure website with an SSL certificate, SHA-256 is involved. I bet you didn’t think of it that way, did you? See, we are all learning here today!



So let’s talk some SHA-256 then! You’ve got, of course, Bitcoin, which is probably the most famous in this category. But it doesn’t stop there, of course. Lately, there has been a surge of new SHA-256 coins, including, but not limited to : Zetacoin, Ocoin, Tekcoin, and more. But we also can’t forget the coins that launched before the new SHA-256 coins, such as NameCoin and others.


As you can see, there’s plenty of SHA-256 going around inside and outside the crypto world. Should you wish to learn more about the exact workings of SHA-256, or learn a bit more about it’s history and implementations, head on over to Wikipedia.



Winklevosses for, Peter Thiel against bitcoin.

It is quite evident that when influential people talk about bitcoin, the masses listen. Strike up a conversation about virtual currencies with an everyday person in your life, and they will recall information received from major news outlets.



Mainstream media likes to put things in a neat package so they’re easily understood.


The PRISM surveillance program, for example, will forever be linked to Edward Snowden because it is difficult to contemplate a secret monitoring program operated by secret people.


Snowden represents PRISM, and it could be argued that right now the Winklevoss twins, Cameron and Tyler, are a representation of bitcoin to the public.


Hedge funds and bitcoin?


At the New York Value Investing Congress, the Winklevoss twins held court regarding the prospect of bitcoin.



It’s important to keep in mind that the Value Investing Congress is an annual meeting of hedge fund managers, a group of investors that err on the side of caution because they are investing other people’s money.


It’s intriguing why Tyler and Cameron chose such a conference to speak about bitcoin; it’s not something that could be considered a stable investment in the hedge fund world.


The fact that they are trying to bring a bitcoin exchange traded fund (ETF) to market might bear some reasoning behind the move.


The Winklevoss Bitcoin Trust ETF is a notable attempt to bring access to bitcoin investing to the masses. It is still somewhat difficult to invest in bitcoins.


Sure, there are a number of exchanges available, but the fact that bitcoin operates outside of normal investment brokerages can make the majority of traditional investors wary.


winklevossbtcetf Winklevosses for, Peter Thiel against bitcoin.
The SEC filing for the Winklevoss Bitcoin Trust EFT by Math-Based Asset Services LLC occurred on July 1, 2013. Major sell-offs in bitcoin that week led to a low of $65 per BTC on Mt. Gox. Source: Bitcoin Charts

Confidence


Are the Winklevoss twins really the best representatives for bitcoin? That’s up for debate.


Anyone familiar with their history could suggest perhaps the twins were very fortunate to obtain a $65 million portion of the Facebook pie because of their early association with founder Mark Zuckerberg.



As it turns out, the Winklevoss siblings believe that they are owed more money from Zuckerberg, and have filed an additional suit against him.


But with that being said, they are wealthy and have put their money where their mouth is by investing in bitcoin. That’s something virtual currency investors can get behind.


Recently, the twins have been in the news about bitcoin again with some interesting concepts. They seem optimistic and prepared for mass media consumption to get people interested in trading in their fiat for BTC.


One idea is that the logical evolution of bitcoin will involve a nation adopting it as its currency.


“The next step for bitcoin is potentially becoming the currency of a country,” Tyler told the audience. “With bitcoin there are no bail-ins like in Cyprus”.


Could it become the currency of a country?


It would be interesting to know just what country might feel comfortable switching from government-controlled currency to a digital one that is decentralized.


While there are countries that have a money supply that is less than that of the total value of bitcoin, those numbers don’t factor in the economic realities of a nation in terms of Gross Domestic Product (GDP).


How would a country with bitcoin-denominated banknotes conduct trade with other countries?


The idea is a good one to pronounce, but the reality is that bitcoin lacks the structure to conduct any sort of economic policy.


It sounds like a total loss of control for a country. Yet it is possible a nation-state that utilizes something like the euro to trade might be able to make it work as an experiment.


What might be a more agreeable statement is that bitcoin is a new version of gold, which was another comment the twins made. “It’s gold 2.0,” said Tyler.


Someone can pay for a number of things with bitcoin at this point that you cannot do comparably with gold. So perhaps as a new store of value that could be more liquid, that makes a lot of sense.


Peter Thiel bearish on bitcoin


If you’re not familiar with Peter Thiel, it’s important to point out that the PayPal cofounder and BitPay investor is a contrarian.


That’s not to say he’s incorrect in what he says, but when he does say something it is because he believes in something different.



Take, for instance, his initiative to take smart young entrepreneurs and pay them not to go to college, but to build a company instead. The idea is that to Thiel, college is a drag on the economy; putting energy into building businesses and thus potential job creation is a better alternative.


Thiel told a German audience recently that he believes bitcoin has a “20% chance of success”.


Those who regularly read the news on CoinDesk might disagree. But the bigger picture is that despite the ultimate fate of bitcoin, digital currencies are here to stay.


transactionschartbtc Winklevosses for, Peter Thiel against bitcoin.
Could Peter Thiel’s skepticism about bitcoin come from volatile data points such as its total transaction volume? Source:Blockchain.info

While there may not ever be a bellwether virtual currency that we all transact in, there will always be digital payment systems that appeal to subsets of the population.


Take Ven, for example, which is a digital payment system that is built upon sustainable principals like carbon offsets. Does Thiel really think that people are going to stop creating these new concepts for money?


Belief and trust


It’s easy to take statements that are said by successful people at face value. Yet the fact of the matter is that it will always be the people who lift up decentralized currencies.


Think about it like this: If the people trust, then they will transact. Without that, any payment method will fail.


These new ideas for money are not backed by a financial system, and they are not guaranteed by a government. If an economy can be built upon them, then so be it.


Does it matter what Tyler and Cameron Winklevoss say? Does it matter what Peter Thiel thinks will happen?


 


source: http://www.coindesk.com/figures-come-out-for-against-bitcoin/



Thursday, September 26, 2013

SatoshiBox

Simple platform for selling digital content.


No need for registration, no loging, no third party involved, instant payment (we dont store any bitcoins).


for test we added nice picture of my car here:
http://satoshibox.com/524403be4c347b51880041a7


you can see stats here:
http://satoshibox.com/524403be4c347b51880041a7/stats


of you can be my affiliate here:
http://satoshibox.com/524403be4c347b51880041a7/partner?


and this is how the affiliate parner link looks like:


Coleman-Milne Dorchester VI & Ford Granada MK2 foto


 


there is an developer thread for this app at bitcointalk here:


https://bitcointalk.org/index.php?topic=278898.0



Wednesday, September 25, 2013

Trezor Bitcoin Hardware Wallet

Trezor is a hardware wallet for Bitcoin.


We’ve identified the main problems of mass adoption of Bitcoin and we try to solve them with this small device.




Talking Bitcoin With the Winklevosses

The Winklevosse brothers, Naval Ravikant, and Balaji Srinivasan discusses the current state of Bitcoin and where they believe the value is.




John Stossel ~ The Bitcoin Revolution



Cameron and Tyler Winklevoss Talk Bitcoin

Through their Winklevoss Capital early-stage investment firm, the brothers Cameron and Tyler Winklevoss have bought up roughly $11 million worth of Bitcoins, accounting for some one percent of the nascent currency.


Colleen Taylor talks with Cameron and Tyler Winklevoss about their investments in Bitcoin.




Tuesday, September 24, 2013

Ubuntu Miner Guide

Please note: These instructions are for setting up a dedicated mining rig.



They effectively corrupt the integrity of your OS, so should ideally not be used for anything else.





ATI Drivers, AMD SDK and Other tools



Install Ubuntu on a system that can support ATI GPUs suitable for mining
See Mining hardware comparison

Load a clean install of Ubuntu Natty 11.04 64-bit Desktop. Installing Ubuntu is fairly easy, but beyond the scope of this document.


If you’re using a pre-existing install, proceed at your own risk.

Download: http://www.ubuntu.com/download/ubuntu/downloadBoot, login to the desktop, then open up a terminal window (ctrl+alt+t).


Remove NVidia crap. Update and Upgrade.

sudo apt-get remove nvidia-common
sudo apt-get update
sudo apt-get install aptitude
sudo aptitude dist-upgrade

Install some tools

sudo apt-get install python-setuptools python-numpy subversion g++ libboost-all-dev libqtgui4 openjdk-6-jre subversion git screen openssh-server

Download and install ATI Driver 11.6 for Linux 64bit. Enter ’1′ for the install option when prompted.

cd ~
wget http://www2.ati.com/drivers/linux/ati-driver-installer-11-6-x86.x86_64.run
chmod +x ati-driver-installer-11-6-x86.x86_64.run
sudo ./ati-driver-installer-11-6-x86.x86_64.run --force
sudo apt-get -f install
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
sudo rm /etc/X11/xorg.conf
sudo aticonfig -f --initial --adapter=all
sudo reboot

Download and install AMD APP SDK 2.4 for Linux 64bit.

cd ~
wget http://download2-developer.amd.com/amd/APPSDK/AMD-APP-SDK-v2.4-lnx64.tgz
tar xvzf AMD-APP-SDK-v2.4-lnx64.tgz
echo export AMDAPPSDKROOT=${HOME}/AMD-APP-SDK-v2.4-lnx64/ >> ~/.bashrc
echo export AMDAPPSDKSAMPLESROOT=${HOME}/AMD-APP-SDK-v2.4-lnx64/ >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=${AMDAPPSDKROOT}lib/x86_64:${LD_LIBRARY_PATH}' >> ~/.bashrc
source ~/.bashrc
cd /
sudo tar xfz $AMDAPPSDKROOT/icd-registration.tgz

Install python-jsonrpc

cd ~
svn checkout http://svn.json-rpc.org/trunk/python-jsonrpc
cd python-jsonrpc/
sudo python setup.py install

Download, Compile and Install pyopencl-0.92

cd ~
wget http://pypi.python.org/packages/source/p/pyopencl/pyopencl-0.92.tar.gz
tar xzvf pyopencl-0.92.tar.gz
cd pyopencl-0.92
./configure.py --cl-inc-dir=${AMDAPPSDKROOT}include --cl-lib-dir=${AMDAPPSDKROOT}lib/x86_64
make
sudo make install

Check that the ATI Driver is working

cd ~
DISPLAY=:0 sudo fglrxinfo

Check that OpenCL is working

cd ~
cd AMD-APP-SDK-v2.4-lnx64/bin/x86_64
./clinfo

Open port 22 for SSH. This is for remote admin later.

sudo ufw enable
sudo ufw allow 22


Uninstall ATI Drivers


As new releases of the ATI driver come out, you can uninstall the current version with the command below. You can re-install as described above.

sudo sh /usr/share/ati/amd-uninstall.sh


Mining Software


FIXME



Overclocking ATI GPUs


YOU WILL DAMAGE YOUR HARDWARE DOING THIS


List GPUs

aticonfig --lsa

Set Fan Speed. Change Display number for each GPU. The last number is the fanspeed, below we set fans to 100% on 3 GPUs.

export DISPLAY=:0.0; aticonfig --pplib-cmd "set fanspeed 0 100";
export DISPLAY=:0.1; aticonfig --pplib-cmd "set fanspeed 0 100";
export DISPLAY=:0.2; aticonfig --pplib-cmd "set fanspeed 0 100";

Enbable OverDrive

aticonfig --od-enable

Get Capabilities of your GPUs.

aticonfig --odgc --adapter=all

Set Clock for all GPUs. Set the first number to the highest ‘Configurable Peak Range’ of the Core (from previous step). Set the second number to the Lowest Configurable Peak Range of the Memory (from previous step). You will want to tweak these settings to your specific hardware. Cooling, PSU, Brand, Voodoo all have an affect. You can go over the peak ranges. Be careful here. Bad values will cause your PC to lockup, you can damage hardware etc.

aticonfig --odsc=840,1250 --adapter=all

Display the temperature of your GPUs

aticonfig --odgt --adapter=all

Show fan speed. Change Display number for each GPU. Here we show the fan speeds for 3 GPUs.

export DISPLAY=:0.0; aticonfig --pplib-cmd "get fanspeed 0";
export DISPLAY=:0.1; aticonfig --pplib-cmd "get fanspeed 0";
export DISPLAY=:0.2; aticonfig --pplib-cmd "get fanspeed 0";


Scripts



Miner Startup


Here’s an example of a script that simplifies starting your miners.

Create the script file, make it executable, open it for editing.

cd ~
touch eligius.sh
chmod +x eligius.sh
nano eligius.sh

Paste the following into eligius.sh. This example is for GPU 0. It sets the fan speed to 80%, enables Overclocking, sets the clock speeds and starts mining.

CHANGE the clock speeds to your specific hardware, the username for the miner login, and the -v and -w values to your hardware.

To Save the changes, ‘CTRL+x’ to exit, ‘y’ to save. ‘Enter’ to confirm.

cd ~/luke-jrs-poclbm
export DISPLAY=:0.0
aticonfig --pplib-cmd "set fanspeed 0 80"
aticonfig --od-enable
aticonfig --odsc=900,1000 --adapter=all
python poclbm.py -d0 -v -w128 YourBitCoinAddress:x@mining.eligius.st:8337

Run Script

cd ~
./eligius.sh



Complete Guide To Mine on Xubuntu 12.04

Complete Guide To Mine Bitcoin on Xubuntu 12.04



– by Leonard Huang (lueotw@gmail.com)


– Latest version could be found on http://goo.gl/vP3G9


– If you think this article is useful to you, please make a donation to:


1M1mB5BQX5QthTojfHxXxJQJr8ro5xLcKR



 


Firstly, I’d like to thank Kanoi, who wrote an excellent howto guide on “How to setup a cgminer using xubuntu 11.04 live on a USB”. However, I don’t need to mine on a USB (it’s slow compared to a HDD). Also, his guide didn’t update with the latest version of Xubuntu (12.04), which in my opinion is the easiest version of Xubuntu ever to mine bitcoin with. Although it’s relatively easy, there are still some pitfalls I want to you to avoid, so I wrote this guide.


 


I had been mining Bitcoin since July, 2011. I had used Windows 7 for mining until May, 2012. The reason I use Windows 7 is as the following:


 



  1. AMD driver got better support on Windows.




  2. Much more overclock tools on Windows (MSI AfterBurner rocks!).




  3. Less time wasting on trouble shooting.




  4. With (3), I can focus on tweaking the best CPU/MEM clock combination for maximizing profit.



 


I had tried to switch to a headless Linux solution but failed, due to the following problems:


 



  1. My machine constantly crashed after operating 3 hours.




  2. The lan port on my motherboard didn’t get support well on Linux at that time(r8169 on a Gigabyte motherboard – buggy driver on Ubuntu 11.04 and 11.10).




  3. I wasted 5 days struggling on troubleshooting linux problems. Not worth it.



 


I decided to give Xubuntu 12.04 a try, since I’ve heard that 12.04 is not only getting Long-Term-Support, but also fixing various bugs since 11.04 and 11.10.


 


The result is amazingly great! My machines never crash anymore!


 


 



  1. Pre-stage – Installation Media



The first thing you need is a USB  Complete Guide To Mine on Xubuntu 12.04 to load Xubuntu in (Yap, a USB is still essential to get rid of CD-ROMs).


 


Then, download Unetbootin to load your Xubuntu CD image on the USB.


 Complete Guide To Mine on Xubuntu 12.04


 


Now you’re ready to roll!


 



  1. Install Xubuntu 12.04



Try follow this article: “The Perfect Desktop – Xubuntu 12.04” until you get a working desktop.


 Complete Guide To Mine on Xubuntu 12.04


 Complete Guide To Mine on Xubuntu 12.04Remember to check “Log in automatically” when you create a superuser.


 


We’ll need a logged user to mine headlessly.


 Complete Guide To Mine on Xubuntu 12.04


 


Oh! You forget to check the option?


 


That’s all right, you can edit the /etc/lightdm/lightdm.conf like this after installation.


 


[SeatDefaults]


autologin-guest=false


autologin-user=<your username>


autologin-user-timeout=0


autologin-session=lightdm-autologin


greeter-session=lightdm-gtk-greeter


user-session=xubuntu


 



  1. Install AMD Driver on Xubuntu



Caution: Choose your driver wisely, or you’ll lose 10% ~ 20% hash power!



[ For AMD Raedon 7xxx Series ]



  • If any of your cards on board is AMD Raedon 7xxx Series cards, you’ll need AMD APP SDK 2.6+, which is included in Catalyst 11.12+ and beyond

    (I recommend Catalyst 12.3 – which include SDK 2.6).



    • Reason: 7xxx Series use some kind of new architecture called GCN, which can only be recognized with SDK 2.6+.




 


Now follow the steps (in commandline):


 


(Don’t use the GUI (Settings -> Additional drivers) to install the post-release driver. It will fail and I don’t know why.)


 



  • sudo apt-get install fglrx-updates fglrx-amdcccle-updates fglrx-updates-dev



 


Done!



 


[ For AMD Raedon 6xxx, 5xxx Series ]



  • If you don’t have any AMD Raedon 7xxx Series cards (like 6xxx, 5xxx), you should use SDK 2.5, which is included in Catalyst 11.7 ~ 11.11.

    (Recommend Catalyst 11.11)



    • Reason: Non-7xxx Series with SDK 2.6 will lose about 10% performance.




 


Now follow the steps.


 


Install the prerequisite packages:



  • sudo apt-get install build-essential cdbs dh-make dkms execstack dh-modaliases fakeroot libqtgui4



If you are using the x86_64 architecture (64 bit):



  • sudo apt-get install ia32-libs-multiarch:i386 lib32gcc1 libc6-i386




  • sudo apt-get install ia32-libs



 


Compile and install the driver:



  • wget http://www2.ati.com/drivers/linux/ati-driver-installer-11-11-x86.x86_64.run




  • sudo sh ./ati-driver-installer-11-11-x86.x86_64.run –buildpkg Ubuntu/precise




  • sudo dpkg -i fglrx*.deb



 


Done!



  1. Config AMD Driver



Check if all your cards can be detected and then write configuration to /etc/X11/xorg.conf.


 



  • aticonfig –lsa




  • sudo aticonfig –adapter=all –initial



 


If everything went fine, reboot the computer by “sudo reboot”.


 


After that, check if everything works:


 



  • sudo aticonfig –adapter=all –odgt



 



  1. Install SSH for remote login



Install openssh-server and byobu to perform remote login.


 



  • sudo apt-get install openssh-server byobu



 


Now you can pull out the cables of your monitor, mouse and keyboard and enjoy a headless Xubuntu!


 



  1. Install CGMiner



Go to CGMINER  and download the latest version of cgminer.


 


Or on the command line:


 



  • wget http://ck.kolivas.org/apps/cgminer/cgminer-2.9.5-x86_64-built.tar.bz2



 


Then unzip it to a directory.


 



  • tar jxvf cgminer-2.9.5-x86_64-built.tar.bz2



 


Note: If you got libcurl4 error, install the lib:


 



  • sudo apt-get install curl



 


Go to the directory and check if cgminer detects all your cards.


 



  • cd cgminer-2.9.5-x86_64-built




  • export DISPLAY=:0




  • export GPU_USE_SYNC_OBJECTS=1




  • ./cgminer -n



 


The correct result should show like the left diagram..


 








Write a script for your favorite mining pool:



 



  • Ordinary pool



    • (like deepbit, BTC Guild, OzCoin, … etc.)




 


#!/bin/sh


export DISPLAY=:0


export GPU_USE_SYNC_OBJECTS=1


cd /home/<yourhome>/cgminer-2.9.5-x86_64-built


./cgminer -o http://www.guugll.eu:11327 -u <username> -p <password> –api-listen –api-network -I 9 –gpu-reorder –auto-fan –gpu-powertune 20 –gpu-engine 920,920,920,1125 –gpu-memclock 795,795,795,975


 



  • P2Pool



    • You can mine FTC at my pool for testing: http://www.guugll.eu:11327




    • Remember to replace <username> with your FTC address where the payments are to be sent




 


#!/bin/sh


export DISPLAY=:0


export GPU_USE_SYNC_OBJECTS=1


cd /home/<yourhome>/cgminer-2.9.5-x86_64-built


./cgminer -o http://www.guugll.eu:11327 -u <username> -p <password> –api-listen –api-network -I 8 -g 2 –gpu-reorder –auto-fan –gpu-powertune 20 –gpu-engine 920,920,920,1125 –gpu-memclock 795,795,795,975



 


Save it as a file and change the permission to execute it.


 



  • nano cg.sh




  • chmod +x cg.sh




  • ./cg.sh



 


You now have a headess bitcoin mining machine! Just SSH to your machine with byobu and execute you script.


 



  • byobu




  • ./cg.sh



You can safely press “F6” and exit since your mining session will be kept in byobu.


– If you think this article is useful to you, please make a donation to:


1M1mB5BQX5QthTojfHxXxJQJr8ro5xLcKR


source: https://docs.google.com/document/d/1Gw7YPYgMgNNU42skibULbJJUx_suP_CpjSEdSi8_z9U/edit?pli=1#



Note that both the OpenCL and the ADL detects 4 devices.



Note that the ADL can’t be initialized.


(you forgot to set


export GPU_USE_SYNC_OBJECTS=1)


 Complete Guide To Mine on Xubuntu 12.04* Complete Guide To Mine on Xubuntu 12.04*

CGMINER using xubuntu 11.04 live on a USB

How to setup a cgminer using xubuntu 11.04 live on a USB



The master version of this document is here:

 https://github.com/kanoi/linux-usb-cgminer


The actual file is:

 https://github.com/kanoi/linux-usb-cgminer/blob/master/linux-usb-cgminer


The copy in cgminer (check to make sure it isn’t older) is:



The original old version is here:



========


I have said to select English for the install process for 2 reasons:

1) I don’t know any other spoken language very well

and

2) I’m not sure what problems installing under a different language

might cause (it will probably cause no problems but I don’t know)


Software

========

Short hardware comment:

Your mining computer doesn’t need any HDD or CD/DVD/BD as long as it has at

least 2GB of RAM, can boot USB, has some network connection to the internet

and of course a reasonable mining ATI graphics card

… Or you can boot a windows PC with the USB to only do mining … and ignore

the system HDD … wasting energy running the HDD (roughly 10 Watts per HDD) icon smile CGMINER using xubuntu 11.04 live on a USB


If you wish to install to an HDD instead of a USB,

 see the changes to the instructions at the end


To create the USB, you need of course a 4GB USB and temporarily need a PC

with a CD (or DVD/BD) writer, a USB port and of course an internet

connection to the PC


1) Download the xubuntu 11.04 desktop live CD iso for amd64

   ( look here for mirrors: http://www.xubuntu.org/getubuntu )


2) Burn it to CD then boot that temporarily on any PC with a CD/DVD/BD and

   a USB port (this and the next 2 step won’t effect that PC)

   Select “English” then select “Try Xubuntu without installing”

   and wait for the desktop to appear

   (this happens by default if you wait for the timeouts)


3) Plug in your 4GB USB device and it should appear on the desktop – you can

   leave it’s contents as long as there is at least 2.8GB free


4) Now run “Startup Disk Creator” in “Applications->System”

   (the system menu is the little rat in the top left corner)


(if you have no mouse you can get the menu with <ctr><esc> and navigate

the menu with the arrow keys and <return> key)


From here select the boot CD as the “Source” and the USB as the “Disk to use”

lastly move the slider to 2GB for reserved extra space


The 2GB should be enough for modifications


Click: “Make Install Disk”

After about 10-15 minutes you have a base xubuntu 11.04 boot USB

(you can shut down this computer now)


5) Boot your cgminer PC with this USB stick, select “English”

   then select “Try Xubuntu without installing” and wait for the desktop to

   appear (this happens by default if you wait for the timeouts)


   Soon after the first boot and the GUI comes up you will get a popup

   asking you to upgrade to 11.10 or later

   DONT DO IT

   Select “Don’t Upgrade”


6) Start a terminal

   ”Applications->Accessories->Terminal Emulator”


7) sudo apt-get install openssh-server screen


   if you have a problem here then it’s probably coz the internet isn’t

   available … sort that out by reading elsewhere about routers etc


   however, if you did an HDD (or USB) install and internet access is OK,

   but it says openssh-server or screen is missing, it means you need to:


   sudo apt-get update


8) sudo apt-get install fglrx fglrx-amdcccle fglrx-dev

   sudo sync

   sudo shutdown -r now


N.B. always do a “sudo sync” and wait for it to finish every time before

shutting down the PC to ensure all data is written to the USB


9) sudo aticonfig –lsa

   this lists your ATI cards so you can see them


10) sudo aticonfig –adapter=all –initial

   this gets an error – no idea why but the xorg.conf is OK


   sudo sync

   sudo shutdown -r now


11) sudo aticonfig –adapter=all –odgt

   this checks it can access all the cards …


12) get AMD-APP-SDK-v2.4-lnx64.tgz from

 http://developer.amd.com/sdks/amdappsdk/downloads/pages/default.aspx

  ( http://developer.amd.com/Downloads/AMD-APP-SDK-v2.4-lnx64.tgz )


 sudo su

 cd /opt

  (replace /home/ubuntu/ with wherever you put the file: )

 tar -xvzf /home/ubuntu/AMD-APP-SDK-v2.4-lnx64.tgz


 cd AMD-APP-SDK-v2.4-lnx64/

 cp -pv lib/x86_64/* /usr/lib/

 rsync -avl include/CL/ /usr/include/CL/

 tar -xvzf icd-registration.tgz

 rsync -avl etc/OpenCL/ /etc/OpenCL/

 ldconfig

 sync

 shutdown -r now


 You now have an OpenCL enabled xubuntu


13) cgminer:

 sudo apt-get install curl


 get the binary linux cgminer

 (see the bitcoin forum cgminer thread for where to get it)

 https://bitcointalk.org/index.php?topic=28402.0


 ./cgminer -n

   this shows you the GPU’s it found on your PC

   See further below if you get an error regarding libtinfo.so.5


14) An OC option:

 This is no longer needed since cgminer 2.* includes OC, however:


 sudo apt-get install libwxbase2.8-0 libwxgtk2.8-0


 http://sourceforge.net/projects/amdovdrvctrl/

  for an Over/underclocking application and get the file listed below then:

 sudo dpkg -i amdoverdrivectrl_1.2.1_amd64.deb


15) set the screen saver to ONLY blank …


 Move the mouse to the bottom of the screen and you see a set of icons like

 on an Apple PC

 Click on Settings, then in the Settings window “Screensaver”

 Set “Mode:” to “Blank Screen Only”


16) apt-get install ntp

 An accurate clock is always a good idea icon smile CGMINER using xubuntu 11.04 live on a USB


17) if you wish to ssh into the box you must set a password

    to do this you simply have to be logged into it at the screen and type


  sudo passwd ubuntu


    it will prompt you (twice) to enter a password for the ubuntu account



Initial setup complete.


========


If you want to SSH into the machine and run cgminer:

 From a terminal on the miner display each time after you boot:

  xhost +


 ’xhost +’ isn’t needed if you ssh into the machine with the same

 username that the GUI boots into (which is ‘ubuntu’ in this case)


Then after you ssh into the machine:

 export DISPLAY=:0

before running cgminer


Also note, that you should force the screen to blank when mining if

the ATI card is displaying the screen (using the screen saver

application menu)

In my case it takes away 50Mh/s when the screen isn’t blanked

It will auto blank – but make sure the blank is of course just blank

as mentioned above at 15)



This is of course just the basics … but it should get you a computer

up and running and able to run cgminer


========


You should keep an eye on USB disk space

The system logger writes log files in the /var/log/ directory

The two main ones that grow large are ‘kern.log’ and ‘syslog’

If you want to keep them, save them away to some other computer

When space is low, just delete them e.g.


   sudo rm -i /var/log/syslog

   sudo rm -i /var/log/kern.log


The ‘df’ command will show you the current space e.g.:


   sudo df


Filesystem 1K-blocks Used Available Use% Mounted on

aufs 2099420 892024 1100748 45% /

none 1015720 628 1015092 1% /dev

/dev/sda1 3909348 2837248 1072100 73% /cdrom

/dev/loop0 670848 670848 0 100% /rofs

none 1023772 136 1023636 1% /dev/shm

tmpfs 1023772 16 1023756 1% /tmp

none 1023772 124 1023648 1% /var/run

none 1023772 0 1023772 0% /var/lock



This shows the 2GB space allocated when you setup the USB as ‘/’ (aufs)

In this example, it’s currently 45% full with almost 1.1GB of free space


========


The latest version (2.0.8 or later) of cgminer is built with 11.10 (not 11.04)

If you get the following error when running the prebuilt version in 11.04:


   ./cgminer: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory


The fix is to simply link the old curses library to the new name e.g.:


   cd /lib64/

   sudo ln -s libncurses.so.5 libtinfo.so.5


========


If you wish to install to an HDD instead of a USB:

————————————————–


As per before:


1) Download the xubuntu 11.04 desktop live CD iso for amd64

   ( look here for mirrors: http://www.xubuntu.org/getubuntu )


Then:


2) Burn it to CD then boot that on your new mining PC

   Select “English” then select “Install Xubuntu”

   (you have 30 seconds to do this)


3) When the Install window comes up – again select “English” and click “Forward”


4) The next page will show you if you meet certain install requirements

   (make sure you do meet them all)

   Don’t select the download option

   The 3rd party option isn’t needed for mining so ignore that also


   Click “Forward”


5) With “Allocate drive space” it’s probably easiest to say to use the

   ”Erase” option.


   This is just for mining right? icon smile CGMINER using xubuntu 11.04 live on a USB


   However, if you have anything on the HDD that you want to keep – the

   ”Erase” install process will delete it – so back it up (quit the install)

   Also make sure there are no OTHER HDD attached that it may erase also

   i.e. only have attached the one HDD that you want to install onto unless

   you know exactly what you are doing


   If you see the “Install Xubuntu 11.04 alongside ‘something’” then that

   just means that the HDD wasn’t blank.

   If you want to try this option – do that yourself and then skip to step

   7) below when you get to that.


   There are plenty of other options available if you select “Something else”

   but I’m not going to go into all the details here other than to say that

   my preferred partioning is: /boot = 1GB = ext2, swap = twice memory size,

   / = 100GB = ext3 and the rest: /extra = ext3


   Click “Forward”


6) If you selected “Erase” then it allows you to choose the drive to install to

   Then click “Install Now”


7) “Where are you?” sort that out then click “Forward”


8) “Keyboard layout” sort that out (use the default) then click “Forward”


9) “Who are you?” The important one here is “Pick a username:” coz that’s

   the name you will need to ssh into, to access it remotely (and of course

   the “Choose a Password” you set)


   If you set the “username” to anything but “ubuntu” then: wherever in this

   document I have mentioned the username “ubuntu” you must of course use the

   username you chose here instead of “ubuntu”


   Important: set it to “log in automatically” if you ever want to be able

   to start cgminer without being in front of the computer since ‘X’ must

   be running to use cgminer properly

   That does of course mean that the computer isn’t secure from anyone who

   has access to it – but then again no computer that can automatically

   reboot is secure from anyone who has access to the actual computer itself


   Then click “Forward”


10) Of course when it completes click on “Restart Now”

    … and remove the Xubuntu CD when it asks you


11) Wait for it to finish rebooting … and it will auto login

    (unless you didn’t do step 9) “Important:”)


12) After it logs in, an upgrade popup for 11.10 (or later) will appear

    Select “Don’t Upgrade”


13) Now go to step 6) of the USB script above for what to do next and that

    covers everything else needed


CGMINER Version 3.4.3

New release: Version 3.4.3, 13th September 2013


Stable codebase, feature upgrade version – Proxy support on stratum and per pool quota support. I also sneaked onto my wife’s laptop to get osx working.


Human readable changelog:


- Build fixes for cgminer releases to build on OSX (building from git still requires massaging).

- Fix for an extremely rare cause of crashes.

- Updated the screen to show when there is block change notification with multipool strategies and stratum.

- Don’t show the “waiting for work” message unless it is longer than it takes to switch pools during lag periods.

- Cope with trailing slashes being used on stratum based URLs.

- miner.php updates.

- Native proxy support on stratum for http1.0, http1.1, socks4, socks4a, socks5 and socks5h proxies without using libcurl for maximum stability.

- A completely rewritten load-balance strategy that now supports per pool quota support. See the following from the updated documentation to see how it works:


LOAD BALANCE:

This strategy sends work to all the pools on a quota basis. By default, all

pools are allocated equal quotas unless specified with –quota. This

apportioning of work is based on work handed out, not shares returned so is

independent of difficulty targets or rejected shares. While a pool is disabled

or dead, its quota is dropped until it is re-enabled. Quotas are forward

looking, so if the quota is changed on the fly, it only affects future work.

If all pools are set to zero quota or all pools with quota are dead, it will

fall back to a failover mode. See quota below for more information.


The failover-only flag has special meaning in combination with load-balance

mode and it will distribute quota back to priority pool 0 from any pools that

are unable to provide work for any reason so as to maintain quota ratios

between the rest of the pools.


QUOTAS


The load-balance multipool strategy works off a quota based scheduler. The

quotas handed out by default are equal, but the user is allowed to specify any

arbitrary ratio of quotas. For example, if all the quota values add up to 100,

each quota value will be a percentage, but if 2 pools are specified and pool0

is given a quota of 1 and pool1 is given a quota of 9, pool0 will get 10% of

the work and pool1 will get 90%. Quotas can be changed on the fly by the API,

and do not act retrospectively. Setting a quota to zero will effectively

disable that pool unless all other pools are disabled or dead. In that

scenario, load-balance falls back to regular failover priority-based strategy.

While a pool is dead, it loses its quota and no attempt is made to catch up

when it comes back to life.


To specify quotas on the command line, pools should be specified with a

semicolon separated –quota(or -U) entry instead of –url. Pools specified with

–url are given a nominal quota value of 1 and entries can be mixed.


For example:


Code:

–url poola:porta -u usernamea -p passa –quota “2;poolb:portb” -u usernameb -p passb

Will give poola 1/3 of the work and poolb 2/3 of the work.


Writing configuration files with quotas is likewise supported. To use the above

quotas in a configuration file they would be specified thus:


Code:

“pools” : [

{

"url" : "poola:porta",

"user" : "usernamea",

"pass" : "passa"

},

{

"quota" : "2;poolb:portb",

"user" : "usernameb",

"pass" : "passb"

}

]

Full changelog:


- Put corefoundation and iokit separate in ldflags for darwin.

- Add rules for libusb Makefile.am building on osx

- Add flags for building libusb statically on osx.

- Find the greatest common denominator in quotas and use the smallest number of

consecutive work items per pool in quota load balance mode to smooth hashrate

across pools with large quotas. Give excess quota to priority pool 0 instead of

pool 0.

- Avoid dynamically adding stack memory for nonce2 in the stratum send thread

and check the pool’s nonce2_len will not cause an overflow.

- Add subdir-objects to automake options.

- Use inet_addr instead of inet_network to fix windows build.

- Remove unused pbase variable.

- Add support for socks4/4a proxies with stratum, and drop back to socks4

support via the global –socks-proxy command to not break previous

configurations.

- Fix warning on mingw build.

- Only show long-poll message in pool summary if it’s not using stratum.

- Increase the time for the waiting for work message to be given to be greater

than that required for a pool swap in the scheduler which is set to 5s.

- Change message in status when using a balanced pool strategy to notify if

there’s a stratum pool as well.

- Use the –failover-only flag to have special meaning in combination with

load-balance mode to distribute any unused quota back to pool 0 to maintain

ratios amongst other pools.

- Display quota and allow it to be modified via the pool menu.

- Add API commands and modify output to support pool quota displaying and

changing.

- Change message in status when using a balanced pool strategy to notify if

there’s a stratum pool as well.

- Add quota support to configuration files.

- Rotate pools on all failures to set a pool in select_pool.

- Use quotas for load-balance pool strategy.

- Provide a mechanism for setting a pool quota to be used by load-balance.

- Use the –socks-proxy option with stratum, changing it to defaulting to socks5

and give appropriate message should it fail to connect.

- Cope with trailing slashes in stratum urls.

- Add more debugging messages when negotiating with proxies for stratum.

- Test specifically for socks5h in socks support for stratum.

- Add support for socks5 proxy with stratum

- Provide support for negotiating a stratum connection via http proxies.

- Connect to the proxy URL and port if specified for stratum sockets instead of

the pool directly.

- Extract any proxy url and port to be used by sockaddr if possible using

extract_sockaddr.

- Make extract_sockaddr set variables passed to it rather than pool struct

members.

- miner.php sort the mcast rigs so they are always in the same relative order

- miner.php allow sending the muticast message multiple times

- miner.php mcast ignore duplicate replies


DOWNLOAD:


All files available from here:
http://ck.kolivas.org/apps/cgminer


As a backup they can be downloaded here:
https://github.com/kanoi/cgminer-binaries


Debug builds are in http://ck.kolivas.org/apps/cgminer/debug/


.lrz files are compressed with lrzip http://lrzip.kolivas.org for much better compression and supports extreme encryption technology which is ideal for securing wallets.


Note that x86_64 binary is a 64 bit binary for UBUNTU 13.04.


Git tree:
https://github.com/ckolivas/cgminer


Latest git source tarball:
https://github.com/ckolivas/cgminer/tarball/master


Unofficial OSX binaries:
http://spaceman.ca/cgminer/


 


source: https://bitcointalk.org/index.php?topic=28402.msg3144100#msg3144100



CGMINER ASIC FPGA GPU

This is the official thread for support and development of cgminer, the combined GPU and FPGA bitcoin and litecoin miner written in c, cross platform for windows and linux, with overclocking, monitoring, fanspeed control and remote interface capabilities, completely overhauled based on the original code cpuminer.


This code is provided entirely free of charge by the programmer in his spare

time so donations would be greatly appreciated.


Help can also be obtained on IRC: irc.freenode.net #cgminer

READ THE README INCLUDED IN THE ARCHIVE BEFORE ASKING QUESTIONS WHICH CAN ALSO BE FOUND HERE:
http://ck.kolivas.org/apps/cgminer/README


Note that I can NOT provide personalised support via email or personal messages under normal circumstances so they will usually be ignored.

Apologies, but the demand is just far too great and I must prioritise my time.


All files available from here:
http://ck.kolivas.org/apps/cgminer


As a backup they can be downloaded here:
https://github.com/kanoi/cgminer-binaries


Debug builds are in http://ck.kolivas.org/apps/cgminer/debug/


.lrz files are compressed with lrzip http://lrzip.kolivas.org for much better compression and supports extreme encryption technology which is ideal for securing wallets.


LATEST RELEASE: 3.4.3
https://bitcointalk.org/index.php?topic=28402.msg3144100#msg3144100


Note that x86_64 binary is a 64 bit binary for UBUNTU 13.04.


Git tree:
https://github.com/ckolivas/cgminer


Latest git source tarball:
https://github.com/ckolivas/cgminer/tarball/master


Unofficial OSX binaries:
http://spaceman.ca/cgminer/


Features:

- Very low overhead free c code for Linux and windows with very low non-mining CPU and ram usage

- Stratum and GBT pooled mining protocol support

- Scaleable networking scheduler designed to scale to any size hashrate without networking delays yet minimise connection overhead

- Custom modified phatk, poclbm, diablo and diakgcn kernels

- BFI_INT patching

- VECTOR support

- Binary loading of kernels (fast startup)

- long poll support – will use longpoll from any pool if primary pool does not support it

- Self detection of new blocks with a mini-database for slow/failing longpoll scenarios, maximum work efficiency and minimum rejects.

- Heavily threaded code hands out work retrieval and work submission to separate threads to not hinder GPUs working

- Caching of submissions during transient network outages

- Preemptive fetching of work prior to completion of current work

- Local generation of more valid work (ntime rollover) whenever possible, as supported on a per-work item basis

- Prevention of stale work submission on new block

- Multi GPU support (all or discrete selection)

- Summarised and discrete device data statistics of requests, accepts, rejects, hw errors, efficiency and utility

- Watchdog thread to restart idle threads but not crash machine if they don’t respond

- Dynamic intensity that keeps desktop interactive under load and maximises throughput when deskop idle

- Summary displayed when quitting

- Supports multiple pools with multiple intelligent failover mechanisms

- Temporary disabling of misbehaving pools rejecting all shares

- On the fly menu based management of most settings

- Trickling of extra work to backup pools if primary pool is responding but slow

- On the fly enabling/disable/restarting of GPUs

- INTEGRATED GPU MONITORING, OVERCLOCKING AND FANCONTROL

- Auto fan and GPU clocking

- Dual GPU card support

- RPC +/- JSON interface for remote control

- Bitforce support – singles and minirig

- Icarus support

- Ztex support

- Modminer support

- Ability to cope with slow routers

- GPU device reordering by PCI Bus ID

- Submit-old support

- X-Reject-Reason support

- GCN (79×0) support

- Scrypt mining (litecoin)

- Variable difficulty support

- Restarts in the event of crashes

- Share difficulty reporting

- Target and block difficulty displays

- Block solve detection

- ASIC Avalon support

- Bitburner support

- Direct USB communications

- Device hotplug

- Heavily featured RPC API

- Multicast support

- Proxy support

- Lots of other stuff I can’t remember. See options.


Sample output:


Code:

cgminer version 3.3.4 – Started: [2013-08-21 20:51:35]

——————————————————————————–

(5s):133.2G (avg):133.7Gh/s | A:163264  R:460  HW:3069  WU:1871.0/m

ST: 2  SS: 5  NB: 11  LW: 165335  GF: 1  RF: 1

Connected to au.ozco.in diff 92 with stratum as user ckolivas.0

Block: 0015d36cd92d21d4…  Diff:50.8M  Started: [22:12:07]  Best share: 4.92M

——————————————————————————–

[P]ool management [S]ettings [D]isplay options [Q]uit

BAJ 0:  max 48C 3.45V | 8.407G/8.442Gh/s | A: 8849 R:184 HW: 152 WU: 118.3/m

BAS 0:  max 80C 3.28V | 62.85G/62.75Gh/s | A:81501 R:184 HW:1592 WU: 880.6/m

BAS 1:  max 72C 3.27V | 62.72G/62.62Gh/s | A:72914 R: 92 HW:1329 WU: 873.9/m

——————————————————————————–

[2013-08-21 22:15:29] Accepted 000dceb7 Diff 4.75K/92 BAS 0 pool 0

[2013-08-21 22:15:34] Accepted 01731d3c Diff 176/92 BAJ 0 pool 0

[2013-08-21 22:15:34] Accepted 00ab381c Diff 382/92 BAS 0 pool 0

[2013-08-21 22:15:36] Accepted 02af542e Diff 95/92 BAJ 0 pool 0




Pool menu:


Code:

0: Enabled Alive Priority 0: http://www.guugll.eu:11327  User: FTCaddress

1: Enabled Alive Priority  1: http://p2pool.org:9377  User: FTCaddress

2: Disabled Alive Priority 2: http://p2pool.ru:9377  User: FTCaddress

Current pool management strategy: Failover

[F]ailover only disabled

[A]dd pool [R]emove pool [D]isable pool [E]nable pool

[C]hange management strategy [S]witch pool [I]nformation


GPU menu:


Code:

GPU 0: 426.7 / 427.9 Mh/s | A:199  R:0  HW:0  U:6.09/m

72.5 C  F: 50% 4490 RPM)  E: 950 MHz  M: 825 Mhz  V: 1.175V  A: 99% P: 20%

Last initialised: [2011-09-09 12:11:33]

Thread 0: 227.4 Mh/s Enabled ALIVE

Thread 4: 226.1 Mh/s Enabled ALIVE

GPU 1: 426.2 / 427.9 Mh/s | A:186  R:1  HW:0  U:5.69/m

72.5 C  F: 67% 4011 RPM)  E: 950 MHz  M: 825 Mhz  V: 1.175V  A: 99% P: 20%

Last initialised: [2011-09-09 12:11:33]

Thread 1: 213.6 Mh/s Enabled ALIVE

Thread 5: 214.2 Mh/s Enabled ALIVE


GPU 2: 430.9 / 428.0 Mh/s | A:178  R:5  HW:0  U:5.44/m

73.5 C  F: 47% 4247 RPM)  E: 950 MHz  M: 825 Mhz  V: 1.175V  A: 99% P: 20%

Last initialised: [2011-09-09 12:11:33]

Thread 2: 212.8 Mh/s Enabled ALIVE

Thread 6: 188.3 Mh/s Enabled ALIVE


GPU 3: 430.7 / 427.9 Mh/s | A:175  R:2  HW:0  U:5.35/m

73.5 C  F: 56% 3414 RPM)  E: 950 MHz  M: 825 Mhz  V: 1.175V  A: 99% P: 20%

Last initialised: [2011-09-09 12:11:33]

Thread 3: 214.8 Mh/s Enabled ALIVE

Thread 7: 215.1 Mh/s Enabled ALIVE


Change settings menu:


Code:

Select GPU to change settings on: 0

Temp: 72.0 C

Fan Speed: 50% (4489 RPM)

Engine Clock: 950 MHz

Memory Clock: 825 Mhz

Vddc: 1.175 V

Activity: 99%

Powertune: 20%

Fan autotune is enabled (0-85)

GPU engine clock autotune is enabled (880-950)

Change [A]utomatic [E]ngine [F]an [M]emory [V]oltage [P]owertune

Or press any other key to continue

Settings menu:


Code:

[Q]ueue: 1

[S]cantime: 60

[E]xpiry: 120

[W]rite config file

[C]gminer restart

Display menu:


Code:

[N]ormal [C]lear [S]ilent mode (disable all output)

[D]ebug:off

[P]er-device:off

[Q]uiet:off

[V]erbose:off

[R]PC debug:off

[W]orkTime details:off

co[M]pact: off

[L]og interval:5

[Z]ero statistics

On exiting:


Code:

Summary of runtime statistics:

Started at [2011-07-19 14:40:09]

Runtime: 2 hrs : 31 mins : 18 secs

Average hashrate: 1680.1 Megahash/s

Queued work requests: 3317

Share submissions: 3489

Accepted shares: 3489

Rejected shares: 0

Reject ratio: 0.0

Hardware errors: 0

Efficiency (accepted / queued): 105%

Utility (accepted shares / min): 23.06/min


Discarded work due to new blocks: 0

Stale submissions discarded due to new blocks: 9

Unable to get work from server occasions: 16

Work items generated locally: 330

Submitting work remotely delay occasions: 33

New blocks detected on network: 10


Pool: http://www.guugll.eu:11327

Queued work requests: 3253

Share submissions: 3426

Accepted shares: 3426

Rejected shares: 0

Reject ratio: 0.0

Efficiency (accepted / queued): 105%

Discarded work due to new blocks: 0

Stale submissions discarded due to new blocks: 9

Unable to get work from server occasions: 15

Submitting work remotely delay occasions: 33


Pool: http://www.guugll.eu:11327

Queued work requests: 64

Share submissions: 63

Accepted shares: 63

Rejected shares: 0

Reject ratio: 0.0

Efficiency (accepted / queued): 98%

Discarded work due to new blocks: 0

Stale submissions discarded due to new blocks: 0

Unable to get work from server occasions: 1

Submitting work remotely delay occasions: 0


Summary of per device statistics:


GPU 0: [419.9 Mh/s] [Q:913  A:901  R:0  HW:0  E:99%  U:5.96/m]

GPU 1: [420.1 Mh/s] [Q:912  A:865  R:0  HW:0  E:95%  U:5.72/m]

GPU 2: [420.5 Mh/s] [Q:908  A:865  R:0  HW:0  E:95%  U:5.72/m]

GPU 3: [419.6 Mh/s] [Q:910  A:858  R:0  HW:0  E:94%  U:5.68/m]




Usage instructions:  Run “cgminer –help” to see options:


Usage: . [-atDdGCgIKklmpPQqrRsTouvwOchnV]

Options for both config file and command line:

–api-allow         Allow API access (if enabled) only to the given list of [W:]IP[/Prefix] address[/subnets]

This overrides –api-network and you must specify 127.0.0.1 if it is required

W: in front of the IP address gives that address privileged access to all api commands

–api-description   Description placed in the API status header (default: cgminer version)

–api-groups        API one letter groups G:cmd:cmd[,P:cmd:*...]

See API-README for usage

–api-listen        Listen for API requests (default: disabled)

By default any command that does not just display data returns access denied

See –api-allow to overcome this

–api-network       Allow API (if enabled) to listen on/for any address (default: only 127.0.0.1)

–api-port          Port number of miner API (default: 4028)

–auto-fan          Automatically adjust all GPU fan speeds to maintain a target temperature

–auto-gpu          Automatically adjust all GPU engine clock speeds to maintain a target temperature

–balance           Change multipool strategy from failover to even share balance

–benchmark         Run cgminer in benchmark mode – produces no shares

–compact           Use compact display without per device statistics

–debug|-D          Enable debug output

–device|-d <arg>   Select device to use, one value, range and/or comma separated (e.g. 0-2,4) default: all

–expiry|-E <arg>   Upper bound on how many seconds after getting work we consider a share from it stale (default: 120)

–failover-only     Don’t leak work to backup pools when primary pool is lagging

–fix-protocol      Do not redirect to a different getwork protocol (eg. stratum)

–hotplug <arg>     Set hotplug check time to <arg> seconds (0=never default: 5) – only with libusb

–kernel-path|-K <arg> Specify a path to where bitstream and kernel files are (default: “/usr/local/bin”)

–load-balance      Change multipool strategy from failover to efficiency based balance

–log|-l <arg>      Interval in seconds between log output (default: 5)

—lowmem            Minimise caching of shares for low memory applications

-monitor|-m <arg>  Use custom pipe cmd for output messages

–net-delay         Impose small delays in networking to not overload slow routers

–no-pool-disable   Do not automatically disable pools that continually reject shares

–no-restart        Do not attempt to restart GPUs that hang

–no-submit-stale   Don’t submit shares if they are detected as stale

–pass|-p <arg>     Password for bitcoin JSON-RPC server

–per-device-stats  Force verbose mode and output per-device statistics

–protocol-dump|-P  Verbose dump of protocol-level activities

–queue|-Q <arg>    Minimum number of work items to have queued (0 – 10) (default: 1)

–quiet|-q          Disable logging output, display status and errors

–real-quiet        Disable all output

–remove-disabled   Remove disabled devices entirely, as if they didn’t exist

–retries|-r <arg>  Number of times to retry before giving up, if JSON-RPC call fails (-1 means never) (default: -1)

–retry-pause|-R <arg> Number of seconds to pause, between retries (default: 5)

–rotate <arg>      Change multipool strategy from failover to regularly rotate at N minutes (default: 0)

–round-robin       Change multipool strategy from failover to round robin on failure

–scan-time|-s <arg> Upper bound on time spent scanning current work, in seconds (default: 60)

–sched-start <arg> Set a time of day in HH:MM to start mining (a once off without a stop time)

–sched-stop <arg>  Set a time of day in HH:MM to stop mining (will quit without a start time)

–scrypt            Use the scrypt algorithm for mining (litecoin only)

–sharelog <arg>    Append share log to file

–shares <arg>      Quit after mining N shares (default: unlimited)

–socks-proxy <arg> Set socks4 proxy (host:port)

–syslog            Use system log for output messages (default: standard error)

–temp-cutoff <arg> Temperature where a device will be automatically disabled, one value or comma separated list (default: 95)

–text-only|-T      Disable ncurses formatted screen output

–url|-o <arg>      URL for bitcoin JSON-RPC server

–user|-u <arg>     Username for bitcoin JSON-RPC server

–verbose           Log verbose output to stderr as well as status output

–userpass|-O <arg> Username:Password pair for bitcoin JSON-RPC server

Options for command line only:

–config|-c <arg>   Load a JSON-format configuration file

See example.conf for an example configuration.

–help|-h           Print this message

–version|-V        Display version and exit


GPU only options:


–auto-fan          Automatically adjust all GPU fan speeds to maintain a target temperature

–auto-gpu          Automatically adjust all GPU engine clock speeds to maintain a target temperature

–disable-gpu|-G    Disable GPU mining even if suitable devices exist

–gpu-threads|-g <arg> Number of threads per GPU (1 – 10) (default: 2)

–gpu-dyninterval <arg> Set the refresh interval in ms for GPUs using dynamic intensity (default: 7)

–gpu-engine <arg>  GPU engine (over)clock range in Mhz – one value, range and/or comma separated list (e.g. 850-900,900,750-850)

–gpu-fan <arg>     GPU fan percentage range – one value, range and/or comma separated list (e.g. 25-85,85,65)

–gpu-map <arg>     Map OpenCL to ADL device order manually, paired CSV (e.g. 1:0,2:1 maps OpenCL 1 to ADL 0, 2 to 1)

–gpu-memclock <arg> Set the GPU memory (over)clock in Mhz – one value for all or separate by commas for per card.

–gpu-memdiff <arg> Set a fixed difference in clock speed between the GPU and memory in auto-gpu mode

–gpu-powertune <arg> Set the GPU powertune percentage – one value for all or separate by commas for per card.

–gpu-reorder       Attempt to reorder GPU devices according to PCI Bus ID

–gpu-vddc <arg>    Set the GPU voltage in Volts – one value for all or separate by commas for per card.

–intensity|-I <arg> Intensity of GPU scanning (d or -10 -> 10, default: d to maintain desktop interactivity)

–kernel|-k <arg>   Override kernel to use (diablo, poclbm, phatk or diakgcn) – one value or comma separated

–ndevs|-n          Enumerate number of detected GPUs and exit

–temp-hysteresis <arg> Set how much the temperature can fluctuate outside limits when automanaging speeds (default: 3)

–temp-overheat <arg> Overheat temperature when automatically managing fan and GPU speeds (default: 85)

–temp-target <arg> Target temperature when automatically managing fan and GPU speeds (default: 75)

–vectors|-v <arg>  Override detected optimal vector (1, 2 or 4) – one value or comma separated list

–worksize|-w <arg> Override detected optimal worksize – one value or comma separated list


SCRYPT only options:


–lookup-gap <arg>  Set GPU lookup gap for scrypt mining, comma separated

–thread-concurrency <arg> Set GPU thread concurrency for scrypt mining, comma separated


See SCRYPT-README for more information regarding litecoin mining.


Cgminer will automatically find all of your Avalon ASIC, BFL ASIC, BitForce

FPGAs, Icarus bitstream FPGAs, ModMiner FPGAs, or Ztex FPGAs


ASIC and FPGA mining boards (Avalon, BFL ASIC, BitForce, Icarus, ModMiner, Ztex)

only options:


–avalon-options <arg> Set avalon options baud:miners:asic:timeout:freq

–avalon-temp <arg> Set avalon target temperature (default: 45)

–bfl-range         Use nonce range on bitforce devices if supported

–icarus-options <arg> Set specific FPGA board configurations – one set of values for all or comma separated

–icarus-timing <arg> Set how the Icarus timing is calculated – one setting/value for all or comma separated

–usb <arg>         USB device selection (See below)

–usb-dump          (See FPGA-README)


For other ASIC details see the ASIC-README

For other FPGA details see the FPGA-README



EXECUTIVE SUMMARY ON USAGE:


After saving configuration from the menu, you do not need to give cgminer any

arguments and it will load your configuration.


Any configuration file may also contain a single

“include” : “filename”

to recursively include another configuration file.

Writing the configuration will save all settings from all files in the output.


Single FTC pool, regular desktop:


cgminer -o http://www.guugll.eu:11327 -u username -p password


Single FTC pool, dedicated miner:


cgminer -o http://www.guugll.eu:11327 -u username -p password -I 9


Single FTC pool, first card regular desktop, 3 other dedicated cards:


cgminer -o http://www.guugll.eu:11327 -u username -p password -I d,9,9,9


Multiple FTC pool, dedicated miner:


cgminer -o http://www.guugll.eu:11327 -u pool1username -p pool1password -o http://p2pool.org:9377 -u pool2usernmae -p pool2password -I 9


Add overclocking settings, GPU and fan control for all cards:


cgminer -o http://www.guugll.eu:11327 -u username -p password -I 9 –auto-fan –auto-gpu –gpu-engine 750-950 –gpu-memclock 300


Add overclocking settings, GPU and fan control with different engine settings for 4 cards:


cgminer -o http://www.guugll.eu:11327 -u username -p password -I 9 –auto-fan –auto-gpu –gpu-engine 750-950,945,700-930,960 –gpu-memclock 300


READ WARNINGS AND DOCUMENTATION BELOW ABOUT OVERCLOCKING


On Linux you virtually always need to export your display settings before

starting to get all the cards recognised and/or temperature+clocking working:


export DISPLAY=:0



WHILE RUNNING:


The following options are available while running with a single keypress:


[P]ool management [G]PU management [ S]ettings [D]isplay options [Q]uit


P gives you:


Current pool management strategy: Failover

[A]dd pool [R]emove pool [D]isable pool [E]nable pool

[C]hange management strategy [ S]witch pool [ I]nformation


S gives you:


[Q]ueue: 1

[ S]cantime: 60

[E]xpiry: 120

[R]etries: -1

[P]ause: 5

[W]rite config file


D gives you:


Toggle: [D]ebug [N]ormal [ S]ilent [V]erbose [R]PC debug

[L]og interval [C]lear


Q quits the application.


G gives you something like:


GPU 0: [124.2 / 191.3 Mh/s] [Q:212  A:77  R:33  HW:0  E:36%  U:1.73/m]

Temp: 67.0 C

Fan Speed: 35% (2500 RPM)

Engine Clock: 960 MHz

Memory Clock: 480 Mhz

Vddc: 1.200 V

Activity: 93%

Powertune: 0%

Last initialised: [2011-09-06 12:03:56]

Thread 0: 62.4 Mh/s Enabled ALIVE

Thread 1: 60.2 Mh/s Enabled ALIVE


[E]nable [D]isable [R]estart GPU [C]hange settings

Or press any other key to continue




Also many issues and FAQs are covered in the forum thread

dedicated to this program,
http://forum.bitcoin.org/index.php?topic=28402.0


The output line shows the following:

(5s):1713.6 (avg):1707.8 Mh/s | Q:301  A:729  R:8  HW:0  E:242%  U:22.53/m


Each column is as follows:

5s:  A 5 second exponentially decaying average hash rate

avg: An all time average hash rate

Q:   The number of requested (Queued) work items from the pools

A:   The number of Accepted shares

R:   The number of Rejected shares

HW:  The number of HardWare errors

E:   The Efficiency defined as number of shares returned / work item

U:   The Utility defined as the number of shares / minute


GPU 1: 73.5C 2551RPM | 427.3/443.0Mh/s | A:8 R:0 HW:0 U:4.39/m


Each column is as follows:

Temperature (if supported)

Fanspeed (if supported)

A 5 second exponentially decaying average hash rate

An all time average hash rate

The number of accepted shares

The number of rejected shares

The number of hardware erorrs

The utility defines as the number of shares / minute


The cgminer status line shows:

TQ: 1  ST: 1  SS: 0  DW: 0  NB: 1  LW: 8  GF: 1  RF: 1


TQ is Total Queued work items.

ST is STaged work items (ready to use).

SS is Stale Shares discarded (detected and not submitted so don’t count as rejects)

DW is Discarded Work items (work from block no longer valid to work on)

NB is New Blocks detected on the network

LW is Locally generated Work items

GF is Getwork Fail Occasions (server slow to provide work)

RF is Remote Fail occasions (server slow to accept work)


NOTE: Running intensities above 9 with current hardware is likely to only

diminish return performance even if the hash rate might appear better. A good

starting baseline intensity to try on dedicated miners is 9. Higher values are

there to cope with future improvements in hardware.




MULTIPOOL


FAILOVER STRATEGIES WITH MULTIPOOL:

A number of different strategies for dealing with multipool setups are

available. Each has their advantages and disadvantages so multiple strategies

are available by user choice, as per the following list:


FAILOVER:

The default strategy is failover. This means that if you input a number of

pools, it will try to use them as a priority list, moving away from the 1st

to the 2nd, 2nd to 3rd and so on. If any of the earlier pools recover, it will

move back to the higher priority ones.


ROUND ROBIN:

This strategy only moves from one pool to the next when the current one falls

idle and makes no attempt to move otherwise.


ROTATE:

This strategy moves at user-defined intervals from one active pool to the next,

skipping pools that are idle.


LOAD BALANCE:

This strategy sends work to all the pools to maintain optimum load. The most

efficient pools will tend to get a lot more shares. If any pool falls idle, the

rest will tend to take up the slack keeping the miner busy.


BALANCE:

This strategy monitors the amount of difficulty 1 shares solved for each pool

and uses it to try to end up doing the same amount of work for all pools.




LOGGING


cgminer will log to stderr if it detects stderr is being redirected to a file.

To enable logging simply add 2>logfile.txt to your command line and logfile.txt

will contain the logged output at the log level you specify (normal, verbose,

debug etc.)


In other words if you would normally use:

./cgminer -o xxx -u yyy -p zzz

if you use

./cgminer -o xxx -u yyy -p zzz 2>logfile.txt

it will log to a file called logfile.txt and otherwise work the same.


There is also the -m option on linux which will spawn a command of your choice

and pipe the output directly to that command.


If you start cgminer with the –sharelog option, you can get detailed

information for each share found. The argument to the option may be “-” for

standard output (not advisable with the ncurses UI), any valid positive number

for that file descriptor, or a filename.


To log share data to a file named “share.log”, you can use either:

./cgminer –sharelog 50 -o xxx -u yyy -p zzz 50>share.log

./cgminer –sharelog share.log -o xxx -u yyy -p zzz


For every share found, data will be logged in a CSV (Comma Separated Value)

format:

timestamp,disposition,target,pool,dev,thr,sharehash,sharedata

For example (this is wrapped, but it’s all on one line for real):

1335313090,reject,

ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000,


http://localhost:8337,GPU0,0,


6f983c918f3299b58febf95ec4d0c7094ed634bc13754553ec34fc3800000000,

00000001a0980aff4ce4a96d53f4b89a2d5f0e765c978640fe24372a000001c5

000000004a4366808f81d44f26df3d69d7dc4b3473385930462d9ab707b50498

f681634a4f1f63d01a0cd43fb338000000000080000000000000000000000000

0000000000000000000000000000000000000000000000000000000080020000




OVERCLOCKING WARNING AND INFORMATION


AS WITH ALL OVERCLOCKING TOOLS YOU ARE ENTIRELY RESPONSIBLE FOR ANY HARM YOU

MAY CAUSE TO YOUR HARDWARE. OVERCLOCKING CAN INVALIDATE WARRANTIES, DAMAGE

HARDWARE AND EVEN CAUSE FIRES. THE AUTHOR ASSUMES NO RESPONSIBILITY FOR ANY

DAMAGE YOU MAY CAUSE OR UNPLANNED CHILDREN THAT MAY OCCUR AS A RESULT.


The GPU monitoring, clocking and fanspeed control incorporated into cgminer

comes through use of the ATI Display Library. As such, it only supports ATI

GPUs. Even if ADL support is successfully built into cgminer, unless the card

and driver supports it, no GPU monitoring/settings will be available.


Cgminer supports initial setting of GPU engine clock speed, memory clock

speed, voltage, fanspeed, and the undocumented powertune feature of 69×0+ GPUs.

The setting passed to cgminer is used by all GPUs unless separate values are

specified. All settings can all be changed within the menu on the fly on a

per-GPU basis.


For example:

–gpu-engine 950 –gpu-memclock 825


will try to set all GPU engine clocks to 950 and all memory clocks to 825,

while:

–gpu-engine 950,945,930,960 –gpu-memclock 300


will try to set the engine clock of card 0 to 950, 1 to 945, 2 to 930, 3 to

960 and all memory clocks to 300.


AUTO MODES:

There are two “auto” modes in cgminer, –auto-fan and –auto-gpu. These can

be used independently of each other and are complementary. Both auto modes

are designed to safely change settings while trying to maintain a target

temperature. By default this is set to 75 degrees C but can be changed with:


–temp-target

e.g.

–temp-target 80

Sets all cards’ target temperature to 80 degrees.


–temp-target 75,85

Sets card 0 target temperature to 75, and card 1 to 85 degrees.


AUTO FAN:

e.g.

–auto-fan (implies 85% upper limit)

–gpu-fan 25-85,65 –auto-fan


Fan control in auto fan works off the theory that the minimum possible fan

required to maintain an optimal temperature will use less power, make less

noise, and prolong the life of the fan. In auto-fan mode, the fan speed is

limited to 85% if the temperature is below “overheat” intentionally, as

higher fanspeeds on GPUs do not produce signficantly more cooling, yet

significanly shorten the lifespan of the fans. If temperature reaches the

overheat value, fanspeed will still be increased to 100%. The overheat value

is set to 85 degrees by default and can be changed with:


–temp-overheat

e.g.

–temp-overheat 75,85

Sets card 0 overheat threshold to 75 degrees and card 1 to 85.


AUTO GPU:

e.g.

–auto-gpu –gpu-engine 750-950

–auto-gpu –gpu-engine 750-950,945,700-930,960


GPU control in auto gpu tries to maintain as high a clock speed as possible

while not reaching overheat temperatures. As a lower clock speed limit,

the auto-gpu mode checks the GPU card’s “normal” clock speed and will not go

below this unless you have manually set a lower speed in the range. Also,

unless a higher clock speed was specified at startup, it will not raise the

clockspeed. If the temperature climbs, fanspeed is adjusted and optimised

before GPU engine clockspeed is adjusted. If fan speed control is not available

or already optimal, then GPU clock speed is only decreased if it goes over

the target temperature by the hysteresis amount, which is set to 3 by default

and can be changed with:

–temp-hysteresis

If the temperature drops below the target temperature, and engine clock speed

is not at the highest level set at startup, cgminer will raise the clock speed.

If at any time you manually set an even higher clock speed successfully in

cgminer, it will record this value and use it as its new upper limit (and the

same for low clock speeds and lower limits). If the temperature goes over the

cutoff limit (95 degrees by default), cgminer will completely disable the GPU

from mining and it will not be re-enabled unless manually done so. The cutoff

temperature can be changed with:


–temp-cutoff

e.g.

–temp-cutoff 95,105

Sets card 0 cutoff temperature to 95 and card 1 to 105.


–gpu-memdiff -125

This setting will modify the memory speed whenever the GPU clock speed is

modified by –auto-gpu. In this example, it will set the memory speed to

be 125 Mhz lower than the GPU speed. This is useful for some cards like the

6970 which normally don’t allow a bigger clock speed difference.


CHANGING SETTINGS:

When setting values, it is important to realise that even though the driver

may report the value was changed successfully, and the new card power profile

information contains the values you set it to, that the card itself may

refuse to use those settings. As the performance profile changes dynamically,

querying the “current” value on the card can be wrong as well. So when changing

values in cgminer, after a pause of 1 second, it will report to you the current

values where you should check that your change has taken. An example is that

6970 reference cards will accept low memory values but refuse to actually run

those lower memory values unless they’re within 125 of the engine clock speed.

In that scenario, they usually set their real speed back to their default.


Cgminer reports the so-called “safe” range of whatever it is you are modifying

when you ask to modify it on the fly. However, you can change settings to values

outside this range. Despite this, the card can easily refuse to accept your

changes, or worse, to accept your changes and then silently ignore them. So

there is absolutely to know how far to/from where/to it can set things safely or

otherwise, and there is nothing stopping you from at least trying to set them

outside this range. Being very conscious of these possible failures is why

cgminer will report back the current values for you to examine how exactly the

card has responded. Even within the reported range of accepted values by the

card, it is very easy to crash just about any card, so it cannot use those

values to determine what range to set. You have to provide something meaningful

manually for cgminer to work with through experimentation.


STARTUP / SHUTDOWN:

When cgminer starts up, it tries to read off the current profile information

for clock and fan speeds and stores these values. When quitting cgminer, it

will then try to restore the original values. Changing settings outside of

cgminer while it’s running may be reset to the startup cgminer values when

cgminer shuts down because of this.



RPC API


For RPC API details see the API-README file



GPU DEVICE ISSUES and use of –gpu-map


GPUs mine with OpenCL software via the GPU device driver. This means you need

to have both an OpenCL SDK installed, and the GPU device driver RUNNING (i.e.

Xorg up and running configured for all devices that will mine on linux etc.)

Meanwhile, the hardware monitoring that cgminer offers for AMD devices relies

on the ATI Display Library (ADL) software to work. OpenCL DOES NOT TALK TO THE

ADL. There is no 100% reliable way to know that OpenCL devices are identical

to the ADL devices, as neither give off the same information. cgminer does its

best to correlate these devices based on the order that OpenCL and ADL numbers

them. It is possible that this will fail for the following reasons:


1. The device order is listed differently by OpenCL and ADL (rare), even if the

number of devices is the same.

2. There are more OpenCL devices than ADL. OpenCL stupidly sees one GPU as two

devices if you have two monitors connected to the one GPU.

3. There are more ADL devices than OpenCL. ADL devices include any ATI GPUs,

including ones that can’t mine, like some older R4xxx cards.


To cope with this, the ADVANCED option for –gpu-map is provided with cgminer.

DO NOT USE THIS UNLESS YOU KNOW WHAT YOU ARE DOING. The default will work the

vast majority of the time unless you know you have a problem already.


To get useful information, start cgminer with just the -n option. You will get

output that looks like this:


[2012-04-25 13:17:34] CL Platform 0 vendor: Advanced Micro Devices, Inc.

[2012-04-25 13:17:34] CL Platform 0 name: AMD Accelerated Parallel Processing

[2012-04-25 13:17:34] CL Platform 0 version: OpenCL 1.1 AMD-APP (844.4)

[2012-04-25 13:17:34] Platform 0 devices: 3

[2012-04-25 13:17:34]   0       Tahiti

[2012-04-25 13:17:34]   1       Tahiti

[2012-04-25 13:17:34]   2       Cayman

[2012-04-25 13:17:34] GPU 0 AMD Radeon HD 7900 Series  hardware monitoring enabled

[2012-04-25 13:17:34] GPU 1 AMD Radeon HD 7900 Series  hardware monitoring enabled

[2012-04-25 13:17:34] GPU 2 AMD Radeon HD 6900 Series hardware monitoring enabled

[2012-04-25 13:17:34] 3 GPU devices max detected


Note the number of devices here match, and the order is the same. If devices 1

and 2 were different between Tahiti and Cayman, you could run cgminer with:

–gpu-map 2:1,1:2

And it would swap the monitoring it received from ADL device 1 and put it to

opencl device 2 and vice versa.


If you have 2 monitors connected to the first device it would look like this:


[2012-04-25 13:17:34] Platform 0 devices: 4

[2012-04-25 13:17:34]   0       Tahiti

[2012-04-25 13:17:34]   1       Tahiti

[2012-04-25 13:17:34]   2       Tahiti

[2012-04-25 13:17:34]   3       Cayman

[2012-04-25 13:17:34] GPU 0 AMD Radeon HD 7900 Series  hardware monitoring enabled

[2012-04-25 13:17:34] GPU 1 AMD Radeon HD 7900 Series  hardware monitoring enabled

[2012-04-25 13:17:34] GPU 2 AMD Radeon HD 6900 Series hardware monitoring enabled


To work around this, you would use:

-d 0 -d 2 -d 3 –gpu-map 2:1,3:2


If you have an older card as well as the rest it would look like this:


[2012-04-25 13:17:34] Platform 0 devices: 3

[2012-04-25 13:17:34]   0       Tahiti

[2012-04-25 13:17:34]   1       Tahiti

[2012-04-25 13:17:34]   2       Cayman

[2012-04-25 13:17:34] GPU 0 AMD Radeon HD 4500 Series  hardware monitoring enabled

[2012-04-25 13:17:34] GPU 1 AMD Radeon HD 7900 Series  hardware monitoring enabled

[2012-04-25 13:17:34] GPU 2 AMD Radeon HD 7900 Series  hardware monitoring enabled

[2012-04-25 13:17:34] GPU 3 AMD Radeon HD 6900 Series hardware monitoring enabled


To work around this you would use:

–gpu-map 0:1,1:2,2:3



FAQ


Q: cgminer segfaults when I change my shell window size.

A: Older versions of libncurses have a bug to do with refreshing a window

after a size change. Upgrading to a new version of curses will fix it.


Q: Can I mine on servers from different networks (eg smartcoin and bitcoin) at

the same time?

A: No, cgminer keeps a database of the block it’s working on to ensure it does

not work on stale blocks, and having different blocks from two networks would

make it invalidate the work from each other.


Q: Can I change the intensity settings individually for each GPU?

A: Yes, pass a list separated by commas such as -I d,4,9,9


Q: Can I put multiple pools in the config file?

A: Yes, check the example.conf file. Alternatively, set up everything either on

the command line or via the menu after startup and choose settings->write

config file and the file will be loaded one each startup.


Q: The build fails with gcc is unable to build a binary.

A: Remove the “-march=native” component of your CFLAGS as your version of gcc

does not support it.


Q: The CPU usage is high.

A: The ATI drivers after 11.6 have a bug that makes them consume 100% of one

CPU core unnecessarily so downgrade to 11.6. Binding cgminer to one CPU core on

windows can minimise it to 100% (instead of more than one core). Driver version

11.11 on linux and 11.12 on windows appear to have fixed this issue. Note that

later drivers may have an apparent return of high CPU usage. Try

‘export GPU_USE_SYNC_OBJECTS=1′ on Linux before starting cgminer. You can also

set this variable in windows via a batch file or on the command line before

starting cgminer with ‘setx GPU_USE_SYNC_OBJECTS 1′


Q: Can you implement feature X?

A: I can, but time is limited, and people who donate are more likely to get

their feature requests implemented.


Q: My GPU hangs and I have to reboot it to get it going again?

A: The more aggressively the mining software uses your GPU, the less overclock

you will be able to run. You are more likely to hit your limits with cgminer

and you will find you may need to overclock your GPU less aggressively. The

software cannot be responsible and make your GPU hang directly. If you simply

cannot get it to ever stop hanging, try decreasing the intensity, and if even

that fails, try changing to the poclbm kernel with -k poclbm, though you will

sacrifice performance. cgminer is designed to try and safely restart GPUs as

much as possible, but NOT if that restart might actually crash the rest of the

GPUs mining, or even the machine. It tries to restart them with a separate

thread and if that separate thread dies, it gives up trying to restart any more

GPUs.


Q: Work keeps going to my backup pool even though my primary pool hasn’t

failed?

A: Cgminer checks for conditions where the primary pool is lagging and will

pass some work to the backup servers under those conditions. The reason for

doing this is to try its absolute best to keep the GPUs working on something

useful and not risk idle periods. You can disable this behaviour with the

option –failover-only.


Q: Is this a virus?

A: Cgminer is being packaged with other trojan scripts and some antivirus

software is falsely accusing cgminer.exe as being the actual virus, rather

than whatever it is being packaged with. If you installed cgminer yourself,

then you do not have a virus on your computer. Complain to your antivirus

software company. They seem to be flagging even source code now from cgminer

as viruses, even though text source files can’t do anything by themself.


Q: Can you modify the display to include more of one thing in the output and

less of another, or can you change the quiet mode or can you add yet another

output mode?

A: Everyone will always have their own view of what’s important to monitor.

The defaults are very sane and I have very little interest in changing this

any further.


Q: Can you change the autofan/autogpu to change speeds in a different manner?

A: The defaults are sane and safe. I’m not interested in changing them

further. The starting fan speed is set to 50% in auto-fan mode as a safety

precaution.


Q: What are the best parameters to pass for X pool/hardware/device.

A: Virtually always, the DEFAULT parameters give the best results. Most user

defined settings lead to worse performance. The ONLY thing most users should

need to set is the Intensity.


Q: What happened to CPU mining?

A: Being increasingly irrelevant for most users, and a maintenance issue, it is

no longer under active development and will not be supported. No binary builds

supporting CPU mining will be released. Virtually all remaining users of CPU

mining are as back ends for illegal botnets.


Q: I upgraded cgminer version and my hashrate suddenly dropped!

A: No, you upgraded your SDK version unwittingly between upgrades of cgminer

and that caused  your hashrate to drop. See the next question.


Q: I upgraded my ATI driver/SDK/cgminer and my hashrate suddenly dropped!

A: The hashrate performance in cgminer is tied to the version of the ATI SDK

that is installed only for the very first time cgminer is run. This generates

binaries that are used by the GPU every time after that. Any upgrades to the

SDK after that time will have no effect on the binaries. However, if you

install a fresh version of cgminer, and have since upgraded your SDK, new

binaries will be built. It is known that the 2.6 ATI SDK has a huge hashrate

penalty on generating new binaries. It is recommended to not use this SDK at

this time unless you are using an ATI 7xxx card that needs it.


Q: Which AMD SDK is the best for cgminer?

A: At the moment, versions 2.4 and 2.5 work the best for R5xxx and R6xxx GPUS.

SDK 2.6 or 2.7 works best for R7xxx. SDK 2.8 is known to have many problems.

If you are need to use the 2.6+ SDK or R7xxx or later, the phatk kernel will

perform poorly, while the diablo or my custom modified poclbm kernel are

optimised for it.


Q: Which AMD driver is the best?

A: Unfortunately AMD has a history of having quite a few releases with issues

when it comes to mining, either in terms of breaking mining, increasing CPU

usage or very low hashrates. Only experimentation can tell you for sure, but

some good releases were 11.6, 11.12, 12.4 and 12.8. Note that older cards may

not work with the newer drivers.


Q: I have multiple SDKs installed, can I choose which one it uses?

A: Run cgminer with the -n option and it will list all the platforms currently

installed. Then you can tell cgminer which platform to use with –gpu-platform.


Q: GUI version?

A: No. The RPC interface makes it possible for someone else to write one

though.


Q: I’m having an issue. What debugging information should I provide?

A: Start cgminer with your regular commands and add -D -T –verbose and provide

the full startup output and a summary of your hardware, operating system, ATI

driver version and ATI stream version.


Q: cgminer reports no devices or only one device on startup on Linux although

I have multiple devices and drivers+SDK installed properly?

A: Try “export DISPLAY=:0″ before running cgminer.


Q: cgminer crashes immediately on startup.

A: One of the common reasons for this is that you have mixed files on your

machine for the driver or SDK. Windows has a nasty history of not cleanly

uninstalling files so you may have to use third party tools like driversweeper

to remove old versions. The other common reason for this is windows

antivirus software is disabling one of the DLLs from working. If cgminer

starts with the -T option but never starts without it, this is a sure fire

sign you have this problem and will have to disable your antivirus or make

exceptions.


Q: Why don’t you provide win64 builds?

A: Win32 builds work everywhere and there is precisely zero advantage to a

64 bit build on windows.


Q: Is it faster to mine on windows or linux?

A: It makes no difference. It comes down to choice of operating system for

their various features. Linux offers much better long term stability and

remote monitoring and security, while windows offers you overclocking tools

that can achieve much more than cgminer can do on linux.


Q: Can I mine with cgminer on a MAC?

A: cgminer will compile on OSX, but the performance of GPU mining is

compromised due to the opencl implementation on OSX, there is no temperature

or fanspeed monitoring, and the cooling design of most MACs, despite having

powerful GPUs, will usually not cope with constant usage leading to a high

risk of thermal damage. It is highly recommended not to mine on a MAC unless

it is to a USB device.


Q: Cgminer cannot see any of my GPUs even though I have configured them all

to be enabled and installed OpenCL (+/- Xorg is running and the DISPLAY

variable is exported on linux)?

A: Check the output of ‘cgminer -n’, it will list what OpenCL devices your

installed SDK recognises. If it lists none, you have a problem with your

version or installation of the SDK.


Q: Cgminer is mining on the wrong GPU, I want it on the AMD but it’s mining

on my on board GPU?

A: Make sure the AMD OpenCL SDK is installed, check the output of ‘cgminer -n’

and use the appropriate parameter with –gpu-platform.


Q: I’m getting much lower hashrates than I should be for my GPU?

A: Look at your driver/SDK combination and disable power saving options for

your GPU. Specifically look to disable ULPS. Make sure not to set intensity

above 11 for BTC mining.


Q: Can I mine with AMD while running Nvidia or Intel GPUs at the same time?

A: If you can install both drivers successfully (easier on windows) then

yes, using the –gpu-platform option.


Q: Can I mine with Nvidia or Intel GPUs?

A: Yes but their hashrate is very poor and likely you’ll be using much more

energy than you’ll be earning in coins.


Q: Can I mine on both Nvidia and AMD GPUs at the same time?

A: No, you must run one instance of cgminer with the –gpu-platform option for

each.


Q: Can I mine on Linux without running Xorg?

A: With Nvidia you can, but with AMD you cannot.


Q: I’m trying to mine litecoin but cgminer shows MH values instead of kH and

submits no shares?

A: Add the –scrypt parameter.


Q: I can’t get anywhere near enough hashrate for scrypt compared to other

people?

A: You may not have enough system RAM as this is also required.


Q: My scrypt hashrate is high but the pool reports only a tiny proportion of

my hashrate?

A: You are generating garbage hashes due to your choice of settings. Your

Work Utility (WU) value will confirm you are not generating garbage. You

should be getting about .9WU per kHash. If not, then try decreasing your

intensity, do not increase the number of gpu-threads, and consider adding

system RAM to match your GPU ram. You may also be using a bad combination

of driver and/or SDK.


Q: Scrypt fails to initialise the kernel every time?

A: Your parameters are too high. Don’t add GPU threads, don’t set intensity

too high, decrease thread concurrency. See the SCRYPT-README for a lot more

help.


Q: Cgminer stops mining (or my GPUs go DEAD) and I can’t close it?

A: Once the driver has crashed, there is no way for cgminer to close cleanly.

You will have to kill it, and depending on how corrupted your driver state

has gotten, you may even need to reboot. Windows is known to reset drivers

when they fail and cgminer will be stuck trying to use the old driver instance.


Q: I can’t get any monitoring of temperatures or fanspeed with cgminer when

I start it remotely?

A: With linux, make sure to export the DISPLAY variable. On windows, you

cannot access these monitoring values via RDP. This should work with tightVNC

or teamviewer though.


Q: I change my GPU engine/memory/voltage and cgminer reports back no change?

A: Cgminer asks the GPU using the ATI Display Library to change settings, but

the driver and hardware are free to do what it wants with that query, including

ignoring it. Some GPUs are locked with one or more of those properties as well.


Q: I have multiple GPUs and although many devices show up, it appears to be

working only on one GPU splitting it up.

A: Your driver setup is failing to properly use the accessory GPUs. Your

driver may be configured wrong or you have a driver version that needs a dummy

plug on all the GPUs that aren’t connected to a monitor.


Q: Should I use crossfire/SLI?

A: It does not benefit mining at all and depending on the GPU may actually

worsen performance.


Q: I have some random GPU performance related problem not addressed above.

A: Seriously, it’s the driver and/or SDK. Uninstall them and start again,

noting there is no clean way to uninstall them so you have to use extra tools

or do it manually.


Q: Do I need to recompile after updating my driver/SDK?

A: No. The software is unchanged regardless of which driver/SDK/ADL_SDK version

you are running. However if you change SDKs you should delete any generated

.bin files for them to be recreated with the new SDK.


Q: I switch users on windows and my mining stops working?

A: That’s correct, it does. It’s a permissions issue that there is no known

fix for due to monitoring of GPU fanspeeds and temperatures. If you disable

the monitoring with –no-adl it should switch okay.


Q: My network gets slower and slower and then dies for a minute?

A; Try the –net-delay option.


Q: How do I tune for p2pool?

A: p2pool has very rapid expiration of work and new blocks, it is suggested you

decrease intensity by 1 from your optimal value, and decrease GPU threads to 1

with -g 1. It is also recommended to use –failover-only since the work is

effectively like a different block chain. If mining with a minirig, it is worth

adding the –bfl-range option.


Q: Are OpenCL kernels from other mining software useable in cgminer?

A: No, the APIs are slightly different between the different software and they

will not work.


Q: I run PHP on windows to access the API with the example miner.php. Why does

it fail when php is installed properly but I only get errors about Sockets not

working in the logs?

A: http://us.php.net/manual/en/sockets.installation.php


Q: What is a PGA?

A: At the moment, cgminer supports 4 FPGAs: BitForce, Icarus, ModMiner, and Ztex.

They are Field-Programmable Gate Arrays that have been programmed to do Bitcoin

mining. Since the acronym needs to be only 3 characters, the “Field-” part has

been skipped.


Q: How do I get my BFL/Icarus/Lancelot/Cairnsmore device to auto-recognise?

A: On linux, if the /dev/ttyUSB* devices don’t automatically appear, the only

thing that needs to be done is to load the driver for them:

BFL: sudo modprobe ftdi_sio vendor=0×0403 product=0×6014

Icarus: sudo modprobe pl2303 vendor=0x067b product=0×230

Lancelot: sudo modprobe ftdi_sio vendor=0×0403 product=0×6001

Cairnsmore: sudo modprobe ftdi_sio product=0×8350 vendor=0×0403

On windows you must install the pl2303 or ftdi driver required for the device

pl2303: http://prolificusa.com/pl-2303hx-drivers/

ftdi: http://www.ftdichip.com/Drivers/VCP.htm


Q: On linux I can see the /dev/ttyUSB* devices for my Icarus FPGAs, but

cgminer can’t mine on them

A: Make sure you have the required priviledges to access the /dev/ttyUSB* devices:

sudo ls -las /dev/ttyUSB*

will give output like:

0 crw-rw—- 1 root dialout 188, 0 2012-09-11 13:49 /dev/ttyUSB0

This means your account must have the group ‘dialout’ or root priviledges

To permanently give your account the ‘dialout’ group:

sudo usermod -G dialout -a `whoami`

Then logout and back in again


Q: Can I mine scrypt with FPGAs or ASICs?

A: No.


Q: What is stratum and how do I use it?

A: Stratum is a protocol designed for pooled mining in such a way as to

minimise the amount of network communications, yet scale to hardware of any

speed. With versions of cgminer 2.8.0+, if a pool has stratum support, cgminer

will automatically detect it and switch to the support as advertised if it can.

If you input the stratum port directly into your configuration, or use the

special prefix “stratum+tcp://” instead of “http://”, cgminer will ONLY try to

use stratum protocol mining. The advantages of stratum to the miner are no

delays in getting more work for the miner, less rejects across block changes,

and far less network communications for the same amount of mining hashrate. If

you do NOT wish cgminer to automatically switch to stratum protocol even if it

is detected, add the –fix-protocol option.


Q: Why don’t the statistics add up: Accepted, Rejected, Stale, Hardware Errors,

Diff1 Work, etc. when mining greater than 1 difficulty shares?

A: As an example, if you look at ‘Difficulty Accepted’ in the RPC API, the number

of difficulty shares accepted does not usually exactly equal the amount of work

done to find them. If you are mining at 8 difficulty, then you would expect on

average to find one 8 difficulty share, per 8 single difficulty shares found.

However, the number is actually random and converges over time, it is an average,

not an exact value, thus you may find more or less than the expected average.


Q: Why do the scrypt diffs not match with the current difficulty target?

A: The current scrypt block difficulty is expressed in terms of how many

multiples of the BTC difficulty it currently is (eg 28) whereas the shares of

“difficulty 1″ are actually 65536 times smaller than the BTC ones. The diff

expressed by cgminer is as multiples of difficulty 1 shares.



This code is provided entirely free of charge by the programmer in his spare

time so donations would be greatly appreciated. Please consider donating to the

address below.


Con Kolivas <kernel@kolivas.org>

15qSxP1SQcUX3o4nhkfdbgyoWEFMomJ4rZ


 


source: https://bitcointalk.org/index.php?topic=28402.0