The modem, when connected via USB, emulates a Hayes “AT” command set compatible modem. Some of the commands are extensions for 3G devices ratified the “3GPP TS 27.007 AT command set for 3G User Equipment (UE)”
at http://www.3gpp.org/ftp/Specs/html-info/27007.htm.
The IPWireless modem implements a very basic subset of this specification. Here is a list of known commands, and a description of what they do. This list isn’t exhaustive, there are some other commands, for PIN management etc, but I haven’t bothered to document those, as Sentech doesn’t requires SIM cards – hence the PIN functions don’t do anything. Also note that these are brief, generalized descriptions of what they do. For the full spec, read the 3GPP document.
!AT+CGMM – Get model ID
*Function:* Returns the model ID of the equipment. *Example:* AT+CGMM? +CGMM: Phase 1(c) 0 OK
!AT+CGMR – Get firmware version
*Function:* Returns the firmware level of the modem. *Example:* AT+CGMR? +CGMR: 4.2.1.1 / A1 (2.0) / A2 (2.0); 4.2.1.1 0 OK
!AT+CGSN – Get modem IMEI
*Function:* Returns the GSM IMEI unique identifier of the modem. *Example:* AT+CGSN? +CGSN: 351152000146190 0 OK
!AT+CSQ – Get signal strength information
*Function:* Returns the signal strength percentage, RSCP, and ISCP *Example:* AT+CSQ +CSQ: 29,99,-79,-95,5 OK *Description:* In this example, 29 is the reported percentage signal strength, 99=unknown fixed value, -79 is the RSCP, and -95 is the ISCP. It is unclear what the final "5" indicates. *Alternate example:* Query supported/range of CSQ values AT+CSQ=? +CSQ: (0-91,99),99,-116..-25,-116..-25 OK
!AT+COPS – Operator selection and querying.
*Function:* Returns/selects the Network provider *Example:* AT+COPS? +COPS: 1,2,"00000" OK *Description:* In the above example, the list of known operators was requested, returning Sentech's "00000", which you will see in the dialler. "2" is the numeric ID for use in subsequent commands. "1" is the current status of the provider. The following status codes apply: "00000" is the alphanumeric operator ID. : 0 unknown 1 available 2 current 3 forbidden An operator Sentech is selected in the following fashion: AT+COPS=~[, ,] E.g. AT+COPS=1,2,"00000" Where "1" (mode) means manual selection, "2" means 'select-by-numeric-id', and "0000" is Sentech's ID. Other modes: 0 automatic ( field is ignored) 1 manual ( field shall be present) 2 deregister from network 3 beyond scope of this description... 4 manual/automatic ( field shall be present); if manual selection fails, automatic mode (=0) is entered
!AT+CBC – Get battery information
Function: Returns the signal strength percentage, RSCP, and ISCP *Example:* AT+CCBC +CBC: 13,97 OK *Description:* In this example, 13 appears to indicate "AC Power". 97 is the battery level, in percentage. Alternative example: Query supported/range of CBC values AT+CBC=? +CBC: (0,1,2,3,4),(1-100) OK It is interesting to note, that the modem appears to report values outside of the range. (13 in the example).
!AT+CGATT – Get/set frequency information
*Function:* Get the frequency, and base station attached to *Example:* AT+CGATT? +CGATT: 2506000, 7.68Mcps, 31, 126 OK *Description:* It's unclear what all these numbers mean, but at a guess 2506000 is obviously the frequency used to talk to the currrently attached tower. 7.68Mcps is probably the negotiated maximum speed, 31=unknown, and 126 is the base station number. *Function:* Clear frequency list AT+CGATT=0 OK AT+CGATT=1,0 OK Description: Clears the modem's internal frequency list. AT+CGATT? for instance, will report that the modem is not connected to any tower - "+CGATT: -, -, -, -" *Function:* Select a set of frequencies AT+CGATT=1,,... Freq, can be any of the three Sentech frequencies: *Example:* AT+CGATT=0 OK AT+CGATT=1,0 OK AT+CGATT=1,2518000,2506000,2530000 The modem will respond, immediately with "OK" if it was able to attach to a tower using the specified frequency(ies). If not, it will not respond, until another character is sent. This can be used to check of it's possible to attach to a tower at the specified frequency, within a specific timeout. If the modem attached, using the specified frequencie(s), AT+CGATT? will return the tower details. It would be nice if this command actually worked as one would expect it to. The modem however seems to be very insistent on what tower it latches on, regardless of specified frequencies, so the data in this command appears to be more of a "hint" to the modem than a set instruction. The modem seems to scan a wide range of frequencies, regardless of this hint.