- 03 Jun, 2024 24 commits
-
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
- sa_b200_gnb - sa_aw2s_gnb - sa_e1_b200 - sa_f1_b200 - sa_sc_b200_gnb - nsa_b200_gnb By default, the container has no access to /dev. Mount all USB devices into the container to ease usability: by default, USB devices are mounted under /dev/bus/usb using the bus ID, which is different on every system and might change on reboots or with (un-)plugging USB devices. Hence, mount all USB; the process has not many capabilities anyway, and thus might not do much harm. A proper solution would be to write a udev rule to mount a device using its vendor and product ID, and only mount the corresponding device into the container.
-
Robert Schmidt authored
- SA 2x2 tests on 60 and 100 MHz - N310-based OAI gNB + UE Give SYS_NICE and IPC_LOCK for performance. On the UE side, give NET_ADMIN (for interface bringup) and NET_RAW (for ping an TUN).
-
Robert Schmidt authored
- 5g rfsim fdd_phytest - 5g rfsimulator - 5g fdd rfsim - 5g f1 rfsim - 5g l2sim - 5g rfsim 24prb - 5g rfsim 2x2 - 5g rfsim accelleran - 5g rfsim e1 - 5g rfsim fr2 32prb - 5g rfsim u0 - Update doc We give NET_ADMIN (for interface bringup) and NET_RAW (for ping). IPC_LOCK and SYS_NICE are intentionally left out to verify the softmodems run without.
-
Robert Schmidt authored
It might be desirable to run the UE without superuser rights. More concretely, it might run without NET_ADMIN. In this case, various corresponding operations on the TUN socket fd might fail. In this commit, - improve error reports to make them more clear - do not automatically exit(1), but return from the function to ensure continuity of the softmodem
-
Robert Schmidt authored
-
Robert Schmidt authored
Use common threadCreate() function to create P7 thread with high(er) priority. Remove old calls to set_priority(), as this is already done with threadCreate().
-
Robert Schmidt authored
Use common threadCreate() function to create P7 thread with high(er) priority. Remove old calls to set_priority(), as this is already done with threadCreate().
-
Robert Schmidt authored
Use common threadCreate() function to create P7 thread with high(er) priority. Remove old calls to set_priority(), as this is already done with threadCreate().
-
Robert Schmidt authored
The main thread of nr-uesoftmodem (executing main()) is mostly working; it is thus not necessary to set high priority. Instead, the threads created with threadCreate() will receive higher priority, if possible (as determined by the availability of SYS_NICE capability). To inform if SYS_NICE is not present, print a warning in main().
-
Robert Schmidt authored
SYS_NICE is a capability that allows a process to set thread affinity and priority, among other things (see capabilities(7) for more info). In this commit, add a function that allows to determine if the process has this capability, and try to change the thread affinity and priority, if requested. If the capability does not exist, the function will simply not attempt to change the corresponding thread attributes. To determine if the process has SYS_NICE, libcap can be used. However, it might not be installed by default. To avoid requiring another dependency, if we detect that libcap is not present, use a workaround by try to set a real-time scheduling policy; if it's present, or can be changed, we assume that the process has SYS_NICE (and clean up, if relevant). Simplify reading of capabilities
-
Robert Schmidt authored
A later commit in this series adds performance tuning tips, which includes the call made in RFsim until this commit.
-
Robert Schmidt authored
-
Robert Schmidt authored
set_latency_target() attempts to set keep "low latency" by - writing a specific latency to /dev/cpu_dma_latency - setting manually the minimum CPU processor frequency to be the maximum There is no functionality to undo this after stopping the softmodem(s), and most users are probably not even aware that OAI does this. It is generally preferable to set this beforehand using a governor or by disabling sleep states (as outlined in the tutorial, and in a follow-up commit in the performance tuning docs). The previous mlockall() call, to lock memory to RAM, is retained in a new function. There were additional mlockall() calls, which have been replaced with lock_memory_to_ram(), where necessary.
-
Robert Schmidt authored
It's completely unclear what this is supposed to do.
-
Robert Schmidt authored
Print a clear error if a config file does not exist (unclear previously, when the user would get a confusing, unspecific, "file I/O error" on line 0) I tried to free the memory that had been allocated at that point, and verified that using the address sanitizer. Nevertheless, the function does too much, and is too complicated for refactoring.
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
Use correct baseTag for Unit Tests build in execution: - if build_helper or othe files changed, which would trigger rebuild of ran-base, use the corresponding ci-temp tag - use that tag consistently afterwards
-
- 31 May, 2024 1 commit
-
-
Robert Schmidt authored
Reviewed-By: Laurent THOMAS <laurent.thomas@open-cells.com>
-
- 30 May, 2024 12 commits
-
-
Robert Schmidt authored
Integration: `2024.w22` (Part 1) See merge request oai/openairinterface5g!2773 * !2698 Handle division by 0 gracefully in average channel level calculation * !2743 Demystifying 10log10(2^30) in signal energy calculations. * !2767 NR UE imeisv fix * !2768 Over-estimate short and long BSR for better latency and TCP throughput * !2769 maxMIMOLayers parameter in configuration file
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
hotfix: current vlm_master (5fa129cf3161da9ff2d67341e6277e818c0f5d6a) breaks F1, NG, so use the one before (940dd5fa9f3917913fd487b13dfddfacd0ded06e)
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
38.321 6.1.3.1 says: "The size of the RLC headers and MAC subheaders are not considered in the buffer size computation" [for BSR]. However, prior to this commit, we take the size signaled of the BSR and schedule the UE with that amount of data, making it impossible for the UE to transmit all its data at once (because it is the size signaled + headers). In this commit, over-estimate the buffer status size. As we cannot know the exact number and size of headers, we simply use "BSR size + n", as done in function overestim_bsr_index().
-
- 29 May, 2024 3 commits
-
-
francescomani authored
-
Guido Casati authored
* nb_re_pdsch is directly linked to nb_rb_pdsch, if the latter is 0 the former is also 0 * compute average channel level only when number of RE for PDSCH is not 0 the average channel level will be set to 0 otherwise * Added a log message to handle this special case, which is consequence of other issues in the RX chain * with this commit, the inconsistency in the RX chain will be handled in later in nr_ue_pdsch_procedures with a demodulation failure other minor changes: * Improved clarity by using NR_NB_SC_PER_RB instead of hard-coded value 12 in nb of RBs calculation * cleaned up unused variable and outdated comments
-
Raymond Knopp authored
antennas.
-