# HG changeset patch # User moel.mich # Date 1325539041 0 # Node ID b2c6d350396de510f8d57d3eafbefb8c63f58c60 # Parent 756af5ee409e42797eac7f476b15f8c54141d0f4 Further restricted the identification for Indilinx SSDs to prevent Maxtor HDDs to be identified as Indilinx SSD. diff -r 756af5ee409e -r b2c6d350396d Hardware/HDD/DebugSmart.cs --- a/Hardware/HDD/DebugSmart.cs Mon Jan 02 20:45:18 2012 +0000 +++ b/Hardware/HDD/DebugSmart.cs Mon Jan 02 21:17:21 2012 +0000 @@ -205,7 +205,43 @@ 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) { diff -r 756af5ee409e -r b2c6d350396d Hardware/HDD/SSDIndilinx.cs --- a/Hardware/HDD/SSDIndilinx.cs Mon Jan 02 20:45:18 2012 +0000 +++ b/Hardware/HDD/SSDIndilinx.cs Mon Jan 02 21:17:21 2012 +0000 @@ -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 smartAttributes = new List { - - 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) diff -r 756af5ee409e -r b2c6d350396d Properties/AssemblyVersion.cs --- a/Properties/AssemblyVersion.cs Mon Jan 02 20:45:18 2012 +0000 +++ b/Properties/AssemblyVersion.cs Mon Jan 02 21:17:21 2012 +0000 @@ -37,5 +37,5 @@ using System.Reflection; -[assembly: AssemblyVersion("0.3.2.6")] -[assembly: AssemblyInformationalVersion("0.3.2.6 Alpha")] \ No newline at end of file +[assembly: AssemblyVersion("0.3.2.7")] +[assembly: AssemblyInformationalVersion("0.3.2.7 Alpha")] \ No newline at end of file