Bitcoin Forum
December 10, 2016, 09:11:57 AM *
News: Latest stable version of Bitcoin Core: 0.13.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: « 1 ... 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 [120] 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 ... 830 »
  Print  
Author Topic: OFFICIAL CGMINER mining software thread for linux/win/osx/mips/arm/r-pi 4.9.2  (Read 4826034 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.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218


Gerald Davis


View Profile
December 22, 2011, 02:29:18 PM
 #2381

A value of 0 in the configuration implies "not set" which means cgminer does not try to set the value it has received.

However I do recall cgminer not starting up complaining about bad values.  What about 0.00 does it just ignore those or does it error out?
I looked at the load config code and it compares the read value with a range <= 0 && >= 9999 to determine if error. So it should not allow any invalid value for gpu_vddc and should throw an error. The example.conf shouldn't have 0.000 there as default. Presumably a missing line would result in a default supplied by ADL code but I'm not certain.

Weird.  Let me try an replicate it tonight.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1481361117
Hero Member
*
Offline Offline

Posts: 1481361117

View Profile Personal Message (Offline)

Ignore
1481361117
Reply with quote  #2

1481361117
Report to moderator
1481361117
Hero Member
*
Offline Offline

Posts: 1481361117

View Profile Personal Message (Offline)

Ignore
1481361117
Reply with quote  #2

1481361117
Report to moderator
P4man
Hero Member
*****
Offline Offline

Activity: 504



View Profile
December 22, 2011, 03:40:20 PM
 #2382

if I can replicate it this evening.

IIRC it went something like this
a) start cgminer using command line params (all valid).
b) cgminer runs & mines fine.
c) use save configuration to default file option.
c) open file and some params (not ones I explicitly set like voltage) are 0.00.
d) launch cgminer and it complains about file format.  removing VDDC and other params fixes issue.

I can confirm this. I have the exact same thing. Only VDDC is "wrong" and set to zero. Trying to launch cgminer results in an error unless I fill out the VDCC values or remove those lines.

BkkCoins
Hero Member
*****
Offline Offline

Activity: 784


firstbits:1MinerQ


View Profile WWW
December 22, 2011, 04:05:04 PM
 #2383

I've sync'd my local code to 2.0.8 now and the values for gpu settings are taken from ADL variables. This has been working for me and I think likely prevents a zero value ever getting written. I should make a patch and get this out to a few others for testing.

My code also has a display option for "fan in percent" as well (which is what I much prefer). If the RPM drops to zero it overrides percent and shows 0 RPM, just to be safe since apparently sometimes percents don't show correctly when the fan stops.

-ck
Moderator
Legendary
*
Offline Offline

Activity: 2002


Ruu \o/


View Profile WWW
December 22, 2011, 09:02:27 PM
 #2384

I've sync'd my local code to 2.0.8 now and the values for gpu settings are taken from ADL variables. This has been working for me and I think likely prevents a zero value ever getting written. I should make a patch and get this out to a few others for testing.

My code also has a display option for "fan in percent" as well (which is what I much prefer). If the RPM drops to zero it overrides percent and shows 0 RPM, just to be safe since apparently sometimes percents don't show correctly when the fan stops.

Percent values are only what PWM settings the card is sending to its fan, and may have absolutely no correlation with what RPM the fan is actually running at. That's why it defaults to showing RPM instead which is actually the detected speed. On the other hand, the idea to show RPM when it's zero is a good safety mechanism, but I assume you take into account that many cards don't report RPM speed?

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

Activity: 77


View Profile
December 22, 2011, 10:56:15 PM
 #2385

anyone know how i can use cgminer with phatk 2.1?
BkkCoins
Hero Member
*****
Offline Offline

Activity: 784


firstbits:1MinerQ


View Profile WWW
December 23, 2011, 02:14:18 AM
 #2386

