Hardware compatibility issues
Drives which perform frequent head unloads under Linux
Some ATA harddrives perform very frequent head unloads under Linux significantly shortening their lifespans.
The inactivity timer for head unload is configured too aggressively either via ATA APM (Advanced Power Management) feature or other non-standard means. Such aggressive settings are very fragile to changes in IO pattern and under Linux many such drives unload their heads only to re-load them shortly. Note that this relentless unloading/reloading cycle can also be triggered under Windows by installing programs which can alter the IO pattern (e.g. certain vaccine programs which runs in background).
How to determine whether a machine has this problem
Many drives make small clunking noise when they unload and/or reload their heads, so if you hear such noise frequently (say, several times in a minute), it would be worth investigation. Drives usually implement Start_Stop_Count or similarly named counter in their SMART attributes which can be accessed by running "smartctl -a /dev/[hs]dX" where /dev/[hd]dX" is the drive in question. If the counter is too high compared to the hours the drive has been running (which is also often available in the SMART output), your hardware is likely to have this problem.
Note that modern laptop drives are supposed to unload frequently to save power. Unless the unloading is excessive, disabling powersaving is not a good idea. It seems that most modern drives are rated for 600,000 load/unload cycles which translates to about two years of uptime at 35 unloads per hour. Even when assuming continuous 12 hours of usage everyday, this means the drive will only reach its rated load/unload cycle limit after four years and shouldn't be considered malfunctioning. Please only report cases where the expected uptime is significantly lower than two years.
Known affected devices
This list is far from complete. If you have a hardware affected by this problem, please write to linux-ide and attach the outputs of "dmidecode", "hdparm -I /dev/[hs]dX" and "smartctl -a /dev/[hs]dX" where dev/[hs]dX is the affected drive. Also, please include how many times the drive unloads the head per-hour under nominal usage without any adjustment.
|IBM ThinkPad T43||dmidecode||hdparm -I||report||set APM to 255|
|Lenovo ThinkPad T60 w/ Hitachi drives||dmidecode||hdparm -I||set APM to 255|
|HP Compaq nx6325||dmidecode||hdparm -i||report||set APM to 255|
|HP Compaq nx6325 (w/ different drive)||dmidecode||hdparm -i||report||set APM to 255|
|HP Compaq nx6325 (w/ different drive)||dmidecode||hdparm -i||report||set APM to 254|
|HP Compaq nx7400||dmidecode||hdparm -i||report||set APM to 255|
|HP Pavilion dv6500 Notebook PC||dmidecode||hdparm -i||set APM to 255|
|HP Pavilion dv9500 Notebook PC||dmidecode||hdparm -I sda hdparm -I sdb||report||set APM to 254|
|Dell e1505||dmidecode||hdparm -I||set APM to 255|
|Western Digital Green Drives||WD5000AACS, WD7500AYPS, WD1000FYPS||Requires vendor specific tool wdidle3.exe to change the configuration. The tool can only be obtained via WD support.|
|Dell Vostro 1400||dmidecode||hdparm -I||report||set APM to 254 (or 252)|
|Dell Vostro 1500||dmidecode||hdparm -I||report||set APM to 254|
|Dell XPS M1330||dmidecode||hdparm -I||report||set APM to 254|
|Dell XPS M1530||dmidecode||hdparm -I||report||set APM to 254|
|Dell Inspiron 1318||dmidecode||hdparm -I||report||set APM to 254|
|Dell Inspiron 1525||dmidecode||-I||report||set APM to 255|
|Dell Insprion 1705||dmidecode||hdparm -I||report||set APM to 255|
|Samsung Q45||dmidecode||hdparm -I||report||set APM to 254|
|Mac mini 1,1||dmidecode||hdparm -I||report||set APM to 255|
|Acer Aspire 1691wlmi||dmidecode||hdparm -I||report||set APM to 255|
|MSI Notebook EX600||dmidecode||hdparm -I||report||set APM to 254|
|MSI Notebook S425||dmidecode||hdparm -I||report||set APM to 254|
|ASUS F6S||dmidecode||hdparm -I||report||set APM to 254|
|ASUS M50SV||dmidecode||hdparm -I||report||set APM to 254|
storage-fixup is a script which uses dmidecode and hdparm outputs to match blacklisted devices and execute appropriate workaround. The script should be run early during the boot and while the system is coming out of sleep. Please read comments on top of the script and the configuration file.
There is a known hardware issue when libata is used with certain TSSTcorp TS-L623D drives. The user might experience random system freezes for a few minutes periodically. The problem mostly occurs on Acer and Asus laptop computers.
It seems that the firmware of the TS-L623D stops responding after being continuously polled by hald-addon-storage.
Affected firmware versions
- Acer: All firmware versions including AC00 and AC01
- Asus: All firmware versions including AS05 and AS99
- Samsung: SC02
Good firmware versions
- keep a CD in the TS-L632D drive or
- kill the hald-addon-storage process or
- cross-flash the drive firmware of TS-L632D to the SC03 version.
How to cross-flash
Be warned that you are at your own risk to cross-flash the firmware of the drive. Also it might void the warranty.
- Download the Samsung firmware update utility
- Download the Samsung firmware
- Run "sfdnwin -nocheck" to crossflash.
Seagate harddrives which time out FLUSH CACHE when NCQ is being used
On certain Seagate drives sold during late 2008, FLUSH CACHE sometimes times out when used in combination with NCQ commands.
|capacity||model||product number||firmware revisions||remarks|
|1.5TB||ST31500341AS||9JU138||SD1[5-9]||problem happens most frequently on this model|
|1.0TB||ST31000333AS||9FZ136||SD1[5-9]||happens less frequently|
|640GB||ST3640623AS||9FZ164||SD1[5-9]||happens less frequently|
|640GB||ST3640323AS||9FZ134||SD1[5-9]||happens less frequently|
|320GB||ST3320813AS||9FZ182||SD1[5-9]||happens less frequently|
|320GB||ST3320613AS||9FZ162||SD1[5-9]||happens less frequently|
libata will automatically disable NCQ when any of the above devices is detected with any of the above firmware revisions and emit a warning message. Firmware update solves the problem. Contact Seagate for details.
SATA hard drives performance anomaly with hdparm
hdparm -t measurements reach only 50%~75% of the hard drive maximum speed
The problem only occurs with NCQ queue depth 31 in AHCI mode (Firmware bug)
|vendor||model name||capacity||family||actual speed||expected speed||affected firmware revision||patched firmware revision|
|Western Digital||WDC WD800JD-00MSA1||80GB||Caviar SE SATAII||26MB/s||59MB/s||10.01E01||N/A|
|Western Digital||WDC WD1600JS-22NCB1||160GB||Caviar SE SATAII||29MB/s||60MB/s||10.02E02||N/A|
To restore performance, update to the patched firmware or request patched firmware from the hard drive vendor if it is not already available
Samsung HD501LJ may freeze
The drive can hang randomly (but very infrequent, with 20 identical drives you can see about 1 hang per month)
Firmware bug, probably smartctl may alleviate the bug
SAMSUNG HD501LJ (CW026) CR100-12
SAMSUNG HD321KJ (DN133) CP100-12
Update firmware to CR100-13 / CP100-13.
WD MyBook Studio Edition does not work with JMicron eSATA
The Western Digital MyBook Studio Edition external hard drive does not work (it is not detected) when connected to a JMicron adapter like JMB363. See kernel bug 9913.
The problem can be workarounded in software, as under other OS-es it works.