On Wed, 7 Nov 2012, Jason J. Herne wrote: > > Most likely that's the answer. Of course, for a device to recognize > > READ(16) but not READ(10) is a violation of the SCSI spec. > > > > I don't know what criterion Windows uses. Maybe it uses READ(16) > > whenever the total capacity is >= 2^32 blocks. > > I've not had enough time to properly find where/how to fix/hack this > into the code. It won't be simple. The current algorithm has been working for a long time, so people won't want to change it. > I'll keep looking at it. Does there happen to be any "quirks" that might help? No. > Also, i assume the place to look is drivers/usb/storage? No. The decision about which command to use is made in drivers/scsi/sd.c, in sd_prep_fn(). Look at the lines starting with } else if (block > 0xffffffff) { (line 891 in my copy of the file). > Is anything in drivers/scsi related? > Forgive my ignorance, my kernel development experience is primarily in > the realm of kvm. > Any tips you could provide would be most appreciated. What happens if you put a smaller drive (under 2 TB) in that enclosure? Does it then work with READ(10) or does it still require READ(16)? Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html