Tom's Hardware > Forum > TomsNetworking > Article Discussions > How To Convert your Xbox to a NAS
Word :    Username :           
 

Did you try this? Is it great or what?

Sponsored Links
Register or log in to remove.

Yep! Awesome!

However, I cant get any of the XP or W2K machines on my network to see the share - the 98 clients work fine, but none of the others see the workgroup name by browsing or \servershare

Any ideas anyone?

cheers

Reply to mustbemad

have you tried using the xboxes ip address?

Are your xp/2k machines in the same workgroup as the xbox? Can you navigate to the 'entire windows network'? (My network places>up a level)

kevin

Reply to kevinherring

Yes!

Works fine using the IP address instead of the share name - so somehow, the DNS isn't being resolved, though I've checked the settings in inetd.conf & they look OK to me...

Any ideas how to 'switch on' DNS? I could add the entries locally on each machine's DNS file, but sort of defeats the object...


Thanks

Reply to mustbemad

hmmm... when you go to the swat page, are smbd and nmbd both running?

alternatively type in
ps -fe | grep smbd
and
ps -fe | grep nmbd

do they show anything?

Reply to kevinherring

yes - according to SWAT, both services are running - as well as winbindd

Reply to mustbemad

hmmm, tis a tough one. Im not really sure what else to suggest....

Are all your computers attached to a router/dhcp server? On my Netgear router I can log in and show 'attached devices' which shows my 3 computers and their windows name if they have one. do you have something similar that you can try?

sorry i couldnt be more helpful :-(

Reply to kevinherring

OK - No worries - thanks for your help!

To be honest - once you have it set up with IP address, it caches everything else - so its not an issue!

Cheers

Reply to mustbemad
- 0 +

hey guys i have the name resolution working fine, but i am having some issues performing the packet shaping? Alot of the modules in this tut are obselete or are not even present when selecting them. Is there a updated list of what needs to be done, or do you guys have any sugestions? Thankx alot and it seems to be working great so far.

Reply to sbmd

not quite sure what you mean when you say the modules are obsolete. if you download the 2.6.14 source and the corresponding patch file, then you should have exactly the same modules!

Reply to kevinherring
- 0 +

Networking --->
Networking options --->

  • Network packet filtering (replaces ipchains) --->

IP: Netfilter Configuration --->
<*> Connection tracking (required for masq/NAT)
<*> Userspace queueing via NETLINK
<*> IP tables support (required for filtering/masq/NAT)
<*> limit match support
<*> IP range match support
<*> MAC address match support
<*> Packet type match support
<*> netfilter MARK match support
<*> Multiple port match support
<*> TOS match support
<*> recent match support
<*> ECN match support
<*> DSCP match support
<*> AH/ESP match support
<*> LENGTH match support
<*> TTL match support
<*> tcpmss match support
<*> Helper match support
<*> Connection state match support
<*> Connection tracking match support
<*> Owner match support
<*> Packet filtering
<*> REJECT target support
<*> LOG target support
<*> ULOG target support
<*> TCPMSS target support
<*> Full NAT
<*> MASQUERADE target support
<*> REDIRECT target support
<*> NETMAP target support
<*> SAME target support
<*> Packet mangling
<*> TOS target support
<*> ECN target support
<*> DSCP target support
<*> MARK target support
<*> CLASSIFY target support
<M> raw table support (required for NOTRACK/TRACE)
<M> NOTRACK target support
<*> ARP tables support
<*> ARP packet filtering
<*> ARP payload mangling
QoS and/or fair queueing --->
<M> HTB packet scheduler
<M> SFQ queue

  • QoS support

  • Rate estimator

  • Packet classifier API

<M> Firewall based classifier

  • Traffic policing (needed for in/egress)



On this page when it is time to add these in, I have a problem with all of these:

QoS and/or fair queueing --->
<M> HTB packet scheduler
<M> SFQ queue

  • QoS support

  • Rate estimator

  • Packet classifier API

<M> Firewall based classifier

  • Traffic policing (needed for in/egress)


some i could not find some where renamed and some were label obselete.
Thankx for the response.

Reply to sbmd
- 0 +

ah that may be it, i used the 2.6.15.4 kernel and patch, i guess i will have to try the 2.6.14 as he did, or is there a way to use the newer kernel?

Reply to sbmd

yeah, stick with 2.6.14 like he/I did for simplicitiys sake. you probably can use 2.6.15, but you'd be on your own. When I wrote the article 2.6.14 was the latest and I havent had any problems with it.

Reply to kevinherring
- 0 +

ok thankx alot.

Reply to sbmd
- 0 +

iptables-save > blank_iptables

okay so i have the correct kernel installed and booted, now I can not seem to iptables-saves to work it states that "commend not found"?

Thankx for all your help. :)

