What are those AIX fcstat error numbers all about?When troubleshooting Fibre Channel adapter issues on AIX (or VIOS), I often use the fcstat command to assist me in the process. The command may display error numbers similar to the following:
$ fcstat fcs0
Error opening device: /dev/fscsi0 errno: 00000045
The error number (errno) displayed can (in some cases) be
used to identify the root cause of a problem. In the example above, the
error number is 45. This number is in hex. If we convert this to decimal, the number is 69. Now, if we look for 69 in the /usr
# fcstat fcs0 Error opening device: /dev/fscsi0 errno: 00000045
# echo "ibase=16; 45"|bc 69
# grep 69 /usr #define ENETDOWN 69 /* Network is down */
The AIX error report (errpt or errlog on VIOS) also tells me that there's some type of link error. This helps me focus my investigation toward the most likely problem area. In this case, I suspect either a physical link or cable problem between my FC adapter and the SAN switch.
IDENTIFIER TIMESTAMP T C RESOURCE_NAME DESCRIPTION 7BFEEA1F 1116121816 T H fcs0 LINK ERROR
# errpt -aN fcs0 | grep -p Desc ... Description LINK ERROR
We can use the same process for other errors displayed by the fcstat command. For example:
# fcstat fcs0 Error opening device: /dev/fscsi0 errno: 00000046
# echo "ibase=16; 46"|bc 70
# grep 70 /usr #define ENETUNREACH 70 /* Network is unreachable */
This particular error may direct us to the solution outlined in the following tech note:
Fibre channel workspace takes over 2 minutes to load but returns no data http
fcstat Command (AIX 6.1) http
fcstat Command (AIX 7.1) http
fcstat Command (AIX 7.2) http
|
just do this for the conversion, much easier.
printf "%d\n" 0x045
69