Percent values are only what PWM settings the card is sending to its fan, and may have absolutely no correlation with what RPM the fan is actually running at. That's why it defaults to showing RPM instead which is actually the detected speed. On the other hand, the idea to show RPM when it's zero is a good safety mechanism, but I assume you take into account that many cards don't report RPM speed?
I think I have good logic but wonder if I should change the zero check to some minimum RPM value, eg. <500 so that even if it's not actual zero but just limping like dead it'll indicate that.

The logic I altered is,

if (gf != -1 && (!opt_fan_percent || gf == 0))
  show rpm
else if(gp != -1)
  show percent

only a slight change from previous.

BkkCoins
Hero Member
*****
Offline Offline

Activity: 784


firstbits:1MinerQ


View Profile WWW
December 23, 2011, 05:37:11 AM
 #2387

Here's a patch against 2.0.8 for anyone who wants to test and feedback.
It brings in my improved runtime config write code and the fan display in percent option.

http://pastebin.com/PJ7e8sSF

ancow
Sr. Member
****
Offline Offline

Activity: 373


View Profile WWW
December 23, 2011, 06:34:39 AM
 #2388

I've sync'd my local code to 2.0.8 now and the values for gpu settings are taken from ADL variables.

That sounds awfully bug-prone to me.
For one, ADL doesn't have a particularly good record when it comes to reporting back the correct/actual values. Also, instead of not writing out settings that weren't set, it'll write out more or less random values in those cases (e.g. the case where the user doesn't want cgminer to handle those settings; suddenly cgminer will handle them, resulting in possible conflicts with external programs).
cgminer goes out of its way to be safe; I think this change would undermine that. Instead, you should have a look at the code and simply not write out values that mean "unset".

BTC: 1GAHTMdBN4Yw3PU66sAmUBKSXy2qaq2SF4
BkkCoins
Hero Member
*****
Offline Offline

Activity: 784


firstbits:1MinerQ


View Profile WWW
December 23, 2011, 06:44:33 AM
 #2389

I've sync'd my local code to 2.0.8 now and the values for gpu settings are taken from ADL variables.

That sounds awfully bug-prone to me.
For one, ADL doesn't have a particularly good record when it comes to reporting back the correct/actual values. Also, instead of not writing out settings that weren't set, it'll write out more or less random values in those cases (e.g. the case where the user doesn't want cgminer to handle those settings; suddenly cgminer will handle them, resulting in possible conflicts with external programs).
cgminer goes out of its way to be safe; I think this change would undermine that. Instead, you should have a look at the code and simply not write out values that mean "unset".
The code only saves ADL values when auto isn't selected for that value. If auto is on then it writes out the range provided by the user rather than any current value. Also, when I say it saves ADL values it's not querying ADL directly but using values already maintained by cgminer in it's adl structure which should be reflected on the screen at the time a user chooses to write a config. I think that's reasonable but I'm not an expert and ckolivas would have to decide if that's safe.

After reading thru most of the code this was the only way I could see that allowed saving a user tweaked state as a config.

Proofer
Sr. Member
****
Offline Offline

Activity: 251


View Profile
December 23, 2011, 07:01:54 AM
 #2390

As some of you kind and helpful folks will undoubtedly recall, I haven't been able to get cgminer running on my new 3x5970 rig; it hangs, or it freezes the system tight, after a few seconds.  Over at the Pools/Eclipse forum, I started to ask about configuring apps such as poclbm and Phoenix, but we got sidetracked into my can't-run-cgminer problem.  BkkCoins had a possibly useful insight, and as a result I'm coming back here to pursue it:

... The only time I've ever had lock ups is when gpu settings were pushed too far. Engine 950 is not that high but some cards will choke on even that. I'd definitely start really conservative at 850 and default mem speed and then see how stability is before altering any gpu settings.

Cards behave very differently even from the same mfr. batch. I have 2 5830s bought together and one craps out above 970 while the other is happy at 1020. If you got a fussy card then anything higher than 850 could be causing failures. If cgminer starts and outputs init messages then I'd say software is likely ok and you should debug hardware issues and really back off to ultra conservative values, and no "auto" settings that may be causing cgminer to adjust things. Also start with one card and add cards as stability is verified.

