-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BlueSCSI V2 returns wrong SCSI error codes for a non-existing LUN #112
Comments
The SCSI2SD command code that we use has no support for LUNs at all, though this would be easy enough to add in. Does this have any practical effect on any current systems? |
I thought LUNs were supported because they were also supported in BlueSCSI v1? I don't know all current systems, but this issue interferes with correctly checking which devices are actually available. Otherwise I would not have stumbled upon it with the Atari ;-). |
So when you were checking with the Atari - what was the behavior you saw? (besides the wrong response) Yes... I understand that LUN support is not needed to implement this. |
The problem is that depending on how the ID/LUN check to find existing devices is done it draws wrong conclusions of which LUN (device) is present or not. |
Regarding LUN support, this was available in BlueSCSI v1, wasn't it? See erichelgeson/BlueSCSI#191. |
For MegaSTE there is the setting |
Sounds good, because this means that the information on my website is still correct. |
Would this behavior match your expectations of the spec? If there are any other could you please share a REQUEST SENSE with valid lun
REQUEST SENSE with invalid lun
TEST UNIT READY with invalid lun (just showing the CHECK CONDITION is working)
|
Thank you for addressing this. My expectation is that BlueSCSI works just like the SCSI specification says, in order to prevent potential problems ;-). I did not run my original test with s2pexec but with a tool on the Atari. This is why I can't run exactly the same test for verification, because that would require using an updated BlueSCSI firmware with the Atari.
s2p reports the same as the CD-ROM. What I noticed is that BlueSCSI sets the Valid field, whereas the CD-ROM and s2p do not. Is this intended? I have to consider also doing this in s2p. I would have expected the CD-ROM to also set it. |
Yes, my question was more - does your interpretation match my interpretation. Specs are long and full of info. Such the valid field:
Not intended - seems like it's been this way since the beginning of scsi2sd. Seems to make sense to adjust here for direct-access devices - some other devices require different Information in the field. Side note - a full set of |
On first sight it may be fine to set the Valid field, but maybe one should be (overly?) careful and not set it. Regarding s2pexec, what do you mean with "full set of commands"? You can (at least I hope so) send any command. |
I agree - I'll only set it for direct-access device responses.
eg: An integration test suite - that is all. |
Regarding s2pexec I am considering adding an interactive mode (also see uweseimet/scsi2pi#49), like I did it for s2pctl. This helps with using scripts for sending commands. But checking the results would probably not be very convenient, because these are either strings or files. The latter for any data returned in a DATA IN phase. |
Tested with the current firmware: When a SCSI driver sends REQUEST SENSE for LUN 7 to a BlueSCSI device configured with ID 0 and LUN 0 (i.e. no LUN specified in the image filename) BlueSCSI returns Sense Key $00, ASC $00.
The SCSI-2 specification says this shall be Sense Key $05, ASC $25:
The text was updated successfully, but these errors were encountered: