Skip to content

UE unable to maintain connection following attach #1494

@ianstorrs-cd

Description

@ianstorrs-cd

Issues have been seen with more than one UE device. I started off with no external clock and the default enb.conf and rb.conf and sib.conf and epc.conf, just minor updates for band, channel, plmn id etc. When that was not stable, I tried adding an external 10MHz clock from a R&S CMW-500, and modified the RF section of the enb.conf file accordingly.

Once the UE gets beyond the high ber RACH/ATTACH/DRB setup, it actually works quite well for many hours. But if either side disconnects or restarts, it will again struggle to connect to the cell.

I have attached full enb logs, and pcap traces from various layers.

Symptoms match those of numerous other issues for COTS phones and modems:

==== eNodeB started ===
Type <t> to view trace
Setting manual TX/RX offset to 100 samples
Setting frequency: DL=1935.0 Mhz, UL=1855.0 MHz for cc_idx=0 nof_prb=50
Starting plot for worker_id=0
Creating plot window 'srsENB PCI 1'...
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
RACH:  tti=4651, cc=0, pci=1, preamble=34, offset=12, temp_crnti=0x46
User 0x46 connected
RACH:  tti=9831, cc=0, pci=1, preamble=18, offset=12, temp_crnti=0x47
Disconnecting rnti=0x47.
Disconnecting rnti=0x46.
RACH:  tti=9951, cc=0, pci=1, preamble=43, offset=12, temp_crnti=0x48
User 0x48 connected
RACH:  tti=8971, cc=0, pci=1, preamble=25, offset=12, temp_crnti=0x49
Disconnecting rnti=0x49.
User 0x48 connected
RACH:  tti=91, cc=0, pci=1, preamble=5, offset=12, temp_crnti=0x4a
Disconnecting rnti=0x4a.
User 0x48 connected
RACH:  tti=6731, cc=0, pci=1, preamble=12, offset=12, temp_crnti=0x4b
Disconnecting rnti=0x4b.
User 0x48 connected
RACH:  tti=4491, cc=0, pci=1, preamble=4, offset=12, temp_crnti=0x4c
Disconnecting rnti=0x4c.
User 0x48 connected
RACH:  tti=5851, cc=0, pci=1, preamble=25, offset=12, temp_crnti=0x4d
Disconnecting rnti=0x4d.
User 0x48 connected
Disconnecting rnti=0x48.
RACH:  tti=1661, cc=0, pci=1, preamble=5, offset=12, temp_crnti=0x4e
User 0x4e connected
Disconnecting rnti=0x4e.
RACH:  tti=7651, cc=0, pci=1, preamble=43, offset=12, temp_crnti=0x4f
RACH:  tti=8971, cc=0, pci=1, preamble=45, offset=12, temp_crnti=0x50
Disconnecting rnti=0x50.
RACH:  tti=9121, cc=0, pci=1, preamble=31, offset=12, temp_crnti=0x51
Disconnecting rnti=0x51.
RACH:  tti=9181, cc=0, pci=1, preamble=0, offset=12, temp_crnti=0x52
Disconnecting rnti=0x52.
RACH:  tti=9301, cc=0, pci=1, preamble=19, offset=12, temp_crnti=0x53
Disconnecting rnti=0x53.
RACH:  tti=9381, cc=0, pci=1, preamble=21, offset=12, temp_crnti=0x54
Disconnecting rnti=0x54.
User 0x4f connected
RACH:  tti=6651, cc=0, pci=1, preamble=19, offset=12, temp_crnti=0x55
Disconnecting rnti=0x55.
User 0x4f connected
RACH:  tti=8011, cc=0, pci=1, preamble=28, offset=12, temp_crnti=0x56
Disconnecting rnti=0x56.
User 0x4f connected
Disconnecting rnti=0x4f.
RACH:  tti=7021, cc=0, pci=1, preamble=9, offset=12, temp_crnti=0x57
Disconnecting rnti=0x57.
RACH:  tti=8651, cc=0, pci=1, preamble=8, offset=12, temp_crnti=0x58
User 0x58 connected

User 0x6b connected
lte    1   6b   15   0    2      0    0   25 100% |   1.3    0.1    0    0   2.1k    3    3  50%    0.0

               -----------------DL----------------|-------------------------UL-------------------------
