• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[Gelöst] hdparm erkennt SSD nicht

wbwb

Hacker
Hallo,
ich bin nicht sicher, ob dies hier das richtige Unterforum ist. Wenn nein, dann sorry und bitte wahrscheinlich nach 'Hardware' verschieben.

Ich versuche einen lenovo T460s aufzusetzten. Aber ich scheitere schon zu Beginn an der NVME M.2 SSD - an der ich vor der Installation noch ein paar Dinge einstellen möchte. Genauer gesagt, will hdparm die SSD partout nicht richtig erkennen. Hilfe wäre mir sehr willkommen. Danke.

Je nach Live Distribution mit der ich mein 'Glück' bisher probiert habe, gibt es zwei Szenarien:
1) (z.B. mit einer ArchEx Distribution mit Kernel 4.11.6-3-ARCH, mit allen nvme Treibern geladen und mit der neuesten 9.52 Version von hdparm)
Code:
# hdparm -I --verbose /dev/nvme0n1
 /dev/nvme0n1:
APT: No idVendor found -> not USB bridge device
outgoing cdb:  85 08 0e 00 00 00 01 00 00 00 00 00 00 40 ec 00
ioctl(fd,SG_IO): Inappropriate ioctl for device
outgoing cdb:  85 08 0e 00 00 00 01 00 00 00 00 00 00 40 a1 00
ioctl(fd,SG_IO): Inappropriate ioctl for device
 HDIO_DRIVE_CMD(identify) failed: Inappropriate ioctl for device
D.h. HDIO_DRIVE_CMD(identify) failed: Inappropriate ioctl for device ...

2) Z.B. mit dem Leap 42.2 rescue System, mit Kernel 4.4.27, einem etwas älteren hdparm v9.43 und Treiber nvme_core geladen
Code:
# hdparm -I --verbose /dev/nvme0n1
outgoing cdb:  85 08 0e 00 00 00 01 00 00 00 00 00 00 40 ec 00
SG_IO: ATA_16 status=0x2, host_status=0x0, driver_status=0x0
SG_IO: sb[]:  72 05 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
incoming_data:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
SG_IO: questionable sense data, results may be incorrect
SG_IO: desc[]:  00 00
      ATA_16 stat=00 err=00 nsect=00 lbal=00 lbam=00 lbah=00 dev=00

/dev/nvme0n1:

ATA device, with non-removable media
Standards:
	Likely used: 1
Configuration:
	Logical		max	current
	cylinders	0	0
	heads		0	0
	sectors/track	0	0
	--
	Logical/Physical Sector size:           512 bytes
	device size with M = 1024*1024:           0 MBytes
	device size with M = 1000*1000:           0 MBytes 
	cache/buffer size  = unknown
Capabilities:
	IORDY not likely
	Cannot perform double-word IO
	R/W multiple sector transfer: not supported
	DMA: not supported
	PIO: pio0
D.h. SG_IO: questionable sense data, results may be incorrect ...

Weiß jemand was hier los ist und wie man hdparm dazu bringen kann die SSD zu erkennen? (Bei Doktor Google finde ich bisher nichts das mir nützt.)

wbwb

Infos zur Hardware:
Code:
# lspci -v
05:00.0 Non-Volatile memory controller: Toshiba America Info Systems Device 010f (rev 01) (prog-if 02 [NVM Express])
	Subsystem: Toshiba America Info Systems Device 0001
	Flags: bus master, fast devsel, latency 0, IRQ 16, NUMA node 0
	Memory at f1000000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [40] Power Management version 3
	Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+
	Capabilities: [70] Express Endpoint, MSI 00
	Capabilities: [b0] MSI-X: Enable+ Count=8 Masked-
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [168] Alternative Routing-ID Interpretation (ARI)
	Capabilities: [178] #19
	Capabilities: [198] Latency Tolerance Reporting
	Capabilities: [1a0] L1 PM Substates
	Kernel driver in use: nvme
	Kernel modules: nvme
Code:
# lsblk /dev/nvme0n1 
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0    0  477G  0 disk
Code:
# smartctl -x /dev/nvme0n1
smartctl 6.5 2016-05-07 r4318 [x86_64-linux-4.11.6-3-ARCH] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:                       THNSN5512GPU7 TOSHIBA
Serial Number:                      661S109RTV8V
Firmware Version:                   410457LA
PCI Vendor/Subsystem ID:            0x1179
IEEE OUI Identifier:                0x0d0800
Controller ID:                      0
Number of Namespaces:               1
Namespace 1 Size/Capacity:          512,110,190,592 [512 GB]
Namespace 1 Formatted LBA Size:     512
Local Time is:                      Sun Jul  9 11:08:43 2017 UTC
Firmware Updates (0x02):            1 Slot
Optional Admin Commands (0x0007):   Security Format Frmw_DL
Optional NVM Commands (0x001e):     Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat
Warning  Comp. Temp. Threshold:     78 Celsius
Critical Comp. Temp. Threshold:     82 Celsius

Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     8.00W       -        -    0  0  0  0        0       0
 1 +     3.90W       -        -    1  1  1  1        0       0
 2 +     2.00W       -        -    2  2  2  2        0       0
 3 -   0.1200W       -        -    3  3  3  3     1000    1000
 4 -   0.0120W       -        -    4  4  4  4     5000   10000
 5 -   0.0060W       -        -    5  5  5  5   100000   50000

Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 +     512       0         2
 1 -    4096       0         1

