Isilon Gen6: Gen6 power supply shows unreadable Product ID string, and firmware update attempts may cause a boot loop
Summary: Some Gen6 power supplies were shipped with corrupted data in their resume EEPROM. This may cause their product ID string to be unreadable, and firmware update attempts will fail; this failure may cause the node to enter a boot loop. ...
Symptoms
Gen6 power supply with corrupted data in their resume EEPROMs may show a corrupted/unreadable ID string. This string can be found in isi_hw_status:
PwrSupl: Slot1-PS0 (type=ARTESYN, fw=02.02)
The above example shows an unaffected power supply. On an affected power supply, the word ARTESYN may be replaced by illegible non-text characters or be absent altogether. Power supplies affected by this issue are unable to accept firmware updates; attempting to update their firmware may result in a boot loop.
Cause
Resolution
If the error occurs during a health check, please contact support. Support will determine if the error is a false-positive triggered by an older health check script or if a replacement power supply must be shipped. If the error occurs on a PowerScale Hybrid or Archive node (A300/A3000/H700/H7000), this is a false positive as the power supplies affected have not been shipped with these nodes.
Additional Information
To use the script to check the PSU on an unjoined node:
Step 1: Preparation
- Make sure the node's shell console is available. If the node is pre-join, hit CTRL-C at the configuration wizard, then hit Enter to use the shell.
- Download the script from the link above.
- Copy the script gen6_ps_check.py onto a USB drive; attach the drive to the node. Then mount the drive.
# mount_msdosfs /dev/da0p1 /mnt
Step 2: Run the script
# cd /mnt # python gen6_ps_check.py
- The script will print check result as pass or fail, like the example provided above.
Step 3: wrap-up
- Release the USB-drive and bring the node back to the wizard:
# cd / # unmount /mnt # reboot
Script options:
- To toggle multi-line, more verbose print:
# python gen6_ps_check.py -v
- To check both PSUs in a peer pair (one in local node, one in the peer node):
# python gen6_ps_check.py -a