Welcome! Log In Create A New Profile

Advanced

(OLD uBoot) - GoFlex Net support + new 'arcNumber' variable

Posted by Jeff 
(OLD uBoot) - GoFlex Net support + new 'arcNumber' variable
October 23, 2010 02:32PM
I've updated uBoot to use the stable 2010.09 release and I've updated the installer support for both the GoFlex Net and the Pink Pogoplug. Many thanks to Peter Carmichael for providing the GoFlex Net support.

The latest uBoot also supports a new 'arcNumber' environment variable. This variable will let you set the machine ID that gets passed to the kernel. The machine ID is what the kernel looks at to decide what hardware you're using. In theory, every embedded platform should have its own unique ID, but for too long we've just been marking everything as a Sheevaplug and calling it 'close enough.' That's not a sustainable position, and now that the Dockstar has its own ID, we need to start using it.

This variable is the first step in moving toward using proper machine IDs. However, the machine ID specified in uBoot also needs to be supported by the kernel that you're using. Since there are still a lot of kernels out there that have Sheevaplug support but not Dockstar or GoFlex support, the installer will continue to use the Sheevaplug ID.

If you're running a kernel that supports your device, you should set the proper machine ID by running 'fw_setenv arcNumber 2998' (on a Dockstar/Pogoplug) or 'fw_setenv arcNumber 3089' (on a GoFlex) and rebooting.

-- Jeff

-----
moderator edit: changed thread title to OLD uBoot



Edited 4 time(s). Last edit at 01/07/2019 03:00AM by bodhi.
Re: 10/23 - New uBoot - GoFlex Net support + new 'arcNumber' variable
October 23, 2010 07:07PM
First, thanks for the great work, and for making it available to all.

A couple of questions:

