Pages:
Author

Topic: (OLD) BFGMiner: modular FPGA/GPU, GBT, Stratum, RPC, Avalon/Lnx/OpnWrt/PPA/W64 - page 19. (Read 260061 times)

legendary
Activity: 2912
Merit: 1060
Oh yeah thats fine, its just hot right now Smiley
legendary
Activity: 2576
Merit: 1186
Got the log, it wouldnt write when launching via .bat
BUT now its working, mining good, oh well
http://pastebin.com/Vm06iFbH
Wow - 10% on the HW errors - there's definitely something wrong ...
Yeah, looks like his unit is throttling a lot.
bitpop, you probably want to flash a slower firmware.
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
Got the log, it wouldnt write when launching via .bat
BUT now its working, mining good, oh well
http://pastebin.com/Vm06iFbH
Wow - 10% on the HW errors - there's definitely something wrong ...
legendary
Activity: 2912
Merit: 1060
Got the log, it wouldnt write when launching via .bat
BUT now its working, mining good, oh well
http://pastebin.com/Vm06iFbH
legendary
Activity: 2912
Merit: 1060
It made the file but its staying blank
bfgminer.exe -c cgminer.conf -S bitforce:\\.\COM3 -S bitforce:\\.\COM4 -S bitforce:\\.\COM6 --debuglog 2>debuglog

How? Ill go back and make one.
Code:
bfgminer  --debuglog 2>debuglog
legendary
Activity: 2576
Merit: 1186
How? Ill go back and make one.
Code:
bfgminer  --debuglog 2>debuglog
legendary
Activity: 2912
Merit: 1060
How? Ill go back and make one.

Also I went back to the stratum proxy which surprisingly seems to support startum! But that seems to work great.
legendary
Activity: 2576
Merit: 1186
Using stratum with stratum+tcp://api2.bitcoin.cz:8332
but it completely stops after a minute then continues for another minute
http://imgur.com/a/Jfmud
Can you grab a debuglog of this?
legendary
Activity: 2912
Merit: 1060
Using stratum with stratum+tcp://api2.bitcoin.cz:8332
but it completely stops after a minute then continues for another minute
http://imgur.com/a/Jfmud
legendary
Activity: 2576
Merit: 1186
I followed the steps for installing dwmingw and nothing appears when I click on the icon.
After installing it, programs crashing will give you an option to debug.
I ran bfgminer, it crashed and nothing showed up for a debug.
What if you run it at a commandprompt with bfgminer -T -D
sr. member
Activity: 308
Merit: 250
I followed the steps for installing dwmingw and nothing appears when I click on the icon.
After installing it, programs crashing will give you an option to debug.

I ran bfgminer, it crashed and nothing showed up for a debug.
legendary
Activity: 2576
Merit: 1186
I followed the steps for installing dwmingw and nothing appears when I click on the icon.
After installing it, programs crashing will give you an option to debug.
sr. member
Activity: 850
Merit: 331
Hi, some issues in stats (avg of 5s) and in hashrate, using --scrypt param



Regards
sr. member
Activity: 308
Merit: 250
Trying to run 2.9.0 in windows and crashes right of the start.  Rig has 35 x6500's on it and 6 bfls.

 Problem Event Name:   APPCRASH
  Application Name:   bfgminer.exe
  Application Version:   0.0.0.0
  Application Timestamp:   508d13b4
  Fault Module Name:   libusb-1.0.dll
  Fault Module Version:   1.0.10.10476
  Fault Module Timestamp:   508d1385
  Exception Code:   c0000005
  Exception Offset:   00001da7
  OS Version:   6.1.7600.2.0.0.768.3
  Locale ID:   1033
  Additional Information 1:   0a9e
  Additional Information 2:   0a9e372d3b4ad19135b953a78882e789
  Additional Information 3:   0a9e
  Additional Information 4:   0a9e372d3b4ad19135b953a78882e789
.
Could you install DrMingw and open a Issue with the details from that?

