<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://lms.onnocenter.or.id/wiki/index.php?action=history&amp;feed=atom&amp;title=OpenBTS%3A_RangeNetwork_UMTS_%2F_3G</id>
	<title>OpenBTS: RangeNetwork UMTS / 3G - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://lms.onnocenter.or.id/wiki/index.php?action=history&amp;feed=atom&amp;title=OpenBTS%3A_RangeNetwork_UMTS_%2F_3G"/>
	<link rel="alternate" type="text/html" href="https://lms.onnocenter.or.id/wiki/index.php?title=OpenBTS:_RangeNetwork_UMTS_/_3G&amp;action=history"/>
	<updated>2026-04-20T10:47:34Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://lms.onnocenter.or.id/wiki/index.php?title=OpenBTS:_RangeNetwork_UMTS_/_3G&amp;diff=42541&amp;oldid=prev</id>
		<title>Onnowpurbo: New page: == Introduction ==  OpenBTS-UMTS is a Linux-based application that uses a software radio to present a UMTS network to any standard 3G UMTS handset or modem.  It builds upon the OpenBTS fra...</title>
		<link rel="alternate" type="text/html" href="https://lms.onnocenter.or.id/wiki/index.php?title=OpenBTS:_RangeNetwork_UMTS_/_3G&amp;diff=42541&amp;oldid=prev"/>
		<updated>2015-02-26T10:37:34Z</updated>

		<summary type="html">&lt;p&gt;New page: == Introduction ==  OpenBTS-UMTS is a Linux-based application that uses a software radio to present a UMTS network to any standard 3G UMTS handset or modem.  It builds upon the OpenBTS fra...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Introduction == &lt;br /&gt;
OpenBTS-UMTS is a Linux-based application that uses a software radio to present a UMTS network to any standard 3G UMTS handset or modem.  It builds upon the OpenBTS framework, where the MS or UE is treated as an IP endpoint at the edge of the network.&lt;br /&gt;
&lt;br /&gt;
== Release Features/Capabilities ==&lt;br /&gt;
* supports original UMTS Release 99 (or Release 3)&lt;br /&gt;
* supports packet-switched services only (i.e. data)&lt;br /&gt;
* supports a single U-ARFCN&lt;br /&gt;
* supports one or two high-speed active data sessions&lt;br /&gt;
* spreading factors of 4-256&lt;br /&gt;
* rate-1/2 convolutional coding&lt;br /&gt;
* rate-1/3 turbo coding&lt;br /&gt;
* maximum downlink data speed of 106 Kbytes/s&lt;br /&gt;
* maximum uplink data speed of 52 Kbytes/s&lt;br /&gt;
* Integrity Protection of GSM SIMs&lt;br /&gt;
* Features not supported in this release:&lt;br /&gt;
** circuit-switched services (e.g. voice, text)&lt;br /&gt;
** handover&lt;br /&gt;
** Inter-RAT mobility (moving b/w a 2G and 3G network)&lt;br /&gt;
** paging&lt;br /&gt;
** ciphering&lt;br /&gt;
** USIM-based authentication&lt;br /&gt;
&lt;br /&gt;
== Supported Hardware ==&lt;br /&gt;
&lt;br /&gt;
Initial integration of the OpenBTS-UMTS public release was accomplished with the Range Networks SDR1 (a.k.a. RAD1). Support for recent Ettus Research USRP devices is now available. Integration with other software-defined radios is ongoing, see [[RadioIntegration|Radio Integration]] for more information about connecting OpenBTS and OpenBTS-UMTS to different radio interfaces.&lt;br /&gt;
&lt;br /&gt;
[[File:N200-qpsk.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Range Networks SDR1 ===&lt;br /&gt;
&lt;br /&gt;
The Range Networks SDR1 was designed primarily for 2G and 2.5G operation.  Thus, operation with the OpenBTS-UMTS release can not be guaranteed with all SDR1 radios, since the USB2.0 interface is highly stressed to maintain the required data rates for 3G.  Moreover, it requires a reprogramming of the SDR1&amp;#039;s clock chip from 52Mhz to 61.44Mhz, which is described later on this page.&lt;br /&gt;
&lt;br /&gt;
=== Ettus Research USRP ===&lt;br /&gt;
&lt;br /&gt;
Supported Ettus Research products include third generation USRP devices (B200 series and X-series) and second generation models with capable bandwidth for UMTS (N-series). Older Ettus Research USB 2.0 based products are not supported by OpenBTS-UMTS due to transport bus limitations. Supported USRP devices include Intel SSE optimization for UMTS pulse shaping and host resampling operations.&lt;br /&gt;
&lt;br /&gt;
For full USRP details, see [[Ettus Research USRP]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;7&amp;quot;|Ettus Research UMTS Capable Devices&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Transport&lt;br /&gt;
|Recommended RF&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|Frequency Accuracy&lt;br /&gt;
|-&lt;br /&gt;
|B200&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|USB 3.0&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|Integrated&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|TCXO 2.0 ppm&lt;br /&gt;
|rowspan=&amp;quot;6&amp;quot;|GPSDO &amp;lt;1 ppb&lt;br /&gt;
|-&lt;br /&gt;
|B210&lt;br /&gt;
|-&lt;br /&gt;
|X300&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|1 or 10 Gigabit Ethernet&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot;|SBX, WBX, CBX&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot;|TCXO 2.5 ppm&lt;br /&gt;
|-&lt;br /&gt;
|X310&lt;br /&gt;
|-&lt;br /&gt;
|N200&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;|1 Gigabit Ethernet&lt;br /&gt;
|-&lt;br /&gt;
|N210&lt;br /&gt;
|-&lt;br /&gt;
|USRP2&lt;br /&gt;
|VCXO 20 ppm&lt;br /&gt;
|NA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;4&amp;quot;|UMTS Band Support&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Frequency Range&lt;br /&gt;
|UMTS Bands&lt;br /&gt;
|Output Power&lt;br /&gt;
|-&lt;br /&gt;
|B200/B210&lt;br /&gt;
|70 MHz - 6 GHz&lt;br /&gt;
|1-14, 19-21, 22, 25, 26, 32&lt;br /&gt;
|rowspan=&amp;quot;4&amp;quot;|up to 100 mW&lt;br /&gt;
|-&lt;br /&gt;
|WBX&lt;br /&gt;
|50 Mhz - 2.2 GHz&lt;br /&gt;
|1-14, 19-21, 25, 26, 32&lt;br /&gt;
|-&lt;br /&gt;
|SBX&lt;br /&gt;
|400 MHz - 4.4 GHz&lt;br /&gt;
|1-14, 19-21, 22, 25, 26, 32&lt;br /&gt;
|-&lt;br /&gt;
|CBX&lt;br /&gt;
|1.2 GHz - 6 GHz&lt;br /&gt;
|1-4, 7, 9-11, 21, 22, 25&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- NI USRP Table&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;7&amp;quot;|NI USRP Supported Devices&lt;br /&gt;
|-&lt;br /&gt;
|NI USRP&lt;br /&gt;
|2920&lt;br /&gt;
|2922&lt;br /&gt;
|2930&lt;br /&gt;
|2932&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|NI RIO&lt;br /&gt;
|2940R&lt;br /&gt;
|2942R&lt;br /&gt;
|2943R&lt;br /&gt;
|2950R&lt;br /&gt;
|2952R&lt;br /&gt;
|2953R&lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CPU requirements ===&lt;br /&gt;
OpenBTS-UMTS is a more computationally intensive application than OpenBTS, since the UMTS channel bandwidth is roughly 13x larger than a GSM channel.  Generally, a multi-core high performance CPU is required, such as Intel Core i3, i5, or i7 running at more than 1.6Ghz.  Intel Atom processors are too weak to support the current implementation&lt;br /&gt;
&lt;br /&gt;
=== Range Networks Development Kits ===&lt;br /&gt;
There&amp;#039;s good news and bad news for users or Range Networks development kits.  The good news is that you already have an SDR1 that may work.  The bad news is that it is connected to an Atom-based CPU board, which is not suitable for UMTS.  You will need to connect your SDR1 to a more powerful CPU board.&lt;br /&gt;
&lt;br /&gt;
== Phones/Modems tested ==&lt;br /&gt;
* Works&lt;br /&gt;
** iPhones (3, 4, and 5)&lt;br /&gt;
** HTC Velocity&lt;br /&gt;
** Samsung Galaxy&lt;br /&gt;
** Palm Pre&lt;br /&gt;
** a variety of Multitech modems&lt;br /&gt;
* Doesn&amp;#039;t work&lt;br /&gt;
** None so far.  Please update at will.&lt;br /&gt;
&lt;br /&gt;
== SIMS and Authentication ==&lt;br /&gt;
&lt;br /&gt;
UMTS mandates mutual authentication between the UE and the NodeB.  This is a major change from 2G/2.5G authentication, where only the BTS authenticates the MS.  &lt;br /&gt;
&lt;br /&gt;
A good presentation of UMTS security is available at http://www.netlab.tkk.fi/opetus/s38153/k2003/Lectures/g42UMTS_security.pdf&lt;br /&gt;
&lt;br /&gt;
Another detailed description is available at http://www.3g4g.co.uk/Tutorial/ZG/zg_security.html&lt;br /&gt;
&lt;br /&gt;
So what does this mean?  The subscriber registry will need to know the SIM&amp;#039;s K_i value to &lt;br /&gt;
* perform authentication and &lt;br /&gt;
* enable integrity protection.  &lt;br /&gt;
Without proper authentication and integrity protection, the UE will not attach (or register) with OpenBTS-UMTS.  For most users, this means you must provide the SIMs for the UEs on the network.  The only way to use SIMs from another provider is to obtain the K_i through a roaming interface to the provider&amp;#039;s HLR/HSS.&lt;br /&gt;
&lt;br /&gt;
This also means that some of the features the circumvented authentication in OpenBTS, like open registration, are not possible with OpenBTS-UMTS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build, Install, Setup, and Run Instructions ==&lt;br /&gt;
&lt;br /&gt;
The following instructions support the Range Networks RAD1 and Ettus Research USRP devices.&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
The following prerequisites are required to build and run OpenBTS-UMTS:&lt;br /&gt;
&lt;br /&gt;
* Development and build packages for your Linux distribution. These are mostly unchanged from OpenBTS.&lt;br /&gt;
&lt;br /&gt;
* [http://lionet.info/asn1c/ ASN1C compiler].  &amp;#039;&amp;#039;&amp;#039;Version 0.9.23 is required.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Sipauthserve for handset registration and processing handsets. See [[BuildInstallRun#Build_and_Install_the_Subscriber_Registry_and_Sipauthserve|Installing the Subscriber Registry and Sipauthserve]].&lt;br /&gt;
&lt;br /&gt;
* Valid SIM with a known IMSI and Ki values. These values must be added to the subscriber registry&lt;br /&gt;
&lt;br /&gt;
=== Obtaining the Source ===&lt;br /&gt;
OpenBTS-UMTS is available on GitHub, ensure that you have Git version 1.8.2+ installed on your system.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone https://github.com/RangeNetworks/OpenBTS-UMTS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;NodeManager&amp;lt;/tt&amp;gt; component is setup as a git submodule and can be added with the following commands. Note that the current configuration requires a GitHub account to check out the submodule.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ git submodule init&lt;br /&gt;
$ git submodule update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure and Build ===&lt;br /&gt;
You are now ready to build OpenBTS-UMTS, from your checked-out OpenBTS-UMTS directory:&lt;br /&gt;
   ./autogen.sh&lt;br /&gt;
   ./configure&lt;br /&gt;
   make&lt;br /&gt;
   sudo make install&lt;br /&gt;
&lt;br /&gt;
==== Ettus Research USRP ====&lt;br /&gt;
Make sure that the Ettus UHD driver was found in the output when running configure. When found, Intel SSE support will also be tested and automatically enabled. If UHD is not found, verify that the UHD driver is properly installed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
checking for UHD... yes&lt;br /&gt;
checking whether mmx is supported... yes&lt;br /&gt;
checking whether sse is supported... yes&lt;br /&gt;
checking whether sse2 is supported... yes&lt;br /&gt;
checking whether sse3 is supported... yes&lt;br /&gt;
checking whether ssse3 is supported... yes&lt;br /&gt;
checking whether sse4.1 is supported... yes&lt;br /&gt;
checking whether sse4.2 is supported... yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The UHD device should be detectable before running OpenBTS. Device presence can be checked with the &amp;lt;tt&amp;gt;uhd_usrp_probe&amp;lt;/tt&amp;gt; command installed with the UHD driver.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ uhd_usrp_probe &lt;br /&gt;
linux; GNU C++ version 4.8.3 20140911 (Red Hat 4.8.3-7); Boost_105400; UHD_003.007.003-0-ge10df19c&lt;br /&gt;
&lt;br /&gt;
  _____________________________________________________&lt;br /&gt;
 /&lt;br /&gt;
|       Device: B-Series Device&lt;br /&gt;
|     _____________________________________________________&lt;br /&gt;
|    /&lt;br /&gt;
|   |       Mboard: B210&lt;br /&gt;
|   |   revision: 4&lt;br /&gt;
|   |   product: 2&lt;br /&gt;
|   |   serial: E0R05Z8BT&lt;br /&gt;
|   |   FW Version: 4.0&lt;br /&gt;
|   |   FPGA Version: 3.0&lt;br /&gt;
 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Range Networks RAD1 ====&lt;br /&gt;
You will need to go into the TransceiverRAD1 directory and run the following script right before running the OpenBTS-UMTS binary in the apps directory (OpenBTS-UMTS/apps/):&lt;br /&gt;
   sudo ./clkit_61_44mhz.sh&lt;br /&gt;
&lt;br /&gt;
==== Setup ====&lt;br /&gt;
&lt;br /&gt;
The OpenBTS-UMTS application will be placed into the /OpenBTS-UMTS directory. Before running it, there are several other support steps necessary. The first is to instantiate some run-time artifacts needed by OpenBTS-UMTS, including the initial database:&lt;br /&gt;
   sudo mkdir /var/log/OpenBTS-UMTS&lt;br /&gt;
&lt;br /&gt;
Create the configuration database with this command:&lt;br /&gt;
   sudo sqlite3 /etc/OpenBTS-UMTS/OpenBTS-UMTS.db &amp;quot;.read OpenBTS-UMTS.example.sql&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Copy sipauthserve&amp;#039;s comp128 to run-time directory of OpenBTS-UMTS&lt;br /&gt;
   sudo cp /OpenBTS-UMTS/comp128 /OpenBTS-UMTS/&lt;br /&gt;
&lt;br /&gt;
You will need to setup forwarding in iptables to properly forward data between your devices, your host machine, and the Internet. Create a file called /etc/OpenBTS-UMTS/iptables.rules and insert the following:&lt;br /&gt;
   *nat&lt;br /&gt;
   :PREROUTING ACCEPT [0:0]&lt;br /&gt;
   :POSTROUTING ACCEPT [0:0]&lt;br /&gt;
   :OUTPUT  ACCEPT [0:0]&lt;br /&gt;
   -A POSTROUTING -o eth0 -j MASQUERADE&lt;br /&gt;
   COMMIT&lt;br /&gt;
   *filter&lt;br /&gt;
   :INPUT ACCEPT [0:0]&lt;br /&gt;
   :FORWARD ACCEPT [0:0]&lt;br /&gt;
   :OUTPUT ACCEPT [0:0]&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
Then, edit your Ubuntu network settings to include the rules script:&lt;br /&gt;
   sudo edit text/plain:/etc/network/interfaces&lt;br /&gt;
&lt;br /&gt;
Insert into your Internet-facing network interface:&lt;br /&gt;
   pre-up iptables-restore &amp;lt; /etc/OpenBTS-UMTS/iptables.rules&lt;br /&gt;
&lt;br /&gt;
==== Running OpenBTS-UMTS ====&lt;br /&gt;
After successfully building and configuring, you are ready to launch OpenBTS-UMTS:&lt;br /&gt;
   cd /OpenBTS-UMTS&lt;br /&gt;
   sudo ./OpenBTS-UMTS&lt;br /&gt;
&lt;br /&gt;
Several useful commands are available for debugging the packet-switched OpenBTS-UMTS application. Launch the OpenBTS-UMTS CLI to manipulate and configure your UMTS installation.&lt;br /&gt;
   sudo /OpenBTS-UMTS/OpenBTS-UMTSCLI&lt;br /&gt;
&lt;br /&gt;
In the CLI, type &amp;#039;help&amp;#039; and press ENTER for a list of available commands. &amp;#039;help command&amp;#039; gives you a detailed info on a particular command. Type &amp;#039;quit&amp;#039; to exit the CLI. THis does not stop the OpenBTS-UMTS.&lt;br /&gt;
&lt;br /&gt;
== FAQ == &lt;br /&gt;
Regarding troubleshoot SDR1, YMMV&lt;br /&gt;
&lt;br /&gt;
==== My data stream is always dropping, what can I do? ====&lt;br /&gt;
Try increasing the  transceiver buffer size. The default is 1e6, but this can be increased depending on your available hardware.&lt;br /&gt;
   config UMTS.RLC.TransceiverBufferSize 5000000&lt;br /&gt;
   rawconfig UMTS.RLC.TransceiverBufferSize 100000000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Referensi==&lt;br /&gt;
&lt;br /&gt;
* http://openbts.org/w/index.php/OpenBTS-UMTS&lt;/div&gt;</summary>
		<author><name>Onnowpurbo</name></author>
	</entry>
</feed>