srsran / srsRAN_4G

Open source SDR 4G software suite from Software Radio Systems (SRS) https://docs.srsran.com/projects/4g
https://www.srsran.com
GNU Affero General Public License v3.0
3.46k stars 1.14k forks source link

A question about srsRAN with ZMQ virtualized radio #818

Closed elvinlife closed 2 years ago

elvinlife commented 2 years ago

Hi thanks for checking this issue. Currently I'm deploying the srsRAN with ZMQ virtualized radio, and I notice that srsRAN can only support one UE. Can I ask what's the fundamental limitation that we cannot support multiple UE with virtualized radio in this context?

sonium-labs commented 2 years ago

Hi elvinlife,

I've been messing with the ZMQ radio stuff for a couple months, and may have some insight for you.

While I haven't tried multi-UE setups with ZMQ alone, and am unsure what the purpose might be for this restriction, if you set up the GNU Radio broker described at the bottom of this guide, from my experiments it appears as though you can indeed connect multiple srsUEs to a single eNB. While I haven't tested all portions of the LTE protocol through this system, it seems I/Q samples are indeed being sent from both UEs to the eNB, and back from the eNB to both UEs. If you get deeper into this, I'd love to hear back from you regarding anything you discover!

Here's what the flowchart might look like (the delays are unnecessary, just some simulated propagation delay for a project I'm working on). GNU Radio Broker with Multiple UEs

Feel free to reach out if you have any additional questions.

elvinlife commented 2 years ago

Hi Daniel, thanks for your reply and the provided approach.

I build a system with the same workflow shown in the plot (just without the delay module). I can see that some signal samples are exchanged between the two UEs and the eNB at the beginning. However, based on the logging, I think only one UE is finally attached to the EPC and the eNB, but another UE fails. I'm guessing that when the eNB broadcasts the signals to two UEs, the broadcasted information is actually for one UE (the one gets attached finally)?

I'm happy to discuss if you have answers or ideas about this issue. Thanks!

sonium-labs commented 2 years ago

Ah, thank you for your response. Shame it didn't work--you'd expect given that the eNB is built to handle multiple UEs, that if I/Q samples were being exchanged that it'd be able to attach multiple in simulation...

No other ideas at the moment I'm afraid, though if I discover anything further I'll let you know!

andrepuschmann commented 2 years ago

The eNB is of course able to handle multiple UEs at the same time. The approach explained by @sonium-labs is correct and the GRC flowgraph should be working. We've tested similar things with many more UEs and it's working fine.

@elvinlife You need to post actual logs so other can help you with that.

I am going to close the issue and add the "tutorial" tag to it so other can find the information (and the flow-graph) later on. Please open a new issue (as it is likely something unrelated to ZMQ) with you logs. Thanks @sonium-labs for your help.

elvinlife commented 2 years ago

Hi Andre and Daniel. Thanks a lot for your help! I double checked my configuration, and find that the problem should be a mismatch between the UE information stored in the user_db.csv for HSS and the UE configuration. It works now!

sonium-labs commented 2 years ago

Very interesting, excellent insight! Glad you were able to sort it out, and thanks for letting us know what it was. :)

toddeye commented 2 years ago

@elvinlife I have been trying to set something similar up. Would you mind attaching your working .grc file. I have set it up similar to what @sonium-labs shows in the image, but I must be missing something.

elvinlife commented 2 years ago

Hi @toddeye, I've attached the .grc file, remember to modify the file extension from .txt to .grc. 2ue.txt

zzylol commented 2 years ago

Hi, thanks for giving this tutorial. If I want to put 2 UEs, epc and eNB in 4 vms, how should I do with gnuradio-companion flow graph? Thanks!

mariatsampazi commented 2 years ago

Hi all, have you been able to open gnuradio-companion for the 5G SA ZMQ setup? Although I see a successful attachment of the ue to the gnb (ue has an ip, no errors in the logs), while opening the gnuradio-companion I cannot see any signal being transmitted or any IQ sample

  1. I have successfully set up the ZMQ E2E network as stated here: https://docs.srsran.com/en/hoverxref_test/app_notes/source/5g_sa_E2E/source/index.html
  2. I followed the steps here: https://docs.srsran.com/en/latest/app_notes/source/zeromq/source/index.html#:~:text=netns%20delete%20ue1-,GNU%2DRadio%20Companion%20Integration,-GNU%2DRadio%20Companion so that I can see the transmission of IQ samples, but nothing is transmitted. Thanks in advance!
Waseem0808 commented 1 year ago

Hi elvinlife,

I've been messing with the ZMQ radio stuff for a couple months, and may have some insight for you.

While I haven't tried multi-UE setups with ZMQ alone, and am unsure what the purpose might be for this restriction, if you set up the GNU Radio broker described at the bottom of this guide, from my experiments it appears as though you can indeed connect multiple srsUEs to a single eNB. While I haven't tested all portions of the LTE protocol through this system, it seems I/Q samples are indeed being sent from both UEs to the eNB, and back from the eNB to both UEs. If you get deeper into this, I'd love to hear back from you regarding anything you discover!

Here's what the flowchart might look like (the delays are unnecessary, just some simulated propagation delay for a project I'm working on). GNU Radio Broker with Multiple UEs

Feel free to reach out if you have any additional questions.

Thanks for the detailed explanation. I want to create a 2tx/2rx port UE, but was unsuccessful. Is their a way to add multiple ports to UE/eNB? Thanks!

wmwwimor commented 1 year ago

What about srsRAN_Project and srsRAN_4G? Can I build an End-to-end 5G SA network with mulitiple UEs using GNU ?

xxixi8 commented 1 month ago

/

Hi elvinlife,

I've been messing with the ZMQ radio stuff for a couple months, and may have some insight for you.

While I haven't tried multi-UE setups with ZMQ alone, and am unsure what the purpose might be for this restriction, if you set up the GNU Radio broker described at the bottom of this guide, from my experiments it appears as though you can indeed connect multiple srsUEs to a single eNB. While I haven't tested all portions of the LTE protocol through this system, it seems I/Q samples are indeed being sent from both UEs to the eNB, and back from the eNB to both UEs. If you get deeper into this, I'd love to hear back from you regarding anything you discover!

Here's what the flowchart might look like (the delays are unnecessary, just some simulated propagation delay for a project I'm working on). GNU Radio Broker with Multiple UEs

Feel free to reach out if you have any additional questions.

hello, the link in the above answer is not working. How can I find the tutorial? Thanks.