Does your Uboot include the following (from http://www.dslreports.com/forum/r24894582-General-Build-your-uboot-for-Dockstar ):

(1). Adding time out for tftpboot. To network boot, tftpboot should timeout if network boot fails.

(2). Adding pogo compatible 4 bit ECC for envs. [This one to me seems pretty important]

(3). Adding complete set of default envs (except MAC and SN) for recovery when envs are corrupted.

And, if it does not include the above, how difficult would it be to recompile your Uboot to incorporate the above? Any guidance would be appreciated.

Thanks again.
Re: 10/23 - New uBoot - GoFlex Net support + new 'arcNumber' variable
October 24, 2010 03:19AM
Hi Jeff,

any plan to add support for Iomega Iconnect?? I can give support with it...

thanks

edit: please, note attached a screenshot of Iomega source update files



Edited 1 time(s). Last edit at 10/24/2010 03:32AM by paketecuento.
Attachments:
open | download - Captura de pantalla 2010-10-24 a las 10.31.07.png (48.4 KB)
Re: 10/23 - New uBoot - GoFlex Net support + new 'arcNumber' variable
October 24, 2010 10:03AM
@dinlaca: The sources and compilation instructions are available on the uBoot page and a few additional resources, including default environment settings are available on the GitHub repo.

This is pretty much just "out of the box uBoot" so ECC and TFTP behave exactly as they do on other uBoot devices. If you're interested in modifying their behavior, I'm always happy to consider any supplied patches.

@paketecuento: I don't have an iConnect to test so I can't add support for it. I'm not sure you need it, either: the device ships with a uBoot that already supports booting from USB devices.

-- Jeff
Re: 10/23 - New uBoot - GoFlex Net support + new 'arcNumber' variable
October 24, 2010 11:58AM
Jeff Wrote:
-------------------------------------------------------
> @dinlaca: The sources and compilation
> instructions are available on the uBoot page and a
> few additional resources, including default
> environment settings are available on the GitHub
> repo.
>
> This is pretty much just "out of the box uBoot" so
> ECC and TFTP behave exactly as they do on other
> uBoot devices. If you're interested in modifying
> their behavior, I'm always happy to consider any
> supplied patches.
>
> @paketecuento: I don't have an iConnect to test so
> I can't add support for it. I'm not sure you need
> it, either: the device ships with a uBoot that
> already supports booting from USB devices.
>

Hi Jeff, my problem was to "decide" flash another u-boot from martin's website ;( After that, I'm able to boot, but only have "strange" behavior like no ethernet, no way to boot kernel from usb... and so on...
Please, consider to use (remotely) my iconnect if you have time to play with it...


> -- Jeff
Hi Jeff. Does this new uBoot include the fix to allow the Pink Pogo to use 256M RAM rather than 128M that the older uBoot sets ?
Re: 10/23 - New uBoot - GoFlex Net support + new 'arcNumber' variable
October 26, 2010 06:49PM
Yes, this includes support for the Pink Pogo with 256M RAM. If your Pink Pogo still has the original uBoot, or if you've installed a custom uBoot from elsewhere, it should detect this (or prompt you) and work just fine.

If you've installed one of my Dockstar uBoots on your Pink Pogo, the installer will assume that your device is actually a Dockstar and install a new Dockstar uBoot (instead of the separate, Pink Pogo uBoot). If that's the case, let me know and I'll post directions on manually installing it.

-- Jeff
Hi Jeff

I installed uBoot + PlugBox Linux via this method early last week :http://plugapps.com/index.php5?title=PlugApps:Pogoplug_Setboot

Did a nanddump of /dev/mtd0 and according to the md5 and I currently have this one installed '7acb243fb8c3f131f1a165b3dc64faaf dockstar jeff-2010-08-30'

Chris
Re: 10/23 - New uBoot - GoFlex Net support + new 'arcNumber' variable
October 27, 2010 02:54PM
I just added a new '--force-platform=XXX" parameter to the uBoot install script. Re-download the script and run
install_uboot_mtd0.sh --force-platform=pinkpogo

-- Jeff
Thanks Jeff. That appears to have worked.
After installing the new uboot, my dockstar does not get any dhcp ip any more. I tried to boot to rescue system and debian on flash drive, all stopped working.

Time to buy a cable ...

Here is the transcript:


dockstar2:/tmp# wget http://jeff.doozan.com/debian/uboot/install_uboot_mtd0.sh
--2010-10-27 21:27:40-- http://jeff.doozan.com/debian/uboot/install_uboot_mtd0.sh
Resolving jeff.doozan.com... 69.163.187.226
Connecting to jeff.doozan.com|69.163.187.226|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 17000 (17K) [application/x-sh]
Saving to: `install_uboot_mtd0.sh'

100%[======================================>] 17,000 32.4K/s in 0.5s

2010-10-27 21:27:43 (32.4 KB/s) - `install_uboot_mtd0.sh' saved [17000/17000]

dockstar2:/tmp# chmod 777 install_uboot_mtd0.sh
dockstar2:/tmp# ./install_uboot_mtd0.sh


!!!!!! DANGER DANGER DANGER DANGER DANGER DANGER !!!!!!

If you lose power to your device while running this script,
it could be left in an unusable state.

This script will replace the bootloader on /dev/mtd0.

This installer will only work on the following devices:
Seagate GoFlex Net
Seagate Dockstar
Pogoplug Pink
Do not run this installer on any other device.

By typing ok, you agree to assume all liabilities and risks
associated with running this installer.

If you agree, type 'ok' and press ENTER to continue: ok
# checking for /usr/sbin/nandwrite...
# checking for /usr/sbin/nanddump...
# checking for /usr/sbin/flash_erase...

# Installing /usr/sbin/flash_erase...
--2010-10-27 21:27:52-- http://jeff.doozan.com/debian/uboot/flash_erase.md5
Resolving jeff.doozan.com... 69.163.187.226
Connecting to jeff.doozan.com|69.163.187.226|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 46 [text/plain]
Saving to: `/usr/sbin/flash_erase.md5'

100%[======================================>] 46 --.-K/s in 0s

2010-10-27 21:27:53 (1.42 MB/s) - `/usr/sbin/flash_erase.md5' saved [46/46]

--2010-10-27 21:27:53-- http://jeff.doozan.com/debian/uboot/flash_erase
Resolving jeff.doozan.com... 69.163.187.226
Connecting to jeff.doozan.com|69.163.187.226|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12819 (13K) [text/plain]
Saving to: `/usr/sbin/flash_erase'

100%[======================================>] 12,819 36.8K/s in 0.3s

2010-10-27 21:27:55 (36.8 KB/s) - `/usr/sbin/flash_erase' saved [12819/12819]

# Successfully installed /usr/sbin/flash_erase.
# checking for /usr/sbin/fw_printenv...
# checking for /etc/fw_env.config...

# Validating existing uBoot...
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x00080000...
--2010-10-27 21:27:55-- http://jeff.doozan.com/debian/uboot/valid-uboot.md5
Resolving jeff.doozan.com... 69.163.187.226
Connecting to jeff.doozan.com|69.163.187.226|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 643 [text/plain]
Saving to: `/tmp/valid-uboot.md5'

100%[======================================>] 643 --.-K/s in 0s

2010-10-27 21:27:56 (17.9 MB/s) - `/tmp/valid-uboot.md5' saved [643/643]

## Valid uBoot detected: [dockstar jeff-2010-08-30]

# Installing uBoot
## Installing dockstar jeff-2010-10-23
--2010-10-27 21:27:56-- http://jeff.doozan.com/debian/uboot/files/uboot/uboot.mtd0.dockstar.jeff-2010-10-23.kwb.md5
Resolving jeff.doozan.com... 69.163.187.226
Connecting to jeff.doozan.com|69.163.187.226|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 74 [text/plain]
Saving to: `/tmp/uboot.mtd0.kwb.md5'

100%[======================================>] 74 --.-K/s in 0s

2010-10-27 21:27:57 (2.26 MB/s) - `/tmp/uboot.mtd0.kwb.md5' saved [74/74]

--2010-10-27 21:27:57-- http://jeff.doozan.com/debian/uboot/files/uboot/uboot.mtd0.dockstar.jeff-2010-10-23.kwb
Resolving jeff.doozan.com... 69.163.187.226
Connecting to jeff.doozan.com|69.163.187.226|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 524288 (512K) [text/plain]
Saving to: `/tmp/uboot.mtd0.kwb'

100%[======================================>] 524,288 30.0K/s in 17s

2010-10-27 21:28:15 (29.5 KB/s) - `/tmp/uboot.mtd0.kwb' saved [524288/524288]

Erase Total 4 Units
Performing Flash Erase of length 131072 at offset 0x60000 done
Writing data to block 0 at offset 0x0
Writing data to block 1 at offset 0x20000
Writing data to block 2 at offset 0x40000
Writing data to block 3 at offset 0x60000
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x00080000...
## Verifying new uBoot...
--2010-10-27 21:28:15-- http://jeff.doozan.com/debian/uboot/files/uboot/uboot.mtd0.dockstar.jeff-2010-10-23.kwb.md5
Resolving jeff.doozan.com... 69.163.187.226
Connecting to jeff.doozan.com|69.163.187.226|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 74 [text/plain]
Saving to: `/tmp/uboot.mtd0.kwb.md5'

100%[======================================>] 74 --.-K/s in 0s

2010-10-27 21:28:16 (2.21 MB/s) - `/tmp/uboot.mtd0.kwb.md5' saved [74/74]

# Verified successfully!

# Installing uBoot environment
--2010-10-27 21:28:19-- http://jeff.doozan.com/debian/uboot/files/environment/uboot.environment.md5
Resolving jeff.doozan.com... 69.163.187.226
Connecting to jeff.doozan.com|69.163.187.226|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 52 [text/plain]
Saving to: `/tmp/uboot.environment.md5'

100%[======================================>] 52 --.-K/s in 0s

2010-10-27 21:28:19 (1.30 MB/s) - `/tmp/uboot.environment.md5' saved [52/52]

--2010-10-27 21:28:19-- http://jeff.doozan.com/debian/uboot/files/environment/uboot.environment
Resolving jeff.doozan.com... 69.163.187.226
Connecting to jeff.doozan.com|69.163.187.226|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 131072 (128K) [text/plain]
Saving to: `/tmp/uboot.environment'

100%[======================================>] 131,072 33.0K/s in 3.8s

2010-10-27 21:28:24 (33.4 KB/s) - `/tmp/uboot.environment' saved [131072/131072]

Erase Total 1 Units
Performing Flash Erase of length 131072 at offset 0xc0000 done
Writing data to block 6 at offset 0xc0000

# Verifying uBoot environment
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x000c0000 and ending at 0x000e0000...
--2010-10-27 21:28:24-- http://jeff.doozan.com/debian/uboot/files/environment/uboot.environment.md5
Resolving jeff.doozan.com... 69.163.187.226
Connecting to jeff.doozan.com|69.163.187.226|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 52 [text/plain]
Saving to: `/tmp/uboot.environment.md5'

100%[======================================>] 52 --.-K/s in 0s

2010-10-27 21:28:25 (1.70 MB/s) - `/tmp/uboot.environment.md5' saved [52/52]


# uBoot installation has completed successfully.
dockstar2:/tmp# fw_setenv arcNumber 2998
dockstar2:/tmp# reboot

Broadcast message from root@dockstar2 (pts/0) (Wed Oct 27 21:29:38 2010):

The system is going down for reboot NOW!
dockstar2:/tmp#
Re: 10/23 - New uBoot - GoFlex Net support + new 'arcNumber' variable
October 28, 2010 09:53AM
Hi, Shawn,

What does the light on front do when you try to boot without any USB drive attached? You may also want to try creating a file called 'rescueme' in the root directory of an ext formatted flash drive and then boot with that drive attached. It will force uBoot to boot from the rescue image.

-- Jeff
Hi Jeff,

I tried to boot dockstar both with/without usb flash. I also tried the trick of a single file "rescueme" on flash drive, it didn't work in this case.

The light changes from
Blinking green -> blinking yellow -> no light -> blinking green again --> no light


I also tried to upgrade uboot on another dockstar, it worked. So maybe it is just hardware problem of this specific dockstar. I will try more tonight.
Ordered a cable from ebay. More time to kill ...
I wonder if someone here can help?
Just got a pink pogoplug and installed the new uboot following the instructions but now it doesn't let me ssh into the box. The IP address is the same as before but the ssh session just fails with a message that the connection timed out. If I remove the usb stick it will boot to stock and allow me to ssh in. Any suggestions?
Thanks in advance
Re: 10/23 - New uBoot - GoFlex Net support + new 'arcNumber' variable
October 31, 2010 03:28AM
Same problem here with new uBoot...after update and set arcNumber to 2998 , I can't boot on Debian anymore.
Downgrading to "original" kernel version (2.6.32-5-kirkwood) correct the problem but I 've lost LED support :(
Where can we get previous uBoot version for test ?

Thanks.
Regards.
Re: 10/23 - New uBoot - GoFlex Net support + new 'arcNumber' variable
November 05, 2010 07:20AM
Jeff,

I have double-checked that I'm actually running your latest u-boot code. My understanding was that this version always checked for a USB based boot volume and chose that if detected. However, it appears to be alternating back and forth between booting from internal flash and booting from USB.

What would you suggest I do in terms of troubleshooting? Starting 2x to get where I want to be is not optimal :-)
I don't have an environment setup to build u-boot. If Jeff could do another build from the latest uboot - maybe that would fix the problem? (this was put out on 10/28 and the last kwb was on on 10/23)

Kirkwood: bugfix: DRAM size initialization

If start of any DRAM bank is greater than total DDR size, remaining DDR banks' start address & size were left un-initialized in dram_init function. This could break other functions who uses array 'gd->bd->bi_dram'. Kirkwood network driver is one example. This also stops Linux kernel from booting.


v2 - Set start address also to 0. Without this Linux kernel couldn't boot up

http://git.denx.de/cgi-bin/gitweb.cgi?p=u-boot.git;a=commit;h=28e57108a61bd0e554d9847170b8ad9dad093e07
Re: 10/23 - New uBoot - GoFlex Net support + new 'arcNumber' variable
December 14, 2010 09:38AM
UPDATE: Solved - http://forum.doozan.com/read.php?3,2198 :-)

I can't execute the "fw_setenv arcNumber 2998" command. The program doesn't exist. I updated uBoot to the latest version and rebooted my device without USB Sticks/HDDs. Any ideas?

I'm using the Dockstar with Debian Squeeze.


Regards,
Christian



Edited 2 time(s). Last edit at 12/14/2010 09:45AM by killerbees19.
Just a bit of follow up on this thread.

The 'arcNumber' variable is a widespread internet myth at least up to version 2010.09 of the U-Boot code. In my testing it does nothing useful. It makes no difference to the behaviour of the kernel boot. Compiling a U-Boot with machine specific support DOES result in the kernel being booted to the correct initialisation.

fw_setenv should be a symbolic link to the fw_printenv binary. To run both fw_setenv and fw_printenv, you need an appropriate /etc/fw_env.config file. To get completely set up you need two files and one symbolic link:
wget http://jeff.doozan.com/debian/uboot/fw_printenv
wget http://jeff.doozan.com/debian/uboot/fw_env.config
chmod +x fw_printenv
ln -s fw_printenv fw_setenv
mv fw_env.config /etc

The kernel you are using needs to have support for the ARM machine type (arcNumber) you are trying to boot. The machine type for Dockstar has only just made it into the mainline kernel source (2.6.36-rc4 or thereabouts). The machine number for the GoFlex Net is not yet in the mainline kernel. Because of this, you need to choose which U-Boot to use based on which kernel you are planning to use and any kernel offering GoFlex Net support under its proper registered machine type number must have been built with custom patches. At the moment my UBIT project (lots of info at ) is the source of the most current patches for GoFlex Net support.

In the UBIT project I maintain Dockstar and GoFlex Net U-Boots and a matching Kernel that is currently at 2.6.36 level. The kernel roughly matches the sheeva.with-linux kernel configuration but has the Marvell SATA driver built-in so you can boot from SATA drives on the GoFlex Net. Jeff is kindly hosting the download space for the UBIT project as the U-Boot code is based on his original Dockstar patch.

The UBIT project is a bit different from Jeff's U-Boots because I bundle in a default environment and I discourage anybody changing the boot parameters. The reason is so that within UBIT I can offer support for a known boot behaviour that just works (tm). Apart from that the U-Boot images are the same as Jeff's. Jeff produced the Dockstar U-Boot patches. I produced the GoFlex Net U-Boot patches and we both publish for both platforms.

I hope this helps shine a bit of light on some of the issues people may be having with booting and I'm happy to answer questions regarding booting, UBIT or U-Boot and kernel support in general. All my sources are available on github and most of them are up to date (https://github.com/peaslaker).

Peter
Re: 10/23 - New uBoot - GoFlex Net support + new 'arcNumber' variable
December 23, 2010 08:46PM
HI Peter,

thanks for the informative post.

While you note " It makes no difference to the behaviour of the kernel boot."

In my experience - the rescue/recovery system that Jeff put's out WILL NOT boot for me with the arcNumber changed from default.

PHT
Re: 10/23 - New uBoot - GoFlex Net support + new 'arcNumber' variable
December 28, 2010 08:35AM
This is because the original rescue system from Jeff only knows about the sheeva arcNumber and not about others.
The rescue system itself is a little bit old from a time where the dockstar had no own arcNumber but used the one from sheeva.

I do not know why Jeff has abandoned it. All my posts regarding this have been ignored.

Because I was so annoyed about the problems caused of this (having the right arcNumber for my debian kernel caused the rescue system to no longer boot, using the sheeva arcNumber both boot but the debian is not able to handle LEDs in the correct way) I learned myself to compile my own 'fresh' version of the rescue system for the dockstar (at least).

If you want to compile your own rescue system (that knows about at least the Dockstar arcNumber) have a look here.

I used my ubuntu notbook for it! Compiling the rescue on dockstar with the buildroot system did not work because the system is confused by a semi library (a script named as the library that merges static and non static part of the library, have never seen this before, but I am only a user not a developer of linux).
Re: 10/23 - New uBoot - GoFlex Net support + new 'arcNumber' variable
January 06, 2011 05:46PM
Hello,

there seems to be a little problem with the GoFlex SATA support:

The SATA drive on port 0 is detected on port 0 and on port 1.

It doesn't matter, if a second SATA drive is connected or not.


In Linux the drive (or both drives) are detected correct.
SuperVirus Wrote:
-------------------------------------------------------
> Hello,
>
> there seems to be a little problem with the GoFlex
> SATA support:
>
> The SATA drive on port 0 is detected on port 0 and
> on port 1.
>
> It doesn't matter, if a second SATA drive is
> connected or not.
>
>
> In Linux the drive (or both drives) are detected
> correct.

There is a quirk in the U-Boot support for the Marvell SATA driver. It hooks onto old Parallel ATA code that expects two devices on the same controller. I have a patch for this:
here
Just need to correct some misinformation I put in my earlier post.

Jeff's U-Boot image does include code to handle arcNumber correctly. It isn't a standard option of U-Boot and needs to be coded into the machine specification. Jeff includes this code and that is why his U-Boot images work with arcNumber.
Re: 10/23 - New uBoot - GoFlex Net support + new 'arcNumber' variable
February 01, 2011 11:49PM
peaslaker, it seems you understand arcNumber and how it integrates into the uBoot better than I do. I understand the basic concept that the kernel is informed about the subtleties of the hardware it is running on from the arcNumber, and thus can configure itself mores specifically to do things like control the LEDs on the device, but can you shed some light on:

1. How the arcNumber is actually passed to the kernel?

2. What is special about the way arcNumber is handled by the uBoot? I notice that you can't just change the arcNumber and have it take effect immediately, like you can with the other variables. Instead, it appears you have to save the new environment and reboot. Why is this?

Thanks.
> 1. How the arcNumber is actually passed to the
> kernel?

One of the processors registers (r1) is loaded with the arcNumber value at boot time. This is a very low level ARM-specific behaviour.

> 2. What is special about the way arcNumber is
> handled by the uBoot? I notice that you can't
> just change the arcNumber and have it take effect
> immediately, like you can with the other
> variables. Instead, it appears you have to save
> the new environment and reboot. Why is this?

Jeff's hook to look for the arcNumber variable looks for an 'environment variable' rather than any current memory value:
int misc_init_r()
{
        int __machine_arch_type;
        char *str_arc_number = getenv("arcNumber");
                
        if (str_arc_number) {
                __machine_arch_type = simple_strtoul(str_arc_number, NULL, 10);
                if (__machine_arch_type)
                        gd->bd->bi_arch_number = __machine_arch_type;
        }
        return 0;
}
The particular line for retrieving the arcNumber value is:
       char *str_arc_number = getenv("arcNumber");

The getenv call checks the saved environment, apparently.
Re: 10/23 - New uBoot - GoFlex Net support + new 'arcNumber' variable
March 18, 2011 12:04AM
Thanks, peaslaker!
hm. so GoFlex Home will work? I'm quite lost at this UBIT work.. I only want u-boot that'll boot USB or SATA, without breaking original firmware. I'm getting mixed ideas of what works and doesn't. Any light?
Re: 10/23 - New uBoot - GoFlex Net support + new 'arcNumber' variable
May 15, 2011 10:21AM
Does this new uBoot supports boot from SATA?
Re: 10/23 - New uBoot - GoFlex Net support + new 'arcNumber' variable
March 26, 2012 02:23PM
@Jeff : For the GoFlex Net in particular (not Pogo's or Dockstar) is there a particular reason that you chose arcNumber=2097 (SheevaPlug) in the default env vars, rather than the machid number for the SheevaPlug eSATA?
Sheevaplug machid machid 0x831 or  decimal 2097

Sheevaplug eSATA machid 0xA76 or decimal 2678
After a second look, some experimentation and thought, for the GoFlex Net/Home series, to me it seems like the Sheevaplug eSATA would be much closer as a default than the Sheeva.

Your thoughts, Jeff?

========================

Actually, I just tried it ... after building w/ my patched 2011.12 source and with the change below...

  */
 #define CONFIG_EXTRA_ENV_SETTINGS \
-  "arcNumber=2097\0" \
+ "arcNumber=2678\0" \
   "mainlineLinux=yes\0" \
it boots from from both SATA and USB, out of the box.

=====================================================



Edited 2 time(s). Last edit at 03/26/2012 03:34PM by davygravy.
Author:

Your Email:


Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: