Code Monkey home page Code Monkey logo

ltesniffer's Introduction

LTESniffer - An Open-source LTE Downlink/Uplink Eavesdropper

LTESniffer is An Open-source LTE Downlink/Uplink Eavesdropper

It first decodes the Physical Downlink Control Channel (PDCCH) to obtain the Downlink Control Informations (DCIs) and Radio Network Temporary Identifiers (RNTIs) of all active users. Using decoded DCIs and RNTIs, LTESniffer further decodes the Physical Downlink Shared Channel (PDSCH) and Physical Uplink Shared Channel (PUSCH) to retrieve uplink and downlink data traffic.

LTESniffer supports an API with three functions for security applications and research. Many LTE security research assumes a passive sniffer that can capture privacy-related packets on the air. However, non of the current open-source sniffers satisfy their requirements as they cannot decode protocol packets in PDSCH and PUSCH. We developed a proof-of-concept security API that supports three tasks that were proposed by previous works: 1) Identity mapping, 2) IMSI collecting, and 3) Capability profiling.

Please refer to our paper for more details.

LTESniffer in layman's terms

LTESniffer is a tool that can capture the LTE wireless messages that are sent between a cell tower and smartphones connected to it. LTESniffer supports capturing the messages in both directions, from the tower to the smartphones, and from the smartphones back to the cell tower.

LTESniffer CANNOT DECRYPT encrypted messages between the cell tower and smartphones. It can be used for analyzing unencrypted parts of the communication between the cell tower and smartphones. For example, for encrypted messages, it can allow the user to analyze unencrypted parts, such as headers in MAC and physical layers. However, those messages sent in plaintext can be completely analyzable. For example, the broadcast messages sent by the cell tower, or the messages at the beginning of the connection are completely visible.

Ethical Consideration

The main purpose of LTESniffer is to support security and analysis research on the cellular network. Due to the collection of uplink-downlink user data, any use of LTESniffer must follow the local regulations on sniffing the LTE traffic. We are not responsible for any illegal purposes such as intentionally collecting user privacy-related information.

Features

New Update v2.1.0

  • Supports recording IQ raw data of subframes to file. Please refer to LTESniffer-record-subframe branch and its README for more details.
  • Supports offline decoding using recorded files (README).
  • Enable API in the downlink mode (only apply for identity collecting and mapping API)

New Update v2.0.0

  • Supports two USRP B-series for uplink sniffing mode. Please refer to LTESniffer-multi-usrp branch and its README for more details.
  • Fixed some bugs.

LTESniffer is implemented on top of FALCON with the help of srsRAN library. LTESniffer supports:

  • Real-time decoding LTE uplink-downlink control-data channels: PDCCH, PDSCH, PUSCH
  • LTE Advanced and LTE Advanced Pro, up to 256QAM in both uplink and downlink
  • DCI formats: 0, 1A, 1, 1B, 1C, 2, 2A, 2B
  • Transmission modes: 1, 2, 3, 4
  • FDD only
  • Maximum 20 MHz base station.
  • Automatically detect maximum UL/DL modulation schemes of smartphones (64QAM/256QAM on DL and 16QAM/64QAM/256QAM on UL)
  • Automatically detect physical layer configuration per UE.
  • LTE Security API: RNTI-TMSI mapping, IMSI collecting, UECapability Profiling.

Hardware and Software Requirement

OS Requirement

Currently, LTESniffer works stably on Ubuntu 18.04/20.04/22.04.

Hardware Requirement

Achieving real-time decoding of LTE traffic requires a high-performance CPU with multiple physical cores, especially during peak hours when the base station has many active users. LTESniffer successfully achieved real-time decoding when deployed on an Intel i7-9700K PC, decoding traffic from a base station with 150 active users.

The following hardware is recommended

  • Intel i7 CPU with at least 8 physical cores
  • At least 16Gb RAM
  • 256 Gb SSD storage

SDR

LTESniffer requires different SDR for its uplink and downlink sniffing modes.

To sniff only downlink traffic from the base station, LTESniffer is compatible with most SDRs that are supported by the srsRAN library (for example, USRP or BladeRF). The SDR should be connected to the PC via a USB 3.0 port. Also, it should be equipped with GPSDO and two RX antennas to decode downlink messages in transmission modes 3 and 4.

On the other hand, to sniff uplink traffic from smartphones to base stations, LTESniffer needs to listen to two different frequencies (Uplink and Downlink) concurrently. To solve this problem, LTESniffer supports two options:

  • Using a single USRP X310. USRP X310 has two Local Oscillators (LOs) for 2 RX channels, which can turn each RX channel to a distinct Uplink/Downlink frequency. To use this option, please refer to the main branch of LTESniffer.
  • Using 2 USRP B-Series. LTESniffer utilizes 2 USRP B-series (B210/B200) for uplink and downlink separately. It achieves synchronization between 2 USRPs by using GPSDO for clock source and time reference. To use this option, please refer to the LTESniffer-multi-usrp branch of LTESniffer and its README.

Installation

Important note: To avoid unexpected errors, please follow the following steps on Ubuntu 18.04/20.04/22.04.

Dependencies

  • Important dependency: UHD library version >= 4.0 must be installed in advance (recommend building from source). The following steps can be used on Ubuntu 18.04. Refer to UHD Manual for full installation guidance.

UHD dependencies:

sudo apt update
sudo apt-get install autoconf automake build-essential ccache cmake cpufrequtils doxygen ethtool \
g++ git inetutils-tools libboost-all-dev libncurses5 libncurses5-dev libusb-1.0-0 libusb-1.0-0-dev \
libusb-dev python3-dev python3-mako python3-numpy python3-requests python3-scipy python3-setuptools \
python3-ruamel.yaml

Clone and build UHD from source (make sure that the current branch is higher than 4.0)

git clone https://github.com/EttusResearch/uhd.git
cd <uhd-repo-path>/host
mkdir build
cd build
cmake ../
make -j 4
make test
sudo make install
sudo ldconfig

Download firmwares for USRPs:

sudo uhd_images_downloader

We use a 10Gb card to connect USRP X310 to PC, refer to UHD Manual [1], [2] to configure USRP X310 and 10Gb card interface. For USRP B210, it should be connected to PC via a USB 3.0 port.

Test the connection and firmware (for USRP X310 only):

sudo sysctl -w net.core.rmem_max=33554432
sudo sysctl -w net.core.wmem_max=33554432
sudo ifconfig <10Gb card interface> mtu 9000
sudo uhd_usrp_probe
  • srsRAN dependencies:
sudo apt-get install build-essential git cmake libfftw3-dev libmbedtls-dev libboost-program-options-dev libconfig++-dev libsctp-dev
  • LTESniffer dependencies:
sudo apt-get install libglib2.0-dev libudev-dev libcurl4-gnutls-dev libboost-all-dev qtdeclarative5-dev libqt5charts5-dev

Build LTESniffer from source:

git clone https://github.com/SysSec-KAIST/LTESniffer.git
cd LTESniffer
mkdir build
cd build
cmake ../
make -j 4 (use 4 threads)

Usage

LTESniffer has 3 main functions:

  • Sniffing LTE downlink traffic from the base station
  • Sniffing LTE uplink traffic from smartphones
  • Security API

After building from source, LTESniffer is located in <build-dir>/src/LTESniffer

Note that before using LTESniffer on the commercial, one should have to check the local regulations on sniffing LTE traffic, as we explained in the Ethical Consideration.

To figure out the base station and Uplink-Downlink band the test smartphone is connected to, install Cellular-Z app on the test smartphone (the app only supports Android). It will show the cell ID and Uplink-Downlink band/frequency to which the test smartphone is connected. Make sure that LTESniffer also connects to the same cell and frequency.

General downlink sniffing

LTESniffer Downlink Mode

sudo ./<build-dir>/src/LTESniffer -A 2 -W <number of threads> -f <DL Freq> -C -m 0
example: sudo ./src/LTESniffer -A 2 -W 4 -f 1840e6 -C -m 0
-A: number of antennas
-W: number of threads
-f: downlink frequency
-C: turn on cell search
-m: sniffer mode, 0 for downlink sniffing and 1 for uplink sniffing

Note: to run LTESniffer with USRP B210 in the downlink mode, add option -a "num_recv_frames=512" to the command line. This option extends the receiving buffer for USRP B210 to achieve better synchronization.

sudo ./<build-dir>/src/LTESniffer -A 2 -W <number of threads> -f <DL Freq> -C -m 0 -a "num_recv_frames=512"
example: sudo ./src/LTESniffer -A 2 -W 4 -f 1840e6 -C -m 0 -a "num_recv_frames=512"

General uplink sniffing

Note: In the uplink sniffing mode, the test smartphones should be located nearby the sniffer, because the uplink signal power from UE is significantly weaker compared to the downlink signal from the base station.

LTESniffer Uplink Mode

sudo ./<build-dir>/src/LTESniffer -A 2 -W <number of threads> -f <DL Freq> -u <UL Freq> -C -m 1
example: sudo ./src/LTESniffer -A 2 -W 4 -f 1840e6 -u 1745e6 -C -m 1
-u: uplink frequency

Security API

LTESniffer API Mode

sudo ./<build-dir>/src/LTESniffer -A 2 -W <number of threads> -f <DL Freq> -u <UL Freq> -C -m 1 -z 3
example: sudo ./src/LTESniffer -A 2 -W 4 -f 1840e6 -u 1745e6 -C -m 1 -z 3
-z: 3 for turnning on 3 functions of sniffer, which are identity mapping, IMSI collecting, and UECapability profiling.
    2 for UECapability profiling
    1 for IMSI collecting
    0 for identity mapping

Specify a base station

LTESniffer can sniff on a specific base station by using options -I <Phycial Cell ID (PCI)> -p <number of Physical Resource Block (PRB)>. In this case, LTESniffer does not do the cell search but connects directly to the specified cell.

sudo ./<build-dir>/src/LTESniffer -A 2 -W <number of threads> -f <DL Freq> -I <PCI> -p <PRB> -m 0
sudo ./<build-dir>/src/LTESniffer -A 2 -W <number of threads> -f <DL Freq> -u <UL Freq> -I <PCI> -p <PRB> -m 1
example: sudo ./src/LTESniffer -A 2 -W 4 -f 1840e6 -u 1745e6 -I 379 -p 100 -m 1

The debug mode can be enabled by using option -d. In this case, the debug messages will be printed on the terminal.

Output of LTESniffer

LTESniffer provides pcap files in the output. The pcap file can be opened by WireShark for further analysis and packet trace. The name of downlink pcap file: sniffer_dl_mode.pcap, uplink pcap file: sniffer_ul_mode.pcap, and API pcap file: api_collector.pcap. The pcap files are located in the same directory LTESniffer has been executed. To enable the WireShark to analyze the decoded packets correctly, please refer to the WireShark configuration guide here. There are also some examples of pcap files in the link.
Note: The uplink pcap file contains both uplink and downlink messages. On the WireShark, use this filter to monitor only uplink messages: mac-lte.direction == 0; or this filter to monitor only downlink messages: mac-lte.direction == 1.

Application Note

Distance for uplink sniffing

The effective range for sniffing uplink is limited in LTESniffer due to the capability of the RF front-end of the hardware (i.e. SDR). The uplink signal power from UE is significantly weaker compared to the downlink signal because UE is a handheld device that optimizes battery usage, while the eNB uses sufficient power to cover a large area. To successfully capture the uplink traffic, LTESniffer can increase the strength of the signal power by i) being physically close to the UE, or ii) improving the signal reception capability with specialized hardware, such as a directional antenna, dedicated RF front-end, and signal amplifier.

The information displayed on the terminal

Downlink Sniffing Mode

Processed 1000/1000 subframes: Number of subframes was processed by LTESniffer last 1 second. There are 1000 LTE subframes per second by design.
RNTI: Radio Network Temporary Identifier of UEs.
Table: The maximum modulation scheme that is used by smartphones in downlink. LTESniffer supports up to 256QAM in the downlink. Refer to our paper for more details.
Active: Number of detected messages of RNTIs.
Success: Number of successfully decoded messages over number of detected messages (Active).
New TX, ReTX, HARQ, Normal: Statistic of new messages and retransmitted messages. This function is in development.
W_MIMO, W_pinfor, Other: Number of messages with wrong radio configuration, only for debugging.

Uplink Sniffing Mode

Max Mod: The maximum modulation scheme that is used by smartphones in uplink. It can be 16/64/256QAM depending on the support of smartphones and the configuration of the network. Refer to our paper for more details.
SNR: Signal-to-noise ratio (dB). Low SNR means the uplink signal quality from the smartphone is bad. One possible reason is the smartphone is far from the sniffer.
DL-UL_delay: The average of time delay between downlink signal from the base station and uplink signal from the smartphone.
Other Info: Information only for debugging.

API Mode

Detected Identity: The name of detected identity.
Value: The value of detected identity.
From Message: The name of the message that contains the detected identity.

Credits

We sincerely appreciate the FALCON and SRS team for making their great softwares available.

Contributor

Special thanks to all the contributors who helped us to fix bugs and improve LTESniffer

  1. @cellular777
  2. Cemaxecuter

BibTex

Please refer to our paper for more details.

