First off, I notice that you have 'allow-emergency' enabled. * YOU SHOULD NOT DO THAT UNLESS YOU CAN ROUTE EMERGENCY CALLS * In your test setup you will probably not connect to the local emergency services. So a person having a real-life emergency may try to use your network to call an ambulance. Possibly you will essentially block emergency calls for that person, when the phone keeps trying on your cell. Then YOU could be responsible for someone's death. You should definitely set 'allow-emergency deny' in your osmo-bsc.cfg.
Back to the question...
I would have hinted at the max_power_red config, which I crank up when I want to limit the testing range. But I see you already have it set to zero.
It seems unrelated to maximum TA settings -- even TA=0 reaches about 550m and AFAICT you have no maximum timing advance set.
This is about as much as I know about GSM range -- I'm not one of the RF experts here, and i know next to nothing about the complexities of osmo-trx with UHD. I hope that someone else on this list has more insights for you. It goes along the lines: the software cannot possibly know the properties of the hardware amplifier, so you may need to configure the gain settings. They may be set very low by default to not blow up anything by accident. But I don't know how this works in detail, so don't listen to me =)
Just some ideas:
Are you able to measure the strength of the emitted signals, with a spectroscope, or an SDR? Maybe that gives some hints...
Have you tried the power related settings found in section "1.14 trx" in https://ftp.osmocom.org/docs/osmo-bts/master/osmobts-trx-vty-reference.pdf
Hope you find a solution!
BTW, I notice that you have only TCH/F timeslots configured, and your AMR config allows only 5k9. That's a bit curious, because 12k2 is the best quality that you get from TCH/F, and if you want to be compatible with TCH/H you'd typically pick 7k95 or 7k4 instead. Normally you should just allow all rates and let codec negotiation figure out the AMR rates to use.
~N
On Sun, Jun 30, 2024 at 07:53:51PM -0000, JPichel wrote:
Hi,
I am using osmo-bts-trx with a B205-mini-i, using only CS services. I am currently running the following elements on Ubuntu 22.04, all built from source from the latest version:
- osmo-trx-uhd
 - osmo-bts-trx
 - osmo-bsc
 - osmo-msc
 - osmo-hlr
 - osmo-mgw
 - osmo-stp
 - osmo-sip-connector
 I have been testing the range of the cell, and I can't seem to get more than around 50 meters, even when I transmit at ~21 dBm using a power amplifier at TX. I find this range too low, since I am used to getting 200-300 meters out of the box when running 4G and 5G networks with the same device, so I suspect I am not configuring the network correctly. I've tried looking at every parameter, so far I've only noticed improvements when setting the min-qual-* to the minimum values and ms_max_power to the maximum.
These are my configs for TRX, BTS and BSC:
OsmoTRX:
log stderr ... ! line vty no login ! cpu-sched policy rr 18 trx bind-ip 127.0.0.1 remote-ip 127.0.0.1 egprs disable tx-sps 4 rx-sps 4 clock-ref gpsdo chan 0! ! OsmoBTS () configuration saved from vty !! ! log stderr ... ! line vty no login ! phy 0 instance 0 osmotrx tx-attenuation 0 osmotrx rx-gain 50 osmotrx ip local 127.0.0.1 osmotrx ip remote 127.0.0.1 bts 0 band GSM900 ipa unit-id 1234 0 oml remote-ip 127.0.0.1 gsmtap-remote-host 127.0.0.1 gsmtap-sapi enable-all min-qual-rach -100 min-qual-norm -100 trx 0 phy 0 instance 0 nominal-tx-power 10! osmo-bsc default configuration ! (assumes STP to run on 127.0.0.1 and uses default point codes) ! log stderr logging color 1 logging print category-hex 0 logging print category 1 logging timestamp 0 logging print file basename last logging print level 1 e1_input e1_line 0 driver ipa network network country code 1 mobile network code 1 encryption a5 0 neci 1 paging any use tch 0 handover 0 handover algorithm 1 handover1 window rxlev averaging 10 handover1 window rxqual averaging 1 handover1 window rxlev neighbor averaging 10 handover1 power budget interval 6 handover1 power budget hysteresis 3 handover1 maximum distance 9999 ! T3212 is in units of 6min, so below we set 5 * 6 = 30min timer net T3212 5 mgw 0 remote-ip 127.0.0.1 remote-port 2427 local-port 2727 bts 0 type osmo-bts band GSM900 cell_identity 1234 location_area_code 0x0001 base_station_id_code 63 ms max power 40 !default: cell reselection hysteresis 4 cell reselection hysteresis 14 radio-link-timeout 32 channel allocator mode set-all ascending rxlev access min 0 rach tx integer 9 rach max transmission 7 channel-description attach 1 channel-description bs-pa-mfrms 5 channel-description bs-ag-blks-res 1 early-classmark-sending forbidden ipa unit-id 1234 0 oml ipa stream-id 255 line 0 codec-support fr gprs mode none trx 0 rf_locked 0 ! 945M DL/900M UL arfcn 50 nominal power 10 max_power_red 0 rsl e1 tei 0 timeslot 0 phys_chan_config CCCH+SDCCH4 hopping enabled 0 timeslot 1 phys_chan_config TCH/F hopping enabled 0 timeslot 2 phys_chan_config TCH/F hopping enabled 0 timeslot 3 phys_chan_config TCH/F hopping enabled 0 timeslot 4 phys_chan_config TCH/F hopping enabled 0 timeslot 5 phys_chan_config TCH/F hopping enabled 0 timeslot 6 phys_chan_config TCH/F hopping enabled 0 timeslot 7 phys_chan_config TCH/F hopping enabled 0 ms-power-control mode dyn-bts rxlev-thresh lower 0 upper 63 msc 0 allow-emergency allow amr-config 12_2k forbidden amr-config 10_2k forbidden amr-config 7_95k forbidden amr-config 7_40k forbidden amr-config 6_70k forbidden amr-config 5_90k allowed amr-config 5_15k forbidden amr-config 4_75k forbidden bsc mid-call-timeout 0You might notice I am using the gpsdo as the clock-ref. That's because I've also tried with a B210 with the internal GPSDO, but the results are the same.
Thanks in advance,
Jonathan Pichel