Solved some bugs found testing on usb flash sticks.

This commit is contained in:
2015-10-31 21:32:10 +00:00
parent 6b9f8f97c8
commit 3a069ab37a
6 changed files with 29 additions and 13 deletions

View File

@@ -1,3 +1,8 @@
2015-10-31 Natalia Portillo <claunia@claunia.com>
* DicConsole.cs:
Solved some bugs found testing on usb flash sticks.
2015-10-19 Natalia Portillo <claunia@claunia.com> 2015-10-19 Natalia Portillo <claunia@claunia.com>
* DiscImageChef.Console.csproj: * DiscImageChef.Console.csproj:

View File

@@ -160,25 +160,25 @@ namespace DiscImageChef.Console
public static void WriteLine(string format) public static void WriteLine(string format)
{ {
if (WriteLineEvent != null) if (WriteLineEvent != null)
WriteLineEvent(format, null); WriteLineEvent("{0}", format);
} }
public static void ErrorWriteLine(string format) public static void ErrorWriteLine(string format)
{ {
if (ErrorWriteLineEvent != null) if (ErrorWriteLineEvent != null)
ErrorWriteLineEvent(format, null); ErrorWriteLineEvent("{0}", format);
} }
public static void VerboseWriteLine(string format) public static void VerboseWriteLine(string format)
{ {
if (VerboseWriteLineEvent != null) if (VerboseWriteLineEvent != null)
VerboseWriteLineEvent(format, null); VerboseWriteLineEvent("{0}", format);
} }
public static void DebugWriteLine(string module, string format) public static void DebugWriteLine(string module, string format)
{ {
if (DebugWriteLineEvent != null) if (DebugWriteLineEvent != null)
DebugWriteLineEvent("DEBUG (" + module + "): " + format, null); DebugWriteLineEvent("{0}", "DEBUG (" + module + "): " + format);
} }
} }

View File

@@ -1,3 +1,8 @@
2015-10-31 Natalia Portillo <claunia@claunia.com>
* SCSI/Modes.cs:
Solved some bugs found testing on usb flash sticks.
2015-10-31 Natalia Portillo <claunia@claunia.com> 2015-10-31 Natalia Portillo <claunia@claunia.com>
* SCSI/Modes.cs: * SCSI/Modes.cs:

View File

@@ -629,7 +629,7 @@ namespace DiscImageChef.Decoders.SCSI
sb.AppendLine("3.5-inch, 135 tpi, 15916 bits/radian, double-sided MFM (aka 1.44Mb)"); sb.AppendLine("3.5-inch, 135 tpi, 15916 bits/radian, double-sided MFM (aka 1.44Mb)");
break; break;
default: default:
sb.AppendFormat("Unknown medium type 0x{0:X2}", header.Value.MediumType).AppendLine(); sb.AppendFormat("Unknown medium type 0x{0:X2}", (byte)header.Value.MediumType).AppendLine();
break; break;
} }
} }
@@ -659,7 +659,7 @@ namespace DiscImageChef.Decoders.SCSI
density = "15916 flux transitions per radian"; density = "15916 flux transitions per radian";
break; break;
default: default:
density = String.Format("with unknown density code 0x{0:X2}", descriptor.Density); density = String.Format("with unknown density code 0x{0:X2}", (byte)descriptor.Density);
break; break;
} }
@@ -696,7 +696,7 @@ namespace DiscImageChef.Decoders.SCSI
sb.AppendLine("\tDevice uses a write cache but doesn't return until cache is flushed"); sb.AppendLine("\tDevice uses a write cache but doesn't return until cache is flushed");
break; break;
default: default:
sb.AppendFormat("\tUnknown buffered mode code 0x{0:X2}", header.Value.BufferedMode).AppendLine(); sb.AppendFormat("\tUnknown buffered mode code 0x{0:X2}", (byte)header.Value.BufferedMode).AppendLine();
break; break;
} }

View File

@@ -1,3 +1,8 @@
2015-10-31 Natalia Portillo <claunia@claunia.com>
* Commands/DeviceInfo.cs:
Solved some bugs found testing on usb flash sticks.
2015-10-31 Natalia Portillo <claunia@claunia.com> 2015-10-31 Natalia Portillo <claunia@claunia.com>
* Commands/DeviceInfo.cs: * Commands/DeviceInfo.cs:

View File

@@ -199,24 +199,25 @@ namespace DiscImageChef.Commands
Decoders.SCSI.PeripheralDeviceTypes devType = (DiscImageChef.Decoders.SCSI.PeripheralDeviceTypes)inq.Value.PeripheralDeviceType; Decoders.SCSI.PeripheralDeviceTypes devType = (DiscImageChef.Decoders.SCSI.PeripheralDeviceTypes)inq.Value.PeripheralDeviceType;
sense = dev.ModeSense10(out modeBuf, out senseBuf, false, true, ScsiModeSensePageControl.Current, 0x3F, 0xFF, dev.Timeout, out duration); sense = dev.ModeSense10(out modeBuf, out senseBuf, false, true, ScsiModeSensePageControl.Current, 0x3F, 0xFF, dev.Timeout, out duration);
if (sense) if (sense || dev.Error)
{ {
sense = dev.ModeSense10(out modeBuf, out senseBuf, false, true, ScsiModeSensePageControl.Current, 0x3F, 0x00, dev.Timeout, out duration); sense = dev.ModeSense10(out modeBuf, out senseBuf, false, true, ScsiModeSensePageControl.Current, 0x3F, 0x00, dev.Timeout, out duration);
} }
if (!sense) if (!sense && !dev.Error)
{ {
decMode = Decoders.SCSI.Modes.DecodeMode10(modeBuf, devType); decMode = Decoders.SCSI.Modes.DecodeMode10(modeBuf, devType);
} }
else
if(sense || dev.Error || !decMode.HasValue)
{ {
sense = dev.ModeSense6(out modeBuf, out senseBuf, false, ScsiModeSensePageControl.Current, 0x3F, 0x00, dev.Timeout, out duration); sense = dev.ModeSense6(out modeBuf, out senseBuf, false, ScsiModeSensePageControl.Current, 0x3F, 0x00, dev.Timeout, out duration);
if(sense) if (sense || dev.Error)
sense = dev.ModeSense6(out modeBuf, out senseBuf, false, ScsiModeSensePageControl.Current, 0x3F, 0x00, dev.Timeout, out duration); sense = dev.ModeSense6(out modeBuf, out senseBuf, false, ScsiModeSensePageControl.Current, 0x3F, 0x00, dev.Timeout, out duration);
if(sense) if (sense || dev.Error)
sense = dev.ModeSense(out modeBuf, out senseBuf, 15000, out duration); sense = dev.ModeSense(out modeBuf, out senseBuf, 15000, out duration);
if(!sense) if (!sense && !dev.Error)
decMode = Decoders.SCSI.Modes.DecodeMode6(modeBuf, devType); decMode = Decoders.SCSI.Modes.DecodeMode6(modeBuf, devType);
} }