On Sat, 31 Mar 2012, Norman Diamond wrote: > >> bcdDevice is 1.00 > > > > That's the same as a bridge that was reported non-working. Which means > > the OS has no way to tell them apart. > > There's still something wrong here. When the bridge is connected to Windows > XP, Windows accesses the correct number of blocks. We need to find someone > who has a non-working but indistinguishable bridge, ask them to connect it > to Windows XP, and see if Windows XP gets a number of blocks that is too > large by 1. How would you tell? And what's so special about XP? Why not Vista or Windows 7? > > There is no good solution to this problem. > > Agreed. But in my case I think I need to disable that quirk entirely for > all USB bridges, so that my uses of Linux will always believe what the USB > bridge reports. At least then my program will work correctly when working > bridges are attached. Then if a user complains, we can tell them to use a > different bridge. Well, if you want to disable the quirk entirely, it's not hard to do. In drivers/usb/storage/scsiglue.c, just get rid of the lines that set sdev->fix_capacity and sdev->guess_capacity. If you want to find out who reported the problems with the bridge chip, look in the unusual_devs.h file for the entry with vendor ID 0x067b and product ID 0x2507. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html