What to do if you have an Ethernet application that is already up and running with TCP/IP functionality and now you want to add Wi-Fi. Most of the Wi-Fi modules available have embedded TCP/IP stacks with some kind of api interface you have to use (i.e. TCP_open(google.com, 80)). This is good if you are starting a fresh application and want to be able to quickly get something simple up and running.

But what if you already have a complex application with TCP/IP stack and you just want it to use Wi-Fi? You want to be able to take the raw Ethernet packets that are coming out of your TCP/IP stack and send them to the Wi-Fi module. I have found a few Wi-Fi modules that allow this "TCP/IP bypass" feature but not many.

To me it doesn't seem like that unique of an application and I wonder why it is not easier to find modules that allow this type of solution. What are others doing in this situation? i.e. - an existing TCP application where you'd like to "drop in" Wi-Fi

  • 1
    \$\begingroup\$ You want a "bridge". Random example: silexamerica.com/products/connectivity-solutions/… \$\endgroup\$ – pjc50 Jan 22 '16 at 19:16
  • \$\begingroup\$ Then you want a real embedded operating system with a real TCP/IP stack, not one in which stacks are bolted into apps or walled-garden components. \$\endgroup\$ – Kaz Jan 22 '16 at 20:32
  • \$\begingroup\$ The bridge device looks nice. That would serve the purpose except that I want to integrate the solution. And end up with a device that has an Ethernet interface and a Wi-Fi interface. \$\endgroup\$ – ZooS Jan 25 '16 at 20:48

The modules that have the embedded TCP/IP stack all have a Cortex M3, M4 or similar processor to run the stack. You need a module without the processor, so you can use the stack on your existing processor. They are available, I'm using a Murata SN8000, partly because the drivers for Freescales Linux are available. These processor-less modules are cheaper and have better performance than the embedded processor versions.

  • \$\begingroup\$ So does it have a simple API? for example: scan_networks() //return list of wifi networks in the area; set_mac_address() //to set the mac address the module will use; send_raw_data() //send Ethernet packet; that kind of stuff? \$\endgroup\$ – ZooS Jan 25 '16 at 22:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.