vkraven Posted April 17, 2015 Report Share Posted April 17, 2015 Wasn't sure if I should have posted this in "Help Central" or here, but hopefully this will be useful for someone facing similar problems. I installed Funtoo on a Samsung 850 Pro 256GB SSD recently. All went well, but I noticed that, while using gnome 3.14.2, certain apps would trigger a gradual desktop freeze (google chrome). Chrome would freeze, then terminal, then overview - but the mouse cursor remained responsive. After a minute or so, everything would work again. A bit of googling led me to check dmesg, which produced the errors: ata1.00: failed command: WRITE FPDMA QUEUED ata1.00: cmd 61/00:f0:10:3b:67/02:00:2a:00:00/40 tag 30 ncq 262144 out res 40/00:01:00:4f:c2/00:00:00:00:00/00 Emask 0x4 (timeout)ata1.00: status: { DRDY } ata1: hard resetting linkata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300) ata1.00: supports DRM functions and may not be fully accessible ata1.00: device reported invalid CHS sector 0ata1.00: device reported invalid CHS sector 0ata1.00: device reported invalid CHS sector 0ata1.00: device reported invalid CHS sector 0 etc, etc, over and over Which I eventually figured out was a problem with NCQ not playing well with the 850 Pro. What I found curious was that not all the 850 Pros had this issue. Apparently, in addition to the controversial dead after firmware update troubles (http://forums.anandtech.com/showthread.php?t=2421585), this error seems to primarily affect the new firmware EXM02B6Q as well - http://www.spinics.net/lists/linux-ide/msg50342.html - consequently affecting my SSD, which shipped with the new firmware. I got around it by disabling NCQ like so - echo 1 > /sys/block/sdX/device/queue_depth for whatever X is the 850 Pro drive. E.g. for me, echo 1 > /sys/block/sda/device/queue_depth But this workaround does not persist through boots, and I don't understand code well enough to program a startup script. Since this NCQ error did occur for me during bootup as well (where my screen would stay black for a minute before gnome loads), I added libata.force=noncq into Funtoo's boot configs, like so: nano -w /etc/boot.conf "Funtoo Linux genkernel" { kernel kernel[-v] initrd initramfs[-v] params += real_root=auto libata.force=noncq} And then ran boot-update The only drawback I can think of to this is that doing so would disable NCQ for all my other drives which do not have NCQ issues, as well. Hopefully this will help anyone facing these annoying freezes on one of Samsung's drives too. Link to comment Share on other sites More sharing options...
sputnik Posted April 17, 2015 Report Share Posted April 17, 2015 The startup script thing is easy. In /etc/local.d I believe there is a little doc explaining, but you simply create a file called /etc/local.d/<whatever>.start. It's executed on startup as privileged user (chmod 744 <whatever>.start as root). Just put your echo instruction in there, it'll happen at every boot. Hmm, maybe have to make it a bash script, mine is but not sure that's necessary. Well, you can just paste this in, no need to understand code ;) #!/bin/bash echo 1 > /sys/block/sda/device/queue_depth Link to comment Share on other sites More sharing options...
Recommended Posts