PlugPBX Forums
May 19, 2012, 02:23:37 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: PlugPBX on GuruServer Plus with MicroSD  (Read 2063 times)
adamkuo
Newbie
*
Posts: 1


« on: November 17, 2010, 03:10:22 AM »

Finally, it getting better to run the PlugPBX on GuruPlug Server Plus with MicroSD.
The issue now is the PlugPBX is bundled with 2.6.30-2-kirkwood but we need 2.6.32-5-kirkwood.
So there is only /lib/modules/2.6.30-2-kirkwood/ instead of  /lib/modules/2.6.32-5-kirkwood/


Hardware
1.GuruPlug Server Plus with noise power  Sad
   I just got this item; Yes, it;s said the heating problem is no longer exist.
   But it very noisy and the quality is poor, the clip of power socket broken next day I got it.
   And the ITEM I got did not have the internal MicroSD slot, some people have that.
   This is the other case of poor quality control.  Angry

2. Mico SD
    Sandisk Mobile Ultra Class 6 4GB MicroSDHC
    This is the maximum size I can get for Sandisk Class 6 Mobile Ultra now.
    It's runs well performance when I do the image file via the attached USB reader by Sandisk - 16MB/s

Getting Start
0. Pre-Configuration
    (a)I assume the ip of Guru Serve as 192.168.16.128 (setenv ipaddr 192.168.16.128)
    (b)I assume the ip of TFTP Server as 192.168.16.139 (setenv serverip 192.168.16.139)
    (c)The TFTP Serve I take is Solar Winds.net TFTP Server, http://www.solarwinds.com/products/freetools/free_tftp_server.aspx
        You can also use anyone you like.
    (d)The uboot file is from PlugComputer.Org - http://www.plugcomputer.org/index.php/us/resources/downloads?func=startdown&id=71
    (e)The uImage and uInitrd  is from linux-image-2.6.32-5-kirkwood 2.6.32-13 (The sid version of Debian 2.6.32-5-kirkwood armv5tel)
        You can download from here - http://bzed.de/files/2010/05/guruplug
    (f)Put uboot / uImage / uInitrd into your root drive of TFTP Server

1. Prepare the Image on MicroSD - Windows Card Imaging
    (a) Download Image File from the PlugPBX Site - http://downloads.plugpbx.org/betaimageDec22-dhcpfixed4G.img.bz2
    (b) Un-Archive the file to betaimageDec22-dhcpfixed4G.img by 7-Zip or the tools you have like WinRAR
    (c) Download the Imaging tools, I take Roadkil's Disk Image 1.6 Standalone - http://www.roadkil.net/download.php?FileID=409&ProgramID=12
    (d) Use the Imaging Tools to image the image file to the SD Card (Be Careful to take correct disk drive or you may damage your existing hard drive)
        
    (e) Once done eject the MicroSD and put into the MicroSD slot in Power Off mode.

2. Set the GuruPlug Boot from MicroSD
    Basically I refer the "installing debian on the guruplug server plus"  from bzed.de by Bernd Zeimetz.
    http://bzed.de/posts/2010/05/installing_debian_on_the_guruplug_server_plus/

2-1.Upgrading uBoot
      (a)Connect PC/GuruPlug Server with JTAG and open the Console (Minicom for Linux and Putty for Windows)
      (b)Power on the Guru and Press Any Key to enter the Uboot Mode.
      (c)Enter the following command line by line to update the uboot
          setenv ipaddr 192.168.16.128
          setenv serverip 192.168.16.139
          tftp 0x6400000 uBoot.guruplug.bin
          nand erase 0x00000000 0x0100000
          nand write 0x6400000 0x0000000 0x80000
          reset
      (d)After reset Press Any Key to enter the Uboot Mode again.

2-2.Setup Environment Parameter
      (a)Enter the following command line by line to setup environment
          setenv mainlineLinux yes
          setenv arcNumber 2097
          saveenv
          reset
      (b)After reset Press Any Key to enter the Uboot Mode again.

2-3.Make the GuruPlug bootable
      (a)Enter the following command line by line to update the kernel and initrd
          setenv ipaddr 192.168.16.128
          setenv serverip 192.168.16.139
          tftp 0x6400000 uImage
          nand erase 0x100000 0x400000
          nand write.e 0x6400000 0x100000 0x400000
          tftp 0x6400000 uInitrd
          nand erase 0x500000 0x1fb00000
          nand write.e 0x6400000 0x500000 0x600000
      (b)Setup Environment Parameter to make Guru Biit
          setenv bootargs_debian 'console=ttyS0,115200 root=/dev/sdb2'
          setenv bootcmd_nand 'nand start; nand read.e 0x00800000 0x100000 0x400000; nand read.e 0x01100000 0x500000 0x600000'
          setenv bootcmd 'setenv bootargs $(bootargs_debian); run bootcmd_nand; bootm 0x00800000 0x01100000'
          saveenv
          run bootcmd
      (e)Now you can see the GuruPlug Server Plus boot from PlugPBX MicroSD

