Skip to content Skip to sidebar Skip to footer

Change WiFi-Direct IP Range? Force IPv6 In Android WiFi-Direct?

I have two Android KitKat phones, both are running WiFi-Direct groups as Group Owners, let's call them GO1 and GO2 I managed to connect GO1 as a legacy client to GO2 without breaki

Solution 1:

A way to get around this without rooting the phone is to send your packets via multicast UDP*. These packets will make it from GO1 to GO2.

There are some side effects to this:

  • To use this for networking you must perform encapsulation and routing at the OSI Application level (not efficient).

  • You will also need to route based on MAC addresses since every device has the same 192.168.49.1 address.

  • "It is important to note that the multicast socket encapsulates a one-to-many unicast communication and, as a result of this, cannot fully utilize the total available WiFi and WiFi Direct bandwidth" *

Something else worth noting:

  • As you scale up the number of GOs, you will run into a problem of all nodes operating on the same wifi channel. This isn't a problem with a few devices, but with hundreds of devices, it will be a huge problem.

*This method was mentioned in Colin Funai, Cristiano Tapparello, and Wendi Heinzelman paper titled "Supporting Multi-hop Device-to-Device Networks Through WiFi Direct Multi-group Networking" found here: https://arxiv.org/pdf/1601.00028.pdf


Solution 2:

There is no way to change the IP range because as you have correctly pointed out, it is hardcoded in the Android Wi-Fi Direct system service. Personally, I am not aware of IPv6 being enabled on the Wi-Fi P2P interface, and even if it was, it would likely be a hardcoded IPv6 address.

If GO1 and GO2, must be connected to each other whilst both in GO mode, then perhaps look at using Bluetooth or some other transport to allow them to communicate. If communication between GO1 and GO2 can be delayed, then cache whatever information is to be exchanged, and send it between these two devices when one can be the client of the other, e.g. when GO1 can stop being a GO and can be a client of GO2.


Post a Comment for "Change WiFi-Direct IP Range? Force IPv6 In Android WiFi-Direct?"