Home/Support/Support Forum/Firmware update of XBee RF module (Based on EM357) using linux

Firmware update of XBee RF module (Based on EM357) using linux

0 votes
I found documentation describing upgrading firmware on a windows machine using the program that communicates through serial connection. However in the field our devices run linux. What are the steps to upgrade it from linux? Would we be able to send firmware over a certain protocol i.e xmodem or ymodem or are there additional steps involved? If so, what are they?
asked Apr 30, 2015 in RF Solutions and XBee by DenisS New to the Community (0 points)

Please log in or register to answer this question.

3 Answers

0 votes
This is directly from page 39 of the manual.

Wired Updates
A user can update their application using the bootloader in a wired configuration with the following
steps:
a. Plug XBee programmable module into a suitable serial port on a PC.
b. Open a hyperterminal (or similar dumb terminal
application) session with 115200 baud, no par-
ity, and 8 data bits
with one stop bit.
c. Hit Enter to display the bootloader menu.
d. Hit the "F" key to initia
te a wired firmware update.
e. A series of "C" charac
ters Will be displayed within the hyperterminal window. At this point,
select the "transfer->send file
" menu item. Select the desire
d flat binary output file.
f. Select "Xmodem" as the protocol.
g. Click "Send" on the "Send File
" dialog. The file will
be downloaded to the XBee Programmable
module. Upon a successful update, the bootloader
will jump to the newly loaded application.
answered May 1, 2015 by mvut Veteran of the Digi Community (13,094 points)
Also from page 161



Invoke XBee Bootloader
See the "XBee Bootloader" section above for steps to invoke the bootloader using RS-232 signals. The
bootloader may also be invoked by issuing a command via
XCTU. Then the application makes an explicit call to
the bootloader, which does not return.
If there is no valid application,
 the bootloader will always run.
Send Firmware Image
After invoking the bootloader, the Ember bootloader will
 send the bootloader menu
characters out the serial
port, which may be the UART at 115200 bps or the SPI, wh
ere the attached SPI master provides the clock rate.
The application should do the foll
owing to upload a firmware image.
1. Look for the bootloader prompt "BL
>" to ensure the bootloader is active
2. Send an ASCII "1" character
to initiate a firmware update
3. After sending a "1", the EM357 wait
s for an XModem CRC upload of an .e
bl image over the serial line at
115200 bps. The .ebl file must be sent to the EM357 in order.
If the firmware image is su
ccessfully loaded, the bootloader will output a “complete” string. Then the newly
loaded firmware can be invoked by sending a ‘2’ to the module.
If the firmware image is not successfully loaded, the boot
loader will output an “aborted” string. Then it will
return to the main b
ootloader menu. Some causes for failure are:
• Over 1 minute passes after the command to send th
e firmware image and the fi
rst block of the image has
not yet been sent
• A power cycle or reset event o
ccurs during the firmware load
• A file error or a flash error
occurs during the firmware load
0 votes
The xbee-comm tool might be what you're looking for: It implements triggering the bootloader and uploading a firmware file for Series 2 hardware, which I think is the one you refer to.
answered May 1, 2015 by matthijs Community Contributor (78 points)
0 votes
Alternatively, you can run the XCTU or XCTU-NG programs under wine. See this blog post for the steps needed to get the serial connection working:http://www.downtowndougbrown.com/2013/03/getting-x-ctu-in-wine-to-detect-your-serial-ports/ (his post is about getting the legacy version to autodetect serial ports, but I've just tested this and it works with the next generation version too).
answered May 4, 2015 by matthijs Community Contributor (78 points)
...