3.Error Message I got but I still can enter the PlugPBX webpage
   (a) modprobe error
   modprobe: FATAL: Could not load /lib/modules/2.6.32-5-kirkwood/modules.dep: No such file or directory
   (b) Swap Partition Error
    Activating swap...[   31.628504] Swap area shorter than signature indicates
    failed.
   (c) 2nd Time modprobe error and please note that the boot was stock on the DAHDI detect less than 1 minutes.
   FATAL: Could not load /lib/modules/2.6.32-5-kirkwood/modules.dep: No such file or directory
   wct4xxp: error   wcte12xp: error   wct1xxp: error   wcte11xp: error   wctdm24xxp: error   wcfxo: error   wctdm: error   wcb4xxp: error   wctc4xxp: error   xpp_usb: error
   Error: missing /dev/dahdi!

4.The following is the full Bootup message

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2010.11.17 11:14:06 =~=~=~=~=~=~=~=~=~=~=~=
U-Boot 2010.03-01161-gd91b0a9 (Apr 22 2010 - 03:24:41)
Marvell-GuruPlug

SoC:   Kirkwood 88F6281_A0
DRAM:  512 MB
NAND:  512 MiB
In:    serial
Out:   serial
Err:   serial
Net:   egiga0, egiga1
88E1121 Initialized on egiga0
88E1121 Initialized on egiga1
Hit any key to stop autoboot:  3  2  1  0
nand - NAND sub-system


NAND read: device 0 offset 0x100000, size 0x400000
 4194304 bytes read: OK

NAND read: device 0 offset 0x500000, size 0x600000
 6291456 bytes read: OK
## Booting kernel from Legacy Image at 00800000 ...
   Image Name:   Debian kernel 2.6.32-5-kirkwood
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1430056 Bytes =  1.4 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 01100000 ...
   Image Name:   Debian ramdisk 2.6.32-5-kirkwood
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    5808296 Bytes =  5.5 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 2.6.32-5-kirkwood (Debian 2.6.32-21) (ben@decadent.org.uk) (gcc version 4.3.5 (Debian 4.3.5-2) ) #1 Thu Aug 26 03:31:56 UTC 2010
[    0.000000] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053977
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine: Marvell GuruPlug Reference Board
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
[    0.000000] Kernel command line: console=ttyS0,115200 root=/dev/sdb2
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 256MB 256MB = 512MB total
[    0.000000] Memory: 509440KB available (3508K code, 582K data, 124K init, 0K highmem)
[    0.000000] SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] NR_IRQS:114
[    0.000000] Console: colour dummy device 80x30
[   21.474959] Calibrating delay loop... 1192.75 BogoMIPS (lpj=5963776)
[   21.714914] Security Framework initialized
[   21.714932] SELinux:  Disabled at boot.
[   21.714953] Mount-cache hash table entries: 512
[   21.715207] Initializing cgroup subsys ns
[   21.715219] Initializing cgroup subsys cpuacct
[   21.715229] Initializing cgroup subsys devices
[   21.715237] Initializing cgroup subsys freezer
[   21.715245] Initializing cgroup subsys net_cls
[   21.715278] CPU: Testing write buffer coherency: ok
[   21.715812] devtmpfs: initialized
[   21.717224] regulator: core version 0.5
[   21.717393] NET: Registered protocol family 16
[   21.717775] Kirkwood: MV88F6281-A0, TCLK=200000000.
[   21.717789] Feroceon L2: Cache support initialised.
[   21.719734] bio: create slab <bio-0> at 0
[   21.720019] vgaarb: loaded
[   21.720478] Switching to clocksource orion_clocksource
[   21.724296] NET: Registered protocol family 2
[   21.724540] IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
[   21.725380] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
[   21.725734] TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
[   21.725914] TCP: Hash tables configured (established 16384 bind 16384)
[   21.725924] TCP reno registered
[   21.726074] NET: Registered protocol family 1
[   21.726248] Unpacking initramfs...
[   22.104687] Freeing initrd memory: 5672K
[   22.104787] NetWinder Floating Point Emulator V0.97 (double precision)
[   22.105038] audit: initializing netlink socket (disabled)
[   22.105090] type=2000 audit(0.620:1): initialized
[   22.111755] VFS: Disk quotas dquot_6.5.2
[   22.112031] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[   22.112133] JFFS2 version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[   22.112748] msgmni has been set to 1006
[   22.114454] alg: No test for stdrng (krng)
[   22.114574] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
[   22.114587] io scheduler noop registered
[   22.114595] io scheduler anticipatory registered
[   22.114602] io scheduler deadline registered
[   22.114783] io scheduler cfq registered (default)
[   22.120787] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[   22.121241] serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 33) is a 16550A
[   22.438089] console [ttyS0] enabled
[   22.442159] NAND device: Manufacturer ID: 0xec, Chip ID: 0xdc (Samsung NAND 512MiB 3,3V 8-bit)
[   22.450857] Scanning device for bad blocks
[   22.606756] Creating 3 MTD partitions on "orion_nand":
[   22.611936] 0x000000000000-0x000000100000 : "u-boot"
[   22.617491] 0x000000100000-0x000000500000 : "uImage"
[   22.622981] 0x000000500000-0x000020000000 : "root"
[   22.629200] mice: PS/2 mouse device common for all mice
[   22.634693] rtc-mv rtc-mv: rtc core: registered rtc-mv as rtc0
[   22.640639] i2c /dev entries driver
[   22.644310] cpuidle: using governor ladder
[   22.648535] cpuidle: using governor menu
[   22.652592] Registered led device: guruplug:red:health
[   22.657809] Registered led device: guruplug:green:health
[   22.663222] Registered led device: guruplug:red:wmode
[   22.668356] Registered led device: guruplug:green:wmode
[   22.673672] mv_xor_shared mv_xor_shared.0: Marvell shared XOR driver
[   22.680075] mv_xor_shared mv_xor_shared.1: Marvell shared XOR driver
[   22.720548] mv_xor mv_xor.0: Marvell XOR: ( xor cpy )
[   22.760544] mv_xor mv_xor.1: Marvell XOR: ( xor fill cpy )
[   22.800544] mv_xor mv_xor.2: Marvell XOR: ( xor cpy )
[   22.840542] mv_xor mv_xor.3: Marvell XOR: ( xor fill cpy )
[   22.847214] TCP cubic registered
[   22.850458] NET: Registered protocol family 17
[   22.855267] registered taskstats version 1
[   22.860052] rtc-mv rtc-mv: setting system clock to 2010-11-17 03:15:05 UTC (1289963705)
[   22.868115] Initalizing network drop monitor service
[   22.873172] Freeing init memory: 124K
Loading, please wait...
[   22.951014] udev: starting version 160
[   23.241842] MV-643xx 10/100/1000 ethernet driver version 1.4
[   23.247813] mv643xx_eth smi: probed
[   23.329583] net eth0: port 0 with MAC address XX:XX:XX:XX:XX:XX
[   23.358316] SCSI subsystem initialized
[   23.408640] net eth1: port 0 with MAC address XX:XX:XX:XX:XX:XX
[   23.422323] usbcore: registered new interface driver usbfs
[   23.510423] mmc0: mvsdio driver initialized, lacking card detect (fall back to polling)
[   23.519485] usbcore: registered new interface driver hub
[   23.525555] usbcore: registered new device driver usb
[   23.569860] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[   23.576536] orion-ehci orion-ehci.0: Marvell Orion EHCI
[   23.581896] orion-ehci orion-ehci.0: new USB bus registered, assigned bus number 1
[   23.607682] mmc0: new high speed SDIO card at address 0001
[   23.620582] orion-ehci orion-ehci.0: irq 19, io mem 0xf1050000
[   23.640638] orion-ehci orion-ehci.0: USB 2.0 started, EHCI 1.00
[   23.646646] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[   23.653497] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   23.660766] usb usb1: Product: Marvell Orion EHCI
[   23.665489] usb usb1: Manufacturer: Linux 2.6.32-5-kirkwood ehci_hcd
[   23.671886] usb usb1: SerialNumber: orion-ehci.0
[   23.693879] usb usb1: configuration #1 chosen from 1 choice
[   23.699801] hub 1-0:1.0: USB hub found
[   23.703673] hub 1-0:1.0: 1 port detected
[   23.707834] sata_mv sata_mv.0: version 1.28
[   23.718331] sata_mv sata_mv.0: slots 32 ports 1
[   23.730594] scsi0 : sata_mv
[   23.734059] ata1: SATA max UDMA/133 irq 21
[   24.020529] usb 1-1: new high speed USB device using orion-ehci and address 2
[   24.080532] ata1: SATA link down (SStatus 0 SControl F300)
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done[   24.172014] usb 1-1: New USB device found, idVendor=05e3, idProduct=0608
.
Begin: Mounti[   24.179638] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
ng root file sys[   24.188248] usb 1-1: Product: USB2.0 Hub
tem ... Begin: Running /scripts/local-top ... done.
Begin: Waiting for root file system ... [   24.201244] usb 1-1: configuration #1 chosen from 1 choice
[   24.211113] hub 1-1:1.0: USB hub found
[   24.215237] hub 1-1:1.0: 4 ports detected
[   24.500892] usb 1-1.1: new high speed USB device using orion-ehci and address 3
[   24.622481] usb 1-1.1: New USB device found, idVendor=05e3, idProduct=0726
[   24.629391] usb 1-1.1: New USB device strings: Mfr=0, Product=1, SerialNumber=2
[   24.636748] usb 1-1.1: Product: USB Storage
[   24.640986] usb 1-1.1: SerialNumber: 000000009909
[   24.647018] usb 1-1.1: configuration #1 chosen from 1 choice
[   24.687527] Initializing USB Mass Storage driver...
[   24.692772] scsi1 : SCSI emulation for USB Mass Storage devices
[   24.699305] usbcore: registered new interface driver usb-storage
[   24.705982] USB Mass Storage support registered.
[   29.721570] scsi 1:0:0:0: Direct-Access     Generic  STORAGE DEVICE   9909 PQ: 0 ANSI: 0
[   29.730287] scsi 1:0:0:1: Direct-Access     Generic  STORAGE DEVICE   9909 PQ: 0 ANSI: 0
[   29.778137] sd 1:0:0:0: [sda] Attached SCSI removable disk
[   29.784899] sd 1:0:0:1: [sdb] 7959552 512-byte logical blocks: (4.07 GB/3.79 GiB)
[   29.793882] sd 1:0:0:1: [sdb] Write Protect is off
[   29.798713] sd 1:0:0:1: [sdb] Assuming drive cache: write through
[   29.807619] sd 1:0:0:1: [sdb] Assuming drive cache: write through
[   29.813777]  sdb: sdb1 sdb2 sdb3 < sdb5 >
[   29.822423] sdb: p5 size 449757 exceeds device capacity, enabling native capacity
[   29.832244] sd 1:0:0:1: [sdb] Assuming drive cache: write through
[   29.838371]  sdb: sdb1 sdb2 sdb3 < sdb5 >
[   29.844644] sdb: p5 size 449757 exceeds device capacity, limited to end of disk
[   29.859282] sd 1:0:0:1: [sdb] Assuming drive cache: write through
[   29.865446] sd 1:0:0:1: [sdb] Attached SCSI removable disk
done.
Begin: Running /scripts/local-premount ... done.
Begin: Running /scripts/local-bottom ... done.
done.
Begin: Running /scripts/init-bottom ... done.
modprobe: FATAL: Could not load /lib/modules/2.6.32-5-kirkwood/modules.dep: No such file or directory



