I encountered an issue upgrading a brand new GS1200-5 from firmware V2.00(ABKM.1)C0 to V2.00(ABKM.2)C0 using Firefox on a Linux system. The upgrade button triggered a rapid flashing of the switch port, but failed after a 30-second timer expired. Cancelling the upgrade would reboot the switch, but the UI remained stuck in firmware upgrade mode.

Reset and power off/on did not change things.

In the end I looked at the page source and used curl to push the update:

curl -F 'firmware=<firmware.bin' --output curl.out 'http://192.168.1.3/httpupg.cgi?cmd=fw_upgrade'

I previously renamed the firmware file to firmware.bin (I don’t think this was necessary), and sending the output to curl.out made curl’s built-in output check happy.

This seemed to take longer than 30 seconds, so I suspect that the timeout in the web page code is too short.