Hi all,
I am working on GPRS/EGPRS on 2G. I am successfully providing packet output over EDGE, but I can reach speeds between 90 B/s and 1.2kB/s. Therefore, I cannot even open google.com or text.npr.org. What is the maximum speed I should get? Could there be a problem with my config settings? I would be very happy if you could review and get back to me.
e1_input
e1_line 0 driver ipa
e1_line 0 port 0
no e1_line 0 keepalive
cs7 instance 0
point-code 1.23.0
asp asp-clnt-msc-0 2905 0 m3ua
remote-ip 127.0.0.1
sctp-role client
sccp-address msc
routing-indicator PC
point-code 0.23.1
network
network country code 901
mobile network code 75
encryption a5 1 3
neci 1
paging any use tch 0
handover 1
handover algorithm 1
handover1 power budget hysteresis 999
handover1 power budget interval 99
bts 0
type sysmobts
band GSM900
cell_identity 0
location_area_code 23
base_station_id_code 63
ms max power 39
cell reselection hysteresis 14
rxlev access min 0
radio-link-timeout 64
penalty time 20
temporary offset 0
cell bar qualify 0
cell reselection offset 31
channel allocator ascending
rach tx integer 14
rach max transmission 1
rach emergency call allowed 1
channel-description attach 1
channel-description bs-pa-mfrms 5
channel-description bs-ag-blks-res 2
no access-control-class-ramping
access-control-class-ramping-step-interval 5
access-control-class-ramping-step-size 1
access-control-class-ramping-chan-load 71 89
early-classmark-sending allowed
early-classmark-sending-3g allowed
ipa unit-id 1800 0
oml ipa stream-id 255 line 0
neighbor-list mode manual-si5
codec-support fr hr efr amr
amr tch-f modes 0 2 4 7
amr tch-f threshold ms 32 32 32
amr tch-f hysteresis ms 8 8 8
amr tch-f threshold bts 32 32 32
amr tch-f hysteresis bts 8 8 8
amr tch-f start-mode auto
amr tch-h modes 0 2 4
amr tch-h threshold ms 32 32
amr tch-h hysteresis ms 8 8
amr tch-h threshold bts 32 32
amr tch-h hysteresis bts 8 8
amr tch-h start-mode auto
gprs mode egprs
gprs routing area 0
gprs network-control-order nc0
gprs cell bvci 2
gprs nsei 101
gprs nsvc 0 nsvci 101
gprs nsvc 0 local udp port 23001
gprs nsvc 0 remote udp port 23000
gprs nsvc 0 remote ip 127.0.0.61
ms-power-control
mode static
trx 0
rf_locked 0
arfcn 100
nominal power 23
max_power_red 0
rsl e1 tei 0
timeslot 0
phys_chan_config CCCH+SDCCH4
hopping enabled 0
timeslot 1
phys_chan_config SDCCH8
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 PDCH
hopping enabled 0
timeslot 5
phys_chan_config PDCH
hopping enabled 0
timeslot 6
phys_chan_config PDCH
hopping enabled 0
timeslot 7
phys_chan_config PDCH
hopping enabled 0
msc 0
codec-list hr1 fr1
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
amr-payload octet-aligned
msc-addr msc
asp-protocol m3ua
lcls-mode disabled
lcls-codec-mismatch forbidden
mgw remote-ip 127.0.0.1
mgw remote-port 2427
bsc
mid-call-timeout 0
cbc
no remote-ip
no listen-port
end```
Which phone are you using?
can you provide osmo-pcu.cfg and osmo-bts.cfg as well?
Can you also provide a pcap file containing gsmtap from osmo-pcu and osmo-bts while registering the MS and doing some initial traffic test?
I don’t know how to get the pcap file you mentioned. If you’re talking about getting it via Wireshark, I really don’t know. I usually use the TEMS application. Do you have any information about this application? I can get a record that might interest you from here.
unfortunately if you cannot provide pcap files taken with tcpdump/wireshark/etc. showing the operation of the system there’s not much I can do to support you. You may want to study that aspect first.
Are you using osmo-bts-trx with osmo-trx? with which SDR? Or which BTS are you using?
It is known that osmo-trx produces quite low C/I values, which with default thresholds may force CS1 in osmo-pcu, which ofc incurs in lower rates.
You may want to debug that and play with the VTY command starting with “cs”/“mcs” in osmo-pcu (specially the “link-quality-ranges” ones).
PS: You may also want to contact sysmocom for commercial support if you are using osmo-pcu on some commercial project.
Excellent question. Make sure you’re using a proper clock source.
Enable codel queue management (as shown in the example configuration posted by others).
Modern smartphones will generate a bunch of background traffic and especially with bad flow control, this will congest your TCP connections.
With a proper 2G EDGE setup, you can reach 10-20 KiByte/s without much trouble.
Hi,
I use OCTBTS 3500 as SDR, OsmoBTS(sysmobts) as BTS. I entered the Osmo-PCU interface and changed the mcs values ​​with VTY commands, but there was not much change.
As a whole system, I used nitb, osmo-bsc, osmo-msc, osmo-bts, osmo-sgsn, osmo-ggsn, osmo-pcu and libosmocore repos. I never used osmo-trx repos. I defined trx in osmo-bsc-config (in the first message). I am working on getting pcap, I will send it as soon as I get it.
You would use osmo-bts-octphy with an OCTBTS 3500 hardware, there’s nothing sysmobts about it. sysmobts is a specific family of hardware sold by sysmocom.
osmo-bts-octphy (i.e. the osmo-bts backend for OCTBTS hardware) is not maintained since 2018, when the commercial engagement between Octasic (hardware+PHY manufacturer of OCTBTS) and sysmocom (maintainer of osmocom stack including osmo-bts-octphy) ceased. We as the maintainers of osmo-bts have not used or tested any osmo-bts version for the past 7 years on that hardware. It may or may not work, lots of things may or may not be broken. Your mileage may vary, and you’re on your own. You may contact octasic about this, if they sold you such as system, but the osmocom community and sysmocom consider this combination unmaintained for many years, as nobody funded the maintenance effort or took care of it.