Author

Topic: OFFICIAL CGMINER mining software thread for linux/win/osx/mips/arm/r-pi 4.11.0 - page 129. (Read 5805527 times)

legendary
Activity: 1610
Merit: 1000
WARNING: There may be a problem with cgminer 3.12.1 that makes it stop retrieving work. I will investigate further and possibly release a fix in the next 24 hours. In the meantime I suggest users do not upgrade.

Sigh.
Super! I have noticed same. Good news are that commenting commit is solving  the problem for me for last hour or so.

PS my hanged again Cry the only thing from what i can see since my stable build which have changed and may be related

https://github.com/ckolivas/cgminer/commit/c4267e663aa7b4e7c2cd997fbe3c45bf87365f13
but the above commit seems good to me

 

sr. member
Activity: 295
Merit: 250
Couple of small questions for you guys, please. 

I've got a small farm of block erupters.  One of them is showing massive hardware errors, so I suspect it's going bad.  Is there an easy way to identify the physical device, short of unplugging all my erupters one by one until the bad one goes zombie?

Secondly, I have a few Klondike based miners.  In the config file, I have this setting:

Code:
"klondike-options": "340:65",

At startup, cgminer clearly is reading the setting; it outputs a line with the Klondike setting that has the right frequency and says the cutoff temp is 65 (too fast for me to copy/paste).  However, in actual hashing, the cutoff temp is 55.  I remember reading something from a few months back where either Con or Kano mentioned that the 55 is hard coded, but I lost track of the issue and what the resolution was.  Was that ever fixed, or is it intentional that the temp is locked at 55?  I'd rather not do a personal compilation of cgminer if I can avoid it.

Thanks in advance. Smiley
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
WARNING:  There may be a problem with cgminer 3.12.1 that makes it stop retrieving work. I will investigate further and possibly release a fix in the next 24 hours. In the meantime I suggest users do not upgrade.

Sigh.
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
...
Woo, now I just need a Raspbian binary and I can finally ditch bfgminer. Tongue

I've put out 3.12.1a as I've done before
I'll make it a brief post Smiley

https://github.com/kanoi/cgminer-binaries
For you, it'll be under the RPi_Arch or RPi_Raspbian folders.
The *bab versions are all USB + BaB so don't use them if you don't have BaB boards
The *a versions are all USB.

I've also created another git that explains how to configure linux to start cgminer and keep it running.
https://github.com/kanoi/cgminer-run

New regarding 3.12.1 Smiley
There is a 'little' change in there called
"- API allow multiple commands/replies in one request"
That one is actually quite significant for anyone who uses the API a lot.
With API V3.1 you can send more than one report command in one request.
It's only for report replies that require no parameters e.g. summary, pools, devs, config, stats etc
It's simple enough, you simply send the commands '+' together.
So to get summary and config in the same reply you send summary+config as the command
See API-README for more details and the format of the reply.
https://github.com/ckolivas/cgminer/blob/master/API-README#L112
legendary
Activity: 3583
Merit: 1094
Think for yourself
How I can manual set the diff at my Jupiter at 512 because pool make the diff at 2048

That's a function of the pool not the mining software.
legendary
Activity: 2408
Merit: 1004
How I can manual set the diff at my Jupiter at 512 because pool make the diff at 2048
legendary
Activity: 1610
Merit: 1000
Con,

There might be an issue caused by fa26f8df82f9213cffd8a715ac1450d3c191d459 commit

mutex_lock(&stats_lock);
cgpu->last_device_valid_work = time(NULL);
mutex_unlock(&stats_lock);
I got some locks recently. One possible reason might be.....that everywhere last_device_valid_work was changed under lock, but commit does not lock it

if (diff_t > 0) {
      applog(LOG_DEBUG, "Get work blocked for %d seconds", (int)diff_t);
      thr->cgpu->last_device_valid_work += diff_t;
   }

I am commenting it to see if locks will appear


If i wrote something stupid pls do excuse me

Best
newbie
Activity: 4
Merit: 0
There may well be a memory leak. I have not seen one, but I do not run anything on an RPi. If you can run the most current code from git as a debug build and get output it would be most helpful.
See:
http://ck.kolivas.org/apps/cgminer/debug/README-debug

