Bitcoin Forum
April 26, 2017, 08:01:56 PM *
News: If the forum does not load normally for you, please send me a traceroute.
 
   Home   Help Search Donate Login Register  
Pages: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 »
  Print  
Author Topic: Hacking KNC Neptune / Jupiter / Titan miners back to life. Why not?  (Read 52938 times)
lightfoot
Legendary
*
Offline Offline

Activity: 1120

I fix broken miners. And make holes in teeth :-)


View Profile
December 10, 2015, 11:00:10 PM
 #1

Ok. So someone asked me if I could fix some broken Neptune miner boards that would not hash, partially hash, and so forth. I said why not and sure enough a box of junk appeared.

What this thread will be is a technical discussion on what is wrong with these miners, and how someone with medium SMD rework tools might be able to get them working again. I'll cover the basic boards, controller boards (got two of those too in unknown condition) and the like and see how far I get.

Second post will be pointers to things I have found, as trying to read through a hundred pages of KNC threads is a bit complex.

What's the worst that can happen?
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1493236916
Hero Member
*
Offline Offline

Posts: 1493236916

View Profile Personal Message (Offline)

Ignore
1493236916
Reply with quote  #2

1493236916
Report to moderator
1493236916
Hero Member
*
Offline Offline

Posts: 1493236916

View Profile Personal Message (Offline)

Ignore
1493236916
Reply with quote  #2

1493236916
Report to moderator
lightfoot
Legendary
*
Offline Offline

Activity: 1120

I fix broken miners. And make holes in teeth :-)


View Profile
December 10, 2015, 11:00:27 PM
 #2

Reserved for tech stuff. UPDATED FEBRUARY 2017 First tech tip:

0) Neptune controller boards can work with Rpi and the bridgeboards for Titan miners. They are the same controller board.
0) Neptune BeagleBone Black CPUs can now work with KNC Titans. We figured it all out on pages 28-30, it takes time but it can be done.

0) I managed to hack the KNC Titan code so it can run on a Neptune BBB. Link is at:

https://www.dropbox.com/s/xtklnmk88p799bq/knc-lightfoot.7z?dl=0

You need a 32gb SD card, use admin/admin to log into the web page. This was a lot of work, feel free to donate.

1) If the controller board isn't seeing the miners it might be because one of the capacitors on the TPS chip's power rails is shorted out. This seems to happen, might be crappy caps or something else. Regardless there are three power rails feeding the FPGA and if one of them has a shorted cap the controller will refuse to turn on the FPGA.

* A second problem is a blown FPGA. This seems to happen a fair bit, however the BGA chip can be replaced, and I can do this as well.

A good way to spot this is to watch the bright LED on the side of the control board. If it comes on bright during boot then goes out, the TPS chip is probably good. If it comes on a quick flash, off, on, off, on, off then the FPGA chip is probably shorted.

Send it in I can fix this.

See page 3 or so for a nice set of pics on how I fixed this.

1a) I can fix the following Titan issues:

Blown bridgeboards for KNC Titans
Blown power connectors on Titan cubes
Incinerated power connectors on Titan cubes
Cubes that short out the 12 volt power supply
Cubes that shoot fire out the back of them
  (These usually wind up shorting out the 12v supply)
If your Titan has one die, I can try to get it to 3-4 dies
If your Titan comes up with no hashing but can be seen in KNCminer, I can fix it
If your bridgeboard is dead, I can fix it but you have to replace your Rpi too.
If your Rpi is dead, just get a new one and power it via the USB port. Lazy but works.
Any and all controller problems (reboot, etc)
Little displays that don't display anymore (sometimes)


2) If fire is pouring out of your miner like molten lava through a jungle village you might have run the DC-DC supplies a bit too hot and set fire to the capacitors. Replace them with 22-24uf caps and try to keep the DC-DC temps below 60c or so. Given the lack of airflow over them and that weird-ass insulated blanket thing on top of them, that would be a good idea.

I can fix this.

3) I've been able to get many blown boards up to what I would consider to be full power (600gh, <300 watts) not too bad. Do have to trim a bit since one of the power supplies runs a tad bit hotter, and the other unit is currently cooled by a water block. Weird.

