Author

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

-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Ah ok, some last minute fsckage. Will rework a 3.6.1 soon.
hero member
Activity: 792
Merit: 1000
Bite me
lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0424:2504 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 003: ID 413c:1003 Dell Computer Corp. Keyboard Hub
Bus 001 Device 004: ID 413c:2010 Dell Computer Corp. Keyboard
Bus 001 Device 005: ID 047d:1029 Kensington Mouse*in*a*Box Optical Elite
Bus 005 Device 004: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light

cgminer -n
 [2013-10-14 12:32:44] USB all: found 12 devices - listing known devices
.USB dev 0: Bus 5 Device 4 ID: 10c4:ea60
  Manufacturer: 'Silicon Labs'
  Product: 'CP2102 USB to UART Bridge Controller'
 [2013-10-14 12:32:44] 1 known USB devices

[edit]
no not working

hotpluggin does not discover them or leaving it running for a couple of mins

actually - it does now work ...

let me investigate a bit more


..
another edit
on one machine it just does not work at all - but that may have other issues so I'll ignore that one for a bit ....

on the new machine when I hotplug another one in
[2013-10-14 12:49:04] AMU 0 usb read error: **UNKNOWN**
 [2013-10-14 12:49:04] AMU 0 usb read error: **UNKNOWN**
 [2013-10-14 12:49:04] AMU 0 failure, disabling!
 [2013-10-14 12:49:04] Thread 0 failure, exiting
 [2013-10-14 12:49:51] Hotplug: Icarus added AMU 1
 [2013-10-14 12:52:03] Hotplug: Icarus added AMU 2

so yes it does find them but very slowly .,...
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
[2013-10-14 12:27:59] Started cgminer 3.6.0
 [2013-10-14 12:27:59] Loaded configuration file /home/.cgminer/cgminer.conf
 [2013-10-14 12:28:00] No devices detected!
 [2013-10-14 12:28:00] Waiting for USB hotplug devices or press q to quit
 [2013-10-14 12:28:00] Probing for an alive pool

Did you leave it up for a bit? Sometimes it can take a while for them to hotplug. Also show us the output of 'cgminer -n' and lsusb please.
hero member
Activity: 792
Merit: 1000
Bite me
 [2013-10-14 12:27:59] Started cgminer 3.6.0
 [2013-10-14 12:27:59] Loaded configuration file /home/.cgminer/cgminer.conf
 [2013-10-14 12:28:00] No devices detected!
 [2013-10-14 12:28:00] Waiting for USB hotplug devices or press q to quit
 [2013-10-14 12:28:00] Probing for an alive pool
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
I don't have any bitfurys [yet]
however
a re-compilation with
just --enable-icarus
and it does not detect any amu's
 
this is a fairly clean system - I was testing a new debian system for general use so I thought I'd test this
More info about "does not detect" ?
hero member
Activity: 792
Merit: 1000
Bite me
I don't have any bitfurys [yet]
however
a re-compilation with
just --enable-icarus
and it does not detect any amu's
 
this is a fairly clean system - I was testing a new debian system for general use so I thought I'd test this
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
3.5.1 works for me but
3.6.0 with
./configure --enable-icarus --enable-bitfury --disable-opencl
will not find any USB Eruptors now


I hear AMUs and BF1s don't like to work together somewhat. Try unplugging them and replugging them while it's running or some other combination.
hero member
Activity: 792
Merit: 1000
Bite me
3.5.1 works for me but
3.6.0 with
./configure --enable-icarus --enable-bitfury --disable-opencl
will not find any USB Eruptors now

-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
New version: 3.6.01 - 14th October 2013

The substantial rewrite of the usb code has stabilised. Basically cgminer no longer depends anywhere near as much now on libusb, doing a lot of extra work itself to avoid bugs in the libusb code. Numerous drivers should benefit from this in both performance and stability. Also a new driver in this version. The code base diverged from that of 3.5.1 so some of the changes between them were not shared since the issues were tackled a different way, while many of the changes in the changelog are repeated from 3.5.1. Sorry, some of the build request changes for macosx and other architectures did not get looked at due to lack of time. A lot of the driver changes are in preparation for new devices around the corner along with tackling head on long standing issues with libusb we have been unable to address.


Human readable changelog:

3.6.1:
- Fixed the breakage of devices dependent on control transfers (like AMUs).

