2

We are developing wireless ad hoc communication applications on windows mobile 6 devices using 802.11 in ad hoc mode. We are using HP iPAQ 910 devices and OpenNETCF smart device framework 2.3 for development.

As a design constraint, each device is represented as an SSID. If two devices want to communicate with each other, initiator switches to other device's SSID and broadcasts UDP messages. However this switching takes 4-5 seconds to complete and spending this much time might be undesirable in some cases. We were wondering whether there is a better and faster way in which two devices can communicate, something for which we can avoid switching SSIDs?

Please let us know if any more information is required. Thanks in advance for your help!

MusiGenesis
  • 74,184
  • 40
  • 190
  • 334
Kalp
  • 90
  • 2
  • 8
  • User ctacke is the author of OpenNetCF, and should be able to help you. I changed your tags to draw his attention here. – MusiGenesis Aug 14 '09 at 22:04
  • I don't know if this is relevant to your project, but UDP crashes ActiveSync hard (or used to, anyway), which can make debugging apps that use UDP pretty difficult. – MusiGenesis Aug 14 '09 at 22:09
  • Because networking is involved in most of our apps, we use app-generated logs for debugging. Is there a better way? We observed that wifi adapter doesn't function properly when debugging apps with ActiveSync. Is that common? – Kalp Aug 14 '09 at 22:37
  • 3
    I'd go so far as to say ActiveSync and *anything* rarely works. – ctacke Aug 15 '09 at 01:49
  • I've been working on something similar lately. We have devices roaming in a warehouse, and the warehouse APs all have the same SSID. Even in that case we seen about a 6-second delay when the device drops one AP, finds another, negotiates with it then gets on the network. I question whether your current topology can do much better, but that's only based on a pretty limited data set. – ctacke Aug 15 '09 at 01:55
  • 3
    @ctacke: I've found no conflicts yet between ActiveSync and solitaire. – MusiGenesis Aug 15 '09 at 04:13
  • @MusiGenesis: No? You haven't looked hard enough. – Johann Gerell Aug 24 '09 at 20:38

1 Answers1

3

You should run them all on the same SSID. Each one will need to be configured with a unique static IP address. You can then send your messages to whichever one you want based on the IP, no switching required (i.e. it's instant). This approach will also allow you to communicate with multiple devices at the same time. You might even be able to use the UDP broadcast feature to talk to all of them at once, though I'm not sure how that works when you're on an ad hoc network.

I once built a system that used an iPAQ and a laptop both in ad hoc mode to do exactly what I just described. A joystick attached to the laptop was used to remotely control a robot which was directed by the iPAQ.

rmeador
  • 25,504
  • 18
  • 62
  • 103
  • Thanks for your answer, rmeador! Actually we use SSIDs as a way of identifying mobile devices or IBSSs in surrounding environment. So, keeping same SSID might not work for us. – Kalp Aug 14 '09 at 22:54
  • 1
    Why not look at device MAC instead? It's guaranteed unique, and using a common SSID for all devices would certainly make deployment a whole lot easier (caveat: I've never tried this in ad-hoc mode, so YMMV) – ctacke Aug 15 '09 at 01:51
  • Thanks for your reply, ctacke! Basically an SSID of a device or an IBSS identifies it and tells us about user applications running on it. Since SSID is a configurable entity, we thought of using it as an identifier. This might not be possible with MAC address. Alternatively, is it possible to communicate without SSID association? something like beacon-stuffing or Wi-Fi without association, as noted here: http://research.microsoft.com/en-us/groups/nrg/hotmobile07-beacon.pdf. It would be really great if we can add some application level info to 802.11 beacons. – Kalp Aug 15 '09 at 07:13
  • 1
    @CuriousTiger: the SSID is not intended to give you any information other than what network to connect to. You're misusing it, and thus you're running into problems. I can't speak to the feasibility of wifi without association or beacons, since I've never used either. I stand by my recommendation of using IPs to differentiate the handhelds, though ctacke's idea of MACs is another very good alternative. – rmeador Aug 17 '09 at 14:20