There is most certainly one... it fills up slowly, more slowly than I thought. I have cgminer-3.12 running for 2 days - just now it has filled the whole memory and the PI starts to swap. I made a screenshot of htop, which I could send you per mail.

Certainly the leak exists not only on PI but also on all other platforms. At least if it is not caused by a special #ifdef, that only applies on arm compile.
I could backtrace it in valgrind and gdb... but I am not as deep in the code as you are, so you will likely be much more productive in identifying the problem. Nevertheless I can give it a try over the weekend  Smiley

hero member
Activity: 591
Merit: 500
Quote
By default, Antminer U1 devices run at a clockspeed of 200. This command allows
you to specify a chosen frequency to attempt to run all ANU devices at and the
value must be in increments of 25. Note that cgminer reports hashrate ONLY
FROM VALID HASHES so if you increase the frequency but your hashrate does not
increase or it decreases and hardware errors start showing up, you have
overclocked it too much. In the worst case scenario it will fail to start at
too high a speed.

Note that adding --icarus-timing=short is basically mandatory if you overclock them at this stage. The requirement for this should be fixed in a future version.
Woo, now I just need a Raspbian binary and I can finally ditch bfgminer. Tongue
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Quote
By default, Antminer U1 devices run at a clockspeed of 200. This command allows
you to specify a chosen frequency to attempt to run all ANU devices at and the
value must be in increments of 25. Note that cgminer reports hashrate ONLY
FROM VALID HASHES so if you increase the frequency but your hashrate does not
increase or it decreases and hardware errors start showing up, you have
overclocked it too much. In the worst case scenario it will fail to start at
too high a speed.

Note that adding --icarus-timing=short is basically mandatory if you overclock them at this stage. The requirement for this should be fixed in a future version.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
New version: 3.12.1, 7th February 2014

Mostly lots of bugfixes and heaps of new features for hashfast devices with upgraded firmware (due out soon).

Human readable changelog:

- Dynamic temperature based fanspeed and per-die clockspeed control for hashfast devices with the following new commands.

--hfa-fan     Set fanspeed percentage for hashfast, single value or range (default: 10-85)
--hfa-temp-target Set the hashfast target temperature (0 to disable) (default: 88)

Defaults chosen are based on extensive discussion with the design engineers responsible for the silicon and boards and basically it will keep your hashfast devices as close to the starting clockspeed as possible while keeping under~95 degrees by initially increasing fanspeed, and then decreasing the clockspeed on the hottest dies discretely. The output can be watched via the API. Enduring sweltering temperatures of up to 44 degrees here has made for an excellent real world test for this code.
- Numerous startup/reset/shutdown reliability improvements for hashfast
- Send a ping to the hashfast device at regular intervals if we don't have any work for it just so it knows cgminer is still alive to try and minimise the dreaded watchdog reboots.
- Lots of extra information in the hashfast API stats output.
- Hashfast serial number is shown as a hex value now.
- Better hashfast flushing of work on restarts - new firmware will build further on this.
- Antminer U1 overclocking support with --anu-freq note:
Quote
By default, Antminer U1 devices run at a clockspeed of 200. This command allows
you to specify a chosen frequency to attempt to run all ANU devices at and the
value must be in increments of 25. Note that cgminer reports hashrate ONLY
FROM VALID HASHES so if you increase the frequency but your hashrate does not
increase or it decreases and hardware errors start showing up, you have
overclocked it too much. In the worst case scenario it will fail to start at
too high a speed.
You basically must use --icarus-timing=short additionally to get the maximum benefit out of the overclocking (at this stage).
- Keep taking a trickle of work even if it's not being used just to keep an eye on pools and to keep the most recent work time up to date
- Make the top "window" wider since hashes these days come in the many millions and don't fit into 80 characters
- In verbose mode, the share above target message shows for which device
- Rolled back to the last good working libusb - the alleged libusb/x merge did not bring improvements and added windows instability with spontaneous exiting
- Handle better numerous non-terminal errors (the cgsem ones) that were leading to cgminer exiting
- BAB improvements courtesy of Kano
- Verbose mode will now show if it takes time to submit a stratum share, or it takes a long time to get a response from pools due to them lagging substantially, to help debug where latencies might be causing high stales.
- Added a way to zero other stats within each driver when the zero stats command is given (though no driver currently uses it).
- Fix one stale work item being passed to drivers after a block change.
- Fix a rare usbutils crash
- Pool diffs that are fractions only show one decimal place now.
- In debug mode a message will show up if there are substantial delays in getting work.
- Fix for massive data over the API
- Other random fixes.


Full changelog:

- Document new features for antminer U1 and hfa devices.
- Add support for ANU overclocking.
- Increase hfa fanspeed by more if we're rising in temp above the target than if
the temp is staying the same.
- Add debug output when get_work() is blocked for an extended period and add
grace time to the device's last valid work to prevent false positives for device
failure.
- Issue a shutdown prior to a reset command for hfa devices and lock access to
reads awaiting the response if the device is already running.
- Do not register as successful a hfa init sequence that reports the clockrate
as zero.
- Show device info in noffset nonce share above target message.
- Widen lines in top menu to fit extra large share values.
- Only show one decimal place if pool diff is not an integer.
- Show serial number as a hex value in hfa verbose startup.
- Slowly remove work even if it's not being used to keep the getwork counter
incrementing even if work is not used and as a test that pools are still
working.
- Increase the maximum diff between hfa dies to 100Mhz.
- Show which hfa die is bringing down all the others when decreasing all the
clock speeds.
- Increase the decrease when temp has increased more and we want to decrease it
on hfa.
- Give device info with share above target message.
- Allow throttling of hfa dies more frequently and increasing of speeds less
frequently.
- Wait after sending a hfa shutdown to allow the device to properly shut down
before possibly sending it more commands.
- Minimise the die clock differences in hfa to no more than 50Mhz.
- Check for when errno is set on windows as well as the windows variant for
errors.
- Revert "Update to libusb-1.0.18"
- Disable fan/die clock control in hfa if the firmware does not support it, with
notification.
- Add ability to enter ANU frequency as a multiple of 25 from 150-500.
- Decrease hfa clock by 10 if a reset is attempted due to the device remaining
idle.
- ifdef out icarus options unused without icarus built in.
- Reorder command line options alphabetically.
- Add no matching work to hfa API output.
- Change various logging message levels in the hfa driver.
- Only adjust clocks if there is no restart in hfa to avoid 2 restarts back to
back.
- Ensure we iterate over all dies adjusting temperate for hfa by starting
iterating after the last die modified.
- Clamp initial hfa fanspeed to min/max if passed as parameters.
- Allow hfa fanspeed to be set via command line.
- Further relax the target temperatures on hfa driver, targetting 88 degrees.
- Try one more time to get the hfa header on init since it can take 2 seconds
for all 3 boards on a sierra.
- Update authors for removal of gpu/scrypt.
- Wait for 5 temperature updates in hfa before adjusting fanspeed.
- Have some leeway before starting to throttle hfa dies.
- Use increments of 10 when increasing hfa clock since it may not have 5 MHz
granularity internally.
- Only perform a hfa fan speed update if we have new temps to work with.
- Correctly measure the hfa max temp and smooth out the changes in its value.
- Choose better defaults for min/max/default fan settings for hfa driver.
- bab - reduce def speed, fix speed staying in ranges and report bank/chips in
ioctl() errors
- bab - add info about number of boards/chips to each Dead Chain
- These may not be longs (eg: OSX)... fo a safe cast to ensure.
- bab - add dead boards and dead chains to stats
- Add fanspeed to hfa api output and set initial fanspeed to 10%
- Add hfa fanspeed control to try and maintain a target temperature.
- API-README correct new text format documentation
- API allow multiple commands/replies in one request
- Add op commands necessary to control hfa fanspeeds.
- Add OP_FAN to hf protocol header.
- Always show the stratum share lag time in debug mode.
- Add stratum share response lag time to verbose output if it's greater than 1
second.
- Add stratum share submission lag time to verbose information if it's over 1
second.
- Check for more interrupted conditions in util.c and handle them gracefully.
- Send a ping to hfa devices if nothing is sent for over 5 seconds.
- Add OP_PING to hfa commands
- Display the hfa serial number as a hexadecimal value.
- Add the ability to display a hexadecimal 32 bit unsigned integer to the API.
- Limit all hfa restarts for temperature control to no closer than 15 seconds
apart.
- Allow the hfa temp target to be disabled by setting it to zero.
- Handle interruptions to various select calls in util.c
- Add sanity check for silly overflows in hfa die temperature readings.
- Add per-die throttling control for hfa driver based on each die's temperature,
issuing a suitable reset to maintain the temperature below a configurable target
temperature.
- Update hf protocol
- Do not memcpy in usbutils unless data was transferred.
- Send a full allotment of jobs to the hfa device after a restart instead of
reading the status.
- Export the flush_queue function for use by drivers.
- Remove wrong goto
- Remove the unqueued work reference when we discard work from get queued as
well.
- Wake the global work scheduler when we remove a work item from the unqueued
work pointer.
- Discard work that is stale in the get_queued() function, returning NULL
instead.
- Add a call to a driver specific zero stats function when zero stats is called
to allow each driver to reset its own stats as well if desired.
hero member
Activity: 546
Merit: 500
Hello,

