Slashdot Mirror


New Seagate Drives Have Real Difficulties With Linux

wtansill writes "Seagate's Free Agent series of drives are not intended to be compatible with the Open Source operating system Linux. The Inquirer reports on the problem: an unhelpful power saving mode. 'The problem is to do with the power-saving systems on Seagate's latest range of drives and the fact that it is shipped already formatted to NTFS. The NTFS is only a slight hurdle to Linux users who have a kernel with NTFS writing enabled or can work mkfs. But the "power saving" timer is a real bugger. It will shut the drive off after several minutes of inactivity and helpfully drop the USB connection. When the connection does come back it returns as USB1 which is apparently as useful as a chocolate teapot.' Via Engadget, though, there is a solution!

9 of 361 comments (clear)

  1. Bad summary... by Zombie+Ryushu · · Score: 5, Informative

    The Drive works, you just have to use sdparm to clear the idle flag so the drive won't spin down at all. But this is bad, its a deliberately defective product and I hope someone sues. Make that lots of people.

  2. General reliability seems to be a problem also by Mathinker · · Score: 5, Informative

    Judging from the huge numbers of comments on NewEgg (I'd guess that it was at least 20% of the comments) that the drive died within days or months, this Linux-unfriendly idle flag setting is really just a minor irritation.

    On the other hand, since many of the failure comments blamed it on overheating, perhaps Linux users from regions with real penguins will be OK.

  3. Tried the fix, but burned out the drive by Paul+Fernhout · · Score: 4, Informative

    I bought two of these drives (500GB) a couple months ago. I tried that fix on one (turned off standby spin-down via sdparm), but ultimately the drive failed in about a week (possibly from heat, but I also needed to plug and unplug it when running as the power switch was not responding properly). And despite any five year warranties, who is going to send a failed drive with all your data off to who-knows-where? Years ago, back when drives cost $1000 for 1GB, I did that twice -- once the manufacturer sent my fixed drive back to a different person, and another time they sent it to an old address. There is another issue with the drives, which is that the tower part is not very solidly attached to the base, so it is wobbly (hard to believe, but the connection of the base to the tower drive section seemed very loose on the one I tried -- in general that whole two-part design seems questionable to me from a ruggedness standpoint). The power button is very confusing too -- it barely moves (maybe its capacitance based?) and does not always seem to work as I might expect it to (which may also have lead to the failure, when I pulled the plug on it). I returned the other one unopened. Someday I might put the first in an external enclosure and see if it works at all (some people online report success with that, although it entails physically breaking the case to get the drive out from what I read), but even if it does I will never trust it. I would recommend avoiding these drives for anyone based on the wobbly design alone. Despite the warranty and previously liking Seagate (before they bought Maxtor), I've moved back to Western Digital drives and others -- at least WD drives just sit there without potentially wobbling if you put them on a computer case with the slightest vibration. They definitely look cool in operation with the glowing stripe, but it seems this iteration put style way before function.

    --
    A 21st century issue: the irony of technologies of abundance in the hands of those still thinking in terms of scarcity.
  4. Easy workaround by shurdeek · · Score: 4, Informative

    I have two FreeAgentDesktop 500G's and also had this problem. I found a solution on the web and adapted it slightly to be automatic. Create this script:

    #!/bin/sh

    for i in /sys/class/scsi_disk/*; do
                    if [ "`cat "$i/device/model"`" = "FreeAgentDesktop" ]; then
                                    if [ "`cat "$i/allow_restart"`" -eq 0 ]; then
                                                    echo 1 > "$i/allow_restart"
                                    fi
                    fi
    done

    And put it into cron to run every 10 minutes (FreeAgentDesktops timeout is 15 minutes). I have it on ubuntu 7.04 but the only dependencies I recognise is to have kernel 2.6, sysfs and cron, which should not be an issue. I guess there is a nicer way to do this (e.g. script for dbus/hotplug), feel free to improve.

    1. Re:Easy workaround by shurdeek · · Score: 4, Informative

      I see no reason why disabling sleep on the disk is somehow superior to telling linux to be more graceful when communicating with it. The reason why I use cron is that the disk is not permanently attached to the computer, and as I hinted, using dbus/hald/hotplug is probably preferable than using cron. I'm just too lazy to find out how that works.

      Besides, looks like this is not an issue anymore. Check this posting and the followups:

      http://www.mail-archive.com/linux-usb-users@lists.sourceforge.net/msg19677.html

      Apparently you don't need to worry about this with new kernels.

  5. a better solution from Ubuntu forums by slonik · · Score: 5, Informative

    A solution to the FreeAgent spin-down problem was published on Ubuntu forums back in July 2007:
    http://ubuntuforums.org/showthread.php?t=494673
    It works for me very well. Importantly, it does not disable disk's power control. Instead, it auto restarts the disk whenever needed.

  6. Re:Power-saving? by ajs318 · · Score: 4, Informative

    How about a crontab entry that just writes something to the drive and syncs it* every so often?

    (*) Under Linux in its default configuration, the file system is abstracted. All write operations are cached, and reads can be served from cache. Generally (this is an oversimplification) if sync is not issued deliberately, nothing is decached until shutdown, unless RAM starts getting dangerously low (it's too smart to do disk caching in swap space). This has the side-effect that on a box with plenty of RAM, a file can be created, modified, read and deleted without ever seeing oxide. It also means that certain things such as old versions of exim (which created masses of temporary files) and complex MySQL queries using temporary tables, seem to run blisteringly fast on Linux and slow to a crawl on Solaris (whose default setting is to decache between write and read operations, so that the read is served from disk and not cache.)

    --
    Je fume. Tu fumes. Nous fûmes!
  7. Re:Power-saving? by TheRaven64 · · Score: 4, Informative
    Windows has always used a Heisenburg unmount strategy (i.e. you don't know whether the drive is unmounted until you try accessing it). This makes a lot of sense if you consider where this behaviour came from; the original IBM PC. This machine had floppy drives which were manually operated; there was no software eject mode. This meant that it was common for a user to accidentally eject the disk while programs were still accessing it. Observing the UI principle that it's better to ask forgiveness than permission (something Vista has forgotten), DOS would suspend any program that tried to access a missing disk and prompt the user to reinsert it. Later, this behaviour became even more useful for network drives, since when network shares disappeared was often beyond the control of the user.

    MacOS Classic adopted a different behaviour; the Mac designers removed the eject button from the floppy disk drive, making it impossible to eject a disk without the OS having a chance to unmount it first. I'm not quite sure how they dealt with network drives, however. UNIX was designed as a multi-user system, so only the system administrator would be able to add and remove disks (everyone else would be using a dumb terminal away from the computer) and since UNIX system administrators are meant to know what they are doing it they were expected to mount and unmount disk manually.

    --
    I am TheRaven on Soylent News
  8. Re:No more Seagate if they produce useless crap by flappinbooger · · Score: 4, Informative

    I ran into this problem and solved it a couple of months ago. This is a problem that has been around for a while, and with some digging it isn't too hard to solve. Let me give you the rundown.

    It's a "problem" with external USB hard drives, the free-agent and free-agent pro. They go to sleep in a way that is incompatible with Linux. The drives ARE compatible with linux if you have a kernel that can r/w NTFS or if you format the thing to a file system that linux prefers.

    The drive hibernates and then when linux goes to wake it up it gets all bent out of shape and says the drive is dead or gone. Sometimes. Usually.

    The fix is to turn off the hibernation. If you have the pro version it comes with a utility to do this. If you have a non-pro version you're halfway stuck. Either you gotta somehow find the pro-tools software, or contact seagate and they WILL show you where to DL it off their website. Do the online chat thing and they'll give it to you no problem. They were very nice about it, actually. Took me about 10 minutes to do that. The pro software works just fine on the non-pro drive to change the sleep time. It's a one-time fix.

    I didn't run into this on a linux PC, I was using a free-agent on a Buffalo Linkstation NAS as a backup drive. The linkstation runs linux.... So.... It would hibernate and then when the LS would go to backup - BZZT! Error. Works GREAT now. I'm actually very happy with seagate, I've had to deal with them a couple times this year and it was actually pretty smooth. They have the longest warranty also, I believe.

    --
    Flappinbooger isn't my real name