$  Copyright(c) 2000 Sun Microsystems, Inc.
$  All rights reserved.

$ #ident  "@(#)qlctest.msg  1.5  00/04/12  SMI"


$ --------------------------------------------------
$ DEBUG:	0
$ --------------------------------------------------

$ --------------------------------------------------
$ VERBOSE:	1-1999
$ --------------------------------------------------

$ QLC_FW_REVISION
2 "Firmware revision is %s"

$ QLC_FOUND
3 "QLC device found at %s:devctl."

$ MAILBOX_START
4 "Starting Mailbox Loopback Test"

$ MAILBOX_LOOP_NUM
5 "Running mailbox loopback set number %d"

$ V_OPTIONS_LIST
6 "qlctest:  called with options: %s"

$ ASSIGN_DEVICE
7 "Testing %s device at %s."

$ MAILBOX_END
8 "Done running mailbox loopback test"

$ RUNNING_SELFTEST
9 "Running diag selftest"


$ RUNNING_INTERNAL_LPBK
10 "Running internal 1 bit loopback test"

$ RUNNING_EXTERNAL_LPBK
11 "Running external loopback test"

$ USAGE
12 Usage: \n\
 dev=<physical path>\t(no default)\n\
 run_connect=<Yes|No>\t(default=No)     (run test if connected to storage.)\n\
 checksum=<Enable|Disable> (default=Enable)\n\
 selftest=<Enable|Disable> (default=Enable\n\
 ilb_10=<Enable|Disable> (default=Enable) (internal 10 bit loopback)\n\
 ilb=<Enable|Disable>\t(default=Enable) (internal 1 bit loopback)\n\
 elb=<Enable|Disable>\t(default=Disable)(external loopback)\n\
 iterations=<number>\t(default=10) (Iteration count)\n\
 xcnt=<0xnumber>\t(default=10000) (transfer size)\n\
 userpattern=<0xhex number>\t(default=0x7e7e7e7e)(pattern)\n\
 selectpattern=<user,critical,all>\t(default=critical) (Run patterns)\n\
 \nWARNING: Don't run qlctest while other tests are running.\n\n\
 NOTE: Must use \" \" around options.\n\
 ie: qlctest -o \"dev=/devices/pci@8,2000/pci@2/SUNW,qlc@4/fp@0,0:devctl|run_connect=No\"\n


 



$ RUNNING_CHECKSUM
13 "Running CHECKSUM check"

$ RUNNING_INTERNAL_LPBK_10
14 "Running internal 10 bit loopback test"

$ QLC_FCODE_REVISION
16 "FCODE revision is %s"


$QLC_PG_REVISION
17 "Program Version is %s"

$ QLC_BOARD_REVISION	
18 "QLC Adapter Chip Revision = %d, Risc Revision = %d, \n \
Frame Buffer Revision = %d, Riscrom Revision = %d,\n \
Driver Revision = %s "

$ CLOSE_ERR
19 "close error"

$ QLC_LBF_PATTERN
20 "Performing Loop Back Frame Test. Pattern: 0x%.8x"


$ RUNNING_ECHO
21 "Running ECHO command test with pattern 0x%x"

QLC_SUBSYSTEM_ID
22 "QLC Subsystem ID = 0x%x"
$ --------------------------------------------------
$ INFO:		2000 - 3999
$ --------------------------------------------------

$CONN_MSG
2000 "Successfully opened and closed QLC"



$ --------------------------------------------------
$ WARNING:	4000 - 5999
$ --------------------------------------------------

$ --------------------------------------------------
$ ERROR/FATAL:	6000 - 7999
$ --------------------------------------------------

$ LOOPBACK_MISCOMPARE
6000 "Loopback data miscompare. \
Data received from qlc: 0x%x,\
Data passed into qlc:   0x%x. \
Array index: %d"

$ BAD_ARGS
6001 "Error parsing command line options.  Check command line and re-enter. \n \
Usage: \n\
 dev=<physical path>\t(no default)\n\
 run_connect=<Yes|No>\t(default=No)     (run test if connected to storage.)\n\
 checksum=<Enable|Disable> (default=Enable)\n\
 selftest=<Enable|Disable> (default=Enable\n\
 ilb_10=<Enable|Disable> (default=Enable) (internal 10 bit loopback)\n\
 ilb=<Enable|Disable>\t(default=Enable) (internal 1 bit loopback)\n\
 elb=<Enable|Disable>\t(default=Disable)(external loopback)\n\
 iterations=<number>\t(default=10) (Iteration count)\n\
 xcnt=<0xnumber>\t(default=10000) (transfer size)\n\
 userpattern=<0xhex number>\t(default=0x7e7e7e7e)(pattern)\n\
 selectpattern=<user,critical,all>\t(default=critical) (Run patterns)\n\
 \nWARNING: Don't run qlctest while other tests are running.\n\n\
 Must use \" \" around options. \n\
 ie: qlctest -o \"dev=/devices/pci@8,2000/pci@2/SUNW,qlc@4/fp@0,0:devctl|run_connect=No\"\n





$ SYSTEM_CHANGED
6002 "Can not associate physical device with %s." \
Probable_Cause(s): <Hardware changed since VTS probe> \
<Wrong cmnd line arguments> <system software> \
Recommended_Action(s): <Stop all testing and re-probe> \
<Check and re-enter command line> \
<if the problem persists, contact authorized Sun service provider>



$ BOARD_REV_FAILED
6003 "IOCTL call to board rev failed, sys errno = %d, fcio_errno = 0x%x" \
Probable_Cause(s): <Bad HBA> \
Recommended_Action(s): <Replace HBA> 


$ FW_REV_FAILED
6004 "IOCTL call for firmware rev failed, sys errno = %d, fcio_errno = 0x%x" \
Probable_Cause(s): <Bad HBA> \
Recommended_Action(s): <Replace HBA> 



$ ER_BAD_OPTIONS
6005 "Bad option passed to test: %s"\
Probable_Cause(s):<Invalid options passed to test>\
Recommended_Action(s):<check options>\
<Ensure -o option is last option>

$ DEV_OUT_OF_RANGE
6006 "No device detected for qlc%d."

$ NO_ASSOCIATION
6007 "Cannot associate a QLC device with %s."

$ NO_DEVICES_FOUND
6008 "No QLC devices detected on this system."

$ LOOPBACK_FAILED
6009 "Loopback test failed. System errno = %d = %s, FCIO errno = %d " \
Probable_Cause(s): <Bad HBA> \
Recommended_Action(s): <Replace HBA> 


$ TEN_LOOPBACK_FAILED
6010 "TEN bit loopback test failed.\n System errno = %d = %s, FCIO errno = %d, loop number = %d" \
Probable_Cause(s): <Bad HBA> \
Recommended_Action(s): <Replace HBA> 


$ ONE_LOOPBACK_FAILED
6011 "ONE bit loopback test failed.\n System errno = %d = %s, FCIO errno = %d loop number = %d" \
Probable_Cause(s): <Bad HBA> \
Recommended_Action(s): <Replace HBA> 


$ EXTERNAL_LOOPBACK_FAILED
6012 "EXTERNAL loopback test failed.\n System errno = %d = %s, FCIO errno = %d loop number = %d" \
Probable_Cause(s): <Bad card><bad cable><bad device on loop><connected to a F switch port> \
Recommended_Action(s): <Check cabling. If not using a loopback cable, use a loopback cable>\
<Replace card> \
<If connected to a F switch port, insert a loopback cable>\
<if the problem persists, contact authorized Sun service provider>


$ FCODE_REV_FAILED
6013 "IOCTL call for fcode revision failed, sys errno = %d, fcio_errno = 0x%x" \
Probable_Cause(s): <Bad HBA> \
Recommended_Action(s): <Replace HBA> 



$ ONE_LOOPBACK_MISCOMPARE
6014 "One Bit loopback data miscompare. \
Data received from qlc: 0x%x,\
Data passed into qlc:   0x%x. \
Array index: %d" \
Probable_Cause(s): <Bad HBA> \
Recommended_Action(s): <Replace HBA> 


$ TEN_LOOPBACK_MISCOMPARE
6015 "Ten Bit loopback data miscompare. \
Data received from qlc: 0x%x,\
Data passed into qlc:   0x%x. \
Array index: %d" \
Probable_Cause(s): <Bad HBA> \
Recommended_Action(s): <Replace HBA> 


$ EXTERN_LOOPBACK_MISCOMPARE
6016 "External loopback data miscompare. \
Data received from qlc: 0x%x,\
Data passed into qlc:   0x%x. \
Array index: %d" \
Probable_Cause(s): <bad Cable><Bad HBA> \
Recommended_Action(s): <Replace Cable><Replace HBA> 

$ QLCTEST_BAD_PATTERN
6017  "ERROR: Invalid pattern: %s, pattern must be in the form of 0xhex_num"


$ QLC_CREATE_BUFF_FAILED
6018 "ERROR: create echo buffer failed"

$ QLC_FP_ECHO_FAILED
6019 "ERROR: ECHO command failed: 0x%x"

$ QLC_COMPARE_ECHOS_FAILED
6020 "ERROR: Compare ECHO command failed: 0x%x"

$ QLC_ISSUE_ECHOS_FAILED
6021 "ERROR: Issue ECHO command failed: Return code = 0x%x, FCIO errno = %d"

$ QLC_BUILD_ECHOS_FAILED
6022 "ERROR: Build ECHO command failed: 0x%x"

$ QLC_FSTAT_ECHOS_FAILED
6023 "ERROR: fstat ECHO command failed."

$ QLC_ISSUE_IOCTL_ECHOS_FAILED
6024 "ERROR: Issue ECHO ioctl command failed. Return code = %d, FCIO errno = %d"

$ QLC_BCMP_COMPARE_ECHOS_FAILED
6025 "ERROR: Compare buffers failed:\nsent: %s,\nreceived: %s"

$ QLC_FCIO_ECHO_ERROR
6026 "ERROR: FCIO command failed: %d"\
Probable_Cause(s): <qlc driver problem>\
Recommended_Action(s): <Check for downlevel patches>


$ QLC_FCIO_ECHO_NOT_SUPPORTED_ERROR
6027 "ERROR: FCIO command failed: %d\n"\
Probable_Cause(s): <ECHO command not supported>\
<Broken HBA/loop>\
Recommended_Action(s): <Insert a loopback plug and rerun test>\
<Replace HBA if test failed with loopback plug inserted> 

$ QLC_DEV_MAP_FAILED
6028 "ERROR: Didn't detect loop as being online and user selected external loopback option.\
\nReturn code from checking path %s was %d\n"\
Probable_Cause(s): \
<Invalid options>\
<No external connection>\
<Broken HBA>\
Recommended_Action(s):<Check options><Insert a loopback plug and rerun test>\
<Replace HBA if test failed with loopback plug inserted>\
<Run linktest> 

$ CRYSTAL_PLUS_NO_DEVICES
6029 "Didn't detect storage being attached to this port and the user selected the external loopback option.\
\nThis type of port goes into automatic loopback mode when no storage is attached so the only way to test \n\
this port is to attach storage.\
Probable_Cause(s): \
<No storage attached>\
<Broken HBA>\
<Broken link>\
Recommended_Action(s):<Attach storage>\
<Replace HBA>\
<Replace link components>


$ --------------------------------------------------
$ FATAL:	8000 - 9998
$ --------------------------------------------------
 
$ INVALID_FD
8000 "Invalid file descripter %d passed in." \
Probable_Cause(s): <system software> \
Recommended_Action(s): \
<if the problem persists, contact authorized Sun service provider>

$ MBOX_IOCTL_FAIL
8001 "IOCTL call failed: %s. FCIO errno = %d, index number = %d, ioctl_return = %d " \
Probable_Cause(s): <wrong/missing QLC driver> <system software> <bad HBA>\
Recommended_Action(s): <Reload correct revision driver> \
<if the problem persists, contact authorized Sun service provider> \
<Replace HBA>


$ FW_CHECKSUM_FAILED
8002 "IOCTL call for Firmware Checksum failed, sys errno = %d, FCIO errno = 0x%x" \
Probable_Cause(s): <Bad HBA> \
Recommended_Action(s): <Replace HBA> 



$ BAD_DEVICE_NAME
8003 "Bad device name passed to test: %s \n \
Usage: \n\
 dev=<physical path>\t(no default)\n\
 run_connect=<Yes|No>\t(default=No)     (run test if connected to storage.)\n\
 checksum=<Enable|Disable> (default=Enable)\n\
 selftest=<Enable|Disable> (default=Enable\n\
 ilb_10=<Enable|Disable> (default=Enable) (internal 10 bit loopback)\n\
 ilb=<Enable|Disable>\t(default=Enable) (internal 1 bit loopback)\n\
 elb=<Enable|Disable>\t(default=Disable)(external loopback)\n\
 iterations=<number>\t(default=10) (Iteration count)\n\
 xcnt=<0xnumber>\t(default=10000) (transfer size)\n\
 userpattern=<0xhex number>\t(default=0x7e7e7e7e)(pattern)\n\
 selectpattern=<user,critical,all>\t(default=critical) (Run patterns)\n\
 \nWARNING: Don't run qlctest while other tests are running.\n\n\
 Must use \" \" around options. \n\
 ie: qlctest -o \"dev=/devices/pci@8,2000/pci@2/SUNW,qlc@4/fp@0,0:devctl|run_connect=No\"\n


$ QLC_OPEN_FAILED
8004 "Open of QLC device %s failed; %s" \
Probable_Cause(s): <system software> \
Recommended_Action(s): <Contact your system admin for assistance> \
<if the problem persists, contact authorized Sun service provider>

$ NO_INSTANCE_FILE
8005 "Open of /etc/path_to_inst file Failed; %s." \
Probable_Cause(s): <system software> \
Recommended_Action(s): <Contact your system admin for assistance> \
<if the problem persists, contact authorized Sun service provider>

$ SELFTEST_IOCTL_FAIL
8006 "IOCTL call failed: %s. Errno = %d, FCIO errno = 0x%x" \
Probable_Cause(s): <wrong/missing QLC driver> <system software> \
Recommended_Action(s): <Reload correct revision driver> \
<if the problem persists, contact authorized Sun service provider>


$ SELFTEST_DIAG_FAIL
8007 "QLC Selftest returned with an ERROR: FCIO errno = 0x%x, system errno = %d " \
Probable_Cause(s): <Bad HBA> \
Recommended_Action(s): <Replace HBA> 


$ DI_INIT_FAIL
8008 "The call to di_init failed."

$ BAD_LBF_ICNT
8009 "To large of an iteration count passed in: %s. Maximum value is 9999" \
Probable_Cause(s): <Wrong entry on command line> \
Recommended_Action(s): <Check and retype command line>
 
$ NUM_DEVICES_OPEN_FAILED
8010 "Couldn't open device when trying to find the number of devices attached\n%s. FCIO errno = 0x%x, gl_status = 0x%x" \
Probable_Cause(s): <wrong/missing QLC driver> <system software> \
Recommended_Action(s): <Reload correct revision driver> \
<if the problem persists, contact authorized Sun service provider>

$ CONNECTED_STORAGE      
8011 "Storage is attached to this port. This test shouldn't be run while other tests are run.\n  If you want to run this test, set the "Test if Connected to Storage" option to Yes.\n  Number of devices attached = %d"
Probable_Cause(s): <Connected to storage> \
Recommended_Action(s): <disconnect the QLC port from storage or set the run while connected flage> 

$ QLC_OPEN_FAILED_CONN
8012 "Connect Open of QLC device %s failed; %s" \
Probable_Cause(s): <Invalid device path> <system software>\
Recommended_Action(s): <Check device path> <Contact your system admin for assistance> \
<if the problem persists, contact authorized Sun service provider>

$ CONNECT_IOCTL_FAIL
8013 "CONNECT IOCTL call failed: %s. FCIO errno = %d, ioctl_return = %d " \
Probable_Cause(s): <wrong/missing QLC driver> <system software> \
Recommended_Action(s): <Reload correct revision driver> \
<if the problem persists, contact authorized Sun service provider>



$BAD_TRANSFER_CNT
8014 "To large of a transfer count passed in: %s. Maximum value is 0x10000" \
Probable_Cause(s): <Wrong entry on command line> \
Recommended_Action(s): <Check and retype command line>
 
$ MBOX_NOT_SUPPORTED
8015 "The mailbox test is no longer supported." \
Probable_Cause(s): <Wrong entry on command line> \
Recommended_Action(s): <Check and retype command line, remove the mbox argument.>


$ Probe

$ ER_OPENFAILED

10002	"ERROR: Failed to open device."
10003	"ERROR: Controller not testable due to devices present on loop or incorrect driver installed"
10004   "ERROR: Devices detected on loop.  Remove devices and reselect"
10005   "ERROR: Unknown error encountered.  Check for installation of correct driver"
10006   "ERROR: Loopback Frame Test cannot be run. Reason:Loop not online"
10007   "ERROR: Invalid dev passed in: %d"
$ ER_CONNECTED
10008   "ERROR: This QLC port is connected to storage." 

$ ER_DESELECTED_RUN_FLAG
10009 "ERROR: %s: Changing - Test if Connected - while attached to storage. Deselect test from main menu first. "
        
$ ER_CONNECT_STATUS
10010 "ERROR: %s:Couldn't retrieve connection status. Don't try to change options while running qlctest."

$ WARN_CLOSE_ERROR
10011 "ERROR: Close failed."

$ER_DEVS_SELECTED
10012 "ERROR: Cannot run qlctest while other tests are selected."

$ERR_INVALID_PAT
10013 "ERROR: Invalid pattern. Pattern must in form of 0xhex_number."

$ ERR_INVALID_RUN_ALL
10014 "ERROR: Invalid argument for run all."

