I've used h2testw for Windows to prove cards I bought from eBay\Amazon were fake in the past. I don't buy these things from eBay or Amazon now because of these issues - I find I get better results when buying from trusted retailers such as: . My Memory . eBuyer . 7 Day Shop . etc
You can download h2testw from: http://www.heise.de/download/product/h2testw-50539
I've also seen recommendations for F3 on Linux: http://oss.digirati.com.br/f3/
The Open Source Photrec software produces good results for data recovery as does the commercial R-Studio: . http://www.cgsecurity.org/wiki/PhotoRec . http://www.r-studio.com/
Beware though that most of these data testing tools have destructive tests that overwrite all blocks, so be careful what options you choose!
On Mon, 27 Jun 2016 at 13:25 Jonathan McDowell noodles@earth.li wrote:
On Mon, Jun 27, 2016 at 12:45:13PM +0100, Mark Rogers wrote:
On 22 June 2016 at 14:24, MJ Ray mjr@phonecoop.coop wrote:
It's trying to read from the SCSI device and getting an error code in reply. More detail than that probably needs me to read the SCSI protocol descriptions and driver source code.
OK, so which bits mean that?
In particular, what does Sense Key mean? ... except that I've just established for myself that this is the SCSI error code (in this case "Hardware Error", right?). Supposition on my part: Add = Additional, where additional info might be included with the error code (sense key) but isn't here? With the next couple of lines indicating where on the device the error occurred?
When a SCSI device hits an error it returns 3 bytes of data about what that was; the sense key (SK), then potentially an additional sense code (ASC) and an additional sense code qualifier (ASCQ).
The "CDB" in the error below is the SCSI command that was sent to the device - a "Read(10)" which means a 10 byte read command (there are read6 and read16 read commands - largely about how many bytes there are for describing the sector to read).
T10/SBC3 explains the READ10 command:
28 = READ10 00 = (flags) 06 87 47 30 = Sector 109528880 00 = (reserved) 00 08 = transfer length, 8 blocks (8 * 512 = 4k) 00 = (control byte)
So your kernel sent down a read, there was an return code 04/00/00 i.e. a hardware error with no additional information, and as a result the upper layers said there was an error filling the read buffer.
But then I am thrown by the Buffer I/O error - to me a buffer error implies it's not the media that's at fault but something in the interface between it and the O/S, suggesting that the problem is in the PC hardware (or USB card reader) not the card itself - but now I'm just guessing....
Jun 16 11:43:45 mark-pc kernel: [92204.212656] sd 11:0:0:2: [sdf] tag#0 FAILED Result: hostbyte=DID_ERROR driverbyte=DRIVER_SENSE Jun 16 11:43:45 mark-pc kernel: [92204.212669] sd 11:0:0:2: [sdf] tag#0 Sense Key : Hardware Error [current] Jun 16 11:43:45 mark-pc kernel: [92204.212675] sd 11:0:0:2: [sdf] tag#0 Add. Sense: No additional sense information Jun 16 11:43:45 mark-pc kernel: [92204.212683] sd 11:0:0:2: [sdf] tag#0 CDB: Read(10) 28 00 06 87 47 30 00 00 08 00 Jun 16 11:43:45 mark-pc kernel: [92204.212688] blk_update_request: I/O error, dev sdf, sector 109528880 Jun 16 11:43:45 mark-pc kernel: [92204.212696] Buffer I/O error on dev sdf1, logical block 13690854, async page read
J.
-- /-\ | I'm not allowed to talk to you any |@/ Debian GNU/Linux Developer | more. - |
main@lists.alug.org.uk http://www.alug.org.uk/ http://lists.alug.org.uk/mailman/listinfo/main Unsubscribe? See message headers or the web site above!