Hyper Open Edge Cloud

ORS Assembly Process

  • Last Update:2021-10-18
  • Version:002
  • Language:en

Agenda

  • SDR main board installation
  • PC installation
  • PC to SDR main board connections
  • OS and software installation
  • Install Services
  • ORS packaging

This tutorial teaches how to assemble an Open Radio Station, and package it if necessary (to sell it on shop.rapid.space).

ORS Assembly Parts Introduction

Take out BJT Case 

Tack out the BJT case from the cardboard 

Open the enclosure 

Use a hexagonal screwdriver to remove the 8 screws from the cover of BJT case to open it.

 

Apply thermal interfaces

Apply thermal interfaces

Install the SDR main board

Install the SDR main board with M2.5 screws * 17.  Please do not set the screws tightly at the beginning, until all the screws are placed, and then tighten them all.

Connect the LED wires

Connect the LED wires in a PTSM connector and plug this connector in the SDR main board.

Strip and tin around 4mm of the red and black cable. Be careful to close the ORS lid while cutting excess metal wire, as small metal bits landing on PCB could break it. Use a sim card ejector or tweezers to insert the connector into the smaller port to allow the LED wire to be inserted into the port below. After inserting the LED wire tightly, pull out the tweezers and verify that the LED wire is inserted tightly.

Make sure that the red and black wires of the LED are plugged in as shown.

Plug the first RJ45 cable

Plug an armored RJ45 cable between the ORS power input and the PCB power input. If the RJ45 cable is too long, use an insulated cord to hold it in place.

Remove the plastic films

Please remove the plastic films before you plug the coax cables. 

Plug 3 RF coax cables

Plug the 3 RF coax cables. Remove the black cable sleeve on the Radio 2 as shown on the image. First put Radio 2 cable, then Radio 1, then GPS. The connector on the boards are fragile, please be careful.

Paste SBC(PC) on the enclosure

On the other part of the enclosure, install the Single Board Computer with the M3 screws. Please remove the plastic from the bottom of SBC before you paste. Fix it with 4 screws (14cm)

Install PC

Install the DDR4 SODIMM, the MSATA SSD and the PCI Express adaptor board.

Set the jumpers on the SBC

Set the jumpers on the SBC.

Connect power cable to the SBC

Cut a red and black wire of 23cm, and strip and tin around 4mm at each side. Again, be careful to do this away from the PCB or PC to avoid metal bits creating short-circuits.

Please put the enclosure with SBC and the other side on the same plane like the figure shown. Connect the 2192Y power cable to the SBC.

Connect the power cable between PTSM and SDR

Connect the power cable in a PTSM connector and plug this connector in the SDR main board. 

Connect ribbon FFC

Connect the ribbon FFC between the PCI Express adaptor board and the SDR main board.

Connect the second RJ45 cable

Connect the second RJ45 cable between the SBC and the SDR main board.

Prepare to install OS and software

Connect a USB flash drive, an HDMI monitor, a keyboard and a PoE cable connected to the power supply (minimum 50 W, any voltage from 24 to 54 VDC) to install the OS and software

Install OS

Install Ubuntu 20.04 by downloading the "64-bit PC (AMD64) server install image" iso image here, and then copying it to an USB disk. You can use dd to copy the iso:

dd if=iso_image_path of=/dev/usb_device bs=1M status=progress;sync

During the installation, you should choose these options:

  • language: English
  • keyboard: chose depending on your keyboard
  • Use entire disk
  • No LVM
  • hostname : orsXXX # replace XXX with the number
  • username, password: slapos
  • Install OpenSSH server
  • No snap to install

Connect through SSH

Once the installation is complete and you have rebooted after removing the USB key, the next steps can be done through SSH. To find the IP of the ORS computer, you can use the following command:

sudo nmap -T4 -sP network_ip/prefix_length |grep -B2 Taiwan

Once you have the ip, you can connect to the ORS computer through SSH:

ssh slapos@ors_ip
Password: slapos

Setup SSH

You can copy your public key on the ORS computer if you want to be able to login using your SSH keys:

ssh-copy-id -i public_key_path slapos@ors_ip

To be able to ssh in root, you should append your public key to the file /root/.ssh/authorized_keys

Configure network with ifupdown

apt install ifupdown

Place the following script inside /etc/network/interfaces

auto lo
iface lo inet loopback

auto enp0s31f6
iface enp0s31f6 inet dhcp
        post-up echo 1 > /proc/sys/net/ipv4/conf/all/forwarding
        post-up iptables -t nat -A POSTROUTING -o enp0s31f6 -j MASQUERADE

apt remove --purge netplan.io
apt remove --purge networkd-dispatcher

ifdown enp0s31f6 && ifup enp0s31f6 && systemctl disable systemd-networkd && systemctl disable systemd-networkd.socket && systemctl stop systemd-networkd && systemctl stop systemd-networkd.socket

Upgrade And fix Ubuntu 

apt update
eatmydata apt dist-upgrade
apt remove snapd irqbalance
apt install net-tools

Fix kernel parameter

edit the file /etc/default/grub to put the line

GRUB_CMDLINE_LINUX_DEFAULT="idle=halt"

Then, you should update grub with:

update-grub

Patch the FPGA so that it is visible by the PC

Make sure the FPGA is not yet visible

lspci | grep Xilin

if the FPGA is already there no need for this procedure
Put flash-trxsdr.tgz on the ORS computer:

wget https://www.erp5.com/rapidspace-ORS.Assembly.Process.Flash.TRXSDR/Base_download

Patch the FPGA:

tar -xzvf flash-trxsdr.tgz
cd flash-trxsdr/
rm -rf openocd.tar.gz
apt-get install git libtool automake pkg-config libusb-dev libftdi-dev libusb-1.0-0-dev build-essential
git clone
https://github.com/openocd-org/openocd openocd
cd openocd
git checkout v0.11.0
./bootstrap
./configure --enable-ftdi
make -j 4
cd ..
./openocd/src/openocd -s ./openocd/tcl -f pcie_radio.cfg

Hard reset the box (totally power off, then power on)
Check the FPGA is visible to make sure everything is OK

Install Amarisoft software

tar -xzvf amarisoft.2021-03-17.tar.gz
cd 2021-03-17/ 

./install.sh --default

Wait (very long, no output)
Hard reboot

Prepare the setup

Be sure to be able to connect to the ORS through SSH

Configure AMarisoft software

On the ORS, as root:

root@orsX:~# cd
root@orsX:~# git clone https://lab.nexedi.com/nexedi/config-amarisoft.git
root@orsX:~# cp -r enb/config/* config-amarisoft/enb/
root@orsX:~# cp -r mme/config/* config-amarisoft/mme/
root@orsX:~# cd config-amarisoft
root@orsX:~/config-amarisoft# git reset --hard
root@orsX:~/config-amarisoft# cd ~/enb
root@orsX:~/enb# rm -rf config && ln -sf ../config-amarisoft/enb config
root@orsX:~/enb# cd ~/mme
root@orsX:~/mme# rm -rf config && ln -sf ../config-amarisoft/mme config

Choose a configuration in ~/enb/config/ors-config, and make a link:

root@orsX:~/enb/config# cd ~/enb/config
root@orsX:~# ln -sf ors-config/<config> enb.cfg

Amarisoft licences

Get licenses: rapidspace-ORS.Assembly.Process.Amarisoft.License

On the board as root:

mkdir ~/.amarisoft
copy lteenb.key and ltemme.key in ~/.amarisoft

Install speedtest

cd /var/www/html/
git clone https://github.com/adolfintel/speedtest
cd speedtest/
cp example-singleServer-gauges.html index.html
service apache2 restart

Soft reboot so that lte service starts.

Finish the installation

Disconnect the USB flash drive, the HDMI monitor, the keyboard and the PoE cable. Close the enclosure and reconnect the PoE cable to start the system.

Place Labels on the ORS

Place a "ORSXX" label on the interior of the case of the PC, and on the exterior of the case as shown on the images

Flash SIM card Open-cells

Download source code

Compilation:

make

should compile with no warnings

Insert the card in the reader and the reader in a USB socket 

sudo ./program_uicc

reads basic data in the card

sudo DEBUG=y ./program_uicc

perform the same, with trace: all data exchange with the UICC are printed

sudo ./program_uicc --help

shows the parameters help to set values in the UICC.

In /mme/config/ue_db-ims.cfg, for example, there is a configuration for the UE (if there's not, feel free to add ones): 

{
    sim_algo: "milenage",
    imsi: "001010000000001",
    opc: "000102030405060708090A0B0C0D0E0F",
    amf: 0x9001,
    sqn: "000000000000",
    K: "00112233445566778899AABBCCDDEEFF",
    impu: ["sip:impu02", "tel:0600000001"],
    impi: "impi02@amarisoft.com",
}

According to the UE configuration, a typical command line (with IMSI, OPC and Ki used in UE configuration files) to flash the SIM card:

 sudo ./program_uicc --adm 12345678 --imsi 001010000000001 --isdn 0600000002 --acc 0001 --key 00112233445566778899AABBCCDDEEFF --opc 000102030405060708090A0B0C0D0E0F  --spn "Rapid.Space 001" --authenticate

Install Services

1) change hostname to ORSX
    $ sed -i 's/enodeb/ORSX/g' /etc/host* /etc/ssh/*
2) remove all users except root
  $ deluser --remove-all-files enodeb
  $ deluser --group enodeb

3) remove root password (after making sure you can login through SSH with root)
    $ passwd -ld root
4) install re6st with production network
  $ wget https://deploy.erp5.net/re6st
  $ bash re6st

5) install vifibslapos with computer name ORSX and user 
  $ wget https://deploy.erp5.net/vifib

Follow How to Install OS and Services on Rapid Space Server for a Partner to Install Production re6st and Install SlapOS

Package the ORS

/mme/config# less ue_db-ims.cfg


Take the polystyren board on which the case handle is placed, and cut the top half in order to make it thin, in order to fit everything. Place the ORS in the box, with the polystyren separation you just cut above. Unscrew the antenna's base, otherwise it won't fit. Place evertyhing as shown on the image. (TODO: take picture with N to SMA adaptors and SIM cards)