Configuring Brocade ICX-Series Ethernet Switches: Difference between revisions
Line 577: | Line 577: | ||
Once it comes back up, your switch will be as-new. | Once it comes back up, your switch will be as-new. | ||
= Update the firmware = | |||
{{warning|1=Be sure to have your switches on UPSes before flashing them! As with all devices, a power loss during the flash process may cause the switch to become unusable.}} | |||
== Selecting the Firmware Version == | |||
{{todo|1=This is an old firmware example, update with newer versions.}} | |||
Before we start, we need to decide what version of the firmware we want to install. To do this, start by logging in to your switch(es) and check their current firmware version. | |||
<syntaxhighlight lang="text"> | |||
ICX6610-48 Switch#show flash | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="text"> | |||
Stack unit 1: | |||
Compressed Pri Code size = 5370497, Version:07.3.00fT7f1 (/foundry/FGS/os/FCXS07300f.bin) | |||
Compressed Sec Code size = 6905002, Version:07.3.00fT7f3 (/foundry/FGS/os/FCXR07300f.bin) | |||
Compressed Boot-Monitor Image size = 370555, Version:07.3.02T7f5 | |||
Code Flash Free Space = 52822016 | |||
Stack unit 2: | |||
Compressed Pri Code size = 5370497, Version 07.3.00fT7f1 (/foundry/FGS/os/FCXS07300f.bin) | |||
Compressed Sec Code size = 6905002, Version 07.3.00fT7f3 (/foundry/FGS/os/FCXR07300f.bin) | |||
Compressed Boot-Monitor Image size = 370555, Version 07.3.02T7f5 | |||
Code Flash Free Space = 52822016 | |||
</syntaxhighlight> | |||
Note that both switches are running the major version <span class="code">07.3.00f</span>. Being that we're interested in High Availability, we are going to be conservative and upgrade to the latest subversion available. Both switches are 7.3, so that is what we will use. If one had been 7.4, for example, then we would have upgraded both to the latest 7.4 version. | |||
== Layer 2 vs Layer 3 == | |||
These switches have two firmwares; | |||
* Layer 2 (<span class="code">S</span>); This is seen in the above output in the current version's flash file "<span class="code">/foundry/FGS/os/FCX'''S'''07300f.bin</span>". | |||
* Layer 3 (<span class="code">R</span>); This is seen in the above output in the current version's flash file "<span class="code">/foundry/FGS/os/FCX'''R'''07300f.bin</span>". | |||
We're only going to update the layer 2 "<span class="code">S</span>" firmware. We don't use the layer 3 features for HA so we won't update them. If you want to updated them, that is fine. The upgrade process below is easily ported to the layer 3 firmware update process. | |||
== Downloading the Firmware == | |||
To get the firmware: | |||
* Create or log into your [http://my.brocade.com My Brocade] account. | |||
* Click on '<span class="code">Downloads</span>'. | |||
* In the <span class="code">Download by</span> select box, select <span class="code">Ethernet Switches</span>. | |||
* Scroll down and click to expand the arrow to the left of "<span class="code">ICX6610</span>" (or your switch model). | |||
* Click to expand the version of firmware you want to use. For this tutorial, we're going to be conservative and stay in the same "7.3" release, so we will expand <span class="code">07300</span>. | |||
* Click to expand the most recent subversion for your selected firmware major number. In my case, that is "<span class="code">07300j</span>". | |||
* This takes you to a note about export restrictions. Ensure you meet the criteria and then click to acknowledge compliance, the click on "<span class="code">Submit</span>". | |||
* You will see the EULA. Read it, understand it and then agree to it by clicking on "<span class="code">I Accept</span>". | |||
* Save the file on your computer. | |||
== Extracting the Image == | |||
Navigate to the downloaded file. It will be a <span class="code">.zip</span> file. Expand it. This will create several directories. | |||
To upload the firmware, we need to copy the image to the root of our [[Setting_Up_a_PXE_Server_on_an_RPM-based_OS#tftp|TFTP]] server (<span class="code">/var/lib/tftpboot/</span> on [[EL6]]). | |||
Browse into the extracted <span class="code">07300j/ICX/Images/</span> directory (or the matching directory for your firmware). You will see two file: | |||
<syntaxhighlight lang="bash"> | |||
cd 07300j/ICX/Images/ | |||
ls -lah | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="text"> | |||
total 12M | |||
drwxr-xr-x 2 root root 4.0K May 8 2014 . | |||
drwxr-xr-x 8 root root 4.0K May 9 2014 .. | |||
-rwxr-xr-x 1 root root 6.7M May 8 2014 FCXR07300j.bin | |||
-rwxr-xr-x 1 root root 5.2M May 8 2014 FCXS07300j.bin | |||
</syntaxhighlight> | |||
As discussed above, we will be upgrading the layer 2 "<span class="code">S</span>" image. So this is the file we will copy to the TFTP root directory. | |||
<syntaxhighlight lang="bash"> | |||
cp FCXS07300j.bin /var/lib/tftpboot/ | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="text"> | |||
ls -lah /var/lib/tftpboot/FCXS07300j.bin | |||
</syntaxhighlight> | |||
== Performing the Flash == | |||
{{note|1=We will be flashing both switches at once as they are stacked.}} | |||
We're ready to flash! So it's time to log into the switch. | |||
<syntaxhighlight lang="text"> | |||
ICX6610-48 Switch#copy tftp flash 10.20.255.254 FCXS07300j.bin primary | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="text"> | |||
Flash Memory Write (8192 bytes per dot) | |||
Automatic copy to member units: 2 | |||
....<lots of dots>.... | |||
TFTP to Flash Done. | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="text"> | |||
ICX6610-48 Switch#show flash | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="text"> | |||
Stack unit 1: | |||
Compressed Pri Code size = 5430491, Version:07.3.00jT7f1 (FCXS07300j.bin) | |||
Compressed Sec Code size = 6905002, Version:07.3.00fT7f3 (/foundry/FGS/os/FCXR07300f.bin) | |||
Compressed Boot-Monitor Image size = 370555, Version:07.3.02T7f5 | |||
Code Flash Free Space = 52690944 | |||
Stack unit 2: | |||
Compressed Pri Code size = 5430491, Version 07.3.00jT7f1 (FCXS07300j.bin) | |||
Compressed Sec Code size = 6905002, Version 07.3.00fT7f3 (/foundry/FGS/os/FCXR07300f.bin) | |||
Compressed Boot-Monitor Image size = 370555, Version 07.3.02T7f5 | |||
Code Flash Free Space = 52690944 | |||
</syntaxhighlight> | |||
Reboot to load the new firmware. | |||
<syntaxhighlight lang="text"> | |||
ICX6610-48 Switch#write memory | |||
ICX6610-48 Switch#reload | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="text"> | |||
Are you sure? (enter 'y' or 'n'): y | |||
</syntaxhighlight> | |||
{{note|1=It takes a while to reboot because it will update the firmware of the second node. Please be patient.}} | |||
<syntaxhighlight lang="text"> | |||
ICX6610-48 Switch#show flash | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="text"> | |||
Stack unit 1: | |||
Compressed Pri Code size = 5430491, Version:07.3.00jT7f1 (FCXS07300j.bin) | |||
Compressed Sec Code size = 6905002, Version:07.3.00fT7f3 (/foundry/FGS/os/FCXR07300f.bin) | |||
Compressed Boot-Monitor Image size = 370555, Version:07.3.02T7f5 | |||
Code Flash Free Space = 52690944 | |||
Stack unit 2: | |||
Compressed Pri Code size = 5430491, Version 07.3.00jT7f1 (FCXS07300j.bin) | |||
Compressed Sec Code size = 6905002, Version 07.3.00fT7f3 (/foundry/FGS/os/FCXR07300f.bin) | |||
Compressed Boot-Monitor Image size = 370555, Version 07.3.02T7f5 | |||
Code Flash Free Space = 52690944 | |||
</syntaxhighlight> | |||
Done! | |||
{{footer}} | {{footer}} |
Revision as of 01:50, 23 November 2016
Alteeve Wiki :: How To :: Configuring Brocade ICX-Series Ethernet Switches |
![]() |
Purpose of This Tutorial
The Brocade-brand ICX-series switches, with a focus on the ICX6450 and ICX6610 switches, are great ethernet switches for use in an Anvil! system.
This mini-tutorial covers how to set them up to provide a stacked, hitless failover configuration with appropriate VLANs to isolate and protect the three networks.
Serial Access

By default, the APC AP7900 does not have an IP address assigned.
The easiest way to configure an IP address is to log into the PDU over a serial port. Most servers still come with a built-in 9-pin serial port, but most desktops and laptops do not. If you don't have one, many vendors sell USB to serial adapters. The one we've used quite successfully is the Antaira UTS-1110A, but almost any adapter you can find at your local computer store will work.
![]() |
Note: The m2 Anvil! installs screen on both nodes and Striker dashboards. |
We're going to use a program called screen to talk to the PDU over the serial port.
To do this, you need to know what device the PDU's serial cable is plugged into. Some common ones:
Type | Device path |
---|---|
Serial port 1 | /dev/ttyS0 |
Serial port 2 | /dev/ttyS1 |
USB-Connected port 1 | /dev/ttyUSB0 |
USB-Connected port 2 | /dev/ttyUSB1 |
... and so on.
In my case, I'm using the port on a USB to Serial adapter, so I will use '/dev/ttyUSB0'.
Knowing this, we're ready to go!
Open a terminal window and run:
screen /dev/ttyUSB0
![]() |
Note: When you are done, to exit screen, press '<ctrl>' + 'a', release, then press 'k'. You will be prompted to kill the session, type 'y'. |
Port Assignment
![]() |
Note: You could use a 48-port switch to host five Anvil! pairs, but it is NOT recommended. An important part of Intelligent Availability is to distribute risk. Multiple two-pair foundation packs serves that purpose best. |
We will cover the port assignments for two scenarios;
- . Both ICX6540 and ICX6610 switches with 24x 1 Gbps ports configured for two Anvil! pairs.
- . Using the 10 Gbps ports on the ICX6610 to support one Anvil! node pair operating at 10 Gbps.
ICX6450-24 (Applies to all 24-port switches)
In this example, we're showing how to cable up a pair of ICX6450-24 switches in a very typical configuration. It can drive two Anvil! systems along with the usual foundation pack.

an-switch01 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Stack | Back-Channel Network]] | Storage Network | Internet-Facing Network | ||||||||||||
X1 (1/2/1) | X3 (1/2/3) | 1 (1/1/1) | 3 (1/1/3) | 5 (1/1/5) | 7 (1/1/7) | 9 (1/1/9) | 11 (1/1/11) | 13 (1/1/13) | 15 (1/1/15) | 17 (1/1/17) | 19 (1/1/19) | 21 (1/1/21) | 23 (1/1/23) | ||
To an-switch02 X3 |
To an-switch02 X1 |
an-a01n01 BCN - Link 1 |
an-a01n01 IPMI / Fencing |
an-a02n01 BCN - Link 1 |
an-a02n01 IPMI / Fencing |
an-striker01 BCN - Link 2 |
an-a01n01 SN - Link 1 |
an-a02n01 SN - Link 1 |
an-a01n01 IFN - Link 1 |
an-a02n01 IFN - Link 1 |
an-striker01 IFN - Link 1 |
-- | -- | ||
-- | -- | an-a01n02 BCN - Link 1 |
an-a01n02 IPMI / Fencing |
an-a02n02 BCN - Link 1 |
an-a02n02 BCN - Link 1 |
-- | an-a01n02 SN - Link 1 |
an-a02n02 SN - Link 1 |
an-a01n02 IFN - Link 1 |
an-a02n02 IFN - Link 1 |
-- | -- | Uplink 1 | ||
X2 (1/2/2) | X4 (1/2/4) | 2 (1/1/2) | 4 (1/1/4) | 6 (1/1/6) | 8 (1/1/8) | 10 (1/1/10) | 12 (1/1/12) | 14 (1/1/14) | 16 (1/1/16) | 18 (1/1/18) | 20 (1/1/20) | 22 (1/1/22) | 24 (1/1/24) | ||
Unused | VID 100 | VID 200 | VID 300 | ||||||||||||
an-switch02 | |||||||||||||||
Stack | Back-Channel Network]] | Storage Network | Internet-Facing Network | ||||||||||||
X1 (2/2/1) | X3 (2/2/3) | 1 (2/1/1) | 3 (2/1/3) | 5 (2/1/5) | 7 (2/1/7) | 9 (2/1/9) | 11 (2/1/11) | 13 (2/1/13) | 15 (2/1/15) | 17 (2/1/17) | 19 (2/1/19) | 21 (2/1/21) | 23 (2/1/23) | ||
To an-switch01 X3 |
To an-switch01 X1 |
an-a01n01 BCN - Link 2 |
an-pdu01 | an-a02n01 BCN - Link 2 |
an-ups01 | an-striker02 BCN - Link 1 |
an-a01n01 SN - Link 2 |
an-a02n01 SN - Link 2 |
an-a01n01 IFN - Link 2 |
an-a02n01 IFN - Link 2 |
an-striker01 IFN - Link 2 |
-- | -- | ||
-- | -- | an-a01n02 BCN - Link 2 |
an-pdu02 | an-a02n02 BCN - Link 2 |
an-ups02 | -- | an-a01n02 SN - Link 2 |
an-a02n02 SN - Link 2 |
an-a01n02 IFN - Link 2 |
an-a02n02 IFN - Link 2 |
-- | -- | Uplink 2 | ||
X2 (2/2/2) | X4 (2/2/4) | 2 (2/1/2) | 4 (2/1/4) | 6 (2/1/6) | 8 (2/1/8) | 10 (2/1/10) | 12 (2/1/12) | 14 (2/1/14) | 16 (2/1/16) | 18 (2/1/18) | 20 (2/1/20) | 22 (2/1/22) | 24 (2/1/24) | ||
Unused | VID 100 | VID 200 | VID 300 |
ICX6610-24 (8x 10 Gbps, 24x 1 Gbps)
In this example, we're showing how to cable up a pair of ICX6610-48 switches in a rather unusual configuration. It is driving three Anvil! pairs. However, only the first is running at 10 Gbps while the second and third pair are running at 1 Gbps.

an-switch01 | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Stack | BCN | SN | IFN | BCN | SN | IFN | Back-Channel Network | Storage Network | Internet-Facing Network | |||||||||||||||||
XL1 (1/3/1) | XL2-5 (1/3/2~5) | 1 (1/1/1) | 3 (1/1/3) | 5 (1/1/5) | 7 (1/1/7) | 9 (1/1/9) | 11 (1/1/11) | 13 (1/1/13) | 15 (1/1/15) | 17 (1/1/17) | 19 (1/1/19) | 21 (1/1/21) | 23 (1/1/23) | |||||||||||||
To an-switch02 XL6 |
To an-switch02 XL7~10 |
an-a01n01 IPMI |
an-a02n01 BCN - Link 1 |
an-a02n01 IPMI |
an-a03n01 BCN - Link 1 |
an-a03n01 IPMI |
an-striker01 BCN - Link 1 |
an-a02n01 SN - Link 1 |
an-a03n01 SN - Link 1 |
an-a02n01 IFN - Link 1 |
an-a03n01 IFN - Link 1 |
an-striker01 IFN - Link 1 |
-- | |||||||||||||
XL6 (1/3/6) | XL7~10 (1/3/7~10) | X1 (1/2/1) | X2 (1/2/2) | X3 (1/2/3) | X4 (1/2/4) | X5 (1/2/5) | X6 (1/2/6) | X7 (1/2/7) | X8 (1/2/8) | 2 (1/1/2) | 4 (1/1/4) | 6 (1/1/6) | 8 (1/1/8) | 10 (1/1/10) | 12 (1/1/12) | 14 (1/1/14) | 16 (1/1/16) | 18 (1/1/18) | 20 (1/1/20) | 22 (1/1/22) | 24 (1/1/24) | |||||
To an-switch02 XL1 |
To an-switch02 XL2~5 |
an-a01n01 BCN - Link 1 |
an-a01n01 SN - Link 1 |
an-a01n01 IFN - Link 1 |
-- | an-a01n02 BCN - Link 1 |
an-a01n02 SN - Link 1 |
an-a01n02 IFN - Link 1 |
-- | an-a01n02 IPMI |
an-a02n02 BCN - Link 1 |
an-a02n02 IPMI |
an-a03n01 BCN - Link 1 |
an-a03n02 IPMI |
an-striker01 BCN - Link 1 |
an-a02n02 SN - Link 1 |
an-a03n02 SN - Link 1 |
an-a02n02 IFN - Link 1 |
an-a03n02 IFN - Link 1 |
an-striker02 IFN - Link 1 |
Uplink 1 | |||||
Stack | VID 100 | VID 200 | VID 300 | VID 100 | VID 200 | VID 300 | VID 100 | VID 200 | VID 300 | |||||||||||||||||
an-switch02 | ||||||||||||||||||||||||||
Stack | BCN | SN | IFN | BCN | SN | IFN | Back-Channel Network | Storage Network | Internet-Facing Network | |||||||||||||||||
XL1 (2/3/1) | XL2-5 (2/3/2~5) | 1 (2/1/1) | 3 (2/1/3) | 5 (2/1/5) | 7 (2/1/7) | 9 (2/1/9) | 11 (2/1/11) | 13 (2/1/13) | 15 (2/1/15) | 17 (2/1/17) | 19 (2/1/19) | 21 (2/1/21) | 23 (2/1/23) | |||||||||||||
To an-switch01 XL6 |
To an-switch01 XL7~10 |
an-pdu01 | an-a02n01 BCN - Link 2 |
an-ups01 | an-a03n01 BCN - Link 2 |
Maintenance | an-striker01 BCN - Link 2 |
an-a02n01 SN - Link 2 |
an-a03n01 SN - Link 2 |
an-a02n01 IFN - Link 2 |
an-a03n01 IFN - Link 2 |
an-striker01 IFN - Link 2 |
Maintenance | |||||||||||||
XL6 (2/3/6) | XL7~10 (2/3/7~10) | X1 (2/2/1) | X2 (2/2/2) | X3 (2/2/3) | X4 (2/2/4) | X5 (2/2/5) | X6 (2/2/6) | X7 (2/2/7) | X8 (2/2/8) | 2 (2/1/2) | 4 (2/1/4) | 6 (2/1/6) | 8 (2/1/8) | 10 (2/1/10) | 12 (2/1/12) | 14 (2/1/14) | 16 (2/1/16) | 18 (2/1/18) | 20 (2/1/20) | 22 (2/1/22) | 24 (2/1/24) | |||||
To an-switch01 XL1 |
To an-switch01 XL2~5 |
an-a01n01 BCN - Link 2 |
an-a01n01 SN - Link 2 |
an-a01n01 IFN - Link 2 |
-- | an-a01n02 BCN - Link 2 |
an-a01n02 SN - Link 2 |
an-a01n02 IFN - Link 2 |
-- | an-pdu02 | an-a02n02 BCN - Link 2 |
an-ups02 | an-a03n01 BCN - Link 2 |
-- | an-striker01 BCN - Link 2 |
an-a02n02 SN - Link 2 |
an-a03n02 SN - Link 2 |
an-a02n02 IFN - Link 2 |
an-a03n02 IFN - Link 2 |
an-striker02 IFN - Link 2 |
Uplink 1 | |||||
Stack | VID 100 | VID 200 | VID 300 | VID 100 | VID 200 | VID 300 | VID 100 | VID 200 | VID 300 | |||||||||||||||||
Understanding Brocade Logical Port Numbers
Brocade uses the follow scheme for naming their ports:
- stack ID/module/port
The Stack ID is simply the integer representing the ID number shown when you run 'show stack'.
The module number is static across all switches. They are:
- 1: Standard RJ-45 1 Gbps copper ports.
- 2: Ports used for stacking. Typically these are only used for stacking.
- 3: The SFP+ fiber or copper ports that normally run at 1 Gbps but can be licensed to run at 10 Gbps.
The port number is the simple integer representing the port. This is the number found above or below the physical port on the switch.
You see these x/y/z numbers in the table above, and they will be the method used below to identify ports and port ranges.
Here is an example of how ports are represented:
ICX6610-24 Switch(config)#show interfaces brief
Port Link State Dupl Speed Trunk Tag Pvid Pri MAC Name
1/1/1 Down None None None None No 1 0 cc4e.24b9.4b74
1/1/2 Down None None None None No 1 0 cc4e.24b9.4b75
1/1/3 Down None None None None No 1 0 cc4e.24b9.4b76
1/1/4 Down None None None None No 1 0 cc4e.24b9.4b77
1/1/5 Down None None None None No 1 0 cc4e.24b9.4b78
1/1/6 Down None None None None No 1 0 cc4e.24b9.4b79
1/1/7 Down None None None None No 1 0 cc4e.24b9.4b7a
1/1/8 Down None None None None No 1 0 cc4e.24b9.4b7b
1/1/9 Down None None None None No 1 0 cc4e.24b9.4b7c
1/1/10 Down None None None None No 1 0 cc4e.24b9.4b7d
1/1/11 Down None None None None No 1 0 cc4e.24b9.4b7e
1/1/12 Down None None None None No 1 0 cc4e.24b9.4b7f
1/1/13 Down None None None None No 1 0 cc4e.24b9.4b80
1/1/14 Down None None None None No 1 0 cc4e.24b9.4b81
1/1/15 Down None None None None No 1 0 cc4e.24b9.4b82
1/1/16 Down None None None None No 1 0 cc4e.24b9.4b83
1/1/17 Down None None None None No 1 0 cc4e.24b9.4b84
1/1/18 Down None None None None No 1 0 cc4e.24b9.4b85
1/1/19 Down None None None None No 1 0 cc4e.24b9.4b86
1/1/20 Down None None None None No 1 0 cc4e.24b9.4b87
1/1/21 Down None None None None No 1 0 cc4e.24b9.4b88
1/1/22 Down None None None None No 1 0 cc4e.24b9.4b89
1/1/23 Down None None None None No 1 0 cc4e.24b9.4b8a
1/1/24 Down None None None None No 1 0 cc4e.24b9.4b8b
1/2/1 Up Forward Full 40G None No N/A 0 cc4e.24b9.4ba5
1/2/2 Up Forward Full 10G None No N/A 0 cc4e.24b9.4ba6
1/2/6 Up Forward Full 40G None No N/A 0 cc4e.24b9.4ba7
1/2/7 Up Forward Full 10G None No N/A 0 cc4e.24b9.4ba8
1/3/1 Down None None None None No 1 0 cc4e.24b9.4ba9
1/3/2 Up Forward Full 10G None No 1 0 cc4e.24b9.4baa
1/3/3 Down None None None None No 1 0 cc4e.24b9.4bab
1/3/4 Down None None None None No 1 0 cc4e.24b9.4bac
1/3/5 Down None None None None No 1 0 cc4e.24b9.4bad
1/3/6 Up Forward Full 10G None No 1 0 cc4e.24b9.4bae
1/3/7 Down None None None None No 1 0 cc4e.24b9.4baf
1/3/8 Down None None None None No 1 0 cc4e.24b9.4bb0
mgmt1 Down None None None None No None 0 cc4e.24b9.4b74
Connecting
![]() |
Note: The prompt will reflect the specific switch's model number. In the examples below, we will be working on an ICX6610. |
Using the serial port, connect to the switch.
ICX6610-24 Switch>
Resetting To Factory Defaults
![]() |
Warning: This will erase any loaded licenses. If you have loaded licenses, be sure you have them backed up before proceeding! |
This tutorial assumes the switches are starting with a fresh configuration. To assist with that, lets start with the process of resetting the switches to their factory defaults.
ICX6610-24 Switch> erase startup-config
Erase startup-config Done.
dhcp server lease database is also removed
![]() |
Note: Do not write memory! This will reload the running configuration back onto the system. |
Now reboot.
ICX6610-24 Switch> reload
Are you sure? (enter 'y' or 'n'):
Sent SIGKILL to all processes
Requesting system reboot
Restarting syste
Once it comes back up, your switch will be as-new.
Update the firmware
![]() |
Warning: Be sure to have your switches on UPSes before flashing them! As with all devices, a power loss during the flash process may cause the switch to become unusable. |
Selecting the Firmware Version
![]() |
TODO: This is an old firmware example, update with newer versions. |
Before we start, we need to decide what version of the firmware we want to install. To do this, start by logging in to your switch(es) and check their current firmware version.
ICX6610-48 Switch#show flash
Stack unit 1:
Compressed Pri Code size = 5370497, Version:07.3.00fT7f1 (/foundry/FGS/os/FCXS07300f.bin)
Compressed Sec Code size = 6905002, Version:07.3.00fT7f3 (/foundry/FGS/os/FCXR07300f.bin)
Compressed Boot-Monitor Image size = 370555, Version:07.3.02T7f5
Code Flash Free Space = 52822016
Stack unit 2:
Compressed Pri Code size = 5370497, Version 07.3.00fT7f1 (/foundry/FGS/os/FCXS07300f.bin)
Compressed Sec Code size = 6905002, Version 07.3.00fT7f3 (/foundry/FGS/os/FCXR07300f.bin)
Compressed Boot-Monitor Image size = 370555, Version 07.3.02T7f5
Code Flash Free Space = 52822016
Note that both switches are running the major version 07.3.00f. Being that we're interested in High Availability, we are going to be conservative and upgrade to the latest subversion available. Both switches are 7.3, so that is what we will use. If one had been 7.4, for example, then we would have upgraded both to the latest 7.4 version.
Layer 2 vs Layer 3
These switches have two firmwares;
- Layer 2 (S); This is seen in the above output in the current version's flash file "/foundry/FGS/os/FCXS07300f.bin".
- Layer 3 (R); This is seen in the above output in the current version's flash file "/foundry/FGS/os/FCXR07300f.bin".
We're only going to update the layer 2 "S" firmware. We don't use the layer 3 features for HA so we won't update them. If you want to updated them, that is fine. The upgrade process below is easily ported to the layer 3 firmware update process.
Downloading the Firmware
To get the firmware:
- Create or log into your My Brocade account.
- Click on 'Downloads'.
- In the Download by select box, select Ethernet Switches.
- Scroll down and click to expand the arrow to the left of "ICX6610" (or your switch model).
- Click to expand the version of firmware you want to use. For this tutorial, we're going to be conservative and stay in the same "7.3" release, so we will expand 07300.
- Click to expand the most recent subversion for your selected firmware major number. In my case, that is "07300j".
- This takes you to a note about export restrictions. Ensure you meet the criteria and then click to acknowledge compliance, the click on "Submit".
- You will see the EULA. Read it, understand it and then agree to it by clicking on "I Accept".
- Save the file on your computer.
Extracting the Image
Navigate to the downloaded file. It will be a .zip file. Expand it. This will create several directories.
To upload the firmware, we need to copy the image to the root of our TFTP server (/var/lib/tftpboot/ on EL6).
Browse into the extracted 07300j/ICX/Images/ directory (or the matching directory for your firmware). You will see two file:
cd 07300j/ICX/Images/
ls -lah
total 12M
drwxr-xr-x 2 root root 4.0K May 8 2014 .
drwxr-xr-x 8 root root 4.0K May 9 2014 ..
-rwxr-xr-x 1 root root 6.7M May 8 2014 FCXR07300j.bin
-rwxr-xr-x 1 root root 5.2M May 8 2014 FCXS07300j.bin
As discussed above, we will be upgrading the layer 2 "S" image. So this is the file we will copy to the TFTP root directory.
cp FCXS07300j.bin /var/lib/tftpboot/
ls -lah /var/lib/tftpboot/FCXS07300j.bin
Performing the Flash
![]() |
Note: We will be flashing both switches at once as they are stacked. |
We're ready to flash! So it's time to log into the switch.
ICX6610-48 Switch#copy tftp flash 10.20.255.254 FCXS07300j.bin primary
Flash Memory Write (8192 bytes per dot)
Automatic copy to member units: 2
....<lots of dots>....
TFTP to Flash Done.
ICX6610-48 Switch#show flash
Stack unit 1:
Compressed Pri Code size = 5430491, Version:07.3.00jT7f1 (FCXS07300j.bin)
Compressed Sec Code size = 6905002, Version:07.3.00fT7f3 (/foundry/FGS/os/FCXR07300f.bin)
Compressed Boot-Monitor Image size = 370555, Version:07.3.02T7f5
Code Flash Free Space = 52690944
Stack unit 2:
Compressed Pri Code size = 5430491, Version 07.3.00jT7f1 (FCXS07300j.bin)
Compressed Sec Code size = 6905002, Version 07.3.00fT7f3 (/foundry/FGS/os/FCXR07300f.bin)
Compressed Boot-Monitor Image size = 370555, Version 07.3.02T7f5
Code Flash Free Space = 52690944
Reboot to load the new firmware.
ICX6610-48 Switch#write memory
ICX6610-48 Switch#reload
Are you sure? (enter 'y' or 'n'): y
![]() |
Note: It takes a while to reboot because it will update the firmware of the second node. Please be patient. |
ICX6610-48 Switch#show flash
Stack unit 1:
Compressed Pri Code size = 5430491, Version:07.3.00jT7f1 (FCXS07300j.bin)
Compressed Sec Code size = 6905002, Version:07.3.00fT7f3 (/foundry/FGS/os/FCXR07300f.bin)
Compressed Boot-Monitor Image size = 370555, Version:07.3.02T7f5
Code Flash Free Space = 52690944
Stack unit 2:
Compressed Pri Code size = 5430491, Version 07.3.00jT7f1 (FCXS07300j.bin)
Compressed Sec Code size = 6905002, Version 07.3.00fT7f3 (/foundry/FGS/os/FCXR07300f.bin)
Compressed Boot-Monitor Image size = 370555, Version 07.3.02T7f5
Code Flash Free Space = 52690944
Done!
Any questions, feedback, advice, complaints or meanderings are welcome. | |||
Alteeve's Niche! | Alteeve Enterprise Support | Community Support | |
© 2025 Alteeve. Intelligent Availability® is a registered trademark of Alteeve's Niche! Inc. 1997-2025 | |||
legal stuff: All info is provided "As-Is". Do not use anything here unless you are willing and able to take responsibility for your own actions. |