Commit 6d18505d authored by Joanne Hugé's avatar Joanne Hugé

Amarisoft 2021-03-17 config

parents
This diff is collapsed.
/* DRB configuration for each QCI value for NB-IoT. If no
/* corresponding QCI is
found, QCI = 9 is used instead.
QCI characteristics in TS 23.203 table 6.1.7 */
[
{
qci: 9, /* AM - best effort (Internet traffic) */
pdcp_config: {
discardTimer: 0, /* in ms, 0 means infinity */
/* ROHC header compression */
headerCompression: null,
},
rlc_config: {
/* UE side */
ul_am: {
t_PollRetransmit: 6000, /* in ms */
maxRetxThreshold: 32,
},
dl_am: {
enableStatusReportSN_Gap: false,
t_Reordering: 60, /* in ms, used only for UEs configured with twoHARQ (default 60 ms) */
},
/* eNB side */
enb_dl_am: {
t_PollRetransmit: 6000, /* in ms */
maxRetxThreshold: 32,
},
enb_ul_am: {
t_Reordering: 60, /* in ms, used only for UEs configured with twoHARQ (default 60 ms) */
},
/* common to both sides */
/* used if UE declares support of RLC UM
both: um-Bi-Directional-r15
ul: um-Uni-Directional-UL-r15
dl: um-Uni-Directional-DL-r15 */
//um_r15: "both",
},
logical_channel_config: {
priority: 13,
logical_channel_sr_prohibit: false,
},
},
]
This diff is collapsed.
This diff is collapsed.
/* lteenb configuration file version 2021-03-17
* Copyright (C) 2015-2021 Amarisoft
*/
#define N_CELL 2 // should not be changed, used in config.cfg
#define TDD 0 // Values: 0 (FDD), 1(TDD)
#define N_RB_DL 25 // Values: 6 (1.4 MHz), 15 (3MHz), 25 (5MHz), 50 (10MHz), 75 (15MHz), 100 (20MHz)
#define N_ANTENNA_DL 1 // Values: 1 (SISO), 2 (MIMO 2x2)
#define N_ANTENNA_UL 1 // Values: 1, 2
#define CHANNEL_SIM 0 // Values: 0 (channel simulator disabled), 1 (channel simulator enabled)
{
/* Log filter: syntax: layer.field=value[,...]
Possible layers are phy, mac, rlc, pdcp, rrc, nas, s1ap, x2ap, gtpu and
all. The 'all' layer is used to address all the layers at the
same time.
field values:
- 'level': the log level of each layer can be set to 'none',
'error', 'info' or 'debug'. Use 'debug' to log all the messages.
- 'max_size': set the maximum size of the hex dump. 0 means no
hex dump. -1 means no limit.
*/
//log_options: "all.level=debug,all.max_size=32",
log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,s1ap.level=debug,s1ap.max_size=1,x2ap.level=debug,x2ap.max_size=1,rrc.level=debug,rrc.max_size=1",
log_filename: "/tmp/enb0.log",
/* Enable remote API and Web interface */
com_addr: "0.0.0.0:9001",
/* RF driver configuration */
include "rf_driver/config.cfg",
#if CHANNEL_SIM == 1
rf_ports: [
{
channel_dl: {
type: "awgn",
noise_level: -30,
},
},
{
channel_dl: {
type: "awgn",
noise_level: -30,
},
}
],
#endif
mme_list: [
{
/* address of MME for S1AP connection. Must be modified if the MME
runs on a different host. */
mme_addr: "127.0.1.100",
},
],
/* GTP bind address (=address of the ethernet interface connected to
the MME). Must be modified if the MME runs on a different host. */
gtp_addr: "127.0.1.1",
/* high 20 bits of SIB1.cellIdentifier */
enb_id: 0x1A2E0,
/* list of cells */
cell_list: [
{
rf_port: 0,
cell_id: 0x01, /* low 8 bits of SIB1.cellIdentifier */
tac: 0x0001, /* SIB1.trackingAreaCode */
n_id_cell: 1,
root_sequence_index: 204, /* PRACH root sequence index */
/* carrier aggregation configuration (for rel 10 UEs) */
#if TDD == 1
dl_earfcn: 40620, /* DL center frequency: 2593 MHz (band 41) */
#else
dl_earfcn: 3100, /* DL center frequency: 2655 MHz (Band 7) */
#endif
/* Neighbour cell list (used for handover) */
ncell_list: [
{
n_id_cell: 2,
#if TDD == 1
dl_earfcn: 39150,
#else
dl_earfcn: 1575,
#endif
cell_id: 0x1a2e002,
tac: 1
},
],
},
{
rf_port: 1,
cell_id: 0x02, /* low 8 bits of SIB1.cellIdentifier */
tac: 0x0001, /* SIB1.trackingAreaCode */
n_id_cell: 2,
root_sequence_index: 28, /* PRACH root sequence index */
#if TDD == 1
dl_earfcn: 39150, /* DL center frequency: 2350 MHz (band 40) */
#else
dl_earfcn: 1575, /* DL center frequency: 1842.5 MHz (Band 3) */
#endif
/* Neighbour cell list (used for handover) */
ncell_list: [
{
n_id_cell: 1,
#if TDD == 1
dl_earfcn: 40620,
#else
dl_earfcn: 3100,
#endif
cell_id: 0x1a2e001,
tac: 1
},
],
}
], /* cell_list */
/* default cell parameters */
cell_default: {
/* Broadcasted PLMN identities */
plmn_list: [
"00101",
],
n_antenna_dl: N_ANTENNA_DL, /* number of DL antennas */
n_antenna_ul: N_ANTENNA_UL, /* number of UL antennas */
#if TDD == 1
uldl_config: 2, /* TDD only */
sp_config: 7, /* TDD only */
#endif
n_rb_dl: N_RB_DL, /* Bandwidth: 25: 5 MHz, 50: 10 MHz, 75: 15 MHz, 100: 20 MHz */
cyclic_prefix: "normal",
phich_duration: "normal",
phich_resource: "1", /* ratio of NG */
/* SIB1 */
si_value_tag: 0, /* increment modulo 32 if SI is modified */
cell_barred: false, /* SIB1.cellBarred-r13 */
intra_freq_reselection: true, /* SIB1.intraFreqReselection */
q_rx_lev_min: -70, /* SIB1.q-RxLevMin */
p_max: 10, /* maximum power allowed for the UE (dBm) */
si_window_length: 40, /* ms */
sib_sched_list: [
{
filename: "sib23.asn",
si_periodicity: 16, /* frames */
},
],
#if N_RB_DL == 6
si_coderate: 0.30, /* maximum code rate for SI/RA/P-RNTI messages */
#else
si_coderate: 0.20, /* maximum code rate for SI/RA/P-RNTI messages */
#endif
si_pdcch_format: 2, /* 2 or 3. Log2 of the number of CCEs for PDCCH
for SI/RA/P-RNTI */
n_symb_cch: 0, /* number of symbols for CCH (0 = auto) */
/* PDSCH dedicated config (currently same for all UEs) */
pdsch_dedicated: {
#if N_ANTENNA_DL == 4
p_a: -6,
#elif N_ANTENNA_DL == 2
p_a: -3,
#else
p_a: 0,
#endif
p_b: -1, /* -1 means automatic */
},
/* If defined, force for number of CCEs for UE specific PDCCH to
2^pdcch_format. Otherwise it is computed from the reported
CQI. Range: 0 to 3. */
#if N_RB_DL == 6
pdcch_format: 1,
#else
pdcch_format: 2,
#endif
/* if defined, force the PDSCH MCS for all UEs. Otherwise it is
computed from the reported CQI */
/* pdsch_mcs: 12, */
#if N_RB_DL == 6
prach_config_index: 15, /* subframe 9 every 20 ms */
#else
prach_config_index: 4, /* subframe 4 every 10 ms */
#endif
prach_freq_offset: -1, /* -1 means automatic */
/* PUCCH dedicated config (currently same for all UEs) */
pucch_dedicated: {
n1_pucch_sr_count: 11, /* increase if more UEs are needed */
cqi_pucch_n_rb: 1, /* increase if more UEs are needed */
#if TDD == 1
//tdd_ack_nack_feedback_mode: "bundling", /* TDD only */
tdd_ack_nack_feedback_mode: "multiplexing", /* TDD only */
#endif
},
/* PUSCH dedicated config (currently same for all UEs) */
pusch_dedicated: {
beta_offset_ack_index: 9,
beta_offset_ri_index: 6,
beta_offset_cqi_index: 6,
},
pusch_hopping_offset: -1, /* -1 means automatic */
/* MCS for Msg3 (=CCCH RRC Connection Request) */
pusch_msg3_mcs: 0,
/* this CQI value is assumed when none is received from the UE */
#if N_RB_DL == 6
initial_cqi: 5,
#else
initial_cqi: 3,
#endif
/* if defined, force the PUSCH MCS for all UEs. Otherwise it is
computed from the last received SRS/PUSCH. */
// pusch_mcs: 18,
dl_256qam: true,
ul_64qam: true,
/* Scheduling request period (ms). Must be >= 40 for HD-FDD */
sr_period: 20,
/* CQI report config */
cqi_period: 40, /* period (ms). Must be >= 32 for HD-FDD */
#if N_ANTENNA_DL >= 2
/* RI reporting is done with a period of m_ri * cqi_period.
m_ri = 0 (default) disables RI reporting. */
m_ri: 8,
/* transmission mode */
transmission_mode: 3,
#endif
/* SRS dedicated config. All UEs share these
parameters. srs_config_index and freq_domain_position are
allocated for each UE) */
srs_dedicated: {
#if N_RB_DL == 6
srs_bandwidth_config: 7,
srs_bandwidth: 1,
#elif N_RB_DL == 15
srs_bandwidth_config: 6,
srs_bandwidth: 1,
#elif N_RB_DL == 25
srs_bandwidth_config: 3,
srs_bandwidth: 1,
#elif N_RB_DL == 50
srs_bandwidth_config: 2,
srs_bandwidth: 2,
#elif N_RB_DL == 75
srs_bandwidth_config: 2,
srs_bandwidth: 2,
#else
srs_bandwidth_config: 2,
srs_bandwidth: 3,
#endif
srs_subframe_config: 3, /* 0 - 15 */
srs_period: 40, /* period (ms). Must be >= 40 for HD-FDD */
srs_hopping_bandwidth: 0,
},
/* MAC configuration (same for all UEs) */
mac_config: {
ul_max_harq_tx: 5, /* max number of HARQ transmissions for uplink */
dl_max_harq_tx: 5, /* max number of HARQ transmissions for downlink */
},
/* CPU load limitation */
pusch_max_its: 6, /* max number of turbo decoder iterations */
/* dynamic power control */
dpc: true,
dpc_pusch_snr_target: 25,
dpc_pucch_snr_target: 20,
/* RRC/UP ciphering algorithm preference. EEA0 is always the last. */
cipher_algo_pref: [],
/* RRC integrity algorithm preference. EIA0 is always the last. */
integ_algo_pref: [2, 1],
/* (in ms) send RRC connection release after this time of network
inactivity */
inactivity_timer: 10000,
/* SRB configuration */
srb_config: [
{
id: 1,
maxRetxThreshold: 32,
t_Reordering: 45,
t_PollRetransmit: 60,
},
{
id: 2 ,
maxRetxThreshold: 32,
t_Reordering: 45,
t_PollRetransmit: 60,
}
],
/* DRB configuration */
drb_config: "drb.cfg",
/* measurement configuration */
meas_config_desc: {
a1_report_type: "rsrp",
a1_rsrp: -105,
a1_hysteresis: 0,
a1_time_to_trigger: 640,
a2_report_type: "rsrp",
a2_rsrp: -110,
a2_hysteresis: 0,
a2_time_to_trigger: 640,
a3_report_type: "rsrp",
a3_offset: 6,
a3_hysteresis: 0,
a3_time_to_trigger: 480,
},
/* measurement gap configuration */
meas_gap_config: "gp0",
/* if true, initiate a handover when a suitable measurement report
is received */
ho_from_meas: true,
},
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
/* lteenb configuration file version 2021-03-17
* Copyright (C) 2015-2021 Amarisoft
*/
{
/* Log filter: syntax: layer.field=value[,...]
Possible layers are phy, mac, rlc, pdcp, rrc, nas, s1ap, x2ap, gtpu and
all. The 'all' layer is used to address all the layers at the
same time.
field values:
- 'level': the log level of each layer can be set to 'none',
'error', 'info' or 'debug'. Use 'debug' to log all the messages.
- 'max_size': set the maximum size of the hex dump. 0 means no
hex dump. -1 means no limit.
*/
//log_options: "all.level=debug,all.max_size=32",
log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,s1ap.level=debug,s1ap.max_size=1,x2ap.level=debug,x2ap.max_size=1,m2ap.level=debug,m2ap.max_size=1,rrc.level=debug,rrc.max_size=1",
log_filename: "/tmp/enb0.log",
/* Enable remote API and Web interface */
com_addr: "0.0.0.0:9001",
/* RF driver configuration */
include "rf_driver/config.cfg",
/* address of MME for S1AP connection. Must be modified if the MME
runs on a different host. */
mme_addr: "127.0.1.100",
/* GTP bind address (=address of the ethernet interface connected to
the MME). Must be modified if the MME runs on a different host. */
gtp_addr: "127.0.1.1",
/* address of MBMSGW for M2 connection. */
mbmsgw_addr: "127.0.1.200",
/* high 20 bits of SIB1.cellIdentifier */
enb_id: 0x1A2D0,
/* list of cells */
cell_list: [
{
/* Broadcasted PLMN identities */
plmn_list: [
"00101",
],
dl_earfcn: 3350, /* DL center frequency: 2680 MHz (Band 7) */
//dl_earfcn: 6300, /* 806 MHz (Band 20) */
//dl_earfcn: 1575, /* 1842.5 MHz (Band 3) */
n_id_cell: 1,
cell_id: 0x01,
tac: 0x0001,
root_sequence_index: 204, /* PRACH root sequence index */
},
], /* cell_list */
/* default cell parameters */
cell_default: {
n_antenna_dl: 1, /* number of DL antennas */
n_antenna_ul: 1, /* number of UL antennas */
n_rb_dl: 50, /* Bandwidth: 25: 5 MHz, 50: 10 MHz, 75: 15 MHz, 100: 20 MHz */
cyclic_prefix: "normal",
phich_duration: "normal",
phich_resource: "1", /* ratio of NG */
/* SIB1 */
si_value_tag: 0, /* increment modulo 32 if SI is modified */
cell_barred: false, /* SIB1.cellBarred-r13 */
intra_freq_reselection: true, /* SIB1.intraFreqReselection */
q_rx_lev_min: -70, /* SIB1.q-RxLevMin */
p_max: 10, /* maximum power allowed for the UE (dBm) */
si_window_length: 40, /* ms */
sib_sched_list: [
{
filename: "sib23.asn",
si_periodicity: 16, /* frames */
},
/*
To add mbms specific sibs, enable the following lines and fill
asn1 definition files for sib5 and sib15.
*/
#if 0
{
filename: "sib5.asn",
si_periodicity: 64, /* frames */
},
{
filename: "sib15.asn",
si_periodicity: 64, /* frames */
},
#endif
],
si_coderate: 0.20, /* maximum code rate for SI/RA/P-RNTI messages */
si_pdcch_format: 2, /* 2 or 3. Log2 of the number of CCEs for PDCCH
for SI/RA/P-RNTI */
n_symb_cch: 0, /* number of symbols for CCH */
/* PDSCH dedicated config (currently same for all UEs) */
pdsch_dedicated: {
p_a: 0,
p_b: -1, /* -1 means automatic */
},
/* If defined, force for number of CCEs for UE specific PDCCH to
2^pdcch_format. Otherwise it is computed from the reported
CQI. Range: 0 to 3. */
pdcch_format: 2,
/* if defined, force the PDSCH MCS for all UEs. Otherwise it is
computed from the reported CQI */
/* pdsch_mcs: 12, */
prach_config_index: 4, /* subframe 4 every 10 ms */
prach_freq_offset: -1, /* -1 means automatic */
/* PUCCH dedicated config (currently same for all UEs) */
pucch_dedicated: {
n1_pucch_sr_count: 11, /* increase if more UEs are needed */
cqi_pucch_n_rb: 1, /* increase if more UEs are needed */
},
pusch_hopping_offset: -1, /* -1 means automatic */
/* PUSCH dedicated config (currently same for all UEs) */
pusch_dedicated: {
beta_offset_ack_index: 9,
beta_offset_ri_index: 6,
beta_offset_cqi_index: 6,
},
/* MCS for Msg3 (=CCCH RRC Connection Request) */
pusch_msg3_mcs: 0,
/* this CQI value is assumed when none is received from the UE */
initial_cqi: 3,
/* if defined, force the PUSCH MCS for all UEs. Otherwise it is
computed from the last received SRS/PUSCH. */
// pusch_mcs: 18,
dl_256qam: true,
ul_64qam: true,
/* Scheduling request period (ms). Must be >= 40 for HD-FDD */
sr_period: 20,
/* CQI report config */
cqi_period: 40, /* period (ms). Must be >= 32 for HD-FDD */
/* SRS dedicated config. All UEs share these
parameters. srs_config_index and freq_domain_position are
allocated for each UE) */
srs_dedicated: {
srs_bandwidth_config: 2,
srs_subframe_config: 3,
srs_bandwidth: 1,
srs_period: 40, /* period (ms). Must be >= 40 for HD-FDD */
srs_hopping_bandwidth: 0,
},
/* MAC configuration (same for all UEs) */
mac_config: {
ul_max_harq_tx: 5, /* max number of HARQ transmissions for uplink */
dl_max_harq_tx: 5, /* max number of HARQ transmissions for downlink */
},
/* CPU load limitation */
pusch_max_its: 6, /* max number of turbo decoder iterations */
/* dynamic power control */
dpc: true,
dpc_pusch_snr_target: 25,
dpc_pucch_snr_target: 20,
/* RRC/UP ciphering algorithm preference. EEA0 is always the last. */
cipher_algo_pref: [],
/* RRC integrity algorithm preference. EIA0 is always the last. */
integ_algo_pref: [2, 1],
/* (in ms) send RRC connection release after this time of network
inactivity */
inactivity_timer: 10000,
/* DRB configuration */
drb_config: "drb.cfg",
sib16_enable: true,
/* MBMS configuration */
mbms: {
sib13_periodicity: 32, /* in frames */
synchronization_area_id: 10000,
service_area_id_list: [ 1, 2 ],
/* information about the notification of MCCH change are transmitted
in PDCCH with the following configuration */
notification_config: {
notification_repetition_coeff: 2, /* 2 or 4 */
notification_offset: 0, /* 0-10 */
notification_sf_index: 1, /* 1-6 */
},
}, /* mbms */
},
}
/* lteenb configuration file example for NB-IoT (standalone mode)
* version 2021-03-17
* Copyright (C) 2016-2021 Amarisoft
*/
{
/* Log filter: syntax: layer.field=value[,...]
Possible layers are phy, mac, rlc, pdcp, rrc, nas, s1ap, x2ap, gtpu and
all. The 'all' layer is used to address all the layers at the
same time.
field values:
- 'level': the log level of each layer can be set to 'none',
'error', 'info' or 'debug'. Use 'debug' to log all the messages.
- 'max_size': set the maximum size of the hex dump. 0 means no
hex dump. -1 means no limit.
*/
//log_options: "all.level=debug,all.max_size=32",
log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,s1ap.level=debug,s1ap.max_size=1,x2ap.level=debug,x2ap.max_size=1,rrc.level=debug,rrc.max_size=1",
log_filename: "/tmp/enb0.log",
/* Enable remote API and Web interface */
com_addr: "0.0.0.0:9001",
/* RF driver configuration */
include "rf_driver/config.cfg",
mme_list: [
{
/* address of MME for S1AP connection. Must be modified if the MME
runs on a different host. */
mme_addr: "127.0.1.100",
},
],
/* GTP bind address (=address of the ethernet interface connected to
the MME). Must be modified if the MME runs on a different host. */
gtp_addr: "127.0.1.1",
/* high 20 bits of SIB1.cellIdentifier */
enb_id: 0x1A2D1,
/* list of LTE cells (for NB-IoT in-band operation they must be
defined here) */
cell_list: [ ],
/* default NB-IoT cell parameters */
nb_cell_default: {
/* SI info */
si_value_tag: 0, /* increment modulo 32 if SI is modified */
r_sib1: 4, /* number of SIB1 repetitions */
cell_barred: false, /* SIB1.cellBarred-r13 */
intra_freq_reselection: true, /* SIB1.intraFreqReselection-r13 */
q_rx_lev_min: -70, /* SIB1.q-RxLevMin */
q_qual_min: -34, /* SIB1.q-QualMin */
p_max: 10, /* SIB1.p-Max */
si_window_length: 160, /* ms */
si_radio_frame_offset: 0, /* in frames */
si_value_tag_list_enable: true, /* enable per SIB si_value_tag */
sib_sched_list: [
{
filename: "sib2_nb.asn",
si_periodicity: 128,
si_repetition_pattern: 2,
si_value_tag: 0, /* increment modulo 4 if SIB is modified */
},
],
mac_config: {
msg3_max_harq_tx: 5,
ul_max_harq_tx: 5,
dl_max_harq_tx: 5,
ul_max_consecutive_retx: 30, /* disconnect UE if reached */
dl_max_consecutive_retx: 30, /* disconnect UE if reached */
time_alignment_timer_dedicated: 0,
periodic_bsr_timer: 16,
retx_bsr_timer: 64,
logical_channel_sr_prohibit_timer: 0, /* 0 means released */
},
npusch_max_its: 10, /* Max turbo decoder iterations */
/* each coverage level corresponds to a NPRACH configuration */
coverage_levels: [
{
nprach_detect_threshold: 40, /* in dB */
npdcch_ra_n_rep: 1, /* must be <= npdcch-NumRepetitions-RA-r13 */
npdsch_ra_n_rep: 1, /* number of repetition for NPDSCH with RAR */
npdsch_ra_i_tbs: 3, /* I_TBS for NPDSCH with RAR */
/* msg3 configuration */
ul_sc_spacing: 1, /* 0 = 3.75 KHz subcarrier, 1 = 15 KHz subcarrier */
msg3_n_sc: 1, /* 1, 3, 6, 12 max number of subcarriers */
msg3_single_tone_mcs: 2, /* 0-2 */
// msg3_multi_tone_mcs: 1, /* 0-2, only needed for multi-tone */
msg3_n_rep: 1, /* 1-128 number of repetitions for msg3 */
/* Paging */
npdcch_paging_n_rep: 1, /* must be <= npdcch-NumRepetitionPaging-r13 */
npdsch_paging_i_tbs: 4,
npdsch_paging_n_rep: 1,
/* NPDCCH User Search Space */
npdcch_uss_n_rep_max: 8, /* 1-2048 max number of NPDCCH repetition */
npdcch_uss_n_rep: 1, /* use 0 for half RB allocation, otherwise actual
number of NPDCCH repetitions */
npdcch_uss_start_sf: 4, /* 1.5, 2, 4, 8, 16, 32, 48, 64 */
npdcch_uss_offset: 0, /* 0-3 */
/* NPDSCH config */
npdsch_i_tbs: 5, /* 0-12 */
npdsch_n_rep: 1, /* 1-2048 number of NPDSCH repetitions */
/* NPUSCH config */
npusch_n_sc: 12, /* 1, 3, 6, 12 max number of subcarriers */
npusch_single_tone_i_tbs: 4, /* 0-12 */
npusch_multi_tone_i_tbs: 4, /* 0-12 */
npusch_n_rep: 1, /* 1-128 number of NPUSCH repetitions */
},
],
/* RRC/UP ciphering algorithm preference. EEA0 is always the last. */
cipher_algo_pref: [],
/* RRC integrity algorithm preference. EIA0 is always the last. */
integ_algo_pref: [2, 1],
inactivity_timer: 10000,
/* SRB configuration */
srb_config: {
maxRetxThreshold: 32,
enb_maxRetxThreshold: 32,
t_PollRetransmit: 6000,
enb_t_PollRetransmit: 6000,
},
/* DRB configuration */
drb_config: "drb_nb.cfg",
},
/* list of NB-IoT cells */
nb_cell_list: [
{
plmn_list: [
{ plmn: "00101", reserved: false },
],
cell_id: 0x01,
tac: 0x0002, /* SIB1.trackingAreaCode */
dl_earfcn: 6300, /* 806 MHz (Band 20) */
n_antenna_dl: 1,
n_antenna_ul: 1,
// operation_mode: "same_pci",
// base_cell_id: 0x01, /* same_pci,diff_pci: cell in which the
// NB cell is positioned */
// nrs_crs_power_offset: 0, /* in dB (same_pci only) */
operation_mode: "standalone",
rel13_5: true, /* release 13.5 NPBCH/BCCH scrambling changes */
n_id_ncell: 37,
},
], /* nbcell_list */
}
This diff is collapsed.
/* lteenb configuration file version 2021-03-17
* Copyright (C) 2015-2021 Amarisoft
*/
/* PDSCH test mode and DL channel simulator (close to TS 36.141
section 6.1.1.1 (E-TM1.1) or section 6.1.1.2 (E-TM1.2)). Use the
"pdsch_mcs" parameter to force the PDSCH MCS. */
#define TDD 0 // Values: 0 (FDD), 1(TDD)
#define N_RB_DL 50 // Values: 6 (1.4 MHz), 15 (3MHz), 25 (5MHz), 50 (10MHz), 75 (15MHz), 100 (20MHz)
#define N_ANTENNA_DL 1
#define N_ANTENNA_UL 1
#define CHANNEL_SIM 0 // Values: 0 (channel simulator disabled), 1 (channel simulator enabled)
#define SIB_ENABLE true // Value: false (disable SIB transmission), true (enable SIB transmission)
{
/* Log filter: syntax: layer.field=value[,...]
Possible layers are phy, mac, rlc, pdcp, rrc, nas, s1ap, x2ap, gtpu and
all. The 'all' layer is used to address all the layers at the
same time.
field values:
- 'level': the log level of each layer can be set to 'none',
'error', 'info' or 'debug'. Use 'debug' to log all the messages.
- 'max_size': set the maximum size of the hex dump. 0 means no
hex dump. -1 means no limit.
*/
//log_options: "all.level=debug,all.max_size=32",
log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,s1ap.level=debug,s1ap.max_size=1,x2ap.level=debug,x2ap.max_size=1,rrc.level=debug,rrc.max_size=1",
log_filename: "/tmp/enb0.log",
/* Enable remote API and Web interface */
com_addr: "0.0.0.0:9001",
/* RF driver configuration */
include "rf_driver/config.cfg",
rf_ports: [
{
n_antenna_dl: N_ANTENNA_DL,
tx_gain_offset: -12,
#if CHANNEL_SIM == 1 || N_ANTENNA_DL >= 2
/* use the channel simulator to replicate the signal on all the
TX antennas */
channel_dl: {
type: "awgn",
noise_level: -200, /* no noise by default */
},
#endif
}
],
mme_list: [
{
/* address of MME for S1AP connection. Must be modified if the MME
runs on a different host. */
mme_addr: "127.0.1.100",
},
],
/* GTP bind address (=address of the ethernet interface connected to
the MME). Must be modified if the MME runs on a different host. */
gtp_addr: "127.0.1.1",
/* high 20 bits of SIB1.cellIdentifier */
enb_id: 0x1A2D0,
/* list of cells */
cell_list: [
{
/* Broadcasted PLMN identities */
plmn_list: [
"00101",
],
#if TDD == 1
//dl_earfcn: 38050, /* 2600 MHz (band 38) */
dl_earfcn: 40620, /* 2593 MHz (band 41) */
//dl_earfcn: 42590, /* 3500 MHz (band 42) */
#else
//dl_earfcn: 300, /* DL center frequency: 2132 MHz (Band 1) */
//dl_earfcn: 900, /* DL center frequency: 1960 MHz (Band 2) */
//dl_earfcn: 1575, /* DL center frequency: 1842.5 MHz (Band 3) */
//dl_earfcn: 2150, /* DL center frequency: 2130 MHz (Band 4) */
//dl_earfcn: 2525, /* DL center frequency: 881.5 MHz (Band 5) */
dl_earfcn: 3350, /* DL center frequency: 2680 MHz (Band 7) */
//dl_earfcn: 6300, /* 806 MHz (Band 20) */
//dl_earfcn: 38050, /* 2600 MHz (band 38) */
//dl_earfcn: 40620, /* 2593 MHz (band 41) */
//dl_earfcn: 42590, /* 3500 MHz (band 42) */
#endif
n_id_cell: 1,
cell_id: 0x01,
tac: 0x0001,
root_sequence_index: 204, /* PRACH root sequence index */
},
], /* cell_list */
/* default cell parameters */
cell_default: {
n_antenna_dl: 1, /* number of DL antennas : always one for TM1.1 */
n_antenna_ul: N_ANTENNA_UL, /* number of UL antennas */
#if TDD == 1
/* TDD configuration, see TS 36.141 section 6.1.1 */
uldl_config: 3, /* TDD only */
sp_config: 8, /* TDD only */
#endif
n_rb_dl: N_RB_DL, /* Bandwidth: 25: 5 MHz, 50: 10 MHz, 75: 15 MHz, 100: 20 MHz */
cyclic_prefix: "normal",
phich_duration: "normal",
phich_resource: "1", /* ratio of NG */
/* SIB1 */
si_value_tag: 0, /* increment modulo 32 if SI is modified */
cell_barred: false, /* SIB1.cellBarred-r13 */
intra_freq_reselection: true, /* SIB1.intraFreqReselection */
q_rx_lev_min: -70, /* SIB1.q-RxLevMin */
p_max: 10, /* maximum power allowed for the UE (dBm) */
si_window_length: 40, /* ms */
sib_sched_list: [
{
filename: "sib23.asn",
si_periodicity: 16, /* frames */
},
],
#if N_RB_DL == 6
si_coderate: 0.30, /* maximum code rate for SI/RA/P-RNTI messages */
#else
si_coderate: 0.20, /* maximum code rate for SI/RA/P-RNTI messages */
#endif
si_pdcch_format: 2, /* 2 or 3. Log2 of the number of CCEs for PDCCH
for SI/RA/P-RNTI */
/* number of symbols for CCH (0 = auto) */
#if N_RB_DL == 6
#if SIB_ENABLE
n_symb_cch: 4,
#else
n_symb_cch: 2,
#endif
#elif (N_RB_DL == 15 || N_RB_DL == 25) && SIB_ENABLE
n_symb_cch: 2,
#else
n_symb_cch: 1,
#endif
/* PDSCH dedicated config (currently same for all UEs) */
pdsch_dedicated: {
p_a: 0,
p_b: 0, /* -1 means automatic */
},
/* If defined, force for number of CCEs for UE specific PDCCH to
2^pdcch_format. Otherwise it is computed from the reported
CQI. Range: 0 to 3. */
#if N_RB_DL <= 15
pdcch_format: 0,
#else
pdcch_format: 1,
#endif
/* if defined, force the PDSCH MCS for all UEs. Otherwise it is
computed from the reported CQI */
/* pdsch_mcs: 12, */
#if N_RB_DL == 6 && TDD == 1
prach_config_index: 5, /* subframe 2 every 10 ms */
#elif N_RB_DL == 6
prach_config_index: 15, /* subframe 9 every 20 ms */
#else
prach_config_index: 4, /* subframe 4 every 10 ms */
#endif
prach_freq_offset: -1, /* -1 means automatic */
/* PUCCH dedicated config (currently same for all UEs) */
pucch_dedicated: {
n1_pucch_sr_count: 11, /* increase if more UEs are needed */
cqi_pucch_n_rb: 1, /* increase if more UEs are needed */
#if TDD == 1
//tdd_ack_nack_feedback_mode: "bundling", /* TDD only */
tdd_ack_nack_feedback_mode: "multiplexing", /* TDD only */
#endif
},
/* PUSCH dedicated config (currently same for all UEs) */
pusch_dedicated: {
beta_offset_ack_index: 9,
beta_offset_ri_index: 6,
beta_offset_cqi_index: 6,
},
pusch_hopping_offset: -1, /* -1 means automatic */
/* MCS for Msg3 (=CCCH RRC Connection Request) */
pusch_msg3_mcs: 0,
/* this CQI value is assumed when none is received from the UE */
#if N_RB_DL == 6
initial_cqi: 5,
#else
initial_cqi: 3,
#endif
/* if defined, force the PUSCH MCS for all UEs. Otherwise it is
computed from the last received SRS/PUSCH. */
// pusch_mcs: 18,
dl_256qam: false,
ul_64qam: false,
/* Scheduling request period (ms). Must be >= 40 for HD-FDD */
sr_period: 20,
/* CQI report config */
cqi_period: 40, /* period (ms). Must be >= 32 for HD-FDD */
/* transmission mode */
transmission_mode: 1,
/* SRS dedicated config. All UEs share these
parameters. srs_config_index and freq_domain_position are
allocated for each UE) */
srs_dedicated: {
#if N_RB_DL == 6
srs_bandwidth_config: 7,
srs_bandwidth: 1,
#elif N_RB_DL == 15
srs_bandwidth_config: 6,
srs_bandwidth: 1,
#elif N_RB_DL == 25
srs_bandwidth_config: 3,
srs_bandwidth: 1,
#elif N_RB_DL == 50
srs_bandwidth_config: 2,
srs_bandwidth: 2,
#elif N_RB_DL == 75
srs_bandwidth_config: 2,
srs_bandwidth: 2,
#else
srs_bandwidth_config: 2,
srs_bandwidth: 3,
#endif
srs_subframe_config: 3, /* 0 - 15 */
srs_period: 40, /* period (ms). Must be >= 40 for HD-FDD */
srs_hopping_bandwidth: 0,
},
/* MAC configuration (same for all UEs) */
mac_config: {
ul_max_harq_tx: 5, /* max number of HARQ transmissions for uplink */
dl_max_harq_tx: 5, /* max number of HARQ transmissions for downlink */
},
/* CPU load limitation */
pusch_max_its: 6, /* max number of turbo decoder iterations */
/* dynamic power control */
dpc: true,
dpc_pusch_snr_target: 15,
dpc_pucch_snr_target: 10,
/* RRC/UP ciphering algorithm preference. EEA0 is always the last. */
cipher_algo_pref: [],
/* RRC integrity algorithm preference. EIA0 is always the last. */
integ_algo_pref: [2, 1],
/* (in ms) send RRC connection release after this time of network
inactivity */
inactivity_timer: 10000,
/* SRB configuration */
srb_config: [
{
id: 1,
maxRetxThreshold: 32,
t_Reordering: 45,
t_PollRetransmit: 60,
},
{
id: 2 ,
maxRetxThreshold: 32,
t_Reordering: 45,
t_PollRetransmit: 60,
}
],
/* DRB configuration */
drb_config: "drb.cfg",
/* PDSCH test mode */
sib_enable: SIB_ENABLE,
pdcch_fill: true, /* fill the bandwidth with dummy PDCCH */
phich_fill: true, /* fill the bandwidth with dummy PHICH */
power_phich: -3.01,
power_pdcch: 0,
forced_cqi: 15,
test_mode: {
type: "pdsch", /* PDSCH continuous transmission */
pdsch_retx: false, /* if false, don't retransmit the unacknowledged PDSCH */
rnti: 0x100, /* RNTI for PDSCH */
random_data: false, /* if true, send random data instead of zeros */
},
},
}
enb.default.cfg
\ No newline at end of file
/* lteenb configuration file version 2021-03-17
* Copyright (C) 2015-2021 Amarisoft
*/
#define TDD 0 // Values: 0 (FDD), 1(TDD)
#define N_RB_DL 25 // Values: 6 (1.4 MHz), 15 (3MHz), 25 (5MHz), 50 (10MHz), 75 (15MHz), 100 (20MHz)
#define N_ANTENNA_DL 1 // Values: 1 (SISO), 2 (MIMO 2x2)
#define N_ANTENNA_UL 1 // Values: 1, 2
#define CHANNEL_SIM 0 // Values: 0 (channel simulator disabled), 1 (channel simulator enabled)
{
/* Log filter: syntax: layer.field=value[,...]
Possible layers are phy, mac, rlc, pdcp, rrc, nas, s1ap, x2ap, gtpu and
all. The 'all' layer is used to address all the layers at the
same time.
field values:
- 'level': the log level of each layer can be set to 'none',
'error', 'info' or 'debug'. Use 'debug' to log all the messages.
- 'max_size': set the maximum size of the hex dump. 0 means no
hex dump. -1 means no limit.
*/
//log_options: "all.level=debug,all.max_size=32",
log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,s1ap.level=debug,s1ap.max_size=1,x2ap.level=debug,x2ap.max_size=1,rrc.level=debug,rrc.max_size=1",
log_filename: "/tmp/enb0.log",
/* Enable remote API and Web interface */
com_addr: "0.0.0.0:9001",
/* RF driver configuration */
include "rf_driver/config.cfg",
#if CHANNEL_SIM == 1
rf_ports: [
{
channel_dl: {
type: "awgn",
noise_level: -30,
},
}
],
#endif
mme_list: [
{
/* address of MME for S1AP connection. Must be modified if the MME
runs on a different host. */
mme_addr: "127.0.1.100",
},
],
/* GTP bind address (=address of the ethernet interface connected to
the MME). Must be modified if the MME runs on a different host. */
gtp_addr: "127.0.1.1",
/* high 20 bits of SIB1.cellIdentifier */
enb_id: 0x1A2D0,
/* list of cells */
cell_list: [
{
/* Broadcasted PLMN identities */
plmn_list: [
"00101",
],
#if TDD == 1
//dl_earfcn: 38050, /* 2600 MHz (band 38) */
dl_earfcn: 40620, /* 2593 MHz (band 41) */
//dl_earfcn: 42590, /* 3500 MHz (band 42) */
#else
//dl_earfcn: 300, /* DL center frequency: 2132 MHz (Band 1) */
//dl_earfcn: 900, /* DL center frequency: 1960 MHz (Band 2) */
//dl_earfcn: 1575, /* DL center frequency: 1842.5 MHz (Band 3) */
//dl_earfcn: 2150, /* DL center frequency: 2130 MHz (Band 4) */
//dl_earfcn: 2525, /* DL center frequency: 881.5 MHz (Band 5) */
dl_earfcn: 3350, /* DL center frequency: 2680 MHz (Band 7) */
//dl_earfcn: 6300, /* 806 MHz (Band 20) */
//dl_earfcn: 38050, /* 2600 MHz (band 38) */
//dl_earfcn: 40620, /* 2593 MHz (band 41) */
//dl_earfcn: 42590, /* 3500 MHz (band 42) */
#endif
n_id_cell: 1,
cell_id: 0x01,
tac: 0x0001,
root_sequence_index: 204, /* PRACH root sequence index */
},
], /* cell_list */
/* default cell parameters */
cell_default: {
n_antenna_dl: N_ANTENNA_DL, /* number of DL antennas */
n_antenna_ul: N_ANTENNA_UL, /* number of UL antennas */
#if TDD == 1
uldl_config: 2, /* TDD only */
sp_config: 7, /* TDD only */
#endif
n_rb_dl: N_RB_DL, /* Bandwidth: 25: 5 MHz, 50: 10 MHz, 75: 15 MHz, 100: 20 MHz */
cyclic_prefix: "normal",
phich_duration: "normal",
phich_resource: "1", /* ratio of NG */
/* SIB1 */
si_value_tag: 0, /* increment modulo 32 if SI is modified */
cell_barred: false, /* SIB1.cellBarred-r13 */
intra_freq_reselection: true, /* SIB1.intraFreqReselection */
q_rx_lev_min: -70, /* SIB1.q-RxLevMin */
p_max: 10, /* maximum power allowed for the UE (dBm) */
si_window_length: 40, /* ms */
sib_sched_list: [
{
filename: "sib23.asn",
si_periodicity: 16, /* frames */
},
],
#if N_RB_DL == 6
si_coderate: 0.30, /* maximum code rate for SI/RA/P-RNTI messages */
#else
si_coderate: 0.20, /* maximum code rate for SI/RA/P-RNTI messages */
#endif
si_pdcch_format: 2, /* 2 or 3. Log2 of the number of CCEs for PDCCH
for SI/RA/P-RNTI */
n_symb_cch: 0, /* number of symbols for CCH (0 = auto) */
/* PDSCH dedicated config (currently same for all UEs) */
pdsch_dedicated: {
#if N_ANTENNA_DL == 4
p_a: -6,
#elif N_ANTENNA_DL == 2
p_a: -3,
#else
p_a: 0,
#endif
p_b: -1, /* -1 means automatic */
},
/* If defined, force for number of CCEs for UE specific PDCCH to
2^pdcch_format. Otherwise it is computed from the reported
CQI. Range: 0 to 3. */
#if N_RB_DL == 6
pdcch_format: 1,
#else
pdcch_format: 2,
#endif
/* if defined, force the PDSCH MCS for all UEs. Otherwise it is
computed from the reported CQI */
/* pdsch_mcs: 12, */
#if N_RB_DL == 6
prach_config_index: 15, /* subframe 9 every 20 ms */
#else
prach_config_index: 4, /* subframe 4 every 10 ms */
#endif
prach_freq_offset: -1, /* -1 means automatic */
/* PUCCH dedicated config (currently same for all UEs) */
pucch_dedicated: {
n1_pucch_sr_count: 11, /* increase if more UEs are needed */
cqi_pucch_n_rb: 1, /* increase if more UEs are needed */
#if TDD == 1
//tdd_ack_nack_feedback_mode: "bundling", /* TDD only */
tdd_ack_nack_feedback_mode: "multiplexing", /* TDD only */
#endif
},
/* PUSCH dedicated config (currently same for all UEs) */
pusch_dedicated: {
beta_offset_ack_index: 9,
beta_offset_ri_index: 6,
beta_offset_cqi_index: 6,
},
pusch_hopping_offset: -1, /* -1 means automatic */
/* MCS for Msg3 (=CCCH RRC Connection Request) */
pusch_msg3_mcs: 0,
/* this CQI value is assumed when none is received from the UE */
#if N_RB_DL == 6
initial_cqi: 5,
#else
initial_cqi: 3,
#endif
/* if defined, force the PUSCH MCS for all UEs. Otherwise it is
computed from the last received SRS/PUSCH. */
// pusch_mcs: 18,
dl_256qam: true,
ul_64qam: true,
/* Scheduling request period (ms). Must be >= 40 for HD-FDD */
sr_period: 20,
/* CQI report config */
cqi_period: 40, /* period (ms). Must be >= 32 for HD-FDD */
#if N_ANTENNA_DL >= 2
/* RI reporting is done with a period of m_ri * cqi_period.
m_ri = 0 (default) disables RI reporting. */
m_ri: 8,
/* transmission mode */
transmission_mode: 3,
#endif
/* SRS dedicated config. All UEs share these
parameters. srs_config_index and freq_domain_position are
allocated for each UE) */
srs_dedicated: {
#if N_RB_DL == 6
srs_bandwidth_config: 7,
srs_bandwidth: 1,
#elif N_RB_DL == 15
srs_bandwidth_config: 6,
srs_bandwidth: 1,
#elif N_RB_DL == 25
srs_bandwidth_config: 3,
srs_bandwidth: 1,
#elif N_RB_DL == 50
srs_bandwidth_config: 2,
srs_bandwidth: 2,
#elif N_RB_DL == 75
srs_bandwidth_config: 2,
srs_bandwidth: 2,
#else
srs_bandwidth_config: 2,
srs_bandwidth: 3,
#endif
srs_subframe_config: 3, /* 0 - 15 */
srs_period: 40, /* period (ms). Must be >= 40 for HD-FDD */
srs_hopping_bandwidth: 0,
},
/* MAC configuration (same for all UEs) */
mac_config: {
ul_max_harq_tx: 5, /* max number of HARQ transmissions for uplink */
dl_max_harq_tx: 5, /* max number of HARQ transmissions for downlink */
},
/* CPU load limitation */
pusch_max_its: 6, /* max number of turbo decoder iterations */
/* dynamic power control */
dpc: true,
dpc_pusch_snr_target: 25,
dpc_pucch_snr_target: 20,
/* RRC/UP ciphering algorithm preference. EEA0 is always the last. */
cipher_algo_pref: [],
/* RRC integrity algorithm preference. EIA0 is always the last. */
integ_algo_pref: [2, 1],
/* (in ms) send RRC connection release after this time of network
inactivity */
inactivity_timer: 10000,
/* SRB configuration */
srb_config: [
{
id: 1,
maxRetxThreshold: 32,
t_Reordering: 45,
t_PollRetransmit: 60,
},
{
id: 2 ,
maxRetxThreshold: 32,
t_Reordering: 45,
t_PollRetransmit: 60,
}
],
/* DRB configuration */
drb_config: "drb.cfg",
},
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
/* MeasConfig ASN.1 object for RRCConnnection reconfiguration */
{
measObjectToAddModList {
{
measObjectId 1,
measObject measObjectEUTRA: {
carrierFreq 3350, /* automatically patched by eNodeB if set to 0 */
allowedMeasBandwidth mbw25, /* automatically patched by eNodeB if carrierFreq is set to 0 */
presenceAntennaPort1 FALSE,
neighCellConfig '01'B, /* no MBSFN present */
offsetFreq dB0
}
},
{
measObjectId 2,
measObject measObjectEUTRA: {
carrierFreq 3299, /* automatically patched by eNodeB if set to 0 */
allowedMeasBandwidth mbw25, /* automatically patched by eNodeB if carrierFreq is set to 0 */
presenceAntennaPort1 FALSE,
neighCellConfig '01'B, /* no MBSFN present */
offsetFreq dB0
}
}
},
reportConfigToAddModList {
{
reportConfigId 1,
reportConfig reportConfigEUTRA: {
triggerType event: {
eventId eventA3: {
a3-Offset 0,
reportOnLeave FALSE
},
hysteresis 0,
timeToTrigger ms640
},
triggerQuantity rsrp,
reportQuantity both,
maxReportCells 1,
reportInterval ms1024,
reportAmount r1
}
}
},
measIdToAddModList {
{
measId 1,
measObjectId 2,
reportConfigId 1
}
},
quantityConfig {
quantityConfigEUTRA {
}
}
}
/* MeasConfig ASN.1 object for RRCConnnection reconfiguration */
{
measObjectToAddModList {
{
measObjectId 1,
measObject measObjectEUTRA: {
carrierFreq 3299, /* automatically patched by eNodeB if set to 0 */
allowedMeasBandwidth mbw25, /* automatically patched by eNodeB if carrierFreq is set to 0 */
presenceAntennaPort1 FALSE,
neighCellConfig '01'B, /* no MBSFN present */
offsetFreq dB0
}
},
{
measObjectId 2,
measObject measObjectEUTRA: {
carrierFreq 3350, /* automatically patched by eNodeB if set to 0 */
allowedMeasBandwidth mbw25, /* automatically patched by eNodeB if carrierFreq is set to 0 */
presenceAntennaPort1 FALSE,
neighCellConfig '01'B, /* no MBSFN present */
offsetFreq dB0
}
}
},
reportConfigToAddModList {
{
reportConfigId 1,
reportConfig reportConfigEUTRA: {
triggerType event: {
eventId eventA3: {
a3-Offset 0,
reportOnLeave FALSE
},
hysteresis 0,
timeToTrigger ms640
},
triggerQuantity rsrp,
reportQuantity both,
maxReportCells 1,
reportInterval ms1024,
reportAmount r1
}
}
},
measIdToAddModList {
{
measId 1,
measObjectId 2,
reportConfigId 1
}
},
quantityConfig {
quantityConfigEUTRA {
}
}
}
/* MeasConfig ASN.1 object for RRC connnection reconfiguration */
{
measObjectToAddModList {
{
measObjectId 1,
measObject measObjectEUTRA: {
carrierFreq 0, /* automatically patched by eNodeB if set to 0 */
allowedMeasBandwidth mbw6, /* automatically patched by eNodeB if carrierFreq is set to 0 */
presenceAntennaPort1 FALSE,
neighCellConfig '01'B, /* no MBSFN present */
offsetFreq dB0
}
}
},
reportConfigToAddModList {
{
reportConfigId 1,
reportConfig reportConfigEUTRA: {
triggerType periodical: {
purpose reportStrongestCells
},
triggerQuantity rsrp,
reportQuantity both,
maxReportCells 1,
reportInterval ms1024,
reportAmount infinity
}
}
},
measIdToAddModList {
{
measId 1,
measObjectId 1,
reportConfigId 1
}
},
quantityConfig {
quantityConfigEUTRA {
}
}
}
This diff is collapsed.
sdr
\ No newline at end of file
#!/bin/bash
name="$1"
path=$(dirname "$0")
link="rf_driver"
function help
{
cur=$(readlink "$path/$link")
echo "Usage: $(basename $0)"
echo -e " <type>: " $(cd $path && find . -maxdepth 1 -type d | grep "./" | cut -d '/' -f2 | sort | sed -e "s/^${cur}$/\\\\033[32m${cur}\\\\033[0m/")
exit 1
}
if [ "$name" = "" ] ; then
help
fi
if [ ! -e "$path/$name" ] ; then
echo "$name rf driver does not exist"
help
exit 1
fi
rm -f "$path/$link"
ln -s "$name" "$path/$link"
echo "RF frontend $name selected"
This diff is collapsed.
This diff is collapsed.
2cc-mimo.cfg
\ No newline at end of file
1chan.cfg
\ No newline at end of file
1chan.cfg
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment