What is wrong with my Adhoc Network XBEE Wifi S6B, as the units are not communicating?

I have two XBEE Wifi S6B Modules with Firmware version 2023. I’m wanting the two modules to communicate in an Adhoc Network (point-to-point) as per page 36 of the XBee Wi-Fi RF Module S6B User Guide (Part number 90002180 M). One module is remote and the other is connected to my computer via a USB cable. I tried connecting DIN and DOUT pins on the remote module to create a loop back of sent signals but I recieved no response to anything sent in AT mode from the computer connected module.

Having exhausted my knowledge, I then tried to connect the two modules, both connected to my computer via usb cables, to an external router using the instructions from the XBee® Wi-Fi Development Kit Getting Started Guide (https://drive.google.com/file/d/0BzFWfMiqqjyqZEF3OVplX3puTDg/view?pref=2&pli=1). Both modules can see and connect to the WLAN and the DL and ML settings have been set with the appropriate IP addresses but there is still no response in the terminal to any input into either module. What could I be doing incorrectly?

Hi snowsparky,

I had this problem like yours before. And luckily I have solved it :D.

Here are step you should follow and check carefully!

My setting (using XCTU):
Creator:

  1. AH = 1 (IBSS Creator)
  2. CE = 2 (STA mode)
  3. ID (SSID) = adhoc_test
  4. EE = 0 (No security)
  5. IP = 0 (UDP)
  6. MA = 1 (Static)
  7. NS (DNS Address) = 192.168.1.1
  8. DL = 192.168.1.13 (Note: this is Joiner address)
  9. GW = 192.168.1.1
  10. MK= 255.255.255.0
  11. MY= 192.168.1.12 (Note: Creator Address)

Joiner:

  1. AH = 0 (IBSS Joiner)
  2. CE = 2 (STA mode)
  3. ID (SSID) = adhoc_test
  4. EE = 0 (No security)
  5. IP = 0 (UDP)
  6. MA = 1 (Static)
  7. NS (DNS Address) = 192.168.1.1
  8. DL = 192.168.1.12 (Note: this is Creator address)
  9. GW = 192.168.1.1
  10. MK= 255.255.255.0
  11. MY= 192.168.1.13 (Note: Joiner Address)

After setting up 2 devices, you should disconnect 2 Xbee-wifi from XCTU (my experiences) by click button (x). Then you reconnect both to XCTU again (note: Creator should be connected 1st, then Joiner).

When both devices are connected, you have to check the part “Change MAC/PHY Settings” for both:

  1. The AI should be 0.
  2. DI should be 2
  3. CH should be same for both (if not you have to change by using AT command mode ==>> ATCH_channel_number

==>> When this parameters are same for both devices then they are now connected and you can talk between them :smiley:

What does the association indication “AI” parameters says on both units?

Have you tried to ping one module from another using “PG” AT command? What were your results?

Without looking at config profiles of both units, its quite difficult to figure out root cause of your issue.

Firstly testing in router mode. AI is zero on both units when connected to the router.I tried your suggestion using the ATPG command:
ATPG192.168.1.1 (ping router)
ATPG192.168.1.2 (ping module 1)
ATPG192.168.1.3 (ping module 2)

From the unit assigned as 192.168.1.3, I received a ping back from the router within 1ms. I received a ping back from itself in 79ms and I received a ping back from the other unit (192.168.1.2) in 3ms.

I then tested the other unit. Pinging itself returned in 107ms but it received no reply from both the router and the other xbee. I then switched off both units to reboot and forgetting to switch the second unit back on I still managed to get a response from 192.168.1.2 and therefore there must be another device connected with that address so I simply reassigned it to 192.168.1.4. A silly mistake.

However I then returned to the Adhoc mode which is what I’m really interested in and created a Adhoc Network called DigiWorld by setting the relevant parameters:
AH set to IBSS Creator and Joiner respectively
MA set to static
ID set to DigiWorld
EE set to no security
CH - I can’t change on either unit but its reading A on the joiner and 0 on the Creator.
MY set to 192.168.1.4 and 192.168.1.3 respectively
DL set to 192.168.1.3 and 192.168.1.4 respectively
MK set to 255.255.255.0

The Creator (192.168.1.4) has AO set to FF.
ATPG192.168.1.4 - “0D”
ATPG192.168.1.3 - “”

The Joiner (192.168.1.3) has AI set to 0.
ATPG192.168.1.4 - “no reply”
ATPG192.168.1.3 - “no reply”

Any suggestions of what it could be?

Thanks NGUYEN. Our settings were basically the same but I wondered if rebooting the devices using X or even powering them down would make a difference and it didn’t. So then I tried your exact settings. Still no change. Then I went back to default parameters and tried your settings again and still not working. The joiner shows AI 0 and DI 2. The creator shows AI FF and DI 1. The Channel cannot be changed on the joiner and it doesn’t matter if I change the channel on the creator, it seems to default back to 0 within time and the joiner is always showing chanel A. I have a little app on my phone and it shows a wifi network on channel 10 (A) with the name adhoc_test. All pings from the creator within the range of the IP address mask seem to result in a return symbol (0D). Ping from the joiner to itself sometimes results in a reply but all other pings within the range of IP address mask results in “No Reply”. I changed the role of the two chips around making the joiner the creator and vice-versa and the behaviour is the same.

Turn off the AdHoc function on your phone. Then do an ATRE, atNR0 and a ATWR on both radios. Then follow the steps in the manual. You should see it work then. Just make sure that you are using the S6B module with the latest firmware.

hi snowsparky,

All yours phenomena are same with me.

  1. The Joiner’s CH is always A ==>> so I change Creator’s CH to A using AT command mode (remember to click refresh button on right side of the row)
  2. If the creator shows AI = FF and DI = 1 ==>> There are errors and they cannot connected.
  3. Pay attention that when you disconnect both devices from XCTU the MK will be 0.0.0.0 ==>> you have to change again (I observed that).

*** If you still can not setup ad-hoc config then email me. I will make a video to show you because I had same problem like yours.

Mvut,
Thanks for your response. I’m not using my phone with any AdHoc function. When I mentioned my phone I was purely referring to an app which enables me to see the strength of all networks in the surrounding area. I am not connecting to the Ad-hoc network via my phone; However, I have switched it off just in case and it makes no difference.

I’ve tried using your commands for restoring firmware settings etc. but they haven’t made any difference to my issue. I have followed the instructions as per the manual with firmware version 2023, 2024 and 2026 (latest). Ad-hoc networks do not seem to be supported with firmware version 2024 and 2026 in the form discussed in the manual as GW, MK and MY don’t exist. I’ve tried changing purely AH, MA, EE, CH and ID but it doesn’t create a working Ad-hoc network. Do you know where I can get the specific manual for each version of the firmware?

Try using a different version of XCTU or remote and re-install after deleting the files from your PC and removing it from add/remove programs.

Mine is the most current version (6.3) and I can see all of the commands you are referring to just fine.

Here are the commands and functions I used to get it to work for me.

In order for ad-hoc mode to work, you must set the following parameters:

(This is most easily done in the terminal using AT commands)

  1.    Open X-CTU
    
  2.   Go to the Terminal tab
    
  3.   Input “+++” to enter command mode.
    
  4.   Enter in AT commands for each radio, starting with the IBSS Creator (the Ad-Hoc master node)
    
  5.   Once you have entered the AT values, you will need to write those values to the non-volatile memory.  This is done with an ATWR command.
    
  6.   To exit command mode issue an ATCN.
    

Radio 1 - Ad-Hoc Creator Radio 2 - Ad-hoc Joiner

ATIDUNICO ATIDUNICO

ATAH1 ATAH0

ATMA1 ATMA1

ATDL192.168.1.11 ATDL192.168.1.22

ATMY192.168.1.22 ATMY192.168.1.11

ATMK255.255.0.0 ATMK255.255.0.0

ATCH1 ATCH1

ATBR1 ATBR1

These settings will create a network on channel 1 with an SSID of UNICO. The over-the-air data rate will be 1Mbps.

The Creator will have a static IP address of 192.168.1.22 and will talk to the radio with the address of 192.168.1.11

The Joiner will have a static IP address of 192.168.1.11 and will talk to the radio with the address of 192.168.1.22

By default the radio will use the UDP protocol. (This can be changed with the ATIP parameter)

Please refer to the chart below for reference to AT commands used to create an ad-hoc network.

Command
Description
Example

ATID
Sets the SSID for the network
ATIDDIGI

ATAH
Sets the network type (infrastructure, IBSS Creator, IBSS Joiner)
ATAH1

ATIP
Sets network protocol (UDP or IP)
ATIP0

ATMA
Sets IP addressing mode (Static or DHCP client)
ATMA1

ATDL
Sets destination IP address
ATDL192.168.1.11

ATMY
Sets module IP address
ATMY192.168.1.22

ATMK
Sets IP address mask
ATMK255.255.0.0

ATCH
Sets channel of the network
ATCH1

ATBR
Sets Bit Rate of IBSS creator and thus, the network
ATBR1

Many thanks mvut for your comprehensive explanations. I checked my version of XCTU and it showed 6.3.0 however I then checked for XCTU updates - none available and checked for firmware updates -it updated a few. Then I used the firmware explorer to look at the parameters in each version and I still had missing parameters. So as suggested by you, I uninstalled XCTU and deleted the relevant folder. I then downloaded the most recent version which is actually 6.3.0.8 though its on the website purely as 6.3.0 and returned to the firmware explorer and the variables had appeared. I upgraded to the latest firmware on both modules and followed the standard procedure for creating an ad-hoc network which I had tried before and this time there was no issues.

Moral of the story is that just because your software think it is up-to-date doesn’t mean it is. :slight_smile: