This is for tracking item 3 of comment 19 of bug 248698. Incorrect data would be read from one of my usb disk adaptors with an old disk in it, yet the same disk in another adaptor works fine. A different disk works fine in either adaptor.
Please clarify exactly which attachment I can find the usbmon info in for both the working maxtor drive and the non-working wd drive. I will then look for any sign of errors in the usbmon logs. Also, what's wrong with the data for the WD drive? Did you say that it is a couple of bytes offset, or is it total junk?
It initially looked like it was two bytes out, but because the drive doesn't report errors correctly (bug 249936) there is also junk data in there. Here are a few samples from the unknown controller: 00000000 48 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 H............... 00000200 55 AA 00 00 55 AA 55 AA 55 AA 00 00 00 00 00 00 U...U.U.U....... 00008E00 55 AA FA 66 0F B6 46 10 66 8B 4E 24 66 F7 E1 66 U..f..F.f.N$f..f 00020F00 00 00 41 54 00 00 42 54 00 00 43 54 00 00 44 54 ..AT..BT..CT..DT And from the cypress controller: 00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000200 00 00 55 AA 55 AA 55 AA 00 00 00 00 00 00 00 00 ..U.U.U......... 00008E00 FA 66 0F B6 46 10 66 8B 4E 24 66 F7 E1 66 03 46 .f..F.f.N$f..f.F 00020F00 41 54 00 00 42 54 00 00 43 54 00 00 44 54 00 00 AT..BT..CT..DT.. It seems fairly consistently two bytes out. It's like the unknown controller data is prefixed with a unicode 'H'. See https://bugs.gentoo.org/attachment.cgi?id=174198 for the example where I read the second track (which has no bad blocks). This attachment was described in more detail in bug 248698 comment 14.
I can't see any errors at all, looks like the device is silently behaving incorrectly. Each read is indeed prefixed with 0x4800, very odd. But nothing linux can do.