firewire hard drive woes

Okay, so the first of a series of Linux tips tonight, or rather solutions to problems I’ve had:
I recently bought a ByteCC 3.5″ aluminum combo USB2.0/Firewire external enclosure and a 160gb Samsung hard drive both from NewEgg, for the purpose of having an external backup and/or mobile disk. I was able to format the disk to ReiserFS fine, but I’ve been having a problem whereby after transferring data steadily for a while, it would suddenly stop and spit errors like this:
ieee1394: sbp2: aborting sbp2 command
Test Unit Ready 00 00 00 00 00
ieee1394: sbp2: reset requested
ieee1394: sbp2: Generating sbp2 fetch agent reset
ieee1394: sbp2: aborting sbp2 command
ieee1394: sbp2: aborting sbp2 command

The result would be that I could not umount the drive nor rmmod the sbp2 module nor reboot because it would hang waiting for the module and I’d be forced to do a hard reset. Now, as to the solution to this, the linux1394 FAQ suggests trying the serialize_io option and a user on the mailing list said that this did in fact solve his problem. So, I opened up /etc/modprobe.conf and add the line “options sbp2 serialize_io=1″. I can’t say definitely yet whether that IS the solution, but cp has copied 8gb so far without so much as a chirp, so I’m hopeful that it will last.

Some miscellaneous tips I learned along the way:
When resetting after the failures, if I leave the fstab entry for the partition (/dev/sda1 in my case), Mandrake (10.1) will want to check it on boot because it wasn’t cleanly unmounted. Since the Firewire driver isn’t loaded at that point, however, it can’t access it and winds up constantly checking my second hard drive, /dev/hdb1. It would get mostly through checking it, then get stuck, and even if I went to single-user mode and ran reiserfsck to clear it, it would still check. The solution to this, it turns out, is just to comment out the fstab entry. I also now take the precaution of doing “init 1″ before doing my hard reset, so I can softly shut down everything possible.

Update: Just finished transferring 40gigs of data and no problems yet. I’ll be running rsync all night to backup my entire drive, so hopefully my luck will hold
Update 3 Mar. 2005: I’ve now been using my Firewire drive without a single problem for a week and half, so turning on serialize_io has definitely cured it.

2 thoughts on “firewire hard drive woes

  1. I have the same problem with 2 different enclosures and adding the setting to modprobe.conf did not solve it, after some time I get write errors and the drive stops spinning. Performance decreased by about 50% though.
    Working with Windows I get “Lost delayed write failure”. Maybe this is a hardware related problem, that cannot be solved by software?

  2. Hi Martin, in my case it was most definitely software-related, as I was able to add that one magic line to modprobe.conf to get it working perfectly. In your case, since you have the problem with two different enclosures and two different operating systems, it would lead me to suspect the problem lies with the drive. Are you sure it’s still working? How old is it? Try throwing it in a desktop and using it for a little while to see if the same problem occurs.

    Regards,
    Michael

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>