USB floppy drive no longer works under 2.6.15-rc6
A message that is not in the archive (sent off-list or not yet received): [email protected]
[Moved to linux-scsi]
Quoted 9 lines · Matthew Dharm
A long time ago, I noticed a quirk of the UFI specification in regards to one of the options for how to indicate a LUN isn't there. Something about a special PDT, I think, in the INQUIRY respose. I don't recall the details, but I do recall thinking something along the lines of "that's odd.. and it's going to confuse the SCSI core."
If I can find some time to search for that oddity of spec, then modify the UFI protocol handler to translate that oddity into a result code the SCSI core can understand, you can close the #2 case.
I see what you mean. The UFI spec requires a device to return 0x1f in the first byte of the INQUIRY response if no device is present at the LUN. That's Peripheral Qualifier = 0 and PDT = 0x1f (unknown or no device). Now SCSI-2 requires the value to be 0x7f to indicate no device, but UFI also requires the returned SCSI level to be 0, and I don't know what SCSI-0 says about reporting no device at a LUN.
Does anybody among the SCSI developers have the answer? Should scsi_probe_and_add_lun() check for (result[0] & 0x1f) == 0x1f whenever (result[2] & 0x07) == 0?
If not, perhaps usb-storage should alter the returned value and max_lun for a UFI device whenever we see 0x1f.
Alan Stern
Quoted 14 lines · Alan Stern
[Moved to linux-scsi]
Quoted 9 lines · Matthew Dharm
A long time ago, I noticed a quirk of the UFI specification in regards to one of the options for how to indicate a LUN isn't there. Something about a special PDT, I think, in the INQUIRY respose. I don't recall the details, but I do recall thinking something along the lines of "that's odd.. and it's going to confuse the SCSI core."
If I can find some time to search for that oddity of spec, then modify the UFI protocol handler to translate that oddity into a result code the SCSI core can understand, you can close the #2 case.
Quoted 6 lines
I see what you mean. The UFI spec requires a device to return
0x1fin the first byte of the INQUIRY response if no device is present at the LUN. That's Peripheral Qualifier = 0 and PDT =0x1f(unknown or no device). Now SCSI-2 requires the value to be0x7fto indicate no device, but UFI also requires the returned SCSI level to be 0, and I don't know what SCSI-0 says about reporting no device at a LUN.
SCSI-0 doesn't exist. SCSI level 0 means "not really SCSI".
Quoted 6 lines
Does anybody among the SCSI developers have the answer? Should
scsi_probe_and_add_lun()check for (result[0] &0x1f) ==0x1fwhenever (result[2] &0x07) == 0?If not, perhaps usb-storage should alter the returned value and
max_lunfor a UFI device whenever we see0x1f.
That was my intention. I've just never gotten around to doing it and testing it.
Matt
Signature · 6 lines
Matthew Dharm Home: [email protected] Maintainer, Linux USB Mass Storage Driver Ye gods! I have feet??! -- Dust Puppy User Friendly, 12/4/1997