OsmocomBB [OSX] quick hack to enable use of US PCS1900 Mhz band

Osmocom-BB has been useful for testing and debugging my Lime-SDR with Osmo-NITB. I’ve been unable to get my network to operate on the US PCS band. As a fallback I’ve been using a Motorola C140 that was made for 1800/900 Mhz with Osmocom-bb and I’ve been able to connect to the network and place calls. As of late, I haven’t found a way to switch the Lime RX antenna away from LNAL and this creates connection issues.

I’m a Mac OS X user and I spent last summer working towards an error-free build. Eventually, I was able to compile, but oddly I was still having problems connecting to PCS network. This led me to a couple of small code adjustments and a rebuild of the software.

I assume this will work for Linux platforms too, I had it working on an Ubuntu VM last month.

Before you start
The Osmocom-BB project has several branches in the git hub repository. I’ve had no succcess compiling the Virt-Phy branch. The laforge/early-cm is the one I have working for OSX and has performed adequately.

I’ve used this on a Motorola C139, C140 ( European ) and C118

Remember that after you compile you need to create your config file

mkdir ~/.osmocom && cd ~/.osmocom
mkdir bb && cd bb
sudo touch mobile.cfg

You can make changes to config once you load the software into your phones flash

Make the following changes and compile.

make sure to enable the transmitter by modifying the Makefile as follows

# Uncomment this line if you want to enable Tx (Transmit) Support.
CFLAGS += -DCONFIG_TX_ENABLE

# Uncomment this line if you want to write to flash.
CFLAGS += -DCONFIG_FLASH_WRITE

# Uncomment this line if you want to write to flash, including the bootloader.
CFLAGS += -DCONFIG_FLASH_WRITE_LOADER

The files that need to be modified are …

osmocom-bb/src/target/firmware/board/compal_e86/rffe_dualband_e86.c

osmocom-bb/src/target/firmware/board/compal/rffe_dualband.c

Make these changes

ORIGINAL:

uint32_t rffe_get_rx_ports(void)
{
	return (1 << PORT_LO) | (1 << PORT_DCS1800);
}

MODIFIED:

uint32_t rffe_get_rx_ports(void)
{
	return (1 << PORT_LO) | (1 << PORT_DCS1800) | (1<<PORT_PCS1900);
}

==================================================================

Okay, now build away!

Memory Overlap Problem
Another issue you may have is about memory overlaps. Apparently this has something to do with the newer versions of binutils used by the cross compiler. To get around this I used one of the older commits from the macports repository on github.

2 Likes

I was trying to compile osmocombb on Ubuntu 14.04 and I got stuck here

sched_clck.o: In function sched_clck_tick': /home/imsicatcher/osmocom-bb/src/host/trxcon/sched_clck.c:64: undefined reference toosmo_clock_gettime’
sched_clck.o: In function sched_clck_handle': /home/imsicatcher/osmocom-bb/src/host/trxcon/sched_clck.c:123: undefined reference toosmo_clock_gettime’

Any help is appreciated.

Generally speaking this is the wrong place to ask and you would be better asking such questions on the OsmocomBB mailing list:

https://lists.osmocom.org/mailman/listinfo/baseband-devel

I’m also assuming that you have some perfectly valid and legal reason to be running an “imsicatcher”.