You are not logged in.

#1 2017-01-04 16:48:31

digitalone
Member
Registered: 2011-08-19
Posts: 346

xfermode and READ LOG DMA EXT fail on my SDD at boot

Hello everyone. Two weeks ago I purchased a new laptop: HP 255 G5.
It came with an old HDD and I heard about new SDD which are faster. So I changed it with a 240GB SDD by Qumox.

Installed Arch Linux upon and it works good, very fast than the HDD on my old broken laptop.
Anyway since the first boot I got the following entries in the journal:

ata1.00: qc timeout (cmd 0x47)
ata1.00: READ LOG DMA EXT failed, trying unqueued
ata1.00: failed to get Log Directory Emask 0x40
ata1.00: ATA-10: Qumox 240GB SSD, V2.7, max UDMA/133
ata1.00: 468862128 sectors, multi 1: LBA48 NCQ (depth 31/32),
ata1.00: failed to get Identify Device Data, Emask 0x40
ata1.00: failed to set xfermode (err_mask=0x40)
ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
ata1.00: NCQ Send/Recv Log not supported
ata1.00: NCQ Send/Recv Log not supported 
ata1.00: configured for UDMA/133

Let's start from "NCQ Send/Recv Log not supported". That's a known issue.
The SSD (or the chipset?) does not support Linux Native Command Queueing (NCQ). So I can disable it at boot adding libata.force=noncq as kernel parameter in systemd-boot.

After done that, the following entries appear in the journal:

ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
ata1.00: FORCE: horkage modified (noncq)
ata1.00: ATA-10: Qumox 240GB SSD, V2.7, max UDMA/133
ata1.00: 468862128 sectors, multi 1: LBA48 NCQ (not used)

It seems okay. But I got also these entries:

ata1.00: qc timeout (cmd 0x47)
ata1.00: READ LOG DMA EXT failed, trying unqueued
ata1.00: failed to get Identify Device Data, Emask 0x40
ata1.00: failed to set xfermode (err_mask=0x40)
ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
ata1.00: configured for UDMA/133

I think there are 3 problems here.

First one: qc timeout. What's that? I searched for it, but nothing came up.

Second: failed to set xfermode. This is shown in red (also before adding libata.force=noncq) and seems to be related to "failed to get Identify Device Data". I also looked for this, but no solution was found.

And last, but not least: READ LOG DMA EXT failed. I don't know if this is related to qc timeout, but it seems that the SDD does not support DMA access to log, so the kernel falls back to ATA CMD READ LOG EXT. See here.
The SDD advertises DMA access to the log, but in reality it's not supported.
In effect, "hdparm -I /dev/sda" gives me the following line:

Commands/features:
           *    READ_LOG_DMA_EXT equivalent to READ_LOG_EXT

READ_LOG_DMA_EXT is equivalent to READ_LOG_EXT, so the kernel wrongly expects to be able to do DMA access in the log, but it fails and the timeout is reached. Is that right?

Is there a way to force ATA CMD READ LOG EXT? I can't find a kernel parameter related to this feature.

And what about "failed to set xfermode (err_mask=0x40)". Is this related to the above issue or it's independent?

Before you suggest me to upgrade the bios and the SDD firmware: I've already upgraded the bios after installing Windows 8.1 (I'm in dual boot) and I'm sorry to say that there's no update to the SDD firmware (v2.7 is the only one available).
Help me please.

Last edited by digitalone (2017-01-04 16:51:17)

Offline

#2 2017-01-05 14:12:59

digitalone
Member
Registered: 2011-08-19
Posts: 346

Re: xfermode and READ LOG DMA EXT fail on my SDD at boot

Nobody?

Offline

#3 2017-02-15 04:19:23

kamzata
Member
From: ITALY
Registered: 2017-01-19
Posts: 30

Re: xfermode and READ LOG DMA EXT fail on my SDD at boot

digitalone wrote:

Nobody?

Did you solve? I have the same issue with both SSD Samsung 840 (used as storage) and 850 Pro (used as system)...

Linux pc01 4.9.8-1-ARCH #1 SMP PREEMPT Mon Feb 6 12:59:40 CET 2017 x86_64 GNU/Linux
[    2.177910] ata2: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[    2.177933] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[    2.177972] ata5: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    2.178631] ata2.00: NCQ Send/Recv Log not supported
[    2.178633] ata2.00: ATA-9: Samsung SSD 840 PRO Series, DXM06B0Q, max UDMA/133
[    2.178635] ata2.00: 500118192 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[    2.178791] hub 1-1:1.0: USB hub found
[    2.178880] ata2.00: NCQ Send/Recv Log not supported
[    2.178881] ata2.00: configured for UDMA/133
[    2.178941] hub 1-1:1.0: 6 ports detected
[    2.179118] ata5.00: ATAPI: HL-DT-STDVD-RAM GH22NS30, 1.01, max UDMA/100
[    2.179839] ata1.00: supports DRM functions and may not be fully accessible
[    2.180614] ata5.00: configured for UDMA/100
[    2.184558] ata1.00: disabling queued TRIM support
[    2.184559] ata1.00: ATA-9: Samsung SSD 850 PRO 256GB, EXM03B6Q, max UDMA/133
[    2.184561] ata1.00: 500118192 sectors, multi 1: LBA48 NCQ (depth 31/32), AA
[    2.184761] ata1.00: supports DRM functions and may not be fully accessible
[    2.189480] ata1.00: disabling queued TRIM support
[    2.189536] ata1.00: configured for UDMA/133

Last edited by kamzata (2017-02-15 04:24:15)

Offline

#4 2017-02-15 05:53:13

digitalone
Member
Registered: 2011-08-19
Posts: 346

Re: xfermode and READ LOG DMA EXT fail on my SDD at boot

kamzata wrote:

Did you solve?

No.

Offline

#5 2017-05-28 14:37:19

gnidorah
Member
Registered: 2017-05-28
Posts: 1

Re: xfermode and READ LOG DMA EXT fail on my SDD at boot

Have exact error output with a different drive. Let's continue in kernel bug report https://bugzilla.kernel.org/show_bug.cgi?id=195895

Last edited by gnidorah (2017-05-28 14:37:32)

Offline

Board footer

Powered by FluxBB