Further restricted the identification for Indilinx SSDs to prevent Maxtor HDDs to be identified as Indilinx SSD.
This commit is contained in:
@@ -205,7 +205,43 @@ namespace OpenHardwareMonitor.Hardware.HDD {
|
||||
C6 000000000000 100 100 0
|
||||
C7 810100000000 253 253 0
|
||||
E8 240000000000 60 60 10
|
||||
E9 630594120000 92 92 0")
|
||||
E9 630594120000 92 92 0"),
|
||||
|
||||
new Drive("Maxtor 6L300R0", null, 10,
|
||||
@"3 9E5500000000 183 193
|
||||
4 0A0D00000000 252 252
|
||||
5 010000000000 253 253
|
||||
6 000000000000 253 253
|
||||
7 000000000000 252 253
|
||||
8 DFA700000000 224 245
|
||||
9 CE5700000000 155 155
|
||||
10 000000000000 252 253
|
||||
11 000000000000 252 253
|
||||
12 BA0400000000 250 250
|
||||
192 000000000000 253 253
|
||||
193 000000000000 253 253
|
||||
194 3D0000000000 253 42
|
||||
195 5D1F00000000 252 253
|
||||
196 000000000000 253 253
|
||||
197 010000000000 253 253
|
||||
198 000000000000 253 253
|
||||
199 030000000000 196 199
|
||||
200 000000000000 252 253
|
||||
201 000000000000 252 253
|
||||
202 000000000000 252 253
|
||||
203 000000000000 252 253
|
||||
204 000000000000 252 253
|
||||
205 000000000000 252 253
|
||||
207 000000000000 252 253
|
||||
208 000000000000 252 253
|
||||
209 EA0000000000 234 234
|
||||
210 000000000000 252 253
|
||||
211 000000000000 252 253
|
||||
212 000000000000 252 253
|
||||
130 5B0300010002 1 9
|
||||
59 FC3203030100 205 0
|
||||
1 000000000000 0 0
|
||||
144 000000000000 0 34 ")
|
||||
};
|
||||
|
||||
public IntPtr OpenDrive(int driveNumber) {
|
||||
|
||||
+26
-23
@@ -40,33 +40,36 @@
|
||||
namespace OpenHardwareMonitor.Hardware.HDD {
|
||||
using System.Collections.Generic;
|
||||
|
||||
[NamePrefix(""), RequireSmart(0xD1)]
|
||||
[NamePrefix(""), RequireSmart(0x01), RequireSmart(0x09), RequireSmart(0x0C),
|
||||
RequireSmart(0xD1), RequireSmart(0xCE), RequireSmart(0xCF)]
|
||||
internal class SSDIndilinx : AbstractHarddrive {
|
||||
|
||||
private static readonly IEnumerable<SmartAttribute> smartAttributes =
|
||||
new List<SmartAttribute> {
|
||||
|
||||
new SmartAttribute(0xB8, SmartNames.InitialBadBlockCount),
|
||||
new SmartAttribute(0xC3, SmartNames.ProgramFailure),
|
||||
new SmartAttribute(0xC4, SmartNames.EraseFailure),
|
||||
new SmartAttribute(0xC5, SmartNames.ReadFailure),
|
||||
new SmartAttribute(0xC6, SmartNames.SectorsRead),
|
||||
new SmartAttribute(0xC7, SmartNames.SectorsWritten),
|
||||
new SmartAttribute(0xC8, SmartNames.ReadCommands),
|
||||
new SmartAttribute(0xC9, SmartNames.WriteCommands),
|
||||
new SmartAttribute(0xCA, SmartNames.BitErrors),
|
||||
new SmartAttribute(0xCB, SmartNames.CorrectedErrors),
|
||||
new SmartAttribute(0xCC, SmartNames.BadBlockFullFlag),
|
||||
new SmartAttribute(0xCD, SmartNames.MaxCellCycles),
|
||||
new SmartAttribute(0xCE, SmartNames.MinErase),
|
||||
new SmartAttribute(0xCF, SmartNames.MaxErase),
|
||||
new SmartAttribute(0xD0, SmartNames.AverageEraseCount),
|
||||
new SmartAttribute(0xD1, SmartNames.RemainingLife,
|
||||
null, SensorType.Level, 0),
|
||||
new SmartAttribute(0xD2, SmartNames.UnknownUnique),
|
||||
new SmartAttribute(0xD3, SmartNames.SataErrorCountCrc),
|
||||
new SmartAttribute(0xD4, SmartNames.SataErrorCountHandshake),
|
||||
};
|
||||
new SmartAttribute(0x01, SmartNames.ReadErrorRate),
|
||||
new SmartAttribute(0x09, SmartNames.PowerOnHours),
|
||||
new SmartAttribute(0x0C, SmartNames.PowerCycleCount),
|
||||
new SmartAttribute(0xB8, SmartNames.InitialBadBlockCount),
|
||||
new SmartAttribute(0xC3, SmartNames.ProgramFailure),
|
||||
new SmartAttribute(0xC4, SmartNames.EraseFailure),
|
||||
new SmartAttribute(0xC5, SmartNames.ReadFailure),
|
||||
new SmartAttribute(0xC6, SmartNames.SectorsRead),
|
||||
new SmartAttribute(0xC7, SmartNames.SectorsWritten),
|
||||
new SmartAttribute(0xC8, SmartNames.ReadCommands),
|
||||
new SmartAttribute(0xC9, SmartNames.WriteCommands),
|
||||
new SmartAttribute(0xCA, SmartNames.BitErrors),
|
||||
new SmartAttribute(0xCB, SmartNames.CorrectedErrors),
|
||||
new SmartAttribute(0xCC, SmartNames.BadBlockFullFlag),
|
||||
new SmartAttribute(0xCD, SmartNames.MaxCellCycles),
|
||||
new SmartAttribute(0xCE, SmartNames.MinErase),
|
||||
new SmartAttribute(0xCF, SmartNames.MaxErase),
|
||||
new SmartAttribute(0xD0, SmartNames.AverageEraseCount),
|
||||
new SmartAttribute(0xD1, SmartNames.RemainingLife,
|
||||
null, SensorType.Level, 0),
|
||||
new SmartAttribute(0xD2, SmartNames.UnknownUnique),
|
||||
new SmartAttribute(0xD3, SmartNames.SataErrorCountCrc),
|
||||
new SmartAttribute(0xD4, SmartNames.SataErrorCountHandshake)
|
||||
};
|
||||
|
||||
public SSDIndilinx(ISmart smart, string name, string firmwareRevision,
|
||||
int index, ISettings settings)
|
||||
|
||||
@@ -37,5 +37,5 @@
|
||||
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: AssemblyVersion("0.3.2.6")]
|
||||
[assembly: AssemblyInformationalVersion("0.3.2.6 Alpha")]
|
||||
[assembly: AssemblyVersion("0.3.2.7")]
|
||||
[assembly: AssemblyInformationalVersion("0.3.2.7 Alpha")]
|
||||
Reference in New Issue
Block a user