4) If you're nutty enough to overvolt/overclock your Neptune or Titan here is a very important tip: NEVER MOVE IT WHILE RUNNING OR HOT. Power it off, wait 15 minutes for it to cool, then move it around. Why? Because the chip can get so hot it is softening the solder underneath it. Moving it with that huge heat sink can squish the solder into short-ville. Bye bye unit.

5) Never plug or unplug the molex thing from a running power supply. Always power off the supply then plug it in or unplug it. Why? Because all the caps on the power supplies will cause a powered molex to SPARK and damage the plug. Then it overheats and you feel the burn.... If you see your molex plug is discolored, has burned pins, or is a charred hunk of wreckage, drop me a line:

I can fix this.

6) If you have blown Neptunes or Titans and want me to look at them, let me know. Getting pretty good at this, I can now fix shorted Titans and Neptunes that don't talk to the controller. Rates are reasonable in bitcoin :-)

7) If you think your beaglebone is screwed, check the bottom of the board while powering on. The left LED should come on then the right LEDs should flash in a nice little show. No right lights, no booting. If they don't boot try re-installing the KNC firmware. If that doesn't work reflash it with a stock debian build then re-install the KNC firmware.

I can fix this.

Cool I did have one BB that would not come up but made a high pitched whine on power up. Turns out putting a micro-SD card cleared this and allowed boot. Turns out DPO (dreaded previous owner) must have picked up the board and pressed down on the SD interface pins, bending one to short power to ground. Don't do that :-)

9) Both Titans and Neptunes seem to have "islands of stability" in terms of frequency and voltage. For example 350/450/450/450 at -.3v will yield a solid 600gh, but backing down to a 200/450/450/450 will cause the first pair of supplies to stop putting in current. Weird, but happens on several cubes and several controllers so this is not a fluke.

Run your Titans at 250mhz per die max. Really, the diff between 60 and 80mh is where the death zone is.

10) Never unplug the 10 pin connector from the controller or cube while power is applied. Always shut everything down. When plugging in the cables make sure they are on top of all 10 pins in the Titan and oriented properly. Doing this wrong blows up the cube and controller and yes, I can fix this

More to come. Donations of parts and junk welcome.
lightfoot
Legendary
*
Offline Offline

Activity: 1120

I fix broken miners. And make holes in teeth :-)


View Profile
December 10, 2015, 11:00:39 PM
 #3

Reserved for something.
lightfoot
Legendary
*
Offline Offline

Activity: 1120

I fix broken miners. And make holes in teeth :-)


View Profile
December 10, 2015, 11:13:02 PM
 #4

First step. Got the boards, took a look at them. One had exploded capacitors on its' power modules and would crowbar a 500 watt power supply. Second and third take power, but have blackened PCB boards under the hashing chip and don't do anything.

The two controller boards are interesting. One has all six ports (10 pin) on top, the other has four. One has a red/green LED pair, the other does not. One had a beaglebone that booted up and needed a software reset (got an IP address) the other comes up and does nothing.

Connecting the 10 pin ribbon cable between either board and any of the three miner chips produces nothing, regardless of power being on or off at the miner.

sshing into the beaglebone has given me some commands, first one I have tried is:

