fedward, tumbling

goes on, and the heat goes on
~ Sunday, February 22 ~
Permalink
I have a number of computers, and one of them is plugged into the TV to act as a DVR, iTunes source, Boxee host (grr, stupid content providers), etc.  Thursday night it started behaving strangely, exhibiting problems recording and giving me strange “resource not available” errors when reading certain files.By Friday morning the drive used for all this media (a Western Digital My Book Pro) was dying, if not dead.  OK, no problem, it’s still under warranty.  I’ll just get a replacement with advance shipment, recover what I can off the old one, then send it back.  Except Western Digital wants a hold on my credit card for $320 for the advance shipment (I paid slightly less than that — total — when I bought this drive and its twin brand new).  At “only” 500GB, this drive is a little small for recording HDTV, so I immediately moved onto plan B, which in this case meant walking down to the local Best Buy and picking up a brand new 1.5TB drive for, again, half that $320.Meanwhile, I did what I could to recover the data on the drive, but it was slow going. The capacity would alternately be displayed in the OS as 0 bytes or 2TB, and I couldn’t actually mount the partition to do any file copies.  If I tried connecting it over FireWire, it would cause my Mac to crash completely (no small feat), and I was getting such strange results with USB I decided it was time to void my warranty.Instructions on how to pop the enclosure open aren’t too hard to find, so I opened it up and got the drive out, connecting it to a USB widget I have to see if I got different results.  I was still getting unpredictable reported capacity over USB, so I started searching for the drive’s model number (WD5000YS) to see if there were known issues.  And boy, were there.  This drive turns out to be WD’s “RAID Edition” drive, with a special firmware supposed to be more compatible with RAID usage, but also with a known bug that sometimes causes it to become unavailable to the RAID controller.  Suspecting that this was in fact my issue, I scrounged around for a DOS boot floppy, made a copy of it, and then put the firmware updater onto the new copy.[Side note: I suspect they used the RAID version of the drive to give their My Book line some better error handling (oh, the irony), but it could just as easily be true that they had a warehouse full of them and wanted to reduce supply].Also in warranty-voiding territory, I figured I’d see how hard it would be to put the new drive (a Seagate) into the old drive’s enclosure.  Seagate, moving on with the times, only has SATA power connections on their SATA drives.  WD, however, builds its drives with both kinds of power connectors, and the enclosure had just the legacy connector.  And space is so tight that I’d need a right-angle SATA power adapter to be able to close the thing up.  But I postponed the shopping trip to Micro Center while making sure the other parts of this plan were going to make it worth the time and gas.But back to the dead drive.  I connected it to the SATA card in my linux server, and this is where things got really weird.  When this machine powered up the first time, the SATA card correctly identified the drive and its sole partition.  The firmware updater, however, wouldn’t see any SATA devices connecting to the particular host adapter I have (WD’s non-helpful suggestion is to try again with a machine with onboard SATA — something I don’t just happen to have lying around).  So I rebooted without the floppy, and on the reboot the SATA card said the drive had 0 capacity.  Uh-oh.On the hope that this was just because the card wasn’t DOS-compatible (and seriously, I have to use a DOS boot floppy to fix a Serial-ATA drive bought less than two years ago?), I dug around to see if I still had Windows on any hard drives I could use to boot the linux machine.  Um, no.  So I then burned off a few more hours of my time installing Windows 2000 (this machine dates from 1997 and while it might actually run XP, I didn’t want activation hassles).  [Fast forward now through hours of installation (I went to bed), service packs, updates, and rebooting — oh, the rebooting].  Saturday afternoon, once I had the card recognized in Windows, I ran the updater from a command prompt … and it still failed to see the drive.  Argh.By this point I think the old drive was on Plan D.  Maybe E.  In all the connecting and disconnecting, I had found it possible, occasionally, to do things in an order that would allow my Mac to recognize the drive and even mount the partition again.  What I couldn’t do, however, was copy files in any normal way.  I fired off a support request to WD (“hey, I know I voided my warranty, but this drive has buggy firmware and how the hell am I supposed to update it?” [not in those precise words, natch]), and decided to investigate doing a block-copy of the drive itself.  And that’s when I found GNU ddrescue (not to be confused with the non-GNU, underscored dd_rescue).I first tried the standard dd, but it’s astonishingly slow, and after a couple false leads I found ddrescue, compiled it, and started it up.  I left it running Saturday evening while out of the house, and came back four hours later to find it still going (yay!).  The only problem was that this recovery — much faster than standard dd — was still going to complete sometime around Tuesday.  And did I mention that I needed the new drive to be working in time for the Oscars on Sunday night?Given my luck mounting the partition, and hoping that ddrescue had soothed the drive’s troubled firmware enough to give me some time with it mounted, I set about copying, a few gigs at a time, everything on the disk that wasn’t HDTV.  Somehow this all worked.  Meanwhile I found a right-angle SATA power adapter I didn’t know I had, so I unmounted the new drive (freshly restored with everything but archived HDTV recordings), sealed it up in its enclosure, and connected it to the TV computer.  Everything worked.  Huzzah!Sadly, though, I couldn’t do a file system copy of the HDTV recordings.  The system froze up part-way through the copy of even the first file, so I’m now, still, running ddrescue (with the drive connected to a computer on the desk, and the backup image being written over the network).  That will give me an image of the old drive, and I can do any repairs necessary on that before recovering what I can of all those saved recordings.  Once I’ve got the backup image, I’ll see if WD will do a warranty exchange of the drive itself (if I can get data off of it, I think that’s a pretty good argument that I’m not doing damage to it in the process).  I’m not really holding out much hope for that, but stranger things have happened.

I have a number of computers, and one of them is plugged into the TV to act as a DVR, iTunes source, Boxee host (grr, stupid content providers), etc.  Thursday night it started behaving strangely, exhibiting problems recording and giving me strange “resource not available” errors when reading certain files.

By Friday morning the drive used for all this media (a Western Digital My Book Pro) was dying, if not dead.  OK, no problem, it’s still under warranty.  I’ll just get a replacement with advance shipment, recover what I can off the old one, then send it back.  Except Western Digital wants a hold on my credit card for $320 for the advance shipment (I paid slightly less than that — total — when I bought this drive and its twin brand new).  At “only” 500GB, this drive is a little small for recording HDTV, so I immediately moved onto plan B, which in this case meant walking down to the local Best Buy and picking up a brand new 1.5TB drive for, again, half that $320.

Meanwhile, I did what I could to recover the data on the drive, but it was slow going. The capacity would alternately be displayed in the OS as 0 bytes or 2TB, and I couldn’t actually mount the partition to do any file copies.  If I tried connecting it over FireWire, it would cause my Mac to crash completely (no small feat), and I was getting such strange results with USB I decided it was time to void my warranty.

Instructions on how to pop the enclosure open aren’t too hard to find, so I opened it up and got the drive out, connecting it to a USB widget I have to see if I got different results.  I was still getting unpredictable reported capacity over USB, so I started searching for the drive’s model number (WD5000YS) to see if there were known issues.  And boy, were there.  This drive turns out to be WD’s “RAID Edition” drive, with a special firmware supposed to be more compatible with RAID usage, but also with a known bug that sometimes causes it to become unavailable to the RAID controller.  Suspecting that this was in fact my issue, I scrounged around for a DOS boot floppy, made a copy of it, and then put the firmware updater onto the new copy.

[Side note: I suspect they used the RAID version of the drive to give their My Book line some better error handling (oh, the irony), but it could just as easily be true that they had a warehouse full of them and wanted to reduce supply].

Also in warranty-voiding territory, I figured I’d see how hard it would be to put the new drive (a Seagate) into the old drive’s enclosure.  Seagate, moving on with the times, only has SATA power connections on their SATA drives.  WD, however, builds its drives with both kinds of power connectors, and the enclosure had just the legacy connector.  And space is so tight that I’d need a right-angle SATA power adapter to be able to close the thing up.  But I postponed the shopping trip to Micro Center while making sure the other parts of this plan were going to make it worth the time and gas.

But back to the dead drive.  I connected it to the SATA card in my linux server, and this is where things got really weird.  When this machine powered up the first time, the SATA card correctly identified the drive and its sole partition.  The firmware updater, however, wouldn’t see any SATA devices connecting to the particular host adapter I have (WD’s non-helpful suggestion is to try again with a machine with onboard SATA — something I don’t just happen to have lying around).  So I rebooted without the floppy, and on the reboot the SATA card said the drive had 0 capacity.  Uh-oh.

On the hope that this was just because the card wasn’t DOS-compatible (and seriously, I have to use a DOS boot floppy to fix a Serial-ATA drive bought less than two years ago?), I dug around to see if I still had Windows on any hard drives I could use to boot the linux machine.  Um, no.  So I then burned off a few more hours of my time installing Windows 2000 (this machine dates from 1997 and while it might actually run XP, I didn’t want activation hassles).  [Fast forward now through hours of installation (I went to bed), service packs, updates, and rebooting — oh, the rebooting].  Saturday afternoon, once I had the card recognized in Windows, I ran the updater from a command prompt … and it still failed to see the drive.  Argh.

By this point I think the old drive was on Plan D.  Maybe E.  In all the connecting and disconnecting, I had found it possible, occasionally, to do things in an order that would allow my Mac to recognize the drive and even mount the partition again.  What I couldn’t do, however, was copy files in any normal way.  I fired off a support request to WD (“hey, I know I voided my warranty, but this drive has buggy firmware and how the hell am I supposed to update it?” [not in those precise words, natch]), and decided to investigate doing a block-copy of the drive itself.  And that’s when I found GNU ddrescue (not to be confused with the non-GNU, underscored dd_rescue).

I first tried the standard dd, but it’s astonishingly slow, and after a couple false leads I found ddrescue, compiled it, and started it up.  I left it running Saturday evening while out of the house, and came back four hours later to find it still going (yay!).  The only problem was that this recovery — much faster than standard dd — was still going to complete sometime around Tuesday.  And did I mention that I needed the new drive to be working in time for the Oscars on Sunday night?

Given my luck mounting the partition, and hoping that ddrescue had soothed the drive’s troubled firmware enough to give me some time with it mounted, I set about copying, a few gigs at a time, everything on the disk that wasn’t HDTV.  Somehow this all worked.  Meanwhile I found a right-angle SATA power adapter I didn’t know I had, so I unmounted the new drive (freshly restored with everything but archived HDTV recordings), sealed it up in its enclosure, and connected it to the TV computer.  Everything worked.  Huzzah!

Sadly, though, I couldn’t do a file system copy of the HDTV recordings.  The system froze up part-way through the copy of even the first file, so I’m now, still, running ddrescue (with the drive connected to a computer on the desk, and the backup image being written over the network).  That will give me an image of the old drive, and I can do any repairs necessary on that before recovering what I can of all those saved recordings.  Once I’ve got the backup image, I’ll see if WD will do a warranty exchange of the drive itself (if I can get data off of it, I think that’s a pretty good argument that I’m not doing damage to it in the process).  I’m not really holding out much hope for that, but stranger things have happened.