3.6.0:
- Rewrite of the usb communication code to using all the asynchronous functions of libusb and doing all timeouts internally within the cgminer code. This should dramatically reduce or even obliterate the long timeout errors people were seeing with some devices and makes communication less prone to failure. Here's hoping the AMU devices finally perform reliably on windows with it. Overall, latency, errors and overhead should be lower while performance slightly higher.
- Completely separate read/write communications on USB allowing them to happen concurrently for the few devices that can benefit from this.
- Support for bitburner fury boards
- Updates to klondike code
- Fixes for newer GPU SDKs on older GPUs that would fail to start.
- Cleaner shutdowns for USB to minimise risk of hanging on shutdown.
- New driver skeleton design for devices that wish to do their own work management or do not need to split work up into parts - currently only used by BPMC bitfury devices.
- Minor performance/overhead improvements.
- Low level bugfixes/improvements.
- Most of the other changes from 3.5.0->3.5.1


Full changelog:

3.6.1:
- Emulate the libusb_control_transfer sync setup in our async variant.
- usbutils - make all libusb_error_name messages the same

3.6.0:
- increasing max miners for avalon driver
- using separate identifier for bitburner fury boards
- changes to bitburner driver for bitburner fury boards
- hexstr is too small in test_work_current
- Windows uses errno for WSAETIMEDOUT
- Convert the usb callback function to using cgsem_t timed waits to avoid race
conditions with conditionals/mutexes.
- Give correct return code in cgsem_mswait
- Check for correct timeout error in cgsem_mswait
- Fix util.h exports for cgsem_mswait
- Implement a generic cgsem_mswait similar to sem_timedwait
- Use the one LIBUSB_ERROR_TIMEOUT for cancelled transactions since this error
is explicitly tested for in various drivers.
- Do not use locking on usb callback function pthread signalling to prevent
deadlock with libusb's own event lock.
- Use a write lock when performing any USB control transfers to prevent
concurrent transfers.
- Free a libusb transfer after we have finished using it to avoid a dereference
in usb_control_transfer
- Do not perform bfi int patching for opencl1.2 or later.
- Although async transfers are meant to use heap memory, we never return before
the transfer function has completed so stack memory will suffice for control
transfers, fixing a memory leak in the process.
- klondike - correct/reverse min/max stats
- api incorrect message name
- klondike - use a link list queue rather than a circular buffer - and add
timing stats
- Use a timeout with usb handle events set to a nominal 200ms and wait for the
polling thread to shut down before deinitialising libusb.
- Use stack memory for hex used in stratum share submissions.
- Use stack memory in test_work_current, avoiding a malloc/free cycle each time.
- Provide a lower level __bin2hex function that does not allocate memory itself.
- Convert the bitfury driver to use the hash_driver_work version of hash_work.
- Add a hash_driver_work function to allow for drivers that wish to do their own
work queueing and management.
- Convert all usb control transfers to asynchronous communication with our own
timeout management as well.
- Klondike - increase circular read buffer size
- Klondike - extra zero value and range checking in temp conversion
- klondike - display MHz also
- Make pthread conditional timeouts handle all bulk usb transfer timeouts
performing libusb_cancel_transfer, disabling timeouts within libusb itself.
- Avoid calling get_statline_before on exit to avoid trying to use it on drivers
in an indeterminate state.
- Avoid calling get_statline on exit.
- Add a small amount to the usb timeout before cancelling to allow for a regular
usb polling interval to pass.
- Do not attempt to clear a usb halt before sending the cancel message since all
transfers should normally be cancelled before attempting to clear a halt
condition, and only change the return message to a timeout if it's consistent
with a cancellation.
- Retry up to USB_RETRY_MAX times to clear a halt condition before failing.
- Show the error number as well as the description in erroring bulk transfers.
- Drop logging level for failed to connect to stratum to verbose mode only since
we hit it regularly.
- We are always dependent on libusb handling events so use the blocking
libusb_handle_events in the polling thread and use a bool to know if we should
continue polling.
- Use fractional hashrate return values in bitfury_scanhash to minimise the
number of times we return 0 based on hashrate so far to further damp out
displayed hashrate.
- Check for presence of driver name in DRIVER_COUNT_FOUND to prevent strcmp on a
null pointer when a driver is not built in.
- CMR allow sending flash and clock commands
- Kill off threads that have failed using hash_sole_work instead of just
disabling them.
- Make the bf1 getinfo size a macro
- Failing to add_cgpu in bitfury should be a terminal failure.
- Check return values when attempting to open a BF1 device and set the msg size
as a macro.
- Display errors on failed usb read and write and consider sequential IO errors
a permanent failure.
- Use libusb's own error name function instead of hand coding the error names.
- Limit ms_tdiff to 1 hour as a sanity check.
- Enable the usb buffer in avalon driver.
- Check for async transfer variants of error messages.
- Remove unused variables.
- Try switching pools if for some reason we end up with only idle pools and have
ended up current_pool set to an idle one.
- Check a pool is stable for >5 mins before switching back to it.
- Minimise the time between dropping the read devlock and grabbing the write
devlock to avoid tons of logging spam in the interim.
- Check for libusb transfer stall error to be consistent with async IO errors
returned for a halt condition.
- Check for continuous IO errors on USB and consider the device inactive if more
than retry max.
- Make the devlock a cglock in usbutils and only grab the write lock for
fundamental changes allowing us to send and receive transfers concurrently
without lock contention.
- Prevent overflows in us_tdiff and ms_tdiff.
- Change second initialise message on bitfury verbose mode.
- Submitting an ntime offset nonce needs to be done on a copy of the work
instead of the original so abstract out shared components as much as possible,
minimising strdups in copy_work and make submit_work_async work take copied
work, cleaning up code in the process.
- Provide a way for drivers to submit work that it has internally rolled the
ntime value by returning the amount it has ntime rolled to be added.
- Typo in configure.ac
- Remove unmaintained broken ztex driver.
- Icarus - use a data structure for I/O rather than magic numbers
- delete old tracked ccan/opt/*.o files
- klondike correct cvtKlnToC() temperature calculation
- klondike - correct 1st reply debug based on define
- klondike - debug dump structured replies
- klondike - avoid division by zero if maxcount is unexpectedly zero
- klondike store and report errorcount and noise
- klondike - fix chipstats api stats buffer overrun with 16 chips
- klondike add new nonecount only once
- klondike - report mh/s based on nonces found + put old estimate into API stats
- klondike use a memcpy
- klondike fix bracket tabs indenting
- api.c missing Klondike from ASIC list
- Klondike update code to current git
- Add 2nd CMR to 01-cgminer.rules
- Add Klondike to 01-cgminer.rules
- Klondike to main directory
- Klondike consistent code spacing
- Klondike update driver code to current git
- update firmware for 16 chips, add dist files
- beta final 0.3.0 release
- updated firmware, IOC method
- prevent nonces when not state W
- added driver config option support
- fixes for 300 MHz, fix K1 parts list
- update driver, docs
- update firmware & utils
- updated cgminer driver for 3.3.1
- update firmware and driver, create new cgminer fork
- update klondike driver
- add cgminer driver file as-is
- Add API output displaying USB cancellations.
- Store statistics on how often we have to cancel async bulk transfers and add a
debug message whenever we do.
- Treat any unexpected timeouts waiting for async transfers as though there may
be a usb halt condition and attempt to clear the halt before cancelling the
tranfer.
- Remove zero packet flag on usb as it's unsupported outside linux and
unnecessary.
- Fake the libusb transfer timed out message if we force cancel it with our own
async functions.
- Use asynchronous transfers for all bulk transfers, allowing us to use our own
timers and cancelling transfers that take too long.
- Add libusb error warning message when significant error occurs.
- Icarus CMR2 detect FPGA setup
- Disable bitfury device thread on it disappearing.
hero member
Activity: 798
Merit: 1000
With this new feature in 3.5.1:

Quote
- If we switch away from a pool in failover mode, we will now only switch back to it if it's up for at least 5 minutes to avoid reconnecting to pools that are only intermittently up - good for DDoS situations which we've seen a lot of lately.

Is there a way to adjust the switch back timing?  When mining Altcoins on a multi coin pool like Middlecoin or Hashcows, 5 minutes is way too long since fail-over gets triggered upon switch of coin. So if the pool is mining a certain most profitable scrypt coin for a round of 10 minutes only, then half that is lost because of this new feature!  The ideal would be to set it down to 1 minute or even just 30 seconds.
hero member
Activity: 490
Merit: 501
Actually we've reached a time where almost no one is making a profit mining which won't pass for maybe another year. Is it really time that people would be interested in a donation option?

Sounds like a Mining Tax, or Software Usage Tax. Roll Eyes
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Actually we've reached a time where almost no one is making a profit mining which won't pass for maybe another year. Is it really time that people would be interested in a donation option?
legendary
Activity: 3583
Merit: 1094
Think for yourself
Let's try this again ...
May I suggest a donation mining option for cgminer?

Because..., it was such a huge success the last time it was tried?

My snarky remark wasn't wasn't meant to imply that I thought it was a bad idea.  And if they incorporated it into CGMiner again I would certainly use it.

But, if I remember correctly, it ended up increasing the development workload for ckolivas dramatically more than the revenue it brought in was worth plus it ticked off allot of people.

But maybe it would be a different story now with the increased value of bitcoin and the stratum protocol?

I just would hate to see ckolivas and kano's workload increase with little or no benefit.  But hey who knows.
sr. member
Activity: 840
Merit: 255
SportsIcon - Connect With Your Sports Heroes
Let's try this again ...
May I suggest a donation mining option for cgminer?

Because..., it was such a huge success the last time it was tried?
newbie
Activity: 23
Merit: 0
Just built from git on my raspberry pi.
Version is listed as 3.5.0.

Downloaded one of your compiled versions for windows.
Version is 3.5.1.

Did I build from the wrong branch with git clone https://github.com/ckolivas/cgminer?
git clone https://github.com/ckolivas/cgminer --branch 3.5

Oh thanks !

Does the the master branch include someone42 pull requests? i have installed with git clone https://github.com/ckolivas/cgminer on minepeon and the '--bitburner-voltage' parameter doesn't work anymore.
Always set to max : 1100mv on a Bitburner Fury.

hero member
Activity: 658
Merit: 500
CCNA: There i fixed the internet.
Code:
 [2013-10-12 23:39:07] USB init, claim ifinfo 0 interface 0 failed, err -3 - AMU device 20:9

what does this mean on a mac?

also getting:
Code:
[2013-10-12 23:34:49] USB init, claim ifinfo 0 interface 1 failed, err -3 - BF1 device 20:7-i1
I wish I knew. -3 is an access permissions problem, whatever the heck that means on osx.

could it be due  to the kernel usb to serial drivers?

*dont hit me*
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Code:
 [2013-10-12 23:39:07] USB init, claim ifinfo 0 interface 0 failed, err -3 - AMU device 20:9

what does this mean on a mac?

also getting:
Code:
[2013-10-12 23:34:49] USB init, claim ifinfo 0 interface 1 failed, err -3 - BF1 device 20:7-i1
I wish I knew. -3 is an access permissions problem, whatever the heck that means on osx.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Someone told me how to switch to the 3.5.1 branch since I had only been getting 3.5.0; the 3.5.1 works fine.

-MarkM-

It still shouldn't have been a problem on the master branch... (which still reads 3.5.0 but is actually the branch under active development).
hero member
Activity: 658
Merit: 500
CCNA: There i fixed the internet.
Code:
[2013-10-12 23:39:07] USB scan devices: checking for ICA devices
 [2013-10-12 23:39:07] ICA looking for ICA 067b:2303 but found 10c4:ea60 instead
 [2013-10-12 23:39:07] ICA looking for and found AMU 10c4:ea60
 [2013-10-12 23:39:07] USB lock Icarus 20-9
 [2013-10-12 23:39:07] RES: Icarus (20:9) lock=1
 [2013-10-12 23:39:07] USB res lock Icarus 20-9
 [2013-10-12 23:39:07] RES: Icarus (20:9) lock ok=1
 [2013-10-12 23:39:07] USB init, claim ifinfo 0 interface 0 failed, err -3 - AMU device 20:9
 [2013-10-12 23:39:07] USB free AMU
 [2013-10-12 23:39:07] Icarus detect (20:9) failed to initialise (incorrect device?)
 [2013-10-12 23:39:07] USB unlock Icarus 20-9

what does this mean on a mac?

also getting:
Code:
[2013-10-12 23:34:49] USB scan devices: checking for BF1 devices
 [2013-10-12 23:34:49] BF1 looking for and found BF1 03eb:204b
 [2013-10-12 23:34:49] USB lock bitfury 20-7
 [2013-10-12 23:34:49] RES: bitfury (20:7) lock=1
 [2013-10-12 23:34:49] USB res lock bitfury 20-7
 [2013-10-12 23:34:49] RES: bitfury (20:7) lock ok=1
 [2013-10-12 23:34:49] USB init, claim ifinfo 0 interface 1 failed, err -3 - BF1 device 20:7-i1
 [2013-10-12 23:34:49] USB free BF1
 [2013-10-12 23:34:49] bitfury detect (20:7) failed to initialise (incorrect device?)
 [2013-10-12 23:34:49] USB unlock bitfury 20-7
 [2013-10-12 23:34:49] BF1 looking for BF1 03eb:204b but found 05ac:0252 instead
 [2013-10-12 23:34:49] RES: bitfury (20:7) lock=0
 [2013-10-12 23:34:49] BF1 looking for BF1 03eb:204b but found 0424:2513 instead
 [2013-10-12 23:34:49] USB res unlock bitfury 20-7
legendary
Activity: 2940
Merit: 1090
Someone told me how to switch to the 3.5.1 branch since I had only been getting 3.5.0; the 3.5.1 works fine.

-MarkM-
Jump to: