[Server-devel] External hard disk testing for use with IIAB (internet in a Box) on XO based XSCE servers

George Hunt georgejhunt at gmail.com
Sun Jun 23 11:56:51 EDT 2013


I have a number of 2.5 SATA drives, that I've used for I don't know how
long.

I put one in a startech.com external hard drive encosure model sat2510u2E.

I wrote a little cron stimulated script to write, and check for file
existence, and almost immediately got failures. I was using a USB hub
(plugable model:USB1-HUB-AG7) with a 5v 3A wall wart powering the unit
under test.

Googling the ehci_hcd failure messages, I find that there are a number of
longstanding issues in running these external enclosures under linux
kernels, even back in 2007 and earlier.

It's not clear to me yet whether these problems are disk or interface
related.

So I got paranoid, and connected a western digital drive (3TB self
contained 3.5in SATA USB interface with wall wart PS) that has been working
for me for almost 2 years. No failures in 24 hours.

Then I started learning about S.M.A.R.T., which is a disk self monitoring,
reporting, that most modern disk incorporate.  Running smartctl, which is
part of our OS, on my old disk, and the one which exhibited failures,
indicates that the drive itself does not know that it is failing.

I'll probably modify the included script to use smart, in the next
iteration.  But I thought I'd fish for any expertise within the olpc
community.

Are any external enclosures known to work? I have't been able to find
descriptions of the chipsets that do the USB interface.

George

Maybe this is too simplistic:


#!/bin/bash
# script to check for external hard disk presence and writeability
MOUNTPT=/mnt/usb0
# read a file that is always there
dtm=`date`
if [ ! -f "$MOUNTPT/token" ]; then
echo "$dtm   failed to read $MOUNTPT/token. Writing it" >>/root/disk.log
echo "this is content written at $dtm" >> "$MOUNTPT/token"
else
echo "$dtm -- success so far" >> /root/disk.log
fi
# check for the absence of a file
if [ -f "$MOUNTPT/writeit" ]; then
echo "$dtm -- last attempt to remove $MOUNTPT/writeit failed" >>
/root/disk.log
else
echo "$dtm -- content of file writeit" >> $MOUNTPT/writeit
fi
sync
if [ -f "$MOUNTPT/writeit" ]; then
rm "$MOUNTPT/writeit"
else
echo "$dtm -- failed to write $MOUNTPT/writeit" >> /root/disk.log
fi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.laptop.org/pipermail/server-devel/attachments/20130623/3d1c146c/attachment.html>


More information about the Server-devel mailing list