Dual bearer configuration


I need to use both the GPRS bearer and Ethernet bearer at the same time. Is this possible as it is not very clear to me which device I am using, or how I could specify the device in the sample programs.


See my thread on this topic: http://www.wavecom.com/modules/movie/scenes/forums/viewtopic.php?f=16&t=2454

Unfortunately it doesn’t seem possible with the Q24Plus. I can start both bearers successfully and obtain an IP address for each network, but only one is actually able to pass traffic. For example, if I start a PPP connection over UART2, I’m able to ping the Q24Plus successfully. If I then start a GPRS connection, I lose all connectivity on the PPP connection, but I can now ping the unit via the GPRS connection.

Bit of a brick wall unfortunately :frowning: Especially frustrating given that the documentation specifically mentions IP routing, and even has pictures of a single device connected to two bearers simultaneously!

I’m about to start investigating the Q26 instead as fft suggested, so fingers crossed that’s the device you’re working with already :slight_smile:


I routinely get double (and occasionnaly triple) bearer configs running smoothly with Open AT Lua, on Q26 and WMP100. I don’t known about Q24, but I think it’s supposed to support multiple bearers, at least as long as routing rules aren’t overlapping. Are you sure the routings provided by GPRS and PPP are compatible?


I thought the Q24 supported multiple bearers as well, but can’t find any documentation about how to view or set routing rules for it. I’m experimenting now with a Fastrack Supreme I had lying around, hopefully that works!


You can’t use a Q24 as a router (it will soon be possible with Q26, WMP, and all platforms supporting Oasis 2.10).

When it comes to routing the module’s own packets, settings are bearer-dependent: check the options of the ones you use.


At present the thing that is really confusing me is I create a bearer, I get a handle to this bearer and everything is all setup nicely. From there the concept of a bearer seems to vanish, for example I create a UDP socket and it is setup automatically on the active bearer.

What happened to the part in between, how to I set the active bearer before creating a socket. I can’t find anything in the documentation.


Each open bearer on the WCPU is bound to a distinct local address, called an interface. An internet connected computer as at least as many different IP addresses as physical bearers. The way your sockets exchange data with the outside world is determined by standard IP routing rules, as found in any generic documentation about IP.

For instance, if you have a PPP bearer bound to interface and a GPRS bearer bound to, packets to addresses 10.x.x.x will automatically go on GPRS, packets to 192.168.1.x will go to PPP; packets to other kinds of IP addresses might go through one or the other, depending on your default gateway. If both bearers have set a default gateway, the latest opened determines the default gateway. In most realistic embedded applications, only one bearer will offer a default gateway.

For TCP listen sockets and UDP sockets, by default they’re bound to, i.e. they’re visible from all interfaces. You can also bind them to a single interface by passing option WIP_COPT_STRADDR to wip_TCPServerCreateOpts() or wip_UDPCreateOpts(), if you don’t want them to be globally visible.



This is my dual bearer conflicting situation. (Q2687 / Oasis 2_20, V73_00)

I start a GPRS bearer on private APN which I can not change, I get
Local IP: Gateway:
When I wip_TCPClientCreateOpts(…) if works fine.

When I only start Ethernet Bearer with DHCP on network I get
Local IP:, DNS1: 82.x.x.x, DNS2:82.x.x.y Gateway:, MSK:
When I wip_TCPClientCreateOpts(185.182.x.x) it goes to ADSL gateway and it works fine.

Now the gloal is to start GPRS bearer and Ethernet bearer at the same time and when I
wip_TCPClientCreateOpts( it should go to the GPRS and when I
wip_TCPClientCreateOpts(185.182.x.x) it should go over Ethernet/Adsl.

Yes, we can see the problem in the interface but I can not change anything.

If I start Ethernet and then GPRS at last, wip_TCPClientCreateOpts( goes well to gprs but
wip_TCPClientCreateOpts(185.182.x.x) does not goes to Ethernet.

If I start Gprs and then Ethernet as last, wip_TCPClientCreateOpts( fails to connect but
wip_TCPClientCreateOpts(185.182.x.x) does connect.

It seems to me that WIP_BOPT_IP_SETGW flag is totally ignored. It is always the last bearer started that is the default Gateway.

Trying to add static route
wip_ipRouteAdd(“185.182.x.x”,””, “”) when the GPRS is the last bearer started also does not work.

I can not work with only one bearer because starting and stopping a bearer is far to slow.

If anyone has an idea how to come over this conflicting situation would be mostly appreciated.