-
-
Notifications
You must be signed in to change notification settings - Fork 82
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
OpenVMS/VAX Compatibility #1117
Comments
Adding those parameters to the read-write error recovery mode page did fix my problems booting an image I have of OpenVMS 6.2 on my VAXstation. I've been wanting to see what was on this image for a while. I didn't add byte 0 (page code) because I forgot about it, only bytes 1 and 2, and it still worked. Here's the changes I made: nsafran1217@0c53148 Also, this question is for someone more knowledgeable about SCSI: Is this lying about PiSCSI's capabilities to the host machine? And if it is, should PiSCSI be lying? |
Thanks for testing that. As I say, my C++ skills aren't great so I was wanting one of the gurus to code this in the accepted style. The VMS situation is interesting - there are no errors being generated. The drivers (pre 7.1) are just checking for those 3 bits being set, and throw a mount verification if they aren't! For 7.1 or greater those bits are ignored. The developers must have run into later hard drives that didn't set those bits as was required, and had to modify the driver to suit. Cheers, |
Any issues with other systems should be addressed when they pop up. As long as a fix for them does not contradict the SCSI specs it is unlikely to cause (new) issues. What appears to be a peculiarity of a particular system can be something completely normal from a specification perspective. When you look at the old rascsi code from 2 years ago you will find quite a lot of of work-arounds/special cases which effectively prevented using rascsi with many platforms/configurations instead of improving compatibility. The approach in the original rascsi sources appeared to be: Just add some kind of work-around without reading the specs and without analyzing the problem and finding the core issue. This approach does not resolve problems but causes them. I will have a closer look at the change suggested in this ticket in the next couple of days. |
There is a fix_issue_1117 branch now, which is supposed to contain the required changes:
There is no need to set the page code (0x01) and length (0x0a) in this method because PiSCSI automatically sets these values for all pages. The only effective change compared to before is setting TB, PER and DTE (0x26). I don't expect any compatibility issues with other platforms. Regarding lying about capabitilies: We were already lying before. Now we are just telling a slightly different lie ;-). @Pacjunk @nsafran1217 Can you please test this branch? |
Working great for me. I can boot OpenVMS 6.2 on a VAXstationn, 7.3 still boots correctly, and my Sun IPX still boots SunOS correctly. |
@uweseimet Yep, works fine for me too. Booted 5.5-2H4, 7.2 and 7.3. All work correctly. Thanks for that. |
@Pacjunk @nsafran1217 Thank you for testing. I am going to create a PR. |
Thanks for this work! I just fetched two VAXstations (a 4000/90 and a 4000/96) from storage to do some NetBSD testing. My goal here is a fully automated installation on real hardware, starting with a fresh NetBSD src checkout. |
The VAXstation (4000/90) is cleaned and wired up. I'm a first-time PiSCSI user, so I may have things wrong, but I tried to simulate a SCSI HDD and a RRD42 CD-ROM drive. Fresh, empty HDD image and a NetBSD installation ISO for the CD drive:
However, booting off the CD-ROM doesn't work:
While I see some debug output for
...no further output is generated for the
|
@akuker As far as I can tell this is yet another ticket where a potential issue with the BananaPi code is logged:
|
It works. Notice that the CD-ROM ist listed as |
Info
Describe the issue
I have discovered an issue with older versions of OpenVMS/VAX on versions 7.0 and earlier where the OS loses connection to the disk and waits forever (aka mount verification). I have tested on my fork of Bluescsi and also PiSCSI and both emulators show the fault. The simh emulator, however, works fine. So after some trial and error with my bluescsi fork, I have found that some extra flags are required in the modesense "read-write error recovery" page.
Code snippet from simh:
I have tested the various flags and all three flags must be set or it won't work.
I have tracked this down in PiSCSI to the Disk::AddErrorPage function in disk.cpp
Now as my C++ skills are rather poor and I don't really understand the arrays and vectors used in this section of code, I was hoping that someone would be able to make the change of just adding the 0x26 flags to the beginning of the code page.
Of course this will change will need to be tested on Macs and maybe other machines that I don't have. I have tested on the VAXstation with my fork of bluescsi and it works fine. I suspect a lot of machines will ignore these flags (as does VMS 7.1 or later).
Thanks,
The text was updated successfully, but these errors were encountered: