Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 249938

Summary: Incorrect data received from some usb disk adaptors
Product: Gentoo Linux Reporter: Peter Fox <gentoo>
Component: [OLD] Core systemAssignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers <kernel>
Status: RESOLVED CANTFIX    
Severity: major    
Priority: High    
Version: 2008.0   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Peter Fox 2008-12-05 14:48:31 UTC
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.
Comment 1 Daniel Drake (RETIRED) gentoo-dev 2008-12-07 23:39:43 UTC
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?

Comment 2 Peter Fox 2008-12-12 16:41:33 UTC
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.
Comment 3 Daniel Drake (RETIRED) gentoo-dev 2008-12-24 19:26:39 UTC
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.