=== START OF SMART DATA SECTION ===
Read NVMe SMART/Health Information failed: NVMe Status 0x4002

PS.: unter Leap 42.2 rescue ist die smartctl Version 6.2 und man bekommt nur "Unable to detect device type".

Noch weitere Info nötig?
 
A

Anonymous

Gast
Wenn deine SSD mit dem nvme Treiber angefasst wird, dann hängt die SSD direkt am PCI-Bus. hdparm arbeitet bis jetzt immer über die entsprechenden Kontroller für und mit einem Befehlssatz IDE , libata und SCSI-ATA .... und kann damit natürlich bei eine anderem Treiber und komplett anderen Befehlssätzen nichts anfangen.
Was sollen denn auch die alten Befehle die im wesentlichen für sich drehende Festplatten deren Kontroller, Protokolle, Eigenheiten und Eigenschaften entwickelt wurden bei einer modernen BUS-SSD ausrichten? Wäre also in meinen Augen sehr sehr überraschend wenn irgend jemand hdparm irgendwann entsprechend erweitern würde, dass er auch auf mit dem nvme-Treiber zusammenarbeiten kann. Ehr könnte ich mir vorstellen das bei Bedarf ein neues Tool nur für Bus-SSD und spätere Weiterentwicklungen entstehen würde.

robi
 
OP
W

wbwb

Hacker
ehem, sorry, darf ich nochmal ganz langsam zum Mitschreiben für 'einfach-Pinguine' fragen?

Du meinst: hdparm für nvme SSD 'geht nicht mehr'. Ja?

Wenn dem so ist, würde ich gern etwas nachschieben (- wenn nötig, kann ich gern einen neuen Thread daraus machen).

Der Hauptgrund warum ich hdparm vor dem Einsatz einer SSDs bisher immer benützt habe, war um die Existenz einer HPA zu prüfen, bzw. um eine HPA/Over-Provisioning zu aktivieren (siehe z.B. https://www.sebastian-siebert.de/2013/09/22/opensuse-umzug-von-der-festplatte-zur-ssd/). Dies ist meine erste nvme SSD.

Wenn das Deiner Meinung nach mit hdparm und nvme SSDs nun nicht mehr geht, mit welchem tool denn dann? (Dass man nvme SSDs auch mit einer HPA versehen sollte wird im www jedenfalls nicht in Abrede gestellt.)
Kannst Du einen Link nennen?
Das betrifft auch read/write performance Tests usw.,... (die ja dann mit hdparm wohl auch nicht mehr funktionieren?)
 

josef-wien

Ultimate Guru
Urmutter dieser over-provisioning-Hysterie ist ein Intel-Dokument vom Juni 2011 zu einer ganz bestimmten Intel-SSD mit den damals verwendeten Speicherzellen. Seitdem geistert diese Hysterie unausrottbar durch das Internet.

Die firmware einer SSD ist darauf ausgelegt, alle Speicherzellen möglichst gleichmäßig abzunützen. Es bringt in der Praxis keinen Vorteil, den dem Betriebssystem zur Verfügung stehenden Speicherplatz zu reduzieren (und damit den nicht zur Verfügung stehenden zu vergrößern), eine SSD kennt nur Sektoren, sie hat keine Ahnung von Partitionen, Dateisystemen, Verzeichnissen und Dateien.

Wenn das heute ein Hersteller empfiehlt, dann dokumentiert er damit eine sehr schlechte garbage collection. Im übrigen gibt es mindestens einen Hersteller, der ausdrücklich vor einer solchen Aktion warnt, da sie bei seiner firmware nicht rückgängig gemacht werden kann.
 
A

Anonymous

Gast
Ob das bei diesem SSD-Type noch notwendig/erforderlich/empfehlenswert ist, könnte man eventuell mal erforschen. zB über die Spezifikation hier
Tools scheint es irgendwie ja auch zu geben, zB manpage nvme
einfach mal schauen ob es da eventuell ein Paket nvme gibt und ob es installiert ist.
Ich habe mit solchen PCI Express based SSDs noch nichts viel zu tun gehabt (außer das ich ein paar für Kunden in deren Server verbaut habe) , kann dir also direkt auch nicht wirklich weiterhelfen.

robi
 
Oben