Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion AUTHORS
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
Ben Wojtowicz, bwojtowi@gmail.com
Andrew Murphy, andrew.murphy@rd.bbc.co.uk (DCI 1C Unpack)
Andrew Murphy, andrew.murphy@rd.bbc.co.uk
Ziming He, ziminghe83@gmail.com
Przemek Bereski, przemobe@users.sourceforge.net
8 changes: 7 additions & 1 deletion CMakeLists.txt
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
########################################################################
cmake_minimum_required(VERSION 2.6)
project(openLTE CXX C)
set(openLTE_version 0.14.0)
set(openLTE_version 0.20.5)
enable_testing()

#select the release build type by default to get optimization flags
Expand Down Expand Up @@ -92,7 +92,9 @@ set(GR_REQUIRED_COMPONENTS RUNTIME BLOCKS FILTER PMT)
find_package(Gnuradio "3.7.0")
find_package(GnuradioOsmosdr)
find_package(Uhd)
find_package(LibbladeRF)
find_package(FFTW3F)
find_package(MbedTLS)

if(NOT GNURADIO_RUNTIME_FOUND)
message(FATAL_ERROR "GNURadio required to compile openLTE")
Expand All @@ -106,6 +108,10 @@ if(NOT UHD_FOUND)
message(FATAL_ERROR "UHD required to compile openLTE (http://code.ettus.com/redmine/ettus/projects/uhd/wiki)")
endif()

if(NOT LIBBLADERF_FOUND)
message(FATAL_ERROR "LibbladeRF required to compile openLTE")
endif()

if(NOT FFTW3F_FOUND)
message(FATAL_ERROR "FFTW3 required to compile openLTE")
endif()
Expand Down
Empty file modified COPYING
100644 → 100755
Empty file.
161 changes: 161 additions & 0 deletions ChangeLog
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -110,3 +110,164 @@ v00.14.00 Split LIBLTE_MSG_STRUCT into bit and byte messages, fixed a bug wh
QoS, uplink scheduling, RRC and MME NAS message handling, and RLC AM
processing support, omitting the path from __FILE__, and deleteing
users on C-RNTI expiration in LTE_fdd_enodeb.
v00.14.01 Pulled in patches from Mike Peters to fix an uninitialized N_bits
value in liblte, Tim O'Shea to properly reference UHD libraries and
include directories for cmake, Jeff Long to fix a mutex double
unlock bug, Jeff Long to optimally set the master clock rate for
USRP B2X0 in the LTE_fdd_dl_scan application, and added clock source
as a configurable parameter in the LTE_fdd_enodeb application.
v00.15.00 Added make requirement for polarSSL, common, pdcp, and security
portions of liblte, more decoding/encoding to liblte_mme and
liblte_rrc, NACK support to liblte_rlc, and many changes to
LTE_fdd_enodeb (limit PCAP output, authentication vector support,
HSS interface support, message parsers/senders and state machines
for MME, RRC command messages, transmit functionality for PDCP,
RLC, and RRC, and refactoring of user identities).
v00.16.00 Added more MME decoding and encoding and security functions for
key generation and EIA2 to the LTE library. Added authentication,
security mode, and sequence number resynch support to MME/HSS,
added read only parameters for UL EARFCN, DL center frequency, and
UL center frequency, fixed bugs with stop and t_poll_retransmit,
and combined the contention resolution identity and first DL RLC
message in LTE_fdd_enodeb.
v00.17.00 Added more MME and RRC decoding and encoding and integrity protection
of PDCP control messages in the LTE library. Added configuration
and user file support, PDCP security, RRC security mode command,
SRB2 setup, RRC connection reconfiguration, MME EMM attach, MME
ESM default bearer setup, and M-TMSI assignment to LTE_fdd_enodeb.
v00.17.01 Added SIB13 packing and printing for LTE_fdd_dl_file_scan and
pulled in a patch from Andrew Murphy to add SIB13 unpacking and
printing for LTE_fdd_dl_scan.
v00.18.00 Added IP packet support to LTE_fdd_enodeb. Specifically, added the
liblte prefix to value_2_bits and bits_2_value, converted everything
except PHY and RRC to byte message struct, added more MME decoding
and encoding, added PDCP user plane support, added RLC UMD support,
and fixed a bug in RRC connection reesablishment pack and unpack
(thanks to Paul Sutton for tracking this down) in the LTE library.
Added regeneration of eNodeB security data in HSS, service request,
service reject, and activate dedicated EPS bearer context request
support in MME, timer reset, and IP gateway support, using the
latest LTE library, and refactored C-RNTI assignement and release
in LTE_fdd_enodeb.
v00.18.01 Added more MME encoding and decoding to the LTE library, pulled in
a patch from Ruben Merz to add USRP X300 support for LTE_fdd_dl_scan
and LTE_fdd_enodeb, added to enodeb_nat_script.sh, added delayed
user deletion, ol extension to all message queues, ability to send
EMM information message, and QoS for default data services to
LTE_fdd_enodeb.
v00.18.02 Fixed several bugs in LTE_fdd_enodeb. Specifically, cleaned up the
Time Zone and Time IE and added C-RNTI support to
get_tbs_mcs_and_N_prb_for_dl in liblte, added asymmetric QoS support,
dynamically determining MCS for downlink data, sending EMM information
message, added more time spec information in radio debug, copying
SRB1 PDCP config to SRB2, fixed a UMD reassembly bug, and did a hack
to get around a crash when releasing a C-RNTI in LTE_fdd_enodeb.
v00.18.03 Added more MME encoding and decoding, RLC UMD header extension
support, and higher order modulation scheme support to PHY in the LTE
library, split the error enum into common.h, moved to a new message
queue using semaphores and circular buffers, added IP PCAP support,
split UL/DL QoS TTI frequency, added user reset to RB class, added
RLC UMD multiple data support, added UTC timestamps to the debug
log port, added higher order modulation scheme support in MAC, fixed
C-RNTI assign/release management, changed RTS timing, fixed user
switch in MME/RRC, added clear RB support and fixed copy RB in the
user class for LTE_fdd_enodeb.
v00.18.04 Fixed long BSR CE and added extended power headroom CE support, added
PDCP data PDU with short SN support, and added header extension
handling to RLC AMD to LTE library, added UmTRX support to
LTE_fdd_dl_scan, fixed the start/stop/start issues by closing the TUN
device on stop, fixed the RTS issues, added a mutex to the message
queue circular buffer, fixed uninitialized variables in the configuration
database, added header extension/multiple data support for RLC AMD,
added detach handling, and added a common routine for formatting time to
LTE_fdd_enodeb.
v00.19.00 Removed rb_id from all MME pack routines (thanks to Przemek for finding
this), fixed a bug with the default value of filter_coeff in
LIBLTE_RRC_UL_POWER_CONTROL_DEDICATED_STRUCT (thanks to Paul Sutton for
finding this), added the length indicator for eps_mobile_id (thanks to
Paul Sutton for finding this), added an error return for dci_1a_unpack
(thanks to Joel Carlson for the suggestion), properly initializing
vd_w_metric (thanks for ziminghe for finding this), and limiting PUSCH
allocations to 10 PRBs for performance reasons in the LTE library, added
TX and RX gains to the config file, combined UL and DL schedule messages
into a single PHY schedule message, moved QoS structure from RB class
to the user class, fixed bugs related to the RLC AM TX and RX buffers,
changed the default timer alignment timer to 10240 subframes, removed
boost::lexical_casts from HSS, moved the dedicated bearer QoS to 9, and
moved DRBs to RLC AMD mode in LTE_fdd_enodeb.
v00.19.01 Added support for all ID types for the mobile identity IE in MME, added
support for more PDU types in PDCP, added defines for sizes of fixed
arrays in LIBLTE_PHY_STRUCT, fixed the order of sizes for rate match
and unmatch arrays in LIBLTE_PHY_STRUCT (thanks to Ziming He), added
return values for liblte_phy_get_n_cce (thanks to Damian Jarek) and
liblte_rlc_unpack_status_pdu (thanks to Mikhail Gudkov) in the LTE
library, added a scoped lock RAII class for sem_t and pthread_mutex_t
in the tools library, changed from using boost::mutex to pthread_mutex_t
and_sem_t throughout, added helper functions in MAC, changed user
deletion and C-RNTI release procedures, properly initializing SIB
scheduling info, properly construct MNC (thanks to Mikhail Gudkov),
fixed an issue with RTS response in MAC, properly initialized PHY
allocation structure in MAC (thanks to Markus Grab), fixed the updating
of VT(A) in the RLC retransmission buffer, and changed the QoS parameters
for default data in LTE_fdd_enodeb.
v00.19.02 Pulled in unit tests for the turbo decoder from Ziming He, optimized
the PBCH detection algorithm (thanks to Ziming He), and fixed the setting
of id for IMEISV in Mobile Idenity IE (thanks to Mikhail Gudkov) in the
LTE library, added the ability to print all registered users, removed
extra boost includes, added an RRC connection reestablishment state
machine, added a UE inactivity timer, actually properly constructing
MNC (thanks to Mikhail Gudkov), memcpy-ing IP packet headers instead
of typecasting (thanks to Damian Jarek), initialized present flags
and changed packet filter evaluation precedence in activate dedicated
EPS bearer context (thanks to Pedro Batista), moved the message queue
empty error to a warning, and properly updating the user list iterator
after erasing a user (thanks to Damian Jarek).
v00.19.03 Added support for PUCCH decode in liblte, added support for H-ARQ and
PUCCH in LTE_fdd_enodeb, and fixed a bug related to improper cleanup
of the inactivity timer in LTE_fdd_enodeb
v00.19.04 Fixed the calculation of n_prime_p in generate_dmrs_pucch.
v00.20.00 Increased the maximum messages size, fixed extended power headroom MAC
CE, added classmark3 support, added tracking area update request support,
fixed the fill bits in packing mobile ID IE for IMEISV and the length in
unpacking UE security capabilities IE (thanks to Przemek Bereski for
finding this), allowing NULL to be passed for key_256 in service reject
message packing (thanks to Przemek Bereski and Peter Nguyen for finding
this), added PDCCH size defines, added an error return to DCI 1C unpack,
clearing punctered turbo decode bits before decoding, added AMD PDU
segment support, padded all RRC enums to powers of 2, added support for
several RRC IEs and messages (with the help of Przemek Bereski) in the
LTE library, restructured the radio classes to ease the addition of new
radio types, set the processor affinity to allow the PHY/Radio to run
on a particular core, fixed memcpy lengths in MAC, fixed bugs in
print_all_users (thanks to Sultan Qasim Khan for finding this) and when
receiving a service request message for a non-existent user (thanks to
Peter Nguyen for finding this), fixed a long standing PHY bug that was
including UL PDCCH allocations in a check of DL PRB usage, added error
logging for received AMD PDU segments, increased the DL datarate for
default data QoS, using C-RNTI when no IMSI/IMEI are available for
printing an attached user, Przemek Bereski added UE capability enquiry
and UE capability information support and bladeRF support.
v00.20.01 Reworked the MAC RTS handling logic and limited the number of HARQ
retransmissions in LTE_fdd_enodeb.
v00.20.02 Changed the QoS DL bytes per subframe for default data to ensure QPSK
only for 5MHz other DL modulation schemes seem to not be functioning
correctly.
v00.20.03 Properly discarding sequence type extensions in liblte_rrc, properly
typecasting for bladerf_get_timestamp() in LTE_fdd_enodeb_radio, and
updated enodeb_nat_script.sh to be more generic with ethernet
interfaces.
v00.20.04 Added band 26, 27, and 28 support (thanks to Jeremy Quirke), fixed the
length skipping in liblte_mme_unpack_pdn_address_ie (thanks to Przemek
Bereski), and fixed the turbo encoder tail bits (thanks to Laurent
Louf and Jeremy Quirke) in the LTE library and fixed the handling of
multiple RLC AMD PDUs throughout.
v00.20.05 Added two codeword support, refactored PUCCH channel decoding for 1,
1A, and 1B, added SR configuration index mapping, added liblte_common
unit tests, and properly handling FI fields for multiple AMD PDUs in
the LTE library, added helper functions and interprocess message queue
support to the tools library, added SR support, moved GW, MME, and PDCP
away from the singleton pattern, added direct IPC to a UE for MAC and
PHY, removed QOS and fixed UL scheduling in favor of SR and BSR based
UL scheduling, and refactored the AMD reception buffer to handle more
than one PDU per SN in LTE_fdd_enodeb, and fixed a typo in
lte_pucch_demod.m.
Empty file modified LTE_fdd_dl_file_gen/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified LTE_fdd_dl_file_gen/hdr/LTE_fdd_dl_fg_api.h
100644 → 100755
Empty file.
Empty file modified LTE_fdd_dl_file_gen/hdr/LTE_fdd_dl_fg_samp_buf.h
100644 → 100755
Empty file.
Empty file modified LTE_fdd_dl_file_gen/src/LTE_fdd_dl_fg.i
100644 → 100755
Empty file.
Loading