Quirk for this?
Eric Anderson
anderson at freebsd.org
Fri Feb 23 19:14:38 UTC 2007
On 02/23/07 11:08, Warner Losh wrote:
>> M. Warner Losh wrote:
>>> I have a umass device that lies about the size of the device:
>>>
>>> umass0: <SanDisk Corporation ImageMate CompactFlash USB, class 0/0, rev 1.10/0.09, addr 2> on uhub1
>>> da0 at umass-sim0 bus 0 target 0 lun 0
>>> da0: <SanDisk ImageMate II 1.30> Removable Direct Access SCSI-2 device
>>> da0: 1.000MB/s transfers
>>> da0: 61MB (125441 512 byte sectors: 64H 32S/T 61C)
>>>
>>> However, when I plug it in with other umass devices, this is what I
>>> see:
>>>
>>> umass0: <SanDisk ImageMate 14 in 1 Reader/Writer, class 0/0, rev 2.00/93.39, addr 2> on uhub2
>>> da0 at umass-sim0 bus 0 target 0 lun 0
>>> da0: <Generic STORAGE DEVICE 9339> Removable Direct Access SCSI-0 device
>>> da0: 40.000MB/s transfers
>>> da0: 61MB (125440 512 byte sectors: 64H 32S/T 61C)
>>>
>>> The 125440 number is what is reported by ata as well.
>>>
>>> Is there some way I can quirk this to not get a huge cascade of errors
>>> when the last sector is read by the tasting code? I didn't see any
>>> way when I was reading the code, but the quirks are scatter in a few
>>> different files and I might have missed something.
>>>
>>> Warner
>> I don't understand, it changes its inquiry and size data depending on
>> how many other devices are plugged into the bus with it? That's highly
>> bizarre. No, there is no size coercion quirk. We could add one, but we
>> need to decide on what an appropriate coercion is, and how to trigger
>> it. Size coerecion is highly, highly hard to get right.
>
> OK. Maybe I was unclear in my first post.
>
> One of the SanDisk devices that I have, the first one listed, reports
> the size wrong. It is one too big. This is the USB/CF adapter
> whatsit. No matter which CF card I plug into it, it is reported one
> too large. This is a bug in the USB/CF adapter. This is shown first
> in the list above.
>
> The other USB/CF adapter, as well as my PC Card/CF adapter, reports
> the correct size for the card (which is shown second).
>
> The question is: Given that I know that the first USB/CF adapter
> always reports one too big, is there a way this can be fixed?
Just curious, but is it possible one is reporting the sectors on cf +
starting sector, where it makes the starting sector 1 instead of 0?
I've seen some warnings about this with regards to compact flash (when
searching for other issues relating to a Soekris box).
Could one just do a read on the last sector of a umass device and look
for an error, and if so, reduce the size (maybe only if the size is
reported as an odd number)?
Eric
More information about the freebsd-scsi
mailing list