How to sense 3G or GPRS?
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
"John Henderson" <jhenRemoveThis@talk21.com> wrote in message
news:5ut6fgF1jqp94U1@mid.individual.net...
> Martin Evans wrote:
>
>> 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
|