Commit Graph

5243 Commits

Author SHA1 Message Date
Francisco Paisana c8fc0d91b3 changed the supported cc list to a vector of structs 2020-02-07 15:06:46 +00:00
Francisco Paisana 42b15c7bed use common ue_cfg interface to set the ue antenna info 2020-02-07 15:06:46 +00:00
Francisco Paisana 5f557700f2 changed the sched::ue_cfg(...) function to allow diff configurations. The RRC now activates all carriers after rrc reconf complete 2020-02-07 15:06:46 +00:00
Francisco Paisana b66bc3a6b0 create a sched_interface struct for antenna info dedicated. This way we remove the asn1 as a dependency in the scheduler 2020-02-07 15:06:46 +00:00
Francisco Paisana 88a22e7dbf support cc cfg from rrc 2020-02-07 15:06:46 +00:00
Francisco Paisana 095d0cda5a fix regs leak 2020-02-07 15:06:46 +00:00
Francisco Paisana e86862611c update the scheduler interfaces to accommodate the configuration of multiple carriers 2020-02-07 15:06:46 +00:00
Francisco Paisana 73c528793f add interface changes to dummy classes and scheduler test 2020-02-07 15:06:46 +00:00
Francisco Paisana 2dc31ea440 added interface to configure multiple cells from the RRC 2020-02-07 15:06:46 +00:00
Andre Puschmann c7343cf6d8 protect sf_buffer from overrun in receive_samples
this patch adds a buffer len paramter to the receive_samples() call
that protects the (also) provided buffer from overflowing.

currently each call to srslte_ue_sync_zerocopy() which then calls receive_samples()
relies on a buffer that is "big enough". But that buffer is sometimes
2 subframes, sometimes 3 or 5, sometimes has space for the maximum PRB size, sometimes
only for 6 PRBs (i.e. during cell search).

By extending the interface to pass the buffer size we can make sure that
only samples are received that actually fit inside the provided buffer.
2020-02-07 10:21:30 +01:00
Andre Puschmann 23bab1f207 fix potential segfault when overrunning char array
this fixed an issue when printing many neighbor cells because
the calculation of the remaining length can be negative
2020-02-07 10:20:12 +01:00
Andre Puschmann 0e337a01c3 fix SRB2 security handling in SS 2020-02-07 10:20:12 +01:00
Andre Puschmann 7c1b4c1f12 add support for IMEISV when requesting UE idendity 2020-02-07 10:19:42 +01:00
Jason Tang e15eb936fa Support multiple SoapySDR devices using soapy=# device_arg 2020-02-07 10:16:15 +01:00
Ismael Gomez f2851b037e Fix concurrency issue in set_crnti() 2020-02-06 20:30:09 +01:00
Pau Espin Pedrol 2f3a125757 srsue: fix trailing whitespace 2020-02-06 16:19:40 +01:00
Pau Espin Pedrol 4949df257e Proper shutdown on SIGHUP
If a process exits and has a controlling terminal, everything under
it gets a SIGHUP by the kernel. That's the case for instance when
running a srsUE over ssh with some specific parameters. As a result,
when the ssh client is killed, SIGHUP is sent to srsUE, which will be
killed immediatelly without proper release, which means in turn that log
buffers are not flushed.
Let's do proper shutdown when SIGHUP is received so that everyone can
get log files.
2020-02-06 16:19:40 +01:00
Pau Espin Pedrol 64de92183b epc: Drop signal(SIGKILL) calls
SIGKILL cannot be intercepted by apps, so it's useless adding a signal
handler for them. I'm pretty sure the signal() function is erroring in
this scenarios. From signal() man page:
"The signals SIGKILL and SIGSTOP cannot be caught or ignored."
2020-02-06 16:19:40 +01:00
Andre Puschmann ed179fd311 timers: rename value() to time_elapsed()
this seems to be better readable than value() since
we've sometimes confused it with the timeout value
2020-02-06 14:40:47 +01:00
Andre Puschmann b085a8eabf rework debug log when getting buffer state in RLC AM
also adds some description to RLC functions being called
from outside the stack thread
2020-02-06 14:40:47 +01:00
Andre Puschmann 4932fb8719 fix value() return in timers when timer is expired
this makes sure that value() never returns a value larger
than the timer duration
2020-02-06 14:40:47 +01:00
Xavier Arteaga 5b14a7d585 Implementation Tx RLC suspend 2020-02-06 09:14:57 +01:00
Xavier Arteaga f8fc226b89 Removed 5dB offset to the minimum Rx gain of the AGC 2020-02-06 09:14:05 +01:00
Xavier Arteaga 4d3c28ff97 SRSUE: wait for valid RSRP measurement before adquiring SIBs during cell search 2020-02-06 09:14:05 +01:00
Xavier Arteaga 68ad4960eb SRSLTE: added holding time before AGC starts measuring after setting gain 2020-02-06 09:14:05 +01:00
Xavier Arteaga 0edd8f74d8 fix memory leak in timer test 2020-02-04 16:33:46 +01:00
Xavier Arteaga b88a8635f1 Reduce stress timer test number of timers 2020-02-04 16:33:46 +01:00
Xavier Arteaga e0cc1fd697 Reduce time of timer_test; use unique_lock instead of guard 2020-02-04 16:33:46 +01:00
Xavier Arteaga 22da8dfbb1 srsLTE: protected priority queue in timers 2020-02-04 16:33:46 +01:00
Francisco Paisana 04a8edcbca revert addition of gitignore. Please use your own gitignore file locally 2020-02-04 10:58:35 +01:00
Pau Espin Pedrol 501e06893e test/run_lte.sh: add missing parameters
Take the chance to set one parameter per line so it becomes easier to
find them.
2020-02-03 16:26:15 +01:00
Pau Espin Pedrol 75782fa6f2 test/run_lte.sh: Increase UE conn timeout
First time the script is run it needs more time, since some values are
not yet precomputed.
2020-02-03 16:26:15 +01:00
Pau Espin Pedrol a941355c37 test/run_lte.sh: fix trailing whitespace 2020-02-03 16:26:15 +01:00
Pau Espin Pedrol e666e62303 Add .gitignore 2020-02-03 16:26:15 +01:00
Andre Puschmann 53032f8d98 run_lte: fix 75PRB config and enable PCAP in UE 2020-02-03 16:26:15 +01:00
Andre Puschmann a612d99c23 fix PRACH check in run_lte.sh script 2020-02-03 16:26:15 +01:00
Andre Puschmann 926f256afa fix RLC dummy class that was missing suspend/resume 2020-02-03 16:26:15 +01:00
Andre Puschmann a32d4ebf59 move PRACH config check into cfg parser 2020-02-03 16:26:15 +01:00
Andre Puschmann 179fd394b2 enb: add SRB2+DRB1 to scheduler AFTER receiving Reconfig Complete
this commit fixes and issue where, after receiving paging and the resulting
PRACH from the UE, the eNB would create DRB1 and already schedule DL traffic
on this bearer. However, since the UE has not received the reconfig message
yet, the DL traffic is dropped since DRB1 isn't set up yet.

the commit also does not reset the BSR state of the bearer inside MAC since
this caused to a stall of the received DL PDU. The value would initially be set to
a non-zero value (after receiving the DL PDU from EPC). But when the bearer
was (re-)introduced to MAC, it would reset the BSR to zero, and, since
MAC never polls RLC, the PDU wasn't sent down until the next PDU arrives
and sets the BSR to a non-zero value again.
2020-02-03 16:26:15 +01:00
Andre Puschmann d3cb2eac83 add RLC suspend/resume to eNB interface 2020-02-03 16:26:15 +01:00
Andre Puschmann 369592544c store last RRC Connection Reconfig with transaction identifier 2020-02-03 16:26:15 +01:00
Andre Puschmann f999e256f9 add error handling for RRC msg packing in eNB 2020-02-03 16:26:15 +01:00
Andre Puschmann 6a50fe3233 zmq: add monitor code for sockets but disable it
according to the ZMQ dev guide, one can use a socket monitor
to get informed about changes to a socket, e.g. when a client disconnected.

This is useful to detect when a UE dropped the connection to reinitialize
the socket and timers in a eNB.

This commit adds code to create such a socket monitor but leaves
it disabled because it still doesn't work as expected.
2020-02-03 16:26:15 +01:00
Andre Puschmann 995774c830 add ZMQ device argument to fail reception when end point disconnects
this allows to gracefully exit the eNB when the UE disconnected.
2020-02-03 16:26:15 +01:00
Andre Puschmann ad304207b3 patch PRACH offset parameter for 6 PRB
the 6 PRB eNB requires a different PRACH offset than the default
value of 2 in the SIB1 example. In order to avoid having
to use a separate SIB config with just a single different value,
the patch patches the value to the only right configuration, if it's wrong.
It continues operation but still issues a warning so the user
can change it in the config.
2020-02-03 16:26:15 +01:00
Andre Puschmann 0247762265 adding basic shell script for running end-to-end tests 2020-02-03 16:26:15 +01:00
Andre Puschmann 9720449cbb fixing RRC measurement test after logmap refactor 2020-02-03 12:51:46 +01:00
Andre Puschmann 3d7598a4cb rewrite cell handling in TTCN3 PHY and SS 2020-02-03 12:51:46 +01:00
Andre Puschmann 2a46413121 during cell search don't configure found cell as serving cell
this fixes an issue in which, during cell search, the sync code
itself would set the serving cell whenever it found a new cell.

instead, only report the found cell to RRC and keep the sample
rate at 1.92 MHz. RRC may select a new serving cell and then tell
PHY to camp on it.
2020-02-03 12:51:46 +01:00
Andre Puschmann ca54f02b87 fix RRC measurement reporting when reportInterval is set to infinity 2020-02-03 12:51:46 +01:00