Bitcoin Forum
December 03, 2016, 11:57:44 PM *
News: Latest stable version of Bitcoin Core: 0.13.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: « 1 ... 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 [640] 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 ... 830 »
  Print  
Author Topic: OFFICIAL CGMINER mining software thread for linux/win/osx/mips/arm/r-pi 4.9.2  (Read 4815693 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic.
-ck
Moderator
Legendary
*
Offline Offline

Activity: 1988


Ruu \o/


View Profile WWW
October 13, 2013, 08:55:58 PM
 #12781

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?

Primary developer/maintainer for cgminer and ckpool/ckproxy.
Pooled mine at kano.is, solo mine at solo.ckpool.org
-ck
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1480809464
Hero Member
*
Offline Offline

Posts: 1480809464

View Profile Personal Message (Offline)

Ignore
1480809464
Reply with quote  #2

1480809464
Report to moderator
Trongersoll
Sr. Member
****
Offline Offline

Activity: 448


Retired Software Engineer


View Profile
October 13, 2013, 09:01:11 PM
 #12782

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

*insert appropriate begging line here* 
BTC: 1CS6AV7VnjcPLxaTFoUhTjXK4mQCTzfSxE
Doge: DB22tiynvXKg7SyPpnH9jyfitKLTZb6ejc
jedimstr
Hero Member
*****
Offline Offline

Activity: 784



View Profile
October 14, 2013, 01:44:57 AM
 #12783

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.

-ck
Moderator
Legendary
*
Offline Offline

Activity: 1988


Ruu \o/


View Profile WWW
October 14, 2013, 10:52:54 AM
 #12784

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.

Primary developer/maintainer for cgminer and ckpool/ckproxy.
Pooled mine at kano.is, solo mine at solo.ckpool.org
-ck
RaTTuS
Hero Member
*****
Offline Offline

Activity: 792


Bite me


View Profile
October 14, 2013, 11:07:27 AM
 #12785

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


In the Beginning there was CPU , then GPU , then FPGA then ASIC, what next I hear to ask ....

1RaTTuSEN7jJUDiW1EGogHwtek7g9BiEn
-ck
Moderator
Legendary
*
Offline Offline

Activity: 1988


Ruu \o/


View Profile WWW
October 14, 2013, 11:10:18 AM
 #12786

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.

Primary developer/maintainer for cgminer and ckpool/ckproxy.
Pooled mine at kano.is, solo mine at solo.ckpool.org
-ck
RaTTuS
Hero Member
*****
Offline Offline

Activity: 792


Bite me


View Profile
October 14, 2013, 11:23:02 AM
 #12787

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

In the Beginning there was CPU , then GPU , then FPGA then ASIC, what next I hear to ask ....

1RaTTuSEN7jJUDiW1EGogHwtek7g9BiEn
-ck
Moderator
Legendary
*
Offline Offline

Activity: 1988


Ruu \o/


View Profile WWW
October 14, 2013, 11:24:59 AM
 #12788

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" ?

Primary developer/maintainer for cgminer and ckpool/ckproxy.
Pooled mine at kano.is, solo mine at solo.ckpool.org
-ck
RaTTuS
Hero Member
*****
Offline Offline

Activity: 792


Bite me


View Profile
October 14, 2013, 11:28:49 AM
 #12789

 [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

In the Beginning there was CPU , then GPU , then FPGA then ASIC, what next I hear to ask ....

1RaTTuSEN7jJUDiW1EGogHwtek7g9BiEn
-ck
Moderator
Legendary
*
Offline Offline

Activity: 1988


Ruu \o/


View Profile WWW
October 14, 2013, 11:31:55 AM
 #12790

[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.

Primary developer/maintainer for cgminer and ckpool/ckproxy.
Pooled mine at kano.is, solo mine at solo.ckpool.org
-ck
RaTTuS
Hero Member
*****
Offline Offline

Activity: 792


Bite me


View Profile
October 14, 2013, 11:33:30 AM
 #12791

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 .,...

In the Beginning there was CPU , then GPU , then FPGA then ASIC, what next I hear to ask ....

1RaTTuSEN7jJUDiW1EGogHwtek7g9BiEn
-ck
Moderator
Legendary
*
Offline Offline

Activity: 1988


Ruu \o/


View Profile WWW
October 14, 2013, 12:34:42 PM
 #12792

Ah ok, some last minute fsckage. Will rework a 3.6.1 soon.

Primary developer/maintainer for cgminer and ckpool/ckproxy.
Pooled mine at kano.is, solo mine at solo.ckpool.org
-ck
-ck
Moderator
Legendary
*
Offline Offline

Activity: 1988


Ruu \o/


View Profile WWW
October 14, 2013, 01:38:48 PM
 #12793

Ok, let's try again. 3.6.1 is up now (keeping the old announce but editing it since so little has changed). This should fix things.

Primary developer/maintainer for cgminer and ckpool/ckproxy.
Pooled mine at kano.is, solo mine at solo.ckpool.org
-ck
RaTTuS
Hero Member
*****
Offline Offline

Activity: 792


Bite me


View Profile
October 14, 2013, 01:48:46 PM
 #12794

+100
works fine - finds them as quick as they used to .
excellent ;-p

In the Beginning there was CPU , then GPU , then FPGA then ASIC, what next I hear to ask ....

1RaTTuSEN7jJUDiW1EGogHwtek7g9BiEn
streetuff
Full Member
***
Offline Offline

Activity: 150



View Profile
October 14, 2013, 04:55:11 PM
 #12795

i'm running 24 AMU's on a raspberry pi. cpu load is down to 23-25% now with 3.6.1. had about 60% cpu load on 3.5.1 :-D
mdude77
Legendary
*
Offline Offline

Activity: 1358


View Profile
October 14, 2013, 07:11:03 PM
 #12796

3.6.1 isn't working for me.  (win7x64 - 33 usb block erupters).   I let it run for a while, then it stopped mining, repeatedly saying something like USB write error_no_mem.

I tried to copy/paste the error but lost it.  I can get it again if need be.

M

MMinerMonitor author, monitor/auto/schedule reboots/alerts/remote/MobileMiner for Ants and Spondoolies! Latest (5.2). MPoolMonitor author, monitor stats/workers for most pools, global BTC stats (current/nxt diff/USD val/hashrate/calc)! Latest (v4.2) 
Buyer beware of Bitmain hardware and services.
jedimstr
Hero Member
*****
Offline Offline

Activity: 784



View Profile
October 14, 2013, 09:06:13 PM
 #12797

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.

Repeating this since it's a feature carried over into 3.6.1.

Any chance we can adjust the switchback time from failover?

-ck
Moderator
Legendary
*
Offline Offline

Activity: 1988


Ruu \o/


View Profile WWW
October 14, 2013, 09:26:44 PM
 #12798

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.

Repeating this since it's a feature carried over into 3.6.1.

Any chance we can adjust the switchback time from failover?

Sorry but code designed just for altcoin mining takes absolutely last priority.

Primary developer/maintainer for cgminer and ckpool/ckproxy.
Pooled mine at kano.is, solo mine at solo.ckpool.org
-ck
jedimstr
Hero Member
*****
Offline Offline

Activity: 784



View Profile
October 14, 2013, 09:34:14 PM
 #12799

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.

Repeating this since it's a feature carried over into 3.6.1.

Any chance we can adjust the switchback time from failover?

Sorry but code designed just for altcoin mining takes absolutely last priority.

Fair enough... better than a flat out "no" unless that's what this is. Smiley

That said, failover switchback timing doesn't just have to be an "Altcoin" issue.  That was just a symptom.  Making it defeatable so that it can use the previous behavior of switching back to primary pool once that pool is Alive would work.  Either way, just putting it out there. Smiley

-ck
Moderator
Legendary
*
Offline Offline

Activity: 1988


Ruu \o/


View Profile WWW
October 14, 2013, 10:07:07 PM
 #12800

i'm running 24 AMU's on a raspberry pi. cpu load is down to 23-25% now with 3.6.1. had about 60% cpu load on 3.5.1 :-D
Well that's nice Smiley

3.6.1 isn't working for me.  (win7x64 - 33 usb block erupters).   I let it run for a while, then it stopped mining, repeatedly saying something like USB write error_no_mem.

I tried to copy/paste the error but lost it.  I can get it again if need be.
And FFS LOL windows. Always with the new and exciting modes of failure. This suggests a memory leak within the windows specific part of the libusb code. Anyway now that timeouts are managed differently it means we can try libusbx instead of libusb, so I'm putting up some testing binaries that use it. Please try them, but I'm not holding much to hope.

http://ck.kolivas.org/apps/cgminer/temp/

Primary developer/maintainer for cgminer and ckpool/ckproxy.
Pooled mine at kano.is, solo mine at solo.ckpool.org
-ck
Pages: « 1 ... 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 [640] 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 ... 830 »
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!