Commit Graph

5003 Commits

Author SHA1 Message Date
Xavier Arteaga 35f4e5d69a Initial PUCCH 1B with channel selection 2020-02-13 10:29:00 +01:00
Francisco Paisana c76cdc6cea refactored the serving cell config procedure. there was one more state than it was needed. 2020-02-10 22:03:16 +01:00
Andre Puschmann 8a33fde8e7 adding GPS sync support to USRP capture example 2020-02-10 20:25:54 +01:00
Andre Puschmann 6cce22d6b8 add support for GPS-based sync to UE sync object 2020-02-10 20:25:54 +01:00
Andre Puschmann d62b835a4c sync USRP time to GPS when GPSDO is used as clock source 2020-02-10 20:25:54 +01:00
Francisco Paisana c9ac42f11d renamed rlc pdu / mac sdu allocate functions, and added some comments describing what these functions do 2020-02-10 16:55:18 +00:00
Francisco Paisana 87038375d5 fixed the building of MAC SDUs in the scheduler. Now, we ensure there is always space for the MAC subheader and RLC header. The MAC subheader is correctly discounted from the remaining bytes in a TB. 2020-02-10 16:55:18 +00:00
Francisco Paisana 089f72d573 ensure minimum tbs. If it cant do it, increase mcs until it can. 2020-02-10 16:55:18 +00:00
Andre Puschmann cccabdaf4f removing unneeded install targets for static libs (reported by Filipe) 2020-02-10 17:38:42 +01:00
Andre Puschmann 627dac49b0 log message when ASN1 couldn't unpack DL message 2020-02-10 12:17:08 +01:00
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