Upgrading firmware on Cisco Small Business SG300 Series Managed Switch

Because I’ll never remember how I did this

Prerequisite

As usual nothing is straight-forward ;)

TFTP Server

Luckily on MacOSX it’s built in :)

To enable it you will need to use the following command:

$ sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist

Note: the -F is because it is disabled by default.

Firewall

Since you’re running a server make sure your firewall isn’t blocking you!

Download

Next, download the appropriate files from Cisco’s download site

Note: I’ve found it all the port and power variations to be the same firmware. For example, sg300–10 is the same as sg300–28p. YMMV

Warning: Firmware Format Changes!

If your firmware version is < 1.3.7.18 (sh ver) then you need to upgrade to that first as there was a change in both the firmware and boot formats!

If you don’t you will see the following error in the web console:

entry already exists in the Copy History table...

And the following in the CLI or logs

%TFTP-A-TftpTxERROR: An error message was sent: 0 <Closed by application>

You have been warned.

Installation

Place the downloaded *.ros and *.rfb files in your TFTP download directory.

MacOSX (default)

/private/tftpboot/

Then shell onto the switch and copy the firmware over:

Note: While I love the new web interface on these switches I still do this CLI.

switch#copy tftp://A.B.C.D/sx300_fw-1413.ros image

Depending on the time of day go get a cup of coffee or pint of beer.

Should you need to upgrade the boot image use the following command:

switch#copy tftp://A.B.C.D/path_to_file/sx300_boot-13506.rfb boot

Finally, you will need to activate the new image and reboot the switch:

switch#sh bootv
Image Filename Version Date Status
----- --------- --------- --------------------- -----------
1 image-1 1.3.7.18 12-Jan-2014 18:02:59 Active*
2 image-2 1.4.1.3 29-Mar-2015 16:24:16 Not active
switch#boot system image-2
switch#reload

Cleanup

You’re running a server and your firewall is probably disabled…FIXIT!

TFTP Server

To shutdown on MacOSX use the following:

$ sudo launchctl unload /System/Library/LaunchDaemons/tftp.plist

Firewall

Close any ports opened in Prerequisites; above.

References

This blog post is just a combination of the following: