I am working with a BlackBerry BOLD 9000 with OS 4.6.0. The 3G TCP connection service provider is Rogers.

The handset nevere had an IT policy or a connection through a BES server. The Firewall option is Disabled.

We have a test j2me client application that can use wifi or 3G independently through the deviceside=true to receive data from our webserver.

The handset Firewall option is Disabled.

We are having trouble making a socket connection through 3G - with wifi there is no problem.

I have also verified that when I try 3G that I can access the server server through an http connection.

The strangest behavior is if I first access the socket successfully in a wifi connection and then immediately turn off wifi and try to access through 3G, it works! If I close the application and wait a few minutes and try again, I cannot connect through 3G, but of course have no trouble making a socket connection through wifi or using an http connection.

Would this have something to do with the version of my OS. The last time I upgraded the system software was the end of August, 2009?

To make a wifi connection, should use ;interface=wifi. For direct TCP on Rogers, you need to specify the APN information either manually via Options > Advanced Options > TCP or programmatically via ;deviceside=true;apn=internet.com

We have done this in our code and wifi is working properly and 3G does work properly when streaming data from our

server over an http connection.

We can stream data through wifi from our server with a raw socket connection and if we use 3G alone immediately after a wifi connection, that will work too.

What doesn't work is using 3G if there has not been a successful wifi (or 3G) connection a few seconds before.

We have built a test utility just to connect with the socket and download/upload very small amounts of data to it...so the problem has nothing to do with our server side video streaming application software.

What happens when you try to connect? Are you able to connect to your server and the connection fails? Or does it fail to connect to your server at all? What exception is thrown and what are its toString details? What line of code is triggering the exception?

Mark SohmBlackBerry Development Advisor

Please refrain from posting new questions in solved threads.Problem solved? Click the Accept As Solution button.Found a bug? Report it using Issue Tracker

If we turn off wifi and reconnect using the 3G connection quickly, the connection also works.

If there is a delay, say, 1 minute or so, before attempting the connection, the 3G connection does not work.

What I have described above is simply a test utility we've written in j2me (all our programming is in j2me) that simply writes/reads a string of data to the socket. In the case of the 3G that doesn't work, the connection is made from the client to the server but then is dropped after a few seconds without a server timeout. There is no error message.