Connectrix Brocade: FOS upgrade fails with event code 'syntax error near unexpected token `=~'
Summary: FOS upgrade fails with event code "syntax error near unexpected token" and "$duplicates_exist =~ ERROR".
Symptoms
BrocadeSwitch:admin> firmwaredownload
Server Name or IP Address: 172.xxx.xxx.xxx
User Name: ftpuser
File Name: v9.1.1d1_G6_ENTRY
Network Protocol(1-auto-select, 2-FTP, 3-SCP, 4-SFTP) [1]: 2
Password:
Server IP: 172.xxx.xxx.xxx, Protocol IPv4
Checking system settings for firmwaredownload...
Do you accept and agree to the terms outlined in the End User License Agreement (EULA) for this product?
Please respond with (Y/y) to accept, (N/n) to Not accept, or (D/d) to Display the EULA):y
/tmp/fwdl-1139/preinst: line 3454: conditional binary operator expected
/tmp/fwdl-1139/preinst: line 3454: syntax error near unexpected token `=~'
/tmp/fwdl-1139/preinst: line 3454: ` if [[ $duplicates_exist =~ ERROR ]]then'
Please address the following before downloading the specified firmware:
Firmwaredownload failed.
BrocadeSwitch:admin>Cause
This issue occurs when a hop is skipped in the upgrade path while using the "firmwaredownload" command.
For instance, in this scenario, the FOS upgrade attempts to move from version 8.2.3c directly to version 9.1.1d1, bypassing the 9.0.x versions.
Resolution
To avoid this issue, follow these steps for a non-disruptive upgrade:
-
Upgrade from Fabric OS v8.2.x to Fabric OS 9.0.x.
-
Upgrade from Fabric OS 9.0.x to Fabric OS 9.1.x (ensure you have a valid Brocade TruFOS Certificate).
-
Upgrade from Fabric OS 9.1.x to Fabric OS 9.2.0.x.
-
Finally, upgrade from Fabric OS 9.2.0.x to Fabric OS 9.2.1
This sequence ensures a smooth and stable upgrade process.
Additional Information
The Fabric OS software does not support non-disruptive upgrades from any release more than one major release earlier than the one being installed.
For example, nondisruptive upgrades to Fabric OS v9.2.1 is only supported from Fabric OS v9.2.0x.
Upgrading from an earlier version of Fabric OS (for example, Fabric OS v9.1.x) can only be done disruptively.
A disruptive direct upgrade can be performed using the "firmwaredownload -s" command to move from Fabric OS v9.0.1x to v9.2.1 in single-CP mode.
Reference manual:
https://techdocs.broadcom.com/content/dam/broadcom/techdocs/us/en/pdf/fc-networking/software-upgrade/fos-92x-upg.pdf 
https://techdocs.broadcom.com/content/dam/broadcom/techdocs/us/en/pdf/fc-networking/software-upgrade/fos-91x-upg.pdf 
https://techdocs.broadcom.com/content/dam/broadcom/techdocs/us/en/pdf/fc-networking/software-upgrade/fos-90x-upg.pdf 