NSLU2-Linux
view · edit · print · history

FAQ.DealWithAutoSpinDownOnSeagateFreeAgent History

Hide minor edits - Show changes to markup

November 22, 2008, at 03:43 PM by Tom Curran -- add info that this solution also works for Maxtor OneTouch4 drives
Added lines 9-10:

This solution also works for Maxtor OneTouch4? drives.

Added lines 40-42:

[Tom] If you are using a Maxtor OneTouch, substitute "Seagate*" and "FreeAgent?*" above with "Maxtor*" and "OneTouch*"

September 04, 2008, at 06:06 PM by avtobiff -- Removed unnecessary wife-comment from first paragraph.
Changed lines 3-4 from:

In late march I bought a Seagate FreeAgent Desktop 320gb External Hard Drive, this one comes on a slick enclosure that my wife would not throw away. Everything worked fine, until I left it unattended for a while. What happened then, is that I received a lot of erros, most of them regarding to I/O. Ive posted to the mailing list on April 15th, http://www.mail-archive.com/debian-arm@lists.debian.org/msg06448.html.

to:

In late march I bought a Seagate FreeAgent Desktop 320gb External Hard Drive, this one comes on a slick enclosure that no one would throw away because of uglyness. Everything worked fine, until I left it unattended for a while. What happened then, is that I received a lot of erros, most of them regarding to I/O. Ive posted to the mailing list on April 15th, http://www.mail-archive.com/debian-arm@lists.debian.org/msg06448.html.

July 20, 2008, at 10:32 PM by Steve -- try that last hard return again. didn\'t take before
Added line 39:
July 20, 2008, at 10:31 PM by Steve -- another hard return for my comment in udev section
July 20, 2008, at 10:30 PM by Steve -- hard return in udev line for print formatting.
Changed lines 35-37 from:

SUBSYSTEMS=="scsi",DRIVERS=="sd",ATTRS{vendor}=="Seagate*",ATTRS{model}=="FreeAgent?*",RUN+="/bin/sh -c 'echo 1 > /sys/class/scsi_disk/%k/allow_restart'"@]

to:

SUBSYSTEMS=="scsi",DRIVERS=="sd",ATTRS{vendor}=="Seagate*",ATTRS{model}=="FreeAgent?*", RUN+="/bin/sh -c 'echo 1 > /sys/class/scsi_disk/%k/allow_restart'"@]

Changed lines 39-40 from:
to:

[Steve] The 2 lines above starting with SUBSYSTEMS should all be on 1 line. Put a hard return on it so it would print.

July 20, 2008, at 10:26 PM by Steve -- UDEV line wrapping to print
Changed lines 35-36 from:

SUBSYSTEMS=="scsi",DRIVERS=="sd",ATTRS{vendor}=="Seagate*",ATTRS{model}=="FreeAgent?*",RUN+="/bin/sh -c 'echo 1 > /sys/class/scsi_disk/%k/allow_restart'"@]

to:

SUBSYSTEMS=="scsi",DRIVERS=="sd",ATTRS{vendor}=="Seagate*",ATTRS{model}=="FreeAgent?*",RUN+="/bin/sh -c 'echo 1 > /sys/class/scsi_disk/%k/allow_restart'"@]

July 20, 2008, at 09:55 PM by Steve -- Use the Print feature in top right corner
Changed lines 86-88 from:

FWIW, this page doesn't print because of the long URLs? and SUBSYSTEMS lines. There's also a position: absolute in the CSS that is bad news - it limits all printing to a single page, just flowing off the bottom. HTH, Dave

to:

FWIW, this page doesn't print because of the long URLs? and SUBSYSTEMS lines. There's also a position: absolute in the CSS that is bad news - it limits all printing to a single page, just flowing off the bottom. HTH, Dave

Printing works using the print feature in the top right corner of the page. Scroll all the way to the right.

May 27, 2008, at 11:44 AM by Dave -- added note about print errors
Changed lines 81-86 from:

See also http://os-drive.com/en/node/27

to:

See also http://os-drive.com/en/node/27


FWIW, this page doesn't print because of the long URLs? and SUBSYSTEMS lines. There's also a position: absolute in the CSS that is bad news - it limits all printing to a single page, just flowing off the bottom. HTH, Dave

May 26, 2008, at 12:09 AM by chaw -- udev rule works in Debian Etch
Changed lines 37-38 from:
to:

[chaw] The above udev rule works very well in a Debian Etch 4.0 setup.

May 14, 2008, at 07:51 AM by ChrisM -- Confirmed that one of the fixes works in Debian Etch
Added lines 28-29:

[chrism] Works for me using Debian Etch 4.0. Thanks!

April 16, 2008, at 09:39 PM by BrianZhou -- added another link to resolve the issue
Changed lines 74-78 from:

http://www.seagate.com/ww/v/index.jsp?locale=en-US&name=freeagent-downloads&vgnextoid=3723b5b59b7d5110VgnVCM100000f5ee0a0aRCRD

to:

http://www.seagate.com/ww/v/index.jsp?locale=en-US&name=freeagent-downloads&vgnextoid=3723b5b59b7d5110VgnVCM100000f5ee0a0aRCRD


See also http://os-drive.com/en/node/27

March 30, 2008, at 03:14 AM by tbrier -- Using udev rule to set allow_restart
Changed lines 30-31 from:
Add a rule to the end of /etc/udev/rules.d/local.rules
to:

Add a rule to the end of /etc/udev/rules.d/local.rules

Changed lines 33-35 from:
SUBSYSTEMS=="scsi",DRIVERS=="sd",ATTRS{vendor}=="Seagate*",ATTRS{model}=="FreeAgent?*",RUN+="/bin/sh -c 'echo 1 > /sys/class/scsi_disk/%k/allow_restart'"@]
to:

SUBSYSTEMS=="scsi",DRIVERS=="sd",ATTRS{vendor}=="Seagate*",ATTRS{model}=="FreeAgent?*",RUN+="/bin/sh -c 'echo 1 > /sys/class/scsi_disk/%k/allow_restart'"@]

March 30, 2008, at 03:13 AM by tbrier -- Using udev rule to set allow_restart
Changed lines 32-35 from:
# Seagate FreeAgent? allow_restart fix (i/o errors)
SUBSYSTEMS=="scsi",DRIVERS=="sd",ATTRS{vendor}=="Seagate*",ATTRS{model}=="FreeAgent?*",RUN+="/bin/sh -c 'echo 1 > /sys/class/scsi_disk/%k/allow_restart'"
to:
# Seagate FreeAgent allow_restart fix (i/o errors)
->SUBSYSTEMS=="scsi",DRIVERS=="sd",ATTRS{vendor}=="Seagate*",ATTRS{model}=="FreeAgent*",RUN+="/bin/sh -c 'echo 1 > /sys/class/scsi_disk/%k/allow_restart'"
March 30, 2008, at 03:10 AM by tbrier -- Using udev rule to set allow_restart
Changed lines 28-35 from:

udev Method

Add a rule to the end of /etc/udev/rules.d/local.rules

 # Seagate FreeAgent? allow_restart fix (i/o errors)
 SUBSYSTEMS=="scsi",DRIVERS=="sd",ATTRS{vendor}=="Seagate*",ATTRS{model}=="FreeAgent?*",RUN+="/bin/sh -c 'echo 1 > /sys/class/scsi_disk/%k/allow_restart'"
to:

udev Method

Add a rule to the end of /etc/udev/rules.d/local.rules
# Seagate FreeAgent? allow_restart fix (i/o errors)
SUBSYSTEMS=="scsi",DRIVERS=="sd",ATTRS{vendor}=="Seagate*",ATTRS{model}=="FreeAgent?*",RUN+="/bin/sh -c 'echo 1 > /sys/class/scsi_disk/%k/allow_restart'"
March 30, 2008, at 03:04 AM by tbrier -- Using udev rule to set allow_restart
Changed lines 32-35 from:
  1. Seagate FreeAgent? allow_restart fix (i/o errors)

SUBSYSTEMS=="scsi",DRIVERS=="sd",ATTRS{vendor}=="Seagate*",ATTRS{model}=="FreeAgent?*",RUN+="/bin/sh -c 'echo 1 > /sys/class/scsi_disk/%k/allow_restart'"

to:
 # Seagate FreeAgent? allow_restart fix (i/o errors)
 SUBSYSTEMS=="scsi",DRIVERS=="sd",ATTRS{vendor}=="Seagate*",ATTRS{model}=="FreeAgent?*",RUN+="/bin/sh -c 'echo 1 > /sys/class/scsi_disk/%k/allow_restart'"
March 30, 2008, at 03:00 AM by tbrier -- Using udev rule to set allow_restart
Added lines 27-35:

udev Method

Add a rule to the end of /etc/udev/rules.d/local.rules

  1. Seagate FreeAgent? allow_restart fix (i/o errors)

SUBSYSTEMS=="scsi",DRIVERS=="sd",ATTRS{vendor}=="Seagate*",ATTRS{model}=="FreeAgent?*",RUN+="/bin/sh -c 'echo 1 > /sys/class/scsi_disk/%k/allow_restart'"

March 14, 2008, at 11:54 AM by llloret --
Changed lines 25-26 from:

[llloret] Works for me too with kernel 2.6.18-6-ixp4xx, on a Freeagent 500 Mb.

to:

[llloret] Works for me too with kernel 2.6.18-6-ixp4xx, with a Freeagent 500 Mb.

March 14, 2008, at 11:54 AM by llloret --
Added line 25:

[llloret] Works for me too with kernel 2.6.18-6-ixp4xx, on a Freeagent 500 Mb.

March 04, 2008, at 06:21 PM by Joan Jett --
Changed line 63 from:

[[http://www.seagate.com/ww/v/index.jsp?locale=en-US&name=freeagent-downloads&vgnextoid=3723b5b59b7d5110VgnVCM100000f5ee0a0aRCRD/|here]

to:

http://www.seagate.com/ww/v/index.jsp?locale=en-US&name=freeagent-downloads&vgnextoid=3723b5b59b7d5110VgnVCM100000f5ee0a0aRCRD

March 04, 2008, at 06:20 PM by Joan Jett --
Changed line 63 from:

[[http://www.seagate.com/ww/v/index.jsp?locale=en-US&name=freeagent-downloads&vgnextoid=3723b5b59b7d5110VgnVCM100000f5ee0a0aRCRD|here]

to:

[[http://www.seagate.com/ww/v/index.jsp?locale=en-US&name=freeagent-downloads&vgnextoid=3723b5b59b7d5110VgnVCM100000f5ee0a0aRCRD/|here]

March 04, 2008, at 06:19 PM by Joan Jett --
Changed line 63 from:

http://www.seagate.com/ww/v/index.jsp?locale=en-US&name=freeagent-downloads&vgnextoid=3723b5b59b7d5110VgnVCM100000f5ee0a0aRCRD

to:

[[http://www.seagate.com/ww/v/index.jsp?locale=en-US&name=freeagent-downloads&vgnextoid=3723b5b59b7d5110VgnVCM100000f5ee0a0aRCRD|here]

January 03, 2008, at 07:19 PM by ThomasK -- better heading?
January 03, 2008, at 06:24 PM by ThomasK -- better heading?
Changed lines 51-52 from:

Permanent solution?

to:

Fixed in linux kernel 2.6.24-rc4?

January 03, 2008, at 06:23 PM by ThomasK -- fixed in linux kernel 2.6.24-rc4?
January 03, 2008, at 05:43 PM by ThomasK -- fixed in linux kernel 2.6.24-rc4?
Changed lines 51-55 from:
to:

Permanent solution?

It seems that a fix for this annoying behaviour is entering the linux kernel 2.6.24-rc4, correct me if I'm wrong: http://tree.celinuxforum.org/gitstat/commit-detail.php?commit=f09e495df27d80ae77005ddb2e93df18ec24d04a

December 30, 2007, at 08:18 PM by railk -- sdparm for spun-down disks
Changed lines 45-51 from:
to:

If the drive is already spun down you will get an error

 change_mode_page: failed setting page: Power condition

when issuing the above command. You will need to run

 /usr/bin/sdparm --command=start /dev/sd[YOUR_DEVICE]

after which the command can be run.

November 24, 2007, at 04:22 PM by ehymel --
Changed lines 23-24 from:

Note: this fix works for me using kernel version 2.6.18 (uname -r gives 2.6.18-5-ixp4xx).

to:

[ehymel] Note: this fix works for me using kernel version 2.6.18 (uname -r gives 2.6.18-5-ixp4xx).

November 24, 2007, at 04:22 PM by ehymel --
Changed line 23 from:
to:

Note: this fix works for me using kernel version 2.6.18 (uname -r gives 2.6.18-5-ixp4xx).

November 20, 2007, at 12:31 PM by fcarolo -- formatting, updated links
Changed lines 3-4 from:

In late march I bought a Seagate FreeAgent Desktop 320gb External Hard Drive, this one comes on a slick enclosure that my wife would not throw away. Everything worked fine, until I left it unattended for a while. What happened then, is that I received a lot of erros, most of them regarding to I/O. Ive posted to the mailing list on April 15th, http://www.mail-archive.com/debian-arm@lists.debian.org/msg06448.html.

to:

In late march I bought a Seagate FreeAgent Desktop 320gb External Hard Drive, this one comes on a slick enclosure that my wife would not throw away. Everything worked fine, until I left it unattended for a while. What happened then, is that I received a lot of erros, most of them regarding to I/O. Ive posted to the mailing list on April 15th, http://www.mail-archive.com/debian-arm@lists.debian.org/msg06448.html.

Deleted lines 6-7:
Deleted lines 23-24:
November 20, 2007, at 12:30 PM by fcarolo -- removed wikilink
Changed lines 54-55 from:

to adjust the spindown time of FreeAgent? drives. Windows only.

to:

to adjust the spindown time of FreeAgent drives. Windows only.

November 19, 2007, at 10:41 PM by Joan Jett --
Changed lines 53-55 from:

Here is a link to a utility by Seagate that, among other things, will allow you to adjust the spindown time of FreeAgent? drives. Windows only.

to:

Here is a link to a utility by Seagate that, among other things, will allow you to adjust the spindown time of FreeAgent? drives. Windows only.

November 19, 2007, at 10:40 PM by Joan Jett --
Changed lines 49-50 from:
to:

Seagate Utility for Windows

November 19, 2007, at 10:37 PM by Joan Jett --
Added lines 48-50:
November 19, 2007, at 10:36 PM by Joan Jett -- Seagate utility available for Windows to turn off Auto Spin Down
Changed lines 46-51 from:
 apt-get install sdparm
to:
 apt-get install sdparm

Here is a link to a utility by Seagate that, among other things, will allow you to adjust the spindown time of FreeAgent? drives. Windows only.

http://www.seagate.com/ww/v/index.jsp?locale=en-US&name=freeagent-downloads&vgnextoid=3723b5b59b7d5110VgnVCM100000f5ee0a0aRCRD

November 10, 2007, at 04:45 PM by rhwood -- kernel version note
Added lines 24-27:

Note: the allow_restart parameter is apparently only supported for all hard drives in kernel versions at least 2.6.21. The latest SlugOS kernel (from binary install) is 2.6.16 and as such cannot easily be used with this hard drive at this time.

August 30, 2007, at 10:18 AM by db353 --
Changed lines 38-42 from:

You can put this command in your /etc/init.d/rc.local if needed.

to:

You can put this command in your /etc/init.d/rc.local if needed.

If sdparm is not installed on your Debian, as root, do:

 apt-get update
 apt-get install sdparm
August 30, 2007, at 10:17 AM by db353 --
Changed lines 34-35 from:

/usr/bin/sdparm --clear STANDBY -6 /dev/sd[YOUR_DEVICE]

to:
 /usr/bin/sdparm --clear STANDBY -6 /dev/sd[YOUR_DEVICE] 
August 30, 2007, at 10:16 AM by db353 --
Added line 32:
Changed lines 34-37 from:

/usr/bin/sdparm --clear STANDBY -6 /dev/sd[YOUR_DEVICE] (eg: /usr/bin/sdparm --clear STANDBY -6 /dev/sda)

to:

/usr/bin/sdparm --clear STANDBY -6 /dev/sd[YOUR_DEVICE]

(eg: /usr/bin/sdparm --clear STANDBY -6 /dev/sda)

August 30, 2007, at 10:16 AM by db353 --
Added lines 32-34:

To resume the above URL use: /usr/bin/sdparm --clear STANDBY -6 /dev/sd[YOUR_DEVICE] (eg: /usr/bin/sdparm --clear STANDBY -6 /dev/sda) You can put this command in your /etc/init.d/rc.local if needed.

August 30, 2007, at 09:38 AM by db353 --
Changed line 30 from:

Other solution

to:

Other Solution

August 30, 2007, at 09:37 AM by db353 --
Added lines 30-31:

Other solution

   * http://alienghic.livejournal.com/382903.html
June 15, 2007, at 04:58 AM by mwester -- Questions should be asked on the mailing list, not placed in the wiki.
Deleted lines 29-36:

Questions

  • I have a Freeagent 500Gb and an Unslung 6.8beta with the drive on port 2 on a clean install. I can get any of the above paths to work. I don't even have a /sys folder when I do an "ls". My web admin screen says "uNSLUng status: Unslung to disk2, /dev/sda1" if this helps. Any help greatly appreciated!
    • The solution above works on Debian installs, I'm not certainly if the directory structure of unSlung is the same, or even if this solution is possible (Muanis)
    • Same problem with a Freeagent 320GB with Unslung 6.8. Any pointers ?
    • I think I'm going to try Unslung 5.5 as that seems to work for most external drives. Will have to see if FreeAgent? is any different! (mekondelta)
June 13, 2007, at 12:27 PM by mekondelta --
Changed lines 32-37 from:
   ** The solution above works on Debian installs, I'm not certainly if the directory structure of unSlung is the same, or even if this solution is possible (Muanis)

  ** Same problem with a Freeagent 320GB with Unslung 6.8. Any pointers ?
  ** I think I'm going to try Unslung 5.5 as that seems to work for most external drives. Will have to see if FreeAgent? is any different! (mekondelta)
to:
  • The solution above works on Debian installs, I'm not certainly if the directory structure of unSlung is the same, or even if this solution is possible (Muanis)
  • Same problem with a Freeagent 320GB with Unslung 6.8. Any pointers ?
  • I think I'm going to try Unslung 5.5 as that seems to work for most external drives. Will have to see if FreeAgent? is any different! (mekondelta)
June 13, 2007, at 12:26 PM by mekondelta -- Added that I\'m reverting to 5.5
Changed lines 32-35 from:
   * The solution above works on Debian installs, I'm not certainly if the directory structure of unSlung is the same, or even if this solution is possible (Muanis)

  -- Same problem with a Freeagent 320GB with Unslung 6.8. Any pointers ?
to:
   ** The solution above works on Debian installs, I'm not certainly if the directory structure of unSlung is the same, or even if this solution is possible (Muanis)

  ** Same problem with a Freeagent 320GB with Unslung 6.8. Any pointers ?
  ** I think I'm going to try Unslung 5.5 as that seems to work for most external drives. Will have to see if FreeAgent? is any different! (mekondelta)
June 12, 2007, at 11:11 PM by crenninger --
Changed lines 32-35 from:
   * The solution above works on Debian installs, I'm not certainly if the directory structure of unSlung is the same, or even if this solution is possible (Muanis)
to:
   * The solution above works on Debian installs, I'm not certainly if the directory structure of unSlung is the same, or even if this solution is possible (Muanis)

  -- Same problem with a Freeagent 320GB with Unslung 6.8. Any pointers ?
June 08, 2007, at 02:16 AM by muanis -- answering question
Changed lines 31-32 from:
  • I have a Freeagent 500Gb and an Unslung 6.8beta with the drive on port 2 on a clean install. I can get any of the above paths to work. I don't even have a /sys folder when I do an "ls". My web admin screen says "uNSLUng status: Unslung to disk2, /dev/sda1" if this helps. Any help greatly appreciated!
to:
  • I have a Freeagent 500Gb and an Unslung 6.8beta with the drive on port 2 on a clean install. I can get any of the above paths to work. I don't even have a /sys folder when I do an "ls". My web admin screen says "uNSLUng status: Unslung to disk2, /dev/sda1" if this helps. Any help greatly appreciated!
   * The solution above works on Debian installs, I'm not certainly if the directory structure of unSlung is the same, or even if this solution is possible (Muanis)
June 07, 2007, at 11:31 PM by mekondelta -- Asked a question
Changed lines 28-31 from:
   * http://www.mail-archive.com/linux-usb-devel@lists.sourceforge.net/msg52993.html
to:
   * http://www.mail-archive.com/linux-usb-devel@lists.sourceforge.net/msg52993.html

Questions

  • I have a Freeagent 500Gb and an Unslung 6.8beta with the drive on port 2 on a clean install. I can get any of the above paths to work. I don't even have a /sys folder when I do an "ls". My web admin screen says "uNSLUng status: Unslung to disk2, /dev/sda1" if this helps. Any help greatly appreciated!
May 05, 2007, at 11:58 PM by leif -- must set allow_restart at every boot
Changed lines 19-20 from:

In my case the drive is connected to port 1 on nslu2 and is the root partition.

to:

In my case the drive is connected to port 1 on nslu2 and is the root partition. This parameter must be set after every reboot (or drive reconnect); this init script works for me (note that locating the file to write to using the wildcard won't work with /bin/sh, which is why bash is used):

 #!/bin/bash
 echo 1 > /sys/block/sda/device/scsi_disk*/allow_restart
May 02, 2007, at 12:21 PM by fcarolo -- a little formatting
Changed line 10 from:
to:
Changed lines 13-14 from:

echo 1 >/sys/block/sda/device/allow_restart

to:
 echo 1 >/sys/block/sda/device/allow_restart
Changed lines 17-18 from:

echo 1 >/sys/class/scsi_disk/0:0:0:0/allow_restart

to:
 echo 1 >/sys/class/scsi_disk/0:0:0:0/allow_restart
May 02, 2007, at 02:56 AM by muanis --
Changed lines 3-4 from:

In late march I bought a Seagate FreeAgent? Desktop 320gb External Hard Drive, this one comes on a slick enclosure that my wife would not throw away. Everything worked fine, until I left it unattended for a while. What happened then, is that I received a lot of erros, most of them regarding to I/O. Ive posted to the mailing list on April 15th, http://www.mail-archive.com/debian-arm@lists.debian.org/msg06448.html.

to:

In late march I bought a Seagate FreeAgent Desktop 320gb External Hard Drive, this one comes on a slick enclosure that my wife would not throw away. Everything worked fine, until I left it unattended for a while. What happened then, is that I received a lot of erros, most of them regarding to I/O. Ive posted to the mailing list on April 15th, http://www.mail-archive.com/debian-arm@lists.debian.org/msg06448.html.

Changed lines 23-25 from:

http://www.mail-archive.com/debian-arm@lists.debian.org/msg06448.html http://www.mail-archive.com/linux-usb-devel@lists.sourceforge.net/msg52952.html http://www.mail-archive.com/linux-usb-devel@lists.sourceforge.net/msg52993.html

to:
   * http://www.mail-archive.com/debian-arm@lists.debian.org/msg06448.html
   * http://www.mail-archive.com/linux-usb-devel@lists.sourceforge.net/msg52952.html
   * http://www.mail-archive.com/linux-usb-devel@lists.sourceforge.net/msg52993.html
May 02, 2007, at 02:54 AM by muanis -- creating info about seaget freeagent
Added lines 1-25:

The Problem

In late march I bought a Seagate FreeAgent? Desktop 320gb External Hard Drive, this one comes on a slick enclosure that my wife would not throw away. Everything worked fine, until I left it unattended for a while. What happened then, is that I received a lot of erros, most of them regarding to I/O. Ive posted to the mailing list on April 15th, http://www.mail-archive.com/debian-arm@lists.debian.org/msg06448.html.

After a while, Ive discovered the real problem, the drive has an auto spindown in 15 minutes that cannot be configured. As you leave it unattended it spins down. When you try to reade or write something to the disk, you receive a I/O error, because the filesystem timeouts before the drive starts. When you got i/o errors, the partition is remounted read-only, it can be very bad if you are on you root partition.

The Solution

This was solved with a little search on Google, according to this message http://www.mail-archive.com/linux-usb-devel@lists.sourceforge.net/msg52993.html you just need to configure a kernel parameter to allow the drive to be restarted. The message talks about the following command:

echo 1 >/sys/block/sda/device/allow_restart

It turns out that in my system (and probably yours) is in a different place, wich is:

echo 1 >/sys/class/scsi_disk/0:0:0:0/allow_restart

In my case the drive is connected to port 1 on nslu2 and is the root partition.

Related Information

http://www.mail-archive.com/debian-arm@lists.debian.org/msg06448.html http://www.mail-archive.com/linux-usb-devel@lists.sourceforge.net/msg52952.html http://www.mail-archive.com/linux-usb-devel@lists.sourceforge.net/msg52993.html

Page last modified on November 22, 2008, at 03:43 PM