Early on in the design of UmTRX it was decided that it would be a dual-channel platform, with this being identified as supporting many target use cases and operator requirements, including:
dual-band operation, e.g. 1800MHz for local coverage and 900MHz for longer distance
road coverage, with a dedicated BTS and narrow beam antenna facing in each direction
two operators on a single system, e.g. one public and one private network
Not to mention that the capacity afforded by two carriers also happens to be the sweetspot for many villages and rural installations.
Given that making a single channel system which meets GSM specifications is sufficient a challenge in itself, the approach favoured was a dual-channel platform comprised of two completely independant transceivers — rather than two carriers with one transceiver and DSP tuning.
At the present time UmTRX is the only truly dual-channel transceiver that is fully compatible with the Osmocom GSM stack. There are some platforms which offer the ability to support two carriers with a single radio, but these are limited by the bandwidth of the transceiver and channels must be in the same band and cannot be spaced too far apart.
In this post we take a look at how it’s possible to run two separate GSM BTS instances with a single UmTRX. Which is to say, two independent base stations with only one UmTRX transceiver board, or commercial base station hardware that is based on this, such as the UmSITE product line.
Note that while a single BTS together with UmTRX can also be configured to use both channels — i.e. as a BTS equipped with dual-TRX — this is different as there is only a single BTS instance, with both TRX configured for the same band and connecting to a common BSC and network.
The hardware setup used in testing is quite simple, with a UmTRX connected to a HP Microserver running Ubuntu 14.04.2 and the Osmocom software. The TX ports for channels 1 and 2 were connected to an Agilent E4406A VSA Transmitter Tester and an ISO-TECH ISA 830 TG spectrum analyser.
Build tools and packaged dependencies were installed first via apt-get:
The UHD-Fairwave sources were cloned and built next:
$ git clone https://github.com/fairwaves/UHD-Fairwaves.git
$ cd UHD-Fairwaves/host
$ mkdir build
$ cd build
$ cmake ../
The UmTRX driver module can then be installed simply via “sudo make install”, else packaged as a Debian package via cpack. For more details see the Driver page.
The Osmocom software is installed by cloning the sources, creating a build directory, entering this and running cmake, followed by configure and make etc. Rather than detail all these individual steps for each component in the software stack, just the required git branches along with any configuration options are noted here. See the linked wiki pages/sources for more details.
The software for the first OsmoBTS instance should be built from the fairwaves/master branch. Remembering to configure TRX hardware during build with:
$ ./configure --enable-trx
At the time of writing multi-BTS functionality has not been integrated into the OsmoBTS main development branch, and so the software for the second OsmoBTS instance must be built from the achemeris/2sector branch. Once again, TRX hardware needs to be enabled, but this build of OsmoBTS should be installed to a different location from the first. For example, by using:
Once the OsmoBTS and OsmoTRX code to support multi-BTS configurations has been tidied up, this functionality will be available via the fairwaves/master branches of each.
The configuration used was based on the multi-BTS with handover example, with one major difference: each BTS instance must be configured to have only a single TRX, both in the OsmoBTS configurations and the OpenBSC NITB configuration sections for these. In our example it was decided to put BTS 0 on 1800MHz and BTS 1 on 900MHz.
So for BTS 0 the first 5 lines of configuration were:
The OpenBSC NITB configuration (open-bsc.cfg) used was based on the multi-BTS one, with the main difference being to remove the trx 1 config sections from bts 0 and bts 1. The first BTS was put on ARFCN 540, which has a downlink at 1810.8MHz, with the second BTS on ARFCN 63, which has a downlink frequency of 947.6MHz.
The OpenBSC network-in-the-box software was started first with:
Up until recently the host driver for UmTRX was provided by a Fairwaves-specific version of UHD. However, support is now available in the form of a UmTRX module that is loaded by the stock version of UHD based on UHD 003.004. Meaning that it’s now possible to use a single UHD install, together with the UmTRX module, to work with both Ettus and Fairwaves hardware. Furthermore, UmTRX is also able to benefit from updates made to the UHD mainline without porting.
New and improved features
Further updates made to the host software and accompanying firmware as part of this transition include:
Numerous additional features for versions of UmTRX that are used in the UmSITE product line, such as the ability to control integrated power amplifiers, and sense forward and reflected RF power at their output ports;
Support for timed commands;
Retrieving GPS NMEA data over IP is now functional.
On this last point, retrieving raw NMEA data from the GPS module is as easy as using a one line netcat command:
$ echo . | nc -u 192.168.10.2 49171
If you prefer to have gpsd rather than watch raw NMEA data, you can use socat:
The default branch for the UHD-Fairwaves GitHub repository is now the one where the UmTRX module lives, umtrx_update. However, the old branch with the legacy monolithic driver, fairwaves/umtrx, still exists.
If you were using the old driver it’s probably best to uninstall this first, before installing a stock version of UHD, followed by the UmTRX module. See the Driver page for details.
The UmTRX firmware should also be updated at the same time as the host driver. See the Flashing page and note that the name of the command used has changed slightly.
For a limited time UmTRX v2.2 is available for the reduced price of $850
Up until 19th February 2015 (the Chinese New Year) it will be possible to purchase a UmTRX v2.2 complete with a power supply and coax pigtails for only $850. This offer is being made by Fairwaves in support of getting hardware into the hands of more developers, and is limited to 2 kits per individual and 10 per university.
In most parts of the world a spectrum licence is required in order to operate a mobile base station (BTS), in much the same way that a licence would be required if you wanted to set up your own radio or TV station. This is not unreasonable and, after all, a great deal of inconvenience can be caused if spectrum use is not carefully coordinated and interference leads to service outages.
If you are fortunate enough to live in the Netherlands it’s possible to operate a BTS in guard band situated between GSM and DECT allocations, license free, provided that transmit power is limited to 200mW and antenna height to 10 metres. And this is precisely what Fairwaves did in August 2013, when together with Event Connection they built a GSM network that covered the city of Nijmegen.
Similar license-exempt use is also permitted in Sweden and possibly some other areas — but these are the exception to the rule.
While access to guard band spectrum is permitted for low power use in the UK, this is limited to those 12 licensees who together paid Ofcom £3.8 million for the privilege and were awarded licences back in 2006.
Regulatory authorities typically provide a class of licence that can be used to support the development and testing of wireless technologies. Here in the UK this is referred to by Ofcom as a Non-operational licence, and was actually previously known as a Test and Development licence. These may be valid for up to one year and currently cost £50 per site.
It’s important to note that a non-operational licence:
may not be used to provide a service, as to do so would constitute being a cellular operator and this is not covered and would therefore be unlawful;
is not a “GSM licence” per se and instead provides permission to use the allocated spectrum subject to certain power, bandwidth and antenna etc. constraints;
could cover any frequency, provided that Ofcom are able to clear use — which is highly dependent upon what has been requested and what the primary use of that spectrum is;
is a privilege and not a right!
Applicants will be expected to provide details such as the requested frequencies, modulation type and bandwidth, transmitter power level, and antenna gain and height. Those without a background in RF systems may find answering some of the questions a challenge, however, a solid understanding of the fundamental basics is essential.
There are no hard and fast rules when it comes to what power levels or antenna gains etc. will be permitted under a non-operational licence, but note that requests for access to spectrum are subject to approval by primary users. Applications should be driven by need, common sense must prevail, and a few milliwatts TX power and a low gain antenna should suffice for bench testing.
Those who wish to apply for a non-operational licence should:
See the Ofcom website for the application form and accompanying guidance;
Only apply for what is actually required and have realistic expectations;
Contact Ofcom when uncertain — they are most helpful.
Note that regulators in other countries typically provide similar licensing schemes that can be used to support research and development.
The need for lighter regulation
Lighter regulation for guard band spectrum, such as has been employed in the Netherlands and Sweden, would provide a great many benefits beyond simply facilitating the development and testing of wireless technologies. For example, SMEs and communities could use it to provide network service in rural and sparsely populated areas that have been deemed not economically viable by the incumbent operators. However, this topic is one that requires a blog post all to itself!
For the hackathon Fairwaves engineers collaborated with Ben Klang, founder of real-time communication specialists, Mojo Lingo, and Jose de Castro of Tropo, on the development of an in-network application service called FairShare Community Mobile. This aims to alleviate the problem of mobile network saturation where resources are scarce and costs may be high — such as is often the case in developing nations — through ensuring fair use of resources by managing call duration.
The collaboration resulted in a working prototype which was demonstrated live, using a UmTRX-based BTS, and which went on to win the Geeks Without Bounds Challenge Prize.
Hackers On Planet Earth (HOPE) is a biennial conference that is sponsored by 2600 magazine and which covers a broad range of topics, including technology in art, communications, hacking, activism, privacy, security, politics and much more.
The conference will be taking place from this Friday until Sunday at the Hotel Pennsylvania in New York, and Alexander Chemeris, Andrey Bakhmat and Sergey Konstanbaev from Fairwaves will be present, along with Peter Bloom from Rhizomatica, who will be giving a talk on their work building community mobile networks in Mexico, and the societal benefits and legal challenges etc.
Also present from Rhizomatica will be Ciaby and Tele, who will be demonstrating how to set up a community cellular network.
If you are attending HOPE X and you’re interested in cellular networks, be sure to seek out the guys from Fairwaves and Rhizomatica and say hello!
Cluecon, 4-7th August
Cluecon is an annual four day conference for telephony developers that is being hosted in Chicago. At this Alexander Chemeris will be giving a talk on the third day on the Osmocom architecture, Fairwaves UmTRX-based hardware, and how to use these together to build a small GSM network. The talk will be aimed at VoIP developers with little or no prior experience of GSM network technology, and there is likely to be a demo of something new at the Dangerous Demo contest.
Top image: Ben Klang & Alexander Chemeris pitch FairShare at TADHack (source: tadhack.com)
v2.2 of UmTRX has gone in to manufacture and with v2.3 to follow soon after.
The Fairwaves engineering team have been hard at work updating the UmTRX hardware platform, based on feedback from customers and experiences gained with deployments in the field. The first new update is v2.2, this has just gone into manufacture and changes from v2.1 include:
Corrected component footprint for temperature sensors
Corrected mask-to-silk warnings around T1-1, T1-2
Mounting holes more accurately aligned to 0.5mm grid and diameters increased to 3.2 mm
Added extra hole between LMS at centre line of board for better mounting to heatsink
All free space of bottom layer filled by the GND copper polygon for better heat dissipation
Add silkscreen on the vias which are under the LMS6002D ICs to make the screen stronger
Added one more screw in the middle of the board between LMS6002D ICs
MCX connectors replaced by MMCX
GND pins of SMA connectors now with thermal spokes
Resistors R103 of LMS6002D reference voltage for ADC/DAC reduced to 51 Ohm.
Just as v2.2 goes into manufacture, v2.3 is about to go into testing. Further changes in v2.3 include:
Clock distributor IC changed to Si53301 in order to get clock divider for PLLs of LMS6002Ds
Added R158 and R160 (S3 bypass) to enable use without clock I/O components
Higher efficiency DC/DC conversion:
converters are now TPS54560D instead of L5973AD
Lower resistance power coils used
+6V output decreased to +5.5V
DC/DC converters are synchronized to fixed 541.67kHz (26M/48) from FPGA after firmware start in order to minimise interference
LMS6002D power supply and reference voltages are now from a single ultra low noise IC, HMC1060
LMS6002D channels are now screened by a standard shield from Laird Tech
Output stage IC changed to SBB5089Z to obtain flat gain up to 4GHz and 100mW output
All possible components have been moved from the bottom to the top in order to get ~90% copper fill on the bottom
PCB size shrank to 128x95mm, but still a 6 layer stack
More reliable DIP switch used for Master-Slave clock mode control
Single LVCMOS output of FPGA for UmSEL diversity switches control instead of LVDS
Added four channel ADC ADS1015 to measure power amplifier control voltages via 1:10 resistive dividers
Added two Hirose DF11CZ-8DP-2V(27) connectors for control and monitoring of two external power amplifiers
As can be seen there have been quite a number of updates!
The first batch of v2.3 boards should be ready for testing towards the end of June and we’ll be providing further details here and the GitHub repository will be updated in due course.
The ability to use open source in creating mobile networks is still a relatively new thing, with a reasonably small but dedicated and, more recently, rapidly growing community. Similarly, it’s still early days when it comes to industry awareness of the opportunities that this presents. And perhaps most excitingly, it is not simply a matter of cost reduction in existing markets; indeed, there are many areas of the world that are not economically viable to serve with proprietary solutions.
With the above in mind Fairwaves decided to host a drinks reception in February at the world’s largest industry event, Mobile World Congress, for those with an interest in open source in mobile telecomms, and community-owned and profitable rural cellular networks.
The reception was well attended and by a diverse mixture of people, ranging from those who are doing work in this area to those who are considering their options, and with representatives from several device manufacturers, alongside silicon vendors, researchers and mobile operators. Notably also, investors, who are keeping a keen eye on developments after observing how open source has previously transformed other industries.
The event was considered a trial run and the consensus seemed to be that it was a resounding success. The hope is to host something similar at MWC next year, and in the spirit of collaboration and not being seen as a single vendor affair, Fairwaves plan to invite other companies to co-host.
The UmTRX project has signed up to become a licensee of the Open Invention Network (OIN), providing it with royalty-free access to a growing patent portfolio that covers the Linux ecosystem and includes numerous mobile technologies.
Access to the defensive portfolio affords the UmTRX project a measure of protection from the actions of patent trolls and those who would seek to attack or undermine the Linux ecosystem. We’re in great company, with founding companies including IBM, Sony and NEC, and licensees ranging from SMEs and smaller open source projects, to global tech giants and major open source projects.
Short for Open source mobile communications, Osmocom is a family of projects that span DECT, GSM, trunked and satellite communication systems, and more — with both software implementations and hardware designs.
Since July of last year the development mailing list for UmTRX has been hosted by Osmocom, but with the documentation remaining at Google Code.
If you’ve visited this website within the last few weeks you may have noticed that we’re in the process of migrating user documentation across from Google Code, and as part of the same process we’re also moving the developer documentation across to a brand new Trac instance that Osmocom have kindly set up for us at umtrx.osmocom.org.
The migration away from Google Code is not complete just yet and improving the user documentation here and the developer docs at Osmocom is very much a work in progress. It should be noted that presently the Google Code issue tracker is still in use, but issues will be moved across to Trac within the next month or so, completing the migration.
Osmocom is more than just somewhere to host a mailing list, wiki and issue tracker, and it is in fact central to our software strategy for UmTRX use with GSM, which involves OpenBSC, OsmoBTS and a number of other projects. Although it’s true that there isn’t a great deal of documentation available on this architecture at present, and addressing this is something that we will be making a priority.
Of course, UmTRX also supports use with OpenBTS and in theory any other GSM implementation which uses the UHD API. However, the combination of UmTRX plus Osmocom (OpenBSC and OsmoBTS etc.) provides a solution that is open from the hardware, all the way up the stack, as opposed to an “open core” solution where certain features are deemed proprietary and reserved for a commercial version of the software.