rat  pci rnti  cqi  ri  mcs  brate   ok  nok  (%) | pusch  pucch  phr  mcs  brate   ok  nok  (%)    bsr
lte    1   6b   13   0    2      0    0   43 100% |   n/a   -0.4    0    0      0    0    0   0%    0.0
RACH:  tti=2591, cc=0, pci=1, preamble=22, offset=12, temp_crnti=0x70
Disconnecting rnti=0x70.
User 0x6b connected
lte    1   6b   15   0    1      0    0   17 100% |   1.4    1.0    0    0    304    2    2  50%    0.0
lte    1   6b  n/a   0    0      0    0    0   0% |   n/a    n/a    0    0      0    0    0   0%    0.0
lte    1   6b  n/a   0    0      0    0    0   0% |   n/a    n/a    0    0      0    0    0   0%    0.0
lte    1   6b  n/a   0    0      0    0    0   0% |   n/a    n/a    0    0      0    0    0   0%    0.0
lte    1   6b   15   0    0      0    0    3 100% |   n/a   -0.1    0    0      0    0    0   0%    0.0
lte    1   6b  n/a   0    0      0    0    0   0% |   n/a    n/a    0    0      0    0    0   0%    0.0
RACH:  tti=9231, cc=0, pci=1, preamble=29, offset=12, temp_crnti=0x71
Disconnecting rnti=0x71.
User 0x6b connected
lte    1   6b   15   0    1      0    0   28 100% |   1.2    1.1    0    0   2.1k    3    2  40%    0.0
lte    1   6b   15   0    0      0    0   19 100% |   1.5    0.9   22    0   1.3k    1    1  50%    0.0
RACH:  tti=651, cc=0, pci=1, preamble=40, offset=12, temp_crnti=0x72
Disconnecting rnti=0x72.
User 0x6b connected
lte    1   6b   12   0    0      0    0   18 100% |   1.3    0.4    0    0    304    2    2  50%    0.0
lte    1   6b  n/a   0    0      0    0    0   0% |   n/a    n/a    0    0      0    0    0   0%    0.0

               -----------------DL----------------|-------------------------UL-------------------------
rat  pci rnti  cqi  ri  mcs  brate   ok  nok  (%) | pusch  pucch  phr  mcs  brate   ok  nok  (%)    bsr
lte    1   6b   15   0    0      0    0    6 100% |   n/a    3.1    0    0      0    0    0   0%    0.0
Disconnecting rnti=0x6b.

