Patch-ID# 100204-01 Keywords: 4.0.3 scsi Synopsis: SunOS 4.0.3c: SCSI hardware bug fix Date: SunOS release: 4.0.3c Unbundled Product: Unbundled Release: Topic: BugId's fixed with this patch: Architectures for which this patch is available: Patches which may conflict with this patch: Obsoleted by: Problem Description: This SCSI patch is needed when using one of the following cpu boards in a Sun-4/20 or 4/40 running SunOS 4.0.3C. 501-1680-03 and greater 0MB Sun-4/20 CPU Board 501-1748-03 and greater 0MB Sun-4/20 CPU Board 501-1689-08 and greater 8MB Sun-4/40 CPU Board 501-1835-02 and greater 8MB Sun-4/40 CPU Board NOTE: The original SunOS 4.0.3c media distribution does NOT include this SCSI patch. Do not use Tape 1, P/N 700-2212-10 Rev A, when installing or restoring SunOS 4.0.3c on systems with the above CPU board part numbers. Request the SunOS 4.0.3c SCSI patch kit, P/N 795-1657-01, from the Answer Center. INSTALL: ------------------------------------------------------------------------------ NOTE: If your Desktop SPARC machine is running as a diskless/dataless client, do not follow the procedure below without first consulting the section "FOR DISKLESS CLIENTS" at the end of this procedure. CAUTION: The software patch is for SunOS 4.0.3c ONLY. Do not perform this procedure if your system is running any other release of SunOS. Instead, replace the system's CPU board. 1. Shutdown your system. 2. Do an L1-A. 3. Restart the system in the kadb editor. (Substitute the correct logical unit number for your system's boot device in place of "X" in the line below.) Type: b sd(0,X,0)kadb -d When you see the "kadb:" prompt, continue by pressing the carriage return. Many messages scroll across the screen as the system begins to start up. When the kadb editor is ready, it displays the "kadb>" prompt. 4. Double check your machine's operating system software release by typing: kadb> esp_phasemanage+7c?ia If your machine is running SunOS 4.0.3c, you should see the following output: esp_phasemanage+7c: call _eprintf esp_phasemanage+80 If you do not see "call _eprintf" in the output, then STOP HERE. Your system is not running SunOS 4.0.3c. To stop, type the abort sequence (L1-a). Otherwise, continue with the next step. 5. Patch memory. Type the following line: esp_phasemanage+7c?W 1000000 The system will respond: _esp_phasemanage+0x7c: 0x40000b92 0x1000000 6. Continue starting up the system. Type: :c 7. Log on as root. 8. Save the original vmunix file. Type: cp /vmunix /vmunix.org 9. Start the adb editor. Type the following: adb -w /vmunix When the adb editor starts, you will not see any prompt. 10. Patch the vmunix file. Type: esp_phasemanage+7c?W 1000000 11. Exit the adb editor and save the vmunix file by typing Control-D. 12. Copy the esp.o file before editing it. Type: cd /usr/sys/sun4c/OBJ cp esp.o esp.o.org NOTE: If the system responds with a "/: filesystem full" message, you will need to make space in the root filesystem by either deleting unwanted and unused files (e.g. core dumps) or move such files onto another partition until sufficient space is available for this backup copy. Note: If the system responds "file not found", it means your system does not have the esp.o file. Skip to step 16 and restart the system. 13. Start the adb editor. Type the following: adb -w esp.o 14. Patch the esp.o file. Type: esp_phasemanage+7c?W 1000000 15. Exit the adb editor and save the esp.o file by typing Control-D. 16. Restart the system. Type: sync reboot The workstation should start up normally. Note: After you complete the patch procedure, it is advisable to fully back up your machine's filesystems to ensure that the changes are saved. ================================================================================== If you encounter any problems in restarting your system, you may have mistyped a command. To correct this, do the following: ================================================================================= Error Recovery only: 1. Restart the system in the kadb editor. (Substitute the correct logical unit number for your system's boot device in place of "X" in the line below.) Type: b sd(0,X,)kadb -d When you see the "kadb>" prompt, type: vmunix.orig 2. Patch memory. Type the following line: esp_phasemanage+7c?W 1000000 The system will respond: _esp_phasemanage+0x7c: 0x40000b92 0x1000000 3. Continue starting up the system. Type: :c 4. At the login prompt, log on as root. 5. Restore the original system files. Type the following: cp /vmunix.org /vmunix cd /usr/sys/sun4c/OBJ cp esp.o.org esp.o Don't worry if the system displays a "file not found" error message. 6. Start the adb editor by typing the following: adb -w /vmunix When the adb editor starts, you will not see any prompt. 7. Patch the vmunix file. Type: esp_phasemanage+7c?W 1000000 8. Exit the adb editor and save the vmunix file by typing Control-D. If your system does not have an esp.o file, skip to step 12 and restart the system. 9. If your system has an esp.o file, edit it with the adb editor. Type the following: adb -w esp.o 10. Patch the esp.o file. Type: esp_phasemanage+7c?W 1000000 11. Exit the adb editor and save the esp.o file by typing Control-D. 12. Restart the system. Type: sync reboot The workstation should start up normally. FOR DISKLESS/DATALESS CLIENTS: If you are using your Desktop SPARC machine as a diskless/dataless client, you must follow a slightly different patch procedure than the one described in the previous sections. Execute the following steps on the boot server of the diskless/dataless client machine. 1. Log in as root to the boot server. 2. Type the following commands, replacing the variable with the actual name of the client machine. cd /export/root/ cp vmunix vmunix.org adb -w vmunix NOTE: If the boot server's filesystem is set up according to defaults, the root directories for diskless clients will be located in /export/root/ as shown above. If the filesystem is arranged differently, use the appropriate root directory instead. NOTE: If the system responds with a "/: filesystem full" message, you will need to make space in the root filesystem by either deleting unwanted and unused files (e.g. core dumps) or move such files onto another partition until sufficient space is available for this backup copy. 3. Patch the vmunix file. Type: esp_phasemanage+7c?W 1000000 4. Exit the adb editor, and save the vmunix file by typing Control-D. NOTE: If the boot server also serves other diskless clients, you may repeat steps 2-4 above, or just copy the newly-edited vmunix file to the other root directories. 5. Save your original /export/exec/kvm/sun4c/boot/vmunix file. Type the following on one line: cd /export/exec/kvm/sun4c/boot cp vmunix vmunix.org 6. Start the adb editor. Type: adb -w vmunix 7. Patch the /export/exec/kvm/sun4c/boot/vmunix file using the adb editor. Type: esp_phasemanage_+7c?W 1000000 8. Exit the adb editor, and save the /export/exec/kvm/sun4c/boot/vmunix file by typing Control-D. 9. Copy the esp.o file before editing it. Type: cd /usr/sys/sun4c/OBJ cp esp.o esp.o.org NOTE: If the system responds " file not found", it means your system does not have the esp.o file. Skip to step 13 - you're done. 10. Start the adb editor. Type the following: adb -w esp.o 11. Patch the esp.o file. Type: esp_phasemanage+7c?W 1000000 12. Exit the adb editor and save the esp.o file by typing Control-D. NOTE: Unlike the vmunix file, which must be patched separately for each client, the esp.o file only needs to be patched once to accommodate all the clients of the boot server. 13. Done. The Desktop SPARC client should start up normally.