Update the firmware Update the cellular firmware
Digi XBee® 3 Cellular LTE Cat 1 AT&T Smart Modem User Guide
95
Determine the location of the firmware version
You must first determine the location of the firmware version to which you want to update. Digi
provides updates by hosting them on an FTP server: ftp1.digi.com. If the FTP location is not
accessible to your XBee Cellular, such as if you are using a VPN, the files may be retrieved and hosted
separately on a server that it can reach.
Firmware is provided in the form of delta images which will migrate the cellular component from a
known source to a given target version. You can verify the firmware version level of the cellular
component using the MV (Modem Version) AT command. Check documentation and release notes for
your XBee Cellular variant to determine the necessary upgrade path for your product.
You will need:
n The FTP hostname or IP address, which for Digi hosted files is: ftp1.digi.com
n The port running the FTP server, which is typically 21
n Username. For ftp1.digi.com, use: anonymous
n Password. For ftp1.digi.com, use your email address.
n Directory path containing update file.
n Update image filename.
Form the update request
A request to perform an update is communicated to the XBee Cellular through Remote Manager by
using the Data Services Device Request feature. The device request should be sent to the FTP_OTA
target and the payload of the request is the concatenation of the six fields identifying the full FTP
location of the update file using the NUL byte as a delimiter. We recommend using the base64
encoded binary transport option to avoid issues representing the request in XML.
For example, you want to update a module with the file sample.bin in the support/example directory
on Digi's FTP server.
The full body of the request:
ftp1.digi.com␀21␀anonymous␀example@digi.com␀support/example␀sample.bin
Note The ␀ character represents a byte in the date with the value zero.
The base64 encoded representation of the payload in turn:
ZnRwMS5kaWdpLmNvbQAyMQBhbm9ueW1vdXMAZXhhbXBsZUBkaWdpLmNvbQBzdXBwb3J0L2
V4YW1wbGUAc2FtcGxlLmJpbg==
The full Remote Manager device request is as shown below. Make sure to replace the Device ID
attribute with the ID for your device.
<sci_request version="1.0">
<data_service>
<targets>
<device id="Your device ID here"/>
</targets>
<requests>
<device_request target_name="FTP_OTA" format="base64">
ZnRwMS5kaWdpLmNvbQAyMQBhbm9ueW1vdXMAZXhhbXBsZUBkaWdpLmNvbQBzdXBwb3J0L2V4YW1wbGUAc
2FtcGxlLmJpbg==
</device_request>
</requests>