Reply to sbmd

anywhere you like, its just saving it as a text file. i did all mine in my home directory.

Reply to kevinherring
- 0 +

Sorry I was miss typing it, I have been awake for too long now,

Thankx for all your help so far.

Reply to sbmd

I have set up this xbox NAS twice now. With a little messing around I am able to get everything working great untill I upgrade the kernel to 2.6.14.3 The only thing affected is torrentflux, it get's the seeds fine but when I go to start the seed I get this error:

Warning: mkdir(/shared//n/a): No such file or directory in /var/www/torrentflux/index.php on line 74

Warning: Cannot modify header information - headers already sent by (output started at /var/www/torrentflux/index.php:74) in /var/www/torrentflux/index.php on line 100

Trolled the torrentflux forums, none of the issues I found related to this error fixed my problem.
TF's read write Permissions are good (CHMOD -R 777'ed it)
, it sees root as the owner of the seeds, and no it's not a bad filename.

I also reverted back to the 2.4 kernel and torrentflux no longer works w/ 2.4 either, same error.

I did a second install and waited untill I had upgraded the kernel to 2.6.14.3 before installing all the required packages. Turned out with the same result so I'm thinking the kernel upgrade breaks something somewhere.

I'm a linux noob so any help with this would be greatly appreciated.

Thnx

Birixidor

Reply to Birixidor

Hi Birixidor

I'm a little bit confused as to what you mean when you say:
"it get's the seeds fine but when I go to start the seed..."

What exactly do you mean?


Kevin

Reply to kevinherring

what is the name of the directory you are saving the torrents and files to?

what is this: "/shared//n/a" I can see in the error message?
what is the username you are using?

Reply to kevinherring
- 0 +

Having just finished setting the Xbox NAS up i've mapped the share folders in windows but they are only showing as 8GB??
I have created shares for music and photos. I have installed a Western Digital 300GB Hdd, it showed up as a 300GB drive when i fdisk'd it. is there some limitation to linux that i dont know about??
Also i had problems with mounting the drive, i had to use /mnt/hdb1 instead of /big_daddy as described in the tutorial.
I am new to linux so if i'm missing something then please help... my heads starting to hurt... :? :? :?

wayne.

Reply to wtabram

hmmm, i'm not sure about the 8Gb issue, but perhaps it has something to do with your other issue:
Im not sure quite what you mean when you say about the mounting.

actually I have just noticed that there is an error in page 1 of part 2. I say near the bottom to create a directory called samba_share, but then I say to mount it with the command "/dev/hdb1 /big_daddy ext3 defaults 2 1". /big_daddy is what I called my share, but you should put the name you called your share.

Try re-doing this bit, not using /mnt/hdb1 and see if it changes anything.

Reply to kevinherring
- 0 +

Hey thanks for that, That now enables me to see the 275GB on the drive. :D Cheers.
Maybe that'll sort out the problem i get when trying to set up torrentflus. whenever i type the command mysql torrentflux < torrentflux.sql it says No such file or directory?
I'll repeat the whole setup process to see if i missed something.
Am i able to add further shares to the /etc/fstab to make seperate folders for music, photo's etc? or do i have to re partition the drive to enable this. I want to do this so different computer on my network only see the drives i want them to see.
Thanks again.

Wayne

Reply to wtabram
- 0 +

Hi,
I followed this article and everything works perfectly. Thank. I have working NAS device with 600 GB or HD space. I spent a great deal of time soldering DO point of the chip, and in article author wrote: "Note that I found it easier to install the D0 cable to the alternative solder point on the back of the motherboard." But there was no pictire or description how to locate this alternative DO point. Does anybody can help me with it?
thanks

Reply to aluka

Sorry for the confusion, I log in on torrentflux using root, I can download torrent "seeds" but as soon as I go to start a torrent "seed" for download I get that error.
The directory I am currently using for torrent flux is /shared/downloads/

Reply to Birixidor

You have to be in the same directory as the .sql file you are trying to apply. If you followed the instructions, the torrentflux program was untared in "/home/torrentflux_2.0". Go there again, then go into the directory called sql and then try the "mysql torrentflux < torrentflux.sql". That's what worked for me.

Reply to Birixidor
- 0 +

:idea:
page 6, part 1
WAS:
Create a user for yourself using useradd -u myname

IS:
Create a user for yourself using useradd myname


page 3, part 2
WAS:
apt-get update upgrade

IS:
apt-get update
apt-get upgrade


Finally got my Samba shares working. problems:
1. smbclient -L [sharename] returned an error pointing to the wrong IP.
change the IP address: [code:1:4fcf6aa4d8]vi /etc/hosts[/code:1:4fcf6aa4d8]
This is due to the change from a static IP to DHCP. Not sure if it was mentioned in the tutorial. Make sure you restart networking.

2. user rights problems. fix:
add the username & pw to the smb config (the one you created b4):
[code:1:4fcf6aa4d8]smbpasswd -a [username][/code:1:4fcf6aa4d8]

3. edit permissions of the samba_share to the new user.
[code:1:4fcf6aa4d8]chown -R [username] /samba_share[/code:1:4fcf6aa4d8]

another note, torrentflux is ver 2.1 for me, no need to move or chmod the .py files. They worked in the default locations.
http://img417.imageshack.us/img417/7355/untitled14sv.th.jpg

Reply to bugme
- 0 +

Quote :

Hi,
I followed this article and everything works perfectly. Thank. I have working NAS device with 600 GB or HD space. I spent a great deal of time soldering DO point of the chip, and in article author wrote: "Note that I found it easier to install the D0 cable to the alternative solder point on the back of the motherboard." But there was no pictire or description how to locate this alternative DO point. Does anybody can help me with it?
thanks



see www.xbox-scene.com

pics below represent the D0 for a v1.3 xbox. D0 location depends on your version.
http://img141.imageshack.us/img141/6425/d0bugme12bm.th.jpghttp://img141.imageshack.us/img141/4872/d0bugme28rg.th.jpghttp://img240.imageshack.us/img240/5170/d0bugme31ho.th.jpg

Reply to bugme

Hi guys

Apologies, for some reason my email notification wasnt telling me that there were more posts.

Thanks for the corrections to the article bugme. Not sure how I made the useradd mistake.

Your correction to the apt-get command: does the first one not work?
Kevin

p.s. info about the D0 position can also be found here:
http://www.hackdabox.com/Duox2_Install.html

Reply to kevinherring
- 0 +

Hey

I've followed this right through & its worked sweet as until I get the QoS section.

When I run the second script "iptables_quotas.sh" I get the following errors:

Quote :


XNAS:/home/admin/shaping# ./iptables_quotas.sh
./iptables_quotas.sh: line 29: tc: command not found
./iptables_quotas.sh: line 32: tc: command not found
./iptables_quotas.sh: line 33: cburst: command not found
./iptables_quotas.sh: line 36: tc: command not found
./iptables_quotas.sh: line 37: quantum: command not found
./iptables_quotas.sh: line 38: tc: command not found
./iptables_quotas.sh: line 39: quantum: command not found
./iptables_quotas.sh: line 42: tc: command not found
./iptables_quotas.sh: line 43: classid: command not found
./iptables_quotas.sh: line 44: tc: command not found
./iptables_quotas.sh: line 45: classid: command not found
./iptables_quotas.sh: line 48: tc: command not found
./iptables_quotas.sh: line 49: tc: command not found
XNAS:/home/admin/shaping#



I used the same versions used in the tut, & also any changes listed in this thread. Any help would be great.

rand0m!

Reply to rand0m

looks to me like you didnt add the relevant stuff when you recompiled the kernel. are you sure you added all the QoS modules?

Reply to kevinherring
- 0 +

ok, was missing Iproute and had incorrectly formatted the script.
But now I get the following error:

Unknown filter "classid", hence option "1:104" is unparsable

it refers to this line in the script:

tc class add dev $IFACE parent 1:1 classid 1:104 htb rate $PRIORATE4 ceil $P2PRATE quantum $QUANTUM4 burst $BURST4 cburst $CBURST4 prio 3

Should be all on one line.

I am using the script from the tut.

