Joshua Radke wrote:
> Ok, this one has really gotten me, and google hasn't bailed me out yet, 
> so I was hoping someone on the list could.
> 
> Some relevant system Info are an Athlon XP 1800+, nForce2 chipset 
> motherboard, RT2561(?) wireless card, 40 GB internal (IDE) disk, and 
> 500GB External Western Digital MyBook USB drive, running MythBuntu 
> 7.10.  The kernel is 2.6.22-14-generic #1 SMP Tue Dec 18 08:02:57 UTC 
> 2007 i686 GNU/Linux.
 >
> Note that the problem appeared to be much more pronounced (resetting 
> every 10's of minutes instead of one to three times per day) when I had 
> the PCI bus underclocked in the BIOS ... I have since gotten a better 
> cooling solution, and no longer need to do that for stability.

it sounds to me like your hardware is suspect to begin with, if you had 
to underclock the system to get stability out of it there is a good 
chance something got damaged while it was overheating. it may be that it 
is still overheating.

Try using a PCI USB2 card to see if it gets any better performance. 
while you are at it get a combo usb2/firewire card. Firewire uses less 
CPU and is imho more reliable.

> Finally, downgrading the usb to 1.1 (modprobe -r ehci_hcd) appeared to 
> solve the USB resets, but there was not quite enough bandwidth left to 
> both play and record to the disk.  (Playback would skip every couple of 
> seconds ... the kids didn't care, but it'd drive my wife and I nuts!).

Full Speed usb1 runs at 12mbps, High Speed USB (High Speed) runs at 
480Mbps, thats 2.5% of the theretical max meaning the system has to do a 
lot less.(mind you when using USB1 or USB2 the CPU still gets exercised 
  a lot more than if you use Firewire.)

It is also possible that the drive is getting kicked out because it is 
bad. at usb2 you are reaching the failed sectors a lot faster than with 
usb1. bad sectors tend to propagate so the reason it is getting kicked 
out more often is simply because more of it is bad.

> Any hints?

I would say that since you had heating issues with the system in the 
past either the issues still exist or your hardware was damaged somewhat 
by the overheating. try something like lucifer or cpuburn and bonnie++ 
to stress test the system.

Test the drive in another system, use dd_rescue to dump the disk onto 
another or simply send it to /dev/null. dd_rescue will report if it came 
across any sectors it could not read (without locking your system up 
like dd does)

dd_rescue /dev/sda /dev/null

i do not know if the WDDIAG tools can test USB drives but it is worth a 
try as well.