IP NAT Fastrack Supreme as Internet Gateway


Hi forumuser,

perhaps someone can tell me if it is possible to use the Fastrack Supreme as an internet gateway. I have a client on the serial port of the modem which I need to connect to the internet over GPRS. As long as there is an ip connection between the uart of the client an the modem and another ip connection on the GPRS site, I need to NAT/masquerade/route the traffic between these two nets. Is the Open AT OS capable of doing this or the WIP plugin?


CLIENT <–> Fastrack <–> Internet


Fastrack UART: PPP CLient and Internet Gateway for the CLIENT
Fastrack GPRS: Internet

I hope you understand what I wanna do. Any help is appreciated.

What I programmed:

I used a bearer for the uart and a second bearer for the gprs. There is a flag WIP_BOPT_IP_SETGW which I set TRUE for the GPRS bearer and FALSE for the UART bearer. I guess that this option sets the default gateway which is used for all external networks, aka the internet.




I think that WIP5, which comes with Open AT 2.10, supports at least routing, maybe NAT. Check with your distributor. However, I’m not sure that these features are supported through AT+WIP commands, you might have to write a (simple) Open AT application.


As far as I know, OPEN AT and WIP are supporting IP Routing but not NAT, which I need for NAT Routing of the packets from the client to the internet.

If I would program it myself, I have to process every single IP packet on both ends (GPRS, UART) to change the source or destination ip. I also have to route it between the 2 interfaces, which are of different speed, so I need a kind of traffic control etc. Do I miss something or is that really that trivial or simple as you wrote before?


it’s definitely not simple, but please check, I really think the soon-to-be-released versions of WIP offer these features natively.

Some points I think you missed:

  • PPP protocol reimplementation on the UART side
  • the performance hit: every packet will have to be copied kernel->appli space, modified, and re-sent appli space->kernel.


Ok, thank you.

Where do I find the the changelog for the soon to be released version of Opent AT/WIP?


I have the similair problem, but I dont want to do full NAT, just some kind of HTTP
The fastrack should be connected to both ethernet(using IESM) and GPRS networks.
So, I have to open two bearers and two TCPServers on different bearers, but the function
wip_TCPServerCreate is not getting bearer as a parameter. How do I bind the server to particulair
bearer (or network interface)?


Each bearer has an IP address (its interface) that you can gather with a WIP_BOPT_XXX option. wip_TCPClientCreate() has a WIP_COPT_XXX option to bind it to a given interface. Bind the server to an interface and it’ll only be accessible through the corresponding bearer.


You would have to speak to your Distributor.


If you’re talking about WIP_COPT_STRADDR, then it’s indeed present but valid only for TCPClientCreate. TCPServer has no such option or at least it’s not mentioned in the manual.
I suppose if server is created with two bearers active, it should respond to connections from any interface. But it would be better to restrict the TCP server to accept connections only
from specific bearer.
Thanks for reply.