User's Manual
Table Of Contents
- AT+i Command Set
- Scope
- AT+i Command Guidelines
- AT+i Command Format
- Escape Code Sequence
- Socket Command Abort
- Flexible Host and Modem Interfaces
- Auto Baud Rate Detection
- High Speed USART
- Reset via Serial Link
- Entering Rescue Mode during Runtime
- Internet Session Hang-Up Procedure (Modem Only)
- Modem Startup
- Analog-to-Digital Converter
- iChip Readiness Indication
- Programming iChip’s Serial Number into Flash Memory
- Programming a Unique ID String into Flash Memory
- General Format
- AT+i Result Code Summary
- Report Status
- Connection
- E-mail Send Commands
- E-Mail Retrieve
- HTTP Client Interface
- SerialNET Mode Initiation
- Web Server Interface
- File Transfer Protocol (FTP)
- +i[@]FOPN — FTP Open Session
- +iFDL — FTP Directory Listing
- +iFDNL — FTP Directory Names Listing
- +iFMKD — FTP Make Directory
- +iFCWD — FTP Change Working Directory
- +iFSZ — FTP File Size
- +iFRCV — FTP Receive File
- +iFSTO — FTP Open File for Storage
- +iFAPN — FTP Open File for Appending
- +iFSND — FTP Send File Data
- +iFCLF — FTP Close File
- +iFDEL — FTP Delete File
- +iFCLS — FTP Close Session
- Telnet Client
- Direct Socket Interface
- +iSTCP — Open and Connect A TCP Socket
- +iSUDP — Open A Connectionless UDP Socket
- +iLTCP — Open A TCP Listening Socket
- +iLSST — Get A Listening Socket’s Active Connection Status
- +iSST — Get A Single Socket Status Report
- +iSCS — Get A Socket Connection Status Report
- +iSSND[%] — Send A Byte Stream to A Socket
- +iSRCV — Receive A Byte Stream from A Socket’s Input Buffer
- +iGPNM — Get Peer Name for A Specified Socket
- +iSDMP — Dump Socket Buffer
- +iSFSH[%] — Flush Socket’s Outbound Data
- +iSCLS — Close Socket
- Special Modem Commands
- Wireless LAN Mode
- IP Registration
- DHCP Client
- DHCP Server
- iRouter Mode
- Ad-Hoc Networks
- Secure Socket Protocol
- Network Time Client
- MIME Encapsulated E-Mail Messages
- Flow Control
- Remote Firmware Update
- iChip Parameter Update
- iChip Embedded Web Server
- Introduction
- Features
- Web Server Modes
- The Application Website
- Parameter Tags
- iChip Configuration Mode
- Host Interaction Mode
- Website Creation, Packing, and Uploading
- Manipulating Variables in the Application Website
- Security and Restrictions
- Parameter Update Error Handling
- File Types Supported by iChip’s Web Server
- iChip RAS Server
- SerialNET Theory of Operation
- File Transfer Protocol (FTP) Theory of Operation
- Telnet Client Operation
- Secure Socket Protocol Theory of Operation
- Remote AT+i Service
- Nonvolatile Parameter Database
- Parameter Descriptions
- +iFD — Restore All Parameters to Factory Defaults
- Operational Parameters
- +iXRC — Extended Result Code
- +iDMD — Modem Dial Mode
- +iMIS — Modem Initialization String
- +iMTYP — Set Type of Modem Connected to iChip
- +iWTC — Wait Time Constant
- +iTTO — TCP Timeout
- +iPGT — PING Timeout
- +iMPS — Max PPP Packet Size
- +iTTR — TCP Retransmit Timeout
- +iBDRF — Define A Fixed Baud Rate on Host Connection
- +iBDRM — Define A Fixed Baud Rate on iChip( Modem Connection
- +iBDRD — Baud Rate Divider
- +iAWS — Activate WEB Server Automatically
- +iLATI — TCP/IP Listening Socket to Service Remote AT+i Commands
- +iFLW — Set Flow Control Mode
- +iCPF — Active Communications Platform
- +iPSE — Set Power Save Mode
- +iSDM — Service Disabling Mode
- +iDF — IP Protocol ‘Don’t Fragment’ Bit Value
- +iCKSM — Checksum Mode
- +iHIF — Host Interface
- +iMIF — Modem Interface
- +iADCL — ADC Level
- +iADCD — ADC Delta
- +iADCT — ADC Polling Time
- +iADCP — ADC GPIO Pin
- +iRRA — iChip Readiness Report Activation
- +iRRHW — iChip Readiness Hardware Pin
- ISP Connection Parameters
- Server Profile Parameters
- +iLVS — ‘Leave on Server’ Flag
- +iDNSn — Define Domain Name Server IP Address
- +iSMTP — Define SMTP Server Name
- +iSMA — SMTP Authentication Method
- +iSMU — Define SMTP Login User Name
- +iSMP — Define SMTP Login Password
- +iPOP3 — Define POP3 Server Name
- +iMBX — Define POP3 Mailbox Name
- +iMPWD — Define POP3 Mailbox Password
- +iNTSn — Define Network Time Server
- +NTOD — Define Network Time-of-Day Activation Flag
- +iGMTO — Define Greenwich Mean Time Offset
- +iDSTD — Define Daylight Savings Transition Rule
- +iPDSn — Define PING Destination Server
- +iPFR — PING Destination Server Polling Frequency
- +iUFn — User Fields and Macro Substitution
- Email Format Parameters
- +iXFH — Transfer Headers Flag
- +iHDL — Limit Number of Header Lines
- +iFLS — Define Filter String
- +iDELF — Email Delete Filter String
- +iSBJ — Email Subject Field
- +iTOA — Define Primary Addressee
- +iTO — Email ‘To’ Description/Name
- +iREA — Return Email Address
- +iFRM — Email ‘From’ Description/Name
- +iCCn — Define Alternate Addressee
- +iMT — Media Type Value
- +iMST — Media Subtype String
- +iFN — Attachment File Name
- HTTP Parameters
- RAS Server Parameters
- LAN Parameters
- Wireless LAN Parameters
- +iWLCH — Wireless LAN Communication Channel
- +iWLSI — Wireless LAN Service Set Identifier
- +iWLWM — Wireless LAN WEP Mode
- +iWLKI — Wireless LAN Transmission WEP Key Index
- +iWLKn — Wireless LAN WEP Key Array
- +iWLPS — Wireless LAN Power Save
- +iWLPP — Personal Shared Key Pass-Phrase
- +iWROM — Enable Roaming in WiFi
- +iWPSI — Periodic WiFi Scan Interval
- +iWSRL — SNR Low Threshold
- +iWSRH — SNR High Threshold
- +iWSIn — Wireless LAN Service Set Identifier Array
- +iWPPn — Pre-Shared Key Passphrase Array
- +iWKYn — Wireless LAN WEP Key Array
- +iWSTn — Wireless LAN Security Type Array
- +iWSEC — Wireless LAN WPA Security
- IP Registration Parameters
- SerialNET Mode Parameters
- +iHSRV | +iHSRn — Host Server Name/IP
- +iHSS — Assign Special Characters to Hosts
- +iDSTR — Define Disconnection String for SerialNET Mode
- +iLPRT — SerialNET Device Listening Port
- +iMBTB — Max Bytes To Buffer
- +iMTTF — Max Timeout to Socket Flush
- +iFCHR — Flush Character
- +iMCBF — Maximum Characters before Socket Flush
- +iIATO — Inactivity Timeout
- +iSNSI — SerialNET Device Serial Interface
- +iSTYP — SerialNET Device Socket Type
- +iSNRD — SerialNET Device Re-Initialization Delay
- +iSPN — SerialNET Server Phone Number
- +iSDT — SerialNET Dialup Timeout
- +iSWT — SerialNET Wake-Up Timeout
- +iPTD — SerialNET Packets to Discard
- Remote Firmware Update Parameters
- Remote Parameter Update
- Note: This default value is shipped from the factory. The AT+iFD command does not restore RPG to this value.
- Appendix A
- Appendix B
- Appendix C
- Index
Secure Socket Protocol
AT+i Programmer‘s Manual Version 8.32 21-1
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[%]:<hn>,<size>:<data>
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.