Carrier Profiles
Carrier profiles let you switch the network identity and RF channel for the
devices you want to use without maintaining a separate copy of bts.json.
| Devices | What to run | Final local settings |
|---|---|---|
| Verizon | Omit --bts-profile | config/bts.local.json |
| Sprint | Add --bts-profile sprint | config/bts.sprint.local.json |
Verizon (Default)
The stock config/bts.json uses the Verizon profile. Start 1xBTS normally:
cargo run --release -p cdma-nib -- \ --config-dir config \ --radio-config config/radio_bladerf_micro2.jsonYour existing config/bts.local.json settings are applied on top of the stock
configuration.
Sprint
Add --bts-profile sprint when starting 1xBTS:
cargo run --release -p cdma-nib -- \ --config-dir config \ --bts-profile sprint \ --radio-config config/radio_bladerf_micro2.jsonThe included Sprint profile selects the Sprint Band Class 1 carrier and network identity and enables its adjacent EV-DO carrier. Settings unrelated to the profile continue to come from your normal configuration.
| Setting | Included value |
|---|---|
| 1x carrier | Band Class 1, channel 50 |
| Network identity | SID 4107, any NID |
| EV-DO carrier | Band Class 1, channel 75 |
| EV-DO subnet | 00840AC0/26 |
The two carriers are 1.25 MHz apart, the normal adjacent-carrier spacing for Band Class 1.
Omit --bts-profile the next time you start 1xBTS to return to the stock
Verizon settings.
Adjust Sprint Locally
The Sprint profile intentionally wins conflicting channel and network values
from bts.local.json. Put adjustments that should win while Sprint is selected
in config/bts.sprint.local.json:
{ "pilot_offset": 32, "evdo": { "gain": 0.8 }}Both local files are optional and gitignored. The runtime applies the BTS settings in this order:
- Stock
bts.json(Verizon) - General
bts.local.json - Selected
bts.sprint.json - Sprint-specific
bts.sprint.local.json - Radio selected by
--radio-config
Use --bts-config <FILE> only when you want to replace bts.json with a
complete custom base configuration. A selected carrier profile is still
applied after that file and its sibling local override.
Create Another Profile
To keep settings for another carrier or group of phones, create a file named
config/bts.<name>.json and select it by name:
cargo run --release -p cdma-nib -- \ --config-dir config \ --bts-profile my-carrier \ --radio-config config/radio_bladerf_micro2.jsonThis loads config/bts.my-carrier.json and then the optional
config/bts.my-carrier.local.json. Profile names may contain lowercase
letters, digits, and hyphens.
Match a Profile to the Device PRL
A carrier profile must match the systems and channels in the device’s PRL. If the phone gets 1x service but never starts EV-DO, open its PRL in the 1xBTS web interface and check that:
- the 1x record includes the profile’s SID and channel
- its paired EV-DO record includes the profile’s EV-DO channel
- the EV-DO subnet matches the profile’s
evdo.overhead.sector_idandevdo.overhead.subnet_mask
Keep device- or PRL-specific changes in the profile’s local override, such as
bts.sprint.local.json or bts.my-carrier.local.json.