Jump to content
Read the Funtoo Newsletter: Summer 2023 ×

Samsung 850 Pro intermittent freezing

Recommended Posts

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 link
ata1: 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 0
ata1.00: device reported invalid CHS sector 0
ata1.00: device reported invalid CHS sector 0
ata1.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

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  ;)

echo 1 > /sys/block/sda/device/queue_depth
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...