@inproceedings{hoang:ltesniffer,
  title = {{LTESniffer: An Open-source LTE Downlink/Uplink Eavesdropper}},
  author = {Hoang, Dinh Tuan and Park, CheolJun and Son, Mincheol and Oh, Taekkyung and Bae, Sangwook and Ahn, Junho and Oh, BeomSeok and Kim, Yongdae},
  booktitle = {16th ACM Conference on Security and Privacy in Wireless and Mobile Networks (WiSec '23)},
  year = {2023}
}

FAQ

Q: Is it mandatory to use GPSDO with the USRP in order to run LTESniffer?
A: GPSDO is useful for more stable synchronization. However, for downlink sniffing mode, LTESniffer still can synchronize with the LTE signal to decode the packets without GPSDO. For uplink sniffing mode, GPSDO is only required when using 2 USRP B-series, as it is the time and clock reference sources for synchrozation between uplink and downlink channels. Another uplink SDR option, using a single USRP X310, does not require GPSDO.

Q: For downlink traffic, can I use a cheaper SDR?
A: Technically, any SDRs supported by srsRAN library such as Blade RF can be used to run LTESniffer in the downlink sniffing mode. However, we only tested the downlink sniffing function of LTESniffer with USRP B210 and X310.

Q: Is it illegal to use LTESniffer to sniff the LTE traffic?
A: You should have to check the local regulations on sniffing (unencrypted) LTE traffic. Another way to test LTESniffer is setting up a personal LTE network by using srsRAN - an open-source LTE implementation in a Faraday cage.

Q: Can LTESniffer be used to view the content of messages between two users?
A: One can see only the "unencrypted" part of the messages. Note that the air traffic between the base station and users is mostly encrypted.

Q: Is there any device identity exposed in plaintext in the LTE network?
A: Yes, literature shows that there are multiple identities exposed, such as TMSI, GUTI, IMSI, and RNTI. Please refer to the academic literature for more details. e.g. Watching the Watchers: Practical Video Identification Attack in LTE Networks

ltesniffer's People

Contributors

hdtuanss avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ltesniffer's Issues

Error

Hi all,

I'm running Dragonos and using HackRF One. However, while building LTESniffer, I'm getting this error. I think the error is related to USRP as I'm using HackRF One only. here is the error:-
Please help me in resolving----

Building C object srsRAN-build/lib/src/phy/phch/test/CMakeFiles/prach_test_usrp.dir/prach_test_usrp.c.o
[ 42%] Linking CXX executable prach_test_usrp
/usr/bin/ld: ../../rf/libsrsran_rf.so.21.10.0: undefined reference to `uhd::_log::log::log(uhd::log::severity_level, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, unsigned int, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::thread::id)'
collect2: error: ld returned 1 exit status

Integration of ADALM-Pluto SDR with LTESniffer and UHD Recognition

Hello!

I'm working on a surveillance project and was looking to integrate your UL/DL eavesdropper tool with my SDR (ADALM-Pluto) in order to do some testing. I've encountered a few issues and was hoping to get your pointers on this, because I've tried troubleshooting multiple times and it's not been to much effect.

I'll describe in better detail below, but basically when i go to run LTESniffer on my computer this is what I get:

My setup:

Computer:

  • OS: Mint 21.1 Vera
  • Intel i7 (octa-core)
  • 8 gb RAM
  • 1 TB SSD

SDR:

  • ADALM-Pluto

Concerns:

  1. UHD doesn't recognise PlutoSDR as an RF device: UHD being a core dependency in order for LTESniffer to function, I've been facing issues with getting UHD to recognise my Pluto SDR as an RF device. I did a little digging around and it seems that UHD doesn't officially support the Pluto. But! I was wondering if there were any alternate ways that would enable this configuration? Perhaps with GNU radio (if so, would you have any pointers for constructing the flowgraph that might be integrated with UHD so that I will still be able to use the codebase here in testing out the eavesdropper), or maybe SoapySDR?
  • Here's what I've tried: I used the SoapyPlutoSDR plugin for letting SoapSDR recognise my SDR as an RF device:

After that I made changes in the uhd.conf file so that UHD uses SoapySDR:

But, when I then run uhd_find_devices, UHD still doesn't recognise my SDR:

  1. In the FAQ section of your documentation you mentioned: "any SDRs supported by srsRAN library such as Blade RF can be used to run LTESniffer in the downlink sniffing mode", and so it got me wondering if there was a similar process as with indirect configuration for UHD (that doesn't involve using additional hardware such as a zync-based board, as is described here) so that my Pluto SDR gets recognised as an RF device. And it would be amazing if I could get any pointers on what I could do to achieve this, and more importantly whether I would have to make changes within the codebase of the LTESniffer itself.

It's been an exhaustive bout of researching and finding various avenues to resolve these issues, but I have not been able to find a definitive solution so far. And so, I cannot think of any place better to look for help than towards the authors of this brilliant repo themselves in shedding light on potential configurations, modifications, or specific steps that can enable successful integration between LTESniffer and the Pluto SDR.

Thanks!

Failing Uplink Decoding

Hello again! For context, this post serves as a continuation of a previous one where I was attempting uplink decoding using a pair of USRP B205minis w/ a PPS for time alignment. That thread ended with a discussion about the limitation of the underlying srsRAN library to 1 and 2 port cells.

I have recently found a 2-port eNB (10 MHz bandwidth) that my COTS phones will connect to. I placed the sniffer in an area with good signal quality (>20 SNR). With a phone ~1 meter from the USRPs, I switched airplane mode on and off several times. Upon switching airplane mode off, the RACH and RRC Connection Setup can be seen, but no further results are present.

The following text shows 5 instances of switching airplane mode from a run with arguments ... -m 1 -z 3 -d. It was generated by filtering LTESniffer output with the command grep -v Paging <sniffer output file> | grep -A 10 PRACH.

PRACH: 1/2, preamble=4, offset=69.6 us, peak2avg=276.2 
716 -2    Contention Resolution     1a0ff027         16547      RRC Connection Setup     
[A][PUSCH-16 ]  SF: 720 .5 -- RNTI: 16547  -- DL-UL(us): -1.25  -- SNR(db): 14.5   -- CQI RQ: 1|0 -- Noise Pwr: 37.5   -- MCS: 20  -- 16QAM  -- FAILED  -- Len: 161
[A][PUSCH-256]  SF: 720 .5 -- RNTI: 16547  -- DL-UL(us): -1.25  -- SNR(db): 14.5   -- CQI RQ: 1|0 -- Noise Pwr: 37.5   -- MCS: 20  -- 64QAM  -- FAILED  -- Len: 249
[A][PUSCH-16 ]  SF: 752 .6 -- RNTI: 16547  -- DL-UL(us): -12.3  -- SNR(db): 4.66   -- CQI RQ: 0|0 -- Noise Pwr: 46.4   -- MCS: 20  -- 16QAM  -- FAILED  -- Len: 105
[A][PUSCH-256]  SF: 752 .6 -- RNTI: 16547  -- DL-UL(us): -12.3  -- SNR(db): 4.66   -- CQI RQ: 0|0 -- Noise Pwr: 46.4   -- MCS: 20  -- 64QAM  -- FAILED  -- Len: 165
[A][PUSCH-16 ]  SF: 762 .6 -- RNTI: 16547  -- DL-UL(us): -1.16  -- SNR(db): 27.2   -- CQI RQ: 0|0 -- Noise Pwr: 28.9   -- MCS: 25  -- 64QAM  -- FAILED  -- Len: 141
[A][PUSCH-64 ]  SF: 762 .6 -- RNTI: 16547  -- DL-UL(us): -1.16  -- SNR(db): 27.2   -- CQI RQ: 0|0 -- Noise Pwr: 28.9   -- MCS: 25  -- 64QAM  -- SUCCESS -- Len: 141
776 -1    Contention Resolution     c6ecbf42         16555      RRC Connection Setup     
[A][PUSCH-16 ]  SF: 803 .7 -- RNTI: 6833   -- DL-UL(us): +0.859 -- SNR(db): 2.23   -- CQI RQ: 0|0 -- Noise Pwr: 15.2   -- MCS: 19  -- 16QAM  -- FAILED  -- Len: 97
[A][PUSCH-256]  SF: 803 .7 -- RNTI: 6833   -- DL-UL(us): +0.859 -- SNR(db): 2.23   -- CQI RQ: 0|0 -- Noise Pwr: 15.2   -- MCS: 19  -- 64QAM  -- FAILED  -- Len: 185
--
PRACH: 2/2, preamble=41, offset=28.6 us, peak2avg=343.0 
544 -1    Contention Resolution     f26e7dac         2181       RRC Connection Setup     
[A][PUSCH-16 ]  SF: 547 .4 -- RNTI: 2181   -- DL-UL(us): +9.94  -- SNR(db): 7.14   -- CQI RQ: 0|0 -- Noise Pwr: 49.7   -- MCS: 2   -- QPSK   -- FAILED  -- Len: 9
[A][PUSCH-256]  SF: 547 .4 -- RNTI: 2181   -- DL-UL(us): +9.94  -- SNR(db): 7.14   -- CQI RQ: 0|0 -- Noise Pwr: 49.7   -- MCS: 2   -- QPSK   -- FAILED  -- Len: 15
[A][PUSCH-16 ]  SF: 547 .8 -- RNTI: 2181   -- DL-UL(us): -12.3  -- SNR(db): 4.55   -- CQI RQ: 0|0 -- Noise Pwr: 52     -- MCS: 2   -- QPSK   -- FAILED  -- Len: 9
[A][PUSCH-256]  SF: 547 .8 -- RNTI: 2181   -- DL-UL(us): -12.3  -- SNR(db): 4.55   -- CQI RQ: 0|0 -- Noise Pwr: 52     -- MCS: 2   -- QPSK   -- FAILED  -- Len: 15
[A][PUSCH-16 ]  SF: 547 .9 -- RNTI: 2181   -- DL-UL(us): -12.3  -- SNR(db): 5.61   -- CQI RQ: 0|0 -- Noise Pwr: 52     -- MCS: 13  -- 16QAM  -- FAILED  -- Len: 141
[A][PUSCH-256]  SF: 547 .9 -- RNTI: 2181   -- DL-UL(us): -12.3  -- SNR(db): 5.61   -- CQI RQ: 0|0 -- Noise Pwr: 52     -- MCS: 13  -- 16QAM  -- FAILED  -- Len: 269
[A][PUSCH-16 ]  SF: 549 .4 -- RNTI: 2181   -- DL-UL(us): +9.95  -- SNR(db): 8.14   -- CQI RQ: 0|0 -- Noise Pwr: 49.4   -- MCS: 12  -- 16QAM  -- FAILED  -- Len: 97
[A][PUSCH-256]  SF: 549 .4 -- RNTI: 2181   -- DL-UL(us): +9.95  -- SNR(db): 8.14   -- CQI RQ: 0|0 -- Noise Pwr: 49.4   -- MCS: 12  -- 16QAM  -- FAILED  -- Len: 193
[A][PUSCH-16 ]  SF: 549 .4 -- RNTI: 18125  -- DL-UL(us): -0.598 -- SNR(db): 2.35   -- CQI RQ: 0|0 -- Noise Pwr: 17.5   -- MCS: 4   -- QPSK   -- FAILED  -- Len: 26
--
PRACH: 2/2, preamble=27, offset=35.3 us, peak2avg=253.2 
50  -1    Contention Resolution     3d6329c3         4557       RRC Connection Setup     
[A][PUSCH-16 ]  SF: 53  .1 -- RNTI: 4557   -- DL-UL(us): -1.3   -- SNR(db): 27.2   -- CQI RQ: 0|0 -- Noise Pwr: 26.6   -- MCS: 2   -- QPSK   -- SUCCESS -- Len: 9
[A][PUSCH-16 ]  SF: 53  .2 -- RNTI: 4557   -- DL-UL(us): -1.29  -- SNR(db): 25.5   -- CQI RQ: 0|0 -- Noise Pwr: 28.2   -- MCS: 2   -- QPSK   -- SUCCESS -- Len: 9
[A][PUSCH-16 ]  SF: 53  .3 -- RNTI: 4557   -- DL-UL(us): -1.33  -- SNR(db): 22.6   -- CQI RQ: 0|0 -- Noise Pwr: 31.1   -- MCS: 2   -- QPSK   -- SUCCESS -- Len: 9
[A][PUSCH-16 ]  SF: 53  .4 -- RNTI: 4557   -- DL-UL(us): -1.28  -- SNR(db): 27.3   -- CQI RQ: 0|0 -- Noise Pwr: 26.2   -- MCS: 2   -- QPSK   -- SUCCESS -- Len: 9
[A][PUSCH-16 ]  SF: 53  .9 -- RNTI: 4557   -- DL-UL(us): +9.81  -- SNR(db): 8.44   -- CQI RQ: 0|0 -- Noise Pwr: 45.6   -- MCS: 18  -- 16QAM  -- FAILED  -- Len: 177
[A][PUSCH-256]  SF: 53  .9 -- RNTI: 4557   -- DL-UL(us): +9.81  -- SNR(db): 8.44   -- CQI RQ: 0|0 -- Noise Pwr: 45.6   -- MCS: 18  -- 64QAM  -- FAILED  -- Len: 301
[A][PUSCH-16 ]  SF: 55  .0 -- RNTI: 4557   -- DL-UL(us): -1.3   -- SNR(db): 24.5   -- CQI RQ: 1|0 -- Noise Pwr: 28.9   -- MCS: 14  -- 16QAM  -- FAILED  -- Len: 125
[A][PUSCH-256]  SF: 55  .0 -- RNTI: 4557   -- DL-UL(us): -1.3   -- SNR(db): 24.5   -- CQI RQ: 1|0 -- Noise Pwr: 28.9   -- MCS: 14  -- 64QAM  -- FAILED  -- Len: 233
[A][PUSCH-16 ]  SF: 57  .0 -- RNTI: 4557   -- DL-UL(us): -1.29  -- SNR(db): 24.6   -- CQI RQ: 0|0 -- Noise Pwr: 30.4   -- MCS: 17  -- 16QAM  -- SUCCESS -- Len: 121
--
PRACH: 1/1, preamble=29, offset=78.2 us, peak2avg=267.7 
680 -1    Contention Resolution     e18faa11         7131       RRC Connection Setup     
[A][PUSCH-16 ]  SF: 682 .4 -- RNTI: 7131   -- DL-UL(us): -12.4  -- SNR(db): 4.32   -- CQI RQ: 0|0 -- Noise Pwr: 52.7   -- MCS: 2   -- QPSK   -- FAILED  -- Len: 9
[A][PUSCH-256]  SF: 682 .4 -- RNTI: 7131   -- DL-UL(us): -12.4  -- SNR(db): 4.32   -- CQI RQ: 0|0 -- Noise Pwr: 52.7   -- MCS: 2   -- QPSK   -- FAILED  -- Len: 15
[A][PUSCH-16 ]  SF: 682 .8 -- RNTI: 7131   -- DL-UL(us): +9.82  -- SNR(db): 7.18   -- CQI RQ: 0|0 -- Noise Pwr: 49.6   -- MCS: 2   -- QPSK   -- FAILED  -- Len: 9
[A][PUSCH-256]  SF: 682 .8 -- RNTI: 7131   -- DL-UL(us): +9.82  -- SNR(db): 7.18   -- CQI RQ: 0|0 -- Noise Pwr: 49.6   -- MCS: 2   -- QPSK   -- FAILED  -- Len: 15
[A][PUSCH-16 ]  SF: 682 .9 -- RNTI: 7131   -- DL-UL(us): -1.28  -- SNR(db): 25.4   -- CQI RQ: 0|0 -- Noise Pwr: 32.6   -- MCS: 2   -- QPSK   -- SUCCESS -- Len: 9
[A][PUSCH-16 ]  SF: 683 .2 -- RNTI: 7131   -- DL-UL(us): -1.27  -- SNR(db): 22.2   -- CQI RQ: 0|0 -- Noise Pwr: 35.3   -- MCS: 2   -- QPSK   -- SUCCESS -- Len: 9
[A][PUSCH-16 ]  SF: 684 .5 -- RNTI: 7131   -- DL-UL(us): -1.17  -- SNR(db): 14.2   -- CQI RQ: 0|0 -- Noise Pwr: 39.4   -- MCS: 2   -- QPSK   -- SUCCESS -- Len: 4
[A][PUSCH-16 ]  SF: 684 .6 -- RNTI: 7131   -- DL-UL(us): -12.4  -- SNR(db): 4.94   -- CQI RQ: 1|0 -- Noise Pwr: 51     -- MCS: 19  -- 16QAM  -- FAILED  -- Len: 145
[A][PUSCH-256]  SF: 684 .6 -- RNTI: 7131   -- DL-UL(us): -12.4  -- SNR(db): 4.94   -- CQI RQ: 1|0 -- Noise Pwr: 51     -- MCS: 19  -- 64QAM  -- FAILED  -- Len: 277
--
PRACH: 2/2, preamble=52, offset=21.0 us, peak2avg=150.1 
685 -1    Contention Resolution     4524531e         9365       RRC Connection Setup     
[A][PUSCH-16 ]  SF: 687 .2 -- RNTI: 9365   -- DL-UL(us): +9.81  -- SNR(db): 6.57   -- CQI RQ: 0|0 -- Noise Pwr: 44.9   -- MCS: 2   -- QPSK   -- FAILED  -- Len: 9
[A][PUSCH-256]  SF: 687 .2 -- RNTI: 9365   -- DL-UL(us): +9.81  -- SNR(db): 6.57   -- CQI RQ: 0|0 -- Noise Pwr: 44.9   -- MCS: 2   -- QPSK   -- FAILED  -- Len: 15
[A][PUSCH-16 ]  SF: 689 .4 -- RNTI: 9365   -- DL-UL(us): +9.73  -- SNR(db): 7.86   -- CQI RQ: 1|0 -- Noise Pwr: 46.5   -- MCS: 14  -- 16QAM  -- FAILED  -- Len: 93
[A][PUSCH-256]  SF: 689 .4 -- RNTI: 9365   -- DL-UL(us): +9.73  -- SNR(db): 7.86   -- CQI RQ: 1|0 -- Noise Pwr: 46.5   -- MCS: 14  -- 64QAM  -- FAILED  -- Len: 173
[A][PUSCH-16 ]  SF: 691 .2 -- RNTI: 9365   -- DL-UL(us): -1.31  -- SNR(db): 8.07   -- CQI RQ: 0|0 -- Noise Pwr: 44.7   -- MCS: 20  -- 16QAM  -- FAILED  -- Len: 105
[A][PUSCH-256]  SF: 691 .2 -- RNTI: 9365   -- DL-UL(us): -1.31  -- SNR(db): 8.07   -- CQI RQ: 0|0 -- Noise Pwr: 44.7   -- MCS: 20  -- 64QAM  -- FAILED  -- Len: 165
693 -1    Contention Resolution     c9b808ed         9367       RRC Connection Setup     
[A][PUSCH-16 ]  SF: 719 .0 -- RNTI: 9365   -- DL-UL(us): -12.7  -- SNR(db): 2.91   -- CQI RQ: 0|0 -- Noise Pwr: 41.1   -- MCS: 19  -- 16QAM  -- FAILED  -- Len: 145
[A][PUSCH-256]  SF: 719 .0 -- RNTI: 9365   -- DL-UL(us): -12.7  -- SNR(db): 2.91   -- CQI RQ: 0|0 -- Noise Pwr: 41.1   -- MCS: 19  -- 64QAM  -- FAILED  -- Len: 277

I expected further messages to be decoded (e.g., Attach Request). I was also surprised to see such variance in SNR for any one RNTI, and this appears to affect decoding reliability.

Thanks in advance!

Utilize 2x b210

Could we utilize 2x b120 or b205mini connected with a ref clock to run uplink and downlink?

What changes are necessary to accomplish this and if we define a second rf device in LTESniffer_core and configure it on the appropriate rx freq etc will that be enough or will further changes be required deeper in the codebase?

Compilation Issue on ARM

Please see "Make Error at CMakeLists.txt:332 (message):
no SIMD instructions found" below.

Is LTESniffer supported on ARM (specifically Apple M2 Pro running Ubuntu 22.04.3 LTS in a VM)?

mo@ubuntu:~/LTESniffer/build$ cmake ../
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.

Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.

-- Build type not specified: defaulting to RelWithDebInfo.
-- CMNALIB LIBRARIES: CMNALIB_LIBRARY-NOTFOUND
-- Could NOT find CMNALIB (missing: CMNALIB_LIBRARIES)
Download CMNALIB as a subproject and build it.
CMake Deprecation Warning at CMakeLists.txt:2 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.

Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.

-- Configuring done
-- Generating done
-- Build files have been written to: /home/mo/LTESniffer/build/cmnalib-download
[ 11%] Performing update step for 'cmnalib'
[ 22%] No patch step for 'cmnalib'
[ 33%] No configure step for 'cmnalib'
[ 44%] No build step for 'cmnalib'
[ 55%] No install step for 'cmnalib'
[ 66%] No test step for 'cmnalib'
[ 77%] Completed 'cmnalib'
[100%] Built target cmnalib
CMake Deprecation Warning at build/cmnalib-src/CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.

Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.

CMNALIB_LIBRARY: cmnalib
CMNALIB_LIBRARIES: cmnalib
CMake Warning (dev) at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
The package name passed to find_package_handle_standard_args (mkl) does
not match the name of the calling package (MKL). This can lead to problems
in calling code that expects find_package result variables (e.g.,
_FOUND) to follow a certain pattern.
Call Stack (most recent call first):
cmake/modules/FindMKL.cmake:44 (find_package_handle_standard_args)
CMakeLists.txt:115 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.

-- Could NOT find mkl (missing: MKL_LIBRARIES MKL_CORE MKL_ILP MKL_SEQ)
-- FFTW3F LIBRARIES: /usr/lib/aarch64-linux-gnu/libfftw3f.so
-- FFTW3F STATIC LIBRARIES: /usr/lib/aarch64-linux-gnu/libfftw3f.a
-- FFTW3F INCLUDE DIRS: /usr/include
CMake Warning (dev) at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
The package name passed to find_package_handle_standard_args (fftw3f)
does not match the name of the calling package (FFTW3F). This can lead to
problems in calling code that expects find_package result variables
(e.g., _FOUND) to follow a certain pattern.
Call Stack (most recent call first):
cmake/modules/FindFFTW3F.cmake:41 (find_package_handle_standard_args)
CMakeLists.txt:121 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.

-- FFT_LIBRARIES: /usr/lib/aarch64-linux-gnu/libfftw3f.so
CMake Warning (dev) at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
The package name passed to find_package_handle_standard_args (PkgConfig)
does not match the name of the calling package (UHD). This can lead to
problems in calling code that expects find_package result variables
(e.g., _FOUND) to follow a certain pattern.
Call Stack (most recent call first):
/usr/share/cmake-3.22/Modules/FindPkgConfig.cmake:99 (find_package_handle_standard_args)
cmake/modules/FindUHD.cmake:1 (INCLUDE)
CMakeLists.txt:137 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.

-- UHD LIBRARIES /usr/local/lib/libuhd.so
-- UHD INCLUDE DIRS /usr/local/include
-- Checking for module 'libbladeRF'
-- No package 'libbladeRF' found
-- libbladeRF not found.
-- FINDING SOAPY.
-- Checking for module 'SoapySDR'
-- No package 'SoapySDR' found
-- libSOAPYSDR not found.
CMake Warning at CMakeLists.txt:170 (find_package):
By not providing "FindSRSRAN.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "SRSRAN", but
CMake did not find one.

Could not find a package configuration file provided by "SRSRAN" with any
of the following names:

SRSRANConfig.cmake
srsran-config.cmake

Add the installation prefix of "SRSRAN" to CMAKE_PREFIX_PATH or set
"SRSRAN_DIR" to a directory containing one of the above files. If "SRSRAN"
provides a separate development package or SDK, be sure it has been
installed.

Download SRSRAN as a subproject and build it.
CMake Deprecation Warning at CMakeLists.txt:2 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.

Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.

-- Configuring done
-- Generating done
-- Build files have been written to: /home/mo/LTESniffer/build/srsRAN-download
[ 11%] Performing update step for 'srsRAN'
HEAD is now at 9d6781c Update refsignal_ul.c
[ 22%] No patch step for 'srsRAN'
[ 33%] No configure step for 'srsRAN'
[ 44%] No build step for 'srsRAN'
[ 55%] No install step for 'srsRAN'
[ 66%] No test step for 'srsRAN'
[ 77%] Completed 'srsRAN'
[100%] Built target srsRAN
CMake Deprecation Warning at build/srsRAN-src/CMakeLists.txt:33 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.

Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.

-- CMAKE_SYSTEM: Linux-5.15.0-91-generic
-- CMAKE_SYSTEM_PROCESSOR: aarch64
-- CMAKE_CXX_COMPILER: /usr/bin/c++
-- Detected aarch64 processor
-- FFTW3F LIBRARIES: /usr/lib/aarch64-linux-gnu/libfftw3f.so
-- FFTW3F STATIC LIBRARIES: /usr/lib/aarch64-linux-gnu/libfftw3f.a
-- FFTW3F INCLUDE DIRS: /usr/include
CMake Warning (dev) at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
The package name passed to find_package_handle_standard_args (fftw3f)
does not match the name of the calling package (FFTW3F). This can lead to
problems in calling code that expects find_package result variables
(e.g., _FOUND) to follow a certain pattern.
Call Stack (most recent call first):
cmake/modules/FindFFTW3F.cmake:41 (find_package_handle_standard_args)
build/srsRAN-src/CMakeLists.txt:168 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.

-- FFT_LIBRARIES: /usr/lib/aarch64-linux-gnu/libfftw3f.so
-- Checking for module 'polarssl'
-- No package 'polarssl' found
-- POLARSSL LIBRARIES: POLARSSL_LIBRARIES-NOTFOUND
-- POLARSSL STATIC LIBRARIES: POLARSSL_STATIC_LIBRARIES-NOTFOUND
-- POLARSSL INCLUDE DIRS: POLARSSL_INCLUDE_DIRS-NOTFOUND
-- Could NOT find Polarssl (missing: POLARSSL_LIBRARIES POLARSSL_INCLUDE_DIRS)
-- Checking for module 'mbedtls'
-- No package 'mbedtls' found
-- MBEDTLS LIBRARIES: /usr/lib/aarch64-linux-gnu/libmbedcrypto.so
-- MBEDTLS STATIC LIBRARIES: /usr/lib/aarch64-linux-gnu/libmbedcrypto.a
-- MBEDTLS INCLUDE DIRS: /usr/include
-- Checking for module 'libpcsclite'
-- No package 'libpcsclite' found
-- Could NOT find PCSCLite (missing: PCSCLITE_LIBRARY PCSCLITE_INCLUDE_DIR)
-- PCSC LIBRARIES: PCSCLITE_LIBRARY-NOTFOUND
-- PCSC INCLUDE DIRS: PCSCLITE_INCLUDE_DIR-NOTFOUND
CMake Warning (dev) at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
The package name passed to find_package_handle_standard_args (PkgConfig)
does not match the name of the calling package (UHD). This can lead to
problems in calling code that expects find_package result variables
(e.g., _FOUND) to follow a certain pattern.
Call Stack (most recent call first):
/usr/share/cmake-3.22/Modules/FindPkgConfig.cmake:99 (find_package_handle_standard_args)
cmake/modules/FindUHD.cmake:1 (INCLUDE)
build/srsRAN-src/CMakeLists.txt:220 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
The package name passed to find_package_handle_standard_args (PkgConfig)
does not match the name of the calling package (SKIQ). This can lead to
problems in calling code that expects find_package result variables
(e.g., _FOUND) to follow a certain pattern.
Call Stack (most recent call first):
/usr/share/cmake-3.22/Modules/FindPkgConfig.cmake:99 (find_package_handle_standard_args)
build/srsRAN-src/cmake/modules/FindSKIQ.cmake:21 (INCLUDE)
build/srsRAN-src/CMakeLists.txt:229 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.

-- SKIQ LIBRARIES SKIQ_LIBRARY-NOTFOUND/usr/lib/aarch64-linux-gnu/libglib-2.0.a/usr/lib/aarch64-linux-gnu/libusb-1.0.a
-- SKIQ INCLUDE DIRS SKIQ_INCLUDE_DIRS-NOTFOUND
-- Could NOT find SKIQ (missing: SKIQ_INCLUDE_DIRS)
-- Checking for module 'libbladeRF'
-- No package 'libbladeRF' found
-- libbladeRF not found.
-- FINDING SOAPY.
-- Checking for module 'SoapySDR'
-- No package 'SoapySDR' found
-- libSOAPYSDR not found.
-- FINDING ZEROMQ.
-- Checking for module 'ZeroMQ'
-- No package 'ZeroMQ' found
-- libZEROMQ not found.
-- Found Boost: /usr/lib/aarch64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake (found suitable version "1.74.0", minimum required is "1.35") found components: program_options
-- SRSGUI LIBRARIES /usr/local/lib/libsrsgui.so
-- SRSGUI INCLUDE DIRS /usr/local/include
-- Could NOT find libdw (missing: LIBDW_LIBRARY LIBDW_INCLUDE_DIR)
-- Could NOT find libbfd (missing: LIBBFD_LIBRARY LIBBFD_INCLUDE_DIR)
-- Could NOT find libdwarf (missing: LIBDWARF_LIBRARY LIBDWARF_INCLUDE_DIR LIBELF_LIBRARY LIBELF_INCLUDE_DIR)
-- Backward-cpp found, but external libraries are missing.
-- Detected ARM processor
-- CMAKE_C_FLAGS is -Wno-unused-but-set-variable -Wall -Wno-comment -Wno-write-strings -Wno-unused-result -Wformat -Wmissing-field-initializers -Wtype-limits -std=c99 -fno-strict-aliasing -D_GNU_SOURCE -ggdb -DBUILD_TYPE_RELWITHDEBINFO -DIS_ARM -DHAVE_NEON -DHAVE_NEONv8 -fvisibility=hidden -Werror --param large-function-growth=1600
-- CMAKE_CXX_FLAGS is -Wall -Wno-comment -Wno-reorder -Wno-unused-variable -Wtype-limits -std=c++11 -fno-strict-aliasing -Wno-unused-but-set-variable -ggdb -DBUILD_TYPE_RELWITHDEBINFO -DIS_ARM -DHAVE_NEONv8 -Werror
-- Using install prefix: /usr/local
-- Building for version: 21.10.0
-- examples will be installed.
-- Checking for module 'sctp'
-- No package 'sctp' found
-- SCTP LIBRARIES: /usr/lib/aarch64-linux-gnu/libsctp.so
-- SCTP INCLUDE DIRS: /usr/include
-- No post-build command defined
-- No post-build command defined
-- Building with srsUE
-- No post-build command defined
-- No post-build command defined
-- No post-build-UE command defined
-- Building with srsENB
-- Found LibConfig++: /usr/lib/aarch64-linux-gnu/libconfig++.so
-- static LibConfig++ path: /usr/lib/aarch64-linux-gnu/libconfig++.a
-- Found LibConfig: /usr/lib/aarch64-linux-gnu/libconfig.so
-- static LibConfig path: /usr/lib/aarch64-linux-gnu/libconfig.a
-- Checking for module 'sctp'
-- No package 'sctp' found
-- SCTP LIBRARIES: /usr/lib/aarch64-linux-gnu/libsctp.so
-- SCTP INCLUDE DIRS: /usr/include
-- No post-build-ENB command defined
-- Building with srsEPC
-- Found LibConfig++: /usr/lib/aarch64-linux-gnu/libconfig++.so
-- static LibConfig++ path: /usr/lib/aarch64-linux-gnu/libconfig++.a
-- Found LibConfig: /usr/lib/aarch64-linux-gnu/libconfig.so
-- static LibConfig path: /usr/lib/aarch64-linux-gnu/libconfig.a
-- Checking for module 'sctp'
-- No package 'sctp' found
-- SCTP LIBRARIES: /usr/lib/aarch64-linux-gnu/libsctp.so
-- SCTP INCLUDE DIRS: /usr/include
-- No post-build-EPC command defined
SRSRAN_LIBRARIES: srsran_commonsrsran_physrsran_asn1srsran_gtpusrsran_macsrsran_pdcpsrsran_rlcsrsran_rfsrsran_radio
-- Found Boost: /usr/lib/aarch64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake (found suitable version "1.74.0", minimum required is "1.35") found components: program_options system thread
MARCH - FLAGS: native
CMake Error at CMakeLists.txt:332 (message):
no SIMD instructions found

-- Configuring incomplete, errors occurred!
See also "/home/mo/LTESniffer/build/CMakeFiles/CMakeOutput.log".
See also "/home/mo/LTESniffer/build/CMakeFiles/CMakeError.log".

Download in offline mode.

Hello, could you provide us with the offline mode download test file and debugging logs? We need this file to assist our project. If it's not very convenient, I'm sorry to disturb you.

file mode

Hello, I would like to inquire about the specific file format of the file mode. I cannot parse valid information using the file modeใ€‚

PRACH Signal Length Error

Firstly, thank you for making this project accessible.

I am using 2 USRP B205minis w/ a PPS for time alignment. I did some work (modifying srsRAN UHD APIs and the multi-usrp branch of LTESniffer) to enable the standard "wait for pps then set time on next pps" procedure. My setup works partly as expected. However, stderr is inundated with errors of the format:

/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is X and should be Y

X and Y vary across cells but are always the exact same for any given cell.

However, among these errors are still successful PUSCH decodes.

Example snippet from run in uplink mode w/ security API -z 3 and debug messages -d:

/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
[A][PUSCH-16 ]  SF: 779 .3 -- RNTI: 36121  -- DL-UL(us): -2.35  -- SNR(db): 19.5   -- CQI RQ: 0|0 -- Noise Pwr: 41.4   -- MCS: 7   -- QPSK   -- SUCCESS -- Len: 13
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
786 -4    Contention Resolution     c1bfd3da         8865       RRC Connection Setup     
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
[A][PUSCH-64 ]  SF: 797 .3 -- RNTI: 36121  -- DL-UL(us): -2.39  -- SNR(db): 24.9   -- CQI RQ: 1|0 -- Noise Pwr: 37.4   -- MCS: 28  -- 64QAM  -- FAILED  -- Len: 469
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
[A][PUSCH-64 ]  SF: 798 .6 -- RNTI: 36121  -- DL-UL(us): -2.41  -- SNR(db): 23.7   -- CQI RQ: 1|0 -- Noise Pwr: 36.3   -- MCS: 28  -- 64QAM  -- FAILED  -- Len: 373
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
[A][PUSCH-16 ]  SF: 800 .4 -- RNTI: 12889  -- DL-UL(us): +3.69  -- SNR(db): 2.38   -- CQI RQ: 0|0 -- Noise Pwr: 19.2   -- MCS: 8   -- QPSK   -- FAILED  -- Len: 15
[A][PUSCH-256]  SF: 800 .4 -- RNTI: 12889  -- DL-UL(us): +3.69  -- SNR(db): 2.38   -- CQI RQ: 0|0 -- Noise Pwr: 19.2   -- MCS: 8   -- 16QAM  -- FAILED  -- Len: 28
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
[A][PUSCH-16 ]  SF: 800 .7 -- RNTI: 12889  -- DL-UL(us): +6.38  -- SNR(db): 2.12   -- CQI RQ: 0|0 -- Noise Pwr: 17     -- MCS: 8   -- QPSK   -- FAILED  -- Len: 15
[A][PUSCH-256]  SF: 800 .7 -- RNTI: 12889  -- DL-UL(us): +6.38  -- SNR(db): 2.12   -- CQI RQ: 0|0 -- Noise Pwr: 17     -- MCS: 8   -- 16QAM  -- FAILED  -- Len: 28
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288
/root/LTESniffer-multiUSRP/build/srsRAN-src/lib/src/phy/phch/prach.c:982: srsran_prach_detect: Signal length is 4848 and should be 12288

Using the security API -z 3, I have never seen anything other than TMSIs from RRC Connection Setup messages. It would make sense that the absence of other identifiers is due to these PRACH failures.

I am not sure what to make of these errors. Looking around the prach.c file indicates that this has some relationship to the number of physical resource blocks. I can hack the code to silence these errors but that obviously doesn't get to the root of the problem. Does anyone have any guess as to what might be causing this?

cmake ../ ERROR

While configuring LTESniffer from the commands given in the repo, I get this error when running cmake ../
Using Ubuntu 20.04 and have installed all the dependencies.

ERROR:
WhatsApp Image 2024-04-10 at 16 04 41

Compile Errors

Hi,

I am receiving the following two errors during compilation:

[ 2%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/cmnalib_obj.dir/src/devices/at_sierra_wireless_em7565.c.o
In file included from /home/ouroboros/tools/LTESniffer/build/srsRAN-src/lib/include/srsran/srslog/bundled/fmt/format.h:44,
from /home/ouroboros/tools/LTESniffer/build/srsRAN-src/lib/include/srsran/srslog/bundled/fmt/ostream.h:13,
from /home/ouroboros/tools/LTESniffer/build/srsRAN-src/lib/include/srsran/srslog/bundled/fmt/printf.h:14,
from /home/ouroboros/tools/LTESniffer/build/srsRAN-src/lib/include/srsran/srslog/detail/log_backend.h:25,
from /home/ouroboros/tools/LTESniffer/build/srsRAN-src/lib/include/srsran/srslog/log_channel.h:25,
from /home/ouroboros/tools/LTESniffer/build/srsRAN-src/lib/include/srsran/srslog/logger.h:25,
from /home/ouroboros/tools/LTESniffer/build/srsRAN-src/lib/include/srsran/srslog/srslog.h:26,
from /home/ouroboros/tools/LTESniffer/build/srsRAN-src/lib/include/srsran/support/srsran_assert.h:26,
from /home/ouroboros/tools/LTESniffer/build/srsRAN-src/lib/src/support/emergency_handlers.cc:23:
/home/ouroboros/tools/LTESniffer/build/srsRAN-src/lib/include/srsran/srslog/bundled/fmt/core.h:1307:44: error: field โ€˜valueโ€™ has incomplete type โ€˜std::array<char, 256>โ€™
1307 | std::array<char, max_pool_string_size> value;

[ 2%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/cmnalib_obj.dir/src/util/gps_transform.c.o
/home/ouroboros/tools/LTESniffer/build/srsRAN-src/lib/src/asn1/liblte_mme.cc: In function โ€˜LIBLTE_ERROR_ENUM liblte_mme_unpack_network_name_ie(uint8**, LIBLTE_MME_NETWORK_NAME_STRUCT*)โ€™:
/home/ouroboros/tools/LTESniffer/build/srsRAN-src/lib/src/asn1/liblte_mme.cc:2093:20: error: โ€˜tmp_charโ€™ may be used uninitialized [-Werror=maybe-uninitialized]
2093 | if (tmp_char == 0x0A || tmp_char == 0x0D || (tmp_char >= 0x20 && tmp_char <= 0x3F) ||

These errors are occurring on both Gentoo (Linux Ouroboros 6.6.21-gentoo) and Kali Linux (Linux kali 6.6.9-amd64). Gentoo GCC gcc version 13.2.1 20240210; Kali GCC gcc version 13.2.0.

For the second error, I tried unsuccessfully to disable the "Treating all warnings as errors" feature.

Any help that you can give me would be greatly appreciated.
Thanks,
Tim

unable to build with external (system installed) srsran

Hello, I'm trying to install it with
FORCE_SUBPROJECT_SRSRAN=OFF and system-installed srsran (location: /usr/include/srsran/* and /usr/lib64/libsrs*)
find_package(SRSRAN) is unable to find a cmake file (I renamed FindSRSLTE.cmake).
Additionally, few variables are not getting set, so cmake is clearly broken.

Could you test the external srsran library option and fix it please?

Test file Error

Hello, I am trying to generate an uplink test file using MATLAB tools and run it in LTESniffer offline mode. I found that in the LTESniffer_core.cc-Main loop code, n=0, the MIB could not be decoded and the correct information could not be printed (as shown in Figure 1). The terminal result is shown in Figure 2, and Figure 3 is the generated MATLAB test file (QPSK or QAM have both been tested, but neither of them works). This may be a problem with the generated file format or compatibility, how should I solve it? I would like to inquire about your opinions or ideas. Thank you!
ๅ›พไธ€
ๅ›พไบŒ
ๅ›พไธ‰

Is this compatible with B200 mini or B205 mini. I seem to get an error

sudo ./src/LTESniffer -A 2 -W 4 -f 1840e6 -u 1745e6 -C -m 1

LTESniffer

Wed_Nov__8_21.47.26_2023.
Creating Phy
Creating 4 Worker threads
Opening RF device with 2 RX antennas...
Available RF device list: UHD
Trying to open RF device 'UHD'
[INFO] [UHD] linux; GNU C++ version 11.2.0; Boost_107400; UHD_4.6.0.0-0-g0c4637ab
[INFO] [LOGGING] Fastpath logging disabled at runtime.
Opening USRP channels=2, args: num_recv_frames=512,recv_frame_size=8000,serial=32528BE,type=b200,master_clock_rate=23.04e6
[INFO] [UHD RF] RF UHD Generic instance constructed
[INFO] [B200] Detected Device: B200mini
[INFO] [B200] Loading FPGA image: /usr/local/share/uhd/images/usrp_b200mini_fpga.bin...
[INFO] [B200] Operating over USB 3.
[INFO] [B200] Initialize CODEC control...
[INFO] [B200] Initialize Radio control...
[INFO] [B200] Performing register loopback test...
[INFO] [B200] Register loopback test passed
[INFO] [B200] Asking for clock rate 23.040000 MHz...
[INFO] [B200] Actually got clock rate 23.040000 MHz.
/home/charon/work/LTESniffer/build/srsRAN-src/lib/src/phy/rf/rf_uhd_imp.cc:931: uhd_init failed, freeing...
[ERROR] [UHD RF] RuntimeError: Invalid option chosen for: clock source
Unable to open RF device 'UHD'
/home/charon/work/LTESniffer/build/srsRAN-src/lib/src/phy/rf/rf_imp.c:145: Failed to open a RF frontend device. Please check the available srsRAN CMAKE options to verify what RF frontend devices have been detected in your system
Error opening rf_a
^CLTESniffer_Core: Exiting...
^Z
[9]+ Stopped sudo ./src/LTESniffer -A 2 -W 4 -f 1840e6 -u 1745e6 -C -m 1

File based logging and DL/UL mode

@hdtuanss
I have been adding some capabilities to a local version of the repo.

  1. [DL/UL Mode] added a DL & UL mode "2" that would parse both PDSCH and PUSCH, I pretty much just went through the DL (0) and UL (1) modes and made a new state that combined both (where it made sense). This seems to be working.
  2. [File Logging] A great part of this project is there is a ton of information, but this all going to the console isn't practical. Right now, depending on the mode, certain things are sent to the console. However, the rest is lost. I made a thread-safe file logger to capture the information (listed below) in time-stamped files. This preserves the console output but lets you see all the other data. For example, running in API security mode, but still wanting to see UL tables. I have some predefines to turn off file loggings as well.
  • DL tables
  • UL tables
  • DL DCI messages
  • UL DCI messages
  • security API tables
  • stderr messages

The above required a lot of changes, are you interested in the above 1 or 2? If so, I will see if I can get permission to share.

Thanks again for the great work on this project!

No Pcap were saved

Hello Need your kindly help

Im using this command:

$ sudo LTESniffer -A 1 -W 6 -f 1832500000 -I 332 -p 15 -m 0

and can get the RNTI where fetched like below and you can see one of them were 100% success

My quesrtion after i stopped, the PCAP is always empty:
-rw-r--r-- 1 root root 2022 Sep 22 15:56 mcs_statistic.csv
-rw-r--r-- 1 root root 24 Sep 22 15:56 ltesniffer_dl_mode.pcap

Need your kindly help for resolution ?

^C-------------------------------------------------------------------------------------------------------------
Num RNTI Table Active New TX ReTX Success HARQ Normal W_MIMO W_pinfor Other


Num RNTI Table Active New TX ReTX Success HARQ Normal W_MIMO W_pinfor Other
1 1 Unknown 1 1 0 0(0%) 0 0 0 0 0
2 10 Unknown 1 1 0 0(0%) 0 0 0 0 0
3 9057 Unknown 1 1 0 0(0%) 0 0 0 0 0
4 11117 Unknown 2 2 0 0(0%) 0 0 0 0 0
5 20131 Unknown 2 2 0 0(0%) 0 0 0 0 0
6 20448 Unknown 1 1 0 1(100%) 0 0 0 0 0
7 26961 Unknown 2 2 0 0(0%) 0 0 0 0 0
8 45898 Unknown 1 1 0 0(0%) 0 0 0 0 0

[256Tracking] Total: 0 RNTIs are 64QAM table, 0 RNTIs are 256QAM table, 8 RNTIs are Unknown

I/Q data for tests that contain DL and UL

Hello,

Could you please provide with the raw IQ data (in eCPRI PCAP or CSV or raw binary as some complex doubles/floats format) for tests?
This is important for the case when you don't have the 2nd SDR to capture UL in case of FDD.

I have only 1 SDR and can capture DL frequency, 2 RX antennas, but unfortunately, there is no TDD tower around, so another SDR is needed to capture UL frequency. And plus synchronization is an issue in case 2 SDRs are from 2 different vendors.

So if you can provide an example of IQ data (TM1, TM2, TM3-4) that contain in-sync (or it's can be sync-ed via PSS/SSS time offset, right?) -- that would be a really really helpful.

Thanks!

USRP N310 with LTESniffer

Dear KAIST team members,

Greetings of the day!

I am Purva Joshi, a PhD student. Currently, I am using LTESniffer for analyzing downlink and uplink traffic and I have captured downlink traffic using USRP B210. However, we want to move forward with USRP N310 for uplink and downlink. I am facing some issues to capture and implement LTESniffer with N310. You mentioned that, it is possible to use USRP X310 for both downlink and uplink.

I am writing those errors here:

  • [ERROR] [UHD RF] std::bad_alloc
  • Error timed out while receiving samples from UHD.
  • Error calling srsran_ue_sync_work()
  • Error receiving samples
  • Error decoding MIB
  • Could not decode PBCH from CELL ID
  • Error searching for cell
  • Could not find any cell in this frequency Cell not found after 8 trials. Trying again (Press Ctrl+C to exit).

Hope to hear back from you soon. Many thanks in advance.

Regards,
Purva Joshi

Build Error: `no SIMD instructions found`

The only requirement not met was the USRP device. Which is to be expected, since the B200 currently starts at $1500, the B210 is $2400, and the X310 is an outrageous $10,600.

The README does state that users will still be able to sniff downlinks with a regular sdr. All the other requirements were installed without a hitch, went to build the application and recieved the error no SIMD instructions found. Which leads me to assume cmake is still looking for the USRP device, which isn't present. I assume there is a means to disable searching for the required USRP device to allow down link only usage.

The Specifics:

OS = Kali Linux Rolling Release.
Cmake version = 3.28.3

Script started on 2024-02-15 04:50:46-05:00 [TERM="xterm-256color" TTY="/dev/pts/2" COLUMNS="272" LINES="68"]
Running with debug output on.
๏ฟฝ[0mCMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

๏ฟฝ[0m
   Called from: [1]	/home/user/LTESniffer/CMakeLists.txt
-- Build type not specified: defaulting to RelWithDebInfo.
   Called from: [1]	/home/user/LTESniffer/CMakeLists.txt
-- CMNALIB LIBRARIES: CMNALIB_LIBRARY-NOTFOUND
   Called from: [2]	/home/user/LTESniffer/cmake/modules/FindCMNALIB.cmake
                [1]	/home/user/LTESniffer/CMakeLists.txt
-- Could NOT find CMNALIB (missing: CMNALIB_LIBRARIES) 
   Called from: [4]	/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake
                [3]	/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake
                [2]	/home/user/LTESniffer/cmake/modules/FindCMNALIB.cmake
                [1]	/home/user/LTESniffer/CMakeLists.txt
๏ฟฝ[33mCMake Warning (dev) at cmake/modules/FindCMNALIB.cmake:56 (MARK_AS_ADVANCED):
  Policy CMP0102 is not set: The variable named "CMNALIB_LIBRARIES" is not in
  the cache.  This results in an empty cache entry which is no longer created
  when policy CMP0102 is set to NEW.  Run "cmake --help-policy CMP0102" for
  policy details.  Use the cmake_policy command to set the policy and
  suppress this warning.
Call Stack (most recent call first):
  CMakeLists.txt:72 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.
๏ฟฝ[0m
   Called from: [2]	/home/user/LTESniffer/cmake/modules/FindCMNALIB.cmake
                [1]	/home/user/LTESniffer/CMakeLists.txt
๏ฟฝ[0mDownload CMNALIB as a subproject and build it.๏ฟฝ[0m
   Called from: [1]	/home/user/LTESniffer/CMakeLists.txt
CMake Deprecation Warning at CMakeLists.txt:2 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- Configuring done (0.1s)
-- Generating done (0.0s)
-- Build files have been written to: /home/user/LTESniffer/build/cmnalib-download
[ 11%] Performing update step for 'cmnalib'
[ 22%] No patch step for 'cmnalib'
[ 33%] No configure step for 'cmnalib'
[ 44%] No build step for 'cmnalib'
[ 55%] No install step for 'cmnalib'
[ 66%] No test step for 'cmnalib'
[ 77%] Completed 'cmnalib'
[100%] Built target cmnalib
๏ฟฝ[0m   Entering             /home/user/LTESniffer/build/cmnalib-src๏ฟฝ[0m
   Called from: [1]	/home/user/LTESniffer/CMakeLists.txt
๏ฟฝ[0mCMake Deprecation Warning at build/cmnalib-src/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

๏ฟฝ[0m
   Called from: [1]	/home/user/LTESniffer/build/cmnalib-src/CMakeLists.txt
๏ฟฝ[0m   Entering             /home/user/LTESniffer/build/cmnalib-src/src๏ฟฝ[0m
   Called from: [1]	/home/user/LTESniffer/build/cmnalib-src/CMakeLists.txt
๏ฟฝ[0m   Entering             /home/user/LTESniffer/build/cmnalib-src/src/cmnalib๏ฟฝ[0m
   Called from: [1]	/home/user/LTESniffer/build/cmnalib-src/src/CMakeLists.txt
๏ฟฝ[0m   Returning to         /home/user/LTESniffer/build/cmnalib-src/src๏ฟฝ[0m
   Called from: [1]	/home/user/LTESniffer/build/cmnalib-src/src/CMakeLists.txt
๏ฟฝ[0m   Entering             /home/user/LTESniffer/build/cmnalib-src/src/examples๏ฟฝ[0m
   Called from: [1]	/home/user/LTESniffer/build/cmnalib-src/src/CMakeLists.txt
๏ฟฝ[0m   Returning to         /home/user/LTESniffer/build/cmnalib-src/src๏ฟฝ[0m
   Called from: [1]	/home/user/LTESniffer/build/cmnalib-src/src/CMakeLists.txt
๏ฟฝ[0m   Returning to         /home/user/LTESniffer/build/cmnalib-src๏ฟฝ[0m
   Called from: [1]	/home/user/LTESniffer/build/cmnalib-src/CMakeLists.txt
๏ฟฝ[0m   Returning to         /home/user/LTESniffer๏ฟฝ[0m
   Called from: [1]	/home/user/LTESniffer/CMakeLists.txt
๏ฟฝ[0mCMNALIB_LIBRARY: cmnalib๏ฟฝ[0m
   Called from: [1]	/home/user/LTESniffer/CMakeLists.txt
๏ฟฝ[0mCMNALIB_LIBRARIES: cmnalib๏ฟฝ[0m
   Called from: [1]	/home/user/LTESniffer/CMakeLists.txt
๏ฟฝ[33mCMake Warning (dev) at /usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (mkl) does
  not match the name of the calling package (MKL).  This can lead to problems
  in calling code that expects `find_package` result variables (e.g.,
  `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  cmake/modules/FindMKL.cmake:44 (find_package_handle_standard_args)
  CMakeLists.txt:115 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.
๏ฟฝ[0m
   Called from: [3]	/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake
                [2]	/home/user/LTESniffer/cmake/modules/FindMKL.cmake
                [1]	/home/user/LTESniffer/CMakeLists.txt
-- Could NOT find mkl (missing: MKL_LIBRARIES MKL_CORE MKL_ILP MKL_SEQ) 
   Called from: [4]	/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake
                [3]	/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake
                [2]	/home/user/LTESniffer/cmake/modules/FindMKL.cmake
                [1]	/home/user/LTESniffer/CMakeLists.txt
-- FFTW3F LIBRARIES: /usr/lib/x86_64-linux-gnu/libfftw3f.so
   Called from: [2]	/home/user/LTESniffer/cmake/modules/FindFFTW3F.cmake
                [1]	/home/user/LTESniffer/CMakeLists.txt
-- FFTW3F STATIC LIBRARIES: /usr/lib/x86_64-linux-gnu/libfftw3f.a
   Called from: [2]	/home/user/LTESniffer/cmake/modules/FindFFTW3F.cmake
                [1]	/home/user/LTESniffer/CMakeLists.txt
-- FFTW3F INCLUDE DIRS: /usr/include
   Called from: [2]	/home/user/LTESniffer/cmake/modules/FindFFTW3F.cmake
                [1]	/home/user/LTESniffer/CMakeLists.txt
๏ฟฝ[33mCMake Warning (dev) at /usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (fftw3f)
  does not match the name of the calling package (FFTW3F).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  cmake/modules/FindFFTW3F.cmake:41 (find_package_handle_standard_args)
  CMakeLists.txt:121 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.
๏ฟฝ[0m
   Called from: [3]	/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake
                [2]	/home/user/LTESniffer/cmake/modules/FindFFTW3F.cmake
                [1]	/home/user/LTESniffer/CMakeLists.txt
-- FFT_LIBRARIES: /usr/lib/x86_64-linux-gnu/libfftw3f.so
   Called from: [1]	/home/user/LTESniffer/CMakeLists.txt
๏ฟฝ[33mCMake Warning (dev) at /usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (PkgConfig)
  does not match the name of the calling package (UHD).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /usr/share/cmake-3.28/Modules/FindPkgConfig.cmake:99 (find_package_handle_standard_args)
  cmake/modules/FindUHD.cmake:1 (INCLUDE)
  CMakeLists.txt:137 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.
๏ฟฝ[0m
   Called from: [4]	/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake
                [3]	/usr/share/cmake-3.28/Modules/FindPkgConfig.cmake
                [2]	/home/user/LTESniffer/cmake/modules/FindUHD.cmake
                [1]	/home/user/LTESniffer/CMakeLists.txt
-- UHD LIBRARIES /usr/lib/x86_64-linux-gnu/libuhd.so
   Called from: [2]	/home/user/LTESniffer/cmake/modules/FindUHD.cmake
                [1]	/home/user/LTESniffer/CMakeLists.txt
-- UHD INCLUDE DIRS /usr/include
   Called from: [2]	/home/user/LTESniffer/cmake/modules/FindUHD.cmake
                [1]	/home/user/LTESniffer/CMakeLists.txt
-- FINDING SOAPY.
   Called from: [2]	/home/user/LTESniffer/cmake/modules/FindSoapySDR.cmake
                [1]	/home/user/LTESniffer/CMakeLists.txt
๏ฟฝ[33mCMake Warning at CMakeLists.txt:170 (find_package):
  By not providing "FindSRSRAN.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "SRSRAN", but
  CMake did not find one.

  Could not find a package configuration file provided by "SRSRAN" with any
  of the following names:

    SRSRANConfig.cmake
    srsran-config.cmake

  Add the installation prefix of "SRSRAN" to CMAKE_PREFIX_PATH or set
  "SRSRAN_DIR" to a directory containing one of the above files.  If "SRSRAN"
  provides a separate development package or SDK, be sure it has been
  installed.

๏ฟฝ[0m
   Called from: [1]	/home/user/LTESniffer/CMakeLists.txt
๏ฟฝ[0mDownload SRSRAN as a subproject and build it.๏ฟฝ[0m
   Called from: [1]	/home/user/LTESniffer/CMakeLists.txt
CMake Deprecation Warning at CMakeLists.txt:2 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- Configuring done (0.1s)
-- Generating done (0.0s)
-- Build files have been written to: /home/user/LTESniffer/build/srsRAN-download
[ 11%] Performing update step for 'srsRAN'
[ 22%] No patch step for 'srsRAN'
[ 33%] No configure step for 'srsRAN'
[ 44%] No build step for 'srsRAN'
[ 55%] No install step for 'srsRAN'
[ 66%] No test step for 'srsRAN'
[ 77%] Completed 'srsRAN'
[100%] Built target srsRAN
๏ฟฝ[0m   Entering             /home/user/LTESniffer/build/srsRAN-src๏ฟฝ[0m
   Called from: [1]	/home/user/LTESniffer/CMakeLists.txt
๏ฟฝ[0mCMake Deprecation Warning at build/srsRAN-src/CMakeLists.txt:33 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

๏ฟฝ[0m
   Called from: [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- CMAKE_SYSTEM: Linux-6.6.9-amd64
   Called from: [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- CMAKE_SYSTEM_PROCESSOR: x86_64
   Called from: [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- CMAKE_CXX_COMPILER: /usr/bin/c++
   Called from: [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
๏ฟฝ[33mCMake Warning (dev) at /usr/share/cmake-3.28/Modules/CTest.cmake:244 (mark_as_advanced):
  Policy CMP0102 is not set: The variable named "BZRCOMMAND" is not in the
  cache.  This results in an empty cache entry which is no longer created
  when policy CMP0102 is set to NEW.  Run "cmake --help-policy CMP0102" for
  policy details.  Use the cmake_policy command to set the policy and
  suppress this warning.
Call Stack (most recent call first):
  build/srsRAN-src/CMakeLists.txt:43 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.
๏ฟฝ[0m
   Called from: [2]	/usr/share/cmake-3.28/Modules/CTest.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
๏ฟฝ[33mCMake Warning (dev) at /usr/share/cmake-3.28/Modules/CTest.cmake:244 (mark_as_advanced):
  Policy CMP0102 is not set: The variable named "CVSCOMMAND" is not in the
  cache.  This results in an empty cache entry which is no longer created
  when policy CMP0102 is set to NEW.  Run "cmake --help-policy CMP0102" for
  policy details.  Use the cmake_policy command to set the policy and
  suppress this warning.
Call Stack (most recent call first):
  build/srsRAN-src/CMakeLists.txt:43 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.
๏ฟฝ[0m
   Called from: [2]	/usr/share/cmake-3.28/Modules/CTest.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
๏ฟฝ[33mCMake Warning (dev) at /usr/share/cmake-3.28/Modules/CTest.cmake:244 (mark_as_advanced):
  Policy CMP0102 is not set: The variable named "CVS_UPDATE_OPTIONS" is not
  in the cache.  This results in an empty cache entry which is no longer
  created when policy CMP0102 is set to NEW.  Run "cmake --help-policy
  CMP0102" for policy details.  Use the cmake_policy command to set the
  policy and suppress this warning.
Call Stack (most recent call first):
  build/srsRAN-src/CMakeLists.txt:43 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.
๏ฟฝ[0m
   Called from: [2]	/usr/share/cmake-3.28/Modules/CTest.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
๏ฟฝ[33mCMake Warning (dev) at /usr/share/cmake-3.28/Modules/CTest.cmake:244 (mark_as_advanced):
  Policy CMP0102 is not set: The variable named "P4COMMAND" is not in the
  cache.  This results in an empty cache entry which is no longer created
  when policy CMP0102 is set to NEW.  Run "cmake --help-policy CMP0102" for
  policy details.  Use the cmake_policy command to set the policy and
  suppress this warning.
Call Stack (most recent call first):
  build/srsRAN-src/CMakeLists.txt:43 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.
๏ฟฝ[0m
   Called from: [2]	/usr/share/cmake-3.28/Modules/CTest.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
๏ฟฝ[33mCMake Warning (dev) at /usr/share/cmake-3.28/Modules/CTest.cmake:244 (mark_as_advanced):
  Policy CMP0102 is not set: The variable named "HGCOMMAND" is not in the
  cache.  This results in an empty cache entry which is no longer created
  when policy CMP0102 is set to NEW.  Run "cmake --help-policy CMP0102" for
  policy details.  Use the cmake_policy command to set the policy and
  suppress this warning.
Call Stack (most recent call first):
  build/srsRAN-src/CMakeLists.txt:43 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.
๏ฟฝ[0m
   Called from: [2]	/usr/share/cmake-3.28/Modules/CTest.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
๏ฟฝ[33mCMake Warning (dev) at /usr/share/cmake-3.28/Modules/CTest.cmake:244 (mark_as_advanced):
  Policy CMP0102 is not set: The variable named "SVNCOMMAND" is not in the
  cache.  This results in an empty cache entry which is no longer created
  when policy CMP0102 is set to NEW.  Run "cmake --help-policy CMP0102" for
  policy details.  Use the cmake_policy command to set the policy and
  suppress this warning.
Call Stack (most recent call first):
  build/srsRAN-src/CMakeLists.txt:43 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.
๏ฟฝ[0m
   Called from: [2]	/usr/share/cmake-3.28/Modules/CTest.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- FFTW3F LIBRARIES: /usr/lib/x86_64-linux-gnu/libfftw3f.so
   Called from: [2]	/home/user/LTESniffer/cmake/modules/FindFFTW3F.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- FFTW3F STATIC LIBRARIES: /usr/lib/x86_64-linux-gnu/libfftw3f.a
   Called from: [2]	/home/user/LTESniffer/cmake/modules/FindFFTW3F.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- FFTW3F INCLUDE DIRS: /usr/include
   Called from: [2]	/home/user/LTESniffer/cmake/modules/FindFFTW3F.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
๏ฟฝ[33mCMake Warning (dev) at /usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (fftw3f)
  does not match the name of the calling package (FFTW3F).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  cmake/modules/FindFFTW3F.cmake:41 (find_package_handle_standard_args)
  build/srsRAN-src/CMakeLists.txt:168 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.
๏ฟฝ[0m
   Called from: [3]	/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake
                [2]	/home/user/LTESniffer/cmake/modules/FindFFTW3F.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- FFT_LIBRARIES: /usr/lib/x86_64-linux-gnu/libfftw3f.so
   Called from: [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- Checking for module 'polarssl'
   Called from: [4]	/usr/share/cmake-3.28/Modules/FindPkgConfig.cmake
                [3]	/usr/share/cmake-3.28/Modules/FindPkgConfig.cmake
                [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindPolarssl.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
--   Package 'polarssl', required by 'virtual:world', not found
   Called from: [4]	/usr/share/cmake-3.28/Modules/FindPkgConfig.cmake
                [3]	/usr/share/cmake-3.28/Modules/FindPkgConfig.cmake
                [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindPolarssl.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- POLARSSL LIBRARIES: POLARSSL_LIBRARIES-NOTFOUND
   Called from: [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindPolarssl.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- POLARSSL STATIC LIBRARIES: POLARSSL_STATIC_LIBRARIES-NOTFOUND
   Called from: [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindPolarssl.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- POLARSSL INCLUDE DIRS: POLARSSL_INCLUDE_DIRS-NOTFOUND
   Called from: [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindPolarssl.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- Could NOT find Polarssl (missing: POLARSSL_LIBRARIES POLARSSL_INCLUDE_DIRS) 
   Called from: [4]	/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake
                [3]	/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake
                [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindPolarssl.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- Checking for module 'mbedtls'
   Called from: [4]	/usr/share/cmake-3.28/Modules/FindPkgConfig.cmake
                [3]	/usr/share/cmake-3.28/Modules/FindPkgConfig.cmake
                [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindMbedTLS.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
--   Package 'mbedtls', required by 'virtual:world', not found
   Called from: [4]	/usr/share/cmake-3.28/Modules/FindPkgConfig.cmake
                [3]	/usr/share/cmake-3.28/Modules/FindPkgConfig.cmake
                [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindMbedTLS.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- MBEDTLS LIBRARIES: /usr/lib/x86_64-linux-gnu/libmbedcrypto.so
   Called from: [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindMbedTLS.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- MBEDTLS STATIC LIBRARIES: /usr/lib/x86_64-linux-gnu/libmbedcrypto.a
   Called from: [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindMbedTLS.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- MBEDTLS INCLUDE DIRS: /usr/include
   Called from: [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindMbedTLS.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- PCSC LIBRARIES: /usr/lib/x86_64-linux-gnu/libpcsclite.so
   Called from: [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindPCSCLite.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- PCSC INCLUDE DIRS: /usr/include/PCSC
   Called from: [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindPCSCLite.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- Building with PCSC support.
   Called from: [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
๏ฟฝ[33mCMake Warning (dev) at /usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (PkgConfig)
  does not match the name of the calling package (UHD).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /usr/share/cmake-3.28/Modules/FindPkgConfig.cmake:99 (find_package_handle_standard_args)
  cmake/modules/FindUHD.cmake:1 (INCLUDE)
  build/srsRAN-src/CMakeLists.txt:220 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.
๏ฟฝ[0m
   Called from: [4]	/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake
                [3]	/usr/share/cmake-3.28/Modules/FindPkgConfig.cmake
                [2]	/home/user/LTESniffer/cmake/modules/FindUHD.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
๏ฟฝ[33mCMake Warning (dev) at /usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (PkgConfig)
  does not match the name of the calling package (SKIQ).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /usr/share/cmake-3.28/Modules/FindPkgConfig.cmake:99 (find_package_handle_standard_args)
  build/srsRAN-src/cmake/modules/FindSKIQ.cmake:21 (INCLUDE)
  build/srsRAN-src/CMakeLists.txt:229 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.
๏ฟฝ[0m
   Called from: [4]	/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake
                [3]	/usr/share/cmake-3.28/Modules/FindPkgConfig.cmake
                [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindSKIQ.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- SKIQ LIBRARIES SKIQ_LIBRARY-NOTFOUND/usr/lib/x86_64-linux-gnu/libglib-2.0.a/usr/lib/x86_64-linux-gnu/libusb-1.0.a
   Called from: [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindSKIQ.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- SKIQ INCLUDE DIRS SKIQ_INCLUDE_DIRS-NOTFOUND
   Called from: [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindSKIQ.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- Could NOT find SKIQ (missing: SKIQ_INCLUDE_DIRS) 
   Called from: [4]	/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake
                [3]	/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake
                [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindSKIQ.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
๏ฟฝ[33mCMake Warning (dev) at build/srsRAN-src/cmake/modules/FindSKIQ.cmake:76 (MARK_AS_ADVANCED):
  Policy CMP0102 is not set: The variable named "SKIQ_LIBRARIES" is not in
  the cache.  This results in an empty cache entry which is no longer created
  when policy CMP0102 is set to NEW.  Run "cmake --help-policy CMP0102" for
  policy details.  Use the cmake_policy command to set the policy and
  suppress this warning.
Call Stack (most recent call first):
  build/srsRAN-src/CMakeLists.txt:229 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.
๏ฟฝ[0m
   Called from: [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindSKIQ.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- FINDING SOAPY.
   Called from: [2]	/home/user/LTESniffer/cmake/modules/FindSoapySDR.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- FINDING ZEROMQ.
   Called from: [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindZeroMQ.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- SRSGUI LIBRARIES SRSGUI_LIBRARIES-NOTFOUND
   Called from: [2]	/home/user/LTESniffer/cmake/modules/FindSRSGUI.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- SRSGUI INCLUDE DIRS SRSGUI_INCLUDE_DIRS-NOTFOUND
   Called from: [2]	/home/user/LTESniffer/cmake/modules/FindSRSGUI.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- Could NOT find SRSGUI (missing: SRSGUI_LIBRARIES SRSGUI_INCLUDE_DIRS) 
   Called from: [4]	/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake
                [3]	/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake
                [2]	/home/user/LTESniffer/cmake/modules/FindSRSGUI.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- Could NOT find libbfd (missing: LIBBFD_LIBRARY LIBBFD_INCLUDE_DIR) 
   Called from: [4]	/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake
                [3]	/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake
                [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindBackward.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- Could NOT find libdwarf (missing: LIBDWARF_LIBRARY LIBDWARF_INCLUDE_DIR) 
   Called from: [4]	/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake
                [3]	/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake
                [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindBackward.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
๏ฟฝ[33mCMake Warning (dev) at build/srsRAN-src/cmake/modules/FindBackward.cmake:227 (mark_as_advanced):
  Policy CMP0102 is not set: The variable named "BACKWARD_HAS_UNWIND" is not
  in the cache.  This results in an empty cache entry which is no longer
  created when policy CMP0102 is set to NEW.  Run "cmake --help-policy
  CMP0102" for policy details.  Use the cmake_policy command to set the
  policy and suppress this warning.
Call Stack (most recent call first):
  build/srsRAN-src/CMakeLists.txt:323 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.
๏ฟฝ[0m
   Called from: [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindBackward.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
๏ฟฝ[33mCMake Warning (dev) at build/srsRAN-src/cmake/modules/FindBackward.cmake:227 (mark_as_advanced):
  Policy CMP0102 is not set: The variable named "BACKWARD_HAS_LIBUNWIND" is
  not in the cache.  This results in an empty cache entry which is no longer
  created when policy CMP0102 is set to NEW.  Run "cmake --help-policy
  CMP0102" for policy details.  Use the cmake_policy command to set the
  policy and suppress this warning.
Call Stack (most recent call first):
  build/srsRAN-src/CMakeLists.txt:323 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.
๏ฟฝ[0m
   Called from: [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindBackward.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
๏ฟฝ[33mCMake Warning (dev) at build/srsRAN-src/cmake/modules/FindBackward.cmake:227 (mark_as_advanced):
  Policy CMP0102 is not set: The variable named "BACKWARD_HAS_BACKTRACE" is
  not in the cache.  This results in an empty cache entry which is no longer
  created when policy CMP0102 is set to NEW.  Run "cmake --help-policy
  CMP0102" for policy details.  Use the cmake_policy command to set the
  policy and suppress this warning.
Call Stack (most recent call first):
  build/srsRAN-src/CMakeLists.txt:323 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.
๏ฟฝ[0m
   Called from: [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindBackward.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
๏ฟฝ[33mCMake Warning (dev) at build/srsRAN-src/cmake/modules/FindBackward.cmake:227 (mark_as_advanced):
  Policy CMP0102 is not set: The variable named
  "BACKWARD_HAS_BACKTRACE_SYMBOL" is not in the cache.  This results in an
  empty cache entry which is no longer created when policy CMP0102 is set to
  NEW.  Run "cmake --help-policy CMP0102" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.
Call Stack (most recent call first):
  build/srsRAN-src/CMakeLists.txt:323 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.
๏ฟฝ[0m
   Called from: [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindBackward.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
๏ฟฝ[33mCMake Warning (dev) at build/srsRAN-src/cmake/modules/FindBackward.cmake:227 (mark_as_advanced):
  Policy CMP0102 is not set: The variable named "BACKWARD_HAS_DW" is not in
  the cache.  This results in an empty cache entry which is no longer created
  when policy CMP0102 is set to NEW.  Run "cmake --help-policy CMP0102" for
  policy details.  Use the cmake_policy command to set the policy and
  suppress this warning.
Call Stack (most recent call first):
  build/srsRAN-src/CMakeLists.txt:323 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.
๏ฟฝ[0m
   Called from: [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindBackward.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
๏ฟฝ[33mCMake Warning (dev) at build/srsRAN-src/cmake/modules/FindBackward.cmake:227 (mark_as_advanced):
  Policy CMP0102 is not set: The variable named "BACKWARD_HAS_BFD" is not in
  the cache.  This results in an empty cache entry which is no longer created
  when policy CMP0102 is set to NEW.  Run "cmake --help-policy CMP0102" for
  policy details.  Use the cmake_policy command to set the policy and
  suppress this warning.
Call Stack (most recent call first):
  build/srsRAN-src/CMakeLists.txt:323 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.
๏ฟฝ[0m
   Called from: [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindBackward.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
๏ฟฝ[33mCMake Warning (dev) at build/srsRAN-src/cmake/modules/FindBackward.cmake:227 (mark_as_advanced):
  Policy CMP0102 is not set: The variable named "BACKWARD_HAS_DWARF" is not
  in the cache.  This results in an empty cache entry which is no longer
  created when policy CMP0102 is set to NEW.  Run "cmake --help-policy
  CMP0102" for policy details.  Use the cmake_policy command to set the
  policy and suppress this warning.
Call Stack (most recent call first):
  build/srsRAN-src/CMakeLists.txt:323 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.
๏ฟฝ[0m
   Called from: [2]	/home/user/LTESniffer/build/srsRAN-src/cmake/modules/FindBackward.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
-- Building with backward-cpp support
   Called from: [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
๏ฟฝ[33mCMake Warning (dev) at cmake/modules/FindSSE.cmake:176 (mark_as_advanced):
  Policy CMP0102 is not set: The variable named "HAVE_SSE," is not in the
  cache.  This results in an empty cache entry which is no longer created
  when policy CMP0102 is set to NEW.  Run "cmake --help-policy CMP0102" for
  policy details.  Use the cmake_policy command to set the policy and
  suppress this warning.
Call Stack (most recent call first):
  build/srsRAN-src/CMakeLists.txt:388 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.
๏ฟฝ[0m
   Called from: [2]	/home/user/LTESniffer/cmake/modules/FindSSE.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
๏ฟฝ[33mCMake Warning (dev) at cmake/modules/FindSSE.cmake:176 (mark_as_advanced):
  Policy CMP0102 is not set: The variable named "HAVE_AVX," is not in the
  cache.  This results in an empty cache entry which is no longer created
  when policy CMP0102 is set to NEW.  Run "cmake --help-policy CMP0102" for
  policy details.  Use the cmake_policy command to set the policy and
  suppress this warning.
Call Stack (most recent call first):
  build/srsRAN-src/CMakeLists.txt:388 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.
๏ฟฝ[0m
   Called from: [2]	/home/user/LTESniffer/cmake/modules/FindSSE.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
๏ฟฝ[33mCMake Warning (dev) at cmake/modules/FindSSE.cmake:176 (mark_as_advanced):
  Policy CMP0102 is not set: The variable named "HAVE_AVX2," is not in the
  cache.  This results in an empty cache entry which is no longer created
  when policy CMP0102 is set to NEW.  Run "cmake --help-policy CMP0102" for
  policy details.  Use the cmake_policy command to set the policy and
  suppress this warning.
Call Stack (most recent call first):
  build/srsRAN-src/CMakeLists.txt:388 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.
๏ฟฝ[0m
   Called from: [2]	/home/user/LTESniffer/cmake/modules/FindSSE.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
๏ฟฝ[33mCMake Warning (dev) at cmake/modules/FindSSE.cmake:176 (mark_as_advanced):
  Policy CMP0102 is not set: The variable named "HAVE_FMA," is not in the
  cache.  This results in an empty cache entry which is no longer created
  when policy CMP0102 is set to NEW.  Run "cmake --help-policy CMP0102" for
  policy details.  Use the cmake_policy command to set the policy and
  suppress this warning.
Call Stack (most recent call first):
  build/srsRAN-src/CMakeLists.txt:388 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.
๏ฟฝ[0m
   Called from: [2]	/home/user/LTESniffer/cmake/modules/FindSSE.cmake
                [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
๏ฟฝ[31mCMake Error at build/srsRAN-src/CMakeLists.txt:494 (message):
  no SIMD instructions found

๏ฟฝ[0m
   Called from: [1]	/home/user/LTESniffer/build/srsRAN-src/CMakeLists.txt
๏ฟฝ[0m   Returning to         /home/user/LTESniffer๏ฟฝ[0m
   Called from: [1]	/home/user/LTESniffer/CMakeLists.txt
-- Configuring incomplete, errors occurred!
Script done on 2024-02-15 04:51:22-05:00 [COMMAND_EXIT_CODE="1"]

The sad truth of the matter is this software might just be out of my price range.

Downlink/uplink::Bad_allocation

Hello,

I have tried downlink and uplink sniffer. it ends up with------------>

For Downlink--------->

sudo /home/ql/LTESniffer/build/src/LTESniffer -A 2 -W 4 -f 18294e5 -C -m 0

LTESniffer

Thu_Aug_24_16.41.13_2023.
Creating Phy
Creating 4 Worker threads

Opening RF device with 2 RX antennas...
Available RF device list: UHD
Trying to open RF device 'UHD'
[INFO] [UHD] linux; GNU C++ version 9.4.0; Boost_107100; UHD_4.4.0.0-265-ga2a04e31
[INFO] [LOGGING] Fastpath logging disabled at runtime.
Opening USRP channels=2, args: type=x300,master_clock_rate=184.32e6
[INFO] [UHD RF] RF UHD Generic instance constructed
[INFO] [X300] X300 initialization sequence...
[INFO] [X300] Maximum frame size: 8000 bytes.
[INFO] [GPS] Found an internal GPSDO: LC_XO, Firmware Rev 0.929a
[WARNING] [GPS] update_cache(): Malformed GPSDO string: LC_XO, Firmware Rev 0.929a
[INFO] [X300] Radio 1x clock: 184.32 MHz
[WARNING] [UDP] The send buffer could not be resized sufficiently.
Target sock buff size: 24912805 bytes.
Actual sock buff size: 1048576 bytes.
See the transport application notes on buffer resizing.
Please run: sudo sysctl -w net.core.wmem_max=24912805
[INFO] [MULTI_USRP] 1) catch time transition at pps edge
[INFO] [MULTI_USRP] 2) set times next pps (synchronously)
[WARNING] [UDP] The send buffer could not be resized sufficiently.
Target sock buff size: 24912805 bytes.
Actual sock buff size: 1048576 bytes.
See the transport application notes on buffer resizing.
Please run: sudo sysctl -w net.core.wmem_max=24912805
[WARNING] [UDP] The send buffer could not be resized sufficiently.
Target sock buff size: 24912805 bytes.
Actual sock buff size: 1048576 bytes.
See the transport application notes on buffer resizing.
Please run: sudo sysctl -w net.core.wmem_max=24912805
[WARNING] [0/Radio#0] Attempting to set tick rate to 0. Skipping.
[WARNING] [0/Radio#1] Attempting to set tick rate to 0. Skipping.
[WARNING] [UDP] The send buffer could not be resized sufficiently.
Target sock buff size: 24912805 bytes.
Actual sock buff size: 1048576 bytes.
See the transport application notes on buffer resizing.
Please run: sudo sysctl -w net.core.wmem_max=24912805
[WARNING] [UDP] The send buffer could not be resized sufficiently.
Target sock buff size: 24912805 bytes.
Actual sock buff size: 1048576 bytes.
See the transport application notes on buffer resizing.
Please run: sudo sysctl -w net.core.wmem_max=24912805
[WARNING] [0/Radio#1] Attempting to set tick rate to 0. Skipping.
[WARNING] [0/Radio#0] Attempting to set tick rate to 0. Skipping.
RF device 'UHD' successfully opened
Starting AGC thread...
Tunning receiver to 1829.400 MHz
Searching for cell...
Found Cell_id: 0 FDD, CP: Normal , DetectRatio= 0% PSR=0.00, Power=-inf dBm
Found Cell_id: 0 FDD, CP: Normal , DetectRatio= 0% PSR=0.00, Power=-inf dBm
*Found Cell_id: 434 FDD, CP: Normal , DetectRatio=100% PSR=3.38, Power=-53.7 dBm
Decoding PBCH for cell 434 (N_id_2=2)
[ERROR] [UHD RF] std::bad_alloc
/home/ql/LTESniffer/build/srsRAN-src/lib/src/phy/rf/rf_uhd_imp.cc:1340: Error timed out while receiving samples from UHD.
/home/ql/LTESniffer/build/srsRAN-src/lib/src/phy/ue/ue_sync.c:772: Error receiving samples
/home/ql/LTESniffer/build/srsRAN-src/lib/src/phy/ue/ue_mib.c:256: Error calling srsran_ue_sync_work()
/home/ql/LTESniffer/build/srsRAN-src/lib/src/phy/rf/rf_utils.c:138: Error decoding MIB
/home/ql/LTESniffer/build/srsRAN-src/lib/src/phy/rf/rf_utils.c:263: Could not decode PBCH from CELL ID 434
/home/ql/LTESniffer/src/src/LTESniffer_Core.cc:199: Error searching for cell
terminate called without an active exception
Aborted

For Uplink----------->

sudo /home/ql/LTESniffer/build/src/LTESniffer -A 2 -W 4 -f 18294e5 -u 1740e6 -C -m 1

LTESniffer

Thu_Aug_24_16.54.36_2023.
Creating Phy
Creating 4 Worker threads
Opening RF device with 2 RX antennas...
Available RF device list: UHD
Trying to open RF device 'UHD'
[INFO] [UHD] linux; GNU C++ version 9.4.0; Boost_107100; UHD_4.4.0.0-265-ga2a04e31
[INFO] [LOGGING] Fastpath logging disabled at runtime.
Opening USRP channels=2, args: type=x300,master_clock_rate=184.32e6
[INFO] [UHD RF] RF UHD Generic instance constructed
[INFO] [X300] X300 initialization sequence...
[INFO] [X300] Maximum frame size: 8000 bytes.
[INFO] [GPS] Found an internal GPSDO: LC_XO, Firmware Rev 0.929a
[INFO] [X300] Radio 1x clock: 184.32 MHz
[WARNING] [UDP] The send buffer could not be resized sufficiently.
Target sock buff size: 24912805 bytes.
Actual sock buff size: 1048576 bytes.
See the transport application notes on buffer resizing.
Please run: sudo sysctl -w net.core.wmem_max=24912805
[INFO] [MULTI_USRP] 1) catch time transition at pps edge
[INFO] [MULTI_USRP] 2) set times next pps (synchronously)
[WARNING] [UDP] The send buffer could not be resized sufficiently.
Target sock buff size: 24912805 bytes.
Actual sock buff size: 1048576 bytes.
See the transport application notes on buffer resizing.
Please run: sudo sysctl -w net.core.wmem_max=24912805
[WARNING] [UDP] The send buffer could not be resized sufficiently.
Target sock buff size: 24912805 bytes.
Actual sock buff size: 1048576 bytes.
See the transport application notes on buffer resizing.
Please run: sudo sysctl -w net.core.wmem_max=24912805
[WARNING] [0/Radio#0] Attempting to set tick rate to 0. Skipping.
[WARNING] [0/Radio#1] Attempting to set tick rate to 0. Skipping.
[WARNING] [UDP] The send buffer could not be resized sufficiently.
Target sock buff size: 24912805 bytes.
Actual sock buff size: 1048576 bytes.
See the transport application notes on buffer resizing.
Please run: sudo sysctl -w net.core.wmem_max=24912805
[WARNING] [UDP] The send buffer could not be resized sufficiently.
Target sock buff size: 24912805 bytes.
Actual sock buff size: 1048576 bytes.
See the transport application notes on buffer resizing.
Please run: sudo sysctl -w net.core.wmem_max=24912805
[WARNING] [0/Radio#1] Attempting to set tick rate to 0. Skipping.
[WARNING] [0/Radio#0] Attempting to set tick rate to 0. Skipping.
RF device 'UHD' successfully opened
Starting AGC thread...
Tunning DL receiver to 1829.400 MHz
Tunning UL receiver to 1740.000 MHz
Searching for cell...
Found Cell_id: 0 FDD, CP: Normal , DetectRatio= 0% PSR=0.00, Power=-inf dBm
Found Cell_id: 0 FDD, CP: Normal , DetectRatio= 0% PSR=0.00, Power=-inf dBm
*Found Cell_id: 434 FDD, CP: Normal , DetectRatio=100% PSR=4.31, Power=-59.4 dBm
Decoding PBCH for cell 434 (N_id_2=2)
[ERROR] [UHD RF] std::bad_alloc
/home/ql/LTESniffer/build/srsRAN-src/lib/src/phy/rf/rf_uhd_imp.cc:1340: Error timed out while receiving samples from UHD.
/home/ql/LTESniffer/build/srsRAN-src/lib/src/phy/ue/ue_sync.c:772: Error receiving samples
/home/ql/LTESniffer/build/srsRAN-src/lib/src/phy/ue/ue_mib.c:256: Error calling srsran_ue_sync_work()
/home/ql/LTESniffer/build/srsRAN-src/lib/src/phy/rf/rf_utils.c:138: Error decoding MIB
/home/ql/LTESniffer/build/srsRAN-src/lib/src/phy/rf/rf_utils.c:263: Could not decode PBCH from CELL ID 434
/home/ql/LTESniffer/src/src/LTESniffer_Core.cc:199: Error searching for cell
terminate called without an active exception
Aborted

Offline Files

Hello, I am very interested in your project, but I currently do not have any USRP equipment. Now I want to try running it using the recorded file. Can you send me the offline file that you have successfully tested? Thank you very much!
Additionally, I would like to ask, can the files generated by the "LTE Waveform Generator" tool in MATLAB 2019a be applicable to this project?
Looking forward to your reply!

Error Message

Hello,

I am receiving the following error message numerous times when running LTESniffer:

/home/me/LTESniffer/build/srsRAN-src/lib/src/phy/phch/ra_dl.c:199: Invalid RBG subset=3 for nof_prb=50 where P=3

Please advise if this can be ignored as the program does appear to function, although I am still in the early stages of understanding it well.

Thanks.

Help with this build error, using ubuntu 23.10

[ 1%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/cmnalib_obj.dir/src/at/at_interface.c.o
[ 1%] Building CXX object srsRAN-build/lib/src/support/CMakeFiles/support.dir/emergency_handlers.cc.o
[ 1%] Building CXX object srsRAN-build/lib/src/asn1/CMakeFiles/srsran_asn1.dir/liblte_common.cc.o
[ 1%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/testlib.dir/test/devices/sierra_wireless_em7565/test_at.c.o
[ 1%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/cmnalib_obj.dir/src/at/at_interface_mock.c.o
[ 2%] Building CXX object srsRAN-build/lib/src/asn1/CMakeFiles/srsran_asn1.dir/liblte_mme.cc.o
/home/charon/LTESniffer-LTESniffer-v2.0.0/build/cmnalib-src/src/cmnalib/src/at/at_interface_mock.c: In function โ€˜at_interface_command_mockโ€™:
/home/charon/LTESniffer-LTESniffer-v2.0.0/build/cmnalib-src/src/cmnalib/src/at/at_interface_mock.c:94:5: warning: ignoring return value of โ€˜fscanfโ€™ declared with attribute โ€˜warn_unused_resultโ€™ [-Wunused-result]
94 | fscanf(h->file, "%" TOSTRING(AT_INTERFACE_MAX_COMMAND_STRING_LENGTH) "[^" LINE_SEPARATOR "]" LINE_SEPARATOR, tty_cmd_from_file);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 2%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/cmnalib_obj.dir/src/devices/at_sierra_wireless_em7565.c.o
[ 2%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/testlib.dir/src/at/at_interface.c.o
[ 2%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/testlib.dir/src/at/at_interface_mock.c.o
/home/charon/LTESniffer-LTESniffer-v2.0.0/build/cmnalib-src/src/cmnalib/src/at/at_interface_mock.c: In function โ€˜at_interface_commandโ€™:
/home/charon/LTESniffer-LTESniffer-v2.0.0/build/cmnalib-src/src/cmnalib/src/at/at_interface_mock.c:94:5: warning: ignoring return value of โ€˜fscanfโ€™ declared with attribute โ€˜warn_unused_resultโ€™ [-Wunused-result]
94 | fscanf(h->file, "%" TOSTRING(AT_INTERFACE_MAX_COMMAND_STRING_LENGTH) "[^" LINE_SEPARATOR "]" LINE_SEPARATOR, tty_cmd_from_file);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 2%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/testlib.dir/src/devices/at_sierra_wireless_em7565.c.o
[ 2%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/cmnalib_obj.dir/src/devices/at_sierra_wireless_mc7455.c.o
In file included from /home/charon/LTESniffer-LTESniffer-v2.0.0/build/srsRAN-src/lib/include/srsran/srslog/bundled/fmt/format.h:44,
from /home/charon/LTESniffer-LTESniffer-v2.0.0/build/srsRAN-src/lib/include/srsran/srslog/bundled/fmt/ostream.h:13,
from /home/charon/LTESniffer-LTESniffer-v2.0.0/build/srsRAN-src/lib/include/srsran/srslog/bundled/fmt/printf.h:14,
from /home/charon/LTESniffer-LTESniffer-v2.0.0/build/srsRAN-src/lib/include/srsran/srslog/detail/log_backend.h:25,
from /home/charon/LTESniffer-LTESniffer-v2.0.0/build/srsRAN-src/lib/include/srsran/srslog/log_channel.h:25,
from /home/charon/LTESniffer-LTESniffer-v2.0.0/build/srsRAN-src/lib/include/srsran/srslog/logger.h:25,
from /home/charon/LTESniffer-LTESniffer-v2.0.0/build/srsRAN-src/lib/include/srsran/srslog/srslog.h:26,
from /home/charon/LTESniffer-LTESniffer-v2.0.0/build/srsRAN-src/lib/include/srsran/support/srsran_assert.h:26,
from /home/charon/LTESniffer-LTESniffer-v2.0.0/build/srsRAN-src/lib/src/support/emergency_handlers.cc:23:
/home/charon/LTESniffer-LTESniffer-v2.0.0/build/srsRAN-src/lib/include/srsran/srslog/bundled/fmt/core.h:1307:44: error: field โ€˜valueโ€™ has incomplete type โ€˜std::array<char, 256>โ€™
1307 | std::array<char, max_pool_string_size> value;
| ^~~~~
In file included from /usr/include/c++/13/bits/unique_ptr.h:36,
from /usr/include/c++/13/memory:78,
from /home/charon/LTESniffer-LTESniffer-v2.0.0/build/srsRAN-src/lib/include/srsran/srslog/detail/support/any.h:25,
from /home/charon/LTESniffer-LTESniffer-v2.0.0/build/srsRAN-src/lib/include/srsran/srslog/srslog.h:25:
/usr/include/c++/13/tuple:2005:45: note: declaration of โ€˜struct std::array<char, 256>โ€™
2005 | template<typename _Tp, size_t _Nm> struct array;
| ^~~~~
make[2]: *** [srsRAN-build/lib/src/support/CMakeFiles/support.dir/build.make:76: srsRAN-build/lib/src/support/CMakeFiles/support.dir/emergency_handlers.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:7901: srsRAN-build/lib/src/support/CMakeFiles/support.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 2%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/testlib.dir/src/devices/at_sierra_wireless_mc7455.c.o
[ 2%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/cmnalib_obj.dir/src/devices/enumerate.c.o
[ 2%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/testlib.dir/src/devices/enumerate.c.o
[ 2%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/cmnalib_obj.dir/src/traffic/traffic_curl.c.o
[ 2%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/testlib.dir/src/traffic/traffic_curl.c.o
[ 2%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/testlib.dir/src/util/conversion.c.o
[ 2%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/testlib.dir/src/util/device_enumerator.c.o
[ 2%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/testlib.dir/src/util/gps_transform.c.o
[ 2%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/cmnalib_obj.dir/src/util/conversion.c.o
[ 3%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/testlib.dir/src/util/info.c.o
[ 3%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/testlib.dir/src/util/logger.c.o
[ 3%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/testlib.dir/src/util/network_interface.c.o
[ 3%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/testlib.dir/src/util/tokenfind.c.o
[ 3%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/cmnalib_obj.dir/src/util/device_enumerator.c.o
[ 3%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/testlib.dir/src/util/trace_logger.c.o
[ 3%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/cmnalib_obj.dir/src/util/gps_transform.c.o
[ 3%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/cmnalib_obj.dir/src/util/info.c.o
[ 3%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/cmnalib_obj.dir/src/util/logger.c.o
[ 4%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/cmnalib_obj.dir/src/util/network_interface.c.o
[ 4%] Linking C executable testlib
[ 4%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/cmnalib_obj.dir/src/util/tokenfind.c.o
/usr/bin/cc -O2 -g -DNDEBUG -rdynamic CMakeFiles/testlib.dir/test/devices/sierra_wireless_em7565/test_at.c.o CMakeFiles/testlib.dir/src/at/at_interface.c.o CMakeFiles/testlib.dir/src/at/at_interface_mock.c.o CMakeFiles/testlib.dir/src/devices/at_sierra_wireless_em7565.c.o CMakeFiles/testlib.dir/src/devices/at_sierra_wireless_mc7455.c.o CMakeFiles/testlib.dir/src/devices/enumerate.c.o CMakeFiles/testlib.dir/src/traffic/traffic_curl.c.o CMakeFiles/testlib.dir/src/util/conversion.c.o CMakeFiles/testlib.dir/src/util/device_enumerator.c.o CMakeFiles/testlib.dir/src/util/gps_transform.c.o CMakeFiles/testlib.dir/src/util/info.c.o CMakeFiles/testlib.dir/src/util/logger.c.o CMakeFiles/testlib.dir/src/util/network_interface.c.o CMakeFiles/testlib.dir/src/util/tokenfind.c.o CMakeFiles/testlib.dir/src/util/trace_logger.c.o -o testlib -L/usr/lib/x86_64-linux-gnu/libcurl.so -Wl,-rpath,/usr/lib/x86_64-linux-gnu/libcurl.so -lglib-2.0 -ludev -lcurl -lm
[ 4%] Building C object cmnalib-build/src/cmnalib/CMakeFiles/cmnalib_obj.dir/src/util/trace_logger.c.o
[ 4%] Building CXX object srsRAN-build/lib/src/asn1/CMakeFiles/srsran_asn1.dir/gtpc.cc.o
[ 4%] Built target testlib
[ 4%] Built target cmnalib_obj
/home/charon/LTESniffer-LTESniffer-v2.0.0/build/srsRAN-src/lib/src/asn1/liblte_mme.cc: In function โ€˜LIBLTE_ERROR_ENUM liblte_mme_unpack_network_name_ie(uint8**, LIBLTE_MME_NETWORK_NAME_STRUCT*)โ€™:
/home/charon/LTESniffer-LTESniffer-v2.0.0/build/srsRAN-src/lib/src/asn1/liblte_mme.cc:2093:20: error: โ€˜tmp_charโ€™ may be used uninitialized [-Werror=maybe-uninitialized]
2093 | if (tmp_char == 0x0A || tmp_char == 0x0D || (tmp_char >= 0x20 && tmp_char <= 0x3F) ||
| ~~~~~~~~~^~~~~~~
/home/charon/LTESniffer-LTESniffer-v2.0.0/build/srsRAN-src/lib/src/asn1/liblte_mme.cc:2033:21: note: โ€˜tmp_charโ€™ was declared here
2033 | char tmp_char;
| ^~~~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [srsRAN-build/lib/src/asn1/CMakeFiles/srsran_asn1.dir/build.make:90: srsRAN-build/lib/src/asn1/CMakeFiles/srsran_asn1.dir/liblte_mme.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:3884: srsRAN-build/lib/src/asn1/CMakeFiles/srsran_asn1.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

Error predecoding

Hi, everything was built well ( B210 SDR ), but Unfortunately, I am experiencing some issues, I pressed CtrlC after a second because it shows errors in a loop. Please advise me.
( by Cellular Z - Freq: 2630/2510MHz LTE ,Band 7FDD )

sudo ./src/LTESniffer -A 2 -W 4 -f 2630e6 -C -m 0

LTESniffer

Sat_May__4_22.04.20_2024.
Creating Phy
Creating 4 Worker threads
Opening RF device with 2 RX antennas...
Available RF device list: UHD zmq
Trying to open RF device 'UHD'
[INFO] [UHD] linux; GNU C++ version 11.4.0; Boost_107400; UHD_4.6.0.0-0ubuntu1~jammy1
[INFO] [LOGGING] Fastpath logging disabled at runtime.
Opening USRP channels=2, args: type=b200,master_clock_rate=23.04e6
[INFO] [UHD RF] RF UHD Generic instance constructed
[INFO] [B200] Detected Device: B210
[INFO] [B200] Operating over USB 3.
[INFO] [B200] Initialize CODEC control...
[INFO] [B200] Initialize Radio control...
[INFO] [B200] Performing register loopback test...
[INFO] [B200] Register loopback test passed
[INFO] [B200] Performing register loopback test...
[INFO] [B200] Register loopback test passed
[INFO] [B200] Asking for clock rate 23.040000 MHz...
[INFO] [B200] Actually got clock rate 23.040000 MHz.
[INFO] [MULTI_USRP] 1) catch time transition at pps edge
[INFO] [MULTI_USRP] 2) set times next pps (synchronously)
RF device 'UHD' successfully opened
Starting AGC thread...
Tunning receiver to 2630.000 MHz
Searching for cell...
Found Cell_id: 0 FDD, CP: Normal , DetectRatio= 0% PSR=0.00, Power=-inf dBm
*Found Cell_id: 376 FDD, CP: Normal , DetectRatio=100% PSR=5.98, Power=-1.4 dBm
Found Cell_id: 0 FDD, CP: Normal , DetectRatio= 0% PSR=0.00, Power=-inf dBm
Decoding PBCH for cell 376 (N_id_2=1)
Setting sampling rate 23.04 MHz
Finding PSS... Peak: 1.17605, FrameCnt: 0 State: 0
Finding PSS... Peak: 4.15256, FrameCnt: 0 State: 1
Finding PSS... Peak: 1.07717, FrameCnt: 17 State: 0
Finding PSS... Peak: 1.10889, FrameCnt: 17 State: 0
Finding PSS... Peak: 1.16413, FrameCnt: 17 State: 0
Finding PSS... Peak: 1.02132, FrameCnt: 17 State: 0
Finding PSS... Peak: 1.09379, FrameCnt: 17 State: 0
Finding PSS... Peak: 3.36544, FrameCnt: 0 State: 1
Finding PSS... Peak: 1.00353, FrameCnt: 27 State: 0
Finding PSS... Peak: 1.28281, FrameCnt: 27 State: 0
Finding PSS... Peak: 1.00443, FrameCnt: 27 State: 0
Finding PSS... Peak: 1.00284, FrameCnt: 27 State: 0
Finding PSS... Peak: 5.96871, FrameCnt: 0 State: 1
Finding PSS... Peak: 1.10079, FrameCnt: 25 State: 0
Finding PSS... Peak: 1.05865, FrameCnt: 25 State: 0
Finding PSS... Peak: 1.49186, FrameCnt: 25 State: 0
Finding PSS... Peak: 1.03743, FrameCnt: 25 State: 0
Finding PSS... Peak: 1.06135, FrameCnt: 25 State: 0
Finding PSS... Peak: 7.31725, FrameCnt: 0 State: 1

  • Type: FDD
  • PCI: 376
  • Nof ports: 4
  • CP: Normal
  • PRB: 100
  • PHICH Length: Normal
  • PHICH Resources: 1/6
  • SFN: 396
    Decoded MIB. SFN: 396, offset: 3
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1219: Error predecoding CCD: Only 2 ports supported
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1219: Error predecoding CCD: Only 2 ports supported
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1104: ERROR: Decoding PDSCH
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/mimo/precoding.c:1853: Error predecoding multiplex: not implemented for 4 Tx ports
    /home/roy/LTESniffer/build/srsRAN-src/lib/src/phy/phch/pdsch.c:880: Error predecoding
    /home/roy/LTESniffer/src/src/DL_Sniffer_PDSCH.cc:1201: ERROR: Decoding PDSCH
    ^CLTESniffer_Core: Exiting...

Num RNTI Table Active New TX ReTX Success HARQ Normal W_MIMO W_pinfor Other


Num RNTI Table Active New TX ReTX Success HARQ Normal W_MIMO W_pinfor Other
1 21216 Unknown 2 2 0 0(0%) 0 0 0 0 0

2 3887 Unknown 47 47 0 0(0%) 0 0 0 47 0
3 5080 Unknown 2 2 0 0(0%) 0 0 0 2 0
4 5391 Unknown 416 416 0 0(0%) 0 0 0 416 0
5 5533 Unknown 13 13 0 0(0%) 0 0 0 9 0
6 9386 Unknown 4 4 0 0(0%) 0 0 0 4 0
7 9398 Unknown 18 18 0 0(0%) 0 0 0 10 0
8 11997 Unknown 1 1 0 0(0%) 0 0 0 1 0
9 13798 Unknown 2 2 0 0(0%) 0 0 0 2 0
10 13813 Unknown 1 1 0 0(0%) 0 0 0 1 0
11 13822 Unknown 4 4 0 0(0%) 0 0 0 4 0
12 20014 Unknown 22 22 0 0(0%) 0 0 0 21 0
13 20143 Unknown 2 2 0 0(0%) 0 0 0 2 0
14 22053 Unknown 460 460 0 0(0%) 0 0 0 458 0
15 25311 Unknown 65 65 0 0(0%) 0 0 0 65 0
16 27002 Unknown 1 1 0 0(0%) 0 0 0 1 0
17 31117 Unknown 2 2 0 0(0%) 0 0 0 2 0
18 32986 Unknown 1 1 0 0(0%) 0 0 0 1 0
19 35160 Unknown 170 170 0 0(0%) 0 0 0 144 0
20 35272 Unknown 2 2 0 0(0%) 0 0 0 2 0
21 35490 Unknown 10 10 0 0(0%) 0 0 0 8 0
22 38075 Unknown 17 17 0 0(0%) 0 0 0 15 0
23 38367 Unknown 1 1 0 0(0%) 0 0 0 1 0
24 39030 Unknown 11 11 0 0(0%) 0 0 0 10 0
25 43424 Unknown 54 54 0 0(0%) 0 0 0 54 0
26 52557 Unknown 14 14 0 0(0%) 0 0 0 14 0
27 54488 Unknown 5 5 0 1(20%) 0 0 0 4 0
28 54489 Unknown 10 10 0 5(50%) 0 0 0 4 0
29 56199 Unknown 7 7 0 0(0%) 0 0 0 5 0
30 56828 Unknown 51 51 0 0(0%) 0 0 0 47 0
31 57120 Unknown 3 3 0 0(0%) 0 0 0 2 0
32 57708 Unknown 11 11 0 0(0%) 0 0 0 9 0
33 57729 Unknown 2 2 0 0(0%) 0 0 0 2 0
34 57731 Unknown 1 1 0 0(0%) 0 0 0 1 0
35 64326 Unknown 27 27 0 0(0%) 0 0 0 25 0
[256Tracking] Total: 0 RNTIs are 64QAM table, 0 RNTIs are 256QAM table, 35 RNTIs are Unknown

Destroyed Phy
Skipped subframe: 0 / 1016
nof_decoded_locations, nof_cce, nof_missed_cce, nof_subframes, nof_subframe_collisions_dw, nof_subframe_collisions_up, time, nof_locations
33342, 31589, 1403, 616, 2, 0, 0.000000, 58513
Skipped subframes: 0 (0%)
Saving MAC PCAP file
Deleted DL Sniffer core

Missing paging requests

I am using the downlink sniffer with the branch 1.2.0 with a b205mini and compared to the basic pdsch_ue example already present in srsran it seems that the implementation is missing quote alot of paging requests.

The pdsch_ue is run with rnti 0xffff, and when comparing the outputed pcaps, LTESniffer only shows a few paging requests meanwhile pdsch_ue has multiple.

Are the missing paging requests related to decoding failures or some other issue with rntis being looped or something else?

Issue capturing downlink packets

Hi, I'm trying to sniff downlink traffic using a HackRF One. It looks like subframes are being processed, but I'm not seeing any packets being captured and ltesniffer_dl_mode.pcap is empty. I'm wondering if this is a hardware limitation of the HackRF One or if there could be a different issue like low signal level or a botched install. Thanks for the help!
Output is as follows;

sudo ./LTESniffer -W 4 -f 753.5e6 -I 408 -m 0
...
[09:03:51] Processed 1000/1000 subframes
[09:03:52] Processed 1000/1000 subframes
[09:03:53] Processed 1000/1000 subframes
[09:03:54] Processed 1000/1000 subframes
^CLTESniffer_Core: Exiting...
-------------------------------------------------------------------------------------------------------------
Num RNTI Table Active New TX ReTX Success HARQ Normal W_MIMO W_pinfor Other -------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------
Num RNTI Table Active New TX ReTX Success HARQ Normal W_MIMO W_pinfor Other
-------------------------------------------------------------------------------------------------------------
[256Tracking] Total: 0 RNTIs are 64QAM table, 0 RNTIs are 256QAM table, 0 RNTIs are Unknown

Destroyed Phy
Skipped subframe: 0 / 38376
nof_decoded_locations, nof_cce, nof_missed_cce, nof_subframes, nof_subframe_collisions_dw, nof_subframe_collisions_up, time, nof_locations
0, 0, 0, 0, 0, 0, 0.000000, 0
Skipped subframes: 0 (-nan%)
Saving MAC PCAP file
Deleted DL Sniffer core
...

2 x B200 mini-i "No GPSDO found" error (no internal GPSDO, using external GPSDO)

Does LTESniffer allow for external GPSDO 10MHz input signal fed into 1PPS input port of USRP B200-mini?
Or does it require an internal GPSDO (which the USRP B200-mini-i does not have)?

Ubuntu 22.04.3 LTS (NOT running in a VM)

13th gen i9 CPU, 24GB RAM, 230GB free disk space

I am feeding a 10MHz source signal from a GPS-synchronized GPSDO into a 10MHz distribution amplifier.

see: https://www.amazon.com/GOOZEEZOO-NEO-6M-Positioning-Disciplined-Oscillator/dp/B0CMD4NWJH
see: https://www.amazon.com/Distribution-Amplifier-Frequency-Standard-Output/dp/B0B715ZMND

Both USRP B200-mini-i devices are connected to the distribution amplifier via their 1PPS input port.
see: https://www.ettus.com/all-products/usrp-b200mini-i-2/

user@host:~$ uhd_find_devices
[INFO] [UHD] linux; GNU C++ version 11.4.0; Boost_107400; UHD_4.6.0.0-3-g080b1baa

-- UHD Device 0

Device Address:
serial: 3XXXXXX
name: MyB200
product: B200
type: b200


-- UHD Device 1

Device Address:
serial: 3XXXXXX
name: MyB200
product: B200
type: b200

All prequisites installed, and compiled using multi usrp version with both serial numbers entered and recompiled (obfuscated below).

user@host:~/LTESniffer/build$ sudo ./src/LTESniffer -A 2 -W 4 -f 1840e6 -u 1745e6 -C -m 1
[sudo] password for user:

LTESniffer

Wed_Jan_17_14.35.16_2024.
Creating Phy
Creating 4 Worker threads
Opening RF device with 2 RX antennas...
Available RF device list: UHD
Trying to open RF device 'UHD'
[INFO] [UHD] linux; GNU C++ version 11.4.0; Boost_107400; UHD_4.6.0.0-3-g080b1baa
[INFO] [LOGGING] Fastpath logging disabled at runtime.
[INFO] [B200] Loading firmware image: /usr/local/share/uhd/images/usrp_b200_fw.hex...
[INFO] [B200] Loading firmware image: /usr/local/share/uhd/images/usrp_b200_fw.hex...
Opening USRP channels=2, args: num_recv_frames=512,recv_frame_size=8000,serial=3XXXXXX,type=b200,master_clock_rate=23.04e6
[INFO] [UHD RF] RF UHD Generic instance constructed
[INFO] [B200] Detected Device: B200
[INFO] [B200] Loading FPGA image: /usr/local/share/uhd/images/usrp_b200_fpga.bin...
[INFO] [B200] Operating over USB 3.
[INFO] [B200] Detecting internal GPSDO....
[INFO] [GPS] No GPSDO found
[INFO] [B200] Initialize CODEC control...
[INFO] [B200] Initialize Radio control...
[INFO] [B200] Performing register loopback test...
[INFO] [B200] Register loopback test passed
[INFO] [B200] Asking for clock rate 23.040000 MHz...
[INFO] [B200] Actually got clock rate 23.040000 MHz.
/home/user/LTESniffer/build/srsRAN-src/lib/src/phy/rf/rf_uhd_imp.cc:931: uhd_init failed, freeing...
[ERROR] [UHD RF] LookupError: KeyError: update_clock_source: gpsdo selected, but no gpsdo detected!
Unable to open RF device 'UHD'
/home/user/LTESniffer/build/srsRAN-src/lib/src/phy/rf/rf_imp.c:145: Failed to open a RF frontend device. Please check the available srsRAN CMAKE options to verify what RF frontend devices have been detected in your system
Error opening rf_a

uninstall project / undo installation of drivers

hello, i appreciate the effort behind this project; however, i need to revert the behavior of the UHD for use on other projects. can you advise me how to uninstall or remove any UHD code (e.g. driver) that was installed via sudo make install? i did not see an uninstall option in the makefile. perhaps i should have installed this in a VM.

How can I save DCI as a file? (How to use option -D)

Hi,

I am attempting to use DCI information for traffic analysis. However, I've come across a couple of issues:

  • When I use the option -D to save DCI information with the "DCIToFile" function, the resulting file is empty.
  • Using the -d (debug) option, I am able to obtain brief DCI information.

While I'm comfortable using the "-d" option to collect DCI information, I'm curious about the correct usage of the "-D" option. Any advice or tips you can provide would be greatly appreciated.

Thank you so much for your contribution and hard work. This tool is invaluable for my research!

LTESniffer_Core.cc:370: Error calling srsran_ue_sync_work()

Hello, when I was executing the downlink signal sniffing command, the following error occurred:

/LTESniffer/buiid/srsRAN src/lib/src/phy/rf/rf_ Uhd_ Imp. cc: 1340: Erroneous out while receiving samples from UHD

/LTESniffer/build/srsRAN src/lib/src/phy/ue/ue_ Sync. c: 772: Error receiving samples

/LTESniffer/src/src/LTESniffer Core. cc: 370: Error calling srsrsran_ Ue_ Sync_ Work()

Our environment configuration completely meets the requirements, but it still cannot run. Can you tell me where the problem is?

Aborted after running

I tried to run this implementation with UHD drivers 4.4 and the latest version of srsran and unfortunately this is the output i have

Setting sampling rate 23.04 MHz
Finding PSS... Peak: 6.40003, FrameCnt: 0 State: 1
 - Type:            FDD
 - PCI:             128
 - Nof ports:       2
 - CP:              Normal  
 - PRB:             100
 - PHICH Length:    Normal
 - PHICH Resources: 1
 - SFN:             280
Decoded MIB. SFN: 280, offset: 0
double free or corruption (out)
Aborted

Is there maybe some specific dependency on a specific version for srsran or the falcon project that i need to utilize to make this work?

Problem about uplinklink sniffing

Hello, when I was executing the uplink signal sniffing command:
sudo ./src/LTESniffer -A 2 -W 2 -f 1850e6 -C -m 0
the following error occurred:
Thu_Jul_13_10.48.23_2023.
Creating Phy
Creating 2 Worker threads
Opening RF device with 2 RX antennas...
Available RF device list: UHD
Trying to open RF device 'UHD'
[INFO] [UHD] linux; GNU C++ version 9.4.0; Boost_107100; UHD_3.15.0.HEAD-0-gaea0e2de
[INFO] [LOGGING] Fastpath logging disabled at runtime.
Opening USRP channels=2, args: type=x300,master_clock_rate=184.32e6
[INFO] [UHD RF] RF UHD Generic instance constructed
[INFO] [X300] X300 initialization sequence...
[INFO] [X300] Maximum frame size: 1472 bytes.
[INFO] [X300] Radio 1x clock: 184.32 MHz
[INFO] [0/DmaFIFO_0] Initializing block control (NOC ID: 0xF1F0D00000000000)
[INFO] [0/DmaFIFO_0] BIST passed (Throughput: 1301 MB/s)
[INFO] [0/DmaFIFO_0] BIST passed (Throughput: 1316 MB/s)
[INFO] [0/Radio_0] Initializing block control (NOC ID: 0x12AD100000000001)
[INFO] [0/Radio_1] Initializing block control (NOC ID: 0x12AD100000000001)
[INFO] [0/DDC_0] Initializing block control (NOC ID: 0xDDC0000000000000)
[INFO] [0/DDC_1] Initializing block control (NOC ID: 0xDDC0000000000000)
[INFO] [0/DUC_0] Initializing block control (NOC ID: 0xD0C0000000000000)
[INFO] [0/DUC_1] Initializing block control (NOC ID: 0xD0C0000000000000)
[INFO] [MULTI_USRP] 1) catch time transition at pps edge
[INFO] [MULTI_USRP] 2) set times next pps (synchronously)
RF device 'UHD' successfully opened
Starting AGC thread...
Tunning receiver to 1850.000 MHz
Searching for cell...
Found Cell_id: 0 FDD, CP: Normal , DetectRatio= 0% PSR=0.00, Power=-inf dBm
*Found Cell_id: 436 FDD, CP: Normal , DetectRatio=100% PSR=6.71, Power=-7.8 dBm
Found Cell_id: 62 TDD, CP: Normal , DetectRatio=100% PSR=2.18, Power=-21.5 dBm
Decoding PBCH for cell 436 (N_id_2=1)
Setting sampling rate 23.04 MHz
/LTESniffer/src/src/LTESniffer_Core.cc:228: Could not set sampling rate
[ERROR] [UHD RF] RuntimeError: Multiple sampling rates upstream of RX Terminator 0: RuntimeError: Node 0/DDC_1 specifies 1.92e+06, node 0/DDC_0 specifies 2.304e+07.
terminate called without an active exception

Decoding procedure

Per this DL example in repo,
it seems that the system (i guess Falcon does the same thing) waits until the first RAR message. Until that RAR it keeps decoding MIB, SIB1, SIB2, SIB3.

In that PCAP, RAR occurs (after 1.33 sec) for C-RNTI=70.
So does it mean that the system can not decode DL and UL PDSCH/PUSCH per C-RNTI without knowing dedicated to UE PHY configs (from DL RRCConnectionSetup)? E.g. we have to skip all subframes until we find the beginning of new UE initialization in the network, in other words, we skip all subframes until UL PRACH Preamble -> DL RAR, otherwise we do not know how to decode UE-specific PDSCH regardless what PDCCH DCI Format it is?

Like for TM1, TM2 -- we could've decoded UE's PDSCH and DLSCH TB, as there is no UE feedback required, simple TMs.

It seems, should be valid for all projects (including Falcon) that decode OTA? Could you please confirm?

Segmentation Fault and Fix for UL Sniffing

Intro

First, thank you for your contributions with this project. I have been following FALCON for quite some time.
I have encountered a few segmentation faults while running UL mode against a local station.
I wanted to contribute my fix. These errors usually appear sometime after 1-5 minutes of the program running.

Command

  • ./LTESniffer -a clock_source=external,time_source=external -A 2 -W 8 -f 1982.5e6 -u 1902.5e6 -C -m 1

Errors and Solutions

#1 Shared Pointer Access Issue

  • Error: this error manifested in different places, but all the GDB outputs lead to the .get() method on the shared pointer
  • GDB Errors: These are two different ones, fixed in the same way.
Thread 3 "LTESniffer" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd7452700 (LWP 225)]
PUSCH_Decoder::investigate_valid_ul_grant (this=0x7fffef71b010, decoding_mem=...) at /home/FALCON/LTESniffer/src/src/UL_Sniffer_PUSCH.cc:907
907	    if (decoding_mem.ran_ul_grant->tb.tbs == 0 || decoding_mem.ran_ul_grant_256->tb.tbs == 0)
(gdb) 

Thread 7 "LTESniffer" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd544e700 (LWP 22451)]
0x00005555555e8ece in PUSCH_Decoder::decode (this=0x7fffd978b010) at /home/FALCON/LTESniffer/src/src/UL_Sniffer_PUSCH.cc:425
425	                ul_cfg.pusch.grant = *decoding_mem.ran_ul_grant.get();
(gdb)
  • Fix: change all ran_ul_grant.get() and ran_ul_grant_256.get() to not use the .get() method in [UL_Sniffer_PUSCH.cc]

#2 Target RNTI Zero Error

  • Error: I don't have a GDB output to show this, but at one point got a decoding_mem.rnti value of zero (false positive) after running a long time. A zero RNTI is an invalid value and bypasses the if statement at [UL_Sniffer_PUSCH.cc @line#-419] which lets an invalid UL grant through causing a segmentation fault. This happens because the target_rnti is default set to zero. You could also change this by setting the target_rnti to some value that cannot occur like NaN or -1 so that this doesn't happen.
if ((decoding_mem.rnti == target_rnti) || (valid_ul_grant == SRSRAN_SUCCESS))
  • Fix: changed the if statement to reject all RNTIs with zero value
if (((decoding_mem.rnti == target_rnti) || (valid_ul_grant == SRSRAN_SUCCESS)) && decoding_mem.rnti != 0)

Hopefully, this is helpful. I am now able to run the UL code for 10s of minutes.

Brian Stevens

Downlink sniffing for Security API ?

I saw in README.md that uplink sniffing is used to implement security API functionality. Can I use downlink sniffing to implement security API functionality?

Issue

Hello when I started using this program yesterday I was recieving several paging request, now I am recieving none and just get the following:


Num RNTI Table Active New TX ReTX Success HARQ Normal W_MIMO W_pinfor Other

[256Tracking] Total: 0 RNTIs are 64QAM table, 0 RNTIs are 256QAM table, 0 RNTIs are Unknown

[09:35:52] Processed 1000/1000 subframes
[09:35:53] Processed 1000/1000 subframes
[09:35:54] Processed 1000/1000 subframes
[09:35:55] Processed 1000/1000 subframes
[09:35:56] Processed 1000/1000 subframes
[09:35:57] Processed 1000/1000 subframes
[09:35:58] Processed 1000/1000 subframes
[09:35:59] Processed 1000/1000 subframes
[09:36:00] Processed 1000/1000 subframes
[09:36:01] Processed 1000/1000 subframes

Num RNTI Table Active New TX ReTX Success HARQ Normal W_MIMO W_pinfor Other


Num RNTI Table Active New TX ReTX Success HARQ Normal W_MIMO W_pinfor Other

[256Tracking] Total: 0 RNTIs are 64QAM table, 0 RNTIs are 256QAM table, 0 RNTIs are Unknown

[09:36:02] Processed 1000/1000 subframes
[09:36:03] Processed 1000/1000 subframes
[09:36:04] Processed 1000/1000 subframes
[09:36:05] Processed 1000/1000 subframes
[09:36:06] Processed 1000/1000 subframes
[09:36:07] Processed 1000/1000 subframes
[09:36:08] Processed 1000/1000 subframes
[09:36:09] Processed 1000/1000 subframes
[09:36:10] Processed 1000/1000 subframes
[09:36:11] Processed 1000/1000 subframes

Num RNTI Table Active New TX ReTX Success HARQ Normal W_MIMO W_pinfor Other


Num RNTI Table Active New TX ReTX Success HARQ Normal W_MIMO W_pinfor Other

[256Tracking] Total: 0 RNTIs are 64QAM table, 0 RNTIs are 256QAM table, 0 RNTIs are Unknown

[09:36:12] Processed 1000/1000 subframes
[09:36:13] Processed 1000/1000 subframes
[09:36:14] Processed 1000/1000 subframes
[09:36:15] Processed 1000/1000 subframes
[09:36:16] Processed 1000/1000 subframes
[09:36:17] Processed 1000/1000 subframes

Do you know what the issue could be?

Single antenna mode (-A 1) for downlink seems to select wrong SDR when UHD/soapy sees multiple devices

When using single antenna mode -A 1, LTESniffer seems to ignore -a id=2 selection. E.g. with any SDR this happens:

sudo ./build/src/LTESniffer -A 1 -W 4 -f 1869900e3 -C -m 0 -a "num_recv_frames=512" -a id=2

Result:

/home/gnuradio/persistent/LTESniffer.gnuradio_3.10_docker/build/srsRAN-src/lib/src/phy/rf/rf_uhd_imp.cc:313: UHD unhandled event code 64

Looks like it selected audio card, not the correct SDR.

When using -A 2 with LimeSDR, you can see it chooses the SDR you put in argument:

sudo ./build/src/LTESniffer -A 2 -W 4 -f 1869900e3 -C -m 0 -a "num_recv_frames=512" -a id=2

Soapy has found device #0: default_input=True, default_output=True, device_id=0, driver=audio, label=default, 
Soapy has found device #1: default_input=False, default_output=False, device_id=1, driver=audio, label=hw:HDA Intel PCH,0, 
Soapy has found device #2: addr=1d50:6108, driver=lime, label=LimeSDR-USB [USB 3.0] 9060B00492D13, media=USB 3.0, module=FX3, name=LimeSDR-USB, serial=0009060B00492D13, 
Selecting Soapy device: 2

Then the sniffing works.

Removing the other devices (sound card) from uhd_list_devices by sudo apt remove soapysdr0.8-module-audio makes the single-antenna mode work as LimeSDR remains as the only device.

git commit: 058e05a310dc602a3a2276d36222607fad274264

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.