RCP Mode (Controller Only on NWP)#
In RCP (Radio Co-Processor) mode, only the Bluetooth Low Energy (BLE) Controller runs on the Network Processor (NWP), and the BLE Host stack runs on the external host processor (typically an MPU running Linux or similar OS).
Note: RCP mode for BLE uses a Linux driver and is documented separately from WiSeConnect SDK. While WiSeConnect SDK does not support RCP mode for Wi-Fi, RCP mode for BLE is supported through the SiWT917 Linux driver.
Initialization in RCP Mode#
The BLE controller is brought up by loading the SiWT917 Linux driver; controller initialization is through HCI once the driver is loaded. Opermode and interface configuration (for example, SDIO, BLE/Wi‑Fi operating mode) are done when loading the driver (for example, through insmod parameters). For driver installation, bring-up steps, and BLE configuration, see Getting Started with SiWT917 in RCP Mode and the BLE Configuration and Linux Driver Setup subsections below.
RCP Mode Architecture#
RCP Architecture:


Stack Location:
BLE Controller: Runs on NWP (Link Layer, Physical Layer)
BLE Host: Runs on external host (GAP, GATT, L2CAP, etc.)
Host Interface: HCI (Host Controller Interface). On Si917, RCP mode supports SDIO only (not SPI or UART).
Host Responsibilities:
BLE Host stack implementation
Application logic
HCI command/event handling
NWP Responsibilities:
BLE Controller functionality
Radio management
Link Layer operations
RCP Mode Characteristics#
Advantages:
Host Control: Full control over host stack implementation
Standard Interface: Uses standard HCI interface
Flexibility: Host can implement custom host stack features
Integration: Easier integration with existing host stack implementations
Considerations:
Host Stack Required: Host must implement BLE host stack
Complexity: More complex than NCP mode
Host Requirements: Requires capable host processor (MPU)
BLE Operations in RCP Mode#
Linux Driver Setup:
RCP mode requires the SiWT917 Linux driver (Open Source Driver - OSD)
Driver must be compiled and installed on the Linux host system
Driver handles HCI communication between Linux host stack and SiWx917 NWP controller
See Getting Started with SiWT917 in RCP Mode for driver installation and setup
HCI Interface:
Communication through standard Bluetooth HCI commands and events
On Si917 RCP, HCI runs over SDIO only
Linux Bluetooth stack (BlueZ) implements HCI command/event handling
Driver translates between Linux Bluetooth subsystem and SiWx917 controller
BLE Configuration: RCP mode BLE configuration is performed through Linux driver module parameters and kernel configuration:
Enable Bluetooth Stack (Enable Bluetooth Stack):
Configure Linux kernel to include Bluetooth subsystem support
Enable required Bluetooth modules (RFCOMM, BNEP, CMTP, HIDP)
Compile and load Bluetooth kernel modules
Common BLE Parameters (Common BLE Parameters):
Configure BLE RF type (internal/external)
Set BLE transmit power index (
ble_tx_pwr_inx)Configure BLE features through driver module parameters (
insmod)
BLE Gain Table (BLE Gain Table):
Program region-based maximum power values for BLE
Configure power levels for different regions/countries
BLE Country Region (BLE Country Region):
Set BLE region independently from Wi-Fi region
Configure region-specific power and channel restrictions
Power save mode: Vendor HCI commands are available to configure BLE power save (for example, enable/disable, ULP/LP mode, sleep duration). See Power Save Modes and Configuration in the RCP developer documentation.
Event Handling:
Controller events received through HCI from SiWx917 NWP
Linux Bluetooth stack (BlueZ) processes HCI events
Application receives processed events through Linux Bluetooth APIs (DBus, BlueZ APIs)
Reference: See RCP Mode BLE Configuration Overview for complete BLE configuration guidance in RCP mode.
APIs Used in This Section#
Topic | APIs / symbols | Reference |
|---|---|---|
Driver load and module parameters |
| Getting Started with SiWT917 in RCP Mode, Common BLE Parameters |
Linux Bluetooth stack | Bluetooth subsystem in kernel; protocol and profile support as required by the application | |
HCI | Standard Bluetooth HCI commands and events; vendor HCI commands for BLE power save (ULP/LP mode, sleep duration) |