1xBTS 1xBTS

EV-DO (HRPD)

EV-DO (also called HRPD) is a packet-data air interface that runs alongside CDMA2000 1x on its own carrier. Instead of sharing the voice channel like 1x packet data, it dedicates a carrier to data and adapts the rate to each device, reaching far higher downlink speeds.

1xBTS runs EV-DO as a single-carrier, single-sector data cell with Rev 0 and Rev A support. A device finds the carrier, attaches to the HRPD AN, brings up its data session, and gets an IP address from the same PCF/PDSN packet core that 1x packet data uses — so a handset can browse, run a speed test, or pass any IP traffic over it.

Status: EV-DO Rev 0 and Rev A data work over the air today. Rev 0 downlink has been confirmed up to about 1.4 Mbps to a real handset; Rev A has been tested at about 2.6 Mbps downlink and 1.4 Mbps uplink as data throughput after protocol overhead. It is a single-carrier, single-sector data cell with basic security — see Limitations.

EV-DO vs 1x Packet Data

Both deliver IP data and both terminate in the same PDSN and IP pool. The difference is speed and how the carrier is used.

1x Packet DataEV-DO (HRPD)
CarrierShared with voiceDedicated data carrier
Downlink speedUp to 153.6 kbpsRev 0 confirmed to ~1.4 Mbps; Rev A tested at ~2.6 Mbps data throughput
Uplink speed1x reverse traffic channelRev 0 up to 153.6 kbps; Rev A tested at ~1.4 Mbps data throughput
RateFixed per channelAdapts to the device
Best forLight data next to voiceHigher-speed data

If you only need occasional data on the same carrier as voice, 1x packet data is simpler. For higher throughput, add an EV-DO carrier.

What You Need

  • A device that supports EV-DO (most CDMA data devices and many handsets do).
  • A radio with enough instantaneous bandwidth for the derived 1x + EV-DO composite span.
  • The packet core (PCF/PDSN) that already serves 1x packet data.

Set up Packet Data Setup first. EV-DO reuses the same IP pool, transport, and DNS settings.

Choose Carrier Mode

EV-DO mode is selected by the evdo block in bts.local.json, not by a separate HRPD radio profile. Use your normal radio config for the SDR backend and turn evdo.enabled on.

ModeConfigRF profile
1x onlyevdo.enabled: false4x chip-rate sample clock, 1.5 MHz RF bandwidth
1x + EV-DOevdo.enabled: true and default modeDerived composite profile. The runtime chooses the smallest 4x, 8x, or 16x span that fits the 1x and HRPD carriers.
EV-DO onlyevdo.enabled: true, mode: "hrpd_only"Supported HRPD-only deployment with a 4x chip-rate sample clock and 1.5 MHz RF bandwidth.

In hrpd_only mode, the runtime tunes the reverse receiver directly to the HRPD carrier and disables the 1x access and traffic receiver pipelines.

For 1x + EV-DO, the carrier separation must fit within the supported 16x cap. If the selected 1x and HRPD channels do not fit, startup fails with a config error instead of silently changing channels.

Composite Carrier Spacing

Composite mode compares the derived 1x and HRPD center frequencies, not the raw channel numbers. Their centers must be at least 1.18 MHz apart, so the ±590 kHz passbands specified by 3GPP2 C.S0002 and C.S0024 do not overlap; their transition bands may overlap. On the BC0 and BC1 channel rasters, the smallest representable passing separation is 1.20 MHz: Δ40 in BC0 or Δ24 in BC1. The conventional spacings—BC0 Δ41 (1.23 MHz) and BC1 Δ25 (1.25 MHz)—also pass. Both channels must be valid in the configured band subclass.

Enable the Carrier

Turn on EV-DO in config/bts.local.json:

{
"evdo": {
"enabled": true
}
}

EV-DO ships disabled, with working single-sector defaults for everything else — flipping enabled is all you need. To customize, add any of these to the same evdo block:

FieldWhat it does
channelBand-class channel for the EV-DO carrier. Defaults to a channel clear of your 1x carrier within the derived composite RF span. For EV-DO-only deployments, channels 589, 630, and 770 are good starting points.
modecomposite for 1x + EV-DO (default), or hrpd_only for EV-DO-only deployment
advertise_on_1xTells hybrid devices on your 1x carrier that EV-DO is available
gainTransmit gain for the EV-DO carrier, relative to 1x
overhead.sector_idIdentifies this sector to devices
overhead.color_codeDistinguishes this sector’s coverage area; devices use it with the sector ID
overhead.subnet_maskDefines the HRPD UATI subnet devices compare against this sector when they attach

Do not set TX/RX sample rates or RF bandwidths in bts.local.json or the radio profile; the BTS derives them at startup from the carrier mode and channel spacing.

Using a Sprint phone? Start with the included Sprint carrier profile.

What Happens

When EV-DO is enabled, the device:

  1. Finds and locks onto the EV-DO carrier.
  2. Attaches and is assigned an identity for the data session.
  3. Opens a data connection and brings up PPP.
  4. Receives an IP address from the mobile pool and starts passing traffic.

Hybrid devices that also use 1x can be told about the EV-DO carrier from the 1x side, so they find it automatically. The 1x and HRPD sides remain separate radio paths: 1x packet data uses SO7/SO33 traffic channels through the BSC, while EV-DO packet data uses HRPD sessions through the AN.

Speed

EV-DO schedules forward-link packets by device and by the rate each device reports it can receive. With one active download, that device can use the full carrier; with multiple active devices, they share the sector’s data capacity. Confirmed downlink to a real handset reaches about 1.4 Mbps; uplink is up to 153.6 kbps on HRPD Rev 0. With Rev A, tested data throughput after protocol overhead is about 2.6 Mbps downlink and 1.4 Mbps uplink. The bundled speed-test app includes 1 MiB and 2 MiB downloads for checking throughput.

Seeing Sessions

The web UI’s HRPD Sessions page lists devices currently attached to the EV-DO carrier and their session state. Session activity is also published to the event bus for monitoring.

Verify

  1. Start the stack with evdo.enabled: true and confirm the carrier is on the air.
  2. Bring an EV-DO device into coverage. It should find the carrier and attach.
  3. Open the web UI’s HRPD Sessions page; the device should appear with an active session.
  4. Once it has an IP, run a download from the bundled speed test to confirm throughput.

If a device attaches but never gets data flowing, check that the packet core is up and that the device supports EV-DO rather than only 1x.

Limitations

  • One carrier and one sector. No handoff between sectors.
  • One carrier mode at a time. Use composite when you want 1x and EV-DO together, or hrpd_only for an EV-DO-only deployment.
  • Security is basic. EV-DO air-link encryption and carrier-grade AAA are not implemented. Mobile IPv4 MN-HA authentication is supported separately by the PDSN.
  • Sessions don’t survive a restart.

See Also