I changed gpu-engine from "0-950" to "850" and removed both "auto" settings.  That caused it to go a few more seconds -- to the extent of outputing three "Accepted" messages that it hadn't previously...

[2011-12-22 22:38:28] Long-polling activated for http://us.eclipsemc.com:8337/LP
[2011-12-22 22:38:32] Accepted 00000000.943f188b.123aad4f GPU 2 thread 2 pool 0
GPU2 47.5C 4504RPM | (5s):326.7 (avg):4026.5 Mh/s | A:1 R:0 HW:0 U:600.00/m I:8
[2011-12-22 22:38:33] Accepted 00000000.ddd1a27e.08200eba GPU 1 thread 1 pool 0
GPU1 52.5C | (5s):363.6 (avg):222.7 Mh/s | A:1 R:0 HW:0 U:11.99/m I:5
[2011-12-22 22:38:34] Accepted 00000000.307282d1.c779af85 GPU 2 thread 2 pool 0
GPU2 48.0C 4519RPM | (5s):333.0 (avg):238.0 Mh/s | A:2 R:0 HW:0 U:23.98/m I:8

...but then the system was frozen.

So I think we might be on a productive track.  The above was still with three cards.  Next, I'll remove two.  Any other ideas for hardware-related experiments, including .conf values, welcome.
kano
Legendary
*
Offline Offline

Activity: 1932


Linux since 1997 RedHat 4


View Profile
December 23, 2011, 07:08:16 AM
 #2391

As some of you kind and helpful folks will undoubtedly recall, I haven't been able to get cgminer running on my new 3x5970 rig; it hangs, or it freezes the system tight, after a few seconds.  Over at the Pools/Eclipse forum, I started to ask about configuring apps such as poclbm and Phoenix, but we got sidetracked into my can't-run-cgminer problem.  BkkCoins had a possibly useful insight, and as a result I'm coming back here to pursue it:

... The only time I've ever had lock ups is when gpu settings were pushed too far. Engine 950 is not that high but some cards will choke on even that. I'd definitely start really conservative at 850 and default mem speed and then see how stability is before altering any gpu settings.

Cards behave very differently even from the same mfr. batch. I have 2 5830s bought together and one craps out above 970 while the other is happy at 1020. If you got a fussy card then anything higher than 850 could be causing failures. If cgminer starts and outputs init messages then I'd say software is likely ok and you should debug hardware issues and really back off to ultra conservative values, and no "auto" settings that may be causing cgminer to adjust things. Also start with one card and add cards as stability is verified.

I changed gpu-engine from "0-950" to "850" and removed both "auto" settings.  That caused it to go a few more seconds -- to the extent of outputing three "Accepted" messages that it hadn't previously...

[2011-12-22 22:38:28] Long-polling activated for http://us.eclipsemc.com:8337/LP
[2011-12-22 22:38:32] Accepted 00000000.943f188b.123aad4f GPU 2 thread 2 pool 0
GPU2 47.5C 4504RPM | (5s):326.7 (avg):4026.5 Mh/s | A:1 R:0 HW:0 U:600.00/m I:8
[2011-12-22 22:38:33] Accepted 00000000.ddd1a27e.08200eba GPU 1 thread 1 pool 0
GPU1 52.5C | (5s):363.6 (avg):222.7 Mh/s | A:1 R:0 HW:0 U:11.99/m I:5
[2011-12-22 22:38:34] Accepted 00000000.307282d1.c779af85 GPU 2 thread 2 pool 0
GPU2 48.0C 4519RPM | (5s):333.0 (avg):238.0 Mh/s | A:2 R:0 HW:0 U:23.98/m I:8

...but then the system was frozen.

So I think we might be on a productive track.  The above was still with three cards.  Next, I'll remove two.  Any other ideas for hardware-related experiments, including .conf values, welcome.
Lower the settings until that doesn't happen ...

