Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion Groups
General
General TopicsGSMBluetooth
Providers
AlltelATT WirelessCingularFidoNextelSprint PCST-MobileVerizon
Manufacturers
EricssonNokiaMotorola
Country Specific
Australian GroupUK Group
Related Topics
PocketPCPalmMore Topics ...

Cellular Phone Forum / General / GSM / January 2008

Tip: Looking for answers? Try searching our database.

How to sense 3G or GPRS?

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Martin Evans - 11 Jan 2008 09:55 GMT
I have an application that makes data connections and would like to be able
to report if the connection will be 3G or GPRS based. Which modem commands
are related to this?

Ideally I would like to also be able to detect "signal" strengths for both
and therefore choose which to use. I realise AT+CSQ is not suitable.

The solution might need to work on different phones/modems so if there are
also proprietary commands they would also be really useful to know.

Thanks

Martin
John Henderson - 13 Jan 2008 01:05 GMT
> I have an application that makes data connections and would
> like to be able to report if the connection will be 3G or GPRS
> based.

I'm interested in buying a 3G (UMTS) dedicated modem, but the
range seems very limited at present.  As I live in Australia,
I'd want one covering both 850 and 2100 MHz UMTS bands.  I've
also read that 900 MHz UMTS will be used here for rural
coverage by Optus and Vodafone.

At the moment, I've done only very limited experimentation with
a Sony Ericsson V600i GSM/UMTS phone.

> Which modem commands are related to this?

I presume you've got a copy of 3GPP specification 27.007.

AT+CGEQREQ and AT+CGEQMIN seem to be specific commands for UMTS,
but I've not yet come to terms with how they work.

The old AT+COPS command also seems to offer some possibilities
with the addition of the <AcT> (access technology) parameter:

       AT+COPS=[<mode>[,<format>[,<oper>[,< AcT>]]]]

My V600i doesn't support the <AcT> parameter.  Otherwise, it
seems to me that:

       AT+COPS=1,2,"50503",2

might restrict this phone to Vodafone Australia UMTS (3G)
services, for example, and exclude their GSM cells.

> Ideally I would like to also be able to detect "signal"
> strengths for both and therefore choose which to use. I
> realise AT+CSQ is not suitable.

I presume you're getting "99" (not known or not detectable) from
UMTS cells.  At least that's what I'm getting:

       AT+COPS=3,2
       OK
       AT+CREG=2
       OK

       +CREG: 1,"FB00","0BB846C4"
       AT+CSQ;+CIND?
       +CSQ: 99,99

       +CIND: 5,2,0,0,1,0,0,0,0,0

       +CREG: 1,"FB00","0BB846E2"
       AT+CSQ;+CIND?
       +CSQ: 99,99

       +CIND: 5,1,0,0,1,0,0,0,0,0

whereas with ordinary GSM cells I get the likes of:

       +CREG: 1,"290A","00005A17"
       AT+CSQ;+CIND?
       +CSQ: 13,99

       +CIND: 5,5,0,0,1,0,0,0,0,0

where my parameter 2 in the "+CIND: " result is signal quality
in the range 0-5.  On this phone, I find I can get this same
limited resolution signal information as "+CIEV: 2,<n>"
unsolicited result codes (for GSM and UMTS cells alike) with
the command:

       AT+CMER=3,0,0,1

like this:

       AT+CMER=3,0,0,1

       OK

       +CREG: 1,"FB00","0BB846E2"

       +CIEV: 2,1

       +CREG: 1,"290A","00005A52"

       +CIEV: 2,3

> The solution might need to work on different phones/modems so
> if there are also proprietary commands they would also be
> really useful to know.

And I'd like info on any of those too.

John
Martin Evans - 15 Jan 2008 11:17 GMT
I do have a copy of the 3GPP but thanks for pointing that out as at least I
now know it was the right thing to be working from. The description in there
is not always real world so seeing your responses to the various commands
was useful. I seem to remember one of my tests with the <AcT> was a bit odd,
it reported the setting but failed to let it be configured.

After a bit of monitoring, we were able to spot the AT^SYSCFG command being
used by a huawei device and from this it was possible finally to switch the
unit into 3G. It is just a shame that 3GPP isn't always being
followed/spec'd for such operations.

Yep, getting the 99 on the AT+CSQ command, but this has been the case for
many years. I have one phone that happily reports a good signal strength for
GSM calls and the second you make a GPRS call it freezes at whatever value
was last read. This could be 0,30,99 etc, this can easily throw off any
monitoring code waiting for a signal before dialling.

Here area a selection of responses from the is device:

Sending ATI3:

Manufacturer: huawei
Model: E270
Revision: 11.304.02.03.00
IMEI: ..........................
+GCAP: +CGSM,+FCLASS,+DS

OK

Sending AT^SYSCFG=?:

OK

Sending AT^SYSCFG?:

^SYSCFG:13,1,3FFFFFFF,1,2

OK

Sending AT+CSQ=?:

+CSQ: (0-31,99),(99)

OK

Sending AT+CSQ:

+CSQ: 9,99

OK

Sending AT+CREG=?:

+CREG: (0-2)

OK

Sending AT+CREG?:

+CREG: 0,1

OK

Sending AT+CGREG=?:

+CGREG: (0-2)

OK

Sending AT+CGREG?:

+CGREG: 0,1

OK

Sending AT+CGEQREQ=?:

+CGEQREQ:
"IP",(0-4),(0-2048),(0-16000),(0-2048),(0-16000),(0-2),(0-1520),("0E0","1E1","1E2","7E3","1E3","1E4","1E5","1E6"),("0E0","5E2","1E2","5E3","4E3","1E3","1E4","1E5","1E6","6E8"),(0-3),(0,100-4000),(0-3)
+CGEQREQ:
"PPP",(0-4),(0-2048),(0-16000),(0-2048),(0-16000),(0-2),(0-1520),("0E0","1E1","1E2","7E3","1E3","1E4","1E5","1E6"),("0E0","5E2","1E2","5E3","4E3","1E3","1E4","1E5","1E6","6E8"),(0-3),(0,100-4000),(0-3)

OK

Sending AT+CGEQREQ?:

+CGEQREQ: 1,2,0,0,0,0,2,0,"0E0","0E0",3,0,0
+CGEQREQ: 2,2,0,0,0,0,2,0,"0E0","0E0",3,0,0
+CGEQREQ: 3,2,0,0,0,0,2,0,"0E0","0E0",3,0,0
+CGEQREQ: 4,2,0,0,0,0,2,0,"0E0","0E0",3,0,0
+CGEQREQ: 5,2,0,0,0,0,2,0,"0E0","0E0",3,0,0
+CGEQREQ: 6,2,0,0,0,0,2,0,"0E0","0E0",3,0,0
+CGEQREQ: 7,2,0,0,0,0,2,0,"0E0","0E0",3,0,0
+CGEQREQ: 8,2,0,0,0,0,2,0,"0E0","0E0",3,0,0
+CGEQREQ: 9,2,0,0,0,0,2,0,"0E0","0E0",3,0,0
+CGEQREQ: 10,2,0,0,0,0,2,0,"0E0","0E0",3,0,0
+CGEQREQ: 11,2,0,0,0,0,2,0,"0E0","0E0",3,0,0
+CGEQREQ: 12,2,0,0,0,0,2,0,"0E0","0E0",3,0,0
+CGEQREQ: 13,2,0,0,0,0,2,0,"0E0","0E0",3,0,0
+CGEQREQ: 14,2,0,0,0,0,2,0,"0E0","0E0",3,0,0
+CGEQREQ: 15,2,0,0,0,0,2,0,"0E0","0E0",3,0,0
+CGEQREQ: 16,2,0,0,0,0,2,0,"0E0","0E0",3,0,0

OK

Sending AT+CGEQMIN=?:

+CGEQMIN:
"IP",(0-4),(0-2048),(0-16000),(0-2048),(0-16000),(0-2),(0-1520),("0E0","1E1","1E2","7E3","1E3","1E4","1E5","1E6"),("0E0","5E2","1E2","5E3","4E3","1E3","1E4","1E5","1E6","6E8"),(0-3),(0,100-4000),(0-3)
+CGEQMIN:
"PPP",(0-4),(0-2048),(0-16000),(0-2048),(0-16000),(0-2),(0-1520),("0E0","1E1","1E2","7E3","1E3","1E4","1E5","1E6"),("0E0","5E2","1E2","5E3","4E3","1E3","1E4","1E5","1E6","6E8"),(0-3),(0,100-4000),(0-3)

OK

Sending AT+CGEQMIN?:

+CGEQMIN:

OK

Sending AT+CIND=?:

COMMAND NOT SUPPORT

Sending AT+CIND?:

COMMAND NOT SUPPORT

Sending AT+CMER=?:

COMMAND NOT SUPPORT

Sending AT+CMER?:

COMMAND NOT SUPPORT

Sending AT+CIEV=?:

COMMAND NOT SUPPORT

Sending AT+CIEV?:

COMMAND NOT SUPPORT

>> I have an application that makes data connections and would
>> like to be able to report if the connection will be 3G or GPRS
[quoted text clipped - 90 lines]
>
> John
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.