changes in 10.215:
1) fixed incorrect geometry computation for FAT-16 formatted large floppy sticks,
FAT-32 formatted large floppy sticks are not a problem.
In particular, pick up geometry values from the BPB if the stick is already formatted
If it is blank then set NumHeads = 1,SectorsPerTrack = 1 and NumCylinders = NumTotalSectors
if NumTotalSectors <= 4084*8 ("< 4084*8" sectors is the FAT12 sector limit)
which is what Windows 10 does with such small media, else use NumHeads = 255 and
SectorsPerTrack = 63/127/255 (depending on disk size)
(thanks Doug Bissett)
2) fixed incorrect geometry computation for partitioned sticks if the first partition
does not start within the first cylinder
(thanks Hanno Sedlmayr)
3) if for partitioned media NumTotalSectors evenly divides by (64*32)
then choose NumHeads = 64 and SectorsPerTrack = 32
as these are the values that Windows chooses for SSD/4k sector type devices
This is supposed to avoid conflicts with DFSee which also assumes these geometry values
for SSD/4k sector type devices
4) fixed and simplified treatment of driver internal "REQUEST_SENSE" requests
5) fixed a problem where on a "READ_CAPACITY" command during device attach
the stick would answer with error "NOT READY TO READY TRANSITION - MEDIA CHANGED"
and would deliver no valid capacity data and garbage data on a subsequent READ10 request
preventing the computation of a valid geometry.
Now, under these circumstances, the "READ_CAPACITY" command will be repeated
until the stick no longer signals an error.
(thanks Hanno Sedlmayr)
6) removed a couple of unnecessary commands issued on device attach (introduced with 10.211)
in order to speed up the attach process.
Please be aware that now device attach can still take longer than before if devices take
a long time to become ready (see preceding point).
This could cause problems with the AN Removable Media Monitor widget running into a timeout and
reporting the device did not attach where in fact it will eventually attach.
In this case, just run "Refresh removable media" to refresh the removable media state.
The standard USB monitor daemon program (USBMSDD.EXE) does not exhibit this problem,
it will correctly report device attach the moment when the device becomes ready for use
7) reduce max value for /BUFFER: from 32768 to 20480 bytes (when USB 1.x devices are in use)
(thanks Doug Bisset)
8) for all REMOVABLES (not floppy, not CD-ROM): when "RediscoverPRM" is run, this will lead to a
request to USBMSD.ADD to read capacity. When that happens, chain in a command to read sector 0
so that we can recompute the geometry (we need BPB / MBR in addition to overall capacity
to come up with a geometry).
This is particularly critical for devices with removable media like card readers where the device
stays attached but the media changes.
Floppies and CD-ROMs are handled differently and never suffer from this problem.
(thanks Doug Bisset for his unintentional mentioning of this problem :-)