root@Neptune:/boot# waas -g all-asic-info
Error opening /sys/bus/i2c/devices/3-0050/eeprom: No such file or directory
ASIC board #0 is non-functional: Bad EEPROM data
Error opening /sys/bus/i2c/devices/4-0050/eeprom: No such file or directory
ASIC board #1 is non-functional: Bad EEPROM data
Error opening /sys/bus/i2c/devices/5-0050/eeprom: No such file or directory
ASIC board #2 is non-functional: Bad EEPROM data
Error opening /sys/bus/i2c/devices/6-0050/eeprom: No such file or directory
ASIC board #3 is non-functional: Bad EEPROM data
Error opening /sys/bus/i2c/devices/7-0050/eeprom: No such file or directory
ASIC board #4 is non-functional: Bad EEPROM data
Error opening /sys/bus/i2c/devices/8-0050/eeprom: No such file or directory
ASIC board #5 is non-functional: Bad EEPROM data
{
Error opening /dev/i2c-3: No such file or directory
Error opening /dev/i2c-4: No such file or directory
Error opening /dev/i2c-5: No such file or directory
Error opening /dev/i2c-6: No such file or directory
Error opening /dev/i2c-7: No such file or directory
Error opening /dev/i2c-8: No such file or directory

Looks like the i2c bus lines are not operational. Ok. Need to figure this out.

It appears that the beaglebone communicates with the KNC chips and other stuff through an i2c--spi type of interface. Makes sense, however the BB doesn't have anywhere near enough channels. So what I'm guessing is happening is that the BB tries to talk to that FPGA chip which then has a *lot* of I/O ports defined as connections to each of the Neptune cubes and chips. Then the chips talk to the FPGA for housekeeping and such and the FPGA sends the cooked results to the BB to go to bfgminer and whatnot.

Makes sense actually: In this way the FPGA can also do the heavy lifting of polling the hashing engines, sending work down, getting work back, and invalidating results. With hundreds of engines on a chip it's the only way to fly, and oddly enough it keeps the interface logic on the hashing board to an absolute minimum. Nice idea.

However the fpga is powered by its' own power supply, and I am guessing the i2c busses going to the engines have their own independent supply to reduce noise and ringing problems from the hashing engines (which probably run at .6 volts or so if it's a 20nm chip). That is probably the TPS chips, I wonder if it is down. Only way to find out is to put it on the bench and see if it powers up to around 2.x volts or so. Likewise that should be on each of the 10 pin headers somewhere.

Time to find it.
Cyper_BLC
Sr. Member
****
Offline Offline

Activity: 303


Reverse Engineer


View Profile
December 11, 2015, 12:34:22 AM
 #5

i repaired my knc neptune controller,
i bought full demaged 5cube and 1 controller
i repaired 3cube+controller. now it hash 2TH at 1200W
syptoms:
all boards not hashing
nothing shown on lcd

solution:
buy a new FPGA from digikey (75$)
and remove-replace a new one with bga station.

i try to repair 2 cubes but i cant because 1.2V feed line connected to big KNC asic. this line is shortcircuit.
i decided to not fight because i cant waste my time.


For donations : 1CYPERv5yZ4c9FRzPyCz5u8vhttyKmVkto
lightfoot
Legendary
*
Offline Offline

Activity: 1120

I fix broken miners. And make holes in teeth :-)


View Profile
December 11, 2015, 03:51:16 AM
 #6

Yep, it's looking that way. I did some serious banging this evening and found that the brains to fire things up is in the /etc/init.d/initc.sh script. The io-pwr command is key:

root@Neptune:/etc/init.d# io-pwr init
TPS65217 OK. Modification A, revision 1.2
Wrong SEQ4 value 0x40
Wrong ENABLE value 0x09
Wrong SEQ4 value 0x40
Wrong ENABLE value 0x09
Wrong SEQ4 value 0x40
DC/DC converter configuration failed!

Either both of these 4 level dc-dc's failed the same way or the FPGA has the output lines (ps 4) shorted. I'd bet on that.

So it's off to the Digi-key store. I have an Aoyue 968 rework gun, a hakko picker, and most importantly god-flux so I should be able to swap that component. Thanks for the confirmation!


lightfoot
Legendary
*
Offline Offline

Activity: 1120

I fix broken miners. And make holes in teeth :-)


View Profile
December 11, 2015, 03:54:42 AM
 #7

Quote from: Cyper_BLC link=topic=1283859.msg13210166#msg13210166
i try to repair 2 cubes but i cant because 1.2V feed line connected to big KNC asic. this line is shortcircuit.
i decided to not fight because i cant waste my time.
If you have dead shorts in the 12v side, it might be the trimmer caps on the power supplies in the cube. Those things get no cooling and I've seen caps like that blow up in the heat. Bitch to find though you can use a VOM across the 12v line then go around with hot air and see where the resistance changes. I find a lot of bad FETs that way too.

lightfoot
Legendary
*
Offline Offline

Activity: 1120

I fix broken miners. And make holes in teeth :-)


View Profile
December 12, 2015, 03:31:38 PM
 #8

So it's time for an initial order from DigiKey. I think I will pick up the following:

