spritelab / 5GSniffer

33 stars 12 forks source link

Configure the 5GSniffer to capture IQ samples using a "specific" SDR #1

Open olasierra opened 1 year ago

olasierra commented 1 year ago

Hi,

Issue Description

I can not find a way to set the "device" and "args" to capture RF IQ samples using a desired SDR.

Setup Details

In my setup I have configured the .toml file as follows:

IQ.toml ``` [sniffer] #file_path = "../test/samples/srsRAN_octoclock_samprate_2304_10MHz_scscommon_15khz_b200_fdd_n71_pci_1_2phones_onevoicecall_oneyoutube_rntis_4601_4602_5seconds.fc32" #file_path = "../test/samples/srsRAN_octoclock_samprate_2304_10MHz_scscommon_15khz_b200_fdd_n71_2phones_onevoicecall_oneyoutube_rntis_4601_4602_cut_27ms.fc32" #file_path = "../test/samples/srsRAN_octoclock_samprate_2304_10MHz_scscommon_15khz_b200_fdd_n71_2phones_onevoicecall_oneyoutube_rntis_4601_4602_cut_203ms_withsib1.fc32" sample_rate = 11520000 # 23040000 frequency = 628992 #627750 #627750000 nid_1 = 1 #[[pdcch]] #si_dci_only = true #use_config_from_mib = true [[pdcch]] coreset_id = 1 # sc offset aligns the BWP to the lowest SC of the BWP # As there is an offset of 150 KHz between SSB (to the fc we synch) and the DL_ARCFN, # the CBW is 52 RBs, and our CORESET is 48 RBs, we shift by 150KHz/15KHz + (52-48)*12(sc/RB)/2 # divided by 2 because we are centered around SSB. subcarrier_offset = 34 num_prbs = 48 numerology = 0 dci_sizes_list = [39] scrambling_id_start = 1 scrambling_id_end = 1 #rnti_start = 1000 #rnti_end = 60000 rnti_start = 17921 rnti_end = 17922 #sc_power_decision = true interleaving_pattern = "non-interleaved" coreset_duration = 2 AL_corr_thresholds = [1, 1, 0.5, 1, 1] num_candidates_per_AL = [0, 0, 4, 0, 0] #AL_corr_thresholds = [0.5, 0.5, 0.5, 0.5, 1] #num_candidates_per_AL = [8, 4, 4, 1, 0] ```

Expected Behavior

I would like to know if I can use some args configuration and serial to select one from all the SDRs connected to the machine.

Actual Behaviour

If the file path is commented the 5GSniffer automatically tries to use the SDR, in my case USRP X310.

Thanks in advance.

GinesGarcia commented 1 year ago

Hi @NorbLd , @gnoubir, I've been also trying to use it with the USRP B210 with no luck.

Are there any guidelines to set up the sniffing tool with the SDR?

Regards, Ginés.

ivyselly commented 10 months ago

hello, i have also been trying to achieve the same thing by making some changes to the src file and rebuilding the project, however, i aim at getting the sniffer top operate at a different frequency other than the default 627750000 specified in the config file.

however, upon rebuilding the program, the sdr still runs at 627750000 regardless of the frequency set also after rebuilding it, the sniffer starts the sdr regarless of whether the file path is empty or not

any info on what could be wong would be helpful.

Please find my config.h file, main.cc, spritelab and sdr.cc files below

configH.txt main.txt spritelab.txt sdr.txt

NorbLd commented 10 months ago

Hello,

Sorry for the late response and thank you for the interest in the sniffer.

I will add this feature soon. I will add an additional parameter "rf_args" to specify the USRP, e.g. "rf_args = "type=b200,master_clock_rate=23.04e6""

As for how to set the frequency using SDR, you should only modify the .toml file, specifically the "frequency" parameter.

I am currently working on a guide on the config file and some additional details.

Best,

ivyselly commented 10 months ago

image

please this is the error i am getting when using the usrp, is it related to anything in the code that i could fix, or do i need to get an external clock for my usrpb210?

thanks for your response

NorbLd commented 10 months ago

Hi ivyselly,

It is hard to tell what could be happening just from that screenshot. Usually you should see the message "Got MIB", which means the sniffer was able to synchronize using PSS and SSS, and decode the MIB. This is the first step of the sniffer.

If you are not able to retrieve the MIB it could be due to bad signal quality, using a wrong center frequency... I would suggest first taking a small recording, e.g. 3 seconds, and checking the spectrum, you should see the 5G SSB signal in the spectrum.

Best,

ivyselly commented 9 months ago

@NorbLd please can you confirm what tool you used for capturing and spectrum analysis of your signals, i'm using the srsran usrp_capture tool, and i also use gnu radio for spectrum analysis.

NorbLd commented 9 months ago

Hi, I generally use the gnu radio tool uhd_rx_cfile. An example:

uhd_rx_cfile --args type=b200 -r 23040000 -f 627500000 /tmp/file.fc32x

If you want you can send me your recording over email so I can take a look at it.

ivyselly commented 9 months ago

Hi, I generally use the gnu radio tool uhd_rx_cfile. An example:

uhd_rx_cfile --args type=b200 -r 23040000 -f 627500000 /tmp/file.fc32x

If you want you can send me your recording over email so I can take a look at it.

Alright, i will send you a mail. Thank you

shuimoshusheng commented 8 months ago

Hi, I generally use the gnu radio tool uhd_rx_cfile. An example:

uhd_rx_cfile --args type=b200 -r 23040000 -f 627500000 /tmp/file.fc32x

If you want you can send me your recording over email so I can take a look at it.

Hello, is this command listening for data from the bypass UE or listening for UE data connected to the USRP?thank you!