Notes: MSA1000 Flash Utility for Linux Requirements: X Windows installed 800x600 resolution Atleast one HBA installed HBA driver installed per Vendor HBA install procedures SCSI generic interface enabled in kernel and Rubah API support in the driver if Emulex HBA is being used Run "msainst" Instructions: 1. Unzip (tar -xf msaflash.tar) 2. run msainst by typing "./msainst" to copy library files to /usr/lib and binary file to /usr/bin 3. type msaflash in any console window to run program; Revision History // 1.0 - jbg initial Release 6.17.2002 // 1.1 - jbg, added support for obtaining EMU Rev and Fibre Channel Address // 1.3 - jbg, added support for C8 flashing and configuration 7/30/2002 // 1.4 - jbg, fixed handling of legacy C8 devices to display WWNN Not Available message correctly 8/22/2002 // Removed fclose(NULL) function call. // 1.5 - jbg, added listing for all SCSI generic devices // - jbg, added fix for ATMEL controller flashing (perform flash op twice on each controller) // - jbg, added EMU check for phase I revisions < 1.84, prompt user about possible ATMEL issue // - jbg, added more user prompts before flashing // - jbg, added progress bars during flashing ops // 1.6 - jbg, changed wording on one user prompt to avoid confusion // 1.7 - jbg, more user prompts changes // - jbg, fixed EMU check procedure in FlashME proc // - jbg, fixed EMU flash progress bar // 1.8 - jbg, fixed problem in DuplicateZoox procedure which prevented all G06 switches to be identified // 1.9 - jbg, changed About Dialog to remove author's name // - jbg, disabled edit feature in entry windows // - jbg, found error FindDuplicate proc, changed if->if->elseif to if->elseif->elseif. // 2.0 - jbg, Added Rubah section to handle the Emulex/Linux combination // 2.1 - jbg, Added ResetApp() call to main menu Exit selection, and some automated Debug statements // 2.2 - jbg, Simplified FindDuplicate and RubahDuplicateMSA procedures // - jbg, Added Emulex Rubah support via manual loads of their shared library // - jbg, Modified FlashMe and RubahFlashMe procedures to automatically flash standbye controller too // - jbg, Added Retry's to all SG commands used to identify MSA's and Switch's // - jbg, Changed pFCP_CMD->FcpCntl[3] from 0x01 to 0x00 for all Rubah No Data Transfer commands // - jbg, Changed CFLAGS = -g -O2 -Wall in MakeFile to CFLAGS = -O2 -Wall, removing debugging option // 2.3 - jbg, Reinitialize *data_buf_len to original value if error condition occurs. // // 2.4 - jbg, Added Check in RubahFindMSA procedure if Emulex Rubah is being used. Specifically, we check for // FC4-Type = 0x08 (SCSI) and skip all other devices. // // 2.5 - jbg, Made fundamental change to DuplicateMSA procedures to correct device filter errors // 2.6 - jbg, Added support for online flashing. Disable reset button if online flash has occured. // 2.7 - jbg, Tweaked TOFU implementation by adding BOOL to device data structure to track (on a per controller // basis) online flashing operations. If the controller has been online flashed, the user will not // be able to perfrom remote reset on that controller. // 2.8 - jbg, Fixed max config issue and now dynamically create all pertinent arrays. Changed online flashing CDB. // 2.9 - JBG, Added Flash ALL capability to flash all controllers at one time // 3.0 - jbg, Removed static linking to Qlogic library and started using shared library instead. Added MSA LCD // rename functionality // 3.1 - jbg, Made changes to msa.h // 3.2 - jbg, Removed Error message in RubahFindMSA if I can't send successful INQUIRY to Rubah SCSI target (Emulex and Qlogic HBA's are logging // in as SCSI targets which they should not be doing. // 3.3 - jbg, New Emulex shared lib fixes issue in 3.2 release. Reversing changes made in 3.2 release. // 3.4 - jbg, Fixed problem in RubahDuplicateMSA procedure (10/23/2003)