25uf SMD capacitors (they blow up a lot on these boards)
EP4CGX22CF19C7N  New FPGA for board.
TPS65217a Power control chip (just in case that's it)


Prelude
Legendary
*
Offline Offline

Activity: 1330



View Profile
December 12, 2015, 03:56:33 PM
 #9

Thanks for this thread. I won't have anything to contribute, but I'll enjoy following your progress and hopefully learning a thing or two. Smiley
alh
Legendary
*
Offline Offline

Activity: 1190


View Profile
December 13, 2015, 02:33:31 AM
 #10

While you are trying to breathe new life into the Neptune, maybe you could find a way to add an additional PCIe jack (or something), to eliminate the overloaded 400W single power jack? My understanding is that is a common over-heat point of failure.

Just a thought from the peanut gallery. I too find these interesting. Best of luck!
Prelude
Legendary
*
Offline Offline

Activity: 1330



View Profile
December 13, 2015, 02:47:55 AM
 #11

While you are trying to breathe new life into the Neptune, maybe you could find a way to add an additional PCIe jack (or something), to eliminate the overloaded 400W single power jack? My understanding is that is a common over-heat point of failure.

Just a thought from the peanut gallery. I too find these interesting. Best of luck!

If memory serves, the board is actually designed with 2 ports in mind. KNC was just too cheap to put 2 of them. Should be an easy mod I imagine.
Searing
Legendary
*
Offline Offline

Activity: 1344


Clueless!


View Profile
December 13, 2015, 02:52:22 AM
 #12

I asked this on knc thread...but got.. no answer

here is the link


Anyway someone was claiming you could take a Titan Controller and remove the PI (toss away the titan bridge thingy) and put in a Beagle Bone Black and Viola
it is now a Neptune Controller.

I am told by many others it does NOT work the other way around on the main KNC thread.


Anyway (dumb as this would be to do) is this actually do'able. (ie the only reason we can't use Neptune Boards on Titans is KNC was to cheap to use Beagle Bone Blacks?)

the only other thing I have of note here is on youtube type search for KNC Titan and newest stuff to come up is a Swedish Guy (2 videos 1st swedish but better video for seeing actual fixes...the 2nd video is in english not as good to follow along with)

anyway the videos are how to mod and add heatsinks and re-paste the chip ...better fan etc (look at comments under videos for parts)

may be of use here on your Neptune thread ...I don't know of a Neptune video on re-paste etc


anyway don't have a Neptune...only Titans ....but good luck Smiley




lightfoot
Legendary
*
Offline Offline

Activity: 1120

I fix broken miners. And make holes in teeth :-)


View Profile
December 13, 2015, 04:41:32 AM
 #13

While you are trying to breathe new life into the Neptune, maybe you could find a way to add an additional PCIe jack (or something), to eliminate the overloaded 400W single power jack? My understanding is that is a common over-heat point of failure.

Just a thought from the peanut gallery. I too find these interesting. Best of luck!

*nod* Indeed, I'm seeing two problems with that connector.

1) The connector is over-loaded. I had a Monarch that ran off a 500 watt power supply that basically fused the PCIe cables to the jacks due to voltage drop and slow melting. That's why they went to 3 when they did the 700gh ones. And let me say removing those PCIe jacks is a pain in the rear (hint: pre-heat. Lots of pre-heat).

2) I see an interesting flaw in the Neptune: The DC-DC's each have a bunch of 25uf capacitors to smooth out the ripple current on the 12v lines before the chip. No biggie for one, but since they use six of them and since the caps are always live there is a nice *snap* of surged current every time you plug and unplug a Neptune to a turned-on power supply. Each *snap* makes a little divot in the PCIe contacts. A few of those and you start to have higher resistance, which leads to heat, which leads to fail.

So one big idea is to *never* have your power supply on or off when plugging or unplugging a Neptune box. Ever. Let your power supply crowbar charge and discharge that mongo set of caps.

If people have Neptunes with burned jacks I can fix those cards without too much difficulty. The Neptune boards have less thick copper planes than other miners, so it's not too bad to do.

lightfoot
Legendary
*
Offline Offline

Activity: 1120

I fix broken miners. And make holes in teeth :-)


View Profile
December 13, 2015, 04:44:25 AM
 #14

While you are trying to breathe new life into the Neptune, maybe you could find a way to add an additional PCIe jack (or something), to eliminate the overloaded 400W single power jack? My understanding is that is a common over-heat point of failure.

Just a thought from the peanut gallery. I too find these interesting. Best of luck!

If memory serves, the board is actually designed with 2 ports in mind. KNC was just too cheap to put 2 of them. Should be an easy mod I imagine.
The jupiter had pads for two ports, the Neptune only has one. So putting another one in might not be worth it, once I get one going I'll take a look at how the plugs are handling things. Going to an 8 pin might be doable....
lightfoot
Legendary
*
Offline Offline

Activity: 1120

I fix broken miners. And make holes in teeth :-)


View Profile
December 13, 2015, 04:51:25 AM
 #15

Anyway someone was claiming you could take a Titan Controller and remove the PI (toss away the titan bridge thingy) and put in a Beagle Bone Black and Viola
it is now a Neptune Controller.

I am told by many others it does NOT work the other way around on the main KNC thread.


Anyway (dumb as this would be to do) is this actually do'able. (ie the only reason we can't use Neptune Boards on Titans is KNC was to cheap to use Beagle Bone Blacks?)

the only other thing I have of note here is on youtube type search for KNC Titan and newest stuff to come up is a Swedish Guy (2 videos 1st swedish but better video for seeing actual fixes...the 2nd video is in english not as good to follow along with)

anyway the videos are how to mod and add heatsinks and re-paste the chip ...better fan etc (look at comments under videos for parts)

may be of use here on your Neptune thread ...I don't know of a Neptune video on re-paste etc

anyway don't have a Neptune...only Titans ....but good luck Smiley
Maybe. KNC seems to have come up with the super-dooper-bright idea of putting their FPGA I2C mux and general goat-gathering tool on the outside board instead of inside the miner, they don't seem to have changed the concept between the Jupiter and Neptune.

Not sure how the Titan works though, if you want to send me a Titan hashing board (does it use the same heat sinks as the Neptune?) I can give it a try. The questions you can research include:

Does a Rpi board have the same side connectors and signal points as a BB?
*exactly* What kind of FPGA is used on the Titan controller board?
Are there any other chips on the Titan board?
How does the software in the Rpi download the code to the FPGA and power sequence the DC-DC supplies?
Take some really good pics of the Titan board and post it to this thread. Both sides, focus in on the chips.

If the Titan has an insane amount of hashing engines, they might have had to make changes to the FPGA-CPU interconnections to handle the extra traffic. Maybe, don't know.

Send me a working Titan hashing board and I'll give it a go. Worst case board explodes or something. I'm going to try to fix these two while waiting on another, it's $60 for the FPGA from Digi-Key and BGA replacement is tough but not impossible.
Prelude
Legendary
*
Offline Offline

Activity: 1330



View Profile
December 13, 2015, 05:46:38 AM
 #16

Would going to 8 pin change anything? All it adds are 2 more grounds, still only have 3 12v.
Searing
Legendary
*
Offline Offline

Activity: 1344


Clueless!


View Profile
December 13, 2015, 08:45:00 AM
 #17

Anyway someone was claiming you could take a Titan Controller and remove the PI (toss away the titan bridge thingy) and put in a Beagle Bone Black and Viola
it is now a Neptune Controller.

I am told by many others it does NOT work the other way around on the main KNC thread.


Anyway (dumb as this would be to do) is this actually do'able. (ie the only reason we can't use Neptune Boards on Titans is KNC was to cheap to use Beagle Bone Blacks?)

the only other thing I have of note here is on youtube type search for KNC Titan and newest stuff to come up is a Swedish Guy (2 videos 1st swedish but better video for seeing actual fixes...the 2nd video is in english not as good to follow along with)

anyway the videos are how to mod and add heatsinks and re-paste the chip ...better fan etc (look at comments under videos for parts)

may be of use here on your Neptune thread ...I don't know of a Neptune video on re-paste etc

anyway don't have a Neptune...only Titans ....but good luck Smiley
Maybe. KNC seems to have come up with the super-dooper-bright idea of putting their FPGA I2C mux and general goat-gathering tool on the outside board instead of inside the miner, they don't seem to have changed the concept between the Jupiter and Neptune.