I followed the steps for installing dwmingw and nothing appears when I click on the icon.
legendary
Activity: 2576
Merit: 1186
Trying to run 2.9.0 in windows and crashes right of the start.  Rig has 35 x6500's on it and 6 bfls.

 Problem Event Name:   APPCRASH
  Application Name:   bfgminer.exe
  Application Version:   0.0.0.0
  Application Timestamp:   508d13b4
  Fault Module Name:   libusb-1.0.dll
  Fault Module Version:   1.0.10.10476
  Fault Module Timestamp:   508d1385
  Exception Code:   c0000005
  Exception Offset:   00001da7
  OS Version:   6.1.7600.2.0.0.768.3
  Locale ID:   1033
  Additional Information 1:   0a9e
  Additional Information 2:   0a9e372d3b4ad19135b953a78882e789
  Additional Information 3:   0a9e
  Additional Information 4:   0a9e372d3b4ad19135b953a78882e789
.
Could you install DrMingw and open a Issue with the details from that?
sr. member
Activity: 308
Merit: 250
Trying to run 2.9.0 in windows and crashes right of the start.  Rig has 35 x6500's on it and 6 bfls.

 Problem Event Name:   APPCRASH
  Application Name:   bfgminer.exe
  Application Version:   0.0.0.0
  Application Timestamp:   508d13b4
  Fault Module Name:   libusb-1.0.dll
  Fault Module Version:   1.0.10.10476
  Fault Module Timestamp:   508d1385
  Exception Code:   c0000005
  Exception Offset:   00001da7
  OS Version:   6.1.7600.2.0.0.768.3
  Locale ID:   1033
  Additional Information 1:   0a9e
  Additional Information 2:   0a9e372d3b4ad19135b953a78882e789
  Additional Information 3:   0a9e
  Additional Information 4:   0a9e372d3b4ad19135b953a78882e789
.

legendary
Activity: 2576
Merit: 1186
NEW VERSION 2.9.0, OCTOBER 28 2012

After a very successful 2.8.3 release, I am promoting it to stable and finally releasing version 2.9.0. I'm not entirely satisfied with the level of testing that has gone into solo mining and stratum support so far, so I don't expect this release to be anywhere near perfect, but it's ready to try out for those who have been waiting for it! Smiley

Human readable changelog:
  • X6500: New driver for mining on FPGA Mining LLC's X6500 coprocessor.
  • Support for solo mining against bitcoind 0.7's GBT interface using new --coinbase-addr option (powered by libblkmaker 0.2.0).
  • OpenCL: Rewritten dynamic intensity code should fix remaining issues with it.
  • BFGMiner now displays the share's best difficulty as well as the current pool difficulty like so:
     [2012-10-28 10:54:49] Accepted 9caa56aa Diff 8/1 ZTX 3 pool 1
     [2012-10-28 10:54:49] Accepted 963dd630 Diff 1/1 XBS 0 pool 1
     [2012-10-28 10:54:50] Accepted aa66ba41 Diff 52/1 XBS 0 pool 1
     [2012-10-28 10:54:50] Accepted e6eac62b Diff 2.46M/1 ICA 0 pool 1
  • Support for saving and restoring pool priorities in config file, as well as changing them all at once in the curses TUI (by "blinkier").
  • OpenCL: Updated kernels which should allow ultra low memory speeds once again (idea courtesy of Vbs).
  • Stratum support by Con.
  • BFGMiner now tries to actually catch crashes and unless the --no-restart option is given, it will try to restart cleanly.
  • OpenCL: Scrypt will now not fail when setting high thread concurrency values that still return some RAM even if OpenCL returns an error on that RAM allocation.

Full changelog
  • modminer: Remove dead code
  • Bugfix: Include headers in order needed for Mingw build
  • Bugfix: Save pool pointer to avoid dereferencing work after it might potentially be freed
  • Bugfix: Cleanup some harmless warnings
  • Bugfix: TUI: Avoid clearing the whole screen when we just want to clear the log window
  • Wishlist #130 implemented by "blinkier":
    • Add all-at-once pool priority reassignment to curses TUI interface
    • Save/restore pool priorities in config file
    • Allow setting initial pool priorities via command line
  • Bugfix: Replace reportin hack with a reset back to LIFE_INIT for bitstream upload
  • Bugfix: SI kilo prefix is a lowercase "k"
  • Bugfix: If userpass is missing a password, treat it as a null password (regression fix)
  • Upgrade libblkmaker to 0.2.0
  • Bugfix: Build correct pay-to-scripthash script
  • Implement --coinbase-addr for solo mining
  • x6500: Since we program in about a minute now, only report status verbosely every 25%
  • x6500: Poll nonce less often since USB latency slows us down anyway
  • jtag: Avoid writing an extra readback byte when we are ignoring tdo anyway
  • ft232r: Set output buffer size to 4096 bytes
  • x6500: Adjust dynclock so it works more reasonably
  • x6500: Dynclock support
  • Provide a simple/dummy libusb_error_name when it is missing (libusb < 1.0.9)
  • x6500: Stop abusing pointer type to store bitstream upload progress
  • Bugfix: ft232r: Avoid reuse of USB device count variable
  • x6500: Implement basic hashrate prediction and efficient job completion
  • jtag: Optimized implementation of JTAG reads to workaround ft232r slowness
  • x6500: Try nonce with previous work if it is wrong for current
  • x6500: Ensure ft232r buffer is flushed to change registers
  • x6500: Start clock speed off at 180, and extra debugging for x6500_set_register
  • x6500: When programming, poll each FPGA status individually since they might not be ready at the same time
  • x6500: Various tweaks and hacks to get mining working
  • Bugfix: x6500: Remove erroneous bitendianflip
  • Bugfix: jtag: Handle ftdi-common environmental stuff properly
  • jtag: Defer ignored reads a bit to avoid USB latency
  • Bugfix: ft232r: First 2 bytes of every 0x40 are FTDI status or something
  • x6500: Implement mining protocols (doesn't work yet)
  • x6500: Cleanup dead code and implement bailout2
  • x6500: Clean up and finish FPGA initialization
  • x6500: Comment bitstream upload function better
  • fpgautils: Abstract open_xilinx_bitstream out from modminer and x6500 drivers
  • x6500: Get bitstream upload working
  • Bugfix: jtag: Use the correct bit for reading/writing data streams
  • ft232r: Buffer writes to improve performance
  • x6500: Get FPGA probe working
  • jtag: JTAG implementation for X6500 (over ft232r)
  • ft232r: ft232r_read_all function to simplify exact-length reads
  • ft232r: Implement read buffer so ft232r_read always works like read(2)
  • ft232r: Complete necessary interfaces for X6500
  • x6500: Bare minimum detection-only X6500 support via libusb
  • Minor debian packaging fixes.
  • No longer should hide --no-restart option if OpenCL support is missing
  • Handle crash exceptions by trying to restart cgminer unless the --no-restart option is used.
  • Switch queued count when choosing a different pool from a failed stratum pool in getwork thread.
  • Put a mandatory 5s wait between reattempting a getwork on failure to avoid hammering requests.
  • Make sure to check pool stratum curl exists under lock before attempting any recv to not risk dereferencing upon attempting to reinitiate stratum.
  • Avoid redefining macros and align to 4 byte boundaries.
  • API - add Stratum information to pools
  • update FPGA-README for MMQ
  • Time for dynamic is in microseconds, not ms.
  • x86_64 builds of mingw32 are not supported directly and should just configure as generic mingw32 builds since they're NOT 64 bit.
  • Use 3 significant digits when suffix string is used and values are >1000.
  • Get rid of unused warning for !scrypt.
  • Use select on stratum send to make sure the socket is writeable.
  • Cope with dval being zero in suffix_string and display a single decimal place when significant digits is not specified but the value is greater than 1000.
  • Pad out the suffix string function with zeroes on the right.
  • Failure to calloc in bin2hex is a fatal failure always so just check for that failure within the function and abort, simplifying the rest of the code.
  • Provide locking around the change of the stratum curl structures to avoid possible races.
  • Bump opencl kernel version numbers.
  • Remove atomic ops from opencl kernels given rarity of more than once nonce on the same wavefront and the potential increased ramspeed requirements to use the atomics.
  • Clear the pool idle flag in stratum when it comes back to life.
  • Display correct share hash and share difficulty with scrypt mining.
  • Use explicit host to BE functions in scrypt code instead of hard coding byteswap everywhere.
  • Show work target diff for scrypt mining.
  • Ease the checking on allocation of padbuffer8 in the hope it works partially anyway on an apparently failed call.
  • Watch for buffer overflows on receiving data into the socket buffer.
  • Round target difficulties down to be in keeping with the rounding of detected share difficulties.
  • Dramatically simplify the dynamic intensity calculation by oversampling many runs through the opencl kernel till we're likely well within the timer resolution on windows.
  • String alignment to 4 byte boundaries and optimisations for bin<->hex conversions.
  • In opencl_free_work, make sure to still flush results in dynamic mode.
  • Align static arrays to 4 byte boundaries to appease ARM builds for stratum.
  • Update documentation.
  • Left align values that are suffix_string generated.
  • Share_diff should not be converting the work data to hex.
  • Update readme describing difficulty displayed on log lines.
  • Off by one error.
  • Prevent overflows of the port char array in extract_sockaddr.
  • Disable stratum detection with scrypt.
  • Display the actual share diff next to the pool required diff, using a suffix creation function to prevent values of >1000 being shown in their entirety.
  • Fix 4 * 0 being 0 that would break dynamic intensity mode.
  • Supplement other 64-bit endian swap macros
  • Bugfix: Fix htobe64 on big endian platforms that don't define it
  • Fix lack of htobe64 on mingw32.
  • Reinstate the history on dynamic intensity mode to damp fluctuations in intensity but use an upper limit on how much the value can increase at any time to cope with rare overflows.
  • Update to cgminer's newer dynamic intensity algorithm
  • Support for the stratum mining protocol.
  • Simplify target generation code.
  • Add support for client.get_version for stratum.
  • Use a 64 bit unsigned integer on the diff target to generate the hex target.
  • Update reconnect message to show whole address including port.
  • Look for null values and parse correct separate array entries for url and port with client reconnect commands for stratum.
  • The command for stratum is client.reconnect, not mining.reconnect.
  • Only copy the stratum url to the rpc url if an rpc url does not exist.
  • Implement rudimentary mining.reconnect support for stratum.
  • Ignore the value of stratum_active on calling initiate_stratum and assume we're always trying to reinitiate it, and set the active flag to false in that function.
  • stratum auth can be unset if we fail to authorise on subsequent calls to auth_stratum which undoes the requirement of setting it in one place so set it in pool_active.
  • Format Stratum submission-start debug the same way as other submissions
  • Bugfix: Set work_restart_id in gen_stratum_work for when work is reused to avoid thinking it's all stale.
  • Only auto-switch to Stratum internally, but save HTTP URI in case pool stops using Stratum; also always shows original pool URI on RPC
  • SHUT_RDWR is now always defined for us, so no need to check ifdef on LP hang
  • Implement --no-stratum option to disable autodetection
  • Show Stratum pools as "Strtm" protocol in "Pool management" TUI
  • Bugfix: BFGMiner doesn't use rpc_proxytype
  • Remove free that could segfault.
  • Use the stratum url as the rpc url advertised if we switch to it.
  • Count an invalid nonce count as a hardware error on opencl.
  • Count each stratum work item as local work.
  • Cope with one stratum pool being the only active pool when it dies by sleeping for 5 seconds before retrying to get work from it instead of getting work indefinitely.
  • Detect stratum outage based on either select timing out or receiving an empty buffer and properly re-establish connection by disabling the stratum_active flag, coping with empty buffers in parse_stratum.
  • Fix various modminer warnings on mingw.
  • Fix sign warning on windows build for bitforce.
  • Cast socketfail to integer since SOCKET is an unsigned int on windows.
  • Use the stratum thread to detect when a stratum pool has died based on no message for 2 minutes.
  • Only set the stratum auth flag once and once the stratum thread is started, use that to set/unset the stratum active flag.
  • Only hand off to stratum from getwork if we succeed in initiating the protocol.
  • Target should only be 32 bytes copied.
  • Use a static array for work submission data instead of stack memory.
  • Clear the buffer data before sprinting to it.
  • Clear work stratum strings before setting them and add them to debug output.
  • Drop stratum connect failed message to verbose level only since it's a regular probing message.
  • TCP Keepalive in curl is only in very recent versions and not required with regular messages on stratum anyway.
  • Move stratum sockets to curl infrastructure with locking around send+recv to begin support for proxies and ssl.
  • Make detect stratum fail if a proxy has been set up.
  • Stratum does not currently have any proxy support so do not try to switch to stratum if a proxy has been specified.
  • Windows doesn't work with MSG_PEEK on recv so move to a continuously updating buffer for incoming messages.
  • Alloca is unreliable on windows so use static arrays in util.c stratum code.
  • Begin support for mingw stratum build.
  • Add space to reject reason.
  • Parse the reject reason where possible from stratum share submission.
  • Pass json error value to share result function to be able to parse reject reason in stratum.
  • Don't try to parse unneeded parameters in response to mining.subscribe.
  • Remove the sshare hash entry if we failed to send it.
  • Change notify message to info level to avoid spamming repeatedly when a pool is down.
  • Check the stratum pool difference has not changed compared to the work diff when testing whether a share meets the target or not and retarget if necessary.
  • Bit error in target calculation for stratum.
  • Offset the current block detection to the prev block hash.
  • We should be testing for id_val, not id in parse stratum response.
  • Make target on stratum scale to any size by clearing sequential bits according to diff.
  • Correct target calculation in gen_stratum_work.
  • If a share result has an error code but still has an id, it is likely a reject, not an error.
  • Initiate stratum the first time in pool_active only, allowing us to switch to it on getting a failed getwork and detecting the presence of stratum on the url at that time.
  • Use 5 second timeout on sock full for now as a temporary workaround.
  • If no stratum url is set by the end of the detect stratum routine, copy the sockaddr url.
  • Make all buffers slightly larger to prevent overflow.
  • Make the stratum recv buffer larger than the recvsize.
  • Userpass needs to be copied to user and pass earlier to allow stratum authorisation to work with it.
  • Store a sockaddr url of the stripped url used in determining sockaddr to not confuse it with the stratum url and fix build warnings.
  • Decrease the queued count with stratum work once it's staged as well.
  • Allow the stratum retry to initiate and auth stratum in pool_alive to make sure the stratum thread is started.
  • Avoid duplicating pool->rpc_url and setting pool->stratum_url twice to itself.
  • Detect if a getwork based pool has the X-Stratum header on startup, and if so, switch to the stratum based pool.
  • Comment update.
  • Minor message change.
  • Create a work item from a "clean" request from stratum allowing the new block to be detected and the appropriate block change message to be given.
  • Use statically allocated stratum strings in struct work to cope with the inability to safely deallocate dynamically allocated ram.
  • Use the current pool when deciding whether to reuse work from a stratum source rather than the work's previous pool.
  • Copy the stratum url to the rpc url to avoid none being set.
  • Provide locking around stratum send operations to avoid races.
  • Submit shares from stratum through the abstracted submit share function detecting what message they belong to and showing the data from the associated work, and then deleting it from the hash.
  • Use a more robust mechanism to obtain a \n terminated string over a socket.
  • Abstract out share submit as a function to be useable by stratum.
  • Rename parse_stratum to parse_method as it is only for stratum messages that contain methods.
  • Display stratum as mechanism in status line when current pool is running it.
  • Count each stratum notify as a getwork equivalent.
  • Correct nonce submitted with share.
  • Extranonce2 should be added before coinbase2.
  • We should be hashing the binary coinbase, not the hex one.
  • Fix endianness of nonce submitted for stratum.
  • Check that stratum is already active in initiate_stratum to avoid de-authorising ourselves by subscribing again.
  • Begin implementing a hash database of submissions and attempt sending results.
  • Copy parameters from stratum work required for share submission.
  • Set lagging flag on first adding a pool to prevent pool slow warning at startup.
  • Fix work->target being a 32 byte binary in gen_stratum_work.
  • Store and display stripped url in its own variable.
  • Create machinery to divert work requests to stratum.
  • Generate the work target in gen_stratum_work, setting default diff to 1 in case it is not yet set.
  • Generate work data, midstate and hash1 in gen_stratum_work.
  • Generate header created from stratum structures in gen_stratum_work.
  • Generate merkle root hash in gen_stratum_work.
  • Generate the coinbase for generation of stratum based work.
  • The number of transactions is variable so make merkle a variable length dynamically allocated array and track how many there are for stratum.
  • Rename nonce2 to n2size reflecting that it's a size variable and not the actual nonce.
  • Provide rudimentary support for stratum clean work command in the stratum thread.
  • Cope with pools being removed in the stratum thread.
  • Use the pool sock value directly in the stratum thread in case it changes after reconnecting.
  • Create a stratum thread per pool that has stratum that monitors the socket and serves received data.
  • Check return value of stratum_parse.
  • Complete authorisation in stratum.
  • Implement stratum parsing of notify parameters and storing them in the pool stratum work structure.
  • Create helper functions for duplicating json strings to avoid keeping json references in use.
  • Append \n in the sock_send function instead of adding it when constructing json in stratum.
  • Don't keep any json references around with stratum structures.
  • Create parse_stratum function that hands off stratum parameters to other functions to manage pool stratum work struct variables. Implement mining difficulty setting.
  • Create helper functions for checking when a socket is ready to read on and receive a single line at a time. Begin stratum authorisation process.
  • Provide a helper function for reading a single \n terminated string from a socket.
  • Create a stratum work structure to store current work variables.
  • Test specifically for stratum being active in pool_active.
  • Detect stratum in common place when adding urls, and use a bool to tell us when it's active.
  • Remove unused add_pool_details5
  • Fix warnings.
  • Extract and store various parameters on stratum init confirming successful mining notify.
  • Use existing socket macros and close the socket on failure in init stratum.
  • Initiate stratum and grab first json result.
  • Get detailed addressinfo from the parsed URL for future raw socket usage when possible. IPV4 only for now.
  • Prepare for getaddrinfo call.
  • Add data structures to pool struct for socket communications.
  • Put all socket definitions in util.h to allow reusing by added socket functions to be used in util.c.
legendary
Activity: 2702
Merit: 1261
You are right - scrypt was set to true. I removed the setting and bfgminer is now working. Thank you for your support.
legendary
Activity: 2576
Merit: 1186
A few days ag I tested the stratum branch of BFGMiner but was not get an accepted share. Now I switched to the current bfgminer branch and see the same behaviour.

Code:
...

I had so set intensity to a large value (currently 20) in order to get the CPU load down to about 2%. The hashrate with a working miner is typically about 11Mh/s. System is an AMD E350 with 64bit linux. Any ideas?
Does it work on other pools? Can you make a debug log?
Code:
bfgminer  --debuglog 2>debug.log

I created a debug log (see logfile). I started a getblocktemplate pool and switched to a getwork pool after a few minutes.
I think there's something wrong with your config file... it looks like BFGMiner is configured for scrypt and somehow using the diablo kernel at the same time, and on a Bitcoin pool.
legendary
Activity: 2702
Merit: 1261
A few days ag I tested the stratum branch of BFGMiner but was not get an accepted share. Now I switched to the current bfgminer branch and see the same behaviour.

Code:
...

I had so set intensity to a large value (currently 20) in order to get the CPU load down to about 2%. The hashrate with a working miner is typically about 11Mh/s. System is an AMD E350 with 64bit linux. Any ideas?
Does it work on other pools? Can you make a debug log?
Code:
bfgminer  --debuglog 2>debug.log

I created a debug log (see logfile). I started a getblocktemplate pool and switched to a getwork pool after a few minutes.

Pages:
Jump to: