Added faux rf device (sockrf) to allow a ue and enb to communicate at the rf layer via unix socket. Streaming samples are carried for src to dst wrapped in a unix socket datagram along with a small header indicating the seq, gain and sample rate. This allows the ue side to quickly re-sample as needed for the initial sync sequence. The configuration will specify a device_name = sockrf and device_args = ue or enb. The rf_sock_recv_with_time() method sets the pace for the message exchange rate between the enb and ue. For the enb a best effort attempt is made to maintain a 1 msec tti pulse at the "top of the second" and for the ue the action of receiving a msg in a timely fashion is used in an attempt to sync the enb/ue pair. Timing is critical and at a 1msec tti your mileage may vary trying to maintain the beat over an extended period of time. Suggest startup order is epc, ue, then enb with n_prb between 6 and 25. Once the epc is up it can stay up, and the ue/enb pair can be restarted as needed but note that restarting the ue only does not always result in a resync with a previously running enb (TBD). Also when the ue drops the connection it almost never re-establishes the connection with the enb (TBD). If data thruput testing is desired suggest running each application epc/ue/enb in an LXC container to provide network namespace isolation of the instantiated tun devices, although ping -I and tcpdump can crudely be used to exercise the data plane at the tx/rx endpoints respectively.
该提问来源于开源项目:srsLTE/srsLTE