Cheers,

rand0m!

Reply to rand0m

oh, and i think you need to be logged in as root to do it.

Reply to kevinherring
- 0 +

Hey

The initinal problem was that i had put half of some commands onto another line.

With that corrected & Iproute installed, its working apart from the above error not sure why.

This was all done in the root user.


Cheers, for your help.

rand0m!

Reply to rand0m
- 0 +

Update & correction:

MARKPRIO4="4"

needs to be added to the top under "Priority marks" of both marking_packets.sh & iptables_quotas.sh

This need to be inplace due to the reference from line 41 of the iptables_quotas.sh script.


Should fix the problem.


rand0m!

Reply to rand0m
- 0 +

Quote :

ok, was missing Iproute and had incorrectly formatted the script.
But now I get the following error:

Unknown filter "classid", hence option "1:104" is unparsable

it refers to this line in the script:

tc class add dev $IFACE parent 1:1 classid 1:104 htb rate $PRIORATE4 ceil $P2PRATE quantum $QUANTUM4 burst $BURST4 cburst $CBURST4 prio 3

Should be all on one line.

I am using the script from the tut.

Cheers,

rand0m!



I am having the same issue you had, i am curious as to the fix. thankx for your time and help.

Reply to sbmd
- 0 +

Hey

If your missing the "Iproute" package.
Assuming you followed the tut & used Xebian:

You need to do the following commands:

apt-get upgrade
apt-get install iproute

Then run the Iptables reset script from the tutotual.
Then run the marking & quotas scripts as per the tut.

If you then get the Unknown filter "classid" error

Its probably because of a peice missing in the script:

marking_packets.sh should look like this:

Quote :


MARKPRIO1="1"
MARKPRIO4="4"

# Setting priority marks

iptables -t mangle -A OUTPUT -p tcp --sport 22 -j MARK --set-mark $MARKPRIO1
iptables -t mangle -A OUTPUT -p tcp --sport 80 -j MARK --set-mark $MARKPRIO1
iptables -t mangle -A OUTPUT -p tcp --sport 139 -j MARK --set-mark $MARKPRIO1
iptables -t mangle -A OUTPUT -p tcp --sport 138 -j MARK --set-mark $MARKPRIO1
iptables -t mangle -A OUTPUT -p tcp --sport 137 -j MARK --set-mark $MARKPRIO1




iptables_quotas.sh should look like:

Quote :


#Constants
# Interface you want to do shaping on
# eth2, eth1 for direct connection; ppp0 or so for dsl
# and other dialup connections (check ifconfig)
IFACE=eth0

# Priority marks
MARKPRIO1="1"
MARKPRIO4="4"

# Rates
LAN_RATE="100mbit"
P2PRATE="200kbit"
PRIORATE4="100kbit"

# Quantum
QUANTUM1="1500"
QUANTUM4="150"

# Burst
BURST1="0k"
BURST4="0k"
CBURST1="0k"
CBURST4="0k"

# Set queue length for IFACE
ifconfig $IFACE txqueuelen 16

# Specify queue discipline
tc qdisc add dev $IFACE root handle 1:0 htb default 104 r2q 1

# Set root class
tc class add dev $IFACE parent 1:0 classid 1:1 htb rate $LAN_RATE burst $BURST1 cburst $CBURST1

# Specify sub classes
tc class add dev $IFACE parent 1:1 classid 1:101 htb rate $LAN_RATE ceil $LAN_RATE quantum $QUANTUM1 burst $BURST1 cburst $CBURST1 prio 0
tc class add dev $IFACE parent 1:1 classid 1:104 htb rate $PRIORATE4 ceil $P2PRATE quantum $QUANTUM4 burst $BURST4 cburst $CBURST4 prio 3

# Filter packets
tc filter add dev $IFACE parent 1:0 protocol ip prio 0 handle $MARKPRIO1 fw classid 1:101
tc filter add dev $IFACE parent 1:0 protocol ip prio 3 handle $MARKPRIO4 fw classid 1:104

# Add queuing disciplines
tc qdisc add dev $IFACE parent 1:101 sfq perturb 16 quantum $QUANTUM1
tc qdisc add dev $IFACE parent 1:104 sfq perturb 16 quantum $QUANTUM4




Note the addition of

Quote :

MARKPRIO4="4"

in each script.


Hope this helps! :)

rand0m!

Reply to rand0m
- 0 +

Sweet thankx i will get on trying this now. i have been reading and have added the mark for the priority 4. thankx for all yor help. i will post if this works out.

Reply to sbmd
- 0 +

Thankx to all for help and this awesome tut! I love this idea and i know i will use the hell out of it. once i get more into linux i will be trying many more things now, like i think MythTV is next!. Thankx again for all your help!

Reply to sbmd
- 0 +

It's the same old problem, I can't get past first base. :oops:

I have the Mod chip installed, the BIOS is flashed with Cromwell 2.40 and I am doing a native install using an old 3.2 GB drive (works fine) for the OS.
Using the 1.1.4 XBOX install ISO, I can boot into Xebian from the CD, even go thru' and install using opt 3 (native), then once the install is complete I select shutdown from the desktop.
After powering back up, the BIOS recognises the hard disk and CD drives, the hard disk gets a "no FATX" comment after it, (which is correct I think as the native install is on Ext2 file system formated by the Linux Install). but requests the Linux CD and will not boot up unless it is in the DVD drive. I have repeated the proceedure 4 times, I have changed the HD jumpers from 'cable select' to Master then Slave then back to Cable select, which is the default XBOX setting but nothing seems to work - I can't boot from hda1, can anyone help me with this one???

Are the swap partition settings 256MB, (default) ok for use as the Linux pages seem to suggest that 128MB would be better for systems with smaller amounts of ram. Is the fact that the main partition is almost 3GB going to be a problem or should I, if I get the system to work, reduce the size of the Boot partition to something like 1GB. :?:

Reply to DIYDick

Hi DIYDick

Apologies for the delay in replying, I have been away.

To be honest I'm not sure why you are getting the problem. I have checked mine, and it appears to be using 2.1G of my OS disk, so you should have plenty of free space.

As long as you have followed the instructions I cant see what is wrong. At what point does it ask you to insert the CD? at the cromwell bios stage, or afterwards as it actually starts trying to load linux?

Reply to kevinherring
- 0 +

Hi,

does somebody know why this fails?

[code:1:6aa143068b]
nas:/usr/src/linux# make install
CHK include/linux/version.h
CHK include/linux/compile.h
CHK usr/initramfs_list
Kernel: arch/i386/boot/bzImage is ready (#1)
sh /usr/src/linux-2.6.14.3/arch/i386/boot/install.sh 2.6.14.3-xbox arch/i386/boot/bzImage System.map "/boot"
In order to use the new kernel image you have just installed, you
will need to reboot the machine. First, however, you will need to
either make a bootable floppy diskette, re-run LILO, or have GRUB
installed.

Checking for ELILO...No

Checking for LILO...No

Should I make a bootdisk? (y/N) N

WARNING: Your system is probably unbootable now. After correcting any
problems, rerun this script with the command `mkboot -installkernel'.
make[1]: *** [install] Error 1
make: *** [install] Error 2
nas:/usr/src/linux# cd /boot
nas:/boot# ls -la
total 7376
drwxr-xr-x 2 root root 4096 Jul 13 14:41 .
drwxr-xr-x 23 root root 4096 Jul 13 11:21 ..
lrwxrwxrwx 1 root root 24 Jul 13 14:41 System.map -> System.map-2.6.14.3-xbox
-rw-r--r-- 1 root root 513926 Jun 10 2005 System.map-2.4.31-xbox
-rw-r--r-- 1 root root 931603 May 1 2005 System.map-2.6.11.8
-rw-r--r-- 1 root root 528547 Jul 13 14:41 System.map-2.6.14.3-xbox
lrwxrwxrwx 1 root root 28 Jul 13 11:14 System.map.old -> /boot/System.map-2.4.31-xbox
lrwxrwxrwx 1 root root 20 Jul 13 14:41 config -> config-2.6.14.3-xbox
-rw-r--r-- 1 root root 32496 Jun 10 2005 config-2.4.31-xbox
-rw-r--r-- 1 root root 60616 Apr 30 2005 config-2.6.11.8
-rw-r--r-- 1 root root 36330 Jul 13 14:41 config-2.6.14.3-xbox
-rwxr-xr-x 1 root root 21760 Jun 13 2005 default.xbe
-rw-r--r-- 1 root root 1241088 Jun 13 2005 initrd
-rw-r--r-- 1 root root 4413 Jun 13 2005 initrd.splash.gz
-rw-r--r-- 1 root root 275 Jul 13 14:35 linuxboot.cfg
-rw-r--r-- 1 root root 128 May 28 2004 linuxboot.cfg.fatx_e
-rw-r--r-- 1 root root 128 May 28 2004 linuxboot.cfg.fatx_f
-rw-r--r-- 1 root root 107 May 28 2004 linuxboot.cfg.hdd_xbe
lrwxrwxrwx 1 root root 21 Jul 13 14:41 vmlinuz -> vmlinuz-2.6.14.3-xbox
-rw-r--r-- 1 root root 932586 Jun 10 2005 vmlinuz-2.4.31-xbox
-rw-r--r-- 1 root root 1912729 May 1 2005 vmlinuz-2.6.11.8
-rw-r--r-- 1 root root 1260950 Jul 13 14:41 vmlinuz-2.6.14.3-xbox
lrwxrwxrwx 1 root root 25 Jul 13 11:14 vmlinuz.old -> /boot/vmlinuz-2.4.31-xbox
[/code:1:6aa143068b]

THX :wink:

Reply to madru

hmmm, not sure. are you sure it has actually failed?

Reply to kevinherring
- 0 +

well, something failed or is not right....

if I use:

[code:1:8d04cb5259]
title v2_6
kernel /usr/src/linux/arch/i386/boot/bzImage
append root=/dev/hda2 devfs=mount kbd-reset xbox=hdd
xboxfb y

title v2_4
kernel /boot/vmlinuz-2.4.31-xbox
append root=/dev/ide/host0/bus0/target0/lun0/part2 devfs=mount kbd-reset xbox=hdd
xboxfb y

default v2_6
[/code:1:8d04cb5259]

I can boot 2.6.x

if I use as described in your manual:

[code:1:8d04cb5259]
title v2_6
kernel /usr/src/vmlinuz
append root=/dev/hda2 devfs=mount kbd-reset xbox=hdd
xboxfb y

title v2_4
kernel /boot/vmlinuz-2.4.31-xbox
append root=/dev/ide/host0/bus0/target0/lun0/part2 devfs=mount kbd-reset xbox=hdd
xboxfb y

default v2_6
[/code:1:8d04cb5259]

I can not boot anymore

Reply to madru

I am about to buy and old XBOX and do this NAS as I want to hold all of my DVD's and CD's in one place. I was thinking that if you use the DEBAIN build and dual drives you should be able to mirror the drives. Also is there anyway to boot from a USB Key/Drive instead of the CD for the install as the Xbox I am about to buy has a faulty DVD.


PS Great tutorial I can wait to blow the dust off my soldering iron

Reply to MrTeddyEars

as far as i know, yes you can mirror the drives with software in debian, however i have no idea how.

as for booting from a usb stick, no, not as far as i know. I suggest you see if you can borrow a dvd drive from someone.

good luck!

Reply to kevinherring

Hi All - just in case anyone is still reading this.

I have just replaced my xbox with a 'real' server (an a64 3700 with 512mb ram). My new setup is identical (at the moment, soon i will be adding a mythtv backend), but setting it up i found that a few things have changed since i wrote the article. The samba part is slightly more complicated, so you'll have to check on the web for that (mainly you have to set available to true and set authentication to share)

I also found that my new server is way faster on the web front end for torrentflux. Sometimes I found the xbox would really choke when downloading large or multiple torrents. This is mainly because it has so much more memory. So do anything you can to reduce memory usage might help. I saw an article about reducing the memory requirements of mysql and apache, so this might be something to investigate.

I havent implemented traffic shaping on my new box yet, but i think that has changed too.

Anyway my xbox is off to my dad to be fitted with a nice new 400gb hard drive so it will still be being used.

Reply to kevinherring
Tom's Hardware > Forum > TomsNetworking > Article Discussions > How To Convert your Xbox to a NAS
Go to:

There are 1313 identified and unidentified users. To see the list of identified users, Click here.

Please mind

You are about to answer a thread that has been inactive for more than 6 months.
If you still wish to proceed, please ensure that your posting is original and does not duplicate or overlap any prior responses to this thread.

Add a reply Cancel
Sponsored links
  • Ask the community now
  • Publish
Ad
They won a badge
Join us in greeting them