Update Schneider-APCUPS firmware with Linux
Table of contents
- Firmware update with Linux
- Enable FTP server
- Installing bootmon
- Installing aos
- Installing sumx
- After update
Firmware update with Linux
Schneider-APC ships with the firmware download an Update utility, however this utility is only running on Windows. In this blog post I’m showing how to update a Schneider-APCUPS with Linux. This process should also work on Windows or any other Operating System which provides a command line FTP client.
The Schneider-APC firmware has three files which should be installed in this order:
- bootmon
- aos
- sumx
Enable FTP server
Due to security reasons, FTP is disabled in my configuration (FTP is an insecure protocol which uses plain-text login). This means for the update procedure the internal FTP server must be enabled first.
Installing bootmon
To install the bootmon file just connect with a FTP client to the UPS and “put” the file on the UPS file system. Note: The network management card will reboot (not the UPS).
$ftp [IP_ADDR_OF_UPS]
Connected to [IP_ADDR_OF_UPS].
220 AP9630J Network Management Card AOS v6.5.0 FTP server ready.
Name ([IP_ADDR_OF_UPS]:[USER]): xXxXxXx
331 User name okay, need password.
Password: xXxXxXx
230 User logged in, proceed.
ftp> bin
200 TYPE Command okay.
ftp> hash
Hash mark printing on (1024 bytes/hash mark).
ftp> put apc_hw05_bootmon_109.bin
local: apc_hw05_bootmon_109.bin remote: apc_hw05_bootmon_109.bin
200 PORT Command okay.
150 File status okay; about to open data connection.
###...cut...###
226 Closing data connection.
262144 bytes sent in 5.91 secs (43.3445 kB/s)
ftp> bye
Installing aos
The second file is aos. Note: The network management card will reboot.
$ftp [IP_ADDR_OF_UPS]
Connected to [IP_ADDR_OF_UPS].
220 AP9630J Network Management Card AOS v6.5.0 FTP server ready.
Name ([IP_ADDR_OF_UPS]:[USER]): xXxXxXx
331 User name okay, need password.
Password: xXxXxXx
230 User logged in, proceed.
ftp> bin
200 TYPE Command okay.
ftp> hash
Hash mark printing on (1024 bytes/hash mark).
ftp> put apc_hw05_aos_704.bin
local: apc_hw05_aos_704.bin remote: apc_hw05_aos_704.bin
200 PORT Command okay.
150 File status okay; about to open data connection.
###...cut...###
226 Closing data connection.
3123200 bytes sent in 44.62 secs (68.3622 kB/s)
ftp> bye
Installing sumx
The third and last file is sumx. Note: The network management card will reboot.
$ftp [IP_ADDR_OF_UPS]
Connected to [IP_ADDR_OF_UPS].
220 AP9630J Network Management Card AOS v7.0.4 FTP server ready.
Name ([IP_ADDR_OF_UPS]:[USER]): xXxXxXx
331 User name okay, need password.
Password: xXxXxXx
230 User logged in, proceed.
ftp> bin
200 TYPE Command okay.
ftp> hash
Hash mark printing on (1024 bytes/hash mark).
ftp> put apc_hw05_sumx_704.bin
local: apc_hw05_sumx_704.bin remote: apc_hw05_sumx_704.bin
200 PORT Command okay.
150 File status okay; about to open data connection.
###...cut...###
226 Closing data connection.
3021860 bytes sent in 43.40 secs (67.9906 kB/s)
ftp>
After update
When the update with the three files is completed, the version should be verified under about/network. The versions should match the versions of the files uploaded.
In addition the FTP server can be disabled again to reduce the attack surface of the UPS. It’s sufficient to provide only HTTPS and SSH access.
For multiple UPS I’m pretty sure this procedure can be scripted.