18.1 Known problems ................................................................................................... 37
18.2 Current Firmware features and fixes ........................................................................ 37
WiFlyGSX-um.pdf 11/11/2009
www.rovingnetworks.com
support@rovingnetworks.com
Phone 408-395-6539
- 2 -
WiFly GSX
WiFlyGSX-um.pdf 11/11/2009
WiFly GSX
1Overview
The “WiFly” radio module is a complete stand alone embedded wireless LAN access device. The
device has on board TCP/IP stack and applications. Requiring only 4 pins (POWER, TX, RX, GND) to
design in. Once initial configuration is set, the radio can automatically access the WiFi network and
send/receive serial data over UART.
• Fully Qualified and Wifi Certified 2.4GHz IEEE 802.11b/g transceiver
• High throughput, up to 4Mbps sustained data rate with TCP/IP and WPA2
• Ultra-low power (4uA sleep, 40mA Rx, 210mA max Tx)
• Small, compact surface mount module
• On board ceramic chip antenna and U.FL connector for external antenna
• 8 Mbit flash memory and 128 KB RAM
• UART and SPI (future) data/control interfaces
• 10 general purpose digital I/O
• 8 analog inputs
• Real-time clock for wakeup and time stamping/data logging
• Accepts 3.3V regulated or 2-3V battery with on board boost regulators
• Supports Adhoc and Infrastructure mode connections
• Built in networking applications DHCP client, UDP, DNS client , ARP, ICMP ping, FTP, HTTP
• 802.11 power save and roaming functions
www.rovingnetworks.com
support@rovingnetworks.com
Phone 408-395-6539
- 3 -
WiFlyGSX-um.pdf 11/11/2009
WiFly GSX
2Hardware Interface
See the RN-131 or RN-134 data sheets on the Roving Networks website for technical specifications
and layout information of these modules.
2.1 Power
There are two options for powering the RN-131G module directly.
DC SUPPLY: Apply 3.3 VDC power to VBATT (pin 20), and V3.3IN (pin 21). Tie 3.3VREG-IN (pin 18)
to GROUND. 3.3V-REG-OUT (Pin 17) leave floating.
BATTERY: Apply battery = 2.0 to 3.3VDC to VBATT (pin 20). V3.3IN pin 21 = floating.
Tie pin 17 to pin 18. (This enables the on board battery boost 3.3V switcher).
There is a built in voltage brownout monitor which will shut down the chip when the voltage drops
below 2.0 VDC.
Warning: Do NOT exceed the voltage ratings on the 3.3V pins, damage to the module will result.
Notes:
#1: The Sensor inputs SENS0-7 are extremely sensitive to over voltage. Under no conditions
should these pins be driven above 1.2VDC. Placing any voltage above this will permanently
damage the radio module and render it useless.
#2: Placing 5VDC or any voltage above 3.3Vdc into the VDD pins of the module will
permanently damage the radio module.
#3: Placing 3.3Vdc into the PIO’s while they are set as outputs will permanently damage the
module. The failure mode is a short across GND and VCC.
2.2 Reset
Reset is active LOW and is optional/does not need to be connected. The reset pin is 3.3V tolerant
and has an internal pull up of 100K to the VBATT.
2.3 UART
Connect a common ground when using the external TX, RX inputs.
For a 3 wire DB-9 interface (connect tx, rx, gnd only)
Factory default is hardware flow control disabled, CTS and RTS are not required.
When using a 5.0 VDC Input, PIO’s and UART input pins require a resistor divider. A suggestion is
10K in series with 20k to ground. PIO’s are 0-3.3 VDC not 5.0 VDC tolerant.
www.rovingnetworks.com
support@rovingnetworks.com
Phone 408-395-6539
- 4 -
2.4 Status Indictors
PIO 4, 5 and 6 are active high and can be connected to external LEDs to provide network, connection
and data status.
Condition PIO6=Red LED PIO5=Yellow LED PIO4=Green LED
ON solid Not Associated Connected over TCP
Fast blink Rx/Tx data transfer
Slow blink
OFF
3 Configuration
3.1 Entering Command Mode
Upon power up, the device will be in data mode. To enter command mode, exactly the three
characters $$$ must be sent. The device will respond with CMD.
While in command mode, the device will accept ASCII bytes as commands.
To exit command mode, send exit<cr>. The device will respond with “EXIT”.
Parameters, such as the SSID, channel, IP address, Serial Port settings, and all other settings can be
viewed and configured in command mode.
ASCII characters can be sent through a terminal emulator connected to the UART or via Telnet.
When using the UART communications settings should match the settings used when RN-131g
connects, for example: the default is 9600 baudrate, 8 bits, No Parity, 1 stop bit, and hardware flow
control disabled.
Run your favorite terminal emulator, Roving Networks provides a free one, Teraterm, at
Type $$$ on in the terminal emulator. You should see “CMD” returned to you. This will verify that
your cable and comm. settings are correct. Most valid commands will return an “AOK”, response,
and invalid ones will return an “ERR” description.
To exit command mode, type “exit“<cr>.
NOTE: You can enter command mode locally over the UART interface at any time when not
connected, and also when connected if the appropriate settings are enabled.
Remote configuration using ADHOC mode
Using adhoc mode to configure the device eliminates the need for the module to be associated with a
network access point. In adhoc mode the module creates it own “on demand” network that you can
connect to via your computer like you would to any other network.
To enable adhoc mode via hardware set PIO9 high (3.3V) at power up. On the RN-134 PIO9 is on
the J1 jumper block. When the module powers up with PIO9 set high, the WiFly module creates an
adhoc network with the following
SSID: WiFly-GSX-XX where XX is the final two bytes of the devices MAC address
Associated, No
Associated, Internet
Internet
OK
www.rovingnetworks.com
support@rovingnetworks.com
Phone 408-395-6539
- 5 -
WiFly GSX
WiFlyGSX-um.pdf 11/11/2009
No IP address
IP address OK
Channel: 1
DHCP: OFF
IP address: 169.254.1.1
Netmask: 255.255.0.0
With the adhoc jumper in place the above settings override the current saved configuration settings.
From your computer, connect to the WiFly-GSX-XX network. This is an open network which does
not require a pass phrase or pass key. Note: currently the WiFly only supports OPEN mode for
creating adhoc networks.
NOTE: It may take a couple of minutes for Auto IP in Windows to assign an IP address and connect
to the network. You can check IP address of your Windows computer by running the ipconfig
command in the command window. If connected, this command will show you the IP address and net
mask for your computer.
The IP address assigned by Auto IP must be on the subnet 169.254.1.X otherwise the WiFly GSX
module will not be accessible.
NOTE: If your machine has both a wireless and wired interface hardware you will need to disable the
wired LAN interface hardware before connecting to the adhoc network. If the wired LAN is enabled
the computer will assign an IP address that is not on the same subnet as the WiFly module.
Once connected and you have a good IP address, telnet into the WiFly module on port 2000
telnet 169.254.1.1 2000
You should see the response “*HELLO*”
You can now enter command mode and configure the module.
WiFlyGSX-um.pdf 11/11/2009
WiFly GSX
www.rovingnetworks.com
support@rovingnetworks.com
Phone 408-395-6539
- 6 -
4 WiFly Command Reference
4.1 Command Syntax
Commands begin with a keyword, and have optional additional parameters, generally space
delimited. Commands and options are case sensitive. Hex input data can be upper or lower case.
String text data, such as SSID is also case sensitive.
The first command is fully decoded and must be complete. Other command parameters can be
shorted by using only the first character.
For example,
set uart baudrate 115200 is valid,
set uart b 115200 is also valid,
set u b 115200 is also valid, however,
s uart baudrate 115200 is NOT valid.
Numbers can be entered as either decimal, (like 115200 above) or HEX. To enter HEX, use
0x<value>. For example, the HEX value FF would be entered as 0xFF.
4.2 Command Organization
Commands fall into 5 general categories:
SET COMMANDS -Take effect immediately, permanently (save command issued).
GET COMMANDS -Retrieve the permanently stored information for display to user.
STATUS COMMANDS -See what is going on with the interface, IP status, etc.
ACTION COMMANDS- Perform action such as scan, connect, disconnect, etc.
FILE IO COMMANDS - Upgrade, load and save configuration, delete files, etc.
NOTE: You must save any changes made or the module will load the previous settings upon reboot
or power up.
When the system boots, all configuration data is loaded into RAM variables from the file called
“config”. The set commands actually only modify the RAM copy of variables in the system. In
general, the IP, WLAN and UART settings need a save and reboot to take effect, since they operate
at boot up time. For example you only associate, set the channel and get your ip address once at
power up.
Most of the other commands take effect immediately like the COMM settings and timers. This allows
temporary change of parameters “on the fly” to test features, minimizes power usage and saves on
flash re-write cycles.
Once all configuration is complete, the user must save the settings using the save command to store
the configuration data, otherwise it will not take effect upon reboot or reset. Multiple configurations
can be stored by using the save <filename> command, and these configurations can be loaded
using the load <filename> command.
WiFlyGSX-um.pdf 11/11/2009
www.rovingnetworks.com
support@rovingnetworks.com
Phone 408-395-6539
- 7 -
WiFly GSX
5SET Commands
These commands begin with “set”. There are 6 major categories.
ADHOC - controls the adhoc parameters
BROADCAST - controls the broadcast hello/heartbeat UDP message
COMM - communication and data transfer, timers, matching characters
DNS - DNS host and domain
FTP - FTP host address and login information
IP - IP settings
OPTION - optional and not frequently used parameters
SYS - system settings such as sleep and wake timers
TIME - timer server settings
UART - serial port settings such as baudrate and parity
WLAN - wireless interface settings, such as ssid, chan, and security options
5.1 ADHOC Parameters
set adhoc beacon <ms> sets the adhoc beacon interval in miliseconds. Default is 100.
set adhoc probe <num> sets the adhoc probe retry count. Default is 5. This is the number of
5.2 BROADCAST Parameters
set broadcast address <addr> sets the address to which the UDP hello/heartbeat message is
set broadcast interval <value> sets the interval at which the hello/heartbeat UDP message is
set broadcast port <port> sets the port number to which the UDP hello/heartbeat message is
5.3 COMM Parameters
set comm close <string> sets the ASCI string that is sent to the local UART when the TCP port
set comm open <string> sets the string that is sent to the local UART when the TCP port is
set comm remote <string> sets the string that is sent to the remote TCP client when the TCP
WiFlyGSX-um.pdf 11/11/2009
consecutive probe responses that can be lost before declaring
“ADHOC is lost” and disabling the network interface.
sent. The default address is 255.255.255.255
sent. Interval is specified in seconds. The value is a mask that is
compared to a free running seconds counter. For example if interval
= 0x7, a packet will be sent every 8 seconds. The minimum interval
value is 0x01 (every 2 seconds) and max value is 0xff (every 256
seconds). Setting the value to zero turns off the UDP broadcast. The
default interval is 7.
sent. The default port is 55555.
is closed. If no string is desired, use 0 as the <string> parameter.
Max string length is 32 characters. Default is *CLOS*
opened. If no string is desired, use 0 as the <string> parameter.
Max string length is 32 characters. Default is *OPEN*
port is opened. If no string is desired, use 0 as the <string>
parameter. Max string length is 32 characters. Default is *HELLO*
www.rovingnetworks.com
support@rovingnetworks.com
Phone 408-395-6539
- 8 -
WiFly GSX
set comm idle <secs>sets the Idle Timer Value. This is the number of seconds with no
transmit or receive data before the connection is closed
automatically. Default is 0, never disconnect on idle.
set comm match <value> sets matching character initiate forwarding data across the TCP/IP
connection. The value is entered as the decimal value of the of the
ASCII character. Default is 0, disabled. For more information see
section 10.4.
set comm size <value>sets the Flush Size value. This is the number of bytes to receive on
the UART before forwarding. 0 disables forwarding based on byte
count. Default is 64 bytes (at 9600). Maximum value = 1420 bytes.
NOTE: This value is set automatically when the baudrate is set, in
an attempt to optimize the link. It is assumed that higher baudrates
suggest larger buffer sizes and hence the size will increase at higher
baudrate settings.
set comm time <num>sets the Flush Timer. This is the number of 1 millisecond intervals
after the last UART byte is received before the data is sent over Wifi.
1 is the minimum value. Default is 10 (10 milliseconds). Setting this
value to 0 will disable forwarding based on time delay.
WiFlyGSX-um.pdf 11/11/2009
WiFly GSX
5.4 DNS Parameters
set dns address <addr> sets the IP address of the DNS sever. This is auto-set when using
DHCP, and needs to be set in STATIC IP or Auto-IP modes.
set dns name <string> sets the name of the host for TCP/IP connections.
set dns backup <string> sets the name of the backup host for TCP/IP connections.
5.5 FTP Parameters
set ftp filename <file> sets the name of the file transferred when issuing the “ftp u” or “ftp
g” commands.
set ftp addr <addr> sets the ftp server IP address.
set ftp remote <port> sets the ftp server remote port number (default is 21).
set ftp user <name> sets the ftp user name for accessing the FTP server.
set ftp pass <pass> sets the ftp password for accessing the FTP server.
5.6 IP Parameters
set ip address <addr> sets the IP address of the WiFly GSX module. If DHCP is turned on,
the IP address is assigned and overwritten during association with
the access point. IP addresses are “.” delimited. Note this is
different from the RN-111b module which is space delimited!
Example: “set ip a 10.20.20.1”
www.rovingnetworks.com
support@rovingnetworks.com
Phone 408-395-6539
- 9 -
5 ARP table
caching enabled
set ip backup <addr> sets a secondary host IP address.
set ip dchp <value> enable/disable DHCP mode. If enabled, the IP address, gateway,
netmask, and DNS server are requested and set upon association
with access point. Any current IP values are overwritten.
DHCP Cache mode can reduce the time it takes the module to wake
from deep sleep thus saving power. In cache mode, the lease time
is checked and if not expired the module uses the previous IP
settings. If the lease has expired the module will attempt to
associated and use DHCP to get the IP settings. DHCP cached IP
address does not survive a power cycle or reset.
Mode Protocol
0 DHCP OFF, use stored static IP address
1 DHCP ON, get IP address and gateway from AP
2 Auto-IP, generally used with Adhoc networks
3
4 Reserved for future use
set ip flags <value>Set IP related advanced functions. Value is a bit mapped flag
register. Default = 0x7.
Bit Function
0 TCP stack copies RX buffer before sending
1 Bypass Nagle algorithm and use TCP_NODELAY
2 TCP application level single retry enabled
3 RETRY multi - retries 4 times
4 DNS host address caching enabled
DHCP cache mode, Uses previous IP address if
lease is not expired (lease survives reboot)
WiFlyGSX-um.pdf 11/11/2009
WiFly GSX
set ip gateway <addr> sets the gateway IP address, If DHCP is turned on, the gateway IP
set ip host <addr> sets the remote host IP address. This command is used for making
set ip localport <num> sets the local port number.
set ip netmask <value> sets the network mask. If DHCP is turned on, the net mask is assign
set ip protocol <value> sets the IP protocol. Value is a bit mapped setting. To connect to the
6 Reserved
7-31 Reserved
address is assign and overwritten during association with the access
point.
connections from the WiFly module to a TCP/IP server at the IP
address <addr>.
and overwritten during association with the access point.
WiFly GSX module over TCP/IP such as Telnet the device must have
the use the TCP Server protocol / bit 2 set. To accept both TCP and
UDP use value = 3 (bit 1 and bit 2 set)
www.rovingnetworks.com
support@rovingnetworks.com
Phone 408-395-6539
- 10 -
set ip remote <value> sets the remote host port number.
5.7 OPTIONAL Parameters
set opt jointmr <msecs> Join timer is the time in milliseconds (default=1000) the join function
set opt replace <char> replacement character for spaces. The replacement character is
set opt deviceid <string> Configurable Device ID - can be used for storing serial numbers,
set opt password <string> TCP connection password. Used to challenge the remote device to
5.8 SYSTEM Parameters
set sys autoconn <secs> TCP mode: sets the auto connect timer. This command causes the
set sys autosleep <num> Sets the auto-sleep timer. 0 disables. If the protocol is set to UDP
<num> ms after transmission of the first UDP packet.
WiFlyGSX-um.pdf 11/11/2009
Bit Position Protocol
0 UDP
1 TCP Server & Client (Default)
Secure (only receive packets with IP address
2
3 TCP Client only
4 Future Use
will wait for the an access point to complete the association process.
This timer is also the timeout for the WPA handshaking process.
used when entering SSID and pass phrases that include space. This
is used by the WiFly GSX command parser only. Each occurrence of
the replacement character is changed into a space. The default is
“$” (0x24)
product name or other device information. This information is sent
as part of the broadcast hello packet that is sent as a UDP. The
current value can be shown with the “get option” or “show deviceid”
commands. Max string size is 32 bytes. The default is “WiFly-GSX”.
authenticate the connection. When set all incoming connections will
be challenged and the first characters sent must match the stored
password or the connection will be closed. When the password is set
the WiFly module will send the string “PASS?” to the remote
connection. All characters in the string must be sent in one TCP
packet. Max string size is 32 bytes. To disable the password feature
use string=0 which is the default.
module periodically connect to the host. The timer <secs>
determines how often to connect to the stored remote host. If set to
1, the module will only make one attempt to auto connect upon
power up. If set to 2 or greater auto connect will re-open the
connection after the connection is closed. Default=0 disables.
ONLY, this timer is used as a quick sleep function. Device will sleep
www.rovingnetworks.com
support@rovingnetworks.com
Phone 408-395-6539
- 11 -
WiFly GSX
matches the
store host IP)
set sys iofunc <value>sets the IO port alternate functions. Bit-mapped value. For more
details see section 10.5
set sys mask <mask>sets the IO port direction mask. Bit-mapped value. For more
information see section 10.5
set sys printlvl <value>sets numerous print functions. 0 = quiet 1 = connect information
Default is 1.
set sys output <value> <mask> sets output PIO pins to HIGH or LOW. Bit-mapped value.
Optional mask only sets a subset of pins.
set sys sleep <secs>sets the sleep timer. 0 disables.
NOTE: If not using Sensor pins to wake the module, be sure to set
the wake timer before issuing the sleep timer or the module will not
wake up.
See section 10.1 for more details on using system timers
set sys trigger <value>sets the sensor input(s) to wake on (0-3). Bit-mapped value. 0
disables.
set sys wake <secs>sets the auto wake timer. 0 disables. See section 10.1 for more
details on using system timers
WiFlyGSX-um.pdf 11/11/2009
WiFly GSX
5.9 TIME Server Parameters
set time address <addr> sets the time server address. (sNTP servers)
set time port <num> sets the time server port number. Defaults to 123 which is almost
always the sNTP server port.
set time enable <value>Enable or disable fetching time from the specified sNTP time server.
Default=0= disabled. A value or 1 gets time only once on power up.
Any value > 1 gets time continuously every <value> minutes.
5.10 UART Parameters
set uart baud <rate> set the UART baud rate. Valid settings are {2400, 4800, 9600,