Not sure how the Titan works though, if you want to send me a Titan hashing board (does it use the same heat sinks as the Neptune?) I can give it a try. The questions you can research include:

Does a Rpi board have the same side connectors and signal points as a BB?
*exactly* What kind of FPGA is used on the Titan controller board?
Are there any other chips on the Titan board?
How does the software in the Rpi download the code to the FPGA and power sequence the DC-DC supplies?
Take some really good pics of the Titan board and post it to this thread. Both sides, focus in on the chips.

If the Titan has an insane amount of hashing engines, they might have had to make changes to the FPGA-CPU interconnections to handle the extra traffic. Maybe, don't know.

Send me a working Titan hashing board and I'll give it a go. Worst case board explodes or something. I'm going to try to fix these two while waiting on another, it's $60 for the FPGA from Digi-Key and BGA replacement is tough but not impossible.


yeah some guy claimed he went from titan to neppie board...probably did it is how knc works on this stuff..but yeah the fpga is close coded their is talk on the knc swedish thread about reverse engineering such ...but it is a long shot

as far as titans if the PI is shot you can replace with a regular raspberry pi B+ 512mb version (or whatever the standard version is ..I think it is thus) you can't use the newer pi someone tried...you can make cables that is out their for info....a guy is making a run of 10 bridges between the pi and the 6 port board (neppies don't have such) he is keeping 3 out of the 7 i will get one just in case...so only thing left in the whold shebang is to get a copy of the fpga and with an old jupiter board and some mods supposedly it could be done a clone hack tweak and all them broken titan boards could be brought back to life Wink

but i suspect the guy is right you you can go backwards....toss the titan bridge from pi to 6 port board away....you pop on the BBB on andthe only thing diff on the 6 port board is the SD firmware and what is on the FPGA chip and viola....you then can restore/repair  your raspberry pi 8 grade science fair project for 10k ...they do have the whole knc evil genius thing down..and also by using the PI they save 1/3 price on each shirt pocket computer used to run the Titans.....evil genius pays ...indeed Sad (can't believe i got an orig titan ) Sad

lightfoot
Legendary
*
Offline Offline

Activity: 1120

I fix broken miners. And make holes in teeth :-)


View Profile
December 13, 2015, 04:55:05 PM
 #18

Quick thought: I don't see how. My older Rpi has a completely different gender on the pins to the Neptune board (the pins from board to BB are male to female on the BB. My Pi has male header pins). So to start with an adapter would need to be made, you can't just plug a Pi into a Neptune board.

That said, anyone have a confirmed picture of a Titan board with the Rpi off?
lightfoot
Legendary
*
Offline Offline

Activity: 1120

I fix broken miners. And make holes in teeth :-)


View Profile
December 13, 2015, 04:57:56 PM
 #19

Ok, so I pulled the FPGA from a broken Neptune controller board. Thoughts:

1) These boards are *thin*. Almost don't need the overhead heat, I might be able to flow the new chip onto the board just with the pre-heater. Nice. Note that the temps on the board were 250c when I hit it with 350c top air for 15 seconds, then picked it with the Hakko. Came up clean. Much thinner PCBs than other miner products.

2) Now I just need to let the board cool down then I'll work on testing the board sans fpga. If the power supplies come up then that was probably it.
lightfoot
Legendary
*
Offline Offline

Activity: 1120

I fix broken miners. And make holes in teeth :-)


View Profile
December 13, 2015, 05:22:42 PM
 #20

Very interesting. With the fpga off the board, the following is going on:

1) The red/white/blue super bright LED is always on. Must be pulled low by the fpga outputs. Hm...

2) The power up command still does not work:

root@Neptune:~# io-pwr init
TPS65217 OK. Modification A, revision 1.2
Wrong SEQ4 value 0x40
Wrong SEQ4 value 0x40
Wrong SEQ4 value 0x40
Wrong ENABLE value 0x00
Wrong SEQ4 value 0x40
DC/DC converter configuration failed!

Interesting. Next up is to pull and swap the TPS chip. Why would that fail? Hm. But with the FPGA off I can check all the power lines to see what's going on.
Pages: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 »
  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!