Could it be that cgminer-3.12 has a memory leak?

When I run it on my RaspPI for ca. one day, the memory gets swamped like hell, as well as the swap. As soon as I stop cgminer, memory and swap load go down to near zero. I used htop to trace the memory... Also I recognized that, when I don't stop and restart cgminer, it crashes with a segmentation fault at some point (which might be the point, when there is no more memory available).

It would be great if you could check and eventually fix that Smiley


Best Regards

There may well be a memory leak. I have not seen one, but I do not run anything on an RPi. If you can run the most current code from git as a debug build and get output it would be most helpful.
See:
http://ck.kolivas.org/apps/cgminer/debug/README-debug

If I follow what the debug says it says its 3.9 when I run it and anu devices don't show up. Is there a [compiled] 3.12 debug file?
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Is the option --anu-freq not enabled in the rest of the code for now?
It's just command line option code with nothing implemented yet.
full member
Activity: 142
Merit: 100
I'm running cgminer pulled freshly from github with 2 Antminer U1 after I have seen this commit:
Code:
commit 6ff2b7bd2c5c7684518fe7b1f67d42aca19eb85b
Author: Con Kolivas
Date:   Wed Feb 5 22:22:04 2014 +1100

    Add ability to enter ANU frequency as a multiple of 25 from 150-500.

But when I use
Code:
"anu-freq" : "250"
hashrates are still as default:

Code:
ANU 0:                | 1.741G/1.730Gh/s | A:140 R:4 HW:0 WU: 24.3/m
ANU 1:                | 1.819G/1.730Gh/s | A:128 R:0 HW:0 WU: 23.3/m

Is the option --anu-freq not enabled in the rest of the code for now?
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Hello,

Could it be that cgminer-3.12 has a memory leak?

When I run it on my RaspPI for ca. one day, the memory gets swamped like hell, as well as the swap. As soon as I stop cgminer, memory and swap load go down to near zero. I used htop to trace the memory... Also I recognized that, when I don't stop and restart cgminer, it crashes with a segmentation fault at some point (which might be the point, when there is no more memory available).

It would be great if you could check and eventually fix that Smiley


Best Regards

There may well be a memory leak. I have not seen one, but I do not run anything on an RPi. If you can run the most current code from git as a debug build and get output it would be most helpful.
See:
http://ck.kolivas.org/apps/cgminer/debug/README-debug
newbie
Activity: 56
Merit: 0
Hello

I'm studying Klondike firmware but is very difficult do retro enginering.

Can someone of you explane me which are the step that are necessary for create comunication between CGMiner and Avalon 3256 ?

Thanks
member
Activity: 112
Merit: 10
Is there any chance that Keccak (SHA3) mining will work on AMD GPUs?  Smiley
None.

I'm not a skilled programmer, could you explain why? Smiley It seems like the Nvidia guys have found a way to make it work.
cgminer is now bitcoin only mining software with no gpu code

Hmm, OK... I thought I was GPU mining with cgminer Cheesy
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Is there any chance that Keccak (SHA3) mining will work on AMD GPUs?  Smiley
None.

I'm not a skilled programmer, could you explain why? Smiley It seems like the Nvidia guys have found a way to make it work.
cgminer is now bitcoin only mining software with no gpu code
member
Activity: 112
Merit: 10
Is there any chance that Keccak (SHA3) mining will work on AMD GPUs?  Smiley
None.

I'm not a skilled programmer, could you explain why? Smiley It seems like the Nvidia guys have found a way to make it work.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Is there any chance that Keccak (SHA3) mining will work on AMD GPUs?  Smiley
None.
Jump to: