Jump to content
Corsair Community

Possible solution to suspend/resume problems for Linux/UNIX users


storkus

Recommended Posts

First, apologies if this should be in the SSD Firmware sub-forum--please move it there if it is.

 

Second, maybe this might change Corsair's mind in supporting Linux and UNIX (including OS-X) systems.

 

With that out of the way, I just bought a F115 25nm SSD, and while I haven't had any problems booting, I noticed right away that the drive "hung" during both suspend and resume (regardless of which mode). After looking around, I finally traced it (on Linux here) to a particular script in the "pm_utils" (Power Management Utilities). This script, intended for regular HDD's, sends commands to the drive to control spin up/down time, buffer flushing, and so on depending on whether the computer is on AC or battery; it also always sends specific commands during suspend and resume. Unfortunately, the F115's firmware has very poor handling of ATA commands it doesn't understand, the worst case being that this "freeze" was caused by the drive being hard-reset (or at least SATA link was). Removing the script sending these commands made the drive behave itself.

 

I have no doubt that these commands are being sent in other environments as well, such as by windows. I could even go so far as to say that its possible that some BIOSes also do this, and this is why those machines won't boot and why the workaround of making the boot process go longer by turning off "Quick Boot" may work for some people--luckily, I'm not one of the people who need it.

 

May I suggest that a future firmware version include graceful handling of exceptions in such a way as to not crash the drive or SATA link?

 

BTW, other than this I'm VERY happy with my new SSD: it's been reliable, FAST, and I got it at a steal at $140 because of these problems. I just hope more people can get and use these drives while they're still cheap. :)

 

Mike

 

P.S. For Linux users, the script is located in ~/pm-utils/power.d/harddrive (2 D's): just chmod it to 644 and enjoy quick S3/S5's again! Also do the same to "journal-commit" if you use non-standard (for your distro) commit times (great for laptops and SSD's--mine is "commit=120" (seconds)). Slackware specific, "~" is /usr/lib; on Ubuntu, I think it lives in /var/run. I don't know if non-Linux systems like the BSDs use it. YMMV, as always.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...