INIT: version 2.86 booting

Starting the hotplug events dispatcher: udevd[   30.816361] udev: starting version 146
.
Synthesizing the initial hotplug events...done.
Waiting for /dev to be fully populated...done.
Activating swap...[   31.628504] Swap area shorter than signature indicates
failed.
Checking root file system...fsck from util-linux-ng 2.16.2
e2fsck 1.41.9 (22-Aug-2009)
/dev/sdb2: clean, 48360/445312 files, 234497/889599 blocks
done.
Cleaning up ifupdown....
Loading kernel modules...done.
Checking file systems...fsck from util-linux-ng 2.16.2
e2fsck 1.41.9 (22-Aug-2009)
/dev/sdb1: clean, 20/112448 files, 31293/224878 blocks
done.
Setting up networking....
Mounting local filesystems...done.
Activating swapfile swap...[   32.548503] Swap area shorter than signature indicates
done.
Cleaning up temporary files....
Configuring network interfaces...done.
Setting kernel variables (/etc/sysctl.conf)...done.
Starting portmap daemon....
Starting NFS common utilities: statd.
Cleaning up temporary files....

INIT: Entering runlevel: 2

Starting portmap daemon...Already running..
Starting NFS common utilities: statd.
Starting enhanced syslogd: rsyslogd.
Starting Samba daemons: nmbd smbd.
Starting web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
[   35.498770] eth0: link up, 100 Mb/s, full duplex, flow control disabled
.
Starting Asterisk: amportal

SETTING FILE PERMISSIONS
Permissions OK

STARTING ASTERISK
Asterisk Started

STARTING FOP SERVER
FOP Server Started
.
Starting deferred execution scheduler: atd.
Starting periodic command scheduler: cron.
Loading DAHDI hardware modules:
WARNING: All config files need .conf: /etc/modprobe.d/dahdi, it will be ignored in a future release.
WARNING: All config files need .conf: /etc/modprobe.d/dahdi.blacklist, it will be ignored in a future release.
FATAL: Could not load /lib/modules/2.6.32-5-kirkwood/modules.dep: No such file or directory
   wct4xxp: error   wcte12xp: error   wct1xxp: error   wcte11xp: error   wctdm24xxp: error   wcfxo: error   wctdm: error   wcb4xxp: error   wctc4xxp: error   xpp_usb: error
Error: missing /dev/dahdi!
Starting system message bus: dbus.
Starting MySQL database server: mysqld . . . ..
Checking for corrupt, not cleanly closed and upgrade needing tables..
Starting NTP server: ntpd.
Starting OpenBSD Secure Shell server: sshd.
Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon.
Starting Postfix Mail Transport Agent: postfix.
Starting Munin-Node: done.

Debian GNU/Linux squeeze/sid PlugPBX ttyS0

PlugPBX login:

          
    
    
« Last Edit: November 17, 2010, 06:02:18 AM by adamkuo » Logged
PlugPBX Admin
Administrator
Sr. Member
*****
Posts: 426



« Reply #1 on: November 17, 2010, 05:05:53 AM »

Very cool. Thanks for posting this.

The swap I screwed up on the original provided image (next release I'm removing swap entirely). The image of the card was not done entirely correctly by moi. I also have found out that all cards are not exactly the same size, even if the sticker says 4 Gigs, so I'll purposely make images smaller to fit on the smallest variance card I've found to date.

I'll certainly study over these details to ensure the next release contains components compatible with all variant hardware.
Logged

-Greg
shag3doo
Newbie
*
Posts: 4


« Reply #2 on: December 09, 2010, 08:58:48 PM »

 hi,

i finally got this to work.  i have some minor issue though.  Since i used the plugpbx image file that's by default only 4gig, i currently have 8gig as my microsd.

how do i maximize the root partition to span and use the remaining space?

hope someone can assist me on this.

Thanks!
Logged
PlugPBX Admin
Administrator
Sr. Member
*****
Posts: 426



« Reply #3 on: December 09, 2010, 09:30:25 PM »

Options

1, make another partition with the empty space and mount / use / assign as you wish
2, use a a tool or livecd like gpartd to 'resize' the existing root partition on the flash disk to use the entire storage capacity of disk
3, 'make a new card, preserve all the partition details (UUID values) and and 'copy' all the files preserving permissions and groups from partion on memory card A to memory card B (or perhaps intermediate step of tar'ing into a gzip file to use the same card)

I did this awhile ago as a test. Idea was that I could offer different sized card images, or the tarballs for others to roll their own. Then I started hacking AppleTV's with CrystalHD boards (sigh)

Its on the list Wink

Total lack of Donations have not exactly been encouraging lately (virtually zero)

Hope that helps...several ways to do it!


Update: I want to make a much 'simpler' partition partition scheme next release, not having any swap space and a few other vast simplifications (including not using the damn UUID's anymore as the debian installer setup by default. Simple is good. I'd also under size the total disk footprint size to well be under the various sizing real world 4 Gig cards reach, amazing how much difference in sizes occur





« Last Edit: December 09, 2010, 09:39:31 PM by PlugPBX Admin » Logged

-Greg
shag3doo
Newbie
*
Posts: 4


« Reply #4 on: December 09, 2010, 09:55:58 PM »

wow, thanks for a very quick response.

I feel the pain,  i have a small hosting too.  I get a bit of funds back by subhosting to small sites.  I could probably help host a mirror for the file(s) once you have it up.  Just my way of giving back. Smiley
Logged
shag3doo
Newbie
*
Posts: 4


« Reply #5 on: December 09, 2010, 10:25:51 PM »

btw, for people following this guide,  for some reason my guruplug booted from sda2 and not sdb2.

so I had to manually change this

setenv bootargs_debian 'console=ttyS0,115200 root=/dev/sdb2'

to

setenv bootargs_debian 'console=ttyS0,115200 root=/dev/sda2'
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.13 | SMF © 2006-2011, Simple Machines LLC Install SimpleMachinesForum web hosting Valid XHTML 1.0! Valid CSS!