[enb_max_debug_rach_log.txt](https://github.com/user-attachments/files/21686510/enb_max_debug_rach_log.txt)

[enb_max_debug_rach_log.txt](https://github.com/user-attachments/files/21686519/enb_max_debug_rach_log.txt)

[enb_mac.zip](https://github.com/user-attachments/files/21686560/enb_mac.zip)
[enb_max_debug_rach_log.zip](https://github.com/user-attachments/files/21686558/enb_max_debug_rach_log.zip)
[enb_s1ap.zip](https://github.com/user-attachments/files/21686561/enb_s1ap.zip)
[epc.zip](https://github.com/user-attachments/files/21686559/epc.zip)

Startup and configuration with 10MHz external clock from a R&S CMW-500.


Reading configuration file /home/stevew/.config/srsran/epc.conf...
HSS Initialized.
MME S11 Initialized
MME GTP-C Initialized
MME Initialized. MCC: 0xf310, MNC: 0xf410
SPGW GTP-U Initialized.
SPGW S11 Initialized.
SP-GW Initialized.
Received S1 Setup Request.
S1 Setup Request - eNB Name: srsenb01, eNB id: 0x19b
S1 Setup Request - MCC:310, MNC:410
S1 Setup Request - TAC 7, B-PLMN 0x134001
S1 Setup Request - Paging DRX v128
Sending S1 Setup Response

Starting /usr/local/bin/srsenb with config /home/stevew/.config/srsran/enb_1tx1rx_no_mimo_50_prb.conf
# device_args:        Arguments for the device driver. Options are "auto" or any string.
# device_args specicic to B210
device_args = type=b200,clock=external,num_recv_frames=64,num_send_frames=64,tx_subdev_spec=A:A,rx_subdev_spec=A:A,master_clock_rate=11.52e6
--------------------------------------------------------------------------------------
Active RF plugins: libsrsran_rf_uhd.so libsrsran_rf_soapy.so libsrsran_rf_zmq.so
Inactive RF plugins: 
---  Software Radio Systems LTE eNodeB  ---

Reading configuration file /home/stevew/.config/srsran/enb_1tx1rx_no_mimo_50_prb.conf...

Built in Release mode using commit ec29b0c1f on branch master.

Opening 1 channels in RF device=UHD with args=type=b200,clock=external,num_recv_frames=64,num_send_frames=64,tx_subdev_spec=A:A,rx_subdev_spec=A:A,master_clock_rate=11.52e6
Supported RF device list: UHD soapy zmq file
[INFO] [UHD] linux; GNU C++ version 11.4.0; Boost_107400; UHD_3.15.0.0-74-ge35f66e8
[INFO] [LOGGING] Opening USRP channels=1, args: type=b200,num_recv_frames=64,num_send_frames=64,tx_subdev_spec=A:A,rx_subdev_spec=A:A,master_clock_rate=11.52e6
Fastpath logging disabled at runtime.
[INFO] [UHD RF] RF UHD Generic instance constructed
[INFO] [B200] Detected Device: B210
[INFO] [B200] Operating over USB 3.
[INFO] [B200] Initialize CODEC control...
[INFO] [B200] Initialize Radio control...
[INFO] [B200] Performing register loopback test... 
[INFO] [B200] Register loopback test passed
[INFO] [B200] Performing register loopback test... 
[INFO] [B200] Register loopback test passed
[INFO] [B200] Asking for clock rate 11.520000 MHz... 
[INFO] [B200] Actually got clock rate 11.520000 MHz.
[INFO] [UHD RF] Setting tx_subdev_spec to 'A:A'
[INFO] [UHD RF] Setting rx_subdev_spec to 'A:A'

==== eNodeB started ===
Type <t> to view trace
Setting manual TX/RX offset to 100 samples
Setting frequency: DL=1935.0 Mhz, UL=1855.0 MHz for cc_idx=0 nof_prb=50
Starting plot for worker_id=0
Creating plot window 'srsENB PCI 1'...
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'

enb,conf RF settings for external 10MHz clock and

[rf]
device_name = UHD
device_args = type=b200,clock=external,num_recv_frames=64,num_send_frames=64,tx_subdev_spec=A:A,rx_subdev_spec=A:A,master_clock_rate=11.52e6
tx_gain = 70
rx_gain = 40
srate = 11.52e6
time_adv_nsamples = 100


sudo uhd_find_devices
[INFO] [UHD] linux; GNU C++ version 11.4.0; Boost_107400; UHD_3.15.0.0-74-ge35f66e8
--------------------------------------------------
-- UHD Device 0
--------------------------------------------------
Device Address:
    serial: 346DCB1
    name: MyB210
    product: B210
    type: b200

sudo uhd_usrp_probe
[INFO] [UHD] linux; GNU C++ version 11.4.0; Boost_107400; UHD_3.15.0.0-74-ge35f66e8
[INFO] [B200] Detected Device: B210
[INFO] [B200] Loading FPGA image: /usr/local/share/uhd/images/usrp_b210_fpga.bin...
[INFO] [B200] Operating over USB 3.
[INFO] [B200] Detecting internal GPSDO.... 
[INFO] [GPS] No GPSDO found
[INFO] [B200] Initialize CODEC control...
[INFO] [B200] Initialize Radio control...
[INFO] [B200] Performing register loopback test... 
[INFO] [B200] Register loopback test passed
[INFO] [B200] Performing register loopback test... 
[INFO] [B200] Register loopback test passed
[INFO] [B200] Setting master clock rate selection to 'automatic'.
[INFO] [B200] Asking for clock rate 16.000000 MHz... 
[INFO] [B200] Actually got clock rate 16.000000 MHz.
  _____________________________________________________
 /
|       Device: B-Series Device
|     _____________________________________________________
|    /
|   |       Mboard: B210
|   |   serial: 346DCB1
|   |   name: MyB210
|   |   product: 2
|   |   revision: 4
|   |   FW Version: 8.0
|   |   FPGA Version: 16.0
|   |   
|   |   Time sources:  none, internal, external, gpsdo
|   |   Clock sources: internal, external, gpsdo
|   |   Sensors: ref_locked
|   |     _____________________________________________________
|   |    /
|   |   |       RX DSP: 0
|   |   |   
|   |   |   Freq range: -8.000 to 8.000 MHz
|   |     _____________________________________________________
|   |    /
|   |   |       RX DSP: 1
|   |   |   
|   |   |   Freq range: -8.000 to 8.000 MHz
|   |     _____________________________________________________
|   |    /
|   |   |       RX Dboard: A
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       RX Frontend: A
|   |   |   |   Name: FE-RX2
|   |   |   |   Antennas: TX/RX, RX2
|   |   |   |   Sensors: temp, rssi, lo_locked
|   |   |   |   Freq range: 50.000 to 6000.000 MHz
|   |   |   |   Gain range PGA: 0.0 to 76.0 step 1.0 dB
|   |   |   |   Bandwidth range: 200000.0 to 56000000.0 step 0.0 Hz
|   |   |   |   Connection Type: IQ
|   |   |   |   Uses LO offset: No
|   |   |     _____________________________________________________

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions