Connect One SM2144N1 Nano WiReach 802.11b/g, 2144 User Manual AT i Programmer s Manual

Connect One Ltd. Nano WiReach 802.11b/g, 2144 AT i Programmer s Manual

Users Manual

Download: Connect One SM2144N1 Nano WiReach 802.11b/g, 2144 User Manual AT i Programmer s Manual
Mirror Download [FCC.gov]Connect One SM2144N1 Nano WiReach 802.11b/g, 2144 User Manual AT i Programmer s Manual
Document ID1162098
Application ID8C7h51AAUivQxm/2uTNJvQ==
Document DescriptionUsers Manual
Short Term ConfidentialNo
Permanent ConfidentialNo
SupercedeNo
Document TypeUser Manual
Display FormatAdobe Acrobat PDF - pdf
Filesize201.04kB (2513035 bits)
Date Submitted2009-08-31 00:00:00
Date Available2009-08-31 00:00:00
Creation Date2008-12-01 15:54:31
Producing SoftwareMicrosoft® Office Word 2007
Document Lastmod2009-07-28 17:17:00
Document TitleAT+i Programmer's Manual
Document CreatorMicrosoft® Office Word 2007
Document Author: Connect One Technical Publications

AT+i TM
Programmer’ s Manual
Version 8.32
for iChip™ CO2
with Firmware Version 722P01
November 2008
International:
Connect One Ltd.
20 Atir Yeda Street
Kfar Saba 44643, Israel
Tel: +972-9-766-0456
Fax: +972-9-766-0461
http://www.connectone.com
Pub. No. 20-5000-08_32, November 2008
USA:
Connect One Semiconductors, Inc.
560 S. Winchester Blvd.
Suite 500
San Jose, CA 95128
Tel: (408) 572-5675
Fax: (408) 572-5601
Discalaimer, Copyrights and Trademarks
The information in this document is subject to change without notice and shall not be
construed as a commitment on the part of Connect One.
Connect One assumes no liability for any errors that may appear in this document.
The software described in this document is furnished under a license agreement and may
be used or copied only in accordance with the terms of such a license agreement. It is
forbidden by law to copy the software on any medium except as specifically allowed in
the license agreement. No part of this document may be reproduced or transmitted in any
form or by any means, electronic or mechanical, including but not limited to
photocopying, recording, transmitting via fax and/or modem devices, scanning, and/or
information storage and retrieval systems for any purpose without the express written
consent of Connect One.
iChip, SerialNET, AT+i, and Connect One are trademarks of Connect One Ltd.
Copyright  2000-2008 Connect One Ltd. All rights reserved.
WPA Supplicant
Copyright (c) 2003-2005, Jouni Malinen  and contributors All Rights Reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted
provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and
the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
and the following disclaimer in the documentation and/or other materials provided with the
distribution.
3. Neither the name(s) of the above-listed copyright holder(s) nor the names of its contributors may
be used to endorse or promote products derived from this software without specific prior written
permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
AT+i Programmer‘s Manual Version 8.32
ii
Revision History 20-5000-08_32
Revision History 20-5000-08_32
Version
1.0
3.0
4.0
Date
Nov. 1999
Nov. 2000
January 2001
5.0
6.0
February 2001
March 2001
Description
Original Release.
Updated with iChip LAN support.
Updated with AT+i commands for listening sockets and
email firmware update. Requires iChip/iChip LAN with
Firmware IC602B01 and boot block BBIC0620 or
higher.
The sizes of the following iChip parameters have been
increased: ISPn, USRN, PWD, SMTP, POP3, MBX,
MPWD, FLS, TOA, REA, CCn, UMBX, UPOP, UMPW.
New or enhanced AT+i commands: WWW, P#, WPWD,
RPG.
Applicable to Firmware revision IC603Bxx or higher.
6.1
6.3
June 2001
July 2001
6.4
6.5
Sep. 2001
Oct. 2001
7.1
July 2002
7.2
Nov. 2002
7.4
August 2003
7.4a
7.4b
7.6
October 2003
Dec. 2004
September 2005
7.6a
8.0a
8.14
8.20
8.21
8.30
8.31
8.32
April 2006
June 2007
September 2007
December 2007
January 2008
March 2008
March 2008
November 2008
Miscellaneous Corrections.
Additions for iChip Plus, Firmware revision IC604Bxx
or higher.
Internal Reorganization.
Additions describing SerialNET mode, Firmware
revision IC605Bxx or higher.
Additions describing the full Web server, FTP and
Telnet for Firmware revision Ix701B25 or higher.
Updates that cover additions and changes in Firmware
revision 702P11 or higher for CO561AD-x and
CO661AL-x iChip devices.
Updates that cover additions and changes up to
Firmware revision 704B12 for CO561AD-x and
CO661AL-x iChip devices.
Updates that cover firmware revision up to 704B16.
Updates that cover firmware revision up to 704P09.
Updates that cover firmware revisions 705xxx and
706xxx or higher. Removes references to the CO561-x
iChip devices, which are not supported beyond 704xxx.
Corrected a few typos
Updates that cover firmware revisions up to 800xxx.
Extensive editing.
Extensive editing.
Miscellaneous corrections.
Updates covering firmware additions up to 722B05
iRouter mode modifications
BSD copyright notice; Miscellaneous corrections
AT+i Programmer‘s Manual Version 8.32
iii
Contents
Contents
AT+i Command Set ............................................................................................... 1-1
1.1
SCOPE .............................................................................................................. 1-1
1.2
AT+I COMMAND GUIDELINES ......................................................................... 1-1
1.3
AT+I COMMAND FORMAT ............................................................................... 1-1
1.4
ESCAPE CODE SEQUENCE ................................................................................ 1-2
1.5
SOCKET COMMAND ABORT ............................................................................. 1-2
1.6
FLEXIBLE HOST AND MODEM INTERFACES ..................................................... 1-2
1.7
AUTO BAUD RATE DETECTION........................................................................ 1-3
1.8
HIGH SPEED USART ....................................................................................... 1-4
1.9
RESET VIA SERIAL LINK .................................................................................. 1-4
1.10 ENTERING RESCUE MODE DURING RUNTIME .................................................. 1-5
1.11 INTERNET SESSION HANG-UP PROCEDURE (MODEM ONLY) ........................... 1-5
1.12 MODEM STARTUP ............................................................................................ 1-5
1.13 ANALOG-TO-DIGITAL CONVERTER ................................................................. 1-5
1.14 ICHIP READINESS INDICATION ......................................................................... 1-6
1.15 PROGRAMMING ICHIP‘S SERIAL NUMBER INTO FLASH MEMORY .................... 1-6
1.15.1
+iSNUM — iChip Serial Number ........................................................... 1-6
1.16 PROGRAMMING A UNIQUE ID STRING INTO FLASH MEMORY .......................... 1-7
1.16.1
+iUID — Unique ID ............................................................................... 1-7
General Format ..................................................................................................... 2-1
2.1
AT+I COMMANDS BY CATEGORY .................................................................... 2-1
AT+i Result Code Summary ................................................................................ 3-1
Report Status ......................................................................................................... 4-1
4.1
4.2
Connection ............................................................................................................. 5-1
5.1
5.2
5.3
5.4
5.5
+IBDRA — FORCES ICHIP INTO AUTO BAUD RATE MODE ............................. 5-1
+IUP — INITIATE INTERNET SESSION.............................................................. 5-2
+ITUP — TRIGGERED INTERNET SESSION INITIATION .................................... 5-3
+IDOWN — TERMINATE INTERNET SESSION ................................................. 5-5
+IPING — SEND A PING REQUEST TO A REMOTE SERVER ............................ 5-6
E-mail Send Commands ....................................................................................... 6-1
6.1
6.2
6.3
+I[!]RPI — REPORT STATUS ............................................................................ 4-1
STATUS MESSAGE FORMAT ............................................................................. 4-3
+IEMA — ACCEPT ASCII-CODED LINES FOR E-MAIL SEND ......................... 6-1
+IEMB — ACCEPT BINARY DATA FOR IMMEDIATE E-MAIL SEND ................. 6-2
+IE* — TERMINATE BINARY E-MAIL ............................................................. 6-4
E-Mail Retrieve...................................................................................................... 7-1
7.1
7.2
7.3
+IRML — RETRIEVE MAIL LIST ..................................................................... 7-1
+IRMH — RETRIEVE MAIL HEADER .............................................................. 7-2
+IRMM — RETRIEVE MAIL MESSAGE............................................................ 7-3
AT+i Programmer‘s Manual Version 8.32
iv
Contents
HTTP Client Interface .......................................................................................... 8-1
8.1
8.2
+IRLNK — RETRIEVE LINK............................................................................ 8-1
+ISLNK — SUBMIT A POST REQUEST TO A WEB SERVER ............................ 8-3
SerialNET Mode Initiation ................................................................................... 9-1
9.1
+ISNMD — ACTIVATE SERIALNET MODE .................................................... 9-1
10 Web Server Interface .......................................................................................... 10-1
10.1
10.2
+IWWW — ACTIVATE EMBEDDED WEB SERVER ........................................ 10-1
+IWNXT — RETRIEVE NEXT CHANGED WEB PARAMETER.......................... 10-2
11 File Transfer Protocol (FTP) .............................................................................. 11-1
11.1
11.2
11.3
11.4
11.5
11.6
11.7
11.8
11.9
11.10
11.11
11.12
11.13
+I[@]FOPN — FTP OPEN SESSION .............................................................. 11-1
+IFDL — FTP DIRECTORY LISTING.............................................................. 11-2
+IFDNL — FTP DIRECTORY NAMES LISTING .............................................. 11-3
+IFMKD — FTP MAKE DIRECTORY ............................................................ 11-4
+IFCWD — FTP CHANGE WORKING DIRECTORY ........................................ 11-5
+IFSZ — FTP FILE SIZE ............................................................................... 11-6
+IFRCV — FTP RECEIVE FILE ..................................................................... 11-7
+IFSTO — FTP OPEN FILE FOR STORAGE .................................................... 11-8
+IFAPN — FTP OPEN FILE FOR APPENDING ................................................ 11-9
+IFSND — FTP SEND FILE DATA .............................................................. 11-10
+IFCLF — FTP CLOSE FILE ....................................................................... 11-11
+IFDEL — FTP DELETE FILE ..................................................................... 11-12
+IFCLS — FTP CLOSE SESSION ................................................................. 11-13
12 Telnet Client ......................................................................................................... 12-1
12.1
12.2
12.3
12.4
12.5
12.6
+ITOPN — TELNET OPEN SESSION .............................................................. 12-1
+ITRCV — TELNET RECEIVE DATA ............................................................. 12-2
+ITSND — TELNET SEND DATA LINE .......................................................... 12-3
+ITBSN[%] — TELNET SEND A BYTE STREAM............................................ 12-4
+ITFSH[%] — FLUSH TELNET SOCKET‘S OUTBOUND DATA ........................ 12-5
+ITCLS — TELNET CLOSE SESSION ............................................................. 12-6
13 Direct Socket Interface ....................................................................................... 13-1
13.1
13.2
13.3
13.4
13.5
13.6
13.7
13.8
13.9
13.10
13.11
13.12
+ISTCP — OPEN AND CONNECT A TCP SOCKET ......................................... 13-1
+ISUDP — OPEN A CONNECTIONLESS UDP SOCKET................................... 13-2
+ILTCP — OPEN A TCP LISTENING SOCKET ............................................... 13-3
+ILSST — GET A LISTENING SOCKET‘S ACTIVE CONNECTION STATUS ....... 13-4
+ISST — GET A SINGLE SOCKET STATUS REPORT ....................................... 13-5
+ISCS — GET A SOCKET CONNECTION STATUS REPORT ............................. 13-6
+ISSND[%] — SEND A BYTE STREAM TO A SOCKET................................... 13-7
+ISRCV — RECEIVE A BYTE STREAM FROM A SOCKET‘S INPUT BUFFER.... 13-9
+IGPNM — GET PEER NAME FOR A SPECIFIED SOCKET ............................ 13-11
+ISDMP — DUMP SOCKET BUFFER ............................................................ 13-12
+ISFSH[%] — FLUSH SOCKET‘S OUTBOUND DATA ................................... 13-13
+ISCLS — CLOSE SOCKET ......................................................................... 13-14
AT+i Programmer‘s Manual Version 8.32
Contents
14 Special Modem Commands ................................................................................ 14-1
14.1
+IMCM — ISSUE INTERMEDIATE COMMAND TO MODEM ............................. 14-1
15 Wireless LAN Mode ............................................................................................ 15-1
15.1 +IWLTR — WIRELESS LAN TRANSMISSION RATE ...................................... 15-2
15.2 +IWLPW — SET WLAN TX POWER ............................................................ 15-3
15.3 +IWRFU — WLAN RADIO UP ..................................................................... 15-4
15.4 +IWRFD — WLAN RADIO DOWN ............................................................... 15-5
15.5 +IWRST — RESET WLAN CHIPSET ............................................................. 15-6
15.6 +IWLBM — WLAN B MODE ...................................................................... 15-7
15.7 +IWLGM — WLAN G MODE ...................................................................... 15-8
15.8 ROAMING MODE ........................................................................................... 15-9
15.8.1
iChip Behavior Following a Hardware or Software Reset ................... 15-9
15.8.2
iChip Behavior when AP Signal Becomes Weak .................................. 15-9
15.8.3
iChip Behavior in the Event of a Lost Link ......................................... 15-10
15.9 MULTIPLE SSIDS ........................................................................................ 15-10
15.10 ICHIP POWER SAVE MODE........................................................................... 15-11
16 IP Registration ..................................................................................................... 16-1
16.1
16.2
16.3
E-MAIL REGISTRATION ................................................................................. 16-1
SOCKET REGISTRATION ................................................................................. 16-2
WEB SERVER REGISTRATION ........................................................................ 16-2
17 DHCP Client ........................................................................................................ 17-1
18 DHCP Server ....................................................................................................... 18-1
19 iRouter Mode ....................................................................................................... 19-2
19.1
19.2
19.3
19.4
19.5
19.6
19.7
19.8
19.9
19.10
INTRODUCTION .............................................................................................. 19-2
ESTABLISHING IROUTER MODE ...................................................................... 19-2
BASIC ROUTING............................................................................................. 19-2
TERMINATING IROUTER MODE...................................................................... 19-3
CONFIGURING ICHIP WHEN IN IROUTER MODE .............................................. 19-3
AT+I INTERFACE TO ICHIP ............................................................................ 19-4
BAUD RATE SETTINGS AND AUTO BAUD RATE ............................................. 19-4
IROUTER AND POWER SAVE MODE ............................................................... 19-4
+ISTRR — START ROUTER ........................................................................... 19-5
+ISTPR — STOP ROUTER ............................................................................. 19-6
20 Ad-Hoc Networks ................................................................................................ 20-1
20.1 CONFIGURATION ........................................................................................... 20-1
20.2 ICHIP BEHAVIOR IN AD-HOC MODE .............................................................. 20-1
20.2.1
Automatic Scanning for Existing Ad-Hoc Networks ............................. 20-1
20.2.2
Creating a New Ad-Hoc Network ......................................................... 20-1
20.2.3
Joining an Existing Ad-Hoc Network ................................................... 20-1
20.2.4
Merging Ad-Hoc Networks ................................................................... 20-2
AT+i Programmer‘s Manual Version 8.32
vi
Contents
21 Secure Socket Protocol ........................................................................................ 21-1
21.1
21.2
21.3
21.4
21.5
21.6
ESTABLISHING AN SSL3/TLS1 SOCKET CONNECTION ................................. 21-1
SENDING AND RECEIVING DATA OVER AN SSL3/TLS1 SOCKET................... 21-1
SSL3/TLS1 HANDSHAKE AND SESSION EXAMPLE ........................................ 21-1
SECURE FTP SESSION ON ICHIP ..................................................................... 21-2
+ISSL — SECURE SOCKET CONNECTION HANDSHAKE ................................. 21-4
+I[@]FOPS — SECURE FTP OPEN SESSION ................................................. 21-5
22 Network Time Client ........................................................................................... 22-1
23 MIME Encapsulated E-Mail Messages ............................................................. 23-1
23.1 ICHIP-GENERATED BINARY MESSAGE FORMATS .......................................... 23-1
23.2 MIME-RELATED AT+I COMMANDS AND PARAMETERS................................ 23-1
23.2.1
Binary Attachment Parameters ............................................................. 23-2
23.2.2
Defining A Textual Body for Binary Messages ..................................... 23-2
23.3 MIME-ENCAPSULATED E-MAIL MESSAGE FORMAT .................................... 23-3
24 Flow Control ........................................................................................................ 24-1
24.1
24.2
24.3
24.4
24.5
HOST  ICHIP SOFTWARE FLOW CONTROL .................................................. 24-1
SOFTWARE FLOW CONTROL DIAGRAM IN BINARY E-MAIL SEND ................. 24-3
SOFTWARE FLOW CONTROL DURING A SOCKET SEND.................................. 24-4
SOFTWARE FLOW CONTROL DIAGRAM IN SOCKET SEND .............................. 24-5
HOST  ICHIP HARDWARE FLOW CONTROL ................................................ 24-6
25 Remote Firmware Update .................................................................................. 25-1
25.1
25.2
25.3
INTRODUCTION .............................................................................................. 25-1
UPDATING FIRMWARE FROM A REMOTE SERVER .......................................... 25-1
+IRFU — REMOTE FIRMWARE UPDATE........................................................ 25-3
26 iChip Parameter Update ..................................................................................... 26-1
26.1
26.2
26.3
26.4
INTRODUCTION .............................................................................................. 26-1
REMOTE PARAMETER FILE (RPF) STRUCTURE .............................................. 26-1
HEADER PARAMETER NAMES AND VALUES .................................................. 26-2
UPLOADING A PARAMETERS UPDATE FILE TO ICHIP..................................... 26-3
27 iChip Embedded Web Server ............................................................................. 27-1
27.1
27.2
27.3
27.4
27.5
27.6
27.7
27.8
27.9
27.10
27.11
INTRODUCTION .............................................................................................. 27-1
FEATURES...................................................................................................... 27-1
WEB SERVER MODES .................................................................................... 27-2
THE APPLICATION WEBSITE .......................................................................... 27-2
PARAMETER TAGS ......................................................................................... 27-3
ICHIP CONFIGURATION MODE ....................................................................... 27-3
HOST INTERACTION MODE ............................................................................ 27-4
WEBSITE CREATION, PACKING, AND UPLOADING ......................................... 27-5
MANIPULATING VARIABLES IN THE APPLICATION WEBSITE ......................... 27-5
SECURITY AND RESTRICTIONS ....................................................................... 27-7
PARAMETER UPDATE ERROR HANDLING....................................................... 27-8
AT+i Programmer‘s Manual Version 8.32
vii
Contents
27.12 FILE TYPES SUPPORTED BY ICHIP‘S WEB SERVER ......................................... 27-8
28 iChip RAS Server ................................................................................................ 28-1
28.1 INTRODUCTION .............................................................................................. 28-1
28.2 RAS PARAMETERS ........................................................................................ 28-1
28.3 RAS THEORY OF OPERATION ........................................................................ 28-2
28.3.1
Auto PPP RAS Mode ............................................................................. 28-2
28.3.2
SerialNET Mode.................................................................................... 28-3
28.3.3
Lost Carrier .......................................................................................... 28-3
28.3.4
Restrictions ........................................................................................... 28-3
29 SerialNET Theory of Operation ........................................................................ 29-1
29.1 INTRODUCTION .............................................................................................. 29-1
29.2 SERIALNET MODE ........................................................................................ 29-1
29.3 SERVER DEVICES ........................................................................................... 29-2
29.4 CLIENT DEVICES ........................................................................................... 29-2
29.5 AUTOMATIC SERIALNET SERVER WAKE-UP PROCEDURE ............................ 29-3
29.6 TRANSMIT PACKETS ...................................................................................... 29-3
29.7 COMPLETING A SERIALNET SESSION ............................................................ 29-4
29.8 SERIALNET FAILED CONNECTION ................................................................ 29-4
29.9 LOCAL SERIAL PORT CONFIGURATION .......................................................... 29-4
29.10 ACTIVATION COMMAND ................................................................................ 29-4
29.11 SERIALNET OVER TELNET ......................................................................... 29-5
29.11.1 Mode of Operation ................................................................................ 29-6
29.11.2 RFC2217 Implementation ..................................................................... 29-6
30 File Transfer Protocol (FTP) Theory of Operation.......................................... 30-1
30.1
30.2
30.3
30.4
30.5
INTRODUCTION .............................................................................................. 30-1
ICHIP FAMILY FTP CLIENT COMMAND SET .................................................. 30-1
ICHIP FTP CLIENT OPERATION MODE ........................................................... 30-1
FTP COMMAND SOCKET ............................................................................... 30-1
FTP RECEIVE FLOW ...................................................................................... 30-2
31 Telnet Client Operation ...................................................................................... 31-1
32 Secure Socket Protocol Theory of Operation ................................................... 32-1
32.1 INTRODUCTION .............................................................................................. 32-1
32.2 GENERATING CERTIFICATES FOR USE WITH SERVERS ................................... 32-1
32.3 USING THE OPENSSL PACKAGE TO CREATE CERTIFICATES .......................... 32-1
32.4 CREATING A CERTIFICATE AUTHORITY ......................................................... 32-2
32.4.1
Creating the CA Environment ............................................................... 32-2
32.4.2
Creating the Test CA Configuration File.............................................. 32-2
32.4.3
Creating a Self-Signed Root Certificate ............................................... 32-3
32.5 SIGNING A CERTIFICATE WITH A CA CERTIFICATE ........................................ 32-4
32.5.1
Creating a Certificate Request.............................................................. 32-4
32.5.2
Using the Test CA to Issue the Certificate ............................................ 32-5
33 Remote AT+i Service........................................................................................... 33-1
AT+i Programmer‘s Manual Version 8.32
viii
Contents
33.1
33.2
33.3
33.4
INTRODUCTION .............................................................................................. 33-1
REMOTE AT+I COMMANDS ........................................................................... 33-1
CLOSING A REMOTE AT+I SESSION .............................................................. 33-1
CAVEATS AND RESTRICTIONS........................................................................ 33-1
34 Nonvolatile Parameter Database........................................................................ 34-1
34.1 PARAMETER DESCRIPTIONS ........................................................................... 34-1
34-6
34.2 +IFD — RESTORE ALL PARAMETERS TO FACTORY DEFAULTS ..................... 34-7
34.3 OPERATIONAL PARAMETERS ......................................................................... 34-8
34.3.1
+iXRC — Extended Result Code .......................................................... 34-8
34.3.2
+iDMD — Modem Dial Mode .............................................................. 34-9
34.3.3
+iMIS — Modem Initialization String ................................................ 34-10
34.3.4
+iMTYP — Set Type of Modem Connected to iChip .......................... 34-11
34.3.5
+iWTC — Wait Time Constant ........................................................... 34-13
34.3.6
+iTTO — TCP Timeout ...................................................................... 34-14
34.3.7
+iPGT — PING Timeout .................................................................... 34-15
34.3.8
+iMPS — Max PPP Packet Size ......................................................... 34-16
34.3.9
+iTTR — TCP Retransmit Timeout .................................................... 34-17
34.3.10 +iBDRF — Define A Fixed Baud Rate on Host Connection .............. 34-18
34.3.11 +iBDRM — Define A Fixed Baud Rate on iChip Modem Connection3419
34.3.12 +iBDRD — Baud Rate Divider........................................................... 34-20
34.3.13 +iAWS — Activate WEB Server Automatically .................................. 34-21
34.3.14 +iLATI — TCP/IP Listening Socket to Service Remote AT+i Commands
34-22
34.3.15 +iFLW — Set Flow Control Mode...................................................... 34-23
34.3.16 +iCPF — Active Communications Platform ...................................... 34-24
34.3.17 +iPSE — Set Power Save Mode ......................................................... 34-25
34.3.18 +iSDM — Service Disabling Mode .................................................... 34-26
34.3.19 +iDF — IP Protocol ‘Don’t Fragment’ Bit Value ............................. 34-27
34.3.20 +iCKSM — Checksum Mode .............................................................. 34-28
34.3.21 +iHIF — Host Interface...................................................................... 34-29
34.3.22 +iMIF — Modem Interface ................................................................. 34-30
34.3.23 +iADCL — ADC Level ....................................................................... 34-31
34.3.24 +iADCD — ADC Delta ...................................................................... 34-32
34.3.25 +iADCT — ADC Polling Time ........................................................... 34-33
34.3.26 +iADCP — ADC GPIO Pin ................................................................ 34-34
34.3.27 +iRRA — iChip Readiness Report Activation .................................... 34-35
34.3.28 +iRRHW — iChip Readiness Hardware Pin ...................................... 34-37
34.4 ISP CONNECTION PARAMETERS .................................................................. 34-38
34.4.1
+iISPn — Set ISP Phone Number ....................................................... 34-38
34.4.2
+iATH — Set PPP Authentication Method ......................................... 34-39
34.4.3
+iUSRN — Define Connection User Name ........................................ 34-40
34.4.4
+iPWD — Define Connection Password ............................................ 34-41
34.4.5
+iRDL — Number of Times to Redial ISP .......................................... 34-42
34.4.6
+iRTO — Delay Period between Redials to ISP ................................ 34-43
AT+i Programmer‘s Manual Version 8.32
ix
Contents
34.5 SERVER PROFILE PARAMETERS ................................................................... 34-44
34.5.1
+iLVS — ‘Leave on Server’ Flag ....................................................... 34-44
34.5.2
+iDNSn — Define Domain Name Server IP Address ......................... 34-45
34.5.3
+iSMTP — Define SMTP Server Name .............................................. 34-46
34.5.4
+iSMA — SMTP Authentication Method ............................................ 34-47
34.5.5
+iSMU — Define SMTP Login User Name ........................................ 34-48
34.5.6
+iSMP — Define SMTP Login Password........................................... 34-49
34.5.7
+iPOP3 — Define POP3 Server Name .............................................. 34-50
34.5.8
+iMBX — Define POP3 Mailbox Name ............................................. 34-51
34.5.9
+iMPWD — Define POP3 Mailbox Password ................................... 34-52
34.5.10 +iNTSn — Define Network Time Server ............................................. 34-53
34.5.11 +NTOD — Define Network Time-of-Day Activation Flag ................. 34-54
34.5.12 +iGMTO — Define Greenwich Mean Time Offset ............................. 34-55
34.5.13 +iDSTD — Define Daylight Savings Transition Rule ........................ 34-56
34.5.14 +iPDSn — Define PING Destination Server ...................................... 34-57
34.5.15 +iPFR — PING Destination Server Polling Frequency..................... 34-58
34.6 +IUFN — USER FIELDS AND MACRO SUBSTITUTION .................................. 34-59
34.7 EMAIL FORMAT PARAMETERS ..................................................................... 34-60
34.7.1
+iXFH — Transfer Headers Flag....................................................... 34-61
34.7.2
+iHDL — Limit Number of Header Lines .......................................... 34-62
34.7.3
+iFLS — Define Filter String ............................................................. 34-63
34.7.4
+iDELF — Email Delete Filter String ............................................... 34-64
34.7.5
+iSBJ — Email Subject Field ............................................................. 34-65
34.7.6
+iTOA — Define Primary Addressee ................................................. 34-66
34.7.7
+iTO — Email ‘To’ Description/Name .............................................. 34-67
34.7.8
+iREA — Return Email Address......................................................... 34-68
34.7.9
+iFRM — Email ‘From’ Description/Name....................................... 34-69
34.7.10 +iCCn — Define Alternate Addressee  ....................................... 34-70
34.7.11 +iMT — Media Type Value ................................................................ 34-71
34.7.12 +iMST — Media Subtype String ......................................................... 34-72
34.7.13 +iFN — Attachment File Name .......................................................... 34-73
34.8 HTTP PARAMETERS .................................................................................... 34-74
34.8.1
+iURL — Default URL Address ......................................................... 34-75
34.8.2
+iCTT — Define Content Type Field in POST Request ..................... 34-76
34.8.3
+iWPWD — Password for Application Website Authentication ........ 34-77
34.9 RAS SERVER PARAMETERS ......................................................................... 34-78
34.9.1
+iRAR — RAS RINGs ......................................................................... 34-78
34.9.2
+iRAU — Define RAS Login User Name ........................................... 34-79
34.9.3
+iRAP — Password for RAS Authentication ...................................... 34-80
34.10 LAN PARAMETERS ...................................................................................... 34-81
34.10.1 +iMACA — MAC Address of iChip .................................................... 34-81
34.10.2 +iDIP — iChip Default IP Address .................................................... 34-82
34.10.3 +iIPA — Active IP Address ................................................................ 34-83
34.10.4 +iIPG — IP Address of the Gateway .................................................. 34-84
34.10.5 +iSNET — Subnet Address ................................................................. 34-85
34.11 WIRELESS LAN PARAMETERS..................................................................... 34-86
AT+i Programmer‘s Manual Version 8.32
Contents
34.11.1 +iWLCH — Wireless LAN Communication Channel ......................... 34-86
34.11.2 +iWLSI — Wireless LAN Service Set Identifier .................................. 34-87
34.11.3 +iWLWM — Wireless LAN WEP Mode.............................................. 34-88
34.11.4 +iWLKI — Wireless LAN Transmission WEP Key Index ................... 34-89
34.11.5 +iWLKn — Wireless LAN WEP Key Array ........................................ 34-90
34.11.6 +iWLPS — Wireless LAN Power Save ............................................... 34-91
34.11.7 +iWLPP — Personal Shared Key Pass-Phrase.................................. 34-92
34.11.8 +iWROM — Enable Roaming in WiFi ............................................... 34-93
34.11.9 +iWPSI — Periodic WiFi Scan Interval ............................................. 34-94
34.11.10 +iWSRL — SNR Low Threshold ......................................................... 34-95
34.11.11 +iWSRH — SNR High Threshold ....................................................... 34-96
34.11.12 +iWSIn — Wireless LAN Service Set Identifier Array........................ 34-97
34.11.13 +iWPPn — Pre-Shared Key Passphrase Array.................................. 34-99
34.11.14 +iWKYn — Wireless LAN WEP Key Array ...................................... 34-100
34.11.15 +iWSTn — Wireless LAN Security Type Array ................................ 34-101
34.11.16 +iWSEC — Wireless LAN WPA Security ......................................... 34-102
34.12 IP REGISTRATION PARAMETERS ................................................................ 34-103
34.12.1 +iRRMA — IP Registration Mail Address........................................ 34-103
34.12.2 +iRRSV — IP Registration Host Server Name ................................. 34-104
34.12.3 +iRRWS — IP Registration Web Server ........................................... 34-105
34.12.4 +iRRRL — IP Registration Return Link ........................................... 34-106
34.12.5 +iHSTN — iChip LAN Host Name ................................................... 34-107
34.13 SERIALNET MODE PARAMETERS .............................................................. 34-108
34.13.1 +iHSRV | +iHSRn — Host Server Name/IP ..................................... 34-108
34.13.2 +iHSS — Assign Special Characters to Hosts.................................. 34-109
34.13.3 +iDSTR — Define Disconnection String for SerialNET Mode ........ 34-110
34.13.4 +iLPRT — SerialNET Device Listening Port ................................... 34-111
34.13.5 +iMBTB — Max Bytes To Buffer ...................................................... 34-112
34.13.6 +iMTTF — Max Timeout to Socket Flush ........................................ 34-113
34.13.7 +iFCHR — Flush Character ............................................................ 34-114
34.13.8 +iMCBF — Maximum Characters before Socket Flush................... 34-115
34.13.9 +iIATO — Inactivity Timeout ........................................................... 34-116
34.13.10 +iSNSI — SerialNET Device Serial Interface .................................. 34-117
34.13.11 +iSTYP — SerialNET Device Socket Type ....................................... 34-118
34.13.12 +iSNRD — SerialNET Device Re-Initialization Delay .................... 34-119
34.13.13 +iSPN — SerialNET Server Phone Number ..................................... 34-120
34.13.14 +iSDT — SerialNET Dialup Timeout ............................................... 34-121
34.13.15 +iSWT — SerialNET Wake-Up Timeout........................................... 34-122
34.13.16 +iPTD — SerialNET Packets to Discard ......................................... 34-123
34.14 REMOTE FIRMWARE UPDATE PARAMETERS .............................................. 34-124
34.14.1 +iUEN — Remote Firmware Update Flag ....................................... 34-124
34.14.2 +iUSRV — Remote Firmware Update Server Name ........................ 34-125
34.14.3 +iUUSR — Remote Firmware Update FTP User Name .................. 34-126
34.14.4 +iUPWD — Remote Firmware Update FTP User Password .......... 34-127
34.15 REMOTE PARAMETER UPDATE .................................................................. 34-128
AT+i Programmer‘s Manual Version 8.32
xi
Contents
Note: This default value is shipped from the factory. The AT+iFD command does not
restore RPG to this value. ...................................................................................... 34-128
34.16 SECURE SOCKET PROTOCOL PARAMETERS ................................................ 34-129
34.16.1 +iCS — Define the SSL3/TLS Cipher Suite ...................................... 34-129
34.16.2 +iCA — Define SSL3/TLS Certificate Authority .............................. 34-130
34.16.3 +iCERT — Define SSL3/TLS1 Certificate ........................................ 34-131
34.16.4 +iPKEY — Define iChip’s Private Key ............................................ 34-132
34.17 DHCP SERVER PARAMETERS .................................................................... 34-133
34.17.1 +iDPSZ — DHCP Server Pool Size ................................................. 34-133
34.17.2 +iDSLT — DHCP Server Lease Time .............................................. 34-134
34.18 IROUTER PARAMETERS.............................................................................. 34-135
34.18.1 +iARS — Automatic Router Start ..................................................... 34-135
35 Appendix A .......................................................................................................... 35-1
35.1
MIME CONTENT TYPES AND SUBTYPES ......................................................... 35-1
36 Appendix B ........................................................................................................... 36-1
36.1
SAMPLE PARAMETER UPDATE FILE ............................................................... 36-1
37 Appendix C .......................................................................................................... 37-1
37.1
NIST TIME SERVERS ..................................................................................... 37-1
38 Index ..................................................................................................................... 38-1
AT+i Programmer‘s Manual Version 8.32
xii
Figures
Figures
Figure 7-1 E-Mail Receive (RMM) Flow Diagram ........................................................ 7-5
Figure 23-1 Software Flow Control in Binary E-Mail Send......................................... 24-3
Figure 23-2 Software Flow Control in Socket Send ..................................................... 24-5
Figure 23-3 Minimum Hardware Flow Control Connections....................................... 24-6
Figure 26-1: iChip Web Server Modes ......................................................................... 27-2
Figure 29-1 FTP Receive Flowchart ............................................................................. 30-2
AT+i Programmer‘s Manual Version 8.32
xiii
Tables
Tables
Table 2-1 AT+i Commands by Category........................................................................ 2-5
Table 3-1 AT+i Result Code Summary .......................................................................... 3-3
Table 1-1 Report Status Message Format ....................................................................... 4-6
Table 17-1: Server Names Acquired from DHCP Server ............................................. 17-1
Table 22-1 Binary Attachment Parameters ................................................................... 23-2
Table 25-1 Header Parameter Names and Values ........................................................ 26-2
Table 34-1 Nonvolatile Parameter Database ................................................................ 34-6
Table 34-1 MIME Content Types and Subtypes .......................................................... 35-3
Table 36-1: List of NIST Time Servers ........................................................................ 37-1
AT+i Programmer‘s Manual Version 8.32
xiv
AT+i Command Set
1.1
AT+i Command Set
Scope
This manual describes Connect One‘s AT+i™ interface standard, protocol, and syntax for
the iChip CO2128.
1.2
AT+i Command Guidelines
AT+i commands are an extension to the basic AT command set. They are parsed and
acted upon by iChip.
iChip in dial-up mode only: When iChip is in COMMAND mode, basic AT commands
and raw data (not prefixed by AT+i) are transparently transferred to the underlying
modem Digital Communications Equipment (DCE), where they are serviced. When
transferring data transparently to the DCE, the hardware flow control signals (CTS, RTS,
DTR and DSR) are mirrored across the iChip, unless disabled by the FLW parameter. AT
and AT+i commands may be issued intermittently. During an Internet session, when
iChip is online, an AT command can be sent to the modem using the AT+iMCM
command.
The ASCII ISO 646 character set (CCITT T.50 International Alphabet 5, American
Standard Code for Information Interchange) is used for issuing commands and responses.
Only the low-order 7 bits of each character are used for commands and parameters; the
high-order bit is ignored. Uppercase characters are equivalent to lowercase ones.
1.3
AT+i Command Format
An AT+i command line is a string of characters sent from the host to the iChip while it is
in command state. The command line has a prefix, body, and terminator. Each command
must begin with the character sequence AT+i and terminated by a carriage return .
Commands can be entered either in uppercase or lowercase.
iChip in dialup mode only: Commands that do not begin with the AT+i prefix are
transferred to the underlying DCE, where they are parsed and acted upon. DCE responses
are transparently returned to the host.
The AT+i command body is restricted to printable ASCII characters (032–126). The
command terminator is the ASCII  character. The command line interpretation
begins upon receipt of the carriage return character. An exception to this rule are the
AT+iEMB, AT+iSSND, AT+iTBSN and AT+iFSND commands.
When ECHO is enabled, the  character is echoed as a two-character sequence:
 (Carriage Return+Line Feed).
Characters within the AT+i command line are parsed as commands with associated
parameter values.
The iChip supports editing of command lines by recognizing a backspace character.
When ECHO is enabled, the iChip responds to receipt of a backspace by echoing a
backspace character, a space character, and another backspace. When ECHO is disabled,
backspace characters are treated as data characters without any further processing.
AT+i Programmer‘s Manual Version 8.32
1-1
AT+i Command Set
If a syntax error is found anywhere in a command line, the remainder of the line is
ignored and the I/ERROR result code returned.
An AT+i command is accepted by iChip once the previous command has been fully
executed, which is normally indicated by the return of an appropriate result code.
Due to the fact that iChip is intended for Machine-to-Machine applications, only limited
parsing is performed on AT+i commands it receives from the host. The following
restrictions apply:

When setting parameters to values larger than the 65535 limit, the values is accepted
as mudulo 65535.

The validity of input IP addresses is not checked.

Illegal numbers, for example, 0.5 or 1.5 are not checked for validity.
1.4
Escape Code Sequence
While the iChip is in Internet mode attending to Internet communications, it is possible to
break into the communications and abort the Internet mode in an orderly manner. This is
achieved by sending the iChip a sequence of three (+) ASCII characters (+++) after a half
second silence period. In response to this, the iChip:

Shuts down Internet communications.

Terminates data transmission to the host.

Performs a software reset.

Responds with an I/ERROR (056) message.

Returns to command mode.
A maximum delay of 10msec may elapse from the time the (+++) escape sequence is sent
until iChip cuts off transmission to the host. The interrupted Internet activity is not
completed. Nevertheless, this is considered to comprise a session. Thus, parameters set
with the (~) character are restored to their permanent value.
1.5
Socket Command Abort
While the iChip is in Internet mode, during a TCP or UDP socket operation, it is possible
to override iChip‘s normal timeout procedure and abort the current socket operation in an
orderly manner. This is achieved by sending the iChip a sequence of three ASCII (-)
characters (---) following a half second silence period. The socket commands to which
this applies are: STCP, SUDP, SSND, and SFSH. When iChip detects the socket abort
command, it aborts the last socket command and returns an I/ERROR following the
STCP and SUDP commands, or I/OK during an SSND or SFSH command.
1.6
Flexible Host and Modem Interfaces
The flexible host and modem interfaces feature enables users to select the interface
through which iChip accepts AT+i commands from the host processor, as well as the
interface through which AT+i commands are sent to a dialup or cellular modem.
Available host interfaces are:
AT+i Programmer‘s Manual Version 8.32
1-2
AT+i Command Set

USART0

USART1

USART2

USB Device (identifies itself as a CDC device)

USB Host (supports only USB Modem class)
Available modem interfaces are:

USART0

USART1

USART2

USB Device

USB Host (only Motorola G24 USB GSM modem is supported)
As a USB host/device, iChip supports the Full-Speed USB standard (12Mbps).
Host-to-iChip interface is selected by setting the value of the Host Interface (HIF)
parameter. Any value from 1 to 5 specifies a certain choice of interface, while a 0 value
specifies automatic interface detection. In automatic interface detection mode, the first
character sent from the host over one of the supported interfaces sets the host interface to
be used throughout that session until the next iChip power cycle.
When automatic host interface detection mode is enabled, a host is connected to one of
the USARTs, and the Host Fixed Baud Rate (BDRF) parameter is set to ‗a‘ (automatic
baud rate detection), the first character the host has to send to iChip in order to trigger
detection must be an ‗a‘ or ‗A‘. If BDRF is set to a fixed baud rate, any character sent
from the host triggers automatic host interface detection.
In a similar fashion, an iChip-to-modem interface can be selected using the Modem
Interface (MIF) parameter, except that automatic modem interface detection is not
available.
Note that any changes to the HIF and MIF parameters take effect only after the following
iChip power-up. Also note that iChip cannot be operated in SerialNET mode when the
HIF parameter is set to automatic mode. Sending an SNMD command (activate
SerialNET mode) with HIF set to automatic mode will result in an error message
I/ERROR (122). In addition, any feature that requires setting a fixed baud rate requires
setting a fixed host interface, as well.
Hardware flow control is supported on USART0 and USART1 only. Hardware signal
mirroring is enabled only if the host and modem interfaces are set to either USART0 or
USART1. See description of Bit 2 of the FLW parameter.
1.7
Auto Baud Rate Detection
iChip supports auto baud rate detection on the host serial communications line. After
power-up, iChip enters auto baud mode when the BDRF parameter is set to the value ‗a‘.
The AT+iBDRA command forces iChip into auto baud mode while it is already in
operation.
AT+i Programmer‘s Manual Version 8.32
1-3
AT+i Command Set
In auto baud mode, iChip expects an A or a character. This is usually the first character
sent, since in command mode a meaningful command is always prefixed by AT+i.
The host may send an a or A to the iChip to allow it to determine the host‘s baud rate. It
may also send a complete AT+i command. In any case, iChip detects the A or a character,
determines the correct baud rate, and configures its serial channel during the stop bit.
Thus, the next character is received by the serial port at the correct baud rate. The A itself
is retained as well. iChip supports auto baud rate detection for the following baud rates:
2400, 4800, 9600, 19200, 38400, 57600, and 115200.
When the BDRF parameter contains a fixed baud rate, iChip initializes to the specified
baud rate without entering auto baud rate mode. Commands issued by the host must be
sent using that baud rate in order to be recognized. In this case, iChip can be forced into
auto baud rate mode by holding the special input signal low for not more than five
seconds following power-up.
iChip dial-up mode only: When the BDRM parameter is set to an a value, iChip
assumes the attached modem has the auto baud rate feature. Once the hostiChip baud
rate is determined, the iChipmodem baud rate is set to the same rate. Any other BDRM
value is used as a fixed baud rate to the modem.
1.8
High Speed USART
Very high baud rates, up to 3Mbps, can be reached between host and iChip via one of
iChip‘s USARTs. The BDRD parameter acts as baud rate divider. When set to ‗0‘, iChip
sets its host USART baud rate according to the value of the BDRF parameter. When set
to any value in the range 1-255, it divides the maximum supported baud rate – 3Mbps –
by that value. The quotient of this division is set as the host baud rate, and the value of
BDRF is ignored. For example, if BDRD is set to 2, then the host baud rate will be
3Mbps÷2=1.5Mbps.
If the iChipmodem interface is a USART, BDRD is set to any value other than ‗0‘, and
the modem baud rate is set to Auto (BDRM=‗a‘), then the modem baud rate will be set to
a fixed value of 115,200bps.
In SerialNET mode, you can specify that hostiChip baud rate over USART be
determined by the BDRD parameter. You do so by setting the first field of the SNSI
parameter () to ‗0‘.
1.9
Reset via Serial Link
Issuing a BREAK signal on the host serial link effectively resets the iChip. A BREAK
signal is issued by transmitting a LOW (zero value) for a period that is longer than 23 bits
at the current baud rate. Considerably lowering the host baud rate (300 baud or less) and
transmitting a binary zero generates a BREAK signal. After a BREAK signal is issued,
iChip requires 4 seconds to complete the reset cycle before commands can be issued.
When iChip is configured for auto baud rate, the BREAK method is especially useful to
force iChip back into auto baud rate mode when iChip and the host lose synchronization.
AT+i Programmer‘s Manual Version 8.32
1-4
AT+i Command Set
1.10
Entering Rescue Mode during Runtime
The MSEL (Mode Select) input signal of the iChip (see the iChip CO2128 Datasheet),
can be used for entering iChip into Rescue mode.
If MSEL is pulled low (logical 0) for more than 5 seconds during runtime, iChip waits
until MSEL is pulled high (logical 1), performs a software reset and restarts in Rescue
mode. In Rescue mode, iChip performs the following operations:

If in SerialNET mode — iChip exits SerialNET mode (changes SNMD value to 0).

If serial baud rate (BDRF or BDRD) is set to a fixed value — iChip forces auto baud
rate detection. BDRF/BDRD value will be used again upon the next power-up.

If Always Online mode is defined (TUP=2), or Automatic Router Start is enabled
(ARS=1) — iChip bypasses this mode, which means that iChip does not attempt to go
online until the next software or hardware reset.

If the Host Interface parameter (HIF) is set to a fixed interface, it is forced into auto
host interface detection mode (HIF=0).
1.11
Internet Session Hang-Up Procedure (Modem Only)
Upon completion of a dialup Internet session, the iChip automatically executes a modem
hang-up procedure:

The DTR line is dropped.

After a 1 second delay, iChip raises the DTR.

If the modem responds to the DTR drop with a No Carrier then Done. Otherwise,
iChip issues a (+++) to the modem followed by ATH.
1.12
Modem Startup
Following power-up and baud rate determination, iChip in dial-up mode issues the
AT command to the modem to configure the modem‘s baud rate.
1.13
Analog-to-Digital Converter
iChip contains an Analog-to-Digital (A/D) 8-bit converter that receives analog input
voltage through the ADC signal. This input voltage can be monitored: if it reaches a
predefined upper threshold or goes below a certain lower threshold, an acknowledgement
can be sent. This acknowledgement is sent to the host processor through one of iChip‘s
general-purpose I/O pins (GPIO).
Input voltage can be polled every predefined number of milliseconds. In addition, a report
can be obtained at any given time by issuing the AT+iRP19 command.
The following parameters determine the behavior of the A/D converter:

ADCL and ADCD specify threshold and delta values, respectively. If the value read
from the register of the A/D converter is greater than the sum of ADCL and ADCD,
then the GPIO pin specified by the ADCP parameter is asserted High. If that value is
less than ADCL minus ADCD, the GPIO pin is asserted Low.
AT+i Programmer‘s Manual Version 8.32
1-5
AT+i Command Set

The ADCT parameter defines an interval, in milliseconds, between consecutive
queries of the value of the A/D converter‘s register. iChip‘s response time to value
changes is up to 40ms.
In order to enable the A/D converter polling mechanism, you must, at the very least, set
the ADCL, ADCT, and ADCP parameters to a non-zero value.
The following table summarizes the behavior of the A/D converter.
ADC Register Value
GPIO Pin State
R > L+D
High
R < L-D
Low
Legend:

R — ADC register value, which is a binary representation of the A/D converter’s analog input voltage.

L — Base level, or threshold, as defined by the ADCL parameter.

D — Delta, as defined by the ADCD parameter.
1.14
iChip Readiness Indication
This iChip Readiness Indication feature provides an indication of iChip‘s readiness to
accept AT+i commands following a hardware reset. Using this feature, iChip can also
notify the host when it is ready for IP communication.
This functionality is based on two parameters – RRA and RRHW. The RRA parameter
can be set to send a software message to the host, assert a dedicated hardware pin, or do
both. The RRHW parameter specifies which of iChip‘s I/O pins will be asserted.
The hardware pin specified by the RRHW parameter is asserted High immediately after
power up. It will be asserted Low when iChip is ready to receive AT+i commands, and
asserted High again following iChip‘s response to any AT+i command.
1.15
Programming iChip’s Serial Number into Flash Memory
You can use the AT+iSNUM command to program the iChip serial number into flash
memory. This can be done only once.
1.15.1 +iSNUM — iChip Serial Number
Syntax: AT+iSNUM=
Programs iChip‘s serial number into flash memory.
Parameters:
 iChip‘s serial number consisting 8 hexadecimal characters.
The serial number can be assigned only once, while the
current serial number is still FFFFFFFF. Once a serial
number is assigned, it cannot be modified. To find out the
current serial number, use the AT+iRP5 command.
Default: The serial number assigned at the factory.
Result Code:
AT+i Programmer‘s Manual Version 8.32
1-6
AT+i Command Set
I/OK If serial_number is a legal hexadecimal string and is being
set for the first time.
I/ERROR(068) Serial number already exists.
AT+iSNUM=? Returns the message ―String‖ followed by I/OK.
1.16
Programming a Unique ID String into Flash Memory
You can use the AT+iUID command to enable programming of a unique 8-character ID
string for each iChip in iChip‘s flash memory.
1.16.1 +iUID — Unique ID
Syntax: AT+iUID=
Programs a unique ID number into the flash memory that
iChip is connected to.
Parameters:
 A unique string consisting of 8 characters or less. This
string can be assigned only once, while the current ID is still
FFFFFFFFFFFFFFFF. Once an ID is assigned, it cannot be
modified.
Default: FFFFFFFFFFFFFFFF
Result Code:
I/OK If ID string is 8 characters or less in length and is being set
for the first time.
I/ERROR(065) ID already exists (not all FF)
AT+iUID? Returns the current UID value followed by I/OK.
AT+iUID=? Returns the message ―string‖ followed by I/OK.
AT+i Programmer‘s Manual Version 8.32
1-7
General Format
General Format
AT+i[[ | #UFn]…]
 (or )
2–4 letter command code () or parameter name ()

Delimiter: '=', '~', '?', ':', ‗,‘

Optional parameter or data. If  includes a , as
defined above, it must be enclosed in single (‗) or double (―) quotes.
The terminating  is considered as a terminating quote as well.
#UFn
User-field macro substitution

Carriage Return line terminator (ASCII 13)
2.1
AT+i Commands by Category
Command
AT+i
En
=value
-or:value
~value
?
=?
FD
RP
BDRA
UP
TUP
DOWN
PING
Function
Command prefix
Parameters/Description
Required to precede all commands
Host Interface
Echo Mode
n=0 Do not echo host characters
n=1 Echo all host characters (default upon power-up)
This command is equivalent to and interchangeable with
ATEn.
Parameter Database Maintenance
Set parameter
value stored in parameter  in nonvolatile memory.
 retains set value indefinitely after power down.
Assign single session
parameter value
Read parameter
Parameter allowed
values
Factory Defaults
value is assigned to parameter  for the duration of
a single Internet session. Following the session, the
original value is restored.
Parameter value is returned.
Returns the allowed values for this parameter.
Restores all parameters to factory defaults.
Status Report
Request status report
Returns a status report value based on .
Connection
Auto baud rate mode
Forces iChip into auto baud rate detection mode.
Connect to Internet
Forces iChip to go online, establish an Internet session,
and optionally register its IP address.
Triggered Internet
Enters a mode in which iChip goes online in response to
session mode
triggers from external signals. It also supports a special
Always Online mode.
Perform a software reset Performs a software reset. Forces iChip to terminate an
Internet session and go offline.
PING a remote system
Sends a PING message and waits for its echo response.
AT+i Programmer‘s Manual Version 8.32
2-1
General Format
Command
[!]EMA:
[!]EMB:,
[!]E*
[!]RML
[!]RMH[:]
[!]RMM[:]
[!]RLNK[:]
[!]SLNK:
WWW
WNXT
[!|@]SNMD
TOPN
TRCV
TSND
TBSN[%]
TFSH[%]
TCLS
Function
Parameters/Description
Send E-mail
Send textual e-mail Defines the textual contents of the e-mail body.
Following this command, several text lines can be
sent in sequence.
Send binary e-mail Prefixes a binary data stream. The data is
encapsulated as a base 64 encoded MIME
attachment. Following this prefix, exactly  bytes
are streamed to iChip.
Terminate binary
Terminates a binary (MIME attachment) e-mail.
e-mail
Retrieve E-mail
Retrieve mail list
Retrieves an indexed, short form list of all qualifying
messages in mailbox.
Retrieve header
Retrieves only the e-mail header part from the ‘th
e-mail in the mailbox, or the entire mailbox.
Retrieve e-mail
Retrieves all e-mail contents of the ‘th e-mail in
the mailbox, or the entire mailbox.
HTTP Client
Retrieve link
Retrieves a file from a URL on a web server. If
 is not specified, uses the URL stored in the
URL parameter.
Send POST request Sends a file consisting lines of ASCII to a web server
defined in the URL parameter.
HTTP Server
Activate the web
Activates iChip‘s internal web server. Once
server
activated, remote browsers can surf iChip‘s website.
Retrieve next
Returns the parameter tag name and new value of the
changed web
next web parameter that has been changed as a result
parameter
of a submit by a remote browser.
SerialNET
Activate SerialNET Activates iChip‘s dedicated serial-to-network
mode
SerialNET mode.
Telnet Client
Telnet open session Opens a Telnet session to a remote Telnet server. If
iChip is not online, it is connected.
Telnet receive
Receives data from a remote Telnet server.
Telnet send line
Sends an ASCII data line to a remote Telnet server.
Telnet send binary
Sends a binary data stream to a remote Telnet server.
stream
Telnet flush
Flushes a Telnet socket‘s outbound data.
Telnet close
Closes a Telnet session.
AT+i Programmer‘s Manual Version 8.32
2-2
General Format
Command
FOPN
FOPS
FDL
FDNL
FMKD
FCWD
FSZ
FRCV
FSTO
FAPN
FSND
FCLF
FDEL
FCLS
Function
Parameters/Description
File Transfer Protocol (FTP)
Open FTP link
Opens an FTP command socket to a remote FTP
server. If iChip is not online, it is connected. Once
an FTP link is established, it can be used to carry
out operations on the server‘s file system.
Open secure FTP
Opens an FTP link and negotiates an SSL3/TLS1
link
connection on the control channel. All following
FTP operations in this session are performed over
an SSL3/TLS1 connection.
FTP directory
Retrieves the remote FTP server‘s file directory
listing
listing. The full server-dependent listing is returned.
FTP directory name Retrieves the remote FTP server‘s file directory
list
listing. Only file names are returned.
FTP make directory Creates a directory on a remote FTP server.
FTP change
Changes a remote FTP server‘s current directory.
directory
FTP file size
Retrieves the size of a file stored on a remote FTP
server.
FTP file receive
Downloads a file from a remote FTP server.
FTP file store
Opens a file for upload to a remote FTP server. If
the file already exists, it is overwritten.
FTP file append
Opens a file on a remote FTP server for appending.
If the file does not already exist, it is created.
FTP file send
Sends data to a file on a remote FTP server. The file
must be already open by a previous FSTO or FAPN
command.
FTP close file
Closes the currently open file on an FTP server.
Any data uploaded to the file with the FSND
command is retained on the server.
FTP delete file
Deletes a file from a remote FTP server‘s file
system.
FTP close
Closes an FTP link.
AT+i Programmer‘s Manual Version 8.32
2-3
General Format
Command
Function
Parameters/Description
Socket Interface
STCP:,
Socket TCP
Opens and connects a TCP socket. If iChip is not
[,]
online, it is connected. The responding system is
assumed to be a server listening on the specified
socket. Returns a handle to the socket.
SUDP:
Socket UDP
Opens, connects, and optionally binds a UDP
,
socket. If iChip is not online, it is connected.
[,]
Returns a handle to the socket.
LTCP:
Listening socket
Opens a TCP listening socket on . Allows a
,
maximum of  concurrent connections.
Returns a handle to the socket. Up to two listening
sockets are supported.
LSST:
Listening socket
Returns a list of active socket handles accepted for
status
a listening socket identified by handle .
SST:
Single socket status Returns status of a single socket identified by
handle . A subset of RP4 report.
SCS:
Socket connection
Returns status of a single socket identified by
status
handle . A subset of RP4 report. Does not
report number of buffered characters.
SSND[%]:
Socket send
Sends a byte stream of size  to the socket
,:
identified by handle . The % flag indicates
automatic socket flush.
SRCV:
Socket receive
Receives a byte stream from the socket identified
[,]
by handle . Accepts up to  bytes. If
 is not specified, all available bytes are
retrieved.
GPNM:
Get peer name
Retrieves peer name (:) of a remote
connection to the TCP/UDP socket specified by
socket handle .
SDMP:
Dump socket buffer Dumps all buffered data currently accumulated in a
socket‘s input buffer. The socket remains open.
SFSH[%]:
Flush socket‘s
Flushes (sends immediately) data accumulated in a
outbound data
socket‘s outbound buffer. If the flush-andacknowledge flag (!) is specified, iChip waits for
peer to acknowledge receipt of the TCP packet.
[!]SCLS:
Close socket
Closes a TCP/UDP socket. If that socket is the only
socket open and the stay online flag (!) is not
specified, iChip terminates the Internet session and
goes offline.
SSL:
SSL3/TLS1 socket Negotiates an SSL3/TLS1 connection over an
connection
active TCP socket.
AT+i Programmer‘s Manual Version 8.32
2-4
General Format
Command
MCM
WLTR
WLPW
WRFU
WRFD
WRST
WLBM
WLGM
RFU
Function
Parameters/Description
Special Modem Command
Interlaced modem
Sends an interlaced AT command to the modem
command
while it is online.
Wireless LAN
WLAN
Sets the maximum allowable WLAN transmission
transmisssion rate
rate.
WLAN Tx power
Sets the transmission power of the Marvell WLAN
chipset.
WLAN radio up
Turns on radio transmission of the Marvell WLAN
chipset.
WLAN radio down Turns off radio transmission of the Marvell WLAN
chipset.
Reset WLAN
Performs a hardware reset of the Marvell WLAN
chipset
chipset.
WLAN b mode
Sets the Marvell WLAN chipset to 802.11/b mode.
WLAN g mode
Sets the Marvell WLAN chipset to 802.11/g mode.
Remote Firmware Update
Remote firmware
Updates firmware from a remote HTTP or FTP
update
server.
Table 2-1 AT+i Commands by Category
AT+i Programmer‘s Manual Version 8.32
2-5
AT+i Result Code Summary
AT+i Result Code Summary
Response
String
I/OK
I/BUSY
I/DONE
Denotation
I/ONLINE
I/OFFLINE
I/RCV
I/PART
I/EOP
I/EOM
I/MBE
I/UPDATE
I/ERROR(nnn)
nnn
41
43
45
47
49
51
53
55
Command was successfully executed.
iChip busy. Command discarded.
iChip completed Internet activity; returned to command mode, or entered
SerialNET mode.
iChip completed Internet activity and returned to command mode, or entered
SerialNET mode. iChip issues this response when it has remained online as a
result of the stay online flag (!) or as a result of the web server being online.
iChip in LAN mode entered SerialNET Always Online mode but failed to detect a
LAN link at time of entry.
Marks beginning of e-mail retrieve mode, with XFH=1. iChip does not respond to
any commands, except for (+++) (Break).
Marks beginning of MIME attachment part.
Marks end of MIME attachment part.
Marks end of e-mail message during retrieve.
This flag is returned when attempting to retrieve mail from an empty mailbox.
iChip is downloading a new firmware version. Allow up to 5 minutes to complete.
Command error encountered. Command discarded.
42
44
46
48
50
52
54
56
Illegal value
Number expected
DNS expected
String expected
Text expected
‘,’ expected
Error when setting parameter
User abort
58
Error when trying to establish SMTP
60
62
64
Single session body for MIME exceeds the
maximum allowed
User aborted the system
User aborted last command using ‘---’
66
68
RESERVED
iChip serial number already exists
70
Modem failed to respond
71
73
Illegal delimiter
CR expected
CR or ‘,’ expected
‘:’ or ‘~’ expected
‘:’ or ‘=’ expected
Syntax error
Illegal command code
Error when getting parameter
value
Error when trying to establish
PPP
Error when trying to establish
POP3
Internal memory failure
~CTSH needs to be LOW to
change to hardware flow
control.
RESERVED
Command ignored as
irrelevant
Timeout on host
communication
No dial tone response
Dial failed
72
74
75
77
79
81
Access denied to ISP server
POP3 server timed out
POP3 failed
Unable to locate SMTP server
76
78
80
82
No carrier modem response
Modem connection with ISP lost
-orLAN connection lost
-orWLAN connection lost
Unable to locate POP3 server
Access denied to POP3 server
No suitable message in mailbox
SMTP server timed out
57
59
61
63
65
67
69
AT+i Programmer‘s Manual Version 8.32
3-1
AT+i Result Code Summary
83
85
SMTP failed
RESERVED
84
86
87
Web server IP registration
failed
E-mail IP registration failed
RESERVED
RESERVED
88
89
91
93
90
92
94
98
100
102
IP registration failed for all methods specified
RESERVED
In Always Online mode, connection was lost
and re-established
A remote host, which had taken over iChip
through the LATI port, was disconnected
RESERVED
Error restoring default parameters
No USRN defined
104
106
108
No DNS defined
MBX (mailbox) not defined
TOA (addressee) not defined
110
SMTP server not defined
112
114
Illegal command when modem online
E-mail parameters update rejected
116
Error parsing a new trusted CA certificate
118
Protocol specified in the USRV parameter
does not exist or is unknown
RESERVED
96
99
101
103
105
107
109
111
113
115
117
119
RESERVED
No ISP access numbers
defined
No PWD entered
POP3 server not defined
MPWD (mailbox password)
not defined
REA (return e-mail address)
not defined
Serial data overflow
E-mail firmware update
attempted but not completed.
The original firmware
remained intact.
SerialNET could not be
started due to missing
parameters
RESERVED
WPA passphrase too short has to be 8-63 chars
RESERVED
120
123
SerialNET mode error: Host
baud rate cannot be
determined
124
201
203
Socket empty on receive
Socket down
207
209
Error creating socket
Socket receive error
215
No carrier error on socket
operation
Out of memory
121
217
219
221
223
SSL initialization/internal CA
certificate loading error
Illegal SSL socket handle.
Must be an open and active
TCP socket.
RESERVED
AT+i Programmer‘s Manual Version 8.32
RESERVED
Writing to internal non-volatile parameters
database failed
Socket IP registration failed
122
SerialNET error: Host Interface undefined
(HIF=0)
SerialNET over TELNET error: HIF
parameter must be set to 1 or 2
200
202
204
206
208
210
212
216
Socket does not exist
Socket not in use
No available sockets
PPP open failed for socket
Socket send error
PPP down for socket
Socket flush error
General exception
218
220
An STCP (Open Socket) command specified a
local port number that is already in use
SSL3 negotiation error
222
Trusted CA certificate does not exist
224
Decoding error on incoming SSL data
3-2
AT+i Result Code Summary
225
227
No additional SSL sockets
available
AT+iSSND command failed
because size of stream sent
exceeded 2048 bytes
301
303
305
307
HTTP server timeout
No URL specified
Illegal HTTP port number
URL address too long
401
403
No IP address
Wireless LAN radio control
failed
Wireless LAN hardware setup
failed
Illegal WiFi channel
405
407
501
503
505
507
509
511
513
551
553
555
557
559
Communications platform
already active
RESERVED
Cannot open additional FTP
session – all FTP handles in
use
FTP server not found
Failed to login to FTP server
(bad username or password
or account)
FTP data socket could not be
opened
FTP shutdown by remote
server
Timeout when connecting to
Telnet server
Telnet session shutdown by
remote server
A Telnet session is already
open
Telnet server refused to switch
to ASCII mode
RESERVED
561
Remote peer closed the
SerialNET socket
571
No reply to PING request
226
Maximum SSL packet size (2K) exceeded
228
AT+iSSND command failed because checksum
calculated does not match checksum sent by
host
HTTP server unknown
HTTP failure
Illegal HTTP host name
Illegal URL address
The AT+iWWW command failed because
iChip does not contain a home page
MAC address exists
Wireless LAN power set failed
Wireless LAN reset failed
300
302
304
306
308
400
402
404
406
408
500
502
Command failed because WiFi module is
currently busy
Illegal SNR threshold
RESERVED
RESERVED
504
506
RESERVED
Not an FTP session handle
508
510
Timeout when connecting to FTP server
FTP command could not be completed
512
Failed to send data on FTP data socket
514
RESERVED
550
552
Telnet server not found
Telnet command could not be completed
554
A Telnet session is not currently active
556
Telnet server refused to switch to BINARY
mode
RESERVED
558
560
Client could not retrieve a ring response
e-mail
570
PING destination not found
Table 3-1 AT+i Result Code Summary
Note: All iChip response strings are terminated with .
AT+i Programmer‘s Manual Version 8.32
3-3
AT+i Result Code Summary
AT+i Programmer‘s Manual Version 8.32
3-4
Report Status
4.1
Report Status
+i[!]RPi — Report Status
Syntax: AT+i[!]RPi
Returns a status report.
Parameters: i=0..20
Command Options:
i=0 Returns the iChip part number.
i=1 Returns the current firmware revision and date.
i=2 Returns the connection status.
i=3 Returns boot-block revision and date.
i=4 Returns iChip socket status.
i=5 Returns a unique serial number.
i=6 Returns current ARP table.
i=7 Returns socket buffers utilization bitmap. iChip‘s DATA_RDY
signal can be used to signal socket buffer status changes in
hardware. This signal is raised when new data in one or more
sockets is available, or when a remote browser has changed a
web parameter. It is lowered when any socket or web
parameter is read.
i=8 Returns current time-of-day based on time retrieved from the
Network Time Server and the GMT offset setting. Returns an
all-zero response if a timestamp has not yet been retrieved from
the network since the last power-up.
i=9 Reserved
i=10 Return two different status reports about the current Wireless
and LAN connection.
AT+i!RP10
i=11 Returns a list of all Access Points available in the surrounding
area.
AT+i!RP11 Returns a list of all Ad-Hoc networks available in the
surrounding area.
i=14 Returns a DHCP server table of MAC and IP addresses of all
the stations connected to iChip.
i=19 Returns Analog-to-Digital Converter (ADC) pin status report.
i=20 Returns a list of all APs and Ad-Hoc networks available in the
surrounding area.
AT+i Programmer‘s Manual Version 8.32
4-1
Report Status
Default: None
Result Code:
i=0..20 Status message followed by I/OK.
I/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
4-2
Report Status
4.2
Status Message Format
Report Option
Format
COnnnAD-ii
nnn – Version number; ii – Interface code: S-Serial, L-LAN, D-Dual
IiimmmTss ()
Iii – Interface code; mmm – Major Version; T – Version type code;
ss – Sub-version
Status string:
"Modem data"
"Command mode"
"Connecting to ISP"
"Connected to ISP"
"Connecting as RAS"
"RAS Connected""Closing PPP"
"Establishing SMTP"
"Sending Email"
"Establishing POP3"
"POP3 Open"
"Establishing HTTP"
"Receiving HTTP"
"Carrier Lost"
"Link Lost"
nnmm – Boot block version number
I/(, , … ,)
socksz >=0 : Number of bytes pending in socket‘s input buffer
<0 : Negative value of socket‘s error code
nnnnnnnn – Hexadecimal representation of iChip serial number.
Current ARP table listing:
INTERNET ADDRESS
nnn.nnn.nnn.nnn
PHYSICAL ADDRESS STATE
xxxxxxxxxxxx
VALID
TTL
nnn sec.
For debugging purposes.
I/xxxx
xxxx – 16 bit Hex Value Bitmap
A bit set to ‗1‘ indicates that the corresponding socket contains buffered data,
which needs to be read by the host.
bit
socket
15
10
WEB
Bit 10 is set to ‗1‘, when the remote browser updates one or more application
website parameter tags. It will be reset to ‗0‘ when the host reads any
application website parameter, using AT+i?
The current time-of-day is returned according to ISO 8601:
T 
YYYY-MM-DD -- Year-Month-Day ; ‗T‘ – Fixed Separator ;
HH:MM:SS - Hrs:Mins:Secs ; TZD - Time Zone Designator: +hh:mm or –hh:mm
All-zeros response: 0000-00-00T00:00:00 .
Reserved
AT+i Programmer‘s Manual Version 8.32
4-3
Report Status
Report Option
10
Format
I/(, , , )
port stat -Port Status:
0: Wireless LAN adapter not present
1: Wireless LAN adapter disabled
2: Searching for initial connection
4: Connected
5: Out of range
Transfer rate in the range 1..54
Signal level [%], in the range 0..100
Link quality [%], in the range 0..100
AT+i!RP10
xfer rate -sig level -lnk qual -I/OK
Returns a report of the current WLAN connection.
,,,,,
I/OK
where

=NONE|WEP64|WEP128|WPA|WPA2

=Completed|Not Completed
 indicates, when WPA/WPA2 security is specified, whether WPA
negotiation completed or not.
Notes:

For Ad-Hoc networks, SSID starts with (!).

WPA status is reported whether WPA negotiation completed or not.
For example:
Jetta,06:14:6C:69:4A:7C,WPA,Completed,1,68
I/OK
11
iChip scans all available Access Points (APs) in the surrounding area and returns a list
of APs. Each line contains the following comma-separated fields: SSID, security
scheme, and signal strength. The AP having the strongest signal appears first.
,,
,,
,,
I/OK
where,
SSID –
security_scheme –
signal_strength
AT+i!RP11
Up to 32 alphanumeric characters
None | WEP | WPA
0 - low, 1 - good, 2 - excellent
Note: If no APs are detected, only I/OK is returned.
Returns a list of all Ad-Hoc networks available in the surrounding area.
Each line contains the following comma-separated fields:
SSID, security scheme, and signal strength. Security scheme for Ad-Hoc networks is
NONE. The Ad-Hoc network having the strongest signal appears first.
, NONE, 
, NONE, 
, NONE, 
I/OK
where
AT+i Programmer‘s Manual Version 8.32
4-4
Report Status
Report Option
Format
SSID
Up to 32 alphanumeric characters
signal_strength 0 - low, 1 - good, 2 - excellent
For example:
Free Public WiFi,NONE,1
I/OK
Note: If no Ad-Hoc networks are detected, only I/OK is returned.
14
Returns a DHCP server table of MAC and IP addresses of all the stations connected to
iChip.
MAC Address


I/OK
IP Address


For example:
MAC Address
00039406068C
000394094D1B
I/OK
19
IP Address
192.168.0.2
192.168.0.3
Returns Analog-to-Digital Converter (ADC) pin status report. If the ADCP parameter is
set, the reports returns GPIO pin state. Otherwise, it returns the ADC value only.
ADC value=, GPIO state=
I/OK
where

level is an integer in the range 0-255 representing the input voltage measured on
the ADC pin, calculated as follows: (A/3.3V)*255=level, where A is the analog
input voltage.

state indicates the state of the output GPIO pin: 0 (High) | 1 (Low). GPIO state is
reported only if the ADCL, ADCT and ADCP parameters are set.
For example, if the ADCP parameter is set:
ADC value = 255, GPIO state = 0
I/OK
If the ADCP parameter is not set:
ADC value = 255
I/OK
20
Returns a list of all APs and Ad-Hoc networks available in the surrounding area.
Each line contains the following comma-separated fields:
,ADHOC|AP,,,,
I/OK
where
=NONE | WEP | WPA | WPA2
=|SNR+NoiseFloor|
For example:
Jetta,AP,06:14:6C:69:4A:7C,WPA,1,25
RTL8186-default,AP,00:E0:4C:81:86:86,NONE,1,77
dlink_test,AP,00:1C:F0:9A:63:7A,NONE,1,68
Guest,AP,00:15:E9:0C:38:F2,WPA2,6,69
ABC,AP,00:1C:F0:40:CC:60,NONE,6,65
Yuval,AP,00:0E:2E:C6:B6:E1,NONE,6,62
GANG_TEST,AP,00:17:3F:9F:89:6E,NONE,7,67
Bora,AP,00:14:78:F7:11:BA,NONE,7,26
3com_test,AP,00:0F:CB:FF:27:8F,NONE,7,81
INET,AP,00:0F:CB:FF:7E:5D,WPA,7,82
Blue-I The Lab,AP,00:1B:2F:57:65:62,WEP,7,45
Mistral,AP,00:11:6B:3B:55:E2,WEP,9,27
Sirocco,AP,00:18:4D:DE:D7:DF,WPA2,11,44
AT+i Programmer‘s Manual Version 8.32
4-5
Report Status
Report Option
Format
Free Public WiFi,ADHOC,D2:B3:5B:06:CA:04,NONE,11,69
BlueI,AP,00:0E:2E:55:39:A6,WEP,11,57
private,AP,00:0E:2E:FD:F0:69,WPA,11,74
I/OK
Table 4-1 Report Status Message Format
AT+i Programmer‘s Manual Version 8.32
4-6
Connection
5.1
Connection
+iBDRA — Forces iChip into Auto Baud Rate Mode
Syntax: AT+iBDRA
Forces the iChip into auto baud rate mode. The following A, AT
or AT+i command (in any combination of upper or lowercase)
from the host will synchronize on the host‘s baud rate. iChip
supports auto baud rate detection for the following baud rates:
2400, 4800, 9600, 19200, 38400, 57600, and 115200.
Result code:
I/OK This result code is sent using the previous baud rate.
AT+i Programmer‘s Manual Version 8.32
5-1
Connection
5.2
+iUP — Initiate Internet Session
Syntax: AT+iUP[:n]
Initiates an Internet session by going online. In a dialup/cellular
environment, a PPP Internet connection is established. Once
online, optionally goes through an IP registration process, as
determined by n.
Parameters: n=0..1
Default: n=0
Command Options:
n=0 Go online.
n=1 Go online and carry out the IP registration process according to
the relevant registration option parameters.
Result Code:
I/ONLINE After successfully establishing an Internet session and completing
the IP registration (if requested).
I/ERROR If iChip cannot go online and establish an Internet session or
cannot complete the requested IP registration.
AT+i Programmer‘s Manual Version 8.32
5-2
Connection
5.3
+iTUP — Triggered Internet Session Initiation
Syntax: AT+iTUP:
Enter triggered Internet session initiation mode.
This command is relevant in a modem environment only.
Parameters: n=0..2
Command Options:
n=0 Disable triggered Internet session initiation mode.
n=1 Enter triggered Internet session initiation mode. Upon receiving
a hardware signal trigger (Modem RING or MDSEL signal
pulled low), establish a PPP Internet connection and carry out
the IP registration process according to the relevant registration
option parameters.
If any characters are received on the host port prior to receiving
a hardware signal, iChip exits this mode and functions normally.
In this case, to reinstate this mode, issue AT+iTUP=1 again;
reset iChip by issuing the AT+iDOWN command, or recycle
power.
n=2 Always Online mode. Whenever iChip is offline, it
automatically attempts to establish a PPP Internet connection
and possibly carry out the IP registration process according to
the relevant registration option parameters.
iChip disregards this mode and remains offline until the next SW
or HW reset if:

The MSEL (Mode Select) signal was pulled low (logical 0)
for more than 5 seconds during runtime.
-or
The host issues the (+++) escape sequence.
Power must be recycled or the AT+iDOWN command issued for
this command to take effect.
If iChip is in Auto Baud Rate mode (BDRF=a) and/or Auto Host
mode (HIF=0), iChip waits for the a character on the host serial
port to resolve the baud rate after rebooting and before activating
the iRouter and going online, or before activating the DHCP
server. Therefore, it is recommended to set a fixed host interface
and a fixed baud rate in this case.
Result Code:
I/OK If n is within limits
I/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
5-3
Connection
Notes:
1.
When going online in one of these modes, iChip activates its web server if the
AWS parameter is set (AWS>0).
2.
In this mode, iChip does not go offline after a completion of any successful or
unsuccessful Internet session started by the host, even if the stay online flag is not used.
3.
When a Carrier Lost event is detected, iChip automatically retries to establish a
connection (without performing a software reset), with the following exception: If, at the
time of the detection, the host was waiting for a reply from iChip or was in the process of
sending binary data (SSND, FSND, EMB), iChip reports error code 094 as soon as it can
and only then tries to re-establish the connection. In all other cases, iChip gives the host
no indication of losing the carrier. In the event of Carrier Lost, iChip closes any open
TCP active sockets, but leaves UDP sockets and TCP passive (listening) sockets intact
and updates their local IP if a new IP is assigned after establishing a new PPP connection.
iChip does not close any open Internet sessions (FTP/Telnet sessions and so on), nor
releases the handle of the active TCP sockets, thus giving the host a chance to read the
session errors and get buffered incoming data from active TCP sockets.
4.
When the PFR is larger than 0 and the PDSn parameters are configured, iChip
verifies that it is online by sending PING messages to the PING destination servers
defined in PDSn at a polling frequency defined by PFR. If both PING destination servers
do not respond, iChip concludes that the Internet connection failed and tries to reestablish
an Internet connection, as described above for the case of a lost carrier signal.
AT+i Programmer‘s Manual Version 8.32
5-4
Connection
5.4
+iDOWN — Terminate Internet Session
Syntax: AT+iDOWN
Performs a software reset. Terminates an ongoing Internet
session, goes offline and returns to Command mode.
This command is useful in a dialup environment following a
command where the stay online flag (!) was specified.
All open sockets are closed and the web server deactivated.
Result Code:
I/OK
Followed by:
I/ERROR After terminating the current Internet session when the command
caused iChip to abort an ongoing Internet activity or close an
active socket.
-orI/DONE After terminating the current Internet session. Allow a 2.5 sec.
delay for iChip
re-initialization following an Internet mode session. Relevant for
iChip in dial-up mode only.
-orI/ONLINE After terminating the current Internet session.
AT+i Programmer‘s Manual Version 8.32
5-5
Connection
5.5
+iPING — Send a PING Request to a Remote Server
Syntax: AT+iPING:
Sends a two-byte ICMP PING request packet to the remote host
defined by host.
Parameters: =Logical name of the target host or a host IP address.
Command Options:
 The host name may be any legal Internet server name, which can
be resolved by the iChip‘s DNS (Domain Name Server) settings.
The host name may also be specified as an absolute IP address
given in DOT form.
Result Code:
I/ Upon successfully receiving an ICMP PING reply from the host,
the round trip time in milliseconds is returned (RTT). iChip allows
up to  milliseconds for a PING reply. If a reply is not
received within  milliseconds, iChip sends two more PING
requests, allowing  milliseconds for a reply on each of the
requests before reporting an error.
I/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
5-6
E-mail Send Commands
6.1
E-mail Send Commands
+iEMA — Accept ASCII-Coded Lines for E-Mail Send
Syntax: AT+i[!]EMA:
Defines a plain text e-mail body.
Parameters:
 Plain text e-mail body. The e-mail body contains 
terminated ASCII character strings.  must be
terminated by a dot character (.) in the 1st column of an otherwise
empty line.
Command Options: ::={ …}.
Maximum size of  is limited to 18K, provided that no
additional system resources are in use.
EMA uses the specified SMTP server to send the e-mail message.
When iChip acquires TOD from a network timeserver, outgoing email messages are time and date stamped.
! Stay online after completing the command
Result Code:
I/OK After all text lines are received and terminated by the (.) line.
I/ERROR If memory overflow occurred before all text lines are received.
Followed by:
I/DONE After successfully sending the e-mail. Allow a 2.5 seconds delay
for iChip re-initialization following an Internet mode session.
-orI/ONLINE After successfully sending the e-mail, if the stay online flag (!) is
specified.
-orI/ERROR If some error occurred during the send session.
AT+i Programmer‘s Manual Version 8.32
6-1
E-mail Send Commands
6.2
+iEMB — Accept Binary Data for Immediate E-Mail Send
Syntax: AT+i[!]EMB[#]:,
Defines and sends a MIME-encoded binary e-mail.
Parameters:
 size of  in bytes
  bytes of binary data
Command Options:
 0..4GB
 8 bit binary data. Must be exactly  bytes long.
The binary data is encapsulated in a MIME-encoded e-mail
message. The receiving end views the binary data as a standard
e-mail attachment.
Several consecutive +iEMB commands can be issued in
sequence to create a larger aggregate of data to be sent.
The e-mail contents are completed by issuing an AT+iE*
(terminate binary e-mail) command. Following the first +iEMB
command, iChip establishes an Internet connection while the
data stream is being transmitted from the host. Once an SMTP
session is established, iChip maintains a data transmit pipeline
between the host and the SMTP server. iChip converts the
binary data using BASE64 encoding on-the-fly. Following this
command, the Internet session remains active to service
additional +iEMB commands, until the +iE* terminating
command.
EMB uses the specified SMTP server to send the e-mail
message. When iChip acquires TOD from a network
timeserver, outgoing e-mail messages are time and date
stamped.
! Stay online after completing the command. This flag is
redundant, as the iChip defaults to staying online until the
AT+iE* command is issued.
# Modem baud rate limit flag. When this character is included in
the command, the iChip baud rate to the modem is limited by
the baud rate from the host. This flag is relevant for serial
modems only and is especially useful in GSM modem
configurations. When this character is not present, the iChip
attempts to lift the baud rate to the modem to its maximal
value.
Result Code:
AT+i Programmer‘s Manual Version 8.32
6-2
E-mail Send Commands
I/OK If  is within limits and after  bytes have been received
successfully.
I/ERROR If  is out of bounds, or if a communication error occurred
during the Internet session.
Notes:

If  is larger than 256 bytes, iChip assumes host flow control. Depending on the
setting of the FLW parameter, the flow control mode is either software or hardware.
Under software flow control, the host processor must respond to iChip‘s flow control
characters. The software flow control protocol is detailed in the Host  iChip
Software Flow Control section later in this document. When software flow control is
active, it is recommended to set the iChip to Echo-Off mode. Under hardware flow
control, the ~CTS/~RTS RS232 control signals must be connected and the host must
respond to the iChip‘s ~CTS signal. The host may send data only when the ~CTS
signal is asserted (active low). If a transmission error occurs while in hardware flow
control, iChip continues receiving all remaining  bytes before returning the
I/ERROR response.

Some SMTP servers limit e-mail message size to a value that is lower than iChip‘s
limitations.
AT+i Programmer‘s Manual Version 8.32
6-3
E-mail Send Commands
6.3
+iE* — Terminate Binary E-Mail
Syntax: AT+i[!]E*
Terminates the current binary e-mail attachment.
Command Options:
! Stay online after completing the command
Result Code:
I/OK If a binary e-mail attachment is in the process of being
defined. The e-mail message is terminated and the SMTP
session is then completed and closed.
I/ERROR Otherwise
Followed by:
I/DONE After successfully sending the e-mail. Allow a 2.5 seconds
delay for iChip re-initialization following an Internet mode
session.
-orI/ONLINE After successfully sending the e-mail, if the stay online flag
(!) is specified.
-orI/ERROR If some error occurred during the send session.
AT+i Programmer‘s Manual Version 8.32
6-4
E-Mail Retrieve
7.1
E-Mail Retrieve
+iRML — Retrieve Mail List
Syntax: AT+i[!]RML
Retrieves pending e-mail list from current mailbox.
Command Options:
! Stay online after completing the command
Result Code:
I/OK To acknowledge successful receipt of the command.
I/ERROR Otherwise
Returns:
I/MBE If the mailbox is empty.
Otherwise: A list of qualifying e-mail message descriptors, separated by
. An e-mail message descriptor is composed of 5
 separated fields:


where,
 - E-mail message index in mailbox
 - E-mail message size in bytes
 - E-mail message date (for the date field format refer
to RFC822)
 - E-mail message subject string (limited to
128 bytes)
 - MIME content type. The literal NONE is
used for non-MIME e-mail messages.
E-mail messages that qualify the E-Mail Delete Filter
(DELF) are not listed.
Followed by:
I/DONE After successfully retrieving the e-mail list. Allow a 2.5
seconds delay for iChip re-initialization following an
Internet mode session.
-orI/ONLINE After successfully retrieving the e-mail list, if the stay online
flag (!) is specified.
I/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
7-1
E-Mail Retrieve
7.2
+iRMH — Retrieve Mail Header
Syntax: AT+i[!]RMH[:i]
Retrieves header of e-mail message  from current mailbox.
Parameters:
i Optional e-mail message index of a qualifying message. If no
parameter is used, all e-mail headers are retrieved.
Command Options:
i Optional index of a qualifying message, as reported by
AT+iRML.
! Stay online after completing the command
Default: Retrieves headers of all pending qualified mail messages.
Result Code:
I/OK When command is received and about to be processed.
I/ERROR Otherwise
Returns:
I/MBE If the mailbox is empty.
Otherwise: All header lines of all qualifying e-mail messages. Header
lines are returned as-is. A line containing solely a (.) (period)
in column 1 acts as a separator between the header lines of
each e-mail. The HDL parameter limits the number of header
lines per mail (HDL=0 specifies an unlimited number of lines
per e-mail). Header field syntax is described in RFC822 and
RFC2045.
Followed by:
I/DONE After successfully retrieving the e-mail headers. Allow a 2.5
seconds delay for iChip re-initialization following an Internet
mode session.
-orI/ONLINE After successfully retrieving the e-mail headers, if the stay
online flag (!) is specified.
-orI/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
7-2
E-Mail Retrieve
7.3
+iRMM — Retrieve Mail Message
Syntax: AT+i[!]RMM[:i]
Retrieves contents of e-mail message i from current mailbox.
Parameters:
i Optional e-mail message index of a qualifying message. If no
parameter is used, all e-mails are retrieved.
Command Options:
i Optional index of a qualifying message, as reported by
AT+iRML.
! Stay online after completing the command.
Default: Retrieves all pending qualified mail messages.
Result Code:
I/OK When command is received and about to be processed.
I/ERROR Otherwise
Returns:
I/MBE If the mailbox is empty.
Otherwise: For each e-mail part:
(For plain-text e-mails without MIME attachments)
I/PART – 

-or- (For e-mails containing MIME attachments)
I/PART – 
 
-or- (When XFH – transfer e-mail headers – is set to YES)
I/RCV
-orFollowed by: 
If the XFH parameter (transfer e-mail headers) is set to YES,
all e-mail contents are returned as-is. The e-mail‘s headers
followed by the e-mail‘s body are retrieved. MIME
encapsulated e-mail messages are retrieved without BASE64
decoding. It is assumed that when the XFH parameter is set to
YES, the host processor attends to all e-mail field parsing and
contents decoding.
If the XFH parameter is set to NO, only the
AT+i Programmer‘s Manual Version 8.32
7-3
E-Mail Retrieve
email‘s body (contents) are retrieved. If the email message
contains a MIME-encapsulated attachment encoded in
BASE64, iChip performs the decoding and transfers pure
binary data to the host. Binary attachments encoded in a
scheme other than BASE64 are returned as-is.
E-mails that qualify the Delete E-Mail Filter (DELF) are
deleted from the mailbox without being downloaded.
Followed by:
I/EOP End of Part Message, if message is prefixed with an I/PART
line.
This repeats itself for all e-mail parts.
Followed by:
I/EOM End of Message
This repeats itself for all qualifying e-mail messages.
When all messages
have been retrieved:
I/DONE After successfully retrieving the e-mail. Allow a 2.5 seconds
delay for iChip re-initialization following an Internet mode
session.
-orI/ONLINE After successfully retrieving the e-mail, if the stay online flag
(!) is specified.
-orI/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
7-4
E-Mail Retrieve
E-Mail Receive (RMM) Flow Diagram
Issue
AT+iRMM
wait f or I/OK
Fetch next
Line
I/MBE
I/ERROR
I/RCV
I/DONE or
I/ONLINE
Mailbox
is empty
END
Fetch next
Line
END
Yes
I/EOM
Mail
Message
Complete
I/Done
Other
END
Line belongs
to Mail
I/PART
I/EOM
Parse Part
Fields
Mail
Message
complete
Binary
Attachment
Part?
No
Fetch next
line
Receive
Mail
"AS-IS"
Yes
Attachment
Bas e64
Enc oding?
No
I/EOP
Other
Fetch Next
By te
Receiv e
"nnn)"
Receive decoded
binary data
belongs
Line Belongs
Mail
to mail
No
Yes
No
Las t 8 Bytes
="I/ERROR("
Yes
Mail Part
Complete
Receive
Mail "AS-IS"
Las t 5 Bytes
="I/EOP"
Figure 7-1 E-Mail Receive (RMM) Flow Diagram
AT+i Programmer‘s Manual Version 8.32
7-5
HTTP Client Interface
8.1
HTTP Client Interface
+iRLNK — Retrieve Link
Syntax: AT+i[!]RLNK[:URL]
Retrieves a file from a URL.
Parameters: URL = Optional URL address, which specifies the host, path, and
source file to be retrieved.
URL address syntax:
―://[[:]/[]/]‖
Command Options:
 http or https
 Host name or IP address
 0..65535
If not specified, defaults to 80 for http and 443 for https.
 Path, filename, and file extension of the file to retrieve on the
designated host.
! Stay online after completing the command.
Default: Uses the URL address stored in the URL parameter.
Result Code:
I/OK When command is received and about to be processed.
I/ERROR Otherwise
Returns: I/
Followed by: 
where,
 is the exact size of the  to follow.
If  is unknown, iChip returns I/0 followed by the data stream.
When this is the case, the host must monitor for a timeout
condition of at least 5 seconds without any data being transmitted
before seeing one of the terminator lines described under
‗Followed by‘.
Followed by:
I/DONE After successfully retrieving the file. Allow a 2.5 seconds delay
for iChip re-initialization following an Internet mode session.
-orI/ONLINE After successfully retrieving the file, if the stay online flag (!) is
AT+i Programmer‘s Manual Version 8.32
8-1
HTTP Client Interface
specified.
-orI/ERROR Otherwise. (Always preceded by a 5 seconds silence period.)
AT+i Programmer‘s Manual Version 8.32
8-2
HTTP Client Interface
8.2
+iSLNK — Submit A POST Request to A Web Server
Syntax: AT+i[!]SLNK:
Submits a plain text POST request to a web server defined
in the URL parameter. The ―Content-type:‖ field of the
POST request is defined by the CTT parameter.
Parameters:  = Plain text POST request body containing
 terminated ASCII character strings.  must
be terminated by a dot character (.) in the first column of an
otherwise empty line.
Command Options:
 .
Maximum size of  depends on the amount of memory
available in the specific iChip. SLNK uses the URL address
stored in the URL parameter to send the POST request.
! Stay online after completing the command.
Result Code:
I/OK After all text lines are received from the host.
I/ERROR If a memory overflow occurred before all text lines are
received.
AT+i Programmer‘s Manual Version 8.32
8-3
SerialNET Mode Initiation
9.1
SerialNET Mode Initiation
+iSNMD — Activate SerialNET Mode
Syntax: AT+i[! | @]SNMD
Activates SerialNET mode. Instead of using the optional (!)
and (@) flags, you can use the following syntax:
AT+iSNMD=1 is equivalent to AT+iSNMD
AT+iSNMD=2 is equivalent to AT+i!SNMD
AT+iSNMD=3 is equivalent to AT+i@SNMD
AT+iSNMD=4 causes iChip to enter SerialNET-overTELNET mode
Command Options:
AT+i!SNMD Optional Auto-Link mode. When this flag is specified, iChip
-or- immediately goes online when activating SerialNET mode
(even when serial data has not yet arrived). If the LPRT
AT+iSNMD=2 (Listening Port) parameter is defined, iChip opens the
listening port and awaits a connection. If LPRT is not defined,
but HSRV (Host Server) is defined, iChip immediately opens
a SerialNET socket link to the server.
AT+i@SNMD Optional Deferred Connection mode. When this flag is
-or- specified, iChip automatically goes online (as in the case of
AT+i!SNMD). However, if the HSRV parameter is defined, a
AT+iSNMD=3 socket is not opened until data arrives on the local serial port.
If the SerialNET mode listening port is defined (LPRT), iChip
opens a listening socket and waits for a remote connection
during the idle period before data arrives on the local serial
port.
When the SerialNET socket type (STYP) is TCP and serial
data arrives, iChip buffers the data in the MBTB Buffer and
tries to connect to HSR0. If HSR0 does not respond, iChip
tries HSR1, then HSR2. If all three connection attempts fail,
iChip retries them all. After three full retry cycles, iChip
dumps the MBTB buffer and remains idle until new serial
data arrives.
AT+iSNMD=4 Optional SerialNET over TELNET mode. In this mode, iChip
opens a data socket as a TELNET socket, which allows
negotiations of TELNET options over the same socket while
the host is sending and receiving raw data only. This mode
partially supports the RFC2217 standard. For more
information about this mode, refer to the SerialNET over
TELNET description.
AT+i Programmer‘s Manual Version 8.32
9-1
SerialNET Mode Initiation
Note:
Before entering SerialNET mode, you must set iChip‘s Host Interface to
USART0 (HIF=1) or USART1 (HIF=2).
Result Code:
I/OK If all minimum required parameters for SerialNET mode
operation are defined (HSRV or LPRT and, in a modem
environment, also ISP1, USRN, PWD)
I/ERROR Otherwise
Followed by:
I/DONE After successfully activating SerialNET mode when using.
Allow a 2.5 seconds delay for iChip re-initialization.
-orI/ONLINE After successfully activating SerialNET mode. Allow a 2.5
seconds delay for iChip re-initialization.
-orI/OFFLINE After successfully activating SerialNET Auto-Link mode (!)
or Deferred Connection mode (@) with LAN
communications, and a LAN link is not detected at the time
that iChip enters the new mode.
Note: To terminate SerialNET mode, issue the ESC sequence (+++),or pull the MSEL
signal low for more than 5 seconds. After exiting SerialNET mode, iChip returns to
normal AT+i command mode.
AT+i Programmer‘s Manual Version 8.32
9-2
Web Server Interface
10
10.1
Web Server Interface
+iWWW — Activate Embedded Web Server
Syntax: AT+iWWW[:n]
Activates iChip‘s internal web server.
Parameters: =Web browser backlog. n represents the number of browsers
that can connect to iChip‘s internal web server simultaneously at
any given time.
Command Options: =1..3
Default: =1
Returns: I/()
where,
 is the iChip local IP address.
Note: If the web server is already open, then I/()
is returned without any action taken.
In a dial-up environment, iChip goes online and the  is assigned dynamically by the ISP.
In an LAN environment, the IP address is assigned by a DHCP
server or configured by the DIP parameter.
I/ERROR If connection to the Internet failed.
AT+i Programmer‘s Manual Version 8.32
10-1
Web Server Interface
10.2
+iWNXT — Retrieve Next Changed Web Parameter
Syntax: AT+iWNXT
Retrieves the Parameter Tag name and new value of the next
changed application web parameter, which has not been retrieved
since it has been changed by the remote browser.
Returns: = 
When there are no more remaining changed parameters, a blank
 terminated line is returned.
Followed by:
I/O
AT+i Programmer‘s Manual Version 8.32
10-2
File Transfer Protocol (FTP)
11
File Transfer Protocol (FTP)
11.1
+i[@]FOPN — FTP Open Session
Syntax: AT+i[@]FOPN:[,]:,[,]
Opens an FTP link to an FTP server.
Parameters:
 Logical name of the FTP or the server‘s IP address.
 Optional FTP port in the range 0..65535.
 FTP user‘s name
 FTP user‘s password
 Optional FTP account
Command Options:
 The server name may be any legal Internet-server name, which
can be resolved by the iChip‘s DNS (Domain Name Server)
settings. The server name may also be specified as an absolute IP
address given in DOT form.
 Specifies the FTP server‘s listening port. If not specified, port 21
(decimal) is assumed.
 User‘s name string. This must be a registered user on the FTP
server. Some servers allow anonymous login, in which case
user=anonymous.
 Password to authenticate user. If special characters are used, the
password must be specified within quotes. It is customary that
servers that allow anonymous login request an e-mail address as a
password.
 Some FTP servers require an account in order to allow a certain
subset of the commands. In this case, the account name must be
specified when opening the FTP link.
@ The optional @ is used to flag the Force PASV mode. When @ is
specified, iChip only uses the PASV method when opening a data
socket to server for FTP data transfer.
Result Code:
I/ Upon successfully connecting to the FTP Server and
authenticating the user, a socket handle is returned. The handle
 is used to reference the FTP session in all
following FTP commands.
I/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
11-1
File Transfer Protocol (FTP)
11.2
+iFDL — FTP Directory Listing
Syntax: AT+iFDL:[,]
Returns a full FTP directory listing.
Parameters:
 An open FTP session handle
 Directory or filename wild card
Command Options:
 Must have been obtained by a previous execution of an
AT+iFOPN command during the current Internet mode session.
 Optional directory name or filename wild card. If  is a
directory, that directory‘s files are listed. If it is a filename wild
card, only matching filenames in the current directory are listed.
If  is not specified, the current directory is listed in full.
Result Code:
I/OK To acknowledge successful receipt of the command.
I/ERROR If  is not an open FTP session or otherwise some error
has occurred.
Returns: A list of filenames with file attributes. Each file is listed on a
separate line, terminated by . The file data line syntax
is FTP server-dependant.
Followed by:
I/ONLINE After successfully retrieving the directory list.
AT+i Programmer‘s Manual Version 8.32
11-2
File Transfer Protocol (FTP)
11.3
+iFDNL — FTP Directory Names Listing
Syntax: AT+iFDNL:[,]
Returns the FTP directory name list.
Parameters:
 An open FTP session handle
 Optional directory or filename wild card
Command Options:
 Must have been obtained by a previous execution of an
AT+iFOPN command during the current Internet mode session.
 Optional directory name or filename wild card. If  is a
directory, that directory‘s files are listed. If it is a filename wild
card, only matching filenames in the current directory are listed.
If  is not specified, the current directory is listed in full.
Result Code:
I/OK To acknowledge successful receipt of the command.
I/ERROR If  is not an open FTP session or otherwise some error
has occurred.
Returns: A bare list of filenames. Each file name is listed on a separate
line, terminated by . No attributes are returned in
addition to the filename.
Followed by:
I/ONLINE After successfully retrieving the directory list.
AT+i Programmer‘s Manual Version 8.32
11-3
File Transfer Protocol (FTP)
11.4
+iFMKD — FTP Make Directory
Syntax: AT+iFMKD:,
Creates a new directory on the FTP server‘s file system.
Parameters:
 An open FTP session handle
 Directory pathname
Command Options:
 Must have been obtained by a previous execution of an
AT+iFOPN command during the current Internet mode
session.
 Directory name. A new directory will be created under the
current directory, as indicated by path. If path includes
nonexistent subdirectories, some FTP servers will create them
as well.
Result Code:
I/OK To acknowledge successful completion of the command.
I/ERROR If  is not an open FTP session or otherwise some error
has occurred.
AT+i Programmer‘s Manual Version 8.32
11-4
File Transfer Protocol (FTP)
11.5
+iFCWD — FTP Change Working Directory
Syntax: AT+iFCWD:,
Changes the current FTP working directory.
Parameters:
 An open FTP session handle
 New directory path name
Command Options:
 Must have been obtained by a previous execution of an
AT+iFOPN command during the current Internet mode session.
 Absolute or relative path name of the new directory. The special
directory ―..‖ signifies ―one directory up‖.
Result Code:
I/OK After successfully changing the working directory.
I/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
11-5
File Transfer Protocol (FTP)
11.6
+iFSZ — FTP File Size
Syntax: AT+iFSZ:,
Reports an FTP file size.
Parameters:
 An open FTP session handle
 File pathname
Command Options:
 Must have been obtained by a previous execution of an
AT+iFOPN command during the current Internet mode
session.
 Absolute or relative path name of the remote file.
Result Code:
I/ iChip reports path‘s file size in bytes if the file exists and the
FTP server supports the file size FTP command. Followed by:
I/OK.
I/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
11-6
File Transfer Protocol (FTP)
11.7
+iFRCV — FTP Receive File
Syntax: AT+iFRCV:,
Downloads a file from an FTP server.
Parameters:
 An open FTP session handle
 File pathname
Command Options:
 Must have been obtained by a previous execution of an
AT+iFOPN command during the current Internet mode
session.
 Absolute or relative path name of the remote file.
Result Code:
I/OK When command has been received and about to be processed.
I/ERROR If  is not an open FTP session or otherwise some error
has occurred.
Followed by:
I/ERROR If the FTP RECV command could not be processed.
-or- I/
Followed by: 
where,
 is the exact size (in bytes) of the  to follow.
If  cannot be determined, iChip returns I/0 followed by the
data stream. When this is the case, the host must monitor for a
timeout condition of at least 5 seconds without any data being
transmitted before seeing the I/ONLINE to deduce that the
data stream is complete.
If  was reported but a transmission error occurred,
preventing the iChip from returning all  data bytes — an
I/ERROR command is issued after a 5 seconds nontransmission period. See FTP Receive Flow Diagram.
Followed by:
I/ONLINE After successfully retrieving file contents.
AT+i Programmer‘s Manual Version 8.32
11-7
File Transfer Protocol (FTP)
11.8
+iFSTO — FTP Open File for Storage
Syntax: AT+iFSTO:,[,]
Opens a remote FTP server file for upload.
Parameters:
 An open FTP session handle
 Destination file pathname
 Optional size in bytes to reserve for the file on the remote FTP
server
Command Options:
 Must have been obtained by a previous execution of an
AT+iFOPN command during the current Internet mode session.
 Absolute or relative path name of the remote destination file.
Following this command data is transferred to the remote file
using one or more +iFSND commands. The file transfer is
complete by issuing a +iFCLF (FTP File Close) command.
Result Code:
I/OK If file  was successfully opened for writing on the FTP
server.
I/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
11-8
File Transfer Protocol (FTP)
11.9
+iFAPN — FTP Open File for Appending
Syntax: AT+iFAPN:,[,]
Opens an existing remote FTP server file for Append.
Parameters:
 An open FTP session handle
 File pathname
 Size in bytes to reserve for the file on the server
Command Options:
 Must have been obtained by a previous execution of an
AT+iFOPN command during the current Internet mode
session.
 Absolute or relative path name of the remote destination file.
Following this command data is transferred to the remote file
using one or more +iFSND commands. The file transfer is
complete by issuing a +iFCLF (FTP File Close) command.
Result Code:
I/OK If file  was successfully opened for appending on the
FTP server.
I/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
11-9
File Transfer Protocol (FTP)
11.10 +iFSND — FTP Send File Data
Syntax: AT+iFSND:,:
Uploads data to a remote FTP server file. Valid only after a
successful AT+iFSTO or AT+iFAPN command.
Parameters:
 An open FTP session handle
 The exact size of the data stream that follows
 A byte stream of size  composing the remote file contents
Command Options:
 Must have been obtained by a previous execution of an
AT+iFOPN command during the current Internet mode
session.
 An 8-bit byte stream of exactly size . If  is larger than
256 bytes, iChip assumes host flow control. Depending on the
setting of the FLW parameter, the flow control mode is either
software or hardware. Under software flow control mode, the
host processor must respond to iChip‘s flow control characters.
The flow control protocol is detailed in the ―Host  iChip
Software Flow Control‖ section later in this document. When
software flow control is active, it is recommended to set iChip
to Echo-Off mode.
Under hardware flow control, the ~CTS/~RTS RS232 control
signals must be connected and the host must respond to iChip‘s
~CTS signal. The host may send data only when the ~CTS
signal is asserted (active low).
Several consecutive +iFSND commands may be issued in
sequence to create a larger aggregate of data to be sent.
The file transfer is complete by issuing a +iFCLF (FTP Close
File) command.
Result Code:
I/OK After  bytes have been transferred successfully to the FTP
data socket.
I/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
11-10
File Transfer Protocol (FTP)
11.11 +iFCLF — FTP Close File
Syntax: AT+iFCLF:
Closes a file downloaded to a remote FTP server. Only valid
after a successful AT+iFSTO or AT+iFAPN command and
optional AT+iFSND commands.
Parameters:
 An open FTP session handle
Command Options:
 Must have been obtained by a previous execution of an
AT+iFOPN command during the current Internet mode
session.
Result Code:
I/OK After successfully closing the file.
I/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
11-11
File Transfer Protocol (FTP)
11.12 +iFDEL — FTP Delete File
Syntax: AT+iFDEL:,
Deletes a remote FTP file.
Parameters:
 An open FTP session handle
 File pathname
Command Options:
 Must have been obtained by a previous execution of an
AT+iFOPN command during the current Internet mode
session.
 Absolute or relative pathname of the remote destination file to
delete.
Result Code:
I/OK After successfully deleting the remote file.
I/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
11-12
File Transfer Protocol (FTP)
11.13 +iFCLS — FTP Close Session
Syntax: AT+i[!]FCLS:
Closes the FTP link.
Parameters:
 An open FTP session handle
Command Options:
 Must have been obtained by a previous execution of an
AT+iFOPN command during the current Internet mode
session.
! Stay online after completing the command
Result Code:
I/OK When command has been received and about to be processed.
Followed by:
I/DONE When the FTP link was the last open socket and after
successfully closing the FTP link. Allow a 2.5 seconds delay
for iChip re-initialization following an Internet mode session.
-orI/ONLINE After successfully closing the FTP link, when additional
sockets are still active or the stay online flag (!) is specified.
-orI/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
11-13
Telnet Client
12
12.1
Telnet Client
+iTOPN — Telnet Open Session
Syntax: AT+iTOPN:
Opens a Telnet link (socket) to a Telnet server on port 23.
Parameters:
 Logical name of the Telnet server or the server‘s IP address.
Command Options:
 The server name can be any legal Internet Server name that
can be resolved by iChip‘s DNS (Domain Name Server)
settings. The server name may also be specified as an
absolute IP address given in DOT form.
Result Code:
I/OK Upon successfully connecting to the remote Telnet server.
I/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
12-1
Telnet Client
12.2
+iTRCV — Telnet Receive Data
Syntax: AT+iTRCV[:]
Receives data from the Telnet server.
Parameters:
 Optionally specifies the maximum number of bytes to
transfer.
Result Code:
I/ERROR If no Telnet session is open or otherwise some error has
occurred.
Returns: I/[:]
where,
 is the exact size of the binary data stream to follow.
If the socket input buffer is empty, iChip returns I/O. In this
case the (:) and  are omitted.
 is guaranteed to be equal or less than , when
specified.
AT+i Programmer‘s Manual Version 8.32
12-2
Telnet Client
12.3
+iTSND — Telnet Send Data Line
Syntax: AT+iTSND:
Sends data to the remote Telnet server.
Parameters:
 A line of data bytes to be sent to the Telnet server. iChip
terminates the  with a  and sends it to
the Telnet server.
Command Options:
 If the line to be sent incorporates iChip delimiter characters (,
; : ; = ; ~),  must be enclosed in single (‗) or
double (―) quotes. AT+i command‘s terminating  is
considered a terminating quote, as well.
Result Code:
I/OK After the  has been successfully sent to the Telnet
server.
I/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
12-3
Telnet Client
12.4
+iTBSN[%] — Telnet Send A Byte Stream
Syntax: AT+iTBSN[%]::
Sends a byte stream of size  to the Telnet server.
Parameters:
 The exact size of the byte stream that follows.
 A byte stream of size  to be sent to the Telnet server.
Command Options:
 0..4GB
 An 8-bit byte stream of exactly size . If  is larger
than 256 bytes, iChip assumes host flow control. Depending
on the setting of the FLW parameter, the flow control mode is
either software or hardware.
Under software flow control mode, the host processor must
respond to iChip‘s flow control characters. The flow control
protocol is detailed in the ―Host  iChip Software Flow
Control‖ section later in this document.
Under hardware flow control, the ~CTS/~RTS RS232 control
signals must be connected and the host must respond to
iChip‘s ~CTS signal. The host may send data only when the
~CTS signal is asserted (active low).
% When the auto-flush (‗%‘) flag is specified, the Telnet socket
is automatically flushed immediately after receiving the
 from the host. Otherwise, data will be transmitted
to the Internet only in integral quantities of the specified
Maximum Transfer Unit (MTU) or when the AT+iTFSH
command is issued.
Result Code:
I/OK After  bytes have been transferred successfully to the
Telnet socket‘s output buffer.
I/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
12-4
Telnet Client
12.5
+iTFSH[%] — Flush Telnet Socket’s Outbound Data
Syntax: AT+iTFSH[%]
Flushes (immediately sends) all the data accumulated in a
Telnet socket‘s outbound buffer.
Command Options:
% When the flush-and-acknowledge (‗%‘) flag is specified,
iChip flushes and waits for the Telnet server receipt
acknowledgment of all outstanding outbound data.
Result Code:
I/OK If all outbound data has been received and acknowledged by
the Telnet server.
I/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
12-5
Telnet Client
12.6
+iTCLS — Telnet Close Session
Syntax: AT+i[!]TCLS
Closes the Telnet link.
Command Options:
! Stay online after completing the command
Result Code:
I/OK If an active Telnet socket exists.
Followed by:
I/DONE When the Telnet link was the last open socket and after
successfully closing the Telnet link. Allow a 2.5 seconds
delay for iChip re-initialization following an Internet mode
session.
-orI/ONLINE After successfully closing the Telnet link, when additional
sockets are still active or the stay online flag (!) is specified.
-orI/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
12-6
Direct Socket Interface
13
Direct Socket Interface
13.1
+iSTCP — Open and Connect A TCP Socket
Syntax: AT+iSTCP:,[,]
Opens a Transmission Control Protocol (TCP) client socket
and attempts to connect it to the specified  on a server
defined by .
Parameters:
 Logical name of the target server or a host IP address
 0..65535, target port
 Optional local port on iChip
Command Options:
 The server name may be any legal Internet server name that
can be resolved by iChip‘s DNS (Domain Name Server)
settings. The server name can also be specified as an absolute
IP address given in DOT form.
 It is assumed that the server system is listening on the specified
port.
 Can be optionally specified to force iChip to use lport as the
local port when opening the TCP socket. If unspecified, iChip
allocates a port from its internal pool1.
Result Code:
I/ Upon successfully opening and connecting the TCP socket to
the :, a socket handle is returned. The socket
handle  is in the range 0..9 and used to reference
the socket in all following socket commands.
I/ERROR Otherwise
The Socket Command Abort may be used to abort prematurely.
Note: iChip uses the port range [1025 .. 2048] when assigning default local ports. The
host should refrain from specifying local ports in this range to ensure that Error 218 is not
generated as a result of requesting local ports that overlap internal assignments.
AT+i Programmer‘s Manual Version 8.32
13-1
Direct Socket Interface
13.2
+iSUDP — Open A Connectionless UDP Socket
Syntax: AT+iSUDP:,[,]
Opens a UDP (User Datagram Protocol) socket and sets the
remote system‘s : address.
Parameters:
 Logical name of the target server or a host IP address, or
0.0.0.0 to open a non-connected socket.
 Remote port number to send to, or 0 to open a non-connected
socket.
 Optional local UDP port to use.
Command Options:
 The remote system‘s name may be any legal Internet server
name that can be resolved by iChip‘s DNS (Domain Name
Server) settings. The server name may also be specified as an
absolute IP address given in DOT form. When the  is
defined, the resulting UDP socket is created and connected. If
=0.0.0.0, the socket is created but remains unconnected.
The first UDP packet to arrive automatically latches the
sender‘s IP port, in effect connecting the socket.
 Specifies the remote system‘s port.
 Specifies the local port to use. If unspecified, iChip allocates a
port from its internal pool.
Result Code:
I/ Upon successfully opening and connecting the UDP socket to
:, a socket handle is returned. The socket handle
 is in the range 0..9 and used to reference the
socket in all following socket commands.
I/ERROR Otherwise
The Socket Command Abort may be used to abort prematurely.
AT+i Programmer‘s Manual Version 8.32
13-2
Direct Socket Interface
13.3
+iLTCP — Open A TCP Listening Socket
Syntax: AT+iLTCP:,
Opens a TCP listening socket on the local IP address and the
specified port . The  parameter specifies the
maximum number of remote concurrent connections allowed
through the listening socket.
Parameters:
 0..65535
 1..10
Command Options:
 Listening port to be used by a remote system when connecting
to iChip.
 Specifies the maximum number of active connections that may
be concurrently established through the listening socket.
Once the listening socket is open, it automatically accepts
remote connect requests up to the maximum allowed. When a
remote system connects through the listening socket, a new
TCP socket is spawned internally ready to send and receive
data. See the AT+iLSST command for details on retrieving the
handles of active sockets connected through a listening socket.
When a connected socket is closed by the host using the
AT+iSCLS command, the listening socket allows a new
connection in its place.
Result Code:
I/ Upon successfully opening a TCP listening socket, a socket
handle is returned. The socket handle  is in the
range 10..11 and used to reference the socket in all following
socket commands.
I/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
13-3
Direct Socket Interface
13.4
+iLSST — Get A Listening Socket’s Active Connection Status
Syntax: AT+iLSST:
Retrieves handles of active socket connections established
through the listening socket identified by .
Parameters:
 A TCP listening socket handle of an open listening socket.
Command Options:
 Must have been obtained by a previous AT+iLTCP command
during the current Internet session.
Result Code:
I/(,…,) A list of active socket handles. The list contains 
elements, where  was used when opening the
listening socket identified by .
Where,
 >=0 : A handle to an active connected socket
=-1 : No connection has been established
I/ERROR If  is not an open listening socket, or otherwise some
error occurred.
AT+i Programmer‘s Manual Version 8.32
13-4
Direct Socket Interface
13.5
+iSST — Get A Single Socket Status Report
Syntax: AT+iSST:
Retrieves a socket status report for a single socket. This is a
subset of the general AT+iRP4 report command.
Parameters:
 A TCP/UDP socket handle
Command Options:
 Must have been obtained by a previous execution of an
AT+iSTCP or AT+iSUDP command during the current Internet
mode session. Or a socket accepted by a listening socket.
Result Code:
I/() where,
sockstat >=0 – Number of bytes pending in socket ‘s input
buffer
sockstat <0 – Socket error code
I/ERROR If some error occurred
AT+i Programmer‘s Manual Version 8.32
13-5
Direct Socket Interface
13.6
+iSCS — Get A Socket Connection Status Report
Syntax: AT+iSCS:
Retrieves a socket‘s connection status report without reporting
the number of buffered characters.
Parameters:
 A TCP/UDP socket handle
Command Options:
 Must have been obtained by a previous execution of an
AT+iSTCP or AT+iSUDP command during the current
Internet mode session. Or a socket accepted by a listening
socket.
Result Code:
I/() where,
sockstat=000 – Socket is connected without any associated
errors.
sockstat<0 – Socket error code
I/ERROR If some error occurred.
AT+i Programmer‘s Manual Version 8.32
13-6
Direct Socket Interface
13.7
+iSSND[%] — Send A Byte Stream to A Socket
Syntax: AT+iSSND[%]:,:[]
Sends a byte stream of size sz to the socket specified by
the socket handle hn.
Parameters:
 A TCP/UDP socket handle of an open socket
 The exact size of the byte stream that follows
 A byte stream of size sz to be sent to the specified
socket. When iChip is in checksum mode (CKSM set to
1), the socket is UDP or when sending data over an SSL
socket, sz is limited to 2048 bytes.
 A two-byte checksum. Checksum is calculated by
summing all the characters in stream modulo 65536 and
taking two‘s complement of the result. Checksum is sent
as big-endian. This parameter must be appended by the
host application when iChip is in checksum mode.
Command Options:
 Must have been obtained by a previous execution of an
AT+iSTCP or AT+iSUDP command during the current
Internet mode session. Or a socket accepted by a
listening socket.
 Regular TCP socket:
0..4GB
SSL Socket, Checksum mode or UDP: 0..2048
 An 8-bit byte stream of exactly size sz. If sz is larger
than 256 bytes, iChip assumes host flow control.
Depending on the setting of the FLW parameter, the
flow control mode is either software or hardware.
Under software flow control mode, the host processor
must respond to iChip‘s flow control characters. The
flow control protocol is detailed in the ―Host  iChip
Software Flow Control‖ section.
Under hardware flow control, the ~CTS/~RTS RS232
control signals must be connected and the host must
respond to iChip‘s ~CTS signal. The host may send data
only when the ~CTS signal is asserted (active low).
% When the auto flush (%) flag is specified for a TCP
socket, the socket is automatically flushed immediately
after receiving the stream. Otherwise, data is transmitted
to the Internet only in integral quantities of the specified
Maximum Transfer Unit (MTU) or when the AT+iSFSH
AT+i Programmer‘s Manual Version 8.32
13-7
Direct Socket Interface
command is issued. When using a UDP socket, every
SSND command generates and flushes a packet.
Result Code:
I/OK After sz bytes have been transferred successfully to the
socket‘s output buffer.
I/ERROR Otherwise
Note: When iChip is in checksum mode, it calculates the checksum of the data received
from host and compares it with checksum sent by host. If the two match, the result code is
I/OK. Otherwise, I/ERROR (228) is returned and the data discarded. If host attempts to
send more than 2048 bytes, I/ERROR (227) is returned.
The Socket Command Abort may be used to abort prematurely.
AT+i Programmer‘s Manual Version 8.32
13-8
Direct Socket Interface
13.8
+iSRCV — Receive A Byte Stream from A Socket’s Input
Buffer
Syntax: AT+iSRCV:[,]
Receives a byte stream from the TCP/UDP socket
specified by the socket handle hn. Received data is
valid only if it already resides in iChip‘s socket input
buffer at the time this command is issued.
Parameters:
 A TCP/UDP socket handle of an open socket
 Optionally specifies the maximum number of bytes to
transfer. Additional bytes may remain in the socket
input buffer following this command.
Command Options:
 Must have been obtained by a previous execution of an
AT+iSTCP or AT+iSUDP command during the
current Internet mode session. Or a socket accepted by
a listening socket.
 If  is not specified, all available bytes residing
in the socket input buffer are returned.
Returns:
I/[:][] where,
sz is the exact size of the binary data stream to follow.
If the socket input buffer is empty, iChip returns
I/O. In this case, stream is omitted.
sz is guaranteed to be equal or less-than max, when
specified.
checksum is a two-byte checksum. This parameter is
calculated by iChip only when it is in checksum mode
(CKSM set to ‗1‘). checksum is calculated by
summing all the characters in stream modulo 65536
and taking two‘s complement of the result. checksum
is sent as big-endian. The host application is assumed
to calculate its own checksum upon receipt of stream
and compare it against the checksum bytes received
from iChip. If the two checksums don‘t match, the
host can issue an AT+i!SRCV command, which
causes iChip to re-transmit the data. The next
AT+iSRCV command that the host issues causes
iChip to dump all data transmitted to host in the
previous AT+iSRCV command.
AT+i Programmer‘s Manual Version 8.32
13-9
Direct Socket Interface
I/ERROR If  is not an open socket, or otherwise some error
occurred.
AT+i Programmer‘s Manual Version 8.32
13-10
Direct Socket Interface
13.9
+iGPNM — Get Peer Name for A Specified Socket
Syntax: AT+iGPNM:
Retrieves peer name (:) of a remote connection to a
TCP/UDP socket specified by the socket handle .
Parameters:
 A TCP/UDP socket handle of an open socket
Command Options:
 Must have been obtained by a previous execution of an
AT+iSTCP or AT+iSUDP command during the current Internet
mode session. Or a socket accepted by a listening socket.
Result Code:
I/(:) where,
 is the remote peer‘s IP address, and  is the remote
peer‘s port for this connection.
I/ERROR If  is not an open socket handle, or otherwise some error
occurred.
AT+i Programmer‘s Manual Version 8.32
13-11
Direct Socket Interface
13.10 +iSDMP — Dump Socket Buffer
Syntax: AT+iSDMP:
Dumps all buffered data currently accumulated in a TCP
socket‘s inbound buffer. The socket remains open.
Parameters:
 A TCP socket handle of an open socket
Command Options:
 Must have been obtained by a previous execution of an
AT+iSTCP command during the current Internet mode
session. Or a socket accepted by a listening socket.
Result Code:
I/OK If  is a handle to an open socket.
I/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
13-12
Direct Socket Interface
13.11 +iSFSH[%] — Flush Socket’s Outbound Data
Syntax: AT+iSFSH[%]:
Flushes (immediately sends) accumulated data in a TCP
socket‘s outbound buffer.
Parameters:
 A TCP socket handle of an open socket
Command Options:
 Must have been obtained by a previous execution of an
AT+iSTCP command during the current Internet mode session.
Or a socket accepted by a listening socket.
% When the flush-and-acknowledge (%) flag is specified and
 is a TCP socket handle, iChip flushes and waits for the
peer receipt acknowledgment of all outstanding outbound data.
Common errors associated with this flag are 215 (carrier lost)
and 203 (socket closed by peer in an orderly manner or did not
receive ACK after repeated attempts to retransmit
unacknowledged data).
Result Code:
I/OK If  is a handle to an open socket and, when  is a TCP
socket handle, all outbound data has been received (and when
(%) flag specified also acknowledged) by peer.
I/ERROR Otherwise
The Socket Command Abort may be used to abort prematurely.
AT+i Programmer‘s Manual Version 8.32
13-13
Direct Socket Interface
13.12 +iSCLS — Close Socket
Syntax: AT+i[!]SCLS:
Closes a TCP/UDP socket.
If the socket is the only open socket and the stay online flag (!) is
not specified, iChip terminates the Internet session and goes
offline.
Parameters:
 A TCP/UDP socket handle of an open socket
Command Options:
 Must have been obtained by a previous execution of an
AT+iLTCP, AT+iSTCP or AT+iSUDP command during the
current Internet mode session. Or a socket accepted by a
listening socket.
A socket is always flushed before being closed. TCP sockets are
disconnected from the remote host server in an orderly manner.
! Stay online after completing the command.
Result Code:
I/OK If  is a handle to an open socket
I/ERROR Otherwise
Followed by:
I/DONE After successfully closing the last open socket. Allow a 2.5
seconds delay for iChip re-initialization following an Internet
mode session.
-orI/ONLINE After successfully closing the socket, while additional sockets
are still open or if the stay online flag (!) is specified.
-orI/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
13-14
Special Modem Commands
14
Special Modem Commands
14.1
+iMCM — Issue Intermediate Command to Modem
Syntax: AT+iMCM[:]
Sends a single AT command to the modem during an internet
session or enters Modem Command mode.
Parameters:
 Optional single AT command to be sent to modem.
Command Options:
 iChip puts the modem in command mode by issuing the (+++)
escape sequence and then sends  to the modem,
followed by a .  must include the AT prefix.
After receiving the modem‘s response, iChip restores the modem
to online operation mode by issuing the ATO command.
If  is not specified, iChip enters Modem
Command mode. In this mode, all following commands are
transferred as-is to the modem. Modem replies are relayed back to
the host processor. iChip does not translate the commands.
Modem Command mode is exited after the host issues the ATO
command. iChip transfers the ATO command to the modem and
relays the modem‘s response back to the host.
Returns: Modem‘s responses including command echo, if enabled.
Followed by:
I/OK When the modem successfully returns online.
I/ERROR If modem was unable to go back online.
AT+i Programmer‘s Manual Version 8.32
14-1
Wireless LAN Mode
15
Wireless LAN Mode
The iChip includes a Wireless LAN driver for the Marvell 88W8686 802.11b/g WiFi
chipset. In addition, the iChip firmware contains WEP and WPA encryption of
WPA-PSK with TKIP and WPA2-PSK with AES for this chipset.
WPA security requires a parameter that contains the Personal Shared Key (PSK),
sometimes referred to as the passphrase. The Wireless LAN Passphrase (WLPP)
parameter is used to set the passphrase. When passphrase contains a value, iChip uses
WPA security when connecting to an Access Point (AP). Note, however, that for
WPA-PSK to be active, an SSID (+iWLSI parameter) must also be defined. This
parameter has precedence over WEP parameters. In other words, when WLPP contains a
value (and WLSI is defined) WPA is used – even if WEP parameters are defined. The
maximum allowable wireless LAN transmission rate is determined by the WLTR
command.
The type of WPA protocol to be used is determined by the value of the WSEC parameter:
a ‗0‘ value means the WPA-TKIP protocol will be used, whereas a ‗1‘ value specifies the
WPA2-AES protocol.
Several commands, listed below, enable iChip to control the operation of the Marvell
WiFi chipset.
AT+i Programmer‘s Manual Version 8.32
15-1
Wireless LAN Mode
15.1 +iWLTR — Wireless LAN Transmission Rate
Syntax: AT+iWLTR=
Sets the maximum allowable wireless LAN transmission
rate.
After a SW reset, WLTR returns to its default value
(54 Mbps).
Parameters: tr=0..13
Command Options:
tr=0 Maximum supported transmission rate (54 MBps)
tr=1 Limited to 1 Mbps
tr=2 Limited to 2 Mbps
tr=3 Limited to 5.5 Mbps
tr=4 Limited to 11 Mbps
tr=5 Reserved
tr=6 Limited to 6 Mbps
tr=7 Limited to 9 Mbps
tr=8 Limited to 12 Mbps
tr=9 Limited to 18 Mbps
tr=10 Limited to 24 Mbps
tr=11 Limited to 36 Mbps
tr=12 Limited to 48 Mbps
tr=13 Limited to 54 Mbps
Default: 0 (Maximum transmission rate)
Result Code:
I/OK If tr=0..13
I/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
15-2
Wireless LAN Mode
15.2 +iWLPW — Set WLAN Tx Power
Syntax: AT+iWLPW=
Sets the transmission power of the Marvell WLAN
chipset.
Parameters: n=0-20
n=0 Use Marvell‘s automatic power level adaptation scheme.
n=1-20 Set a fixed transmission power level.
Default: n=0
Result Code:
I/OK If power set succeeded
I/ERROR (042) If n is an illegal value
-orI/ERROR (402) If power set failed
AT+i Programmer‘s Manual Version 8.32
15-3
Wireless LAN Mode
15.3
+iWRFU — WLAN Radio Up
Syntax: AT+iWRFU
Turns on radio transmission of the Marvell WLAN
chipset.
Parameters: None
Result Code:
I/OK If operation succeeded
I/ERROR (403) Otherwise
AT+i Programmer‘s Manual Version 8.32
15-4
Wireless LAN Mode
15.4
+iWRFD — WLAN Radio Down
Syntax: AT+iWRFD
Turns off radio transmission of the Marvell WLAN
chipset.
Parameters: None
Result Code:
I/OK If operation succeeded
I/ERROR (403) Otherwise
AT+i Programmer‘s Manual Version 8.32
15-5
Wireless LAN Mode
15.5
+iWRST — Reset WLAN Chipset
Syntax: AT+iWRST
Performs a hardware reset of the Marvell WLAN chipset.
Parameters: None
Result Code:
I/OK If operation succeeded
I/ERROR (404) Otherwise
AT+i Programmer‘s Manual Version 8.32
15-6
Wireless LAN Mode
15.6
+iWLBM — WLAN B Mode
Syntax: AT+iWLBM
Sets the Marvell WLAN chipset to 802.11/b mode.
Allowable Tx transmission rates for this mode are: 1, 2,
5.5 and 11 Mbps.
Parameters: None
Result Code:
I/OK Always
AT+i Programmer‘s Manual Version 8.32
15-7
Wireless LAN Mode
15.7
+iWLGM — WLAN G Mode
Syntax: AT+iWLGM
Sets the Marvell WLAN chipset to 802.11/g mode.
Allowable Tx transmission rates for this mode are: 6, 9,
12, 18, 24, 36, 48 and 54 Mbps.
Parameters: None
Result Code:
I/OK Always
AT+i Programmer‘s Manual Version 8.32
15-8
Wireless LAN Mode
15.8 Roaming Mode
When set to operate in Roaming mode, iChip can roam seamlessly among Access Points
(APs) sharing the same SSID and the same security configuration without interrupting its
IP connectivity. iChip also has a monitoring mechanism that is sensitive to drops in AP
signal strength. When iChip detects such a drop, it automatically starts searching for APs
in its vicinity that have a stronger signal, while remaining connected to the current AP.
The following parameters are required to set iChip to Roaming mode:

WROM — Enables Roaming mode.

WPSI — Sets the time interval between consecutive scans that iChip performs for
APs in its vicinity.

WSRL — Sets a low SNR threshold for iChip in Roaming mode.

WSRH — Sets a high SNR threshold for iChip in Roaming mode.
In addition, two reports provide useful information pertaining to the Roaming feature:

AT+i!RP10 — Returns a report of the current WLAN connection.

AT+iRP20 — Returns a list of all APs and Ad-Hoc networks available in the vicinity.
15.8.1
iChip Behavior Following a Hardware or Software Reset
After power-up, hardware or software reset, iChip starts scanning for APs in its vicinity
at intervals set by the WPSI parameter. iChip reads the value set in the WLSI parameter
and acts accordingly:

If WLSI refers to an AP, iChip scans for all APs in its vicinity. iChip attempts to
connect to an AP whose SSID is listed first in the WSIn parameter. If several APs
having that same SSID exist, iChip attempts to connect to the one having the
strongest signal. If association succeeds, iChip stops scanning and activates its DHCP
client. It then monitors the SNR level of the AP it is associated with.

If WLSI refers to an Ad-Hoc network, iChip scans for all Ad-Hoc networks in its
vicinity. iChip attempts to join an Ad-Hoc network whose SSID is listed first in the
WSIn parameter. If no such network is found, iChip creates its own network and
stops scanning.

If WLSI is set to (*), iChip stops scanning and remains disconnected.
15.8.2
iChip Behavior when AP Signal Becomes Weak
When the beacon signal of the AP with which iChip is associated becomes weak (SNR
drops below the level set by the WSRL parameter), iChip starts its periodic scan for APs
having SNR above the threshold set by the WSRH parameter.
iChip attempts to connect to the AP that appears first on the list of SSIDs specified in the
WSIn parameter, while remaining connected to the current AP. If association with the
new AP fails, iChip continues scanning until it succeeds connecting to an AP with a
stronger signal.
AT+i Programmer‘s Manual Version 8.32
15-9
Wireless LAN Mode
When in Roaming mode, iChip does not restart its DHCP client process for new
connections.
When iChip is not in Roaming mode, iChip remains connected to an AP as long as it has
an open active socket, or until triggered by a Link Lost event. When not in Roaming
mode, iChip ignores any decrease in AP signal strength while having open active sockets.
When iChip is not in Roaming mode and no active sockets are open, iChip starts periodic
scanning for APs having an SNR level above the WSRH threshold. iChip attempts to
connect to the AP that has the highest priority. After associating with an AP, iChip starts
its DHCP client and monitors the SNR level of the AP it is associated with.
15.8.3
iChip Behavior in the Event of a Lost Link
If the connection is not active, iChip starts periodic scanning for APs and attempts to
connect to an AP having the highest priority. After associating to an AP, iChip starts its
DHCP client and monitors the SNR level of the AP it is associated with.
If the connection is active, iChip waits for an IP activity command from the host. When
such a command is sent, iChip performs a software reset and starts scanning for APs.
iChip responds with ERROR (074) to indicate that the current connection has been lost.
15.9 Multiple SSIDs
The Multiple SSIDs feature allows you to define an ordered list of SSIDs of Access
Points (APs) or Ad-Hoc networks with which iChip attempts to connect upon power-up.
Each SSID listed can have one of the following security types:

WEP-64

WEP-128

WPA-TKIP

WPA2-AES

No security
The following parameters allow you to define multiple SSIDs:

WSIn — Defines an ordered list of allowable SSIDs.

WPPn — Sets the Wireless LAN PSK passphrase for WPA and WPA2 encryption for
each individual SSID on the list.

WKYn — Sets the Wireless LAN WEP key for each individual SSID on the list.

WSTn — Sets the Wireless LAN security type for each individual SSID on the list.
AT+i Programmer‘s Manual Version 8.32
15-10
Wireless LAN Mode
15.10
iChip Power Save Mode
iChip has a Power Save mode for achieving energy savings. You enable Power Save
mode by setting the PSE parameter to any value n between 1 and 255 seconds. When n
seconds have elapsed without any activity on the host or modem serial ports, iChip shuts
down most of its circuits. Renewed activity on the serial ports, or incoming data from the
LAN, restores iChip to full operational mode.
If, in addition, the WLPS parameter is set to any value m between 1 and 5, iChip can
force the Marvell WiFi chipset into either Power Save or Deep Sleep mode:

If iChip is currently associated with an AP, or is configured to operate in Ad-Hoc
mode, iChip will force the Marvell chipset into Power Save mode. In Power Save
mode, the Marvell chipset will go to sleep for m beacon periods when no
communication has taken place (command, Tx, or Rx activity) for one full beacon
period.

If iChip is not associated with an AP, iChip will force the Marvell chipset into Deep
Sleep mode. iChip will perform a periodic scan every p seconds, as set by the WPSI
parameter, for APs in its vicinity. If it fails to locate and associate with an AP, it will
wait for n seconds, as set by the PSE parameter, before forcing the Marvell chipset
back to Deep Sleep.
AT+i Programmer‘s Manual Version 8.32
15-11
IP Registration
16
IP Registration
When iChip goes online in a dial-up environment, it is normally assigned a dynamic IP
address during PPP establishment. Since a different IP address is usually assigned every
session, it is not practical to use iChip as a server, since the clients do not know what IP
address to use. Furthermore, under these restrictions, there is no practical way to know
whether a specific system is online or offline. A similar problem occurs when using the
iChip LAN, which is configured to use a DHCP server. In this environment, a different IP
address is usually assigned every time the iChip LAN boots and connects to the LAN.
To overcome this problem, iChip incorporates built-in procedures designed to register its
IP address on a server system each time it goes online. Once registered, client systems
may interrogate the servers in order to verify the online status of a specific system and
retrieve its currently assigned IP address. The IP registration process is governed by
several AT+i parameters. Once these parameters are configured, iChip registers its IP
address accordingly when it goes online as a result of an explicit AT+i command
(AT+iUP) or as a result of automated Internet session establishment procedures, such as a
triggered Internet session or when going online as a SerialNET mode server.
In cases where iChip uses a NAT gateway to the Internet, it can be configured to register
the NAT‘s IP address and a special port that is linked to iChip in the NAT‘s
configuration. See details in the RRRL parameter description. When this is the case, the
RRRL parameters (IP and port) are used instead of the local IP and port values that iChip
is assigned, in all registration methods (RRMA, RRSV, and RRWS).
iChip includes several IP registration methods, as described below.
16.1
E-Mail Registration
iChip registers itself by sending an e-mail that contains its ID information and current IP
address. When the RRMA parameter contains an e-mail address, iChip sends an e-mail
containing its current IP address or its RRRL to the address defined in RRMA during the
registration procedure. The syntax of the e-mail body is:

iChip- S/N: Version: HN: IP:
Port: http:// 
The subject line of the e-mail is:
"RING RESPONSE LINK From: iChip- S/N: Version:
HN: IP: Port:"
where,
Port is LPRT if in SerialNET mode; 80 if not in SerialNET mode and AWS is enabled,
and 0 if not in SerialNET mode and AWS=0. The receiving end may refer to the contents
of the subject line to filter out this e-mail message.
AT+i Programmer‘s Manual Version 8.32
16-1
IP Registration
16.2
Socket Registration
iChip registers itself by opening a socket to a registration server and sending its ID
information and current IP address. When iChip‘s RRSV parameter contains a value,
iChip establishes a socket to the server defined in RRSV during the registration
procedure. When a socket is established, iChip transmits its ID information and current IP
address (or the RRRL) in the following format:
“iChip- S/N: version:  HN: IP:
Port:”
The registration socket is then closed.
16.3
Web Server Registration
iChip registers itself by surfing to a web server with its ID information and current IP
address as parameters.
If the RRWS parameter contains a URL (of a registration web server), iChip registers its
ID information and IP using the URL by issuing a GET command along with a fixed
format parameter line:
“?SN=&IP=&WPt=<0 or the port defined in
RRRL>&HN=”.
The web server must contain a CGI, .asp page, exe, etc., which make use of these
parameters to register the iChip.
If several registration parameters are configured, iChip goes through multiple registration
processes. If more than one registration process fails, iChip returns an I/ERROR
describing the first failure encountered. If all registrations fail, iChip returns
I/ERROR(90).
AT+i Programmer‘s Manual Version 8.32
16-2
DHCP Client
17
DHCP Client
A DHCP client component in iChip in LAN mode supports IP and server name
acquisition from a standard DHCP Server. The iChip device attempts to contact and
acquire server names from a DHCP server if and when its DIP (Default IP) parameter
contains the special value 0.0.0.0.
When the DHCP acquisition procedure is successful, the iChip‘s IPA (IP Address)
parameter contains the assigned IP address retrieved from the DHCP server. In addition,
server names relevant to iChip parameters are retrieved from the DHCP server, if and
only if they contain empty values at power-up (see table below). Parameters that contain
non-empty values retain those values. In addition, DNS values retrieved from the DHCP
server are retained as additional alternative DNS addresses when DNSn contain userdefined values.
Parameter Name
Function
Empty Value
IPG
Gateway
0.0.0.0
SNET
Subnet Mask
0.0.0.0
DNS1
Primary Domain Name Server
0.0.0.0
DNS2
Secondary Domain Name Server
0.0.0.0
SMTP
Email Send Server
‗‘ (Empty String)
POP3
Email Receive Server
‗‘ (Empty String)
Table 17-1: Server Names Acquired from DHCP Server
All values acquired from the DHCP server are not retained as nonvolatile values. New
values shall be acquired during the next DHCP session, which will be activated during
the next iChip power-up, following a soft or hard reset or after the DHCP lease expires.
The DHCP client has two associated points in time when the DHCP server is contacted
for additional negotiations. At T1 (usually after half the original lease period), iChip
attempts to renew the lease period. If the renewal procedure fails, at T2 (usually after 7/8
the original lease period) iChip attempts to re-negotiate the lease. If the procedures at T1
and T2 fail and the lease expires, iChip continuously tries to locate a DHCP server for renegotiation. When this is the case, iChip stores 0.0.0.0 in the IPA parameter and cannot
communicate on the LAN until a DHCP server is found and IP and server names are
acquired.
AT+i Programmer‘s Manual Version 8.32
17-1
iRouter Mode
18
DHCP Server
iChip‘s DHCP server allows it to assign IP addresses and manage a network segment
when no DHCP server is available. iChip‘s DHCP server can handle a pool of up to 255
IP addresses concurrently. This may be usefull, for example, when iChip is configured to
operate in iRouter mode and provides access to the public internet via its modem
connection.
Two parameters govern DHCP server functionality:

DPSZ: The DHCP pool size parameter determines the range of IP addresses that
iChip allocates for its clients.

DSLT: The DHCP server lease time determines the lease time that iChip grants when
assigning IP addresses.
The DHCP server is activated under the following conditions:

An IP address is defined by the DIP parameter.

The DPSZ parameter is set to a value greater than 0.

Following a software reset (AT+iDOWN).
When activated, iChip‘s DHCP server assigns IP addresses starting from DIP+1 up to
DIP+DPSZ. In addition, the DHCP server offers the IP address stored in the IPG
parameter as a gateway to clients, and the mask address stored in its SNET parameter as a
Sub-Net. The assignment policy of iChip is as follows:
1. iChip attempts to assign the same IP for the same MAC address.
2. iChip starts re-using addresses only after using all the addresses in the pool.
3. iChip attempts to re-use the oldest expired address first.
4. iChip attempts to ping the address it is about to assign in order to avoid assigning
an address already used.
5. iChip offers its SNET parameter as a Sub-Net. If SNET is 0.0.0.0, iChip
calculates a new one according to address class.
6. iChip offers its IPG parameter as a gateway. If IPG is 0.0.0.0, iChip offers its IP
address as a gateway.
7. iChip offers the primary IP address of the Domain Name Server stored in its
DNS1 parameter to the client, provided it is not 0.0.0.0.
AT+i Programmer‘s Manual Version 8.32
18-1
iRouter Mode
19
iRouter Mode
19.1
Introduction
iChip‘s iRouter mode is used to provide a gateway to a multitude of LAN or WiFi
devices through a single dialup or cellular link. In this configuration, iChip‘s DHCP
server may be used to assign IP addresses to the local hosts on the LAN/WiFi side. iChip
also uses a Network Address Translator (NAT) to translate between local and public IP
addresses.
While routing IP packets, iChip also accepts AT+i commands, as during normal
operation. The CPF (Communication Platform) parameter selects which interface to use
for Internet-related AT+i commands.
The following parameters and commands are used to configure iRouter mode behavior:

Automatic Router Start (ARS) parameter — When set to 1, this parameter causes
iChip to go online in iRouter mode upon power-up and start routing packets.

Inactivity Timeout (IATO) parameter — When in iRouter mode, if no routing activity
is detected for the period of time specified by this parameter, iChip disconnects its
modem/cellular side and goes offline. After going offline and if ARS=1, iChip will go
online and continue routing when the next packet that requires routing arrives.

Start Router (STRR) command — Causes iChip to enter iRouter mode, go online on
the dialup/cellular side, and start routing packets.

Stop Router (STPR) command — Causes iChip to exit iRouter mode, go offline on
the dialup/cellular side, and stop routing packets.
19.2
Establishing iRouter mode
iChip can be entered into iRouter mode using one of two possible methods:

When the ARS parameter is set to 1, automatically and immediately after power-up
and after every soft reset induced by AT+iDOWN.

By issuing the AT+iSTRR (Start Routing) command.
Upon entering iRouter mode, iChip immediately goes online on the dialup/cellular side.
Packets are not buffered during dialup/cellular connection establishment. After
establishing the connection, iChip starts the routing service.
19.3
Basic Routing
When iChip is in iRouter mode, it routes packets between its two communication
platforms utilizing a Network Address Translator (NAT) to translate between the internal
IP address space used on the LAN/WiFi side and the real IP address used on the
dialup/cellular side.
The NAT translates internal IP addresses of outgoing packets to the real IP address space
and makes the reciprocal translation of packets received in response.
AT+i Programmer‘s Manual Version 8.32
19-2
iRouter Mode
Note: When using an FTP client to connect to an external FTP server through the
iRouter, you must use the FTP client in passive mode. For example, if the FTP client is
an iChip, you must open the FTP session using AT+i@FTP.
19.4
Terminating iRouter Mode
iRouter mode is terminated by any of the following occurrences:

By issuing the AT+iSTPR (Stop Routing) command. When iChip receives this
command, routing services are stopped and iChip goes offline on the dialup/cellular
side. If ARS=1 (Auto Routing), iChip automatically goes online and restores routing
services when the next packet arrives.

Automatically after an idle time period (with no routing activity) has passed. The idle
time period is defined in the IATO (Inactivity Timeout) parameter. Idle time
terminates routing only if IATO has a positive value larger than 0. When IATO=0,
idle time termination is effectively disabled. If ARS=1 (Auto Routing), iChip
automatically goes online and restores routing services when the next packet arrives.

By issuing the (+++) ESC string. iChip terminates iRouter mode and goes offline on
the dialup/cellular side. Following an ESC sequence termination, iChip does not
restore routing services even if ARS=1. To restore routing, either issue the
AT+iSTRR command or, alternatively, if ARS=1– issue AT+iDOWN.
19.5
Configuring iChip when in iRouter Mode
While in iRouter mode, iChip can be configured using the same methods for iChip in
general:

Assuming iChip‘s website is enabled on the LAN/WiFi end, iChip‘s internal
configuration website can be accessed by any browser that is connected to the same
LAN/WiFi network.

Assuming iChip‘s website is enabled on the dialup/cellular side, iChip‘s internal
configuration website can be accessed by any remote browser connecting to iChip‘s
port 80 over its public IP address.

AT+i commands coming from the host application.
NAT
LAN
Device
LAN
Device
iChip
LAN
Device
(cellular)
Modem
Internet
AT+i commands
AT+i Programmer‘s Manual Version 8.32
19-3
iRouter Mode
19.6
AT+i Interface to iChip
In addition to configuring the iChip, AT+i commands can also be used to perform
operations on either the LAN/WiFi or dialup/cellular communication platform.
Using the CPF (Communication Platform) parameter, you can select either one of the
communication platforms. When CPF=0, AT+i commands are directed towards the
dialup/cellular side; when CPF=1, they are directed towards the LAN/WiFi side. While
processing AT+i commands, iChip continues to route packets seamlessly between the
two platforms.
iChip‘s responses to AT+i commands depend on the CPF value, as well. For example, the
IP returned by AT+iIPA? command while CPF=1 is the LAN-side IP.
NAPT
LAN
Device
LAN
Device
iChip
LAN
Device
GPRS
Modem
Internet
CPF parameter selects
platform
AT+i commands
19.7
Baud Rate Settings and Auto Baud Rate
iRouter mode supports all host and modem baud rates supported by iChip. However,
when auto routing is set (ARS=1), iChip does not support Auto Baud Rate. This is due to
the fact that in iRouter mode, iChip starts routing packets immediately after power-up,
and skips auto baud rate determination.
Therefore, when configuring iChip for auto routing (ARS=1), you must set a fixed baud
rate in the BDRF parameter.
19.8
iRouter and Power Save Mode
iChip can be configured for Power Save mode while acting as a router. Note, however,
that there is no buffering of packets in iRouter mode. The first packet arriving to iChip
while in Power Save mode triggers iChip to wake up and go online on the cellular or
dialup modem. Only after establishing a connection, does iChip start routing packets. The
packets received during connection establishment are lost.
AT+i Programmer‘s Manual Version 8.32
19-4
iRouter Mode
19.9
+iSTRR — Start Router
Syntax: AT+iSTRR
Causes iChip to immediately enter iRouter mode.
Upon entering iRouter mode, iChip immediately goes
online on the dialup/cellular side. Packets are not
buffered during dialup/cellular connection
establishment. After establishing the connection, iChip
starts the routing service.
Result Code:
I/OK When command is received and about to be processed.
Followed by:
I/ONLINE After successfully going online on the dialup/cellular
side.
I/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
19-5
iRouter Mode
19.10 +iSTPR — Stop Router
Syntax: AT+iSTPR
Causes iChip to exit iRouter mode, go offline on the
dialup/cellular side, and stop routing packets.
If ARS=1 (Auto Routing), iChip automatically goes
online and restores routing services when the next packet
arrives.
Result Code:
I/OK When command is received and about to be processed.
Followed by:
I/ONLINE After terminating the connection on the dialup/cellular
side when CPF=1.
-orI/DONE After terminating the connection on the dialup/cellular
side when CPF=0.
-orI/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
19-6
Ad-Hoc Networks
20
Ad-Hoc Networks
An Ad-Hoc network is a Wireless Local Area Network (WLAN) in which some of the
stations are part of the network only for the duration of a communications session or, in
the case of mobile or portable devices, while in some close proximity to the rest of the
network.
Ad-hoc networks do not require an Access Point (AP) to enable communication among
stations. Each station can create a new Ad-Hoc network or join an existing one. Networks
can freely merge into a single network or split into smaller ones, thus adapting to
changing conditions such as topology, signal strength, and proximity to nearby Ad-Hoc
networks. Combined with an iChip configured as an iRouter, an Ad-Hoc network can
connect to the Internet through a dial-up or GPRS modem.
20.1 Configuration
Configuring the iChip to operate as a station in an Ad-Hoc network requires setting the
following parameters:

WLSI must be set to either ‗!‘ or ‗!‘. When it is set to ‗!‘, iChip continuously
searches for existing Ad-Hoc networks in its vicinity and joins the one having the
strongest signal. When it is set to ‗!‘, iChip searches for an Ad-Hoc network
having the specified Service Set IDentifier (SSID). If it finds one it joins it, otherwise
it creates a new network with this SSID.

WLCH must be set to a default value. This value indicates the communication
channel (1-13) to be used for beacon transmission in the Ad-Hoc network. When
iChip joins an already existing network, it adopts the channel used by that network. If
WLSI=! and WLCH=0, iChip will only join an already existing network.
20.2 iChip Behavior in Ad-Hoc Mode
20.2.1
Automatic Scanning for Existing Ad-Hoc Networks
After power-up, iChip automatically attempts to locate and connect to an Ad-Hoc
network, unless the WLSI parameter (SSID) is set to (*).
If the WLSI parameter contains an SSID string preceded by (!) or set to (!), iChip scans
for Ad-Hoc networks only.
20.2.2
Creating a New Ad-Hoc Network
If iChip does not detect any Ad-Hoc networks in its vicinity, and the WLSI parameter
contains an SSID, iChip creates a new Ad-Hoc network with its own BSSID.
20.2.3
Joining an Existing Ad-Hoc Network
If iChip detects Ad-Hoc networks in its vicinity and the WLSI parameter is set to (!),
iChip joins the network having the strongest signal. Otherwise, iChip joins the network
whose SSID is set by the WLSI parameter.
AT+i Programmer‘s Manual Version 8.32
20-1
iRouter Mode
20.2.4
Merging Ad-Hoc Networks
When iChip is configured to operate in Ad-Hoc mode it performs a periodic scan for
other Ad-Hoc networks in the vicinity having the same SSID but a different BSSID. If a
scan indicates the existence of such an Ad-Hoc network, it initiates a procedure for
merging the networks. Networks will merge into one, provided they operate on the same
channel.
AT+i Programmer‘s Manual Version 8.32
20-2
Secure Socket Protocol
21
Secure Socket Protocol
iChip supports the SSL3/TLS1 secure socket protocol, based on RFC2246. iChip
supports the following Cipher suites:

SSL_RSA_WITH_RC4_128_MD5

SSL_RSA_WITH_RC4_128_SHA

SSL_RSA_WITH_3DES_EDE_CBC_SHA

TLS_RSA_WITH_AES_128_CBC_SHA

TLS_RSA_WITH_AES_256_CBC_SHA
21.1 Establishing An SSL3/TLS1 Socket Connection
iChip supports a single SSL3/TLS1 TCP/IP active socket connection. Opening a secure
socket on iChip involves two steps:
1. Open a standard TCP/IP socket to a secure server.
2. Initiate an SSL3/TLS1 handshake over the open socket to establish a secure session.
SSL3/TLS1 handshake negotiations are initiated using the AT+iSSL command.
iChip negotiates the secure connection based on several security-related parameters. It
authenticates the remote secure server by verifying that the server‘s certificate is signed
by a trusted Certificate Authority (CA). The trusted CA‘s certificate is stored in iChip‘s
CA parameter. Following a successful SSL3/TLS1 handshake, iChip encrypts all data
sent across the socket according to the cipher suite and keys agreed upon during the
handshake. Data received on the socket is decrypted by iChip prior to making it available
to the host processor.
21.2 Sending and Receiving Data over An SSL3/TLS1 Socket
The AT+iSSND command is used to send data over an SSL3/TLS1 socket, using the
same syntax as for non-secure sockets:
AT+iSSND[%]:,:
However, the size parameter is interpreted as the size of the data packet to encrypt. It is
limited to 2K. Receiving data on an SSL3/TLS1 socket is carried out using the
AT+iSRCV command. iChip automatically decrypts data that arrives on the secure
socket. The data transferred to the host is always decrypted data.
21.3 SSL3/TLS1 Handshake and Session Example
Take for example an SSL3/TLS1 server at secure.sslserver.com running a secure
application on port 1503. Using iChip, the following sequence opens a secure
SSL3/TLS1 socket to that application and exchanges data securely. For clarity,
commands sent to iChip appear in bold and iChip replies appear in italics.
AT+i Programmer‘s Manual Version 8.32
21-1
Secure Socket Protocol
AT+iSTCP:secure.sslserver.com,1503
Open a TCP/IP socket to a
secure application.
I/000
iChip opens socket and returns
handle 0.
AT+iSSL:0
iChip is instructed to negotiate
an SSL3/TLS1 connection on
socket handle 0.
I/OK
SSL3/TLS1 handshake was
successful. SSL3/TLS1
connection established on socket
handle 0.
AT+iSSND%:0,323:<…323 bytes of plain text data>
Host sends 323 bytes of plain
text data via SSL3/TLS1 socket.
iChip encrypts data and sends
cipher text over the Internet. The
‗%‘ attribute indicates
immediate flush.
I/OK
iChip encrypted and sent data.
AT+iRP4
Request socket status
I/(1267,-200,-200,-200,-200,-200,-200,-200,
Socket 0 has 1267 plain text
bytes buffered. The data was
originally sent encrypted by the
server. iChip decrypted the
cipher text in the background.
-200,-200)
AT+iSRCV:0
Command to retrieve buffered
plain text.
I/1267:<…1267 bytes of plaintext data…>
iChip transmits buffered data to
host.
AT+iscls:0
Close socket handle 0
I/OK
SSL3/TLS1 socket is closed
I/DONE
iChip is offline
21.4 Secure FTP Session on iChip
iChip supports a secure FTP session using SSL3/TLS1 sockets for both the FTP
command and FTP data channels. The command used for opening a secure FTP session is
AT+iFOPS.
Secure FTP implementation in iChip is based on RFC 2228 (FTP security extensions) and
the IETF Internet draft ―Securing FTP with TLS‖ (draft-murray-auth-ftp-ssl-16.txt).
AT+i Programmer‘s Manual Version 8.32
21-2
Secure Socket Protocol
When the AT+iFOPS command is used to initiate a secure FTP session, iChip performs
the following operations:
1. Opens an FTP control socket.
2. Sends AUTH TLS.
3. Performs the SSL3/TLS1 handshake.
4. Sends USER command.
5. Sends PASS command.
6. Sends PBSZ 0, followed by PROT P.
Once the data channel TCP socket is established, all subsequent data connections (send or
retrieve files as well as directory listings) start with an SSL3/TLS1 handshake. When a
data socket is re-opened for another FTP command, iChip attempts a quick re-negotiation
using the previous SSL3/TLS1 session parameters.
AT+i Programmer‘s Manual Version 8.32
21-3
Secure Socket Protocol
21.5 +iSSL — Secure Socket Connection Handshake
Syntax: AT+iSSL:
Negotiates a secure SSL3/TLS1 connection over an open
TCP/IP socket.
Parameters:  = A previously open TCP/IP socket handle.
Command Options:
 Must be obtained using the AT+iSTCP command during the
current Internet mode session. Or a socket accepted by a
listening socket.
When a Network Time Server is defined and NTOD is set to
1, iChip confirms the server‘s certificate date validity using
the retrieved network time. If, for some reason, the network
time is not retrieved successfully, iChip does not accept the
certificate until the time is retrieved successfully.
Result Code:
I/OK If the SSL3/TLS1 negotiation is successful.
I/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
21-4
Secure Socket Protocol
21.6 +i[@]FOPS — Secure FTP Open Session
Syntax: AT+i[@]FOPS:[,]:,[,]
Opens a secure FTP link to a secure FTP server.
Parameters:
 Logical name of the FTP server or the server‘s IP address.
 Optional FTP port in the range 0-65535
 FTP user‘s name
 FTP user‘s password
 Optional FTP account
Command Options:
 The server name may be any legal Internet server name that
can be resolved by iChip‘s Domain Name Server (DNS)
settings. The server name may also be specified as an
absolute IP address given in DOT form.
 Specifies the FTP server‘s listening port. If not specified,
port 21 (decimal) is assumed.
 User‘s name string. This must be a registered user on the
FTP server. Some servers allow anonymous login, in which
case user=anonymous.
 Password for user authentication. If special characters are
used, the password must be specified within quotes. It is
customary that servers that allow anonymous login request
an e-mail address as a password.
 Some FTP servers require an account in order to allow a
certain subset of the commands. In this case, the account
name must be specified when opening the FTP link.
@ The optional @ is used to flag the Force PASV mode. When
@ is specified, iChip uses only the PASV method when
opening a data socket to server for FTP data transfer.
Result Code:
I/ Upon successfully connecting to the FTP server and
authenticating the user, a socket handle is returned. The
handle  is used to reference the FTP session
in all subsequent FTP commands.
I/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
21-5
Network Time Client
22
Network Time Client
iChip incorporates a Simple Network Time Protocol (SNTP) client. With this protocol
support, iChip can be configured to check SNTP servers for current time and date each
time it goes online. iChip is configured to retrieve time data from a Network Time Server
each time it goes online with the NTOD parameter. After updating its internal Time-OfDay (TOD) registers at least once, iChip continues to keep track of time independently,
even after it goes offline.
When iChip contains real TOD data, e-mails sent are automatically stamped with Time
and Date of delivery, according to RFC (822) definition for the date header field. In
addition, the AT+iRP8 report returns the current time and date.
iChip also contains parameters to configure local GMT offset and a DSTD (Daylight
Savings Time) rule. These parameters allow iChip to determine the local TOD. When
iChip is configured for TOD retrieval from a Network Time Server, iChip automatically
retrieves an updated time reading every two hours while online. This configuration
improves the long-term accuracy of its internal time management.
AT+i Programmer‘s Manual Version 8.32
22-1
MIME Encapsulated E-Mail Messages
23
MIME Encapsulated E-Mail Messages
23.1 iChip-Generated Binary Message Formats
Binary e-mail messages are sent via iChip using one or more AT+iEMB commands. The
message format is limited to an optional body of text and a single attachment.
The following fields are added by iChip to the main message header:
X-Mailer: iChip 
Message-ID: @iChip
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary=”CONE-iChip-”
The message‘s preface contains the following text:
“This MIME message was coded by iChip.”
If the host application includes a text body for the message, it also contains the following
lines in its header:
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-iCoverpage: Email
When no textual body contents are included – this section is omitted.
The binary attachment section follows, beginning with a MIME attachment header
containing the following fields:
Content-Type: /;
name=
Content-Transfer-Encoding: base64
where,

 := 
:=  or
 defaults to ―application‖ when otherwise not defined.

 defaults to ―octet-stream‖ when otherwise not defined.
:= ―text‖ / ―image‖ / ―audio‖ / ―video‖ / ―application‖
Following the header, a base 64-encoded data stream includes the entire binary data
transferred to iChip from the host.
23.2 MIME-Related AT+i Commands and Parameters
Binary images are transferred to iChip for MIME message encapsulation via one or more
AT+iEMB commands. An AT+iEMB command sequence must be terminated by the
AT+iE* command, indicating the end of the binary e-mail message.
When several consecutive AT+iEMB commands are used, the host must issue the
commands with an inter-command delay, which does not violate the SMTP server‘s
timeout constraints. Otherwise, the SMTP server will timeout and abort the session.
Average SMTP servers allow for delays in the range of 30 to 120 seconds. Additional
AT+i Programmer‘s Manual Version 8.32
23-1
MIME Encapsulated E-Mail Messages
AT+i commands may be interlaced within a sequence of AT+iEMB commands, except
for the following AT+i commands: AT+iEMA, AT+iRML, AT+iRMH, AT+iRMM,
AT+iRFU, AT+iRLNK, AT+iBDRA, and AT+iSNMD.
iChip does not limit the size of the binary attachment. However, ISPs do have limitations.
An Internet connection is initiated immediately after the first AT+iEMB command, while
the rest of the command is received. Once the connection to the SMTP server has been
established, iChip acts as a pipeline, receiving binary info from the host, encoding it, and
transmitting it to the Internet on-the-fly. Following the AT+iE* command, the e-mail is
terminated and the Internet connection closed.
The escape sequence command (+++) is allowed within an AT+iEMB command,
provided there is a half-second silence period before the (+++) is sent. Upon receiving the
escape sequence, iChip aborts and orderly closes the Internet session. The partial mail
message is not sent to the destination.
23.2.1
Binary Attachment Parameters
Parameter
Default
Description
MT
4 (application)
Media Type:
0 – Text; 1 – Image ; 2 – Audio ; 3 – Video ;
4 – Application
MST
octet-stream
Media Subtype String. For a list, see Appendix A.
FN
None
Attachment File Name (inc. extension). If a file name is
not defined, iChip generates a unique filename without an
extension.
BDY
None
ASCII text to be included in the e-mail‘s body in addition
to the attachment. (Multiple lines allowed).
Table 23-1 Binary Attachment Parameters
23.2.2
Defining A Textual Body for Binary Messages
1. Permanent textual body contents:
AT+iBDY:.
The maximum fixed body size allowed is 96 characters (including embedded
). The text body is included in all future binary messages. In addition, the
textual contents are committed to non-volatile memory on board the iChip.
2. Single session textual body contents:
AT+iBDY~.
The maximum temporary body size allowed is 1K characters (including embedded
). The text body is included in the next session binary message and then
purged.
AT+i Programmer‘s Manual Version 8.32
23-2
MIME Encapsulated E-Mail Messages
23.3 MIME-Encapsulated E-Mail Message Format
Note: Bold lines are added by iChip.
Received: from JFK by FTGate SmartPop;
Tue, 23 Nov 1999 09:26:21 +0200
Received: from mail.inter.net.il (hrz-153-147.access.net.il
[212.68.153.147])
by mail.inter.net.il (8.9.3/8.8.6/PA) with SMTP id OAA11594;
Mon, 22 Nov 1999 14:18:03 +0200 (IST)
Date: Mon, 22 Nov 1999 14:18:03 +0200 (IST)
From: lims@connectone.com
To: lims@connectone.com
To: connect1@inter.net.il
To: gadyl@netvision.net.il
X-Mailer: iChip ic401d05
X-Serial: 123456
Return-Receipt-To: lims@connectone.com
Message-ID: <15322@iChip>
Subject: iChip binary message via iModem
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary=”CONE-iChip-ic401d05”
X-UIDL: ad0c01ac458208bedea8b8522012e4b6
This MIME message was coded by iChip.
--CONE-iChip-ic401d05
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Coverpage: Email

--CONE-iChip-ic401d05
Content-Type: image/tiff; name="FaxImage.tif"
Content-Transfer-Encoding: base64

--CONE-iChip-ic401d05
AT+i Programmer‘s Manual Version 8.32
23-3
Flow Control
24
Flow Control
24.1 Host  iChip Software Flow Control
When issuing an AT+iEMB command to generate a binary e-mail, an AT+iSSND
command to transfer data to a socket, an AT+iTBSN to send a binary stream to a Telnet
server, or an AT+iFSND command to transfer a file, the host transfers a binary data
stream to iChip. At times, this stream may be very large.
Once iChip establishes a connection, it acts as a pipeline, transferring data received from
the host to the Internet. However, the data rates at the host and Internet ends are not
always balanced. This happens for several reasons:

While iChip logs onto the Internet and establishes a connection, the host proceeds to
send its data stream to iChip. During this time iChip receives data from the host, but
cannot send it out.

When sending MIME attachments, iChip encodes the binary data using base 64. This
roughly inflates binary data by 30%. Thus, more data needs to be transmitted than is
received from the host.

When using a TCP/IP socket, iChip might need to re-transmit packets.
The amount of buffer space available in the iChip to accommodate for this imbalance is
limited. Therefore, a flow control scheme is required to regulate hostiChip
communications. The FLW parameter is set to reflect the preferred flow control mode.
The software-driven flow control protocol is defined as follows:
1. While the host is transferring the binary stream,following the +iEMB, +iSSND, or
+FSND prefixes, iChip issues a ‗WAIT‘ control character when it needs to pause the
host. The host application is required to monitor its serial receive line and pause the
transmission when a ‗WAIT‘ control character is received.
2. To resume the host transmission, iChip issues a ‗CONTINUE‘ control character. The
host is required to monitor its receive line after being paused in anticipation of this
control character. Once received, the host might continue to transfer the data stream.
3. If an error occurs during the Internet session while the host is transferring the data
stream (or while paused), iChip issues an ‗ERROR‘ control character if some error
occurred. Immediately after issuing this control character, iChip aborts the Internet
session and issues an ‗I/ERROR (error number)‘ string. The host must cease
transmitting the data stream when the ‗ERROR‘ control character is received.
AT+i Programmer‘s Manual Version 8.32
24-1
Flow Control
The control characters are defined as:
Control
ASCII Dec
ASCII Hex
Mnemonic
WAIT
22
0x16
SYN
CONTINUE
24
0x18
CAN
ERROR
0x5
ENQ
Table 24-1 Software Flow Control Characters
AT+i Programmer‘s Manual Version 8.32
24-2
Flow Control
24.2 Software Flow Control Diagram in Binary E-Mail Send
ISSUE AT+iEBA, 
No
SZ>256
Yes
Send  Bytes
Wait for I/
OK
Send Next Byte
Byte Received from
iChip?
END
No
Wait for I/
Error(nnn)
Yes
No
Yes
No
Error code?
Wait code?
Yes
Yes
Yes
Byte Received
from iChip?
No
Error code?
No
Yes
Continue
code?
No
Yes
Figure 24-1 Software Flow Control in Binary E-Mail Send
AT+i Programmer‘s Manual Version 8.32
24-3
Flow Control
24.3 Software Flow Control During A Socket Send
When a WAIT control is sent to the host during a socket send (AT+iSSND) command, it
is automatically followed by an RP4 socket status report in the following syntax:
I/(, , … ,)
See the AT+iRP command for a full description.
While the host is waiting for the CONTINUE control, it may analyze the sockets‘ input
buffer status. If the host detects a need to execute a socket receive command to empty one
or more socket input buffers, it may escape the current SSND command by issuing a
‗Pause’ sequence immediately after receiving the ‗CONTINUE‘ control.
The ‗Pause’ sequence is defined as: half a second of silence followed by (---) (three
consecutive minus sign characters). iChip responds by prematurely terminating the SSND
command, including flushing the current socket if the (%) flag is specified. Following
this, the I/OK message is issued and the host may issue the required SRCV command in
addition to any other operations it needs to execute. The host may return to the preempted socket at any time and issue a new SSND command to send out the balance of
data.
AT+i Programmer‘s Manual Version 8.32
24-4
Flow Control
24.4 Software Flow Control Diagram in Socket Send
ISSUE
AT+iSSND:,:
No
SZ>256
Yes
Send 
Bytes
Wait for I/OK
Send Next
Byte
Byte Received from
iChip
END
Yes
No
Wait for
I/Error(nnn)
Yes
Error code?
No
No
Wait code?
Yes
Wait for
RP4 reply
Yes
Yes
No
Byte
from iChip?
Received
Error code?
No
Yes
Yes
Yes
Continue
code?
Pause?
No
No
Issue "- - - "
End
Figure 24-2 Software Flow Control in Socket Send
AT+i Programmer‘s Manual Version 8.32
24-5
Flow Control
24.5 Host  iChip Hardware Flow Control
As an alternative to the software flow control method, which requires some software
attention on behalf of the host, iChip offers a hardware flow control mode.
This mode is selected by setting iChip‘s FLW parameter Bit 0, using the AT+iFLW
command. Note that to set FLW Bit 0, the ~CTSH signal needs to be LOW (enabled),
otherwise iChip returns I/ERROR (063). This convention safeguards iChip from lockup,
which may arise if FLW Bit 0 is set while the ~CTSH signal is constantly HIGH.
For hardware flow control to operate properly, the ~CTS and ~RTS signals between the
host and iChip UARTS must be interconnected.
The iChip ~CTSH and ~RTSH signals can be shorted to circumvent hardware flow
control.
Under this mode, iChip assumes that the host transmission might be paused by deasserting the ~CTS signal. The host must adhere to this convention. Most UARTs support
hardware flow control. However, if this is not the case, iChip‘s ~CTS signal must be
monitored by the host software on a general purpose I/O.
The host can also pause iChip by de-asserting its ~CTS signal.
If a transmission error occurs during processing of a send command (EMB, SSND,
TBSN, FSND), iChip accepts all remaining characters pertaining to the current command
(as specified by the  parameter) before returning the relevant I/ERROR response.
HOST
~CTS
~RTS
~Tx
~Rx
~CTSH
~RTSH
~Tx
~Rx
iChip
Figure 24-3 Minimum Hardware Flow Control Connections
AT+i Programmer‘s Manual Version 8.32
24-6
Remote Firmware Update
25
Remote Firmware Update
25.1 Introduction
iChip accepts remote firmware updates from an HTTP or FTP server. The firmware
update is stored as an .imz file on the host server and downloaded by iChip acting as a
client. iChip replaces its existing firmware with the new one through a special application
that is part of the .imz file. This method is especially convenient when managing
firmware updates in a globally distributed install base of internet-enabled devices.
25.2 Updating Firmware from a Remote Server
This method involves placing the firmware update .imz file on an HTTP or FTP server.
iChip has the provisions to use its respective HTTP or FTP client to download the
firmware update file and perform the update process.
Before the actual remote firmware update command can be issued, the following
parameters must be set:

USRV — Defines the protocol to be used (HTTP or FTP), and the name of the host
on which one or more .imz files are stored.

UUSR — Defines FTP user name (FTP only).

UPWD — Defines FTP user password (FTP only).

UEN — This flag indicates whether iChip updates to a firmware version that is newer
than the currently installed one only, or to any firmware version it finds.
In addition, an appropriate .imz firmware update file must be placed on the remote server
at the location specified by the USRV parameter.
Once the above parameters are defined, the firmware update process can be initiated by
sending the following command to iChip:
AT+iRFU
iChip returns I/OK to acknowledge receipt of the command. As the update process may
take up to 4 minutes to complete, iChip issues an I/UPDATE message to notify the host
that it is in the process of updating its firmware. The host must allow for an extended
delay period until iChip completes the process. Once completed, iChip re-boots the new
firmware and issues an I/DONE message when in dialup mode, or an I/ONLINE in
LAN mode.
Several safeguards have been instated to ensure a successful firmware update. The
firmware update file is structured by Connect One in a specific format, which allows
iChip to authenticate its origin as a legal firmware image. iChip also verifies that the
firmware update is the correct version for its hardware environment. iChip rejects an
update file if it contains an image that is identical to the one already installed.
The remote firmware update procedure is detailed below:
1. iChip downloads the new firmware imz file.
AT+i Programmer‘s Manual Version 8.32
25-1
Remote Firmware Update
2. If the download fails, iChip returns an error message and continues to work as before.
3. If during the download iChip is going over a reset cycle (SW or HW), iChip re-boots
and executes the old firmware.
4. If the download is successful, iChip authenticates the firmware image file.
5. iChip replaces the old image with the new image.
6. If the replacement process fails, for example due to power failure, iChip re-boots
from boot loader in the flash memory and re-tries the replacement process until
successful.
7. If the replacement process is successful, iChip re-boots and executes the new
firmware.
AT+i Programmer‘s Manual Version 8.32
25-2
Remote Firmware Update
25.3 +iRFU — Remote Firmware Update
Syntax: AT+iRFU
Downloads and updates iChip firmware from a remote
HTTP or FTP server. The value of the USRV parameter is
used to determine the remote server from which to
download the firmware. The value of the UEN flag is used
to determine whether to update any firmware version or
only a version that is newer than the one already installed.
In addition, if an FTP server is specified for download, the
UUSR and UPWD parameter values are used to determine
FTP user name and password.
Result Code:
I/OK To acknowledge successful receipt of the command
I/ERROR Otherwise
Followed by:
I/UPDATE If a qualifying firmware update .imz file is found
I/ERROR Otherwise
Followed by:
I/DONE After successfully updating new firmware in dialup mode
I/ONLINE After successfully updating new firmware in LAN mode
I/ERROR Otherwise
AT+i Programmer‘s Manual Version 8.32
25-3
iChip Parameter Update
26
iChip Parameter Update
26.1 Introduction
The iChip remote parameter update file allows users to remotely modify various nonvolatile parameters in iChip products. The file is an ASCII-formatted text file, edited by
the user or created by a dedicated application. The file‘s size must not exceed 10k.
The remote parameter file (RPF) naming convention is .rpf. If a parameter is
assigned a legal value within the file, that value replaces the current value in iChip‘s nonvolatile parameter database. A parameter value that is not referred to in the file, or that is
not defined using the correct syntax rules, specified below, does not affect the current
parameter value.
26.2 Remote Parameter File (RPF) Structure
The RPFfile must include the letters ―RP_‖ as its first 3 characters, and can include
additional header lines (defined below), as well as various parameter assignments.
Assignments follow the rules defined for parameter settings, but excluding the AT+i
prefix. For example, to assign the value myname to the POP3 mailbox name parameter,
the correct assignment is MBX=myname This is equivalent to the host sending
AT+iMBX=myname to iChip. Each line, terminated with /, can contain one
assignment only. The order of assignments is not important, except for the RPF header
parameters, which must be first and must follow the header definitions below. After the
first non-RPF header parameter, additional header parameters are ignored.
Comment lines can appear anywhere in the file. Comment line syntax is defined as:
#CR/LF
The first line in the file that is not a comment line is considered the authentication header
line and must have the following syntax:
RP_[GROUP=][RP_DEST=]CR/LF
The remainder of the header must contain lines with the following syntax:
=CR/LF
AT+i Programmer‘s Manual Version 8.32
26-1
iChip Parameter Update
26.3 Header Parameter Names and Values
Name
Value
Default
RP_DEST
NONE
RP_GROUP
Single
string, no
space
characters
RP_START_FROM_FACTORY_DEFAULTS
YES/NO
NO
NONE
Table 26-1 Header Parameter Names and Values

RP_GROUP — If the RPF Group Name parameter contains a value, the RPF file
must include an RP_GROUP definition and its value must be identical to the RPF
value. Otherwise, the parameter update file will be rejected. Nevertheless, if the RPF
parameter is set to the special value (*) (match any), the RPF file will be accepted
with any value of RP_GROUP, as well as without any value at all. The RPF Group
Name parameter can be viewed and changed by sending an AT+iRPG? command to
iChip.

RP_DEST — If the RPF file contains this parameter, the parameter update file will
be rejected unless the value given in this parameter is identical to the unique ID of the
iChip it was sent to. The unique ID can be viewed by sending an AT+iRP5 command
to iChip, but cannot be changed. This feature facilitates sending a parameter update to
a specific iChip controller only.

RP_START_FROM_FACTORY_DEFAULTS — This flag defines the initial
value of parameters. A YES value will initially restore all iChip parameters to their
factory default values before processing the new RPF file values.
AT+i Programmer‘s Manual Version 8.32
26-2
iChip Parameter Update
26.4 Uploading A Parameters Update File to iChip
By default, receiving and processing a parameters update file is disabled in the iChip. To
enable this option, the RPG parameter must be set to some value. If a value other than (*)
is set, the value must match the parameters update file RP_GROUP value. This feature
facilitates group updates, and can be used as a password to secure parameter updates.
A remote parameters update file can be uploaded to iChip using iChip‘s internal
configuration site.
The nonvolatile parameter RPG controls the parameter update. If it does not contain a
value, the update process is effectively disabled. If it contains an (*), it is fully enabled. If
it contains a value, the update process is restricted to RPF files containing that value in
the RP_GROUP header parameter.
Note: See Appendix B for a sample RPF file.
AT+i Programmer‘s Manual Version 8.32
26-3
iChip Embedded Web Server
27
iChip Embedded Web Server
27.1 Introduction
iChip includes a web server that handles HTTP 1.0/1.1 web interactions independently of
its host processor. It allows system designers to build web-based products, which can be
remotely monitored, configured, and managed via the Internet using a standard web
browser interface.
iChip devices host two on-chip websites stored in non-volatile memory. One website is
inherent to the iChip firmware and dedicated to iChip configuration and maintenance.
The second site is uploaded to iChip for device application use. This website can include
multiple linked HTML pages, links to external pages, images, graphics, Java applets,
WAP pages, and more. A special facility allows the web pages to include references to
the embedded application‘s variables.
iChip‘s embedded web server is designed to integrate with the existing iChip-to-host API
methodology based on Connect One‘s AT+i command interface.
27.2 Features

Responds to standard web browser GET and POST commands issued on port 80.

Supports up to three concurrent remote browsers.

Serves on-chip HTML pages stored in non-volatile memory.

Can incorporate WAP pages to allow browsing iChip‘s website using an Internetenabled cellular handset.

The internal iChip configuration website supports remote iChip parameter
configuration, remote iChip firmware upload, and remote application website upload.
This is achieved using a standard web browser. Configuration access is protected by
an SHA1-encrypted password mechanism.

Supports monitoring and controlling the host device using a pre-defined set of
parameters embedded within the application website (also SHA1 password
protected).

Allows OEMs to design their own embedded website using standard web authoring
tools along with Connect One‘s windows-based website packing utility.
AT+i Programmer‘s Manual Version 8.32
27-1
iChip Embedded Web Server
27.3 Web Server Modes
Two web server modes are defined as (see figure below):

iChip configuration mode

Host interaction mode
Each of these modes is supported by a dedicated website and a parameter access
password.
The iChip configuration mode allows remote iChip configuration. It encompasses web
interactions between iChip and a remote browser to carry out iChip parameter
maintenance and iChip firmware and application website uploads. The host processor
does not take part in the interactions under this mode. Moreover, the host processor is not
required at all for this mode to operate. Once an iChip is online and in possession of an IP
address, any remote browser may surf to the iChip and update its non-volatile parameters
without the host‘s involvement. The iChip configuration site is located at:
HTTP:///ichip/
In Host interaction mode, iChip is used to host, serve, and manage web interactions with
a remote web browser on behalf of the embedded device‘s host processor. The host gains
access to the web-based parameters via AT+i commands sent to iChip through the serial
connection.
iChip Configuration Mode
HOST
iChip
Modem/
LAN
Internet
Browser
Embedded System
Host Interaction Mode
Figure 27-1: iChip Web Server Modes
27.4 The Application Website
The application website is stored in non-volatile memory. It consists HTML code, which
can include links to local or remote web pages, graphic images, text files, Java applets,
WAP pages, and more.
Device manufacturers can design their own embedded website using any web authoring
tool. The iChip implementation supports a maximum website size of 64K. The site is
uploaded to iChip through the serial connection, or through iChip‘s configuration
website.
AT+i Programmer‘s Manual Version 8.32
27-2
iChip Embedded Web Server
27.5 Parameter Tags
iChip and host real-time parameters can be referred to in the embedded websites through
the use of Parameter Tags. When Parameter Tags are placed in an HTML web page,
actual values are sent by iChip‘s web server component when the page is served out.
Parameter Tags are also used to change corresponding parameter values from a remote
web browser. Syntactically, Parameter Tags are parameter names enclosed between two
(~) characters. If the (~) character needs to be included in a Web page, two consecutive
(~) characters must be used (~~).
The iChip Internet configuration parameters defined in the AT+i API retain their name
when used as Parameter Tags. For example, the value of the TOA AT+i parameter (Send
to E-Mail Address) may be referenced in the website by ~TOA~.
Host Parameter Tags defined by the parameter name , may be referenced in the
website using ~~.  can be any freeform parameter name consisting of a
single word that does not include blanks or iChip delimiters. For example, a parameter
reflecting a temperature reading can be called temperature and referenced in the website
as ~temperature~.
27.6 iChip Configuration Mode
iChip configuration entails monitoring and updating iChip parameter values. By making
use of iChip‘s inherent configuration website, an iChip device can be configured
remotely using a standard web browser in addition to being configurable locally using the
Ymodem protocol over the serial link, via PSTN in a modem environment, or remotely
via e-mail. The iChip RPG parameter is used to password-protect remote iChip parameter
updates. See Security and Restrictions.
The configuration site includes web forms to monitor and update most iChip parameters
and an upload page consisting of file upload forms. Note that, the following iChip
parameters cannot be configured remotely and are therefore not displayed on iChip‘s
configuration website:

WiFi security parameters

Fast USART parameter (BDRD)

Analog-to-digital converter (ADC) parameters
Each upload form allows file uploading using the POST method for a single file. The
forms support uploading the following files:

Firmware update *.imz file

Parameters update *.rpf file

Packed application website *.img file
When new firmware (*.imz file) is uploaded to iChip, iChip submits an acknowledgment
page to the browser, after receiving the complete *.imz file, and then goes offline and
updates its firmware.
In some rare cases, iChip‘s internal configuration website may be accidentally corrupted.
This happens when iChip fails to complete a remote firmware update process via web. To
AT+i Programmer‘s Manual Version 8.32
27-3
iChip Embedded Web Server
resolve this problem, iChip includes a recovery website. This website allows a user at the
remote browser end to upload the .imz file again in order to restore iChip‘s internal
website.
iChip‘s configuration site is located at:
HTTP:///ichip/
27.7 Host Interaction Mode
Host Interaction mode allows OEMs to design and implement a product-related
embedded website that is managed by iChip on behalf of the host. The host-defined
embedded website supports live host parameter monitoring and updating by a remote
browser. This is achieved by a dynamic AT+i layer implemented across the serial link
between the host and iChip.
The application developer creates a website using conventional web authoring tools. The
HTML or WAP files can then be edited to contain Parameter Tags. Parameter tags are
regarded as placeholders in HTML or WAP files. They are replaced on-the-fly with realtime values as the page is served to the browser. Browsers may also change values of
Parameter Tags in order to submit the value back to the host via iChip. This is done by
defining the Parameter Tag in the NAME field in an HTML FORM (without the (~)
characters). The iChip WPWD parameter is used to password-protect remote Parameter
Tags update. See Security and Restrictions.
Once a website is created and Parameter Tags are edited in, the site is packed and
uploaded to iChip. The website is linked into the iChip firmware, automatically
expanding the existing AT+i command set to encompass the website Parameter Tags.
This happens when the web server is activated using the +iWWW command.
Extended AT+i commands have the following syntax:
> AT+i=
> AT+i?
for setting and querying Parameter Tag values, respectively.
For example, the ~temperature~ Parameter Tag referenced in a web page, can be set
using:
> AT+itemperature=’45 Deg.’
and queried using:
> AT+itemperature?
When the host issues a Set Parameter Tag Value command, iChip links the updated value
to the Parameter Tag and stores it in its internal RAM. In response to a browser‘s GET
request, the real value is substituted everywhere in the page where the Parameter Tag
exists while the page is being served, on-the-fly.
Parameter Tag values are printable ASCII text. This convention allows implementing any
part of an HTML or WAP page as a parameter tag: numeric values, links, file names,
HTML code, etc. A Parameter Tag value is limited to 256 characters.
AT+i Programmer‘s Manual Version 8.32
27-4
iChip Embedded Web Server
Parameter Tag values can be changed and submitted from the browser end using HTML
forms. iChip stores the updated values and responds appropriately to host AT+i parameter
query commands. Thus, the host can poll specific parameters for value changes. Status
Report 7 (AT+iRP7) can be used to facilitate polling on all application web parameters.
RP7 returns a bitmap result, where bit 10 is set to ‗1‘ if one or more application web
parameters have been remotely changed. The iChip DATA_RDY signal is an associated
hardware signal that can be used to generate an interrupt on the host CPU when new data
has been buffered in iChip. The ISR can issue an RP7 to determine if the new data is a
result of an application web parameter change.
The AT+iWNXT command can be issued to scan through the application web parameters
that have been remotely updated and not yet retrieved by the application.
The iChip application site is located at:
HTTP:///
27.8 Website Creation, Packing, and Uploading
Device manufacturers can design their own embedded website using any typical web
authoring tool. A website can include one or more files residing in a dedicated file
directory structure on the designer‘s PC. The topmost directory of this structure is
referred to as the website root directory. The root directory must contain an HTML page
named index.htm, which serves as the default home page.
Before downloading the website to an iChip device, the entire website needs to be
packed. In order to pack the site into an uploadable image file, the designer must run
Connect One‘s web packing utility and specify the root directory of the site. The utility
packs all files in the root directory and its subfolders in a format suitable for iChip. If the
site contains Parameter Tags, the user is prompted to enter a maximum value length for
each Parameter Tag. Any Parameter Tag specified with a zero length value will not be
included in the resulting packed file. After the user has entered all parameters‘ max value
length, the user is prompted to specify a destination for the packed file.
The following restrictions apply when creating the packed website:

The length of a single Parameter Tag must not exceed 256 characters.

The sum of all Parameter Tags‘ value lengths must not exceed 8K.

The total packed file must not exceed 64K.
To take effect, the packed website file needs to be uploaded to iChip. This is done
through iChip‘s configuration website over the Internet.
27.9 Manipulating Variables in the Application Website
The application website is composed of HTML or WAP files, which may contain links to
internal or external websites, Java Scripts, VB scripts, graphic files, and more (See list of
supported file types). Using Parameter Tags, the page can also be used to dynamically
display and update values of iChip‘s configuration parameters and device-specific
Parameter Tags in the manner described above.
AT+i Programmer‘s Manual Version 8.32
27-5
iChip Embedded Web Server
For example, to display the current value of the headline web parameter, enter
~headline~ anywhere on the page, as in the following example:


SAMPLE PAGE


~headline~

When serving this home page, iChip‘s web server replaces the ~headline~ string in the served page with the current value of that parameter. For example, if the host issues: AT+iheadline=”Hello world” a browser pointing to iChip‘s URL address will display the image as seen on the right. To update iChip configuration parameters via the web page, simply use iChip‘s parameter names (excluding the AT+i prefix) in an HTML form. For example: SAMPLE PAGE
Dial To:
Note that the variable name is used in the NAME field, while ~~ is used to display the current value. After activating SUBMIT, the browser issues a GET command to iChip‘s web server that includes the parameter‘s name and the new value entered in the form. The page is then served to the browser again with the updated values. AT+i Programmer‘s Manual Version 8.32 27-6 iChip Embedded Web Server In addition to specifying iChip configuration parameters and Parameter Tags, it is also possible to display iChip reports and iChip‘s LAN MAC address. For example:
MAC Address: ~MACA~
Bootblock Version: BBIC~RP3~ Firmware Version: ~RP1~
Serial Number: ~RP5~ Hardware Version: ~RP0~
27.10 Security and Restrictions The authorization to view and update iChip‘s configuration parameters, firmware, or application website via the web can be password-protected using the AT+iRPG parameter (Remote Parameter Group/Password). When the RPG parameter in an iChip device contains a value, it is considered a password that restricts remote iChip parameter viewing/updates. By default, iChip‘s configuration site can be viewed (browsed), unless the Security Disable Mode (SDM) bit 3 is set, in which case the user is authenticated by submitting the RPG value. To enable remote updates, a distant user is always authenticated by submitting that value. The iChip configuration site includes an authentication form that automatically pops up on the remote browser when parameter updates are attempted. The password submitted through this form must match the actual value of iChip‘s local RPG parameter. Otherwise, remote value updates are rejected. iChip uses the industry standard SHA1 algorithm to authenticate the remote user. According to SHA1, the password typed into the authentication form is not literally communicated back to iChip. Rather, a SHA1-encrypted token is transferred. To achieve this, iChip‘s web server sends a JavaScript, which calculates SHA1 encryption at the browser end together with the authentication form. iChip also issues a different random number, used as part of the encryption key, each time authentication is required, to eliminate the possibility of impersonation based on eavesdropping to a legal authentication session. If the RPG parameter is empty (AT+iRPG=‗‘), remote iChip configuration parameter update is fully restricted. In other words, it is not possible to update configuration parameter values using a remote browser. Conversely, if the RPG parameter contains an (*) character (match any), the configuration parameters can be updated freely, without requiring authentication at all. AT+i Programmer‘s Manual Version 8.32 27-7 iChip Embedded Web Server The Parameter Tags defined in the application website are secured from remote updates in the same manner as the iChip configuration parameters. In this case, the authentication password is stored in iChip‘s local parameter WPWD (Web Password). If the WPWD parameter contains a value, a remote user needs to issue this value as an authentication password in order to gain update access to the application level Parameter Tags. Like in the case of the RPG parameter, if WPWD is empty, application level Parameter Tags are fully restricted, whereas when WPWD contains an (*), updates are unrestricted and authentication is not required. When authentication is required, iChip‘s web server automatically issues an authentication form to the remote browser in response to an attempt to update Parameter Tags. This procedure allows the application site to include HTML submit instances anywhere in the website without worrying about the authentication process. Authentication is automatically activated depending on the local value of the WPWD parameter. Authentication needs to be submitted only once per session in order to enable browsing, Parameter Tags, or iChip configuration updates. In addition, authentication automatically expires after 10 minutes of inactivity. 27.11 Parameter Update Error Handling An attempt to assign an illegal value to a parameter will fail and a string containing the relevant error message will be stored in a special iChip Parameter Tag named WST (Web Server Status). This value can be displayed in the page as any other parameter value (using ~WST~). For Example: Update Error Message: ~WST~ 27.12 File Types Supported by iChip’s Web Server  The following files can include parameter tags: .HTM, .HTML, .JS, .VBS, .INC, .STM, .XML, .XSL, .HTC,.CSS, .WML, .WMLS, .XHTML  The following files cannot include parameter tags: .CLASS, .GIF, .JPG, .PDF, .DOC, .PPT, .BMP, .XLS, .WMLC, .WMLSC, .WBMP AT+i Programmer‘s Manual Version 8.32 27-8 iChip RAS Server 28 iChip RAS Server 28.1 Introduction iChip features an internal Remote Access Server (RAS) that allows a remote dialer to dial into iChip using an active modem platform. When configured as RAS, iChip answers the incoming call and negotiates a PPP connection. iChip‘s RAS supports acknowledging an IP address request from the remote dialer side, as well as assigning a default IP address. Once the connection is established, the client can browse iChip‘s website. (If the AWS parameter is set to a non-zero value.) All other iChip IP protocol functionality is also enabled, allowing the host to issue Internet protocol AT+i commands based on the PPP connection. Note, however, that since iChip is not connected to an actual ISP in this mode, iChip does not have access to the public Internet and thus only direct connections between iChip and the connected PPP client are possible. 28.2 RAS Parameters Three parameters govern the use of iChip‘s RAS server: RAU RAS Login User Name The RAU parameter defines the allowable user name for login purposes when iChip answers an incoming call as a RAS. The remote dialer must specify the correct user name and matching password in order to successfully complete the PPP connection. This parameter must have a non-empty value for the RAS feature to be enabled. Otherwise, when RAU is empty, iChip‘s RAS is effectively disabled. When RAU contains the special character (*), RAS is enabled but no authentication is required. RAP RAS Login Password The remote dialer must provide the correct password in order to successfully complete the PPP connection. When the RAP parameter is empty or contains a (*), any password string is accepted, in effect nullifying the authentication process. RAR Number of RINGs before picking up the line. When the RAS feature is enabled, the RAR parameter defines the number of RINGs that must arrive before iChip picks up the line and transfers control to its RAS. AT+i Programmer‘s Manual Version 8.32 28-1 iChip RAS Server 28.3 RAS Theory of Operation When a remote client dials into iChip, the modem RING strings are transferred by iChip (which defaults to transparent mode) to the host. When the RAS feature is enabled (RAU contains a value), iChip picks up the line and negotiates a PPP connection by issuing the ATA (modem) command after RAR RING strings have been received. If the host chooses to manage a direct (modem-to-modem) data connection, it can pick up the line before RAR RING strings have arrived by issuing the ATA modem command. During RAS PPP negotiations, iChip will replies only to (+++) (escape sequence) and AT+iRPn commands. Specifically, iChip replies ―Connecting as RAS‖ to the AT+iRP2 (iChip status) command. The escape sequence can be used to abort the RAS session at any time. The AT+iRP2 command is the only means for the host processor to determine that a PPP session is in progress. iChip manages the RAS protocol internally and does not transfer any information to the host. Any other commands received from the host are disregarded by iChip. Once the PPP connection has been fully negotiated and established, iChip responds to all AT+i commands as when it is online. Specifically, iChip replies ―RAS Connected‖ to the AT+iRP2 command. As part of the PPP negotiation, iChip assigns itself the default IP 192.168.0.1 and allocates 192.168.0.2 as the client IP. However, if the client requests a specific IP, iChip always grants the client‘s request and uses the client‘s IP minus 1 as its own IP. The following restriction to the minus 1 rule applies: If the IP requested by the client minus 1 is an IP address that ends with 0x00 or 0x255 as the last nibble, iChip assigns itself with the client‘s IP plus 1 instead of minus 1. This is done to assure that the IP that iChip assigns itself never violates the rule that defines that a network or host IP segment may not be all binary 1‘s, nor all binary 0‘s. After a RAS PPP connection is established, iChip automatically activates the internal web server, if the AWS parameter is set to a non-zero value. Thus, the remote client can browse iChip‘s website. 28.3.1 Auto PPP RAS Mode iChip allows combining RAS and direct modem-to-modem communication sessions. A special mode, named Auto PPP RAS, supports dialing into the iChip with a PPP dialer or a regular modem. Auto PPP RAS mode is enabled by enabling RAS mode and adding a +100 offset to the RAR parameter, where [-100] determines the number of RINGS after which iChip automatically picks up the line and negotiates a PPP connection. The host processor can instruct the modem to pick up the line beforehand by issuing the ATA (modem) command or by setting the modem to auto-answer after less than [-100] RING strings. This is normally done in order to manage a direct modem-to-modem (non-PPP) communication session. When iChip is in the Auto PPP RAS mode, it monitors the data stream following the modem CONNECT line. If the first character transmitted by the remote end is (~) (0x7E), AT+i Programmer‘s Manual Version 8.32 28-2 iChip RAS Server iChip defers to PPP negotiation. The (~) is the last character transmitted to the host end to signal that iChip has taken over the negotiations. Upon this event, iChip continues to negotiate a PPP connection internally in a manner similar to the procedure that occurs when iChip picks up the line after receiving RING strings. If, however, the first character received from the calling end after the CONNECT line is not a (~) (0x7E), iChip remains in Transparent mode, and a regular modem-to-modem data session takes place. 28.3.2 SerialNET Mode The RAS can also be enabled while iChip is in SerialNet mode. In this case, however, the modem RING strings are not forwarded to the host serial port. Once the PPP connection is established, iChip proceeds to act as it would after receiving a RING event and creating a PPP connection to a remote RAS server. That is, a listening socket is established on the LPRT socket, available for a SerialNET connection. This provides an alternative means to wake-up a SerialNET server device. 28.3.3 Lost Carrier When iChip is online as a result of a RAS connection and the carrier signal is lost (due to an error or due to the PPP client closing the connection), iChip checks if the host used the PPP connection (tried to open an Internet session) during the connection. If the host did not use the connection, or iChip was in SerialNET mode, iChip silently performs a software reset and no indication of the disconnection is given to the host. Otherwise, if the host did use the connection, iChip acts as if this is a regular session created by the host that was terminated with a lost carrier signal. The error code is returned to the host on the next command that requires the use of the connection and only then will a software reset be performed. 28.3.4 Restrictions Modem RING strings are not detected while the baud rate between iChip and the host is not yet established. This means that in order to use the RAS feature, one of the following must apply:  BDRF is set to a fixed value (3-9 or h).  iChip is in SerialNET mode with its baud rate defined by the SNSI parameter.  An a or A was previously received from the host serial port and iChip has determined the host‘s baud rate. In addition, Modem RING strings are not detected when iChip is in Modem Command (MCM) mode. AT+i Programmer‘s Manual Version 8.32 28-3 SerialNET Theory of Operation 29 SerialNET Theory of Operation 29.1 Introduction iChip‘s SerialNET mode extends a local asynchronous serial link to a TCP or UDP socket across a LAN or Internet. Its main purpose is to allow simple devices, which normally interact over a serial line, to interact in a similar fashion across a network without requiring any changes in the device itself. In order to achieve this, SerialNET mode defines a set of associated operational parameters, which determine the nature of the desired network connection. When iChip is put in SerialNET mode, it acts as a router between the device‘s serial port and the network. Devices that communicate with a terminal over a serial link fall into three major categories: Output only (i.e. printers), Input only (i.e. controllers) and interactive (bidirectional communications). The latter are subdivided further into clients and servers. Generally, clients initiate communications by sending service demands to a server, while servers respond to client demands. SerialNET mode reacts differently to client or server devices. When a client device initiates communications, SerialNET mode must establish a network connection to a remote server before data may flow between the two systems. On the other hand, when a remote client needs to invoke a device, the remote client first contacts the iChip and SerialNET is invoked to create a communication flow to the local server device. SerialNET mode includes components to handle both server and client local devices. The iChip under SerialNET mode routes full-duplex data between a networked terminal and both types of devices. 29.2 SerialNET Mode SerialNET mode is established by first defining all related parameters using AT+i commands, followed by a special Enter SerialNET Mode AT+i command. Once in SerialNET mode, no additional AT+i commands can be sent, as the host serial link will be dedicated to raw local-device data. In this mode, auto baud rate is also disabled, since it cannot be guaranteed that the device will issue an a or A as its first character. Thus, a predefined fixed baud rate must be specified before switching over to SerialNET mode. Similarly, the host interface cannot be determined automatically and therefore you must set iChip‘s Host Interface to USART0 (HIF=1) or USART1 (HIF=2). SerialNET mode extends across power-down, since it is assumed that once acting in this mode, iChip is connected to an AT+i aware host. SerialNET mode can be terminated by:  Pulling the MSEL signal low for more than 5 seconds.  Issuing the ESC sequence, defined as a half second delay followed by (+++) (three (+) characters), over the serial port. When one of these occurs, iChip reboots after terminating SerialNET mode. At this point iChip reverts to its normal operational mode and again responds to AT+i commands. AT+i Programmer‘s Manual Version 8.32 29-1 SerialNET Theory of Operation 29.3 Server Devices Server devices linger until approached by a remote client. The remote client must know iChip‘s IP and listening port address in order to establish communications. LAN-based devices and dial-up devices linger differently. A LAN device is normally online and may thus have an associated listening (passive) socket ready to accept remote socket connections. While in SerialNET mode, iChip establishes a listening socket on the port defined in its LPRT parameter. A remote client terminal can connect to that port. A dial-up device is normally offline and must be awakened to go online at a precise moment. Moreover, once it connects to the Internet, it usually receives a dynamic IP address. This address must be communicated in some way to the client device in order to establish a link across the Internet. iChip resolves these problems by supporting a wakeup call and automatically implementing one or more IP registration procedures. This allows a client to wake up an iChip in SerialNET mode and retrieve its dynamic IP address from a registration server. The iChip or in dial-up mode is offline by default, but waits for a RING signal on the modem to trigger it into activity. In this case, the remote client device dials directly to the iChip and hangs up after two rings. When contacted, iChip (under SerialNET mode) waits for the RING to subside and then dials into its ISP and connects to the Internet. If the RRMA parameter contains an e-mail address, iChip registers its IP address using the Email registration method. iChip then listens on the LPRT port for a socket connection. The recipient of the e-mail can use the registered IP address and port to create a link to iChip‘s SerialNET socket. If the RRSV parameter contains a server name and port, iChip registers its IP address using the Socket registration method. If the RRWS parameter contains a URL, iChip registers its IP address using the Web server registration method. Once connected, iChip transfers all arriving data from the local device over the serial link. Device responses are routed back to the initiating client. Data flows freely between the two systems until a predefined activity termination event is triggered, upon which the remote connection is dropped. In a LAN environment the iChip continues to listen on the port server listening socket, while in a dial-up environment, iChip goes offline and waits for another RING trigger. The iChip MSEL signal (see iChip datasheet) can be lowered to GND to emulate the RING event. This is useful for testing and debugging purposes of the SerialNET connection procedure or as a means to cause iChip to activate the ring response procedure as a result of some TTL hardware signal. 29.4 Client Devices Client devices initiate communications to a server. When a client device first sends data on its serial link, iChip (in SerialNET mode) buffers the incoming data bytes and attempts to establish a connection to a remote server. After going online, iChip performs an IP registration process according to the RRSV, RRWS, and RRMA parameters. AT+i Programmer‘s Manual Version 8.32 29-2 SerialNET Theory of Operation Once the socket connection is established, iChip transmits the buffered data collected during the connection period. The MBTB parameter dictates the maximum number of bytes to buffer. If additional bytes are received on the serial port before the connection is established, they are discarded. iChip will dial-up the ISP to establish an Internet connection before attempting to open the server socket. iChip closes its listening socket (if one is defined by the LPRT parameter) to avoid remote client devices from connecting during this session. The remote server‘s IP and port are part of the SerialNET mode configuration parameters. Once a data connection is established, data can flow freely between the local client device and the remote server. If a connection cannot be obtained, eventually the client device‘s data will be discarded (similar to the case of a device transmitting serial data without a serial cable connected). Data continues to flow until a predefined activity termination event is triggered, upon which the remote connection is dropped. 29.5 Automatic SerialNET Server Wake-Up Procedure A SerialNET client may be configured to wake up a remote SerialNET server provided it has its phone number. The SPN parameter is used to store this wakeup number. When SPN contains a phone number and no Host Server Name and/or IP are defined, the SerialNET client tries to retrieve them from the registration e-mail of a remote SerialNET server. When characters are received from the host port, the SerialNET client dials the SerialNET server and then hangs up, causing the server to connect to its ISP, send a registration e-mail containing its IP address and local port, and open a listening socket on that port. The client, after waking up the server, connects to its ISP and starts polling the predefined mailbox for the server‘s registration e-mail. Once this e-mail arrives, the client opens a socket to the IP address and port defined in the e-mail. The SWT (SerialNET Wakeup Timeout) parameter defines how long iChip will wait for this procedure to conclude before stopping. Data then flows until a predefined activity termination event is triggered, upon which the remote connection is dropped. 29.6 Transmit Packets Data originating in the local device is buffered, packetized, and transmitted to the remote system over the network. Packets are formed as a result of meeting at least one of the following criteria:  A predetermined number of bytes has been received from the local link (MCBF).  The TCP/IP connection MTU was met.  A predetermined flush character has been received (FCHR).  A predetermined inactivity timeout event was triggered (MTTF). Until one of these events occurs, data is buffered in the iChip. When an event occurs, a packet is transmitted. The event parameters are configured by setting AT+i parameters prior to initiating SerialNET mode. When a UDP connection is used, data packets are AT+i Programmer‘s Manual Version 8.32 29-3 SerialNET Theory of Operation atomic, maintaining their original size. When a TCP connection is used, packets can be combined before being actually transmitted. This follows from the stream nature of the TCP protocol. Data originating in the remote system is routed to the local device as it is made available. Flow control can be governed locally using hardware flow control only. The PTD parameter can be used to define the number of packets to be cyclically discarded in a SerialNET mode session. When PTD>0, iChip first discards packets before actually sending one to the SerialNET socket. This can be used to dilute repetitive information. 29.7 Completing a SerialNET Session A SerialNET session is completed when one of the following occurs:  The local device transmitted the disconnection string, as defined in the DSTR parameter.  Following an inactivity timeout, as defined in the IATO parameter. In a modem environment the iChip goes offline when the SerialNET session is terminated. In a LAN environment, the iChip reopens the SerialNET listening socket defined in the LPRT parameter (if it is non-zero) to service future remote client connections. 29.8 SerialNET Failed Connection If the iChip fails to establish a SerialNET connection, SerialNET mode is deactivated for a delay period defined in the SNRD parameter. 29.9 Local Serial Port Configuration Prior to entering SerialNET mode, iChip‘s local serial port can be configured to comply with a wide range of devices by assigning a value to the SNSI parameter. Serial port configuration entails settings to: Baud rate: 300, 1200, 2400, 4800, 9600, 19200, 38400, 56K or 115K Bits/byte: 7 or 8 Parity: None, Even, or Odd Stop Bit: Must be 1 Flow Control: None (0) or Hardware (1) 29.10 Activation Command The iChip is forced into SerialNET mode by issuing the following command: AT+i[!|@]SNMD If the minimal SerialNET parameters are defined, iChip replies with I/OK followed by I/DONE or I/ONLINE or I/OFFLINE. AT+i Programmer‘s Manual Version 8.32 29-4 SerialNET Theory of Operation If the iChip is online at the time this command is issued, it closes the Internet session in an orderly manner. This includes closing all open sockets and disconnecting from the ISP in a modem environment. When iChip boots up in SerialNET mode, it sets the host serial channel to the fixed baud rate and serial interface parameters defined in the SNSI parameter. iChip in LAN mode opens the SerialNET listening socket (if it is defined in the LPRT parameter) and, if defined, launches the web server. In an iChip dial-up environment, the modem is polled for the RING string. If the ringresponse destination e-mail parameter (RRMA) or ring-response server parameter (RRSV) contain values, iChip waits for the RING strings to subside and connects to the Internet. Once online, it sends an e-mail to the RRMA address (if defined) and/or establishes a socket to the address in RRSV (if defined). The transmission contains the dynamic IP address received from the ISP and its listening port, on which iChip has an open listening socket, ready to serve the remote client. iChip goes offline if one of the following events occurs:  The remote peer closes the SerialNET socket.  The IATO parameter is defined and times out.  The terminating string defined in the DSTR parameter is received. When the optional (!) (Auto-Link mode) flag is specified, iChip immediately goes online in response to the AT+i!SNMD command, opens the SerialNET listening socket (if it is defined in the LPRT parameter) or attempts to establish a socket to an HSRn address (if any HSRn is defined and LPRT is not). In this case, if one of the terminating events occurs, iChip does not go offline. Rather, the SerialNET socket is closed while iChip stays online and opens the listening or active socket again, after waiting the SNRD delay. When the optional (@) (Deferred Connection mode) flag is specified, iChip immediately goes online in response to the AT+I@SNMD command. It opens the SerialNET listening socket (if it is defined in the LPRT parameter) but does not attempt to establish a socket to the HSRV address if it is defined. In this case, if one of the terminating events occurs, iChip does not go offline. Rather, the SerialNET socket is closed while iChip stays online and opens the listening socket again, after waiting the SNRD delay. iChip exits SerialNET mode when one of the Escape procedures is activated. 29.11 SerialNET over TELNET SerialNET over TELNET mode of operation opens a data socket as a TELNET socket, which allows negotiations of TELNET options over the same socket while the host is sending and receiving raw data only. This mode partially supports the RFC2217 standard. SerialNET over TELNET mode is entered by sending the command AT+iSNMD=4 after setting iChip‘s Host Interface to USART0 (HIF=1) or USART1 (HIF=2). An error code – I/ERROR (124) – is returned upon setting the SNMD parameter to 4 while the HIF parameter is not set to either 1 or 2. AT+i Programmer‘s Manual Version 8.32 29-5 SerialNET Theory of Operation 29.11.1 Mode of Operation SerialNET over TELNET mode expands the Auto-Link mode (!SNMD). In this mode, iChip immediately goes online upon activating SerialNET, regardless of whether serial data has arrived or not. If the LPRT (Listening Port) parameter is defined, iChip opens a listening port and awaits a connection, and so it acts as a TELNET server. If, on the other hand, LPRT is not defined, but HSRV (Host Server) is defined, iChip acts as a TELNET client and immediately opens a TELNET socket link to the TELNET server. Note that, even when configured as a client, iChip still acts as a server in RFC2217. See the following section – ―RFC2217 Implementation‖ – for a more detailed explanation. The SerialNET over TELNET mode expands iChip‘s TELNET client in the following aspects:  It allows iChip to operate both as a TELNET server and client.  It partially supports RFC2217. In this mode, data is retrieved from the remote side as it is made available. TELNET options embedded in the server/client response stream are stripped by iChip before being turned over to the host. TELNET specifies many operational options. iChip restricts its operation mode to the minimum implementation to assure best inter-system compatibility. Following are the TELNET options negotiated by iChip. Any other options negotiated by the remote side are rejected by iChip. Option ID Name Value RFC echo OFF 857 suppress go ahead suppress 858 24 terminal type VT100 1091 31 window size whatever 1073 44 com port partial implementation 2217 Notes: 1. In SerialNET over TELNET mode, a BREAK signal that is detected on the host USART is relayed to the remote side and no reset is performed. 2. If the host interface is USART1, then DSR signal changes are not detected. 29.11.2 RFC2217 Implementation The RFC2217 implementation in SerialNET over TELNET mode is designed to:  Add the ability for a remote client that connects to iChip to send COM port configuration information to the host device connected to the Internet via iChip‘s TELNET server. The configuration changes take effect immediately, but are not preserved over software or hardware reset. The allowed configurations are the same ones available by the SNSI parameter. AT+i Programmer‘s Manual Version 8.32 29-6 SerialNET Theory of Operation  Add the ability for the host device to inform the remote side about signal changes in CTS and DSR.  Add the ability for the remote side to change the value of the RTS and DTR signals of the host device.  Add the ability to exchange BREAK signal indications between the host device and the remote side. The table below lists the RFC2217 options and sub-options supported by iChip. Note that iChip does not send any replies to commands or command values not supported. For more information about RFC2217, refer to the RFC2217 protocol document. When issuing any of the following commands, iChip plays the role of a server. Option Allowed Values Baud Rate 300-115200 bps Data Size 7 or 8 bits Parity None | Odd | Even Stop Bit Flow Control BREAK ON | BREAK OFF | DTR ON | DTR OFF | RTS ON | RTS OFF Notify Line State One octet (byte). The value is a bit-level composition made up from the value table that appears in the RFC2217 protocol document. Only bit 4 is supported, value 16, meaning BREAK-detect error. Notify Mode State One octet (byte). The value is a bit-level composition made up from the value table that appears in the RFC2217 protocol document. Only the following bits are supported: Bit Position Value Meaning 32 Data-Set-Ready Signal State 16 Clear-To-Send Signal State Delta Data-Set-Ready Delta Clear-To-Send AT+i Programmer‘s Manual Version 8.32 29-7 File Transfer Protocol (FTP) Theory of Operation 30 File Transfer Protocol (FTP) Theory of Operation 30.1 Introduction The FTP client component in iChip extends iChip‘s general-purpose sockets to incorporate an additional, dedicated socket for FTP activities. From the host‘s perspective, the FTP capabilities are a logical extension of the capabilities of e-mail and direct socket manipulation. As in all other iChip protocol implementations, host involvement in the specifics of FTP is minimal. iChip needs to deal with non-standard FTP issues, such as possible differences between FTP server responses, on its own. Multi-stage FTP protocol sequences are atomized under iChip control to minimize complexity and need for host processor intervention. The FTP protocol is described in RFC 959. 30.2 iChip Family FTP Client Command Set  Open FTP link to FTP Server  Retrieve File List from Server  Change Directory on Server  Retrieve File Contents from Server  Open a New File on Server  Open an existing File on Server for Append  Send Binary Data to an open File on Server  Close a File on Server After Binary Data Send  Delete File on Server  Close FTP Session 30.3 iChip FTP Client Operation Mode FTP specifies several operational modes. The RFC calls for a minimum implementation, which should be observed by all FTP servers. iChip restricts its operation mode to the minimum implementation to assure best intersystem compatibility. Character Types: ASCII Non-print Structure: File Mode: Stream 30.4 FTP Command Socket The FTP command socket is normally on port 21 (decimal) of an FTP server. However, other ports can be specified to support special cases. AT+i Programmer‘s Manual Version 8.32 30-1 File Transfer Protocol (FTP) Theory of Operation 30.5 FTP Receive Flow Issue: AT+iFRCV Command I/OK I/ERROR Return I/ERROR YES I/ I/ERROR Return I/ERROR YES equals 0 ? YES Accumulate Quiet Time NO NO Accumulate Quiet Time NO 5 secs. Quiet ? NO FTP Data Available? FTP Data Available? YES Next chars. I/ERROR? YES NO YES YES NO Retrieve FTP Data Retrieve FTP Data Decrement Reset Quiet Time Reset Quiet Time NO Return I/ERROR 5 secs. Quiet ? NO Next chars. I/ONLINE or I/ERROR? YES Return I/ONLINE or I/ERROR equals 0 ? YES Wait For I/ONLINE Figure 30-1 FTP Receive Flowchart AT+i Programmer‘s Manual Version 8.32 30-2 Telnet Client Operation 31 Telnet Client Operation There are four operation modes for most Telnet applications, namely, half-duplex, character at a time, line at a time, and line mode. iChip incorporates two methods to send data to the remote Telnet server: One line at a time, namely, an AT+i command (+iTSND) is used to send a single (CR/LF terminated line to the Telnet server); and Binary Transmission, where an AT+i command (+iTBSN) is used to send an arbitrary amount of binary data. Data is retrieved from the remote Telnet server as it is made available. Embedded Telnet options in the server‘s response stream are stripped by iChip before being turned over to the host. Telnet specifies many operational options. iChip restricts its operation mode to the minimum implementation to assure best intersystem compatibility. Following are the Telnet options negotiated by iChip: Option ID Name Val RFC Echo OFF 857 Suppress go ahead Suppress 858 24 Terminal type VT100 1091 31 Window size Whatever 1073 Any other options negotiated by the Telnet server are rejected by iChip. AT+i Programmer‘s Manual Version 8.32 31-1 Secure Socket Protocol Theory of Operation 32 Secure Socket Protocol Theory of Operation 32.1 Introduction iChip implements an SSL3/TLS1 client socket connection. When connecting to an SSL3/TLS1 server, iChip negotiates an SSL3/TLS1 secure connection. During the negotiation process, the server identifies itself to the client (iChip) by sending a certificate. The certificate‘s main purpose is to allow iChip to determine that the server is indeed the server it claims to be. To fulfill its purpose, the certificate contains the server‘s ID information (name, address, description, etc.) and its public key. It also contains a digital signature, signed by a thirdparty called a Certificate Authority (CA), which authenticates this information. The client must trust the CA in order to accept its signature on a certificate. Furthermore, the trust relationship between the client and the CA must be established prior to the communication session and preferably using alternate methods. iChip‘s CA parameter is used to store the CA‘s certificate. Once a trusted CA‘s certificate is stored on iChip, it will accept certificates signed by that CA from SSL3/TLS1 servers it connects to. 32.2 Generating Certificates for Use with Servers The most common way to obtain a certificate is to buy one from a commercial certificate authority. This results in a public key that has been digitally signed by a trusted thirdparty. Any clients receiving this certificate can be sure they are communicating with an authentic entity. However, in a trusted environment, it is possible to create an in-house CA and to self-sign the certificate. Commercial CA‘s are usually preferred when connecting to multiple unknown servers. However, in distributed system configurations where not more than a handful of secure servers are deployed; an in-house CA is probably more appropriate and just as secure. Several free software packages are available for generating certificates. The following sections describe how to use the standard OpenSSL package to generate certificates. They contain instructions on how to obtain your own certificates suitable for use with servers to which iChip will connect. Furthermore, most FTP servers that support SSL3 include a certificate generation utility that may be used to generate self-signed certificates. The self-signed certificate is part of the FTP server‘s configuration and may also be loaded into iChip to allow it to connect to that FTP server using SSL3 secure sockets. 32.3 Using the OpenSSL Package to Create Certificates OpenSSL is a widely used SSL toolkit available for free download at http://www.openssl.org. The SSL toolkit contains source code that can be compiled for Unix, Linux, or Windows. Pre-compiled binaries are also available for these platforms. OpenSSL comes with a command line utility for generating keys, creating CA‘s, and creating certificates. The following instructions assume the OpenSSL package has been installed and configured properly on your machine. The instructions walk you through using OpenSSL AT+i Programmer‘s Manual Version 8.32 32-1 Secure Socket Protocol Theory of Operation to create an in-house Certificate Authority, sign your own certificates, and generate the proper requests in order to receive a signed certificate from a commercial CA. The signed certificates can then be installed on servers to which iChip will connect in a secure (SSL3/TLS1) manner. 32.4 Creating a Certificate Authority The certificate generated using the following steps can be used in deployed systems, in which you are the trusted authority. Users of these certificates can be confident of your identity. For example, iChip devices communicating with servers that are setup and configured by the device vendor can secure their communications using certificates signed by the vendor-created Certificate Authority. In order to store the files to be generated, create a new directory named testCA. Open a command shell (on Windows, enter cmd in the Start > Run dialog box). Change the command shell‘s working directory to testCA and follow these instructions: 32.4.1 Creating the CA Environment The creation of a CA produces several files that must be preserved throughout the lifecycle of the CA. You can sign an unlimited number of certificates using a single CA. These files are written to each time you sign a certificate. 1. Under the testCA directory create sub-directories certs and private. 2. Create a new file named serial. In this file enter the numerals ‗01‘ and save the file. 3. Create an empty file named index.txt. 32.4.2 Creating the Test CA Configuration File Whereas you can enter all configuration information in a command line, creating a configuration file makes these steps easier to reproduce and allows you to save the options used to create a CA. 1. Create a new file named CAcnf.ca using a text editor of your choice. 2. Add the following basic CA configuration information: [ ca ] default_ca = CA_default [ CA_default ] dir = /testCA certificate = $dir/cacert.pem database = $dir/index.txt new_certs_dir = $dir/certs private_key = $dir/private/caprivkey.pem serial = $dir/serial default_crl_days = 7 default_days = 365 default_md = md5 policy = CA_default_policy x509_extensions = certificate_extensions AT+i Programmer‘s Manual Version 8.32 32-2 Secure Socket Protocol Theory of Operation [ CA_default_policy ] commonName = supplied stateOrProvinceName = supplied countryName = supplied emailAddress = supplied organizationName = supplied organizationalUnitName = optional [ certificate_extensions ] basicConstraints = CA:false [ req ] dir = /testCA default_bits = 1024 default_keyfile = $dir/private/caprivkey.pem default_md = md5 prompt = no distinguished_name = root_ca_DN x509_extensions = root_ca_extensions [ root_ca_DN ] commonName = Common Name stateOrProvinceName = My State countryName = US emailAddress = myemail@mydomain.com organizationName = My Organization organizationalUnitName = Organization Unit # Server name or YOUR name # 2 Letter Code # Your Email Address # Unit Name (ie, section) [ root_ca_extensions ] basicConstraints = CA:true Note that both dir entries under [CA_default] and [req] must be set to the path to the testCA directory created earlier. The root_ca_DN section can be changed to enter information specific to your organization. 32.4.3 Creating a Self-Signed Root Certificate A certificate authority is essentially a self-signed root certificate. This root certificate is used to respond to new certificate requests to create a signed certificate. In this case, iChip is both the CA and the originator of the certificate request, so no identity verification issues exist. In a more typical situation, however, a CA can only be trusted if it performs sufficient background checks into the originator of the certificate request to verify its identity. 1. Set the OPENSSL_CONF system environment variable to point to the newly created configuration file.  On Linux\Unix, type the following: OPENSSL_CONF=/testCA/CAcnf.ca export OPENSSL_CONF  On Windows, type the following: set OPENSSL_CONF=C:\testCA\CAcnf.ca AT+i Programmer‘s Manual Version 8.32 32-3 Secure Socket Protocol Theory of Operation 2. Enter the command for generating the self-signed root certificate (all text is a single command typed on one line): openssl req –x509 –newkey rsa:1024 –out cacert.pem –outform PEM 3. You are prompted to enter a PEM pass phrase. This is your password to the CA private key. It is essential for the security of the system that both this password and the CA private key are kept secret. An encrypted caprivkey.pem file, which is the private key for the CA is now stored under the private sub-directory. The self-signed cacert.pem file is stored under the top-level testCA directory. The cacert.pem certificate can be used to sign new certificate requests as detailed in the following steps. Alternatively, the cacert.pem certificate can be used as-is in a server system if the single level hierarchy is considered sufficient. The cacert.pem certificate has to be loaded into iChip‘s CA parameter to enable iChip to trust and communicate securely with servers whose certificate is cacert.pem or that use certificates signed with cacert.pem (see description on how to do that with the iChipConfig utility or using iChip‘s web server). 32.5 Signing a Certificate with a CA Certificate 32.5.1 Creating a Certificate Request Now that the CA has been created, you can use it to sign new certificates. In this example, iChip plays the role of the CA, the certificate subject, and the end-user of the certificate, so no trust issues exist. A typical process, however, involves communication between the certificate subject (you) and a trusted CA. Usually someone wishing to issue certificates to end-users would generate a certificate request file and submit it to the administrators of a CA. Once the administrators of the CA have determined the request to be valid, a self-signed root certificate would be used to sign the certificate request and create a new certificate to be returned to the originator of the request, and eventually to the end-user. 1. Reset the OPENSSL_CONF environment variable to the default openssl.cnf file. Generating a request has nothing to do with a CA before it is actually submitted. It is safe to point OPENSSL_CONF to the default configuration file because it will force the request command to prompt the user for all information regarding the certificate request. Set the environment variable to the default file by typing the following:  On Linux\Unix: OPENSSL_CONF=/OpenSSL/apps/openssl.cnf export OPENSSL_CONF  On Windows: set OPENSSL_CONF=C:\OpenSSL\bin\openssl.cnf 2. Generate the request with the following single line command and answer all questions at the prompt: AT+i Programmer‘s Manual Version 8.32 32-4 Secure Socket Protocol Theory of Operation openssl req –newkey rsa:1024 –keyout myprivkey.pem –keyform PEM –out myreq.pem –outform PEM If you do not want an encrypted private key, add –nodes to the above command. At the conclusion of this step two new files are created. The myprivkey.pem file contains the encrypted private key. This file must never be shared, not even with the CA. The other file is the certificate request file, myreq.pem, which will be used by the CA to create the final signed certificate. 32.5.2 Using the Test CA to Issue the Certificate The final step of the process is to use the CA self-signed certificate to sign the certificate and return it to the originator of the request (subject). 1. Reset the OPENSSL_CONF system environment variable to reference the CA configuration file again.  On Linux\Unix type the following: OPENSSL_CONF=/testCA/CAcnf.cnf export OPENSSL_CONF  On Windows type the following: set OPENSSL_CONF=C:\testCA\CAcnf.cnf Make sure that the request file is in the current directory and run the following command. The PEM password you are prompted to enter is the password for the CA private key file: openssl ca –in myreq.pem You will be requested to enter the pass phrase for the CA private key that was generated above. Enter the pass phrase to continue. Answer ‗y‘ at the next two prompts, then at the conclusion of this step several files are updated and a new certificate is created. The new certificate can be found in the certs sub-directory. It is named as the serial number it is associated with by the CA. The file can be renamed, but the .pem extension must be preserved for clarity. The serial file itself increments its count for the next certificate request and the index.txt file shows a record of the creation. The new certificate file and the myprivkey.pem file are now suitable for use by an SSL server to which iChip needs to connect. As mentioned above, the iChip +iCA parameter must contain the CA certificate cacert.pem used to sign the server‘s certificate. AT+i Programmer‘s Manual Version 8.32 32-5 Remote AT+i Service 33 Remote AT+i Service 33.1 Introduction The LATI parameter allows configuring iChip to maintain a communication channel that supports interacting with iChip from a remote location using the AT+i command set as if the commands are administered through the local serial port. When LATI is set to a nonzero value, iChip opens a TCP listening socket on port . In a dial-up environment, this occurs only after the PPP connection is established. This listening socket can be used to connect to iChip‘s remote AT+i service. 33.2 Remote AT+i Commands When a remote client connects to iChip‘s LATI socket, iChip redirects the socket‘s data flow to the AT+i parser, in effect allowing the socket to take over the parser. Any data coming from the socket is processed by iChip as if it came from the host serial port and the replies are returned to the socket instead of being sent to the host serial port. iChip replies with an I/BUSY to commands coming from the host serial port, while the remote client is connected. An exception to this is the (+++) escape sequence. On detection of (+++) from the host serial port, iChip closes the remote connection and reboots. If iChip was in the process of performing some Internet activity initiated by the host at the time the remote client connected, iChip allows this activity to end and the final reply to reach the host before passing control over the parser to the remote client. 33.3 Closing A Remote AT+i Session To close a remote AT+i session, the remote client can choose to issue AT+iDOWN via the socket. In response to this, iChip restarts. Only I/OK is returned over the socket before it is closed by iChip. Alternatively, the remote client can close the socket in order to disconnect, leaving iChip‘s Internet session as-is. In the latter case, iChip returns control over the parser to the local host port. The LATI listen remains active, available to service additional remote connections. After a LATI session is closed, the LSR (last session error) web parameter contains the value 096 to indicate that a LATI session has been disconnected. Note: (+++) sent over the LATI socket is not recognized as an escape sequence. 33.4 Caveats and Restrictions  When iChip in dial-up mode is in auto baud rate detection mode (after re-starting with BDRF=a or in response to the AT+iBDRA command), a remote AT+i session cannot be established, even if the LATI parameter contains a port value.  In iChip LAN the remote AT+i service is available, even if iChip LAN is in auto baud rate detect mode. However, once the remote AT+i connection is established, iChip LAN will no longer be in auto baud rate mode and the host will be able to send the (+++) escape sequence only at 9600 baud, if it needs to close the remote session. AT+i Programmer‘s Manual Version 8.32 33-1 Remote AT+i Service iChip LAN will then return to auto baud rate detect mode when and if the local host or the remote client close the LATI session, in effect re-starting iChip LAN.  During a remote AT+i session, the remote client taking over the parser cannot make use of iChip‘s mechanisms of Hardware or Software flow control, which exist for the local host port. The only mechanism iChip will use is this mode is TCP level flow control (using the TCP window).  In iChip LAN, AT+IBDR or AT+IBDRA will return I/OK but will not initiate a baud rate detection process.  The remote AT+i commands socket cannot be used to send AT+i command to iChip when iChip is in SerialNET mode. AT+i Programmer‘s Manual Version 8.32 33-2 Nonvolatile Parameter Database 34 Nonvolatile Parameter Database 34.1 Parameter Descriptions Parameter Type Range Default Operational Description XRC DMD Byte Byte 0..4 0..2 MIS String 126 chars MTYP WTC Byte Byte 0..11 0..255 ―AT&FE0V 1X4Q0&D2 M1L3\r‖ 45 TTO INT 0..3600 PGT Unsigned INT 0-65535 0 [mSec] MPS TTR Byte INT 0 (1500) 3000 [mSec] BDRF Byte 0..3 1000.. 65535 3..9|‗a‘| ‗h‘ BDRM Byte 3..9|‗a‘| ‗h‘ ‗a‘ (Auto) Sets the iChipmodem baud rate to a fixed baud. AWS Byte 0..3 Sets flag to define web server activation. 0 (web server disabled), 1 | 2 | 3(web server enabled). LATI FLW CPF INT Byte Byte 0-65535 0..7 0..1 0 (Disabled) 0 (S/W) 1 (LAN) PSE Byte 0..255 0 (Disabled) SDM Byte 0..7 DF CKSM HIF MIF ADCL ADCD ADCT Byte Byte Byte Byte Byte Byte INT 0..1 0..1 0..5 1..5 0-255 0-255 0-65535 0 (All Enabled) 0 (Disabled) 2 (USART1) Remote AT+i Service, port number. Flow Control Mode Sets Communication Platform: Modem (0); LAN (1). Sets Power Save Mode: Disabled(0); idle time in seconds before activating Power Save mode (1..255) Service Disable Bitmap ‗a‘ (Auto) AT+i Programmer‘s Manual Version 8.32 Extended Return Code. Same as ATXn Modem Dial Mode: ATD m: Tone (0); Pulse (1); None (2) Modem initialization string. May contain several consecutive AT commands. Modem Type Designator Wait Time Constant. Initialization constant for modem‘s S7 register. Defines a timeout constant for a variety of modem activities. TCP Timeout. Number of seconds to wait before returning a timeout error on a TCP transaction. Timeout to resend a PING request. Max PPP Packet Size. Timeout to resend an unacknowledged TCP packet over PPP, in milliseconds. Sets the iChipHost to a fixed baud rate. IP Protocol Don‘t Fragment Bit Sets checksum mode Sets host-to-iChip interface Sets iChip-to-modem interface A/D Converter base level A/D Converter delta Time interval between queries of the A/D Converter‘s register 34-1 Nonvolatile Parameter Database Parameter Type Range ADCP INT 0-96 RRA RRHW Byte INT 0-6 0-96 ISPn ATH Phone # Byte 96 chars 0..2 USRN PWD RDL RTO String String Byte Byte 64 chars 64 chars 0..20 0..3600 LVS DNSn[p] 0..1 SMTP[p] SMA Byte IP address String Byte SMU SMP POP3[p] MBX MPWD NTSn NTOD String String String String String String Byte 64 chars 64 chars 64 chars 64 chars 64 chars 64 chars 0..1 GMTO DSTD Byte String -12..12 64 chars PDSn String 64 chars PFR INT 0-65535 UFn String 128 chars 64 chars 0..1 Default Operational Description iChip‘s I/O pin to be asserted by the A/D Converter‘s polling mechanism iChip readiness indication iChip readiness HW pin ISP Connection NULL ISP‘s access phone number. : 1..2 1 (PAP) Use CHAP (2), PAP (1) or Script (0) authentication NULL ISP Connection User Name NULL ISP Connection Password Number of Redial tries 180 Timeout before redialing [seconds] Server Profiles 1 (YES) Leave on Server: 1(YES), 0 (NO) 0.0.0.0 Domain Name Server IP address :1..2 NULL SMTP Server Name 0 (None) Define SMTP Authenticated Method: 0 (None) 1(Login authentication) NULL SMTP Authentication User Name NULL SMTP Authentication Password NULL POP3 Server Name NULL Mailbox User Name NULL Mailbox Password NULL Network Time Server name : 1..2 Network time-of-day retrieval flag (Disabled) iChip location‘s GMT Offset NULL Sets iChip‘s Daylight Savings transition rule NULL Sets iChip‘s PING Destination servers, used for online status verification. Sets PING destination server polling (Disabled) frequency. User Fields NULL User Storage field and Macro Substitution : 01..12 AT+i Programmer‘s Manual Version 8.32 34-2 Nonvolatile Parameter Database Parameter Type Range XFH Byte 0..1 HDL FLS Byte String 0..255 64 chars DELF SBJ TOA[n] TO String String String String 64 chars 96 chars 64 chars 96 chars REA FRM String String 64 chars 96 chars CCn String 64 chars BDY 96 chars MT Text lines Byte MST String 64 chars FN String 64 chars RRMA String 64 chars RRSV String 64 chars RRWS String RRRL String 128 chars 64 chars HSTN String 64 chars 0..4 Default Description E-Mail Format Transfers e-mail headers. 1 (Enable) 0 (Disable) 0 (no limit) Limits number of header lines retrieved. NULL Filter string must exist in message (no filter) header to Qualify for Retrieve. None E-mail Delete Filter NULL Contents of the e-mail subject field NULL E-mail Addressee NULL Addressee Description/Name in e-mail header NULL Returns e-mail address. NULL Sender Description/Name in e-mail header NULL Alternate Addressee (CC: field) : 1..4 NULL Textual body contents for MIMEencapsulated e-mail messages 4 (app.) Media Type: 0: Text; 1: Image ; 2: Audio ; 3: Video ; 4: application octet-stream Media Subtype String. For a list see Appendix A. None Attachment File Name (inc. extension). If a file name is not defined, iChip generates a unique filename. IP Registration NULL Sets the e-mail address to use for dynamic IP address registration after going online. NULL Sets the server name/IP and port to contact for dynamic IP address registration after going online. NULL Sets the web server URL used for dynamic registration after going online. NULL Sets the Return Link IP address to use when performing an IP address registration behind a NAT. NULL iChip‘s Network Host Name, included in all IP registration methods. iChip LAN will be registered in DNS through DHCP Server. AT+i Programmer‘s Manual Version 8.32 34-3 Nonvolatile Parameter Database Parameter Type Range URL String CTT String 128 chars 64 chars WPWD String 64 chars RAR Byte 2..20 RAU RAP String String 64 chars 64 chars MACA String 12 chars DIP Default IP address IP address IP address IP address IPA IPG SNET WLCH Byte WLSI WLWM String Byte WLKI Byte WLKn WLPS Hex Key String Byte WLPP String WSEC WROM WPSI WSRL WSRH Default HTTP None Description URL string used for subsequent +iRLNK and +iSLNK commands. NULL Defines the ―Content-type‖ field sent in the POST request by the +iSLNK command. NULL Password for restricting host parameter updates via a web browser. RAS Server Number of RINGs after which iChip will activate its internal RAS Server. NULL RAS Login User Name NULL RAS Login Password LAN MAC MAC address assigned to iChip address assigned by Connect One 0.0.0.0 Default IP address stored in iChip‘s nonvolatile memory. 0.0.0.0 IP address assigned to iChip 0.0.0.0 IP gateway address assigned to iChip 0.0.0.0 Subnet address assigned to iChip 802.11b/g Wireless LAN Wireless LAN Communication Channel in Ad-Hoc mode 32 chars NULL Wireless LAN System Set ID 0..2 Wireless LAN WEP Mode (Disabled) 1..4 Wireless LAN Transmission WEP Key Index 26 chars NULL Wireless LAN WEP Key Array 0..13 0..5 NULL Byte 8-63 chars 0..1 Byte INT Byte Byte 0..1 1-3600 0-255 0-255 0 (WPA security) 10 30 AT+i Programmer‘s Manual Version 8.32 Marvell WiFi chipset Power Save mode dose time. Wireless LAN WPA- PSK pass phrase Wireless LAN WPA security option Enable Roaming mode Periodic scan for APs interval Roaming mode SNR low threshold Roaming mode SNR high threshold 34-4 Nonvolatile Parameter Database Parameter Type Range Default Description 802.11b/g Wireless LAN 32 chars ― (Empty) WLAN SSID for multiple SSIDs 8-63 ― (Empty) Pre-shared key passphrase for multiple chars SSIDs 26 chars ― (Empty) WLAN WEP key for multiple SSIDs 0..4 WLAN security type for multiple SSIDs SerialNET Mode 64 chars NULL Set the remote host server name/IP and port. 3 chars NULL Switches among three possible HSRV parameters. 8 chars NULL Set the disconnection string template. 0-65535 0 Set the SerialNET mode listen socket. WSIn WPPn String String WKYn WSTn String Byte HSRV or HSRn String HSS String DSTR LPRT String MBTB INT 0-2048 MTTF Unsigned INT 0-65535 0 (None) FCHR Byte 1 char 0 (None) MCBF INT 0-1460 0 (None) IATO INT 0-32768 0 (None) SNSI String 9 chars ―5,8,N,1,0‖ STYP Byte 0..1 0 (TCP) SNRD INT 0..3600 0 (No Delay) SPN String 96 chars NULL SDT Byte 0..255 20 SWT INT 0..65535 600 PTD INT 0..65535 0 (No Filter) Unsigned INT AT+i Programmer‘s Manual Version 8.32 Max bytes to buffer while iChip is establishing a connection. Max inactivity timeout in milliseconds before flushing the SerialNET socket. Flush character. When received, SerialNET socket will be flushed. Max. characters before flushing the SerialNET socket. Inactivity timeout in seconds before closing the SerialNET connection. SerialNET mode Serial interface configuration. Defines baud, bits, parity, stop and flow control. Set the SerialNET mode socket type. 0 (TCP) or 1 (UDP). Delay time in seconds before reenabling SerialNET mode after a failed connection. SerialNET Phone Number to wake-up SerialNET Server. SerialNET Dial Timeout. When waking up a SerialNET server, iChip will hangup after SDT seconds have elapsed. SerialNET Wake-up Timeout. Number of seconds to allow for the SerialNET server wake-up procedure. Specifies the number of Packets to Drop during a SerialNET session. 34-5 Nonvolatile Parameter Database Parameter Type UEN Byte RPG String CS Byte CA String CERT PKEY String String DPSZ Byte DSLT INT ARS Byte Range Default Description Remote Firmware Update 0..1 Remote Firmware Update flag Remote Parameter Update 64 chars NULL Remote Parameter Update Group/Password Secure Socket Protocol (SSL3/TLS1) 0, 4, 5, Set the cipher suite to be used during 10, 47, (propose SSL3/TLS negotiations. 53 all) 1300 NULL Set iChip‘s SSL3/TLS trusted characters Certificate Authority (CA). 4 Kbyte NULL Set iChip‘s SSL3/TLS certificate. 4 Kbyte NULL Set iChip‘s private key. DHCP Server 0-255 Set number of addresses in iChip‘s IP (DHCP pool. server off) 0-65535 0 Define lease time, in minutes, granted (No limit) when assigning IP addresses to clients. iRouter Mode 0..1 Causes iChip to automatically enter iRouter mode upon power-up or soft reset. Table 34-1 Nonvolatile Parameter Database AT+i Programmer‘s Manual Version 8.32 34-6 Nonvolatile Parameter Database 34.2 +iFD — Restore All Parameters to Factory Defaults Syntax: AT+iFD Restore iChip‘s non-volatile parameter database values to factory defaults. Each of iChip‘s nonvolatile parameters, described in the following section, has an associated default value. This command restores all parameters to their factory default values. This command disables iChip‘s DHCP client. In order to reactivate the DHCP client process, you need to perform a HW or SW reset. This command also resets iChip‘s active IP address stored in the IPA parameter. An exception to the above are the MIS (Modem Init String), RPG (Remote Parameter Group/Password) and CPF (Communications Platform) parameters, which will always retain the last set value. Result Code: I/OK After restoring parameters to factory default values. AT+i Programmer‘s Manual Version 8.32 34-7 Nonvolatile Parameter Database 34.3 34.3.1 Operational Parameters +iXRC — Extended Result Code Syntax: AT+iXRC=n Extended Result Code. Same as ATXn. This command selects which subset of the result messages will be used by the modem to inform the Host of the results of commands. Parameters: n=0..4 Command For a detailed description of the command options see the Options: ATXn command in the AT command set manual for the modem in use. Default: 4 Result Code: I/OK If n is within limits I/ERROR Otherwise AT+iXRC~n Temporarily sets the Extended Result Code for one session. The permanent value will be restored after completing the next session, both if the session was successful or not. AT+iXRC? Report the current Extended Result Code used when dialing the ISP. The reply is followed by I/OK. AT+iXRC=? Returns the message ―0-4‖ followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-8 Nonvolatile Parameter Database 34.3.2 +iDMD — Modem Dial Mode Syntax: AT+iDMD=n Permanently sets the modem dial mode to Tone, Pulse or none. This parameter defines the dial character m used when issuing the ATDm dial command to the modem. Parameters: n=0..2 Command Options: n=0 Use Tone dialing (m=T) n=1 Use Pulse dialing (m=P) n=2 Use modem‘s default dialing (m=‘‘) Default: 0 (Tone Dialing) Result Code: I/OK If n is within limits I/ERROR Otherwise AT+iDMD~n Temporarily sets the modem dial mode for one session. The permanent value will be restored after completing the next session, both if the session was successful or not. AT+iDMD? Reports the current modem dial mode used when dialing the ISP. The reply is followed by I/OK. AT+iDMD=? Returns the message ―0-2‖. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-9 Nonvolatile Parameter Database 34.3.3 +iMIS — Modem Initialization String Syntax: AT+iMIS=str[;str…] Sets the Modem Initialization String. Parameters: str=Modem initialization string Command Options: str=” Empty: No modem initialization string defined. str= string will be used as the modem initialization string. If string contains special characters, such as quotation marks (‗ or ―), these may be included in string by prefixing each special character with a backslash (‗\‘). For example: ―AT+CGDCONT,\‖IP\‖,\‖INTERNET\‖‖. string must include the AT prefix and the modem reply is expected to include ‗OK‘. MIS may include several consecutive modem commands separated by a semicolon. Each command must begin with ‗AT‘ and its modem reply must include ‗OK‘. iChip will send each ‗AT‘ command separately, followed by and wait for the ‗OK‘ before proceeding. Default: ‗AT&FE0V1X4Q0&D2M1L3‘ Note: This default value is shipped from the factory. The AT+iFD command does not restore MIS to this value. Result Code: I/OK If str is an empty or a legal string I/ERROR Otherwise AT+iMIS~ Temporarily sets the modem initialization string to str[;str…] str[;str…]. The permanent value will be restored after completing the next session, both if the session was successful or not. AT+iMIS? Reports the current modem initialization string. If the modem initialization string is empty, only will be returned. The reply is followed by I/OK. AT+iMIS=? Returns the message ‗String‘ followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-10 Nonvolatile Parameter Database 34.3.4 +iMTYP — Set Type of Modem Connected to iChip Syntax: AT+iMTYP=n Sets the modem type. Parameters: n=0..9 Command Options: n=0 Standard, Hayes compatible, dialup modem n=1 Silicon Laboratories Si2400 modem. See note below. n=2 Standard GSM modem n=3 AMPS CM900 modem n=4 Falcom GSM modem n=5 Silicon Laboratories high-speed modems Si2414/33/56 n=6 Standard 2400 baud modem (increased timeout) n=7 GSM 536 modem (packets limited to 536 bytes) n=8 CDPD cellular modem n=9 Wavecom Fastrack cellular modem n=10 SiLABs World modem n=11 Telit GE862-PY cellular modem +100 Add 100 to any modem type to prohibit iChip from issuing an ATZ to the modem before dialing the ISP when an Internet session is activated. This is useful if the modem needs to be initialized manually before an Internet session. Note that an ATZ will be issued when the session is terminated. Default: n=0 Standard, Hayes compatible, dialup modem Result Code: I/OK If n is within limits I/ERROR Otherwise AT+iMTYP? Returns current modem type designator followed by I/OK. AT+iMTYP=? Returns the message ―0-11‖ followed by I/OK. Note 1 Configuring the iChip to work with Silicon Laboratories Si2400: 1. AT+iMTYP=1 AT+i Programmer‘s Manual Version 8.32 34-11 Nonvolatile Parameter Database 2. AT+iMIS=‖ 3. AT+iBDRF=3 4. AT+iBDRM=3 Note 2 Configuring the iChip to work with GPRS modems: 1. AT+iMTYP=2 – GSM/GPRS modem type 2. AT+iXRC=0 – blind dialing 3. AT+iISP1= (usually *99**1#) 4. AT+iMIS=‖AT+CGDCONT=1,IP,‖ Note 3 Changing from modem type 4 (Falcom GSM): When iChip is configured with MTYP=4, the MTYP parameter must first be changed to the special value 99 before it can be changed to some other value. Note 4 Working with SiLABS World modems: With modem type 10 selected, iChip waits 300msec after issuing ATZ at the end of a session before issuing additional commands to the modem. AT+i Programmer‘s Manual Version 8.32 34-12 Nonvolatile Parameter Database 34.3.5 +iWTC — Wait Time Constant Syntax: AT+iWTC=n This parameter is used to set the modem register S7 to the required value (using the ―ATS7=n‖ command). Parameters: n=0..255 Command The WTC parameter defines a timeout constant for a Options: variety of modem activities. For a detailed description of this parameter, see the ATS7=n command in the AT command set manual for the modem in use. Default: 45 seconds Result Code: I/OK If n is within limits I/ERROR Otherwise AT+iWTC~n Temporarily sets the Wait Time Constant value for one session. The permanent value will be restored after completing the next session, both if the session was successful or not. AT+iWTC? Reports the current Wait Time Constant used. The reply is followed by I/OK. AT+iWTC=? Returns the message ―0-255‖. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-13 Nonvolatile Parameter Database 34.3.6 +iTTO — TCP Timeout Syntax: AT+iTTO=n Sets the number of seconds iChip allots an Internet transaction to complete before returning the timeout error. Parameters: n=0..3600 seconds Command The TTO parameter defines the timeout constant for Options: Internet transactions. iChip will return with a timeout error for any TCP/UDP/IP transaction that didn‘t complete properly within n±10%. Timeout measurement is defined between receipt of an AT+i command and an iChip response to the host. In dial-up environments, timeout measurement begins only after establishing a PPP connection. Furthermore, an additional 10-15 seconds may be required to allow the iChip to disconnect the modem. n=0 is a special case where internal timeout constants will be used. Default: 0 (use iChip‘s factory default timeout values) Result Code: I/OK If n is within limits I/ERROR Otherwise AT+iTTO~n Temporarily sets the Internet transaction timeout value for one session. The permanent value will be restored after completing the next session, both if the session was successful or not. AT+iTTO? Reports the current Internet transaction timeout used. The reply is followed by I/OK. AT+iTTO=? Returns the message ―0-3600‖ followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-14 Nonvolatile Parameter Database 34.3.7 +iPGT — PING Timeout Syntax: AT+iPGT=n Sets the timeout in milliseconds, after which iChip will reissue a PING request that has not been replied to. Parameters: n=0..65535 milliseconds Command After issuing a PING request, in response to the AT+iPING Options: command, iChip will wait up to n milliseconds for a reply. If a reply is not received, iChip will reissue the PING request. n=0 is a special case where a timeout of 2 seconds is used. Default: 0 (use iChip‘s factory default 2 seconds timeout) Result Code: I/OK If n is within limits I/ERROR Otherwise AT+iPGT~n Temporarily sets the PING transaction timeout value for one session. The permanent value will be restored after completing the next session, both if the session was successful or not. AT+iPGT? Reports the current PING transaction timeout used. The reply is followed by I/OK. AT+iPGT=? Returns the message ―0-65535‖ is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-15 Nonvolatile Parameter Database 34.3.8 +iMPS — Max PPP Packet Size Syntax: AT+iMPS=n Limits the size of an outgoing PPP packet in dial-up environments. In effect, the MPS parameter limits the iChip‘s MTU (Maximum Transfer Unit). Parameters: n=0..3 Command Options: n=0 1500 bytes n=1 256 bytes n=2 536 bytes n=3 1024 bytes Default: n=0 Result Code: I/OK If n is within limits I/ERROR Otherwise AT+iMPS? Returns current value followed by I/OK. AT+iMPS=? Returns the message ―0-3‖ followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-16 Nonvolatile Parameter Database 34.3.9 +iTTR — TCP Retransmit Timeout Syntax: AT+iTTR=n Sets the timeout, in milliseconds, after which an unacknowledged TCP packet will be retransmitted over a PPP connection by iChip. Parameters: n=1000..65535 Default: 3000 milliseconds Result Code: I/OK if n is within limits I/ERROR Otherwise AT+iTTR? Reports the current value followed by I/OK. AT+iTTR=? Returns the message ―1000-65535‖ followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-17 Nonvolatile Parameter Database 34.3.10 +iBDRF — Define A Fixed Baud Rate on Host Connection Syntax: AT+iBDRF= Sets the baud rate on host serial connection. This parameter is saved to nonvolatile memory and activated only after power-up. Parameters: n=3..9|‗a‘|‗h‘ Command Options: n=a set baud rate to Auto Baud n=3 set baud rate to 2400 n=4 set baud rate to 4800 n=5 set baud rate to 9600 n=6 set baud rate to 19200 n=7 set baud rate to 38400 n=8 set baud rate to 57600 n=9 set baud rate to 115200 n=h set baud rate to 230400 When BDRF is set to a, iChip boots in auto baud rate mode. In this mode, iChip synchronizes on the first a or A character sent (normally as part of an AT or AT+i command) and detect its baud rate. The detected baud rate remains in effect until the iChip is power-cycled or issued the AT+iBDRA command. If BDRF is set to a fixed value and the MSEL signal is pulled low for more than 5 seconds during runtime, iChip enters Rescue mode and forces auto baud rate detection. BDRF value will be used again upon the next power-up. Default: ‗a‘ (Auto Baud) Result Code: I/OK If n is within limits. iChip will continue operating in the current baud rate setting. Further power-ups will initialize the baud rate to the new selected value, until a different AT+iBDRF command is issued. I/ERROR Otherwise AT+iBDRF? Returns the code for the specified fixed baud rate followed by I/OK. AT+iBDRF=? Returns the message ―3-9, ‗a‘ or ‗h‘‖ followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-18 Nonvolatile Parameter Database +iBDRM — Define A Fixed Baud Rate on iChip Modem Connection Syntax: AT+iBDRM= Sets the baud rate on modem connection. This parameter is saved to nonvolatile memory and activated after every powerup. Parameters: 3..9|‗a‘|‗h‘ Command Options: n=a set baud rate to Auto Baud n=3 set baud rate to 2400 n=4 set baud rate to 4800 n=5 set baud rate to 9600 n=6 set baud rate to 19200 n=7 set baud rate to 38400 n=8 set baud rate to 57600 n=h set baud rate to 230400 Default: ‗a‘ (auto baud) The iChip modem connection will be set to the same baud rate as that detected on the host iChip connection. Result Code: I/OK If n is within limits. The iChip will continue operating in the current baud rate setting. Further power-up will initialize the baud rate to the new selected value, until a different AT+iBDRM command is issued. I/ERROR Otherwise AT+iBDRM? Returns the code for the specified fixed modem baud rate followed by I/OK. AT+iBDRM=? Returns the message ―3-9, ‗a‘ or ‗h‘‖ followed by I/OK. 34.3.11 AT+i Programmer‘s Manual Version 8.32 34-19 Nonvolatile Parameter Database 34.3.12 +iBDRD — Baud Rate Divider Syntax: AT+iBDRD= When set to ‗0‘, iChip sets its host USART baud rate according to the value of the BDRF parameter. When set to any value in the range 1-255, it divides the maximum supported baud rate – 3Mbps – by that value. The quotient of this division is set as the host baud rate, and the value of BDRF is ignored. Parameters: n=0 Host baud rate is determined by the BDRF parameter. n=1-255 Host baud rate is set by dividing 3Mbps by n. For example, if n=2, the host baud rate will be set to 3Mbps÷2=1.5Mbps. Default: 0 (host baud rate taken from BDRF parameter) Result Code: I/OK If n is within limits I/ERROR Otherwise AT+iBDRD? Reports the current value followed by I/OK. AT+iBDRD=? Returns the message “0-255” followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-20 Nonvolatile Parameter Database 34.3.13 +iAWS — Activate WEB Server Automatically Syntax: AT+iAWS=v Sets Activate Web Server flag to v. Parameters: v=0 | 1 | 2 | 3 Command Options: v=0 Automatic web server activation disabled v>0 Web server will be activated automatically when iChip goes online in SerialNET mode or as a result of a triggered Internet session initiation. Maximum number of concurrent browser connections is v. Default: 0 (Automatic web server activation disabled) Result Code: I/OK if v=0-3 I/ERROR Otherwise AT+iAWS? Reports the current value of the Activate WEB Server flag followed by I/OK. AT+iAWS=? Returns the message ―0-3‖ followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-21 Nonvolatile Parameter Database 34.3.14 +iLATI — TCP/IP Listening Socket to Service Remote AT+i Commands Syntax: AT+iLATI= Sets the Remote AT+i service listening port number. When connected to the Internet, opens a TCP/IP listen socket on the local IP address and the specified port. Parameters: port=0..65535 Command Options: port=0 Remote AT+i service disabled port= Listening port to be used by a remote system when connecting to the iChip Family in order to send AT+i commands over the Internet. The listening socket will accept one remote connect request. When a remote system connects through the listen socket, iChip will disable its local host serial port and spawn a new TCP/IP socket, ready to receive AT+i commands. AT+i response strings will be transmitted back to the same socket. When the connected socket is closed, the local host serial port will be re-enabled and the listen socket will be ready to accept a new connection. The remote end may also issue the AT+iDOWN command to force iChip to disconnect and reboot. Default: 0 (Disabled) Result Code: I/OK Upon successfully opening the remote AT+i service TCP/IP listening socket. I/ERROR Otherwise AT+iLATI~n Temporarily set the remote AT+i service Listen port. The permanent value will be restored after completing the next session, both if the session was successful or not. AT+iLATI? Returns current AT+i service listening port number followed by I/OK. AT+iLATI=? Returns the message ―0-65535‖ followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-22 Nonvolatile Parameter Database 34.3.15 +iFLW — Set Flow Control Mode Syntax: AT+iFLW=n Sets the flow control mode. Parameters: n=0 .. 7 Command Options: n= Bitmapped flags: Bit 0 0 = Host S/W flow control, using Wait/Continue control characters. 1 = Host hardware flow control based on ~CTS/~RTS hardware signals. Bit 1 0 = No Modem flow control. 1 = Modem hardware flow control based on ~CTS/~RTS hardware signals. Bit 2 0 = All hardware control signals: ~CTS, ~RTS, DTR and DSR are mirrored across iChip when transferring data transparently to the DCE. 1 = Hardware signal mirroring is disabled. Default: ‗0‘ (Host software flow control, no modem hardware flow control) Result Code: I/OK If n is within limits. See Note. I/ERROR Otherwise AT+iFLW~n Temporarily set the flow control mode for one session. The permanent value will be restored after completing the next session, both if the session was successful or not. AT+iFLW? Returns current flow control mode followed by I/OK. AT+iFLW=? Returns the message ―0-7‖ followed by I/OK. Note: When setting Bit 0 (Host hardware flow control), the ~CTSH signal must be LOW (enabled), otherwise iChip will return I/ERROR (063). AT+i Programmer‘s Manual Version 8.32 34-23 Nonvolatile Parameter Database 34.3.16 +iCPF — Active Communications Platform Syntax: AT+iCPF=n Sets the active communications platform to either modem or LAN. Parameters: n=0..1 Command Options: n=0 Sets active communications platform to dial-up or cellular modem. When the modem is online, any character, including , sent from the host that is not part of an AT+i command is transferred directly to the modem. n=1 Sets active communications platform to LAN. Default: n=1 (LAN) Note: This default value is shipped from the factory. The AT+iFD command does not restore CPF to this value. Result Code: I/OK If n is within limits and the communications platform was actually changed. I/ERROR Otherwise Followed by: I/DONE After changing the current platform to modem. Allow a 2.5 sec. delay for iChip re-initialization. -orI/ONLINE After changing the current platform to LAN. AT+iCPF~n Temporarily sets the active communications platform to n for one session. The permanent value will be restored after completing the next session, both if the session was successful or not. Note that I/ONLINE or I/DONE will be returned according to the new permanent communications platform. AT+iCPF? Reports the currently active communications platform followed by I/OK. AT+iCPF=? Returns the message ―0-1‖ followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-24 Nonvolatile Parameter Database 34.3.17 +iPSE — Set Power Save Mode Syntax: AT+iPSE=n Enables or disables iChip‘s Power Save Mode. Parameters: n=0..255 Command Options: n=0 Disable Power Save mode. n=1..255 Enable Power Save mode. When Power Save mode is enabled, iChip automatically shuts down most of its circuits after a period of n seconds without any activity on the host or modem serial ports. Renewed activity on the serial ports restores iChip to full operational mode. Default: 0 (Disabled) Result Code: I/OK If n is within limits I/ERROR Otherwise AT+iPSE? Reports the current Power Save mode setting followed by I/OK. AT+iPSE=? Returns the message ―0-255‖ followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-25 Nonvolatile Parameter Database 34.3.18 +iSDM — Service Disabling Mode Syntax: AT+iSDM=n Sets the service disabling mode bits. Parameters: n=0 .. 7 Command Options: n= Bitmapped flags: Bit 0: Disable iChip‘s response to ICMP ECHO (PING) requests. When this bit is set, iChip will not respond to any PING requests, thereby eliminating the possibility of a PING attack on iChip. Bit 1: Disable iChip‘s remote debug daemon. When this bit is set, iChip will not enable its internal (UDP) debug port, which is normally activated for administering remote support. Bit 2: Disable unauthenticated viewing of the iChip‘s internal website. When this bit is set, the internal Web site may be browsed only if the remote browser provides the RPG parameter (password). In this case, when the RPG parameter contains a password value, iChip‘s Configuration Web site will first display a password entry form. The remote end must submit the correct RPG value in order to continue to the Configuration site‘s home page. iChip uses the SHA1 hash algorithm throughout the authentication process, so actual password values are never transmitted. When this bit is set, but the RPG parameter is empty, the Configuration Web site is effectively disabled, as all password values will be rejected. However, if the RPG parameter contains the special ‗*‘ wildcard value, authentication is bypassed and the authentication form will be skipped altogether. In this case, the Configuration website‘s home page will be displayed immediately. Default: 0 (All services enabled) Result Code: I/OK If n is within limits I/ERROR Otherwise AT+iSDM? Returns current Service Disabling mode followed by I/OK. AT+iSDM=? Returns the message ―0-7‖ followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-26 Nonvolatile Parameter Database 34.3.19 +iDF — IP Protocol ‘Don’t Fragment’ Bit Value Syntax: AT+iDF=n Sets the value of the Don‘t Fragment bit used in all subsequent IP packets. Parameters: n=0..1 Command Options: n=0 IP packets transmitted may be fragmented by routers. n=1 IP packets transmitted may not be fragmented by routers. Default: 0 Result Code: I/OK If n is within limits I/ERROR Otherwise AT+iDF~n Temporarily sets the IP protocol Don‘t Fragment bit to n for one session. The permanent value will be restored after completing the next session, both if the session was successful or not. AT+iDF? Reports the current IP protocol Don‘t Fragment bit setting followed by I/OK. AT+iDF=? Returns the message ―0-1‖ followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-27 Nonvolatile Parameter Database +iCKSM — Checksum Mode Syntax: AT+iCKSM= Sets iChip‘s checksum mode. With this mode enabled, iChip calculates the checksum of data it returns to host upon receiving the AT+iSRCV command. At the same time, iChip expects the host to append checksum to the data it sends with the AT+iSSND command. iChip compares the checksum it calculates with the one calculated by the host to verify that data was not corrupted during transmission between host and iChip. Parameters: n=0 | 1 Command Options: n=0 Checksum mode disabled n=1 Checksum mode enabled Default: n=0 (checksum mode disabled) Result code: I/OK If n is either ‗0‘ or ‗1‘. I/ERROR Otherwise 34.3.20 AT+i Programmer‘s Manual Version 8.32 34-28 Nonvolatile Parameter Database 34.3.21 +iHIF — Host Interface Syntax: AT+iHIF=n Specifies the interface to be used for communication between the host processor and iChip in subsequent sessions. This parameter takes effect only after power-up. Parameters: n=0 Automatic host interface detection. In this mode, the first character sent from the host over one of the supported interfaces sets the host interface to be used throughout that session until the next iChip power cycle. If HIF is set to a fixed interface (n=1-5) and the MSEL signal is pulled low for more than 5 seconds during runtime, iChip switches to auto host interface detection mode (HIF=0). n=1 USART0 n=2 USART1 n=3 USART2 n=4 USB Device n=5 USB Host Default: 0 (Automatic host interface detection) Result Code: I/OK If n is within limits I/ERROR Otherwise AT+iHIF? Reports the current value followed by I/OK. AT+iHIF=? Returns the message “0-5” followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-29 Nonvolatile Parameter Database 34.3.22 +iMIF — Modem Interface Syntax: AT+iMIF=n Specifies the interface to be used for communication between iChip and a dialup or cellular modem in subsequent sessions. This parameter takes effect only after power-up. Parameters: n=1 USART0 n=2 USART1 n=3 USART2 n=4 USB Device n=5 USB Host (only Motorola G24 USB GSM modem is supported) Default: 2 (USART1) Result Code: I/OK If n is within limits I/ERROR Otherwise AT+iMIF? Reports the current value followed by I/OK. AT+iMIF=? Returns the message ―1-5‖ followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-30 Nonvolatile Parameter Database 34.3.23 +iADCL — ADC Level Syntax: AT+iADCL= Specifies an ADC base level, or threshold, in the range 0-255 that corresponds to an analog voltage measured on the input pin of iChip‘s A/D converter. Together with ADCD, these two parameters determine when the A/D converter asserts the GPIO pin specified by the ADCP parameter. ADCL must be greater than ADCD. Parameters: level=0 A/D converter polling is disabled level=1-255 ADC threshold level Default: 0 (polling disabled) Result Code: I/OK If level is within limits I/ERROR Otherwise AT+iADCL? Reports the current value followed by I/OK. AT+iADCL=? Returns the message “0-255” followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-31 Nonvolatile Parameter Database 34.3.24 +iADCD — ADC Delta Syntax: AT+iADCD= Specifies an ADC delta. Together with ADCL, these two parameters determine when the A/D converter asserts the GPIO pin specified by the ADCP parameter. ADCD must be less than ADCL. Parameters: delta=0-255 ADC delta Default: 0 (zero delta) Result Code: I/OK If delta is within limits I/ERROR Otherwise AT+iADCD? Reports the current value followed by I/OK. AT+iADCD=? Returns the message “0-255” followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-32 Nonvolatile Parameter Database 34.3.25 +iADCT — ADC Polling Time Syntax: AT+iADCT= Specifies the time interval between consecutive queries of the value of the A/D converter‘s register. iChip‘s response time to value changes is up to 40ms. Parameters: interval=0 A/D converter polling is disabled. interval=1-65535 Time interval, in milliseconds, between queries. Default: 0 (polling disabled) Result Code: I/OK If interval is within limits I/ERROR Otherwise AT+iADCT? Reports the current value followed by I/OK. AT+iADCT=? Returns the message “0-65535” followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-33 Nonvolatile Parameter Database 34.3.26 +iADCP — ADC GPIO Pin Syntax: AT+iADCP= Defines which of iChip‘s general-purpose I/O pins (GPIO) is asserted by the A/D converter‘s polling mechanism. Parameters: pin=0 A/D converter polling is disabled. pin=1-32 Pins 1-32 of PIOA (general-purpose I/O pins group A) pin=33-64 Pins 1-32 of PIOB (general-purpose I/O pins group B) pin=65-96 Pins 1-32 of PIOC (general-purpose I/O pins group C) Default: 0 (polling disabled) Result Code: I/OK If pin is within limits I/ERROR Otherwise AT+iADCP? Reports the current value followed by I/OK. AT+iADCP=? Returns the message “0-96” followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-34 Nonvolatile Parameter Database 34.3.27 +iRRA — iChip Readiness Report Activation Syntax: AT+iRRA= Sets the type of iChip readiness indication sent to the host following a hardware reset. Command Options: n=0 No indication is sent. n=1 An I/ATI message is sent, indicating iChip is ready to accept AT+i commands. n=2 An I/ message is sent, indicating iChip has an IP address and is ready for IP communication. In a wireless LAN environment, this message indicates the following:  iChip has established a connection with an AP.  iChip has completed WPA negotiations. (In case the WPA protocol is used, which means that the WLSI and WLPP parameters are not empty.)  iChip has been set to a static IP (DIP parameter is set to a value other than 0.0.0.0), or an IP address has been acquired from a DHCP server. In a LAN environment, this message indicates that iChip has been set to a static IP (DIP parameter is set to a value other than 0.0.0.0), or an IP address has been acquired from a DHCP server. In a dialup/cellular environment, this message indicates that a PPP connection has been successfully established with a PPP server. n=3 The I/O pin specified by the RRHW parameter is asserted Low, indicating iChip is ready to accept AT+i commands. n=4 The I/O pin specified by the RRHW parameter is asserted Low, indicating iChip has an IP address and is ready for IP communication. n=5 An I/ATI message is sent, and the I/O pin specified by the RRHW parameter is asserted Low, indicating iChip is ready to accept AT+i commands. n=6 An I/ message is sent, and the I/O pin specified by the RRHW parameter is asserted Low, indicating iChip has an IP address and is ready for IP communication. Default: 0 (No Indication) AT+i Programmer‘s Manual Version 8.32 34-35 Nonvolatile Parameter Database Result code: I/OK If n is a legal value. I/ERROR Otherwise AT+iRRA? Returns the current RRA value followed by I/OK. AT+iRRA=? Returns the message “0-6” followed by I/OK. Notes: 4. The I/ATI and I/ messages are sent only if:  iChip is set to communicate with the host over a fixed interface (HIF≠0).  Either the host interface is not a USART, or hostiChip baud rate is set to a fixed value (BDRF≠a).  iChip is not configured to operate in SerialNET mode. 5. In a dialup/cellular environment, the I/ message is sent only if iChip is configured to operate in Always Online mode (TUP=2). AT+i Programmer‘s Manual Version 8.32 34-36 Nonvolatile Parameter Database 34.3.28 +iRRHW — iChip Readiness Hardware Pin Syntax: AT+iRRHW= Defines which of iChip‘s general-purpose I/O pins (GPIO) will be asserted Low to indicate iChip readiness to the host. iChip readiness indication is specified by the RRA parameter. Parameters: pin=0 No hardware indication is given. pin=1-32 Pins 1-32 of PIOA (general-purpose I/O pins group A) pin=33-64 Pins 1-32 of PIOB (general-purpose I/O pins group B) pin=65-96 Pins 1-32 of PIOC (general-purpose I/O pins group C) Default: 0 (no hardware indication is given) Result Code: I/OK If pin is within limits I/ERROR Otherwise AT+iRRHW? Reports the current value followed by I/OK. AT+iRRHW=? Returns the message “0-96” followed by I/OK. Note: Before specifying the I/O pin for this parameter, it is recommended that you consult the pin-out section of the iChip datasheet. Incorrect selection of pin might cause unexpected iChip behavior. AT+i Programmer‘s Manual Version 8.32 34-37 Nonvolatile Parameter Database 34.4 ISP Connection Parameters 34.4.1 +iISPn — Set ISP Phone Number Syntax: AT+iISPn=dial-s Sets the ISP‘s access phone numbers. Use n=1 to set the ISP‘s primary access phone number. Use n=2 to set the ISP‘s alternate number. The alternate number is dialed after exhausting all redial attempts of the primary number. Parameters: n=1..2 dial-s= Telephone number string, composed of digits, ‗,‘, ‗-‘, ‗W‘, ‗w‘, ‗*‘, ‗#‘, ‗!‘ or ‗ ‘. See description of the standard ATD command. Note: If a character that is defined as a delimiter is used within the dial string, the string must be entered between apostrophes. Command Options: dial-s=‗ ‘ Empty access number dial-s= number will be set as ISP access number Default: Empty. No permanent ISP access number defined. Result Code: I/OK If dial-s is a legal phone number string. I/ERROR Otherwise AT+iISPn~dial-s Temporarily sets the ISP‘s primary/alternate access number. The permanent value will be restored after completing the session, whether the session was successful or not. AT+iISPn? Reports the current value of the ISP's primary/alternate access numbers. If the number does not exist, only is returned. The reply is followed by I/OK. AT+iISPn=? Returns the message ―Phone #‖ followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-38 Nonvolatile Parameter Database 34.4.2 +iATH — Set PPP Authentication Method Syntax: AT+iATH=v Sets authentication method to v. Parameters: v=0 .. 2 Command Options: v=1 Use PAP authentication v=2 Use CHAP authentication Default: 1 (PAP) Result Code: I/OK If v is within limits I/ERROR Otherwise AT+iATH~v Temporarily sets the authentication method to v for the duration of the next session. The permanent value will be restored after completing the session, whether the session was successful or not. AT+iATH? Reports the current setting of the authentication method followed by I/OK. AT+iATH=? Returns the message ―0-2‖ followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-39 Nonvolatile Parameter Database 34.4.3 +iUSRN — Define Connection User Name Syntax: AT+iUSRN=user Sets connection user name. Parameters: user=nser name to be used when logging onto the ISP. Command Options: user=― ‖ Empty: No user name defined. user= user-name is used to login to the ISP. Default: user=― ‖ Empty. No user name defined. The login user name can be defined Ad-Hoc. Result Code: I/OK If user is an empty or legal ISP login name. I/ERROR Otherwise AT+iUSRN~user Temporarily sets the login user name to user. The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iUSRN? Reports the current login user name. If the user name does not exist, only is returned. The reply is followed by I/OK. AT+iUSRN=? Returns the message ‗String‘ followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-40 Nonvolatile Parameter Database 34.4.4 +iPWD — Define Connection Password Syntax: AT+iPWD=pass Sets connection password. Parameters: pass=Password to be used when logging onto the ISP. Command Options: pass='' Empty — no password defined. pass= password is used to login to the ISP. Default: Empty — no password defined. The login password can be defined Ad-Hoc. Result Code: I/OK If password is an empty or a legal ISP login password. I/ERROR Otherwise AT+iPWD~pass Temporarily sets the login password to pass. The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iPWD? Reports the current login password. The reported value will consist of '*' characters. The number of '*' characters shall reflect the number of characters in the actual password. If a password does not exist only will be returned. The reply is followed by I/OK. AT+iPWD=? Returns the message ‗String‘ followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-41 Nonvolatile Parameter Database 34.4.5 +iRDL — Number of Times to Redial ISP Syntax: AT+iRDL=n Sets the number of times to redial ISP. Parameters: n= Number of redial attempts to the ISP. If the ISP number is busy or the ISP does not pick up the line, the system will attempt to redial the ISP after a delay period as defined in the RTO parameter. If all redial attempts are exhausted, an attempt to dial the alternate ISP number will be made, if an alternate number exists. In the event that the number is busy or the ISP does not respond, the system will attempt to redial up to n times, as with the primary ISP number. If all redial attempts are exhausted, the system will quit with the error message: ―All Redial Attempts Failed.‖ If the ISP does not pick-up the line, the iChip will timeout and determine a redial situation after the number of seconds stored in the WTC iChip parameter. Command Options: n=0 .. 20 Default: n=5 Result Code: I/OK If n is within limits I/ERROR Otherwise AT+iRDL~n Temporarily sets the number of times to redial the ISP. The permanent number of redial attempts will be restored after completing the next session, whether the session was successful or not. AT+iRDL? Reports the current value of the number of times to redial ISP followed by I/OK. AT+iRDL=? Returns the message ―0-20‖ followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-42 Nonvolatile Parameter Database 34.4.6 +iRTO — Delay Period between Redials to ISP Syntax: AT+iRTO=n Sets delay period, in seconds, between redials to ISP. Parameters: n= Number of seconds to delay before redialing the ISP, after a busy signal or in the event that the ISP did not answer the call. iChip will enforce a minimal 5 second delay for values of n less than 5 seconds. Command Options: n=0 .. 3600 [seconds] Default: n=180 [seconds] Result Code: I/OK If n is within limits I/ERROR Otherwise AT+iRTO~n Temporarily sets the number of seconds to delay before redialing the ISP. The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iRTO? Reports the current number of seconds to delay before redialing the ISP. The reply is followed by I/OK. AT+iRTO=? Returns the message ―0-3600‖ followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-43 Nonvolatile Parameter Database 34.5 Server Profile Parameters 34.5.1 +iLVS — ‘Leave on Server’ Flag Syntax: AT+iLVS=v Sets the ‗Leave on Server‘ flag to v. Parameters: v = 0 | 1 Command Options: v=0 After successful retrieval, messages will be deleted from server. v=1 All messages will remain on server. Default: 1 Result Code: I/OK If v = 0 or 1 I/ERROR Otherwise AT+iLVS~v Temporarily sets the Leave on Server flag to v for the duration of the next session. The permanent value will be restored after completing the session, whether the session was successful or not. AT+iLVS? Reports the current value of the Leave on Server flag followed by I/OK. AT+iLVS=? Returns the message ―0-1‖ followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-44 Nonvolatile Parameter Database 34.5.2 +iDNSn — Define Domain Name Server IP Address Syntax: AT+iDNSn[p]=IP Sets the Domain Name Server IP Address. Use n=1 to define the Primary IP address of the Domain Name Server associated with the ISP. Use n=2 to define the alternate IP address. IP::=... where, : [000..255] Parameters: n=1..2 p= Optional communication platform modifier for iChip Plus. Where, p=‘S‘ to force the (serial) dial-up platform and p=‘L‘ to force the LAN platform. p may be used to select any platform. If p is omitted, the active platform will be used. Command Options: IP=0.0.0.0 Empty: No DNS defined. IP= IP add. will be used to communicate to the Domain Name Server on the Internet. Default: Empty. No DNS defined. The DNS must be defined Ad-Hoc. In a LAN environment, an empty DNS (0.0.0.0) will acquire a value from the DHCP server (if DIP is 0.0.0.0). In a dial-up environment, the ISP will assign a DNS IP to an empty DNS, if the ISP supports RFC 1877 (PPP Extensions for Name Server Addresses). Result Code: I/OK If IP is an empty or legal IP address. I/ERROR Otherwise AT+iDNSn[p]~IP Temporarily sets the DNS IP addresses. The permanent values will be restored after completing the next session, whether the session was successful or not. AT+iDNSn[p]? Reports the current main/alternate DNS address. If no DNS address exists, 0.0.0.0 will be returned. The reply is followed by I/OK. AT+iDNSn[p]=? Returns the message ‗IP Addr.‘ followed by I/OK. Note: This parameter may be omitted when the target server is defined with an IP addresses rather than a symbolic name. AT+i Programmer‘s Manual Version 8.32 34-45 Nonvolatile Parameter Database 34.5.3 Syntax: IP. +iSMTP — Define SMTP Server Name AT+iSMTP[p]=server Parameters: Permanently sets the SMTP Server Name or server = An SMTP server name or IP address. Server names must be resolvable by the primary or alternate DNS. p = optional communication platform modifier for iChip Plus. Where, p=‘S‘ to force the (serial) dial-up platform and p=‘L‘ to force the LAN platform. p may be used to select any platform. If p is omitted, the active platform will be used. Command Options: server = '' Empty: No server name defined. server = SMTP_SRVR will be used to locate and establish an SMTP connection when sending Email messages. If SMTP_SRVR is a symbolic name, a DNS server will be used to resolve the IP address. Define +iSMA, +iSMU and +iSMP if the SMTP server requires authentication. Default: Result code: I/OK I/ERROR Empty. No SMTP server defined. To send Email messages, the SMTP server name must be defined AdHoc. In a LAN environment, an empty SMTP server will acquire a value from the DHCP server (if DIP is 0.0.0.0). If server is an empty or legal IP address or SMTP server name. Otherwise. AT+iSMTP[p]~ server Temporarily set the SMTP server name to server. The permanent server name will be restored after completing the next session, whether the session was successful or not. AT+iSMTP[p]? Report the current SMTP server name. If a server name does not exist, only will be returned. The reply is followed by I/OK. AT+iSMTP[p]=? Returns the message ‗String/IP‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-46 Nonvolatile Parameter Database 34.5.4 Syntax: +iSMA — SMTP Authentication Method AT+iSMA=v Permanently sets SMTP authentication method. Parameters: v = 0 or 1 Command Options: v=0 v=1 SMTP authentication will be disabled. iChip will support the ―AUTH LOGIN‖ SMTP authentication method, if forced by SMTP server. Default: 0 (SMTP authentication disabled) Result code: I/OK I/ERROR if v = 0 or 1. Otherwise. AT+iSMA? Report the current value authentication method. The reply is followed by I/OK. AT+iSMA=? of the SMTP Returns the message "0-1". AT+i Programmer‘s Manual Version 8.32 34-47 Nonvolatile Parameter Database 34.5.5 Syntax: +iSMU — Define SMTP Login User Name AT+iSMU=user Permanently sets Authenticated SMTP login User Name. Parameters: user = User Name to be used when logging on to an SMTP server that requires authentication (if SMA is set to a non zero value). Command Options: user='' Empty: No SMTP authentication User Name defined. user= user-name will be used to login to an authenticated SMTP server. Default: Empty. No User Name defined. Result code: I/OK I/ERROR If user is an empty or a legal SMTP login name. Otherwise AT+iSMU~user Temporarily set the SMTP login User Name to user. The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iSMU? Report the current SMTP login User Name. If the User Name does not exist, only will be returned. The reply is followed by I/OK. AT+iSMU=? Returns the message ‗String‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-48 Nonvolatile Parameter Database 34.5.6 Syntax: password. +iSMP — Define SMTP Login Password AT+iSMP=pass Parameters: Permanently sets authenticated SMTP login pass = Password to be used when logging on to an SMTP server that requires authentication. Command Options: pass='' Empty: No SMTP authentication password defined. pass= password will be used to login to an authenticated SMTP server. Default: Result code: I/OK I/ERROR Empty. No password defined. If password is an empty or a legal SMTP login password. Otherwise. AT+iSMP~pass Temporarily set the SMTP login password to pass. The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iSMP? Report the current SMTP login password. The reported value will consist of '*' characters. The number of '*' characters shall reflect the number of characters in the actual password. If a password does not exist, only will be returned. The reply is followed by I/OK. AT+iSMP=? Returns the message ‗String‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-49 Nonvolatile Parameter Database 34.5.7 Syntax: +iPOP3 — Define POP3 Server Name AT+iPOP3[p]=server Permanently sets the POP3 Server Name or IP. Parameters: server = a POP3 Server Name or IP address. The Server Name must be resolvable by the primary or alternate DNS. p = optional communication platform modifier for iChip Plus. Where, p=‘S‘ to force the (serial) dial-up platform and p=‘L‘ to force the LAN platform. p may be used to select any platform. If p is omitted, the active platform will be used. Command Options: server = '' server = Default: Result code: I/OK I/ERROR Empty: No Server Name defined. POP3_SRVR will be used to locate and establish a POP3 connection when recieving Email messages. If POP3_SRVR is a symbolic name, a DNS server will be used to resolve the IP address. Empty. No POP3 server defined. To retrieve Email messages, a POP3 Server Name must be defined Ad-Hoc. In a LAN environment, an empty POP3 server will acquire a value from the DHCP server (if DIP is 0.0.0.0). If server is empty or a legal IP address or POP3 server name. Otherwise AT+iPOP3[p]~ server Temporarily set the POP3 server name to server. The permanent server name will be restored after completing the next session, whether the session was successful or not. AT+iPOP3[p]? Report the current POP3 server name. If a server name does not exist, only will be returned. The reply is followed by I/OK. AT+iPOP3[p]=? Returns the message ‗String/IP‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-50 Nonvolatile Parameter Database 34.5.8 Syntax: +iMBX — Define POP3 Mailbox Name AT+iMBX=mailbox Permanently sets mailbox name. Parameters: mailbox = Mailbox name to be used for Email retrieve. Command Options: mailbox ='' Empty: No mailbox name defined. mailbox = mbox-name will be used to retrieve Email messages. Default: Result code: I/OK I/ERROR Empty. No mailbox defined. To retrieve Email messages, a mailbox name must be defined AdHoc. If mailbox is an empty or legal mailbox name. Otherwise. AT+iMBX~mailbox Temporarily set the mailbox name to mailbox. The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iMBX? Report the current mailbox name. If a mailbox name does not exist, only will be returned. The reply is followed by I/OK. AT+iMBX=? Returns the message ‗String‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-51 Nonvolatile Parameter Database 34.5.9 Syntax: +iMPWD — Define POP3 Mailbox Password AT+iMPWD=MBxPass Permanently sets POP3 mailbox password. Parameters: MBxPass = Mailbox password to be used for authentication, when retrieving Email messages from the mailbox. Command Options: MBxPass ='' Empty: No mailbox password defined. MBxPass = mbox-pass will be used to authenticate receiver, when retrieving Email messages from the mailbox. Default: Result code: I/OK I/ERROR Empty. No mailbox password defined. To retrieve Email messages, the mailbox password must be defined Ad-Hoc. If mbox-pass is an empty or legal mailbox password. Otherwise. AT+iMPWD~ MbxPass Temporarily set the mailbox password to MBxPass. The permanent password will be restored after completing the next session, whether the session was successful or not. AT+iMPWD? Report the current mailbox password. The reported value will consist of '*' characters. The number of '*' characters shall reflect the number of characters in the actual password. If a mailbox password does not exist, only will be returned. The reply is followed by I/OK. AT+iMPWD=? Returns the message ‗String‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-52 Nonvolatile Parameter Database 34.5.10 Syntax: +iNTSn — Define Network Time Server AT+iNTSn= Sets the network time server name or IP. Use n=1 to define the primary time server. Use n=2 to define an alternate time server. Parameters: n = 1..2 server = A network timeserver name or IP address. See Appendix C for a list of NIST Time servers. Command Options: Server=‘‘ Empty. No Network Time Server defined. Server= The server name or IP address, nts, will be used to retrieve the current time-of-day – if the NTOD parameter is set to enable time-of-day retrieval. Current Time-of-Day will be returned in response to the RP8 command. Outgoing Email messages will be Time and Date stamped. Default: Empty. No Network Time Servers defined. Result code: I/OK AT+iNTSn~server Temporarily sets the Network Time Server to value server. The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iNTSn? Reports the current value of NTSn. If NTSn is empty, an empty line containing only will be returned. The reply is followed by I/OK. AT+iNTSn=? Returns the message ‗String / IP Addr.‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-53 Nonvolatile Parameter Database 34.5.11 Syntax: +NTOD — Define Network Time-of-Day Activation Flag AT+iNTOD=n Sets the network time-of-day activation flag to n. If this flag is enabled, iChip will retrieve an updated time reading the next time it goes online. Note: In a LAN environment, since iChip is always online, time retrieval will take place following a hardware or software (AT+iDOWN) reset only. Parameters: n=0 or 1 Command Options: n = 0: n = 1: Default: Network time retrieval from timeserver is disabled. Network time retrieval is enabled – iChip will connect to the time server and retrieve an updated time reading each time it connects to the network. From that point on, iChip will maintain time internally. While iChip is online, network time will be refreshed every two hours. Current time-of-day will be returned in response to the RP8 command. Outgoing e-mail messages will be time and date stamped. The expiry data of an incoming server certificate in secure SSL communication will also be checked. If iChip cannot read the time from the time server, an SSL session cannot be established. 0 (time server retrieval disabled) Result code: I/OK AT+iNTOD~n Temporarily sets the network time-of-day activation flag to value n. The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iNTOD? Reports the current value of the network time-ofday activation flag followed by I/OK. AT+iNTOD=? Returns the message ‗0-1‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-54 Nonvolatile Parameter Database 34.5.12 Syntax: +iGMTO — Define Greenwich Mean Time Offset AT+iGMTO=n Permanently sets iChip location‘s Greenwich mean time offset, in hours. Parameters: n = -12..12 Default: Result code: I/OK AT+iGMTO~n Temporarily set the Greenwich Mean Time Offset to value n. The permanent values will be restored after completing the next session, whether the session was successful or not. AT+iGMTO? Report the current value of GMTO. The reply is followed by I/OK. AT+iGMTO=? Returns the message ‗-12-+12‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-55 Nonvolatile Parameter Database 34.5.13 Syntax: +iDSTD — Define Daylight Savings Transition Rule AT+iDSTD=DST_rule Permanently sets the daylight savings time transition rule. Parameters: DST_rule ::= ―;‖ Where, indicates the date when Daylight Saving Time starts and indicates the date when Daylight Saving Time ends. HHn ::= Full Hour (two digits). DDn ::= Either specific day, or . ::= F = First, L = Last Day of the month. For example: FSun indicates the First Sunday of the month. ::= {―Sun‖, ―Mon‖, ―Tue‖, ―Wed‖, ―Thu‖, ―Fri‖, ―Sat‖}. MMn ::= Month. Command Options: DST_rule=’’ Empty – no Daylight Saving Time definition is applied. DST_rule= Daylight Savings rule defined in dst will be applied to the time retrieved from the Time Server when reporting the current time. Default: Empty. No Daylight Saving Time is applied. Result code: I/OK AT+iDSTD~DST_rule Temporarily set the Daylight Saving Time Definition to DST_rule . The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iDSTD? Report the current value of the Daylight Saving Time Definition. The reply is followed by I/OK. AT+iDSTD=? Returns the message ‗String‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-56 Nonvolatile Parameter Database 34.5.14 Syntax: or IP. +iPDSn — Define PING Destination Server AT+iPDSn=Server Permanently sets the PING destination server name Use n=1 to define the primary destination server. Use n=2 to define the secondary destination server. Parameters: n = 1..2 Server = A network server name or IP address. Command Options: Server=‘‘ Empty. No PING destination Server defined. Server= The server name or IP address, nps, will be PING‘ed in order to verify iChip‘s online status, when iChip is in ―Always Online‖ mode. If the primary server does not respond, iChip will try the secondary server (if it exists). When both servers do not respond to PING requests, iChip will retry to establish the connection by going offline and then online again. Default: Empty. No PING destination Servers defined. Result code: I/OK AT+iPDSn~Server Temporarily set the PING destination server to value Server. The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iPDSn? Report the current value of PDSn. If PDSn is empty, an empty line containing only will be returned. The reply is followed by I/OK. AT+iPDSn=? Returns the message ‗String / IP Addr.‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-57 Nonvolatile Parameter Database 34.5.15 +iPFR — PING Destination Server Polling Frequency Syntax: AT+iPFR=n Parameters: Permanently sets the time interval, in seconds, upon which iChip will issue a PING request to one of the PING destination servers. n = 0..65535 [seconds] Command Options: Default: 0 (Disabled PING polling) Result code: I/OK I/ERROR If n is within limits Otherwise AT+iPFR~n Temporarily set the PING polling interval value for one session. The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iPFR? Report the current PING polling interval used. The reply is followed by I/OK. AT+iPFR=? Returns the message "0-65535". The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-58 Nonvolatile Parameter Database 34.6 +iUFn — User Fields and Macro Substitution Syntax: AT+iUFn= Parameters: Permanently sets user field n. n = 01..12 String = Parameter string-value. Command Options: String=‘‘ String= Empty User Field. Str is stored in the specified User Field. Maximum Str length is 128 characters. A User Field may be used for general-purpose storage. In addition, a User Field may be used as a macro replacement wherever an AT+i Command is allowed: The ‗#‘ character is used to prefix the UFn parameter to define indirection. When used, the value of the User Field will be substituted in the command before the command is processed. #UF01 -- #UF12 are allowed. For example: Given: Issuing: Is equivalent to: AT+iUF01=ftp.domain.com AT+iFOPN:#UF01:anonymous,myemail@domain.com AT+iFOPN:ftp.domain.com:anonymous,myemail@domain.com The advantage of this is that the FTP server may be specified dynamically by changing the UF01 parameter without requiring a change in the AT+iFOPN command. Default: Empty. No User Field value defined. Result code: I/OK AT+iUFn~ Temporarily set User Field n to value String. The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iUFn? Report the current value of UFn. If the User Field is empty, an empty line containing only will be returned. The reply is followed by I/OK. AT+iUFn=? Returns the message ‗String‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-59 Nonvolatile Parameter Database 34.7 Email Format Parameters AT+i Programmer‘s Manual Version 8.32 34-60 Nonvolatile Parameter Database 34.7.1 Syntax: +iXFH — Transfer Headers Flag AT+iXFH=v Permanently sets ‗Transfer Headers‘ flag to v. Parameters: v = 0 or 1 Command Options: v=0 v=1 Retrieve only Email body - No headers. BASE64 MIME attachments will be decoded by iChip, on-the-fly. Retrieve Email headers with Email body. Attachments shall not be decoded. Default: Result code: I/OK I/ERROR If v = 0 or 1 Otherwise. AT+iXFH~v Temporarily set the ‗Transfer Headers Flag‘ to v for the duration of the next session. The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iXFH? Report the current value of the ‗Transfer Headers Flag‘. The reply is followed by I/OK. AT+iXFH=? Returns the message "0-1". The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-61 Nonvolatile Parameter Database 34.7.2 Syntax: +iHDL — Limit Number of Header Lines AT+iHDL=n Sets maximum number of header lines to retrieve. Parameters: n = 0 – 255 Default: 0 (no limit) Result code: I/OK I/ERROR If n is within limits Otherwise AT+iHDL~n Temporarily set the maximum limit of header lines for the duration of the next session. The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iHDL? Report the current value of the header line limit. The reply is followed by I/OK. AT+iHDL=? Returns the message "0-255". The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-62 Nonvolatile Parameter Database 34.7.3 +iFLS — Define Filter String Syntax: AT+iFLS=str Parameters: Permanently sets a filter string. str = ASCII string which qualifies an Email message to be listed or retrieved by the iChip. This string must exist in the Email header for the message to qualify. If the string does not exist, the message will be ignored. Command Options: str='' Empty string: Filter disabled. All messages shall be qualified for retrieval. str= Set f/string to be the qualifying filter. Default: Empty. Filter disabled. Result code: I/OK I/ERROR If str is an empty or legal filter string. Otherwise AT+iFLS~f/string Temporarily set the filter string to f/string The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iFLS? Report the current value of the filter string. If no filter is defined, only will be returned. The reply is followed by I/OK. AT+iFLS=? Returns the message ‗String‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-63 Nonvolatile Parameter Database 34.7.4 +iDELF — Email Delete Filter String Syntax: AT+iDELF=[#]str Parameters: Permanently sets the Email delete filter string. str = ASCII string which qualifies an Email message to be deleted from the mailbox. This string must exist in the Email header for the message to qualify. If the string exists in at least one header field, the message will be deleted from the mailbox during the next Email retrieve session (AT+iRMM). Command Options: str='' Empty string: delete filter disabled. No messages shall be deleted. str= Set f/string to be the qualifying Email delete filter. # flag When the optional ‗#‘ (NOT) flag precedes the filter string, iChip will reverse the deletion criterion. In other words, iChip will delete all but Emails that qualify the filter. Default: Empty. Delete filter disabled. Result code: I/OK I/ERROR If str is an empty or legal filter string. Otherwise. AT+iDELF~[#]f/string Temporarily set the Email delete filter string to f/string. The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iDELF? Report the current value of the Email delete filter string. If no filter is defined, only will be returned. The reply is followed by I/OK. AT+iDELF=? Returns the message ‗String‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-64 Nonvolatile Parameter Database 34.7.5 +iSBJ — Email Subject Field Syntax: AT+iSBJ:subject Permanently sets Email header‘s Subject field. Parameters: subject = Contents of subject field. Command Options: subject='' Empty string. ‗Subject:‘ Field in Email header will be left empty. subject= The ‗Subject:‘ field in the Email header will contain subject string Default: Empty. Result code: I/OK I/ERROR If subject is an empty or legal string. Otherwise. AT+iSBJ~subject Temporarily set the contents of the ‗Subject:‘ field of the next Email to be sent. The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iSBJ? Report the current contents of the ‗Subject:‘ parameter. If no subject is defined, only will be returned. The reply is followed by I/OK. AT+iSBJ=? Returns the message ‗String‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-65 Nonvolatile Parameter Database 34.7.6 +iTOA — Define Primary Addressee Syntax: AT+iTOA[n]=Email@ Parameters: Permanently sets Email addressee. Email@ = Email addressee. This is the default Email addressee, which will be used to direct Email messages sent by iChip. n = optional index of addressee. When n is not specified, TOA00 (primary addressee) is used. Command Options: Email@='' Empty address: No addressee defined. Email@= addr will be used as a destination address for future Email SEND commands (+iEMA, +iEMB). n= Default: 01..50 Empty. No addressee defined. Result code: I/OK AT+iTOA[n]~ Temporarily set the Email addressee to add. The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iTOA[n]? Report the current value of the Email addressee. If the addressee does not exist, an empty line containing only will be returned. The reply is followed by I/OK. AT+iTOA[n]=? Returns the message ‗String‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-66 Nonvolatile Parameter Database 34.7.7 +iTO — Email ‘To’ Description/Name Syntax: AT+iTO:to Permanently sets Email header‘s ‗To:‘ description. Parameters: to = Contents of 'To:' description/name field. Command Options: to='' Empty string. to= The 'To:' description field in the Email header will contain to_str. Default: Empty Result code: I/OK I/ERROR If to is an empty or legal string. Otherwise. AT+iTO~to Temporarily set the contents of the 'To:' description field of the next Email to be sent. The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iTO? Report the current contents of the to parameter. If the to parameter is empty, only will be returned. The reply is followed by I/OK. AT+iTO=? Returns the message ‗String‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-67 Nonvolatile Parameter Database 34.7.8 +iREA — Return Email Address Syntax: AT+iREA=Email@ Parameters: Permanently sets the Return Email Address. This is the Email address that will be used when replying to this Email. Email@ = Email addressee. Command Options: Email@='' Empty address: No return address defined. Email@= addr will be used as the return Email address. Default: Empty. No return Email address defined. The return Email address will be defined Ad-Hoc. Result code: I/OK AT+iREA~ Temporarily set the return Email address to addr. The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iREA? Report the current value of the return Email address. If the return Email address does not exist an empty line containing only will be returned. The reply is followed by I/OK. AT+iREA=? Returns the message ‗String‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-68 Nonvolatile Parameter Database 34.7.9 Syntax: +iFRM — Email ‘From’ Description/Name AT+iFRM:from Permanently sets Email header ‗From:‘ description. Parameters: from = Contents of 'From:' description field. Command Options: from='' from= Empty string. The 'From:' description field in the Email header will contain from string. Default: Empty Result code: I/OK I/ERROR If from is an empty or legal string. Otherwise. AT+iFRM~from Temporarily set the contents of the 'From:' description field of the next Email to be sent. The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iFRM? Report the current contents of the from parameter. If the from parameter is empty, only will be returned. The reply is followed by I/OK. AT+iFRM=? Returns the message ‗String‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-69 Nonvolatile Parameter Database 34.7.10 +iCCn — Define Alternate Addressee Syntax: AT+iCCn=Email@ Parameters: Permanently sets alternative addressee. n = 1..4 Email@ = Email addressee. This is the Email address, which will be used to copy Email messages sent by the iChip to the primary addressee list. Command Options: Email@='' Empty address: Alternate addressee n not defined. Email@= addr will be used as alternate Email addressee n. Default: Empty. No alternate addressees defined. Result code: I/OK AT+iCCn~ Temporarily set alternate addressee n to addr. The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iCCn? Report the current value of alternate addressee n. If the alternate addressee does not exist, only will be returned. The reply is followed by I/OK. AT+iCCn=? Returns the message ‗String‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-70 Nonvolatile Parameter Database 34.7.11 +iMT — Media Type Value Syntax: AT+iMT=type Parameters: Permanently sets the media type used for generating Email messages with a MIME encapsulated attachment. type = Media type. Command Options: type=0..4 type will be used as the media type: 0 – text 1 – image 2 – audio 3 – video 4 -- application Default: 4 (application) Result code: I/OK I/ERROR If type is in the range: 0..4 Otherwise AT+iMT~type Temporarily set the media type. The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iMT? Report the current media type value. The reply is followed by I/OK. AT+iMT=? Returns the message ―0-4‖. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-71 Nonvolatile Parameter Database 34.7.12 +iMST — Media Subtype String Syntax: AT+iMST=str Parameters: Permanently sets the media subtype string used for generating Email messages with a MIME encapsulated attachment. str = Media subtype string. Command Options: str='' Empty: No media subtype string defined, the default will be used. str= string will be used as the media subtype string. A list of subtype strings is detailed in appendix A. Default: ‗octet-stream‘ Result code: I/OK I/ERROR If str is an empty or a legal media subtype string. Otherwise. AT+iMST~str Temporarily set the media subtype string to str. The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iMST? Report the current media subtype string. If the string is empty, only will be returned. The reply is followed by I/OK. AT+iMST=? Returns the message ‗String‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-72 Nonvolatile Parameter Database 34.7.13 +iFN — Attachment File Name Syntax: AT+iFN=fname Parameters: Permanently sets the attachment file name string used for generating Email messages with a MIME encapsulated attachment. fname = Attachment file name. Command Options: fname ='' Empty: No file name string defined, the default will be used. fname= str will be used as the file name string when constructing a MIME attachment. The file name should be complete with an explicit extension. Default: Result code: I/OK I/ERROR iChip generated unique filename, without an extension. If fname is an empty or a legal file name string. Otherwise AT+iFN~fname Temporarily set the file name string to fname. The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iFN? Report the current file name string. If the filename is empty, only will be returned. The reply is followed by I/OK. AT+iFN=? Returns the message ‗String‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-73 Nonvolatile Parameter Database 34.8 HTTP Parameters AT+i Programmer‘s Manual Version 8.32 34-74 Nonvolatile Parameter Database 34.8.1 Syntax: +iURL — Default URL Address AT+iURL=URLadd Sets the URL address string used for downloading web pages and files and uploading files to web servers. Parameters: URLadd = URL address string. Command Options: URLadd ='' URLadd = Empty: No URL address string defined. str will be used as the URL address string when downloading a Web page or file. The URL address format is: ://[[:]/[]/] Where, -- HTTP or HTTPS -- Web Server Name: IP address or server name resolved by DNS. -- Port number on server. Default: 80 for HTTP, 443 for HTTPS. -- Absolute path name of Web page or file on server. Default: Result code: I/OK I/ERROR None If URLadd is an empty or a legal URL address string. Otherwise AT+iURL~URLadd Temporarily set the URL address string to URLadd. The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iURL? Report the current URL address string. If the URL address is empty, only will be returned. The reply is followed by I/OK. AT+iURL=? Returns the message ‗String‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-75 Nonvolatile Parameter Database 34.8.2 +iCTT — Define Content Type Field in POST Request Syntax: AT+iCTT= Defines the contents of the ―Content-type:‖ field that is sent in the POST request by the AT+iSLNK command. This field specifies the type of file being sent. Parameters: string=max length 64 bytes Command Options: string=‖ Empty. A default value of ―application/x-www-form-urlencoded‖ will be used, and the server will expect the data to be the data sent in a ―Submit‖ of a form. string= type of file being sent by the AT+iSLNK command. Default: Empty Result Code: I/OK If string is empty or a legal string. I/ERROR Otherwise AT+i Programmer‘s Manual Version 8.32 34-76 Nonvolatile Parameter Database 34.8.3 +iWPWD — Password for Application Website Authentication Syntax: AT+iWPWD=Pass Parameters: Permanently sets the application website‘s remote parameter update Password. Pass = Password to be used for authentication, when accepting application Web site parameter updates from a remote Web browser. Command Options: Pass ='' Pass = Pass =‖*‖ Default: Result code: I/OK I/ERROR Empty: Remote application Web site parameter updates over the Web are effectively disabled. password will be used to restrict application Web site parameter updates via a remote Web browser. A password will not be required to authenticate application Web site parameter updates via the Web, effectively unrestricting remote parameter updates. Empty. No Password defined. Application Web site parameter updates via a remote browser are fully restricted. If pass is an empty or legal Password. Otherwise AT+iWPWD~pass Temporarily set the application Web site parameter Update Password to pass. The permanent Password will be restored after completing the next session, whether the session was successful or not. AT+iWPWD? Report the current Password. If a Password does not exist, only will be returned. The reply is followed by I/OK. AT+iWPWD=? Returns the message ‗String‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-77 Nonvolatile Parameter Database 34.9 34.9.1 Syntax: RAS Server Parameters +iRAR — RAS RINGs AT+iRAR=n Sets the number of RINGs that will activate iChip‘s internal RAS if RAU is not empty. Parameters: n = number of RINGs iChip will detect before answering an incoming call and activating its internal RAS. If n is set to a value greater than 100 and an incoming call is picked up by the host or the modem after less than n-100 RINGs, iChip will activate its internal RAS. The RAS server will negotiate a PPP connection if a ‗~‘ is received as the first character from the modem after the CONNECT line to indicate a PPP packet. Otherwise, iChip will revert to transparent mode communications, allowing the host to conduct direct modem to modem data transfer. Command Options: n= 2 .. 20 +100 Add 100 to any RAR value to force iChip to activate its internal RAS even if the call was picked up by the host or the modem (if a ‗~‘ is received as the first character from the modem after the CONNECT line to indicate a PPP packet). Default: n=4 Result code: I/OK I/ERROR If n is within limits. Otherwise. AT+iRAR? Returns RAR‘s current value. The reply is followed by I/OK. AT+iRAR=? Returns the message "2-20". The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-78 Nonvolatile Parameter Database 34.9.2 +iRAU — Define RAS Login User Name Syntax: AT+iRAU=user Parameters: Permanently sets RAS login user name. user = User Name to be used for authentication when accepting a call from a PPP client connecting to iChip‘s internal RAS. Command Options: user='' Empty: iChip‘s internal RAS is effectively disabled. user = user-name will be used to establish login rights of a remote PPP client connection to iChip‘s internal RAS. user =‖*‖ A user-name will not be required to authenticate a remote PPP client connection to iChip‘s internal RAS, effectively unrestricting remote access. Default: Empty. iChip‘s internal RAS is effectively disabled. Result code: I/OK I/ERROR If user is an empty or a legal login User Name. Otherwise. AT+iRAU~user Temporarily set the RAS login User Name to user. The permanent value will be restored after completing the next session, whether the session was successful or not. AT+iRAU? Report the current RAS login User Name. If the User Name does not exist, only will be returned. The reply is followed by I/OK. AT+iRAU=? Returns the message ‗String‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-79 Nonvolatile Parameter Database 34.9.3 +iRAP — Password for RAS Authentication Syntax: AT+iRAP=Pass Parameters: Sets the RAS Password. Pass = Password to be used for login authentication when accepting a call from a PPP client connecting to iChip‘s internal RAS. Command Options: Pass ='' or Pass=”*” Pass = A password will not be required to authenticate a remote PPP client connection to iChip‘s internal RAS. password will be used to restrict access of a remote PPP client connection to iChip‘s internal RAS. Default: Empty. No Password defined. Result code: I/OK I/ERROR If pass is an empty or legal Password. Otherwise. AT+iRAP~pass Temporarily set the RAS password to pass. The permanent Password will be restored after completing the next session, whether the session was successful or not. AT+iRAP? Report the current RAS Password. If a Password does not exist, only will be returned. The reply is followed by I/OK. AT+iRAP=? Returns the message ‗String‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-80 Nonvolatile Parameter Database 34.10 LAN Parameters 34.10.1 Syntax: +iMACA — MAC Address of iChip AT+iMACA=mac Permanently sets iChip‘s MAC address. Parameters: mac = MAC address. The MAC address may only be assigned once in the lifetime of the device, i.e., while the current MAC address is still FFFFFFFFFFFF. After a MAC address is assigned it cannot be changed or overwritten. Command Options: mac= mac@ must consist of 12 hexadecimal characters. If the current MAC is FFFFFFFFFF then mac@ will become the permanent MAC address. Default: Result code: I/OK I/ERROR MAC address assigned by Connect One at the factory .1 If mac is a legal hexadecimal string, and the MAC address is being set for the first time. Otherwise AT+iMACA? Report the current MAC address. If no MAC address has been defined, the reply will be ―FFFFFFFFFFFF‖. The reply is followed by I/OK. AT+iMACA=? Returns the message ‗String‘. The reply is followed by I/OK. Note: Connect One owns a registered IEEE MAC address range. MAC addresses are normally set by Connect One in the factory in that address range. However, Users may request to purchase iChip devices without MAC address assignments in order to assign addresses in their own address range. AT+i Programmer‘s Manual Version 8.32 34-81 Nonvolatile Parameter Database 34.10.2 +iDIP — iChip Default IP Address Syntax: AT+iDIP=IP address Permanently sets iChip‘s default IP address to IP address. Parameters: IP address = IP address Command Options: IP address = 0.0.0.0 IP address = 255.255.255.255 IP address = Default: Result code: I/OK I/ERROR Empty: At power-up, iChip LAN / iChip Plus will attempt to resolve an IP address via a DHCP server. The assigned address will be stored in the IPA (active IP address) parameter. Reserved IP ADDR. will be assigned to iChip LAN / iChip Plus. The address will be stored in the DIP parameter. The DIP parameter‘s value is copied into the IPA parameter after power-up and after the AT+iDOWN command. Empty (0.0.0.0). No IPA defined. IP address will be resolved through a DHCP server, if one is available. If IP address is empty or a legal IP address. Otherwise AT+iDIP? Report the current Default IP address. The reply is followed by I/OK. AT+iDIP=? Returns the message ‗IP addr.‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-82 Nonvolatile Parameter Database 34.10.3 Syntax: +iIPA — Active IP Address AT+iIPA= IP address Changes the active IP to IP address. Parameters: IP address = IP address. Command Options: IP address = IP ADDR. will be assigned as the active iChip LAN / iChip Plus IP address. Also changes the permanent Default IP address in nonvolatile memory. See description of the DIP parameter. Valid only for iChip LAN / iChip Plus. Default: Contents of the DIP parameter at power up. Result code: I/OK I/ERROR If IP address is empty or a legal IP address. Otherwise. AT+iIPA? Report the current IP address. AT+iIPA~IP address Temporarily set the current IP address. The permanent IP address (stored in the DIP parameter) will be restored/resolved after completing the next session, whether the session was successful or not. AT+iIPA=? Returns the message ‗IP addr.‘. The reply is followed by I/OK. Note: The IP address is always 0.0.0.0 when iChip is offline. AT+i Programmer‘s Manual Version 8.32 34-83 Nonvolatile Parameter Database 34.10.4 +iIPG — IP Address of the Gateway Syntax: AT+iIPG=IP addres Parameters: Permanently sets the IP address of the gateway to be used by iChip. IP address = Gateway IP address. Command Options: IP address = 0.0.0.0 IP address = Empty: iChip LAN / iChip Plus will try to resolve the gateway IP address via DHCP, but ONLY if the DIP parameter value has been set to empty (0.0.0.0). IP ADDR will be used as the gateway IP address. Default: Empty. No Gateway IP defined. Result code: I/OK I/ERROR If IP address is empty or a legal IP. Otherwise AT+iIPG~IP address Temporarily set the gateway IP address. The permanent IP address will be restored/resolved after completing the next session, whether the session was successful or not. AT+iIPG? Report the current gateway IP. The reply is followed by I/OK. AT+iIPG=? Returns the message ‗IP addr.‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-84 Nonvolatile Parameter Database 34.10.5 +iSNET — Subnet Address Syntax: AT+iSNET=IP mask Parameters: Sets the Sub Net to IP mask. IP mask = Subnet mask address. Command Options: IP mask =0.0.0.0 IP mask = Empty: iChip LAN / iChip Plus will try to resolve the subnet address via DHCP, but ONLY if the DIP parameter value has been set to empty. MASK will be used by iChip LAN / iChip Plus as the subnet mask. Default: Empty. No subnet mask address defined. Result code: I/OK I/ERROR If IP mask is empty or a legal IP mask. Otherwise AT+iSNET~IP mask Temporarily set the subnet mask to IP mask. The permanent subnet mask will be restored/resolved after completing the next session, whether the session was successful or not. AT+iSNET? Report the current subnet mask. The reply is followed by I/OK. AT+iSNET=? Returns the message ‗IP addr.‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-85 Nonvolatile Parameter Database 34.11 Wireless LAN Parameters 34.11.1 +iWLCH — Wireless LAN Communication Channel Syntax: AT+iWLCH= Sets the default WiFi communication channel. When iChip is configured to operate in Ad-Hoc mode, this parameter must be given a value between 1 and 13 that defines the channel to be used for beacon transmission. When iChip joins an already existing Ad-Hoc network, it adopts that network‘s channel. Parameters: channel = 0-13 Default: 0 (Access Point) Result Code: I/OK If channel =0-13 I/ERROR Otherwise AT+iWLCH? Reports the currently configured WiFi communication channel followed by I/OK. AT+iWLCH=? Returns the message ‗0-13‘ followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-86 Nonvolatile Parameter Database 34.11.2 +iWLSI — Wireless LAN Service Set Identifier Syntax: AT+iWLSI= Sets the destination Wireless LAN Service Set IDentifier (SSID) string. Parameters: ssid = SSID required for communications with a specific Access Point (AP). The AP must be configured with the same SSID. Command Options: ssid='' Empty. No SSID defined. iChip will communicate with any AP. ssid= ID will be used as the destination SSID. ID must be configured in the AP for iChip to successfully communicate with that AP. ssid=* Prevents iChip from automatically attempting to connect to an AP or Ad-Hoc network immediately after power-up. If the ssid parameter value is changed to (*) while iChip is already connected to an AP, the current connection will not be affected. ssid=! Optional flag indicating Ad-Hoc mode. Upon power-up, iChip will continuously search for existing Ad-Hoc networks in its vicinity and join the one having the strongest signal. ssid=! iChip will search for an Ad-Hoc network with the specified ID. If it finds one it will join it, otherwise it will create a new network with this ID. Default: Empty. No SSID defined. Result Code: I/OK If ssid is an empty or legal SSID string. I/ERROR Otherwise AT+iWLSI~ssid Temporarily sets the SSID to ssid. The permanent value will be restored after completing the next session. AT+iWLSI? Reports the current ssid value followed by I/OK. AT+iWLSI=? Returns the message ‗String‘ followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-87 Nonvolatile Parameter Database 34.11.3 +iWLWM — Wireless LAN WEP Mode Syntax: AT+iWLWM=md Parameters: Sets the Wireless LAN WEP operation mode. md = 0..2 Command Options: md=0 md=1 md=2 WEP Disabled. WEP Enabled, using 64-bit keys. WEP Enabled, using 128-bit keys. Default: 0 - WEP disabled Result code: I/OK I/ERROR if md is within limits. Otherwise AT+iWLWM~md Temporarily set the WEP operation mode to md. The permanent value will be restored after completing the next session, both if the session was successful or not. AT+iWLWM? Report the current WEP mode used. The reply is followed by I/OK. AT+iWLWM=? Returns the message ―0-2‖. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-88 Nonvolatile Parameter Database 34.11.4 +iWLKI — Wireless LAN Transmission WEP Key Index Syntax: AT+iWLKI=ki Parameters: Sets the Wireless LAN transmission WEP-Key index. ki = 1 .. 4 Command Options: ki= When transmitting WiFi packets, the WEP key at position key_indx in the 4 key array will be used for packet encryption. Default: Result code: I/OK I/ERROR if ki = 1 .. 4 otherwise AT+iWLKI~ki Temporarily set the transmission WEP key index to ki. The permanent value will be restored after completing the next session, both if the session was successful or not. AT+iWLKI? Report the current Wireless LAN transmission WEP key index. The reply is followed by I/OK. AT+iWLKI=? Returns the message "1-4". AT+i Programmer‘s Manual Version 8.32 34-89 Nonvolatile Parameter Database 34.11.5 +iWLKn — Wireless LAN WEP Key Array Syntax: AT+iWLKn=keyString Parameters: Permanently sets the Wireless LAN WEP keys in the 4-slot WEP key array. n = 1..4. keyString = WEP key string represented by a Hexadecimal ASCII string. Command Options: keyString='' keyString= Empty: No WEP key defined in position n. key will be used as the key string value in position n. The identical value must be configured in the same position in the AP router. key must be a Hexadecimal representation string, where each byte is described by 2 ASCII characters in the range [‗0‘..‘9‘], [‗A‘..‘F‘] or [‗a‘..‘f‘]. When using 64-bit WEP (WLWM=1), key may contain up to 10 characters (defining 5 bytes). When using 128-bit WEP (WLWM=2), key may contain up to 26 characters (defining 13 bytes). Default: Empty. No WEP key defined. Result code: I/OK I/ERROR if keyString is an empty or legal WEP key string. otherwise AT+iWLKn~keyString Temporarily set WEP key n to keyString. The permanent value will be restored after completing the next session, both if the session was successful or not. AT+iWLKn? Report the current WEP key value in position n. The reported value will consist of '*' characters. The number of '*' characters shall reflect the number of characters in the actual key string. If the key string is empty, only will be returned. The reply is followed by I/OK. AT+iWLKn=? Returns the message ‗String‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-90 Nonvolatile Parameter Database 34.11.6 +iWLPS — Wireless LAN Power Save Syntax: AT+iWLPS=n Sets a time interval during which the Marvell WiFi chipset connected to iChip remains in Power Save mode. Value changes take effect only after a SW or HW reset. Parameters: n=0 WiFi chipset Power Save mode is disabled. n=1-5 The number of beacon periods during which the WiFi chipset remains in Power Save mode. The beacon period is set by the Access Point (AP) and is typically 100ms. In Ad-Hoc mode, the beacon period is set by the creator of the Ad-Hoc network – iChip – to 100ms. Default: n=0 (Power Save mode disabled) Result Code: I/OK If n is within limits I/ERROR Otherwise AT+iWLPS? Returns the current value stored in WLPS followed by I/OK. AT+iWLPS=? Returns the message “0-5” followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-91 Nonvolatile Parameter Database 34.11.7 +iWLPP — Personal Shared Key Pass-Phrase Syntax: AT+iWLPP= Sets the wireless LAN WPA-PSK pass-phrase. Parameters: = Pass-phrase to be used in generating the WPA-PSK encryption key. Command Options: passphrase =‖ Empty — WPA security is disabled. passphrase = If WLSI (SSID) is not empty, WPA-PSK security is enabled for WiFi connections and pass is used in generating the WPA-PSK encryption key. The allowed value for pass is an ASCII string containing 8-63 characters. Default: Empty Result code: I/OK If pass is an empty or legal pass-phrase. I/ERROR Otherwise AT+iWLPP~passphrase Temporarily set the wireless LAN WPA-PSK pass-phrase to passphrase. AT+iWLPP? Report the current pass-phrase. The reported value consists of ‗*‘ characters. The number of ‗*‘ characters reflects the number of characters in the pass-phrase. If a pass-phrase is not defined, only are returned. The reply is followed by I/OK. AT+iWLPP=? Returns the message ‗String‘ followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-92 Nonvolatile Parameter Database 34.11.8 +iWROM — Enable Roaming in WiFi Syntax: AT+iWROM= Sets iChip to Roaming mode. Parameters: n=0 | 1 n=0 Disable Roaming mode. n=1 Enable Roaming mode. Default: n=0 Result Code: I/OK If n is a legal value. I/ERROR Otherwise AT+iWROM? Returns the current WROM value followed by I/OK. AT+iWROM=? Returns the message ―0-1” followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-93 Nonvolatile Parameter Database 34.11.9 +iWPSI — Periodic WiFi Scan Interval Syntax: AT+iWPSI=n Sets the time interval – n – between consecutive scans that iChip performs for APs in its vicinity. Parameters: n=1-3600 seconds Default: n=5 seconds Result Code: I/OK If n is a legal value. I/ERROR Otherwise AT+iWPSI? Returns the current WPSI value followed by I/OK. AT+iWPSI=? Returns the message “1-3600” followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-94 Nonvolatile Parameter Database 34.11.10 +iWSRL — SNR Low Threshold Syntax: AT+iWSRL= Sets a low SNR threshold for iChip in Roaming mode. If the SNR value of the signal from the AP that iChip is currently associated with drops below n, iChip is triggered by the SNR low event. Parameters: n=0-255 dB Default: n=10 dB Result Code: I/OK If n is a legal value. I/ERROR Otherwise AT+iWSRL? Returns the current WSRL value followed by I/OK. AT+iWSRL=? Returns the message “0-255” followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-95 Nonvolatile Parameter Database 34.11.11 +iWSRH — SNR High Threshold Syntax: AT+iWSRH= Sets a high SNR threshold for iChip in Roaming mode. iChip will re-associate only with APs having SNR that is better than n. Parameters: n=0-255 dB Default: 30 dB Result Code: I/OK If n is a legal value. I/ERROR Otherwise AT+iWSRH? Returns the current WSRH value followed by I/OK. AT+iWSRH=? Returns the message “0-255” followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-96 Nonvolatile Parameter Database 34.11.12 +iWSIn — Wireless LAN Service Set Identifier Array Syntax: AT+iWSI= Sets the destination Wireless LAN Service Set Identifier (SSID) string into position n in the array. This array defines the order in which iChip attempts to connect to an AP or Ad-Hoc network. Parameters: n=0-9 n=0 is equivalent to the WLSI parameter and defines the default SSID. The default SSID (WSI0 or WLSI) determines the type of scanning that iChip performs. If the default SSID refers to an AP, all SSIDs on the list must be configured for APs as well. If the default SSID refers to an Ad-Hoc network (starts with the (!) character), all SSIDs on the list must be configured for Ad-Hoc networks as well (start with the (!) character). The location of an SSID within the list defines its priority, where the first SSID has the top priority. The SSIDs must be configured consecutively. For example, if WSI0 and WSI2 are set but WSI1 is not, iChip ignores WSI2. If, for example, iChip is connected to an AP having an SSID value defined by WSI3, and that SSID is set to a different value using the AT+iWSI3=new SSID command, the change will take effect immediately and iChip will attempt to associate with an AP having the new SSID. If, on the other hand, iChip is not currently connected to an AP with SSID defined by WSI3 and the value of WSI3 is changed, the change will take effect only upon the next connection attempt. = ID will be used as the destination SSID. ID must be configured in the AP for iChip to successfully communicate with that AP. Command Options: The options below apply only to WSI0. ssid=‖ Empty. No SSID defined. iChip will communicate with the strongest AP in its vicinity. ssid=* Prevents iChip from automatically attempting to connect to an AP or Ad-Hoc network immediately after power-up. If the ssid parameter value is changed to (*) while iChip is already connected to an AP, the current connection will not be affected. ssid=! Optional flag indicating Ad-Hoc mode. Upon power-up, iChip will continuously search for existing Ad-Hoc networks in its vicinity and join the one having the AT+i Programmer‘s Manual Version 8.32 34-97 Nonvolatile Parameter Database strongest signal. Default: Empty. No SSID defined. Result Code: I/OK If n is a legal value. I/ERROR Otherwise AT+iWSIn~ssid Temporarily sets the nth position in the array to ssid. AT+iWSIn? Reports the current SSID value in position n. AT+iWSIn=? Returns the message “String” followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-98 Nonvolatile Parameter Database 34.11.13 +iWPPn — Pre-Shared Key Passphrase Array Syntax: AT+iWPPn= Sets the Wireless LAN PSK passphrase for WPA and WPA2 encryption for each individual SSID in the array. Parameters: n=0-9 10 WPA passphrases, one for each SSID, respectively. Setting WPP0= is equivalent to setting the WLPP parameter, and vice versa. = pass is the passphrase to be used in generating the PSK encryption key for WPA and WPA2. The allowed value for pass is an ASCII string containing 8-63 characters. Command Options: =‖ Empty – WPA security is disabled. = If WSIn is not empty, pass is used in generating the PSK encryption key for WSIn. Default: Empty Result Code: I/OK If n is a legal value. I/ERROR Otherwise AT+iWPPn~pass Temporarily sets passphrase in the nth position to pass. AT+iWPPn? Reports the current passphrase value in position n. The reported value consists of (*) characters. The number of (*) characters reflects the number of characters in the passphrase. If a passphrase is not defined, only is returned. The reply is followed by I/OK. AT+iWPPn=? Returns the message “String” followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-99 Nonvolatile Parameter Database 34.11.14 +iWKYn — Wireless LAN WEP Key Array Syntax: AT+iWKYn= Sets the Wireless LAN WEP key for each individual SSID in the array. Parameters: n=0-9 10 WEP keys, one for each SSID, respectively. Setting KeyString with n=0 is equivalent to setting WLKI and WLK1-WLK4 parameters. WEP key string represented by a hexadecimal ASCII string. Command Options: KeyString=‖ Empty KeyString= key will be used as the KeyString value in position n. key must be a hexadecimal representation ASCII string, where each byte is described by two ASCII characters in the range [0.. 9], [A.. F] or [a.. f]. When using 64-bit WEP encryption (WLWM=1), key can contain up to 10 characters (defining 5 bytes). When using 128-bit WEP encryption (WLWM=2), key can contain up to 26 characters (defining 13 bytes). Default: Empty Result Code: I/OK If n is a legal value. I/ERROR Otherwise AT+iWKYn~key Temporarily sets WEP key in the nth position to key. AT+iWKYn? Reports the current WEP key value in position n. The reported value consists of (*) characters. The number of (*) characters reflects the number of characters in the actual key string. If the key string is empty, only is returned. The reply is followed by I/OK. AT+iWKYn=? Returns the message “String” followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-100 Nonvolatile Parameter Database 34.11.15 +iWSTn — Wireless LAN Security Type Array Syntax: AT+iWSTn= Sets the Wireless LAN security type for each individual SSID in the array. Setting WST0= is equivalent to setting the WLWM and WSEC parameters accordingly, and vice versa. For example, setting WST0=3 (WPA-TKIP) causes iChip to automatically set WSEC=0. Setting WST0=1 (WEP-64) automatically sets WLWM=1. Parameters: n=0-9 Index of SSID sec=0 No security sec=1 WEP-64 sec=2 WEP-128 sec=3 WPA-TKIP sec=4 WPA2-AES Default: 0 Result Code: I/OK If sec is a legal value. I/ERROR Otherwise AT+iWSTn~sec Temporarily sets security type of the nth position to sec. AT+iWSTn? Reports the current security type value in position n. The reply is followed by I/OK. AT+iWSTn=? Returns the message “0-4” followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-101 Nonvolatile Parameter Database 34.11.16 +iWSEC — Wireless LAN WPA Security Syntax: AT+iWSEC=n Sets the WPA protocol type to be used for wireless LAN security. This parameter takes effect following either a hardware or software reset (AT+iDOWN) only. A change to this parameter during iChip operation does not affect the current connection. Parameters: n=0 WPA-TKIP protocol n=1 WPA2-AES protocol Default: 0 Result Code: I/OK if n is within limits I/ERROR Otherwise AT+iWSEC? Reports the current value followed by I/OK. AT+iWSEC=? Returns the message ―0, 1‖ followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-102 Nonvolatile Parameter Database 34.12 IP Registration Parameters 34.12.1 Syntax: +iRRMA — IP Registration Mail Address AT+iRRMA= Email@ Permanently sets the IP registration addressee. Parameters: Email@ = Email addressee. This addressee will receive a registration Email message after iChip establishes an Internet session connection as a result of an explicit AT+i command or as a result of automated Internet session establishment procedures. The Email will contain the iChip‘s ID and dynamically assigned IP address, in ASCII form. See Email IP Registration. Command Options: Email@='' Empty address: No Email will be sent after iChip goes online. Email@= addr will be used as the IP registration Email addressee. Default: Empty. Result code: I/OK AT+iRRMA? Report the current value of the IP registration addressee. If the IP registration addressee does not exist, an empty line containing only will be returned. The reply is followed by I/OK. AT+iRRMA=? Returns the message ‗String‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-103 Nonvolatile Parameter Database 34.12.2 Syntax: +iRRSV — IP Registration Host Server Name AT+iRRSV=server_name:port Permanently sets the IP registration server name or IP and port number to be used in an IP registration procedure . Parameters: server_name = A server name or IP address. Server names must be resolvable by the primary or alternate DNS. port = 0..65535 Command Options: server_name='' Empty: No IP registration server name defined. server_name= ip_registration_server will be used to locate and establish a connection after iChip establishes an Internet session connection as a result of an explicit AT+i command or as a result of automated Internet session establishment procedures. The dynamically assigned IP address will be sent to the server in ASCII form, after which the socket will be closed. See Socket IP Registration. port= It is assumed that the host server is "listening" on port number. Default: Result code: I/OK I/ERROR Empty. No server defined. If ip_registration_server is an empty or legal server name and port is within limits. Otherwise. AT+iRRSV? Report the current IP registration server name and port number. If a server name does not exist, only will be returned. The reply is followed by I/OK. AT+iRRSV=? Returns the message ‗Name/IP:Port‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-104 Nonvolatile Parameter Database 34.12.3 Syntax: +iRRWS — IP Registration Web Server AT+iRRWS=url Permanently sets the IP registration web server URL. Parameters: url = The web server URL to use for registration after going online. Command Options: url = ‗‘ Empty: No IP registration URL defined. url = Reg_URL will be used to dynamically register iChip‘s IP and Port after going online as a result of an explicit AT+i command or as a result of automated Internet session establishment procedures. See Web Server IP Registration. Default: Empty. No Registration Web server defined. Result code: I/OK I/ERROR If Reg_URL is an empty or legal URL string. Otherwise. AT+iRRWS? Report the current IP registration Web server URL. If a URL does not exist only will be returned. The reply is followed by I/OK. AT+iRRWS=? Returns the message ―String‖. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-105 Nonvolatile Parameter Database 34.12.4 Syntax: +iRRRL — IP Registration Return Link AT+iRRRL=IP[:Port] Permanently sets the IP registration Return Link IP and Web Port. Parameters: IP = IP address to use for registration after going online. Port = Port number to assign to iChip‘s Web server. See description of RRRL when registering IP. Command Options: IP = 0.0.0.0 IP = Empty: No Return Link defined. IP_addr will be used when registering after establishing an Internet session, rather than the iChip‘s actual local IP address. This is useful when the iChip receives an internal IP address behind a NAT. Assigning the NAT‘s IP address to IP_addr will allow reaching the iChip from the Internet. In SerialNET, the LPRT parameter may be pre-configured in the NAT to connect to the iChip device. See SerialNET Server Devices. Port = Web_port Optional port to map iChip‘s Web server in order to allow surfing iChip across a NAT in association with IP_addr. Default: Result code: I/OK I/ERROR AT+iRRRL? AT+iRRRL=? Empty. No return link IP and Port defined. If IP is a legal IP address and Port is a legal IP port number. Otherwise. Report the current return link IP and port. The reply is followed by I/OK. Returns the message ―Name/IP[:Port]‖. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-106 Nonvolatile Parameter Database 34.12.5 Syntax: +iHSTN — iChip LAN Host Name AT+iHSTN=host Permanently sets iChip‘s Network Host Name. Parameters: host = Symbolic Host Name string. Command Options: host = ‘‘ Empty: Do not attempt to register a symbolic host name. If the iChip LAN is already registered in the DNS, the symbolic name will typically be cleared only after the last DHCP lease assigned to this iChip has expired. host = NAME will be used to negotiate the registration of the iChip LAN on the LAN‘s DNS server via the DHCP server. Host name negotiation will be implemented only during the next DHCP session. Typically this session will occur after a hardware reset or by issuing the AT+iDOWN command. Note that in order to achieve a successful host name registration, the iChip LAN must utilize a DHCP (DIP = 0.0.0.0) and the DHCP server must both exists and be configured to dynamically add entries to the local DNS server. NAME will also be included in all IP registration method formats. Default: Empty. No network host name defined. Result code: I/OK I/ERROR If host is empty or a string. Otherwise. AT+iHSTN? Report the current host name. The reply is followed by I/OK. AT+iHSTN=? Returns the message ‗string‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-107 Nonvolatile Parameter Database 34.13 SerialNET Mode Parameters 34.13.1 Syntax: +iHSRV | +iHSRn — Host Server Name/IP AT+i{HSRV | HSRn} = server_name:port Sets the host server-name or IP and port number to be used in SerialNET mode. Use n=0 or HSRV to define the primary server. Use n=1 or 2 to define secondary servers. Parameters: n = 0 .. 2 server_name = A server name or IP address. Server names must be resolvable by the primary or alternate DNS. port = 0..65535 Command Options: server_name='' Empty: No server name defined. Serial data transmitted from device in SerialNET mode will be ignored until a remote client accesses iChip. server_name= server will be used in SerialNET mode to locate and establish a connection when serial data is transmitted from the device or when ―Auto Link‖ SerialNET modes are defined. The server name may be any legal Internet server name, which can be resolved by the iChip‘s DNS (Domain Name Server) settings. The server name may also be specified as an absolute IP address given in DOT form. If the primary server does not respond, iChip will try the secondary servers (if they are defined). port= It is assumed that the host server is "listening" on port number. Default: Empty Result code: I/OK I/ERROR If server_name is an empty or legal server name and port is within limits. Otherwise. AT+i{HSRV | HSRn}? Report the current host server and port as: :. If a server name does not exist, only will be returned. The reply is followed by I/OK. AT+i{HSRV | }HSRn=? Returns the message ‗Name/IP:Port‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-108 Nonvolatile Parameter Database +iHSS — Assign Special Characters to Hosts Syntax: AT+iHSS= When iChip is connected to HSRn (where n=0..2) in SerialNet mode, and character (where HSS=) arrives from the host, iChip will close the socket to remote server HSRn, flush all characters received from host prior to , and open a socket to remote server HSRm. In the special case when n=m, iChip doesn‘t do anything. In any case, the control character will not be sent to remote server over the socket. iChip doesn‘t perform software reset, and stores all characters received from the host in MBTB (if defined). In addition, the SNRD parameter doesn‘t have any affect. Parameters: control_characters = A string containing three control characters. Command Options: contol_characters=” No control characters are defined. iChip will not respond to control characters to switch among HSRVs. control_characters= string is , where is an ASCII character or a binary escape sequence (or an empty character). A binary escape sequence is represented as \xhh (4 characters) where h is a hexadecimal digit 0..9 or A..F. For example: AT+iHSS=”abc” Default: Empty Result code: I/OK If control_characters is an empty or legal string. I/ERROR Otherwise Example: at+ihss=\x23\x24\x00 When a number sign character ‗#‘ is received from host (ASCII 023 in hexadecimal notation), switch to primary remote server (HSR0). When a dollar sign ‗$‘ arrives, switch to HSR1. When a Null character arrives, switch to HSR2. 34.13.2 AT+i Programmer‘s Manual Version 8.32 34-109 Nonvolatile Parameter Database +iDSTR — Define Disconnection String for SerialNET Mode Syntax: AT+i[!]DSTR: Permanently sets SerialNET device disconnection string. In a modem environment, iChip also goes offline following this event. Parameters: disconnect_string = The string expected on a serial link to signal socket disconnection. Command Options: disconnect_string= '' Empty string – the connection will never be terminated due to a string arriving on serial link. disconnect_string= string received on serial link signals socket disconnection. string consists any combination of printable ASCII characters and characters represented by two hexadecimal digits, such as: \xhh, where h is a hexadecimal digit 0..9 or A..F. Hexadecimal representation allows specifying nonprintable characters. ! iChip will not send a DSTR to the socket upon detection. When this flag is not specified, iChip will send a DSTR each time it detects it. Default: Empty Result code: I/OK If disconnect_string is an empty or legal string. I/ERROR Otherwise AT+iDSTR? Reports the current contents of the disconnect_string parameter. If the disconnect_string parameter is empty, only are returned. If the ‗!‖ flag is specified, the ― *‖ string is appended to the report. For example, the reply to a AT+iDSTR? command will be ―&&& *‖ in case AT+i!DSTR=&&& was previously specified. The reply is followed by I/OK. AT+iDSTR=? Returns the message ‗String‘ followed by I/OK. 34.13.3 AT+i Programmer‘s Manual Version 8.32 34-110 Nonvolatile Parameter Database 34.13.4 Syntax: +iLPRT — SerialNET Device Listening Port AT+iLPRT=n Permanently sets the port number on which iChip will listen for client connections in SerialNET mode. Parameters: n = 0-65535 Default: 0 (no port). Result code: I/OK I/ERROR If n is within limits. otherwise AT+iLPRT? Report the current value of the SerialNET device listen port. The reply is followed by I/OK. AT+iLPRT=? Returns the message "0-65535". The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-111 Nonvolatile Parameter Database 34.13.5 Syntax: +iMBTB — Max Bytes To Buffer AT+iMBTB=n Permanently sets max bytes to buffer while the iChip is establishing an Internet connection. Parameters: n = number of bytes to buffer while establishing the connection in SerialNET mode. Command Options: n = 0 .. 2048 Default: 0 – No Buffering. Result code: I/OK I/ERROR If n is within limits. Otherwise AT+iMBTB? Report the current setting of max bytes to buffer. The reply is followed by I/OK. AT+iMBTB=? Returns the message "0-2048". The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-112 Nonvolatile Parameter Database 34.13.6 Syntax: +iMTTF — Max Timeout to Socket Flush AT+iMTTF=n Sets max inactivity timeout before flushing the SerialNET socket. Parameters: n = number of milliseconds of inactivity on serial link to signal socket flush in SerialNET mode. Command Options: n = 0 .. 65535 Default: 0 – No timeout. Result code: I/OK I/ERROR If n is within limits. Otherwise. AT+iMTTF? Report the current timeout before SerialNET socket flush in milliseconds. The reply is followed by I/OK. AT+iMTTF=? Returns the message "0-65535". The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-113 Nonvolatile Parameter Database 34.13.7 Syntax: +iFCHR — Flush Character AT+iFCHR=flush_chr Permanently sets flush character in SerialNET mode. Parameters: flush_chr = character received on serial link to signal socket flush in SerialNET mode. Command Options: flush_chr = ‗‘ Empty: No Flush character defined. The SerialNET socket will not be flushed as a result of receiving a special flush character. ‗a‘ – ‗z‘ | ‗A‘ – ‗Z‘ | ‗0‘ – ‗9‘ | flush_chr = where, = \x = 00-FF Default: Empty. No flush character defined. Result code: I/OK I/ERROR If flush_chr is empty or a legal character representation. Otherwise. AT+iFCHR? Report the current flush character. The reply is followed by I/OK. AT+iFCHR=? Returns the message ‗String‘. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-114 Nonvolatile Parameter Database 34.13.8 Syntax: +iMCBF — Maximum Characters before Socket Flush AT+iMCBF=n Permanently sets max number of characters before flushing the SerialNET socket. Parameters: n = maximum number of characters received on the serial link before flushing the SerialNET socket. Command Options: n = 0 .. 1460 Default: 0 – No specific limit. Flushing governed by Network. Result code: I/OK I/ERROR If n is within limits. Otherwise. AT+iMCBF? Report the current maximum number of characters before flushing the SerialNET socket. The reply is followed by I/OK. AT+iMCBF=? Returns the message "0-1460". The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-115 Nonvolatile Parameter Database 34.13.9 Syntax: +iIATO — Inactivity Timeout AT+iIATO=n Permanently sets maximum inactivity timeout in seconds to signal socket disconnection in SerialNET mode. When signaled, iChip will close the connected SerialNET communication socket. In a modem environment, the iChip will also go offline following this event. When iChip is in iRouter mode and TUP< >2, if no activity is detected for the specified period, iChip will disconnect its modem side and go offline. Parameters: n = number of seconds of inactivity, on a connected SerialNET socket, to signal socket disconnection. In iRouter mode, this number specifies a period of no activity on either the LAN/WiFi or modem/cellular side. Command Options: n = 0 .. 65535 When iChip is in Server SerialNET mode (LPRT defined) and it goes online in response to a triggering event: RING signal, MSEL signal pulled low or AT+I!SNMD -- timeout calculation commences only after the iChip opens the Listen port. When the Web server is activated (using AWS=1), an external reference to the Web server will restart the IATO timeout calculation. Default: 0 – No timeout limit. Result code: I/OK I/ERROR If n is within limits. Otherwise. AT+iIATO? Report the current inactivity timeout in seconds to signal socket disconnection in SerialNET mode. The reply is followed by I/OK. AT+iIATO=? Returns the message "0-65535". The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-116 Nonvolatile Parameter Database 34.13.10 +iSNSI — SerialNET Device Serial Interface Syntax: AT+iSNSI=settings_str Sets serial interface settings for SerialNET mode. Parameters: settings_str = Serial link settings in SerialNET mode. Command Options: settings_str=‖,,,,‖ where, = 0..9 or h =7|8 =N|E|O =1 =0|1 The following table summarizes supported baud rates: Baud Baud Code Baud Rate Code Baud Rate See note, 6 19,200 below 600 38400 1200 57600 2400 115200 4800 230,400 9600 Note: Baud Code ‗0‘ means that hostiChip baud rate in SerialNET mode is determined according to the value of the BDRD parameter. Default: ―5,8,N,1,0‖ – baud rate 9600bps, 8 bits, No parity, 1 stop bit, no flow control. Result code: I/OK I/ERROR If settings_str is a valid serial link setting string. Otherwise AT+iSNSI? Reports the current serial settings string followed by I/OK. AT+iSNSI=? Returns the message ―String‖ followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-117 Nonvolatile Parameter Database 34.13.11 +iSTYP — SerialNET Device Socket Type Syntax: AT+iSTYP=v Sets SerialNET socket type to v. Parameters: v = 0 or 1 Command Options: v=0 v=1 TCP UDP Default: 0 (TCP) Result Code: I/OK I/ERROR if v = 0 or 1 Otherwise AT+iSTYP? Reports the current value of the SerialNET socket type followed by I/OK. AT+iSTYP=? Returns the message “0-1” followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-118 Nonvolatile Parameter Database 34.13.12 +iSNRD — SerialNET Device Re-Initialization Delay Syntax: AT+iSNRD=n Sets SerialNET mode re-initialization delay in seconds. Parameters: n = number of seconds iChip will pause before reinitializing SerialNET mode after a failed attempt to establish a socket connection to the peer or a connection related fatal error. A new SerialNET connection will only be attempted after SerialNET re-initializes. The SNRD delay will not be in effect as a result of an Escape Sequence (‗+++‘). Command Options: n = 0 .. 3600 Default: 0 – No delay. Result code: I/OK I/ERROR If n is within limits. Otherwise. AT+iSNRD? Report the current SerialNET re-initialization delay in seconds. The reply is followed by I/OK. AT+iSNRD=? Returns the message "0-3600". The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-119 Nonvolatile Parameter Database 34.13.13 +iSPN — SerialNET Server Phone Number Syntax: AT+iSPN=number Permanently sets the SerialNET phone number to use to wake up a remote SerialNET server. Parameters: number = Telephone number to use to dial up a remote SerialNET server in order to wake it up and activate its preprogrammed Ring-Response procedures. The SerialNET client will attempt RDL redials. During each dial-up attempt it will wait for SDT seconds before hanging up. Command Options: number = Telephone number string, composed of digits, ‗,‘, '-', 'W', 'w', '*', '#', '!' or ' '. See description of the standard ATD command1. Default: Empty. Do not attempt to wake up a remote SerialNET server. Result code: I/OK I/ERROR If number is a legal phone number string. Otherwise AT+iSPN? Report the current SerialNET wakeup telephone number. The reply is followed by I/OK. AT+iSPN=? Returns the message ―Phone #". The reply is followed by I/OK. Note: If a character that is defined as a Delimiter is used within the dial string, the string must be entered between apostrophes. AT+i Programmer‘s Manual Version 8.32 34-120 Nonvolatile Parameter Database 34.13.14 +iSDT — SerialNET Dialup Timeout Syntax: AT+iSDT=n Permanently sets the SerialNET Dial timeout when waking up a remote SerialNET server. Parameters: n = Number of seconds to allow after dialing up the remote SerialNET server, before hanging up. Command Options: n = 0..255 [seconds]. Default: 20 [seconds] Result code: I/OK I/ERROR If n is within limits. Otherwise AT+iSDT? Report the current SerialNET dial timeout. The reply is followed by I/OK. AT+iSDT=? Returns the message "0-255". The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-121 Nonvolatile Parameter Database 34.13.15 +iSWT — SerialNET Wake-Up Timeout Syntax: AT+iSWT=n Sets the SerialNET wake-up timeout when waking up a remote SerialNET server. Parameters: n = Number of seconds to allow the entire SerialNET server wakeup procedure before hanging up and retrying. Command Options: n = 0..65535 [seconds] Default: 600 [seconds]. Result code: I/OK I/ERROR AT+iSWT? If n is within limits. Otherwise Report the current SerialNET Wake-up timeout. The reply is followed by I/OK. AT+iSWT=? Returns the message ―0-65535‖. The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-122 Nonvolatile Parameter Database 34.13.16 +iPTD — SerialNET Packets to Discard Syntax: AT+iPTD=n Sets the number of packets to be cyclically discarded in a SerialNET mode session. A packet is defined as the group of characters received on the serial link, meeting one (or more) of the socket flush conditions defined (+iFCHR, +iMTTF, +iMCBF). Parameters: n = 0 – 65535 Default: 0 – No packet filtering. All data is transferred. Result code: I/OK I/ERROR If n is within limits. Otherwise. AT+iPTD? Report the current value. The reply is followed by I/OK. AT+iPTD=? Returns the message "1-65535". The reply is followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-123 Nonvolatile Parameter Database 34.14 Remote Firmware Update Parameters +iUEN — Remote Firmware Update Flag Syntax: AT+iUEN= Sets the remote firmware update flag. Parameters: v = 0 or 1 Command Options: v=0 Update only to a firmware version that is newer than the currently installed one. v=1 Update to any firmware version available. Default: 0 Result Code: I/OK If v = 0 or 1 I/ERROR Otherwise AT+iUEN~v Temporarily set the remote firmware update flag to v for the duration of the current session. The permanent value will be restored after completing the current session. AT+iUEN? Reports the current value of the remote firmware update flag followed by I/OK. AT+iUEN=? Returns the message ―0-1‖ followed by I/OK. 34.14.1 AT+i Programmer‘s Manual Version 8.32 34-124 Nonvolatile Parameter Database +iUSRV — Remote Firmware Update Server Name Syntax: AT+iUSRV=―://[:]/[/]‖ Sets name of server to be used for updating iChip firmware remotely. This server must contain one or more firmware .imz files. The actual update process is initiated using the AT+iRFU command. Parameters: = http or ftp = Host name or IP address = 1..65535 Default port for http is 80. Default port for ftp is 21. = Path to a directory which contains one or more .imz files on the host or a path to a text file containing a list of one or more -separated .imz filenames. relative_path must be relative to the FTP home directory. If relative_path contains subdirectories, they can be divided using either ‗\‘ or ‗/‘. absolute_path must end with ‗\‘ or ‗/‘. Command Options: AT+iUSRV=― Empty. No server name defined. Default: Empty. No dedicated remote firmware update server defined. Result Code: I/OK If host is an empty or legal host name. I/ERROR Otherwise AT+iUSRV~ Temporarily set the firmware update server name to host. The ―://‖ AT+iUSRV? Report the current firmware update server name. If a server name is not defined, only will be returned. The reply is followed by I/OK. AT+iUSRV=? Returns the message ‗String / IP Addr‘ followed by I/OK. Example: at+iusrv="ftp://172.20.101.5:21/RFU_CO2128/" 34.14.2 AT+i Programmer‘s Manual Version 8.32 34-125 Nonvolatile Parameter Database +iUUSR — Remote Firmware Update FTP User Name Syntax: AT+iUUSR= Sets name of user to logon to the FTP server defined in the AT+iUSRV parameter. Parameters: = Name of user to logon to the FTP server. This must be a registered user on the FTP server. Some servers allow anonymous login, in which case username=anonymous. Command Options: AT+iUUSR=― Empty. No user name defined. Default: Empty. No user name defined. Result Code: I/OK If username is an empty or legal user name. I/ERROR Otherwise AT+iUUSR~ Temporarily set the user name to username. The permanent value will be restored after completing the next session. AT+iUUSR? Report the current user name. If a user name is not defined, only will be returned. The reply is followed by I/OK. AT+iUUSR=? Returns the message ‗String‘ followed by I/OK. 34.14.3 AT+i Programmer‘s Manual Version 8.32 34-126 Nonvolatile Parameter Database +iUPWD — Remote Firmware Update FTP User Password Syntax: AT+iUPWD= Sets user password to logon to the FTP server defined in the AT+iUSRV parameter. Parameters: = User password to logon to the FTP server. If special characters are used, the password should be specified within quotes. Servers that allow anonymous login usually request an Email address as a password. Command Options: AT+iUPWD=― Empty. No user password defined. Default: Empty. No user password defined. Result Code: I/OK If password is an empty or legal user password. I/ERROR Otherwise AT+iUPWD~ Temporarily set the user password to password. The permanent value will be restored after completing the next session. AT+iUPWD? Returns a string of asterisk (*) characters indicating the number of characters in the password. If a password is not defined, only will be returned. The reply is followed by I/OK. AT+iUPWD=? Returns the message ‗String‘ followed by I/OK. 34.14.4 AT+i Programmer‘s Manual Version 8.32 34-127 Nonvolatile Parameter Database 34.15 Remote Parameter Update Syntax: AT+iRPG=GroupPass Parameters: Sets the remote parameter update group/password. Also used to authenticate a remote technician connecting for remote debug purposes. GroupPass = Group/Password to be used for authentication when accepting iChip parameter updates from a remote web browser. Command Options: GroupPass ='' Empty: Remote Email Parameter Update and remote Web parameter updates are effectively disabled. GroupPass = grp-pass will be used to authenticate the RPF file retrieved and restrict iChip parameter updates via a remote Web browser. GroupPass =‖*‖ A password will not be used to authenticate the RPF file retrieved or parameter updates via the Web. Effectively unrestricting any remote iChip parameter updates. Default: Result code: I/OK I/ERROR Empty. No Group/Password defined. When retrieving Email Parameter Update mails shall be skipped. iChip parameter updates via a remote browser are restricted. 1 If Group-pass is an empty or legal Group/Password. Otherwise. AT+iRPG~GroupPass Temporarily sets the Parameter Update Group/Password to GroupPass. The permanent Group/Password will be restored after completing the next session, whether the session was successful or not. AT+iRPG? Report the current Group/Password. If a Group/Password does not exist only will be returned. The reply is followed by I/OK. AT+iRPG=? Returns the message ‗String‘. The reply is followed by I/OK. Note: This default value is shipped from the factory. The AT+iFD command does not restore RPG to this value. AT+i Programmer‘s Manual Version 8.32 34-128 Nonvolatile Parameter Database 34.16 Secure Socket Protocol Parameters +iCS — Define the SSL3/TLS Cipher Suite Syntax: AT+iCS=n Sets the cipher suite to be used in SSL3/TLS negotiations with a secure server. The default value ‗0‘ is the all-cipher selection. With this value, iChip sends its full list of supported ciphers to the server. The server selects the most appropriate cipher to use during the handshake procedure. When a specific value is specified, iChip requires the server to use that specific cipher. Parameters: n = A supported cipher suite code, as defined in RFC2246. Command Options: n = 0 Set cipher suite to ‗propose all‘. When CS is set to ‗propose all‘, iChip offers all supported cipher suites for SSL3/TLS negotiations. The server selects the most appropriate cipher suite during the handshake procedure. n = 4 Set cipher suite to SSL_RSA_WITH_RC4_128_MD5 n = 5 Set cipher suite to SSL_RSA_WITH_RC4_128_SHA n = 10 Set cipher suite to SSL_RSA_WITH_3DES_EDE_CBC_SHA n = 47 Set cipher suite to TLS_RSA_WITH_AES_128_CBC_SHA n = 53 Set cipher suite to TLS_RSA_WITH_AES_256_CBC_SHA +1000 Add 1000 to any cipher suite to prohibit updating this parameter from the internal configuration website Default: 0 (Propose All) Result code: I/OK If n is a supported cipher suite code I/ERROR Otherwise AT+iCS? Returns the current cipher suite value. The reply is followed by I/OK AT+iCS=? Returns the message ―0,4,5,10,47,53‖. The reply is followed by I/OK 34.16.1 AT+i Programmer‘s Manual Version 8.32 34-129 Nonvolatile Parameter Database +iCA — Define SSL3/TLS Certificate Authority Syntax: AT+iCA[n]=tca Sets the certificates of the trusted certificate authorities. This authority is the one eligible to sign a server‘s certificate. iChip accepts a server‘s identity only if its certificate is signed by one of these authorities. Parameters: tca = PEM format DER-encoded X509 certificate Command Options: tca = Empty: No trusted certificate authority. tca = cert is referenced as the trusted certificate authority‘s certificate during SSL3/TLS1 socket connection establishment (handshake). iChip establishes an SSL3/TLS1 socket connection only to servers having a certificate authenticated by this certificate authority. iChip expects cert to be multiple lines separated by , beginning with 34.16.2 -----BEGIN CERTIFICATE----- and terminating with -----END CERTIFICATE-----. Maximum size of cert is 1300 characters. Optional n: n is optional and may be 2, 3 or 4. Use n to specify alternative CA certificates (CA2, CA3 and CA4). When more than one CA certificates exist, iChip will check all its CA‘s when verifying a Server certificate. Default: Empty. No trusted Certificate Authority defined. Result code: I/OK If tca is an empty or legal certificate. I/ERROR Otherwise AT+iCA? Report the current trusted certificate contents. The reported value displays the Certificate Authority name, certificate validity date range, and the entire PEM contents. If the trusted certificate is empty, only is returned. The reply is followed by I/OK. AT+iCA=? Returns the message ‗String‘ followed by I/OK. Sample PEM format DER-encoded X509 certificate: -----BEGIN CERTIFICATE----MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2 MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k -----END CERTIFICATE----- AT+i Programmer‘s Manual Version 8.32 34-130 Nonvolatile Parameter Database 34.16.3 +iCERT — Define SSL3/TLS1 Certificate Syntax: AT+iCERT=ct Set iChip‘s SSL3/TLS1 certificate. Some SSL3/TLS1 servers require the client side to authenticate its identity by requesting the client to provide a certificate during the SSL socket negotiation phase. This is called ―client side authentication‖. If the CERT parameter contains a certificate, iChip provides it to the server upon request. iChip also needs a private key (see PKEY parameter) in order to encrypt its certificate before sending it to the server. In addition, the certificate should be signed by a certificate authority accepted by the server for the client side authentication to succeed. Parameters: ct = PEM format DER-encoded X509 Certificate Command Options: ct = Empty. No trusted certificate authority. ct = cert is used as iChip‘s certificate during client side authentication. The certificate must be signed by a certificate authority acceptable by the server. iChip expects cert to be multiple lines separated by , beginning with -----BEGIN CERTIFICATE----- and terminating with -----END CERTIFICATE-----. Default: Result code: I/OK I/ERROR AT+iCERT? Empty. No trusted certificate authority defined. If ct is an empty or legal certificate. Otherwise Displays current certificate contents. If the trusted certificate is empty, only is returned, followed by I/OK. AT+iCERT=? Returns the message ‗String‘ followed by I/OK. AT+i Programmer‘s Manual Version 8.32 34-131 Nonvolatile Parameter Database 34.16.4 +iPKEY — Define iChip’s Private Key Syntax: AT+iPKEY=pky Set iChip‘s private key. The private key is required to perform an RSA encryption of its certificate (see CERT parameter) when performing client side authentication. Special care should be taken to protect private key contents from unauthorized parties. For this reason, once the private key is stored on iChip, it cannot be read – only erased or overwritten. Parameters: pky = PEM format Command Options: pky = Empty. Any existing private key is erased. pky = pkey is used as iChip‘s private key to RSA encrypt its certificate during client side authentication. iChip expects pkey to be multiple lines separated by , beginning with -----BEGIN RSA PRIVATE KEY----- and terminating with -----END RSA PRIVATE KEY----- Default: Result code: I/OK I/ERROR AT+iPKEY? Empty. No private key defined. If pky is an empty or legal private key. Otherwise Reports the current private key‘s strength (number of bits in key). If the key is empty, only is returned. There is no way to retrieve pkey contents. The reply is followed by I/OK. AT+iPKEY=? Returns the message ‗String‘ followed by I/OK. RSA PRIVATE KEY----Example: -----BEGIN MIICXAIBAAKBgQCoMGVcZ3HNFB/cRfWP7vdZrRK+YB+lez07mAN6Zcd4C19Xi6M6 dmewb6qQ6TRYC1gBhJ+KtMopGoqQ3v1VSu0Ve/ZrjWNxLN9UAtRMubtkGz2j6OCt lx4WsFUWebF8QEEm9+3coMnRqtAdluYEU2F2PTeWUsQfjRQQmBjus/y0wwIDAQAB AoGBAKWaKWOHk1zbENfhpn1XTQNmT4tVuDNHGi6gaeRNbM79W54mpsy8ozHtcWOH y3tZiAjOngyEIH3CXWdxuL0PrkmdSk39+V0EIuA0sRxyUTb3/LlDU9DpxlYXBYK5 Kclq2qH5GBv28QJChG6/dfvuO8a1JyPwD61iOvBvBye/C7QRAkEA1uU7pT8ejcxf ZLwaBwUift9Y1kpzrdHYnqJggrhGeZq4bIb8ioOFEgB+JKXSxaQZgxUsIkDVzkO/ +J/H8KZKywJBAMhcGEftwPqtZMWyqis7rSUpsewaxg79QYDZVSRwi5ynLqtqui4d GVSftbXvtZHRs8uyp3plTFUVFnvPRsUJpukCQEZyJzdola+OS8dOEooymLhWp1y4 U2ur2wNF37V6iz/aBJMvPSJ7MuhP2QpSgeHghax/CFTCRFS1yPzMBFNTcDkCQEHq ko5veNK/4uxruDJbAr68Ne3gbRKXXUp/tdQ0NqpGEkOQ7EmphyDhHk4J2+lqXUWB tDm/Q9qmAmyfJ8BBSakCQAaOl0MGdUnyFuanp19jRfLB29oOqMQqyV90r25AxOcN HD8Jsmn5vBYm4wdtR8x84Gh7128RfuBS8J0hFb90yRY= -----END RSA PRIVATE KEY----- AT+i Programmer‘s Manual Version 8.32 34-132 Nonvolatile Parameter Database 34.17 DHCP Server Parameters +iDPSZ — DHCP Server Pool Size Syntax: AT+iDPSZ= Sets number of addresses to be allocated in the IP pool of iChip‘s DHCP server. Parameters: range = number of IP addresses in pool Command Options: range=0-255 When range=0 the pool is empty and the DHCP server is inactive. When range is set to any number between 1 and 255, and the DIP parameter is defined – the DHCP server becomes active. Default: 0 — DHCP server is inactive Result Code: I/OK If range is an integer between 0 and 255. I/ERROR Otherwise AT+iDPSZ? Reports the current range value followed by I/OK. AT+iDPSZ=? Returns the message ‗0-255‘ followed by I/OK. 34.17.1 AT+i Programmer‘s Manual Version 8.32 34-133 Nonvolatile Parameter Database +iDSLT — DHCP Server Lease Time Syntax: AT+iDSLT=

Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.5
Linearized                      : No
Tagged PDF                      : Yes
XMP Toolkit                     : 3.1-702
Create Date                     : 2008:12:01 15:54:31Z
Creator Tool                    : Microsoft® Office Word 2007
Modify Date                     : 2009:07:28 17:17+03:00
Metadata Date                   : 2009:07:28 17:17+03:00
Format                          : application/pdf
Description                     : AT+i Programmers Manual
Creator                         : Connect One Technical Publications
Title                           : AT+i Programmer's Manual
Producer                        : Microsoft® Office Word 2007
Document ID                     : uuid:3cc3e615-4c8b-4aa2-9b83-6f41ee7bb3bd
Instance ID                     : uuid:c6142c93-2f30-48ce-bd8d-2d6d43bb8ab1
Page Count                      : 307
Language                        : en-US
Subject                         : AT+i Programmers Manual
Author                          : Connect One Technical Publications
EXIF Metadata provided by
EXIF.tools
FCC ID Filing: XM5-SM2144N1

Navigation menu