SparkFun Forums 

Where electronics enthusiasts find answers.

All things pertaining to wireless and RF links
By tt0
#161678
Hello.
In short: X-CTU reads from modules, but not updating the firmware. I'd like to make few coordinators instead of routers.

Modules
I have handful of XBeePro S2B modules right from the box, they have not been configured or used before.

Connection hardware
Connected them to computer via USB-RS232 converter cable. 3.3V to RS232 level TX/RX converter is transistor-based; XBee pins 9 and 16 (DTR and DTS) are connected to RS-232 pins 4 and 7 (DTR and RTS) via resistors and zenered to 3.3 Volts.

X-CTU, PC Settings page
Somewhat defaut, I think; com-port is set to 9600-8-N-1 with no flow control.

Reads module with "Test / Query" just fine:
Code: Select all
Communication with modem..OK
Modem firmware version = 22A7
Modem type = XBP24BZ7

Serial Number = 13A200409F43C4
I think, link to PC is working then. DTR and RTS levels must be good too, checked them with oscilloscope.

X-CTU, Configuration page
Latest versions of updates are downloaded from the web.

When I press "Read", it reads just fine. Module is running on "ZIGBEE ROUTER AT" function set v.22A7.

When the "Write" button is pressed and checkbox is not checked and function set is still "ZIGBEE ROUTER AT", it says:
Code: Select all
Getting modem type....OK
Modem's firmware not updated
Setting AT parameters..OK
Write Parameters...Complete
But when "Always Update Firmware" is checked and/or "Function Set" differs from "ZIGBEE ROUTER AT", it hangs for a couple of seconds on "Reading AT Commands..." and then says:
Code: Select all
Getting modem type....OK
Programming modem...Lost communication with modem
Write Parameters...Failed
i have tried those tricks with power and reset combinations, you know:
  • - turn module power off, then press "Write" in X-CTU;
    - wait-until-Info box "Action Required";
    - hold reset button, switch on the power, release reset button;
    - X-CTU reacts immediately, hiding Info-Box and showing message "Reading AT Commands..."
and then - same thing :(


I don't know where to look anymore. According to multiple "howtos" and tutorials the whole thing should be easy.
Maybe, i've bought some kind of router-only modules? (that sounds dubios, though)

Any ideas?

Thank you for your time. If something is unclear, please feel free to ask.
sorry for bad English.
By tt0
#161843
got it working.

First
my mistake, DTR and RTS signals have to be inverted, so no zener diodes, just transistor inverters now.

Second
Tried native com-port (integrated in motherboard) and USB-cable - no success. Found in junk computer old Digi Neo 8 multiport adapter and plugged it in - worked like a charm!

According to http://www.ladyada.net/make/xbee/arduino.html, in the com-port advanced settings the "Set RTS on close" checkbox must be set (my PC is running on Windows, Mac and Linux users don't need to set this up). I don't have this checkbox in any of my port settings (it's presence depends on driver), but i presume Digi adapter have this feature by default.


thanks for your time, good luck with projects.