Windows Mobile 6.5 GSM and CDMA Radio Architecture
Windows Mobile 6.5 managed heterogeneous cellular networks, including multi-band GSM and CDMA technologies, through a modular telephony architecture centered on the Radio Interface Layer (RIL). By abstracting hardware-level radio commands away from the core operating system through the CellCore subsystem, the platform enabled Original Equipment Manufacturers (OEMs) to support diverse baseband processors, multi-band frequency switching, and hybrid dual-mode "world phone" capabilities using a unified software interface.
The Telephony Architecture: CellCore and RIL
At the core of the Windows Mobile 6.5 cellular framework was the CellCore subsystem. CellCore acted as the intermediary between the high-level application layer—which utilized the Telephony Application Programming Interface (TAPI) and Extended TAPI—and the low-level baseband radio hardware.
CellCore relied on the Radio Interface Layer, which was split into two primary components:
- RIL Proxy (
ril.dllsystem component): Managed inter-process communication between CellCore and the hardware driver, serializing API calls, managing notification callbacks, and ensuring thread safety. - RIL Driver (OEM-implemented driver): A dynamic-link library tailored to the device's specific baseband modem (such as Qualcomm or Texas Instruments chipsets). It translated high-level RIL commands from the OS into low-level baseband commands and returned responses or unsolicited network events back up the stack.
The communication model operated asynchronously. The OS dispatched command requests to the RIL driver with unique context handles, allowing the radio hardware to execute network tasks—such as registration, roaming checks, and data handshakes—without blocking the operating system's execution threads.
Managing Multi-Band GSM Radios
Multi-band GSM support (e.g., 850/900/1800/1900 MHz Quad-band, plus UMTS/HSDPA bands) was primarily handled by coupling 3GPP-standardized AT commands with modem-level firmware automation:
- Frequency Offloading: The actual RF tuning, power amplification, and frequency handovers were executed autonomously by the baseband processor's digital signal processor (DSP).
- RIL Network Selection APIs: Windows Mobile 6.5 used
specific RIL functions, such as
RIL_SetNetworkSelectionModeandRIL_SetBand, allowing users to lock onto specific frequency bands or defer to automatic baseband scanning. - SIM Management: The CellCore stack interfaced with
the Subscriber Identity Module (SIM) via RIL APIs
(
RIL_GetSubscriberNumbers,RIL_ReadSimRecord), dynamically configuring network parameters according to the home network operator’s Mobile Country Code (MCC) and Mobile Network Code (MNC).
Supporting CDMA and EV-DO Stacks
CDMA (IS-95, CDMA2000 1xRTT, and EV-DO) networks lacked the standard Hayes-compatible AT command uniformity found in early GSM systems. Windows Mobile 6.5 supported CDMA via:
- Proprietary Baseband Interfaces: OEMs implemented custom RIL drivers that communicated with Qualcomm CDMA chipsets using binary protocols (such as Qualcomm's Diagnostic Monitor protocol or custom RPC mechanisms) rather than standard text-based AT commands.
- PRL and Provisioning: Without removable SIM cards on traditional CDMA networks, identity and roaming rules were determined by a Preferred Roaming List (PRL) stored in non-volatile RAM (NVRAM). The RIL driver integrated specialized APIs to read, validate, and update the PRL over-the-air (OTA) using standards like OTASP and OTAPA.
- Separate Voice and High-Speed Data Channels: EV-DO hybrid networks required the RIL to coordinate simultaneous or suspended states between 1xRTT voice channels and high-speed EV-DO packet data services.
Dual-Mode "World Phone" Integration
To enable devices that operated on both CDMA domestically and GSM/UMTS while roaming internationally, Windows Mobile 6.5 utilized hybrid RIL drivers:
- Dynamic Stack Switching: The RIL exposed configuration toggles that allowed the phone to disable the CDMA radio path and re-initialize the baseband into GSM/UMTS mode. This was coordinated either automatically based on signal availability or manually via OEM-supplied network selection applets.
- Dual Provisioning Paths: The system supported hybrid identity handling by reading network parameters from an internal NVRAM database for CDMA operations, while initializing a physical SIM or RUIM (Removable User Identity Module) when operating in GSM or hybrid roaming modes.
- Unified Connection Manager: The Windows Mobile Connection Manager abstracted the physical differences between CDMA packet-data channels and GSM GPRS/EDGE/UMTS PDP contexts, providing third-party applications with a standard IP socket interface regardless of the active underlying radio stack.