This document describes the commands to operate the RS9113-WiSeConnect Module Family for
Bluetooth. Bluetooth stack is used for Host layers and the commands describe various profiles supported
by Bluetooth stack. This document should be used by the developer to write software on Host MCU to
control and operate the module.
silabs.com | Building a more connected world. Page 3
Figure 1: Bluetooth Software Architecture ................................................. 11
Figure 2: Command frame format .............................................................. 13
Figure 3 Sample flow in BT master Mode while Link key reply is negative 120
Figure 4 Sample flow in BT master Mode while Link key reply is positive 121
Figure 5 Sample flow in BT Slave Mode .................................................... 122
Figure 6 Sample flow in BT Master Mode and do SPP Tx ........................... 123
Figure 7 Sample flow in BT Slave Mode and do SPP Tx ............................. 124
Figure 8 AT command flow in BT Master mode ......................................... 125
Figure 9 AT command flow in BT Slave mode ........................................... 126
silabs.com | Building a more connected world. Page 9
This document describes the commands to operate RS9113-WiSeConnect Module Family in
Bluetooth. The parameters in the commands and their valid values with the expected
responses from the modules are also described. The document should be used by the
developer to write software on the Host MCU to control and operate the module.
1.1 Bluetooth Software Programming
The following sections describe Bluetooth software architecture and commands to operate
and configure the RS9113 modules in Bluetooth.
1.2 Bluetooth Software Architecture
Figure 1: Bluetooth Software Architecture Application
The application layer launches the Bluetooth stack and uses the commands to access
various profiles on the remote Bluetooth devices over the network.
1.2.1 Profiles
There are number of Bluetooth profiles defined in the Bluetooth specification. We currently
support profiles including Serial Port Profile (SPP). We provide framework to develop new
profiles very easily. We will continue to add new profiles.
1.2.2 Bluetooth Core
The Bluetooth core contains the following higher layers of the stack.
RFCOMM
SDP
1.2.3 L2CAP
HCI Generic Driver
HCI BUS Driver
silabs.com | Building a more connected world. Page 11
RFCOMM is a transport protocol based on L2CAP. It emulates RS-232 serial ports. The
RFCOMM protocol supports up to 60 simultaneous connections between two BT devices.
RFCOMM provides data stream interface for higher level applications and profiles.
SDP (Service Discovery Protocol) provides a means for applications to discover which
services are available and to determine the characteristics of those available services. SDP
uses an existing L2CAP connection. Further connection to Bluetooth devices can be
established using information obtained via SDP.
L2CAP (Logical Link Control and Adaptation Protocol) provides connection-oriented and
connectionless data services to upper layer protocols with data packet size up to 64 KB in
length. L2CAP performs the segmentation and reassemble of I/O packets from the
baseband controller.
HCI Generic Driver – This driver implements the HCI Interface standardized by Bluetooth
SIG. It establishes the communication between the Stack and the HCI Firmware in the
Bluetooth hardware. It communicates with the Bluetooth controller hardware via the HCI
Bus driver.
HCI Transport Layer Driver – The Bluetooth controllers are connected to the host using
interface like UART, USB, SDIO, SPI, USB-CDC etc. The HCI Transport Layer Driver provides
hardware abstraction to the rest of the Bluetooth stack software. This driver makes it
possible to use Bluetooth stack with different hardware interfaces.
1.2.4 OS Abstraction Layer
This layer abstracts RTOS services (semaphores, mutexes and critical sections) that are used
by the whole stack and the applications. The stack, which is designed in an RTOSindependent manner, can be used with any RTOS by porting this layer. It is also possible to
use the Bluetooth stack standalone without RTOS.
1.3 Bluetooth Command Format
This section explains the general command format. The commands should be sent to the
Module in the specified format.
The commands are sent to the module and the responses are read from the module using frame
write/frame read (as mentioned in the preceeding sections). These commands are called as
command frames.
The format of the command frames are divided into two parts:
1. Frame descriptor
2. Frame Body(Frame body is often called as Payload)
Command frame format is shown below. This description is for a Little Endian System.
silabs.com | Building a more connected world. Page 12
Three types of frames will get exchanged between the module and the
host.
1.Request/Command frames - These are sent from Host to Module. Each Request/ Command has
an asscociated response with it.
2.Response frames – These are sent from Module to Host. These are given in response to the
previous Request/Command from the Host. Each command has a single reponse.
3.Event frames – These are sent from Module to Host. These are given when
a)There are multiple reponses for a particular Request/ Command frame
b) There is Asynchonous message to be sent to host.
The following are the types of frame requests and responses and the
corresponding codes. The commands are different for both Classic and LE
modes. The below table lists the Command, Response and Event frames
in Classic mode.
In both the modes, the corresponding code is to be filled in W1 [15:0]
mentioned in the table above.
silabs.com | Building a more connected world.Page 14
oUSB 2.0 offers the user a longer bandwidth with increasing
data throughput.
oUSB 2.0 supports additional data rate of 480 Mbits/Sec in
addition to 1.5Mbits/Sec and 12 Mbits/Sec.
Supports USB-CDC
1.4.3 SPI
This section describes RS9113-WiSeConnect module SPI interface and the
commands & processes to operate the module using the SPI interface.
Features
Supports 8-bit and 32-bit data mode
Supports flow control
Communication through SPI
The RS9113-WiSeConnect module can be configured and operated from
the Host by sending commands through the SPI interface.
SPI Settings
The SPI Interface is a full duplex serial Host interface, which supports 8bit and 32-bit data mode. The SPI interface of the module consists of the
following signals:
SPI_MOSI (Input) – Serial data input for the module.
SPI_MISO (Output) – Serial data output for the module.
SPI_CS (Input) – Active low slave select signal. This should be low when
SPI transactions are to be carried out.
SPI_CLK (Input) – SPI clock. Maximum value allowed is 80 MHz
INTR (Output) – Active high (Default), Active low, level interrupt output
from the module.
The module acts as a SPI slave only while the Host is the SPI master.
Following parameters should be in the host SPI interface.
CPOL (clock polarity) = 0,
CPHA (clock phase) = 0.
Interrupt
The module’s INTERRUPT output signal should be connected to the
interrupt input of the Host MCU. The INTERRUPT signal is an active
high, level triggered signal. It is raised by the module in the following
cases:
1) When the module needs to indicate to the Host that it has received
data from the remote terminal and the data needs to be read by the
Host.
2) When the module needs to indicate to the Host that a response to a
command sent by the Host is ready to be read from the module.
silabs.com | Building a more connected world.Page 19
To indicate to the Host that it should read a CARD READY message from
module. This operation is described in the subsequent sections.
1.5 Bluetooth Classic commands
The following sections will explain various RS9113-WiSeConnect Bluetooth Classic
commands, their structures, the parameters they take and their responses. For API
prototypes of these commands, please refer to the API Library Section
Note: All BT/BLE AT command are case sensitive and lower case.
NOTE:
1. A new command has to be called only after getting the response for the previous
command
2. In the following commands, wherever the BD Address is applicable, it should be given in
hex format and upper case characters
Please refer to the example commands in each section for more information.
1.5.1 Generic commands
1.5.1.1 Set Operating Mode
Description:
This is the first command that needs to be sent from the Host after receiving card ready
frame from module. This command configures the module in different functional modes.
Sets the mode of operation. oper_mode contains two parts <wifi_oper_mode,
coex_mode>. Lower two bytes represent wifi_oper_mode and higher two bytes represent
coex_modes.
0 - Wi-Fi Client Mode. The module works as a normal client that can connect to an Access
Point with different security modes other than enterprise security.
1 – Wi-Fi Direct™ or Autonomous GO. In this mode, the module either acts as a Wi-Fi Direct
node or as an Autonomous GO (with intent value 16), depending on the inputs supplied for
the command “Configure Wi-Fi Direct Peer-to-Peer Mode” in RS9113-WiseConnect-
Software-PRM-v1.7.6.pdf at docs folder in release package.
. In Autonomous GO and in Wi-Fi Direct GO mode, a maximum of 4 client devices are
supported.
2 – Enterprise Security Client Mode. The module works as a client that can connect to an
Access Point with WPA/WPA2-Enterprise security.
6 – Access Point mode. In this mode, the module acts as an Access Point, depending on the
inputs supplied for the command “Configure AP Mode” in RS9113-WiseConnect-Software-
PRM-v1.7.6.pdf at docs folder in release package.
. In Access Point mode, a maximum of 8 client devices are supported.
8 - PER Mode. This mode is used for calculating packet error rate and mostly used during RF
certification tests.
9 – Concurrent mode. This mode is used to run module in concurrent mode. In concurrent
mode, host can connect to a AP and can create AP simultaneously.
NOTE: In concurrent mode
1.AP MAC address last byte will differ and it will be one plus the station mode MAC last
byte.
2.In TCP/IP non bypass mode, Broadcast/Multicast packet will go to first created
interface (e.g. if Station mode connects first the broadcast/multicast packet will go to
network belonging to station mode).
3.IPV6 support is not present in the current release.
coex_mode bit values: enables respective protocol
BIT 0 : Enable/Disable WLAN mode.
0 – Disable WLAN mode
1 – Enable WLAN mode
BIT 1 : Enable/Disable ZigBee mode.
0 – Disable ZigBee mode
silabs.com | Building a more connected world. Page 21
Following table represents possible coex modes supported:
Table 5: Coex Modes Supported
NOTE: Following CoeX mode is supported currently
1.WLAN STA+BT (Only TCP/IP Bypass mode)
2.WLAN STA + BLE
3.WLAN STA + ZB
4.BLE + ZB
5.WLAN AP + BT (Only support is present in TCP/IP Bypass mode)
6.WLAN AP + BLE
7.WLAN AP + ZB
To select proper CoeX mode please refer
WiSeConnect_TCPIP_Feature_Selection_v1.7.6.xlsx at docs folder given in the release
package
NOTE: If coex mode enabled in opermode command, then BT/BLE or ZigBee protocol will
start and give corresponding card ready in parallel with opermode command response
(which will be handled by corresponding application).
tcp_ip_feature_bit_map[14]- To send configuration details to host on submitting
configurations on wireless configuration page
0 - Do not send configuration details to host
1 - Send configuration details to host
tcp_ip_feature_bit_map[15]- To enable FTP client
0 - To disable FTP client
1 - To enable FTP client
tcp_ip_feature_bit_map[16]- To enable SNTP client
0 - To disable SNTP client
1 - To enable SNTP client
tcp_ip_feature_bit_map[17]- To enable IPv6 mode
0 - To disable IPv6 mode
1 - To enable IPv6 mode
IPv6 will also get enabled if DHCP v6 client/DHCP v6 server is enabled irrespective of
tcp_ip_feature_bit_map[17].
tcp_ip_feature_bit_map[19]- To MDNS and DNS-SD
0 - To disable MDNS and DNS-SD
1 - To Enable MDNS and DNS-SD
tcp_ip_feature_bit_map[20]- To enable SMTP client
0 - To disable SMTP client
1 - To Enable SMTP client
tcp_ip_feature_bit_map[21 - 24]- To select no of sockets
possible values are 1 to 10 . If User tried to select more than 10 sockets it will be reset to 10
sockets only . Default no of sockets is 10, if this selection is not done by the user.
tcp_ip_feature_bit_map[25]- To select Single SSL socket
0 – selecting single socket is Disabled
1- Selecting single socket is enabled
NOTE: By default two SSL sockets are supported
tcp_ip_feature_bit_map[26]- To allow loading Private & Public certificates
0 – Disable loading private & public certificates
1- Allow loading private & public certificates
silabs.com | Building a more connected world. Page 25
NOTE : If Secure handshake is with CA – certificate alone , then disable loading Private and
public keys and erase these certificates from the flash using load_cert API .
Or if Secure handshake needed verification of Private and Public keys , then enable loading
of private and public keys.
tcp_ip_feature_bit_map[27]- To load SSL certificate on to the RAM
tcp_ip_feature_bit_map[28]- To enable TCP-IP data packet Dump on UART2
tcp_ip_feature_bit_map[29]- To enable POP3 client
0 - To disable POP3 client
1 - To Enable POP3 client
tcp_ip_feature_bit_map[13], tcp_ip_feature_bit_map[18], tcp_ip_feature_bit_map[30:31]-All
set to ‘0’.
NOTE:
SSL(tcp_ip_feature_bit_map[10], tcp_ip_feature_bit_map[12]) is supported only in
opermode 0
NOTE:
Feature selection utility is provided in the package. WiSeConnect device supports the
selected features combination only if it is feasible according to the
WiSeConnect_TCPIP_Feature_Selection_v1.7.6.xlsx at docs folder given in the release
package.
custom_feature_bit_map:
This bitmap used to enable following custom features:
BIT[2]: If this bit is set to ‘1’, the DHCP server behavior, when the module is in AP mode,
changes. The DHCP server, when it assigns IP addresses to the client nodes, does not send
out a Gateway address, and sends only the assigned IP and Subnet values to the client. It is
highly recommended to keep this value at ‘0’ as the changed behavior is required in only
very specialised use cases and not in normal AP functionality. The default value of this bit is
‘0’.
BIT[5]: If this bit is set to ‘1’, Hidden SSID is enabled in case of AP mode. The default value of
this bit is ‘0’.
BIT[6]:To enable/disable DNS server IP address in DHCP offer response in AP mode.
1- In AP mode, DHCP server sends DNS server IP address in DHCP offer
0- Not to include DNS server address in DHCP offer response
BIT[8]: - Enable/Disable DFS channel passive scan support
1- Enable
0-Disable
BIT[9] : – To Enable/disable LED(GPIO_16) after module initialization(INIT).
1- Enable LED support
silabs.com | Building a more connected world. Page 26
BIT[12]:Used to enable or disable AP blacklist feature in client mode during roaming or
rejoin. By default module maintains AP blacklist internally to avoid some access points.
1 – Disable AP black list feature
0 – Enable AP black list feature
BIT[13-16]:Used to set the maximum number of stations or client to support in AP or Wi-Fi
Direct mode. Possible values are 1 to 8 in AP mode and 1 to 4 in Wi-Fi Direct mode.
Note1: If these bits are not set, default maximum clients supported is set to 4.
BIT[17] : to select between de-authentication or Null data (with power management bit
set) based roaming, Depending on selected method station will send deauth or Null data to
connected AP when roam from connected AP to newly selected AP.
0 – To enable de-authentication based roaming
1 – To enable Null data based roaming
BIT[18]: Reserved
BIT[19]: Reserved
BIT[20]: Used to start/stop auto connection process on bootup, until host triggers it using
Trigger Auto Configuration command
1 – Enable
0 – Disable
BIT[22]: Used to enable per station power save packet buffer limit in AP mode. When
enabled, only two packets per station will be buffered when station is in power save
1 – Enable
0 – Disable
BIT[23] : To enable/disable HTTP/HTTPs authentication
1 - Enable
0 – Disable
BIT[24]: To enable/disable higher clock frequency in module to improve throughputs
1 - Enable
0 – Disable
BIT[25]: To give HTTP server credentials to host in get configuration command
silabs.com | Building a more connected world. Page 27
1 – To include HTTP server credentials in get configuration command response
0 – To exclude HTTP server credentials in get configuration command response
BIT[26]: To accept or reject new connection request when maximum clients are connected
in case of LTCP.
1 - Reject
0 – Accept
By default this bit value is zero.
When BIT[26] is zero: For a LTCP socket when maximum clients are connected if a new
connection request is received, then this connection request will not be rejected.
Instead module will maintain this connection request in LTCP pending list.
This request will be served when any of the connected client is disconnected.
When BIT[26] is set: For a LTCP socket when maximum clients are connected if a new
connection request is received, then this connection request will be rejected
immediately. Module will not maintain this connection request in LTCP pending list.
BIT[27]: To enable dual band roaming and rejoin feature this bit is used.
1 - Enable dual band roaming and rejoin
0 – Disable dual band roaming and rejoin.
BIT[28]: To enable real time clock from host
1 - Enable real time clock feature given by host
0 – Disable real time clock feature
BIT[29]: To Enable IAP support in BT mode
1 - Enable
0 – Disable
BIT[31]: This bit is used to validate extended custom feature bitmap.
1 – Extended feature bitmap valid
0 – Extended feature bitmap is invalid
BIT[0:1],BIT[3:4],BIT[7],BIT[21], BIT[30]: Reserved, should be set to all ‘0’.
NOTE: For UART/USB-CDC in AT mode:
When user does not give any tcp_ip_feature_bit_map value then default settings for client
mode, Enterprise client mode, WiFi-Direct mode are:
HTTP server, DHCPv4 client, DHCPv6 client and JSON objects are enabled.
When user does not give any tcp_ip_feature_bit_map value then default settings for Access
point mode are:
HTTP server, DHCPv4 server, DHCPv6 server and JSON objects are enabled.
Parameters- feature_bit_map, tcp_ip_feature_bit_map and custom_feature_bit_map are
optional in opermode command in UART mode for AT mode. If user does not give these
parameters then default configuration gets selected, as explained above, based upon the
operating mode configured.
silabs.com | Building a more connected world. Page 28
If opermode is 8 (PER mode is selected) - feature_bit_map, tcp_ip_feature_bit_map and
custom_feature_bit_map can be ignored or not valid. Set to zero.
ext_custom_feature_bit_map:
This feature bitmap is extention of custom feature bitmap and is valid only if BIT[31] of
custom feature bitmap is set. This enables the following feature.
BIT[0]: To enable antenna diversity feaute.
1 – Enable antenna diversity feature
0 – Disble antenna diversity feature
BIT[1]:This bit is used to enable 4096 bit RSA key support
1 – Enable 4096 bit RSA key support
0 – Disable 4096 bit RSA key support
Note: This bit is required to set for 4096 bit RSA key support. If key size is 4096 bit, module
will use software rountine for exponentiation, so connection time will increase.
BIT[2]:This bit is used to set the module type.This is applicable only if manufacturing
software version of the module is below 3.1 (i.e. manufacturing version 3 and
subversion 1).
0 - Module will ignore the module type given through the set region
command.
1 - Module will accept the module type given through the set region
command.
bt_custom_feature_bit_map:
Currently this bitmap is not valid in case of BT-Classic.
Response:
AT Mode:
Binary Mode:
There is no response payload for this command.
Example:
AT Mode:
at+rsi_opermode=327680,0,1,0\r\n
Response:
OK
bt_loaded\r\n
silabs.com | Building a more connected world. Page 29
Description: This is used to indicate the capabilities of the local device to other devices.
It is a parameter received during the device discovery procedure on the BR/EDR physical
transport, indicating the type of device. The Class of Device parameter is only used on
BR/EDR and BR/EDR/LE devices using the BR/EDR physical transport.