Pool: https://kano.is BTC: 1KanoiBupPiZfkwqB7rfLXAzPnoTshAVmb
CKPool and CGMiner developer, IRC FreeNode #ckpool and #cgminer kanoi
Help keep Bitcoin secure by mining on pools with Stratum, the best protocol to mine Bitcoins with ASIC hardware
ancow
Sr. Member
****
Offline Offline

Activity: 373


View Profile WWW
December 23, 2011, 07:13:49 AM
 #2392

GPU2 47.5C 4504RPM | (5s):326.7 (avg):4026.5 Mh/s | A:1 R:0 HW:0 U:600.00/m I:8
[2011-12-22 22:38:33] Accepted 00000000.ddd1a27e.08200eba GPU 1 thread 1 pool 0
GPU1 52.5C | (5s):363.6 (avg):222.7 Mh/s | A:1 R:0 HW:0 U:11.99/m I:5

You could try lowering intensity and not using the dynamic intensity setting.

BTC: 1GAHTMdBN4Yw3PU66sAmUBKSXy2qaq2SF4
Fiyasko
Legendary
*
Offline Offline

Activity: 1428


Okey Dokey Lokey


View Profile
December 23, 2011, 07:34:44 AM
 #2393

GPU2 47.5C 4504RPM | (5s):326.7 (avg):4026.5 Mh/s | A:1 R:0 HW:0 U:600.00/m I:8
[2011-12-22 22:38:33] Accepted 00000000.ddd1a27e.08200eba GPU 1 thread 1 pool 0
GPU1 52.5C | (5s):363.6 (avg):222.7 Mh/s | A:1 R:0 HW:0 U:11.99/m I:5

You could try lowering intensity and not using the dynamic intensity setting.

Im with the Dynamic intensity setting beinf a factor, Think about it "GPU runs at 98% when mining" "Okay, Raise intensity by 1!" "k!" "100%GPU" "Hey thats too high, Lower it by 1!" "----------------------------" "hey dude you there?" "---------" "Sh!t he's at 100% and cant respond to me telling him to calm down!"

http://bitcoin-otc.com/viewratingdetail.php?nick=DingoRabiit&sign=ANY&type=RECV <-My Ratings
https://bitcointalk.org/index.php?topic=857670.0 GAWminers and associated things are not to be trusted, Especially the "mineral" exchange
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218


Gerald Davis


View Profile
December 23, 2011, 02:09:33 PM
 #2394

I changed gpu-engine from "0-950" to "850" and removed both "auto" settings.  That caused it to go a few more seconds -- to the extent of outputing three "Accepted" messages that it hadn't previously...

[2011-12-22 22:38:28] Long-polling activated for http://us.eclipsemc.com:8337/LP
[2011-12-22 22:38:32] Accepted 00000000.943f188b.123aad4f GPU 2 thread 2 pool 0
GPU2 47.5C 4504RPM | (5s):326.7 (avg):4026.5 Mh/s | A:1 R:0 HW:0 U:600.00/m I:8
[2011-12-22 22:38:33] Accepted 00000000.ddd1a27e.08200eba GPU 1 thread 1 pool 0
GPU1 52.5C | (5s):363.6 (avg):222.7 Mh/s | A:1 R:0 HW:0 U:11.99/m I:5
[2011-12-22 22:38:34] Accepted 00000000.307282d1.c779af85 GPU 2 thread 2 pool 0
GPU2 48.0C 4519RPM | (5s):333.0 (avg):238.0 Mh/s | A:2 R:0 HW:0 U:23.98/m I:8

...but then the system was frozen.

So I think we might be on a productive track.  The above was still with three cards.  Next, I'll remove two.  Any other ideas for hardware-related experiments, including .conf values, welcome.

850 is still pretty hot for 5970s if you don't have sufficient airflow.  The larger issue is why are your overclocking an unstable system?

"My system is unstable let me try to overclock it less" .... how about "My system is unstable let me see if it is stable at STOCK"?

Proofer
Sr. Member
****
Offline Offline

Activity: 251


View Profile
December 23, 2011, 03:00:54 PM
 #2395

850 is still pretty hot for 5970s if you don't have sufficient airflow.  The larger issue is why are your overclocking an unstable system?

"My system is unstable let me try to overclock it less" .... how about "My system is unstable let me see if it is stable at STOCK"?

The smaller issue is some of you guys might be overlooking or forgetting what a bumbling newbie I am.  Smiley  I didn't even know what stock is until just now (5970: 725MHz engine, 1GHz memory).

Without advice to the contrary, I want to do two things:

(1) Use only one card (of the three I have), then when that one's checked out, add one more, etc.  Does it matter if I do this -- remove and add cards -- by (a) editing /etc/X11/xorg.conf and rebooting; (b) physically removing/adding, rebooting, doing aticonfig --adapter=all --initial, rebooting again; or (c) using cgminer's --device|-d option?

(2) Until I'm back to three cards, run at stock speeds (except maybe fan?).  What should the relevant cgminer.conf file entries look like for that?
jjiimm_64
Legendary
*
Offline Offline

Activity: 1680


View Profile
December 23, 2011, 05:09:55 PM
 #2396



(2) Until I'm back to three cards, run at stock speeds (except maybe fan?).  What should the relevant cgminer.conf file entries look like for that?

I have 21 5970's.  i run them all with the following
{
   "_comment1" : "Any long-format command line argument ",
   "_comment2" : "may be used in this JSON configuration file",

   "url" : "http://pool:8337",
   "user" : "username.minerNumber",
   "pass" : "password",
   "gpu-engine":   "820",
   "gpu-memclock":   "420",
   "auto-fan":   true,
   "intensity":   "7"

}

1jimbitm6hAKTjKX4qurCNQubbnk2YsFw
Proofer
Sr. Member
****
Offline Offline

Activity: 251


View Profile
December 23, 2011, 05:40:36 PM
 #2397



(2) Until I'm back to three cards, run at stock speeds (except maybe fan?).  What should the relevant cgminer.conf file entries look like for that?

I have 21 5970's.  i run them all with the following
{
   "_comment1" : "Any long-format command line argument ",
   "_comment2" : "may be used in this JSON configuration file",

   "url" : "http://pool:8337",
   "user" : "username.minerNumber",
   "pass" : "password",
   "gpu-engine":   "820",
   "gpu-memclock":   "420",
   "auto-fan":   true,
   "intensity":   "7"

}

Here's the relevant portion (without url, etc.) of the config for my initial run, which was a success (where success is defined as running until I enter Q, with no hanging/freezing, smoke, or menacing sounds):

"device" : "0",

"gpu-engine" : "725",
"gpu-memclock" : "1000",
"gpu-fan" : "0-85",
"temp-cutoff" : "95",
"temp-overheat" : "85",
"temp-target" : "75",
"temp-hysteresis" : "3",
"auto-fan" : true,

"expiry" : "120",
"gpu-threads" : "2",
"log" : "5",
"queue" : "1",
"retry-pause" : "5",
"scan-time" : "60",
"worksize" : "0",

Questions:

I thought I'd start with stock gpu-engine/memclock values, and later start to overclock, but let cgminer handle the fan.  OK?
In my initial run, the fan speed of the card containing device 0 was much lower (20%) than that of the unused cards (85%); its temps, by the time I quit, were only in the upper 50s.  Did cgminer set the fan speeds of the unused cards to 85%?

I omitted "intensity" so got the default.  Intensity is defined as "Intensity of GPU scanning (d or -10 -> 10, default: d to maintain desktop interactivity)".  I don't understand what intensity really means: what is GPU "scanning"?  (Is there something I should read to get me up to speed?)  I notice a "scan-time" setting -- is that the same scanning activity that intensity controls?

gpu-threads -- I don't know how this affects things, or what the multi-thread logic looks like or is intended to accomplish.  (I'm familiar with the uses of multi-threading in conventional CPU programming.)
Proofer
Sr. Member
****
Offline Offline

Activity: 251


View Profile
December 23, 2011, 05:52:53 PM
 #2398

Quote from: README
Q: How does the donation feature work and how does it affect my shares?
A: The donation feature is disabled by default and only does anything once
enabled. It queries the author's website for login credentials and contributes
up to a proportion of work to the author's account. While the overall
accepted/rejected rates will include this work, none of these will appear in
your own accounts. On exiting, the summary will tell you how many shares were
contributed to the author.

Note:  this is a technical question, not about whether or not to donate!

I don't yet really understand "shares".  I can probably find material to read on that.  My question is, what login credentials?  To the pool I'm using?  That would assume that CK is a member of any pool that a cgminer user accesses.  If not, then what?
BkkCoins
Hero Member
*****
Offline Offline

Activity: 784


firstbits:1MinerQ


View Profile WWW
December 23, 2011, 06:23:47 PM
 #2399

Quote from: README
Q: How does the donation feature work and how does it affect my shares?
A: The donation feature is disabled by default and only does anything once
enabled. It queries the author's website for login credentials and contributes
up to a proportion of work to the author's account. While the overall
accepted/rejected rates will include this work, none of these will appear in
your own accounts. On exiting, the summary will tell you how many shares were
contributed to the author.

Note:  this is a technical question, not about whether or not to donate!

I don't yet really understand "shares".  I can probably find material to read on that.  My question is, what login credentials?  To the pool I'm using?  That would assume that CK is a member of any pool that a cgminer user accesses.  If not, then what?
cgminer will contact the developer's web site and get the info it needs for the pool/user/pwd such that cgminer can send some shares on his behalf.

A share is a portion of work. cgminer requests work from the pool and when completed it sends proof back to the pool as a share. Pools count how many shares you do to determine your pay. If the result of your work matches specific criteria then the share also indicates a "found" block and triggers the pool to announce the result to the network. This is how the pool gets paid and in turn it splits it according to all shares contributed.

cgminer is capable of managing work and shares to multiple pools at once so it has no problem  doing some portion of work for another pool than the one you're using. In fact one option for pool strategy is "load balance" where it spreads your shares across multiple pools.

DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218


Gerald Davis


View Profile
December 23, 2011, 06:27:24 PM
 #2400

Quote from: README
Q: How does the donation feature work and how does it affect my shares?
A: The donation feature is disabled by default and only does anything once
enabled. It queries the author's website for login credentials and contributes
up to a proportion of work to the author's account. While the overall
accepted/rejected rates will include this work, none of these will appear in
your own accounts. On exiting, the summary will tell you how many shares were
contributed to the author.

Note:  this is a technical question, not about whether or not to donate!

I don't yet really understand "shares".  I can probably find material to read on that.  My question is, what login credentials?  To the pool I'm using?  That would assume that CK is a member of any pool that a cgminer user accesses.  If not, then what?

Shares are just a mechanism  used by pools to track how many hashes each miner has attempted in a fair and cheat proof method.

A share is a difficulty 1 hash.  Current difficulty for a block solution is 1.15 million so solving a block is 1.15 million times harder than finding a share.

Only a share which is valid for the full difficulty (~1.15 mil) solves the block but your miner submits any shares which is valid for difficulty 1 or higher to the pool.  The pool keeps track of those and uses the count to fairly distribute block rewards when one miner does solve the block.

Simple version: shares are just low difficulty hashes uses to keep miners honest and provide a mechanism to fairly divided the rewards.

Full version:
http://bitcoin.stackexchange.com/q/1505/307

It is important to understand a share has no "real value" they are just an accounting mechanism.  
Any hash larger than the target for full block difficulty is completely worthless.  

On donation:

If you use the donation option some % (set by you) of your hashing power will work on blocks for the authors account at the pool he uses.  He only has one account at one pool.  It doesn't matter what pool you use.  If you have donation set a 1% then 99% of the time it will hash for your account at your pool.  1% of the time it will hash for the authors account at the pool used by the author.  If you have 1000 MH/s of hashing power than each second the miner will perform 990MH for you and 10 MH for the author.
Pages: « 1 ... 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 [120] 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 ... 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!