Need help with Xbee config on a Mac

I have been having issues finding a program that can config Xbee on a Mac successfully. Pretty much everything points to Xctu which is windows only. I am running windows in 'parrallels' but it is not seeing my comm ports, while the mac side does. So my xctu isn't working.

I had temporary use of a windows machine to do a setup of the xbees and got an initial test sketch running correctly. But now I'm away from that PC and need to change settings.

I need to either have my mac's virtual windows recognize my comm ports, or get a program that can upload firmware to the Xbee in OSX.

I have tried XbeeConfigTool, but config tool can't upload firmware, and it says my firmware is too outdated for it to work properly. I cannot figure out how to make my virtual windows recognize my comm ports because they always show up on the Mac side.

Anyone have any advice? Am I perpetually stuck waiting to borrow PC time to make settings changes?

Im looking for exactly the same thing! Please help him :slight_smile:

Still looking for help with this... Nobody knows how to upgrade firmware without using a PC?

I am using Arduino FIO + XBee + Sparkfun's FTDI Basic Breakout (5V). There is a "XBeeConfigTool" in the latest funnel-010_r723 software. Still couldn't make it right :cry:

any takers? no?

check my story below... sound familiar?

any ideas?

THANKS ahead of time for ANY response!

same here! (kinda)

Powerbook G4, OSX 10.5.8 running VPC 7, Windows 2000

BASE - XBee 1mW Chip Antenna on an XBee Explorer USB (connected to mac)
REMOTE - XBee 1mW Chip Antenna on an XBee Explorer Regulated (connected to battery-powered Arduino Duemilanove sitting on the table)

XBee 1mW Chip
Antennahttp://www.sparkfun.com/commerce/product_info.php?products_id=8664

XBee Explorer USB

XBee Explorer Regulated

  1. picked up the PKG-U USB Drivers for Windows here:
    XCTU
    as instructed from the XCTU page here:
    http://www.digi.com/support/kbase/kbaseresultdetl.jsp?kb=125
    and got XCTU running just fine. did a basic configuration on both XBees using the Explorer USB. no problem!

  2. BUT mac wouldn't recognize (in Terminal - typed "ls /dev/tty.*" and nothing, NO XBee in the list)

  3. i thought to myself, "oh! didn't i see drivers for the mac on that same page?" so i got the mac drivers from same url in step 1 above. installed, but STILL no mac recognition.


4. SO (missing the "Troubleshooting" note at the BOTTOM of the ReadMe.txt file that warned of using ONLY the drivers from the link in step 1 above), i went ahead to the FTDI site to download a more recent driver here: http://www.ftdichip.com/Drivers/VCP.htm and installed.

~~~ i'm guessing this is where things went wonky for XCTU... 
so DON'T DO IT if you still want to be able to configure your XBees using XCTU in Windows! ~~~

5. step 4 didn't work right away, but i found a little trick here:
http://translate.google.com/translate?hl=en&langpair=es%7Cen&u=http://karman.homelinux.net/blog/archives/277
and, VOILA! mac can see the XBee in Terminal!

6. BUT now i can't communicate with the XBee in Windows XCTU!!! AAARGH!!!

so i'm thinking it's kind of a case of dueling drivers... something got mucked up on the mac side after installing the drivers from the FTDI site.

HEEEELLLP!!!

THANKS ahead of time for ANY response!

p.s. found this... it may help some of you with newer macs: http://mbed.org/users/evandavey/notebook/xbee-testing-using-a-mac/

UPDATE

soooooooo... i gave up trying to make this seamless, so here's the dirty:

ON THE MAC

  1. re-installed the mac drivers from the digi site:
    XCTU

NOTE: installing this version will force a restart. use this opportunity to unplug ANY and ALL usb devices connected to your machine.
WHY? (this is ONLY A THEORY) because when you try to install new usb devices in Windows 2000, it will automatically defer to Microsoft drivers if it can

IN WINDOWS 2000 via VIRTUAL PC 7

  1. (with NO usb devices connected to my mac) i uninstalled ALL usb drivers using DEVICE MANAGER

  2. i removed any/all usb drivers i had installed myself (from previous failures) using ADD/REMOVE PROGRAMS

  3. i uninstalled all the usb devices using ADD/REMOVE HARDWARE (even if they aren't connected, they MAY show up here)

NOTE: when you get the list of devices, be sure to click SHOW HIDDEN DEVICES. this is where the USB SERIAL CONVERTER (shows up as a usb device) and the USB SERIAL PORT (COM 3) (shows up as a com port) that i've been so desperately seeking will be hiding out. be sure to scroll ALL the way down and uninstall ALL usb devices (and that one com port). (unfortunately, ADD/REMOVE HARDWARE will only let you get rid of these one at a time, so you'll be opening this over and over until you've gotten rid of all the usb devices. ugh!)

  1. plug in your XBee/XBee Explorer USB

  2. go to DEVICE MANAGER and under ACTION choose SCAN FOR HARDWARE CHANGES.
    it should detect your XBee/XBee Explorer USB and automatically open FOUND NEW HARDWARE WIZARD

  3. when you are asked what you want the wizard to do, select SEARCH FOR A SUITABLE DRIVER FOR MY DEVICE (this is the default selection

  4. on the next screen check only SPECIFY A LOCATION

  5. navigate to wherever you stored the windows drivers from the digi site (the link above)

  6. finish up installation as directed

  7. once that's done, you will find another FOUND NEW HARDWARE WIZARD underneath. repeat steps 5-9 as directed.

WHY? i suspect it's because there are two new devices-in-one: USB SERIAL CONVERTER (the XBee Explorer USB )and USB SERIAL PORT (COM 3) (the XBee itself)

NOTE: you may get a warning about overwriting an existing and newer version of the driver... i went ahead and overwrote it, and it seemed to work fine.

  1. check your work: give DEVICE MANAGER a few seconds to refresh itself.
    expand PORTS - you should see SERIAL PORT (COM 3) added there
    expand UNIVERSAL SERIAL BUS CONTROLLERS - you should see USB HIGH SPEED SERIAL CONVERTER added there

  2. open XCTU, et voila! you should have access to SERIAL PORT (COM 3) and your Xbee for configuration

NOTE: now it's safe to plug in your other usb devices

~~~ if this doesn't work, i have no idea what to say... rinse and repeat? ~~~

NOW... VERY IMPORTANT NOTE: before going back to work on the mac (which i guess you want to do) ...

  1. BE SURE TO PROPERLY UNPLUG YOUR XBee/XBee Explorer USB DEVICE
  • strange: i've had to go though this a couple of times, and it randomly chose to either
    a) let me just pull the device out without procedure (meaning it's hot-swappable) OR
    b) force me to use that little "remove device" icon in the lower right-hand corner of Windows (meaning it's NOT hot-swappable)
  • either way, be sure your XBee/XBee Explorer USB is unplugged.
  1. THEN (and ONLY after you've unplugged your device) be sure to SHUT DOWN your virtual PC before going back to mac, and SAVE PC's STATE. you can decide if you want to quit Virtual PC 7 or not. it doesn't matter.

WAIT! NOT DONE YET...!
here comes the REAL pain in the a$$...

BACK TO THE MAC

  1. when you go back to your mac you have to (re)install the latest FTDI drivers so your mac can see your XBees! GROAN!
    http://www.ftdichip.com/Drivers/VCP.htm

  2. after installing the drivers and plugging in your XBee/XBee Explorer USB, you should be able to see your device using Terminal (ls /dev/tty.*)

  3. here's the REAL kicker here: in order to go back to Windows in VPC and use XCTU...
    YOU HAVE RE-INSTALL THE OLD MAC DRIVERS from the original digi site!
    YES! YOU WILL BE FORCED TO RESTART YOUR MAC! this means
    YES! EVERY SINGLE TIME you have to reconfigure your XBee YOU WILL BE FORCED TO RESTART YOUR MAC!
    awesome...

AGAIN, between shutdown and restart be sure to unplug your XBee/XBee Explorer USB. your other USB devices can stay plugged in at this point. it's all about what Windows in VPC thinks is happening at that point. i.e. when you shut down your virtual PC in step 14, you had your XBee/XBee Explorer USB UNPLUGGED and all other usb devices plugged in. you just have to make sure when you restart your Windows in VPC, things are as they were when you shut it down.

ARDUINO

  1. somewhere between steps 12 and 13 above i configured both my XBees using the USING THE MAXSTREAM SOFTWARE part of this tutorial:
    Trossen Robotics Community Database Error

  2. i wired one XBee to my Arduino using my XBee Explorer using the CONCEPT of STEP 4: WIRE UP THE REMOTE UNIT of this tutorial:
    http://www.sparkfun.com/commerce/tutorial_info.php?tutorials_id=122#Step3
    (a link from this tutorial: http://www.sparkfun.com/commerce/tutorial_info.php?tutorials_id=122)
    NOTE: i used a breadboard instead of soldering... i have commitment issues

  3. i plugged the XBee/XBee Explorer USB into my computer

  4. to get them talking to each other i used the very bottom of this tutorial:
    Xbee Adapter

... a friend once called me a pragmatist. i wasn't sure how i felt about that... until i read this:
A pragmatist would never plant such a messy tree, but I like its flowers.

i try to make things as simple and clean as possible. barring that, i will get to where i want to be regardless of the route.
it's messy, but it works!
i call it The Frankenstein Approach.

hope this helps, folks!

dkrofft1, thanks for this epic instructional post.

So far, I don't have success. So I have a few questions.

In step one, you say to remove all USB Devices. Macs use USB keyboards and mice. How did you do all the other steps with no keyboard or mouse?

I have a fresh install of XP in Parallels, do you think this is my problem? I don't have Win2k or Virtual PC.

Also when I install the mac drivers from digi, I never see the devices appear in /dev when I plug my USB XBee devices in. So I am not surprised that when I have my WinXP vm running & plug them in I am never asked if I want to connect the new USB device to the WinXP vm (despite having Parallels set to ask me).

Cheers!

oops! i'm working on a PB G4, so i completely forgot about the whole mouse/keyboard thing for desktops. you can leave those in. (uh, NEED to leave those in!) my guess is that since the keyboard and mouse are input devices, they won't be mistaken as external hard drives or card readers, etc.

as for XP... out of curiosity (and to see if i could help) i installed Windows XP Pro (which i had chosen NOT to do so before because OSX and VP7 don't seem to like XP - it runs SOOOOO SLLLOOOOWWW!!!)

i have been trying over and over (and over) to get XP Pro to allow me to install third party USB drivers and it simply REFUSES!

either:

  1. Windows XP Pro tells me the microsoft drivers already installed are already the best drivers and it decides for you. i.e. you are forced to use the microsoft USB drivers.

or

  1. after uninstalling all USB drivers (and even after trying to control where Windows searches for drivers) Windows XP Pro still automatically decides for you and installs the microsoft drivers. again, you are forced to use the microsoft USB drivers.

awfully cavalier of microsoft, the devil's spawn.

MADDENING!!!

sorry i can't offer any more help.

i'm still trying tho!
if i come up with anything, i'll be sure to post it here!

hi guys,

I don't know if this will help in your specific situations, but here is my solution for using X-CTU on a mac. I recently went from using a windows laptop to a Intel Macbook, and needed to be able to configure and program XBees properly, ie with X-CTU. This was relatively straightforward:

Prerequisites:

  • Intel-based mac (AFAIK you can't run a windows VM on G5?)

  • Mac USB drivers for FTDI/USB modules, so that you can at least read/write from the terminal.

  • FTDI drivers for the Windows version you're going to install; the easiest is the ones included in the Arduino distribution under /drivers in the zip.

  • Download virtualbox (free VM software)

  • Windows ISO or CD (I used 32bit, SP3)

  • Install virtualbox

  • Install windows XP in a VM

  • Go to Devices -> USB Devices -> select the devices to use in the VM, eg "FTDI FT232R USB UART (0600)" which both of mine are; can't tell them apart :confused:
    Devices then pop up in windows and demand drivers. Tell it to install the drivers you got earlier, ie point it at the extracted zip.

  • Drivers should be installed; check device manager to make sure all have drivers. You may need to re-connect them to the VM, like unplugging and replugging a real device, so they get the drivers.

  • Run X-CTU and you should be able to select the COM port :slight_smile:

One nice thing is that windows tends to assign the same COM port for a specific FTDI device, so you can identify which device it's communicating with by that.

Caveats:
Occasionally X-CTU is unable to read or write the device, and sometimes resetting it helps. I don't know if this actually has anything to do with it being a VM or what.

Hope this helps!

  • Fatal_eXception

It sounds like folks here have been facing problems similar to what I've been doing all day. I've been going from PC to Mac and back trying to figure out how to get my XBee Explorer with XBee module plugged into it to do... something useful. My goal is to get the Explorer-mounted XBee to talk to a Make Controller mounted XBee, so I actually got around configuration issues (I think) by doing the configuration using mchelper. That is, I did all of my setting of channels, address and so on using the Make Board. No X-CTU involved!

Here's where I got stuck: I don't understand what to do once all the configuration steps are done. As far as I know, the XBee channels and PAN IDs are the same. The receiving destination address is the transmitting MY address and vice versa. All of that's done. My impression from what I've read here and there is that I should be able to plug in the Explorer and the Make Controller with XBee attached (or Arduino, it should be the same) and just get a message sent to my USB port and the Explorer will transmit. Done.

My question (and if it needs it's own thread, or there already is one somewhere, no problem) is, how in the world, using Mac OS X 6 or Windows XP, do I send a message to that USB port? I'm picturing writing a program pc side (personal computer, not necessarily Windows) that when I execute it lets me push a button and send a message of my choosing. The message gets transmitted and as long as I have the program for the receiver set, I'm fine. Am I missing something? And even if I'm not, what sorts of options do I have for how to write that program (language, etc)?

Thanks,
00Nick

hi doubleonick,

I'm not familiar with the Make Controller or the way you've gone about this so any of the below might not work or help, but I hope it points you in the right direction. I'm also doing this all by memory.

first I need to correct a small misconception you have. or it might just be a typo. you wouldn't send a message to the "USB port", what you do is communicate through the virtual serial port that the device runs. just like the old serial ports on old PCs, such as connecting to a modem terminal.

X-CTU has a convenient tab for doing exactly this; sending and showing messages from the serial port. under windows, COM ports com up as COM3, COM4, etc. under mac, they come up as /dev/tty. usually. when you configured your XBees, you must have selected or entered the serial port address in this format? so that's where you need to start.

Then you need some kind of terminal application to connect to it. I think the "screen" program on the console has this ability. I think the format is "screen /dev/tty.ABCD", optionally put the serial speed at the end (eg 2400, 56000, etc) if not the default (9600?). if you use the wrong serial speed everything will be scrambled.
here's a URL about that: http://hints.macworld.com/article.php?story=20061109133825654

Once you have a terminal up, try typing "+++" and enter, to throw it into command mode. after a few seconds it will return to normal mode. before it returns to that, type AT and it should say OK or something. so you know you're communicating with an Xbee.

when it has returned to normal mode (after maybe 5 seconds, there is no indicator of that), any text you type gets sent to the other end. so then you need to have your xbee at the other end either sending some text, echoing it, or do the same terminal thing on another computer - or even the same computer. both can be connected to the same and with two screen sessions you can talk between them. if the text is not appearing as it should, something may be wrong with your xbee config. or you might be talking to entirely the wrong serial device!

again I don't know what the Make Controller does but hopefully this can help you get comms up and running.

a useful and free program that can be used to make programs simply that can do serial and graphics and whatnot is Processing. the language is basically Java. http://processing.org/

cheers
fatal