CTS
Setting up Dummy and LogCollector for a TETRAPack connection
Hardware requirements
- Raspberry Pi (4 is ideal, 2GB is ok), with PSU and SD card
- icE1USB
- A USB-Ethernet Adapter
- A CTS (DUH)
Prep work
- Open up the icE1USB (from the back, with the SMA connector), and swap the jumpers so they match this picture:
CTS Setup
- Get a clear understanding of how the CTS is configured, and its necessary configuration files: bssparams.txt, set_x_gp, gm, sc, sub.csv, etc. Please make sure everything works as a standalone site before starting this entire endeavour!
- You also need good way to remotely connect to the CTS management interface (VNC is a good option).
- Plan ahead and make a list of the BrandMeister TGs you want your CTS to handle. Add them already to set_x_gp and gm.csv, reboot everything and make sure they already work locally in standalone mode.
- Open up bssparams.txt on your CTS, and do the following edits. Don't change anything else at this state:
## Base-Station Parameters ################################################################ #### Set the name to something simple, short, no special caracters /base-station/name = "CTSNAME"; #### set this to id 1 /base-station/base-station-id = 1; #### add or replace: /base-station/standalone-mode = false; #### add or replace: /base-station/use-local-site-fall-back = false; ## SDS Gateway Parameters ################################################################# #### Remove all other lines, replace by: /system/sds-gateway/host-1 = { issi = 262999; ip-address = "44.225.64.18";}; /system/sds-gateway/host-2 = { issi = 250999; ip-address = "44.225.64.19";}; /system/sds-gateway/host-3 = { issi = 16777184; ip-address = "44.225.64.20";}; ## E1 Layout Parameters ################################################################### ### Remove all other E1 layout lines, and replace byt this: /network/E1-layout/time-slot-01 = { source-type = "SIGNALLING"; }; /network/E1-layout/time-slot-02 = { source-type = "SIGNALLING"; }; /network/E1-layout/time-slot-03 = { source-type = "SIGNALLING"; }; /network/E1-layout/time-slot-04 = { source-type = "SIGNALLING"; }; /network/E1-layout/time-slot-17 = { source-type = "BS"; base-station-id = 1; l-transceiver-id = 11; }; #Dummy transceivers /network/E1-layout/time-slot-22 = { source-type = "BS"; base-station-id = 7; l-transceiver-id = 11; u-transceiver-id = 12;}; /network/E1-layout/time-slot-23 = { source-type = "BS"; base-station-id = 7; l-transceiver-id = 13; u-transceiver-id = 14;}; /network/E1-layout/time-slot-24 = { source-type = "BS"; base-station-id = 7; l-transceiver-id = 15; u-transceiver-id = 16;}; /network/E1-layout/time-slot-25 = { source-type = "DISP"; }; /network/E1-layout/time-slot-26 = { source-type = "ISDN"; }; /network/E1-layout/time-slot-27 = { source-type = "ISDN"; }; /network/E1-layout/time-slot-28 = { source-type = "ISDN"; }; /network/E1-layout/time-slot-29 = { source-type = "ISDN"; }; ## Network Topology Parameters ############################################################ #### Remove all other network topology parameters, and replace by this. Don't forget to change CTSNAME to the same name as in line 3! /network/topology/gateway-pc = { name = "Gateway Server"; E1-connection-1 = "BS-7"; }; /network/topology/base-station-1 = { name = "CTSNAME"; E1-connection-1 = "BS-7"; }; /network/topology/base-station-7 = { name = "DUMMY"; E1-connection-1 = "BS-1"; E1-connection-2 = "GW-PC"; };
- Save and reboot the CTS, make sure it still works.
- Copy bssparams.txt over to your local PC, you'll need it for your Raspberry Pi.
- Write down the IP address of your CTS BRC computer (mine was 10.10.15.31, but yours will probably be different).
Raspberry Pi Setup
- Prepare an SD card with a 64-bit Raspbian Bullseye (Debian 11)
- Update/Upgrade the OS after boot:
sudo apt get update && sudo apt upgrade reboot
- Add the Osmocom repo, as per Osmocom's documentation:
sudo su OSMOCOM_REPO="https://downloads.osmocom.org/packages/osmocom:/latest/Debian_11" wget $OSMOCOM_REPO/Release.key mv Release.key /etc/apt/trusted.gpg.d/osmocom-latest.asc echo "deb [signed-by=/etc/apt/trusted.gpg.d/osmocom-latest.asc] $OSMOCOM_REPO/ ./" > /etc/apt/sources.list.d/osmocom-latest.list apt get update
- Install Osmocom E1D:
sudo apt install osmo-e1d
- Add the TetraPack repository:
wget https://packages.tetrapack.online/install/public.key mv public.key tetrapack.asc sudo apt-key add tetrapack.asc sudo echo "deb [arch=arm64] http://packages.tetrapack.online/repository/ bullseye main" > /etc/apt/sources.list.d/tetrapack.list sudo apt update
- Install TetraPack dummy and cts-logcollector
sudo apt install tetrapack-dummy cts-logcollector
- Before going any further, read this!
- Plug in the icE1USB to your Rpi, recover the interface serial number:
sudo lsusb -d 1d50:6145 -v 2> /dev/null | grep iSerial
- Open (with for instance nano) /etc/osmocom/osmo-e1d.cfg, copy/paste this:
log syslog daemon e1d interface 0 icE1usb usb-serial [interface serial number] line 0
- Reload the service:
sudo systemctl restart osmo-e1d