AMPS, NMT: segfault when starting with large samperate and multiple channels #23

Closed
opened 2024-01-30 18:57:40 +00:00 by shadowcaster3 · 12 comments
Collaborator

AMPS segfaults when samplerate is 5000000 number of channels is 4 or more.

(gdb) run
Starting program: /usr/local/bin/amps --channel 336 -T CC/PC -k 353 -T VC -k 357 -T VC -k 361 -T VC -k 365 -T VC --limesdr --sdr-rx-antenna LNAL --sdr-tx-antenna BAND1 --cc rtp-peer\ 127.0.0.5 --cc rtp-ports\ 5070\ 5090 --osmocc-sock -S sid=8080 --samplerate 5000000 -v date -t 1 -I 1 --sdr-tx-gain 42 --sdr-rx-gain 25
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
options.c 118 options-info : Config file '/root/.osmocom/analog/amps.conf' seems not to exist, using command line options only.
options.c 282 options-info : Command line option '--channel', parameter '336'
options.c 268 options-info : Command line option '-T' ('--channel-type'), parameter 'CC/PC'
amps.c 432 amps-info : Selecting channel 'CC/PC' = combined control & paging channel
options.c 268 options-info : Command line option '-k' ('--kanal'), parameter '353'
options.c 268 options-info : Command line option '-T' ('--channel-type'), parameter 'VC'
amps.c 432 amps-info : Selecting channel 'VC' = voice channel
options.c 268 options-info : Command line option '-k' ('--kanal'), parameter '357'
options.c 268 options-info : Command line option '-T' ('--channel-type'), parameter 'VC'
amps.c 432 amps-info : Selecting channel 'VC' = voice channel
options.c 268 options-info : Command line option '-k' ('--kanal'), parameter '361'
options.c 268 options-info : Command line option '-T' ('--channel-type'), parameter 'VC'
amps.c 432 amps-info : Selecting channel 'VC' = voice channel
options.c 268 options-info : Command line option '-k' ('--kanal'), parameter '365'
options.c 268 options-info : Command line option '-T' ('--channel-type'), parameter 'VC'
amps.c 432 amps-info : Selecting channel 'VC' = voice channel
options.c 284 options-info : Command line option '--limesdr'
options.c 284 options-info : Command line option '--sdr-soapy'
options.c 282 options-info : Command line option '--sdr-device-args', parameter 'driver=lime'
options.c 282 options-info : Command line option '--sdr-rx-antenna', parameter 'LNAL'
options.c 282 options-info : Command line option '--sdr-rx-gain', parameter '30'
options.c 282 options-info : Command line option '--sdr-tx-gain', parameter '30'
options.c 282 options-info : Command line option '--sdr-samplerate', parameter '5000000'
options.c 282 options-info : Command line option '--sdr-bandwidth', parameter '15000000'
options.c 268 options-info : Command line option '-s' ('--samplerate'), parameter '200000'
options.c 282 options-info : Command line option '--sdr-rx-antenna', parameter 'LNAL'
options.c 282 options-info : Command line option '--sdr-tx-antenna', parameter 'BAND1'
options.c 282 options-info : Command line option '--cc', parameter 'rtp-peer 127.0.0.5'
options.c 282 options-info : Command line option '--cc', parameter 'rtp-ports 5070 5090'
options.c 284 options-info : Command line option '--osmocc-sock'
options.c 268 options-info : Command line option '-S' ('--sysinfo'), parameter 'sid=8080'
options.c 282 options-info : Command line option '--samplerate', parameter '5000000'
options.c 268 options-info : Command line option '-v' ('--verbose'), parameter 'date'
2024-01-30 20:51:38.060 options.c 268 options-info : Command line option '-t' ('--tones'), parameter '1'
2024-01-30 20:51:38.060 options.c 268 options-info : Command line option '-I' ('--caller-id'), parameter '1'
2024-01-30 20:51:38.060 options.c 282 options-info : Command line option '--sdr-tx-gain', parameter '42'
2024-01-30 20:51:38.060 options.c 282 options-info : Command line option '--sdr-rx-gain', parameter '25'
2024-01-30 20:51:38.060 jitter.c 142 jitter-info : (336) Reset jitter buffer.
2024-01-30 20:51:38.060 jitter.c 121 jitter-info : (336) Created jitter buffer. (samplerate=8000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true)
2024-01-30 20:51:38.060 jitter.c 142 jitter-info : (336) Reset jitter buffer.
2024-01-30 20:51:38.060 jitter.c 121 jitter-info : (336) Created jitter buffer. (samplerate=5000000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true)
2024-01-30 20:51:38.063 amps.c 684 amps-info : (chan 336) Entering IDLE state, sending Overhead/Filler frames on combined control & paging channel.
2024-01-30 20:51:38.063 dsp.c 938 dsp-info : (chan 336) Change mode to FOCC
2024-01-30 20:51:38.063 amps.c 637 amps-notice : Created channel #336 (System B) of type 'CC/PC' = combined control & paging channel
Base station on channel 336 ready (combined control & paging channel), please tune transmitter to 880.080 MHz and receiver to 835.080 MHz. (-45.000 MHz offset)
2024-01-30 20:51:38.063 amps.c 557 amps-notice : Channel number 353 belongs to a control channel, but your channel type 'voice channel' requires to be on a voice channel number. Some phone may reject this, but all my phones don't.
2024-01-30 20:51:38.063 jitter.c 142 jitter-info : (353) Reset jitter buffer.
2024-01-30 20:51:38.063 jitter.c 121 jitter-info : (353) Created jitter buffer. (samplerate=8000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true)
2024-01-30 20:51:38.063 jitter.c 142 jitter-info : (353) Reset jitter buffer.
2024-01-30 20:51:38.063 jitter.c 121 jitter-info : (353) Created jitter buffer. (samplerate=5000000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true)
2024-01-30 20:51:38.065 amps.c 691 amps-info : (chan 353) Entering IDLE state (sending silence / no RF) on voice channel.
2024-01-30 20:51:38.065 dsp.c 956 dsp-info : (chan 353) Change mode from FVC to OFF
2024-01-30 20:51:38.065 amps.c 637 amps-notice : Created channel #353 (System B) of type 'VC' = voice channel
Base station on channel 353 ready (voice channel), please tune transmitter to 880.590 MHz and receiver to 835.590 MHz. (-45.000 MHz offset)
2024-01-30 20:51:38.065 jitter.c 142 jitter-info : (357) Reset jitter buffer.
2024-01-30 20:51:38.065 jitter.c 121 jitter-info : (357) Created jitter buffer. (samplerate=8000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true)
2024-01-30 20:51:38.065 jitter.c 142 jitter-info : (357) Reset jitter buffer.
2024-01-30 20:51:38.065 jitter.c 121 jitter-info : (357) Created jitter buffer. (samplerate=5000000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true)
2024-01-30 20:51:38.067 amps.c 691 amps-info : (chan 357) Entering IDLE state (sending silence / no RF) on voice channel.
2024-01-30 20:51:38.067 dsp.c 956 dsp-info : (chan 357) Change mode from FVC to OFF
2024-01-30 20:51:38.067 amps.c 637 amps-notice : Created channel #357 (System B) of type 'VC' = voice channel
Base station on channel 357 ready (voice channel), please tune transmitter to 880.710 MHz and receiver to 835.710 MHz. (-45.000 MHz offset)
2024-01-30 20:51:38.067 jitter.c 142 jitter-info : (361) Reset jitter buffer.
2024-01-30 20:51:38.067 jitter.c 121 jitter-info : (361) Created jitter buffer. (samplerate=8000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true)
2024-01-30 20:51:38.067 jitter.c 142 jitter-info : (361) Reset jitter buffer.
2024-01-30 20:51:38.067 jitter.c 121 jitter-info : (361) Created jitter buffer. (samplerate=5000000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true)
2024-01-30 20:51:38.069 amps.c 691 amps-info : (chan 361) Entering IDLE state (sending silence / no RF) on voice channel.
2024-01-30 20:51:38.069 dsp.c 956 dsp-info : (chan 361) Change mode from FVC to OFF
2024-01-30 20:51:38.069 amps.c 637 amps-notice : Created channel #361 (System B) of type 'VC' = voice channel
Base station on channel 361 ready (voice channel), please tune transmitter to 880.830 MHz and receiver to 835.830 MHz. (-45.000 MHz offset)
2024-01-30 20:51:38.069 jitter.c 142 jitter-info : (365) Reset jitter buffer.
2024-01-30 20:51:38.069 jitter.c 121 jitter-info : (365) Created jitter buffer. (samplerate=8000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true)
2024-01-30 20:51:38.069 jitter.c 142 jitter-info : (365) Reset jitter buffer.
2024-01-30 20:51:38.069 jitter.c 121 jitter-info : (365) Created jitter buffer. (samplerate=5000000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true)
2024-01-30 20:51:38.071 amps.c 691 amps-info : (chan 365) Entering IDLE state (sending silence / no RF) on voice channel.
2024-01-30 20:51:38.071 dsp.c 956 dsp-info : (chan 365) Change mode from FVC to OFF
2024-01-30 20:51:38.071 amps.c 637 amps-notice : Created channel #365 (System B) of type 'VC' = voice channel
Base station on channel 365 ready (voice channel), please tune transmitter to 880.950 MHz and receiver to 835.950 MHz. (-45.000 MHz offset)
2024-01-30 20:51:38.071 sdr.c 168 sdr-info : Require bandwidth of each channel is 2 * (8.0 deviation + 10.0 modulation) = 36.0 KHz
2024-01-30 20:51:38.071 sdr.c 345 sdr-info : We move center freqeuency between the two channels in the middle, to prevent them from overlap with DC level.
2024-01-30 20:51:38.071 sdr.c 133 sdr-info : TX Spectrum:
1 2 3 4 5
---------------------------------------+---------------------------------------
2024-01-30 20:51:38.071 sdr.c 135 sdr-info : Frequency 1 = 880.0800 MHz
2024-01-30 20:51:38.071 sdr.c 135 sdr-info : Frequency 2 = 880.5900 MHz
2024-01-30 20:51:38.071 sdr.c 135 sdr-info : Frequency 3 = 880.7100 MHz
2024-01-30 20:51:38.071 sdr.c 135 sdr-info : Frequency 4 = 880.8300 MHz
2024-01-30 20:51:38.071 sdr.c 135 sdr-info : Frequency 5 = 880.9500 MHz
2024-01-30 20:51:38.071 sdr.c 357 sdr-info : Total bandwidth (two side bands) for all TX Frequencies: 1266000 Hz
2024-01-30 20:51:38.071 sdr.c 365 sdr-info : Using center frequency: TX 880.335000 MHz
2024-01-30 20:51:38.071 sdr.c 391 sdr-info : Using gain: TX 42.0 dB
2024-01-30 20:51:38.071 sdr.c 457 sdr-info : We move center freqeuency between the two channels in the middle, to prevent them from overlap with DC level.
2024-01-30 20:51:38.071 sdr.c 133 sdr-info : RX Spectrum:
1 2 3 4 5
---------------------------------------+---------------------------------------
2024-01-30 20:51:38.071 sdr.c 135 sdr-info : Frequency 1 = 835.0800 MHz
2024-01-30 20:51:38.071 sdr.c 135 sdr-info : Frequency 2 = 835.5900 MHz
2024-01-30 20:51:38.071 sdr.c 135 sdr-info : Frequency 3 = 835.7100 MHz
2024-01-30 20:51:38.071 sdr.c 135 sdr-info : Frequency 4 = 835.8300 MHz
2024-01-30 20:51:38.071 sdr.c 135 sdr-info : Frequency 5 = 835.9500 MHz
2024-01-30 20:51:38.071 sdr.c 469 sdr-info : Total bandwidth (two side bands) for all RX Frequencies: 1266000 Hz
2024-01-30 20:51:38.071 sdr.c 477 sdr-info : Using center frequency: RX 835.335000 MHz
2024-01-30 20:51:38.071 sdr.c 492 sdr-info : Using gain: RX 25.0 dB
2024-01-30 20:51:38.071 sdr.c 525 sdr-info : Using local oscillator offseet: -1000000 Hz
2024-01-30 20:51:38.071 soapy.c 109 soapy-info : Using device args "driver=lime"
2024-01-30 20:51:38.071 soapy.c 113 soapy-info : Using stream args ""
2024-01-30 20:51:38.071 soapy.c 117 soapy-info : Using tune args ""
[New Thread 0x7ffff19ff6c0 (LWP 16148)]
[New Thread 0x7ffff11fe6c0 (LWP 16149)]
[New Thread 0x7ffff09fd6c0 (LWP 16150)]
[INFO] Make connection: 'LimeSDR-USB [USB 3.0] 9083401870D36'
[INFO] Reference clock 30.72 MHz
[INFO] Device name: LimeSDR-USB
[INFO] Reference: 30.72 MHz
[INFO] LMS7002M register cache: Disabled
[INFO] RX LPF configured
[INFO] RX LPF configured
[INFO] Filter calibrated. Filter order-4th, filter bandwidth set to 5 MHz.Real pole 1st order filter set to 2.5 MHz. Preemphasis filter not active
[INFO] TX LPF configured
[INFO] Filter calibrated. Filter order-4th, filter bandwidth set to 15 MHz.Real pole 1st order filter set to 2.5 MHz. Preemphasis filter not active
[INFO] TX LPF configured

                                                  |   |
       |                                         /|===|\
     -=O=-                                      / |\ /| \               ~
       |                    AMPS               /  | X |  \      ~
                                              /   |===|   \
                                             /    |   |\    \
                                            /    /|   | \    \       ~
          |--|                            /    /  |===|  \    \
         /|\/|\                          /    /   |   |    \    \
        / |--| \                        /    /    |   |     \    \
       /  |  |\  \                    /    /      |===|       \    \

__ / /|--| \ \ / / | | \
_ / / | | \ \ / / | | \
\ / / | | \ _/ / | | | |
=========================================================================
_
|/|_____ ***___***| X | |MMMM|
_
|/| _/* ** * * * ** * |/ ||MMMM|
_____ _|/| * * * * ** * * * * * * |\ /|_/ ~ ~ ~ ~
/ ~ ~_I__I
_
__***| X |/ ~ ~ _________
\ _ _ _ _ _ _ _ _ _ _ |// ~ /
_ _ _ _ _ _ _ _/~ ~ ____/ ~ ~ ~
_ _ _ _ _ _ _ /
/ ~ ____________
/~_
___ _ _ _ _ / ~ ~ / ~ ~ ~
~ ~ ~ _
________________/ / ~ ~ ~ ~ ~

[INFO] Tx calibration finished
[INFO] Rx calibration finished
[New Thread 0x7fffebfff6c0 (LWP 16151)]
[New Thread 0x7fffeb7fe6c0 (LWP 16152)]
[New Thread 0x7fffeaffd6c0 (LWP 16153)]
[New Thread 0x7fffea7fc6c0 (LWP 16154)]

Thread 1 "amps" received signal SIGSEGV, Segmentation fault.
process_sender_audio (sender=sender@entry=0x555555802640, quit=quit@entry=0x55555574f3a0 , buffer_size=buffer_size@entry=250000) at sender.c:351
351 samples[i] = buff[i];
(gdb) bt
#0 process_sender_audio (sender=sender@entry=0x555555802640, quit=quit@entry=0x55555574f3a0 , buffer_size=buffer_size@entry=250000) at sender.c:351
#1 0x000055555558ecee in main_mobile_loop (name=name@entry=0x5555555c6151 "amps", quit=0x55555574f3a0 , myhandler=myhandler@entry=0x0, station_id=) at main_mobile.c:731
#2 0x000055555557cf1e in main_amps_tacs (name=, argc=, argv=) at main_common.c:418
#3 0x00007ffff7baf1ca in __libc_start_call_main (main=main@entry=0x55555557b990

, argc=argc@entry=45, argv=argv@entry=0x7fffffffea58) at ../sysdeps/nptl/libc_start_call_main.h:58
#4 0x00007ffff7baf285 in __libc_start_main_impl (main=0x55555557b990 , argc=45, argv=0x7fffffffea58, init=, fini=, rtld_fini=, stack_end=0x7fffffffea48) at ../csu/libc-start.c:360
#5 0x000055555557b9f1 in _start ()
(gdb)

AMPS segfaults when samplerate is 5000000 number of channels is 4 or more. (gdb) run Starting program: /usr/local/bin/amps --channel 336 -T CC/PC -k 353 -T VC -k 357 -T VC -k 361 -T VC -k 365 -T VC --limesdr --sdr-rx-antenna LNAL --sdr-tx-antenna BAND1 --cc rtp-peer\ 127.0.0.5 --cc rtp-ports\ 5070\ 5090 --osmocc-sock -S sid=8080 --samplerate 5000000 -v date -t 1 -I 1 --sdr-tx-gain 42 --sdr-rx-gain 25 [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". options.c 118 options-info : Config file '/root/.osmocom/analog/amps.conf' seems not to exist, using command line options only. options.c 282 options-info : Command line option '--channel', parameter '336' options.c 268 options-info : Command line option '-T' ('--channel-type'), parameter 'CC/PC' amps.c 432 amps-info : Selecting channel 'CC/PC' = combined control & paging channel options.c 268 options-info : Command line option '-k' ('--kanal'), parameter '353' options.c 268 options-info : Command line option '-T' ('--channel-type'), parameter 'VC' amps.c 432 amps-info : Selecting channel 'VC' = voice channel options.c 268 options-info : Command line option '-k' ('--kanal'), parameter '357' options.c 268 options-info : Command line option '-T' ('--channel-type'), parameter 'VC' amps.c 432 amps-info : Selecting channel 'VC' = voice channel options.c 268 options-info : Command line option '-k' ('--kanal'), parameter '361' options.c 268 options-info : Command line option '-T' ('--channel-type'), parameter 'VC' amps.c 432 amps-info : Selecting channel 'VC' = voice channel options.c 268 options-info : Command line option '-k' ('--kanal'), parameter '365' options.c 268 options-info : Command line option '-T' ('--channel-type'), parameter 'VC' amps.c 432 amps-info : Selecting channel 'VC' = voice channel options.c 284 options-info : Command line option '--limesdr' options.c 284 options-info : Command line option '--sdr-soapy' options.c 282 options-info : Command line option '--sdr-device-args', parameter 'driver=lime' options.c 282 options-info : Command line option '--sdr-rx-antenna', parameter 'LNAL' options.c 282 options-info : Command line option '--sdr-rx-gain', parameter '30' options.c 282 options-info : Command line option '--sdr-tx-gain', parameter '30' options.c 282 options-info : Command line option '--sdr-samplerate', parameter '5000000' options.c 282 options-info : Command line option '--sdr-bandwidth', parameter '15000000' options.c 268 options-info : Command line option '-s' ('--samplerate'), parameter '200000' options.c 282 options-info : Command line option '--sdr-rx-antenna', parameter 'LNAL' options.c 282 options-info : Command line option '--sdr-tx-antenna', parameter 'BAND1' options.c 282 options-info : Command line option '--cc', parameter 'rtp-peer 127.0.0.5' options.c 282 options-info : Command line option '--cc', parameter 'rtp-ports 5070 5090' options.c 284 options-info : Command line option '--osmocc-sock' options.c 268 options-info : Command line option '-S' ('--sysinfo'), parameter 'sid=8080' options.c 282 options-info : Command line option '--samplerate', parameter '5000000' options.c 268 options-info : Command line option '-v' ('--verbose'), parameter 'date' 2024-01-30 20:51:38.060 options.c 268 options-info : Command line option '-t' ('--tones'), parameter '1' 2024-01-30 20:51:38.060 options.c 268 options-info : Command line option '-I' ('--caller-id'), parameter '1' 2024-01-30 20:51:38.060 options.c 282 options-info : Command line option '--sdr-tx-gain', parameter '42' 2024-01-30 20:51:38.060 options.c 282 options-info : Command line option '--sdr-rx-gain', parameter '25' 2024-01-30 20:51:38.060 jitter.c 142 jitter-info : (336) Reset jitter buffer. 2024-01-30 20:51:38.060 jitter.c 121 jitter-info : (336) Created jitter buffer. (samplerate=8000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true) 2024-01-30 20:51:38.060 jitter.c 142 jitter-info : (336) Reset jitter buffer. 2024-01-30 20:51:38.060 jitter.c 121 jitter-info : (336) Created jitter buffer. (samplerate=5000000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true) 2024-01-30 20:51:38.063 amps.c 684 amps-info : (chan 336) Entering IDLE state, sending Overhead/Filler frames on combined control & paging channel. 2024-01-30 20:51:38.063 dsp.c 938 dsp-info : (chan 336) Change mode to FOCC 2024-01-30 20:51:38.063 amps.c 637 amps-notice : Created channel #336 (System B) of type 'CC/PC' = combined control & paging channel Base station on channel 336 ready (combined control & paging channel), please tune transmitter to 880.080 MHz and receiver to 835.080 MHz. (-45.000 MHz offset) 2024-01-30 20:51:38.063 amps.c 557 amps-notice : Channel number 353 belongs to a control channel, but your channel type 'voice channel' requires to be on a voice channel number. Some phone may reject this, but all my phones don't. 2024-01-30 20:51:38.063 jitter.c 142 jitter-info : (353) Reset jitter buffer. 2024-01-30 20:51:38.063 jitter.c 121 jitter-info : (353) Created jitter buffer. (samplerate=8000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true) 2024-01-30 20:51:38.063 jitter.c 142 jitter-info : (353) Reset jitter buffer. 2024-01-30 20:51:38.063 jitter.c 121 jitter-info : (353) Created jitter buffer. (samplerate=5000000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true) 2024-01-30 20:51:38.065 amps.c 691 amps-info : (chan 353) Entering IDLE state (sending silence / no RF) on voice channel. 2024-01-30 20:51:38.065 dsp.c 956 dsp-info : (chan 353) Change mode from FVC to OFF 2024-01-30 20:51:38.065 amps.c 637 amps-notice : Created channel #353 (System B) of type 'VC' = voice channel Base station on channel 353 ready (voice channel), please tune transmitter to 880.590 MHz and receiver to 835.590 MHz. (-45.000 MHz offset) 2024-01-30 20:51:38.065 jitter.c 142 jitter-info : (357) Reset jitter buffer. 2024-01-30 20:51:38.065 jitter.c 121 jitter-info : (357) Created jitter buffer. (samplerate=8000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true) 2024-01-30 20:51:38.065 jitter.c 142 jitter-info : (357) Reset jitter buffer. 2024-01-30 20:51:38.065 jitter.c 121 jitter-info : (357) Created jitter buffer. (samplerate=5000000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true) 2024-01-30 20:51:38.067 amps.c 691 amps-info : (chan 357) Entering IDLE state (sending silence / no RF) on voice channel. 2024-01-30 20:51:38.067 dsp.c 956 dsp-info : (chan 357) Change mode from FVC to OFF 2024-01-30 20:51:38.067 amps.c 637 amps-notice : Created channel #357 (System B) of type 'VC' = voice channel Base station on channel 357 ready (voice channel), please tune transmitter to 880.710 MHz and receiver to 835.710 MHz. (-45.000 MHz offset) 2024-01-30 20:51:38.067 jitter.c 142 jitter-info : (361) Reset jitter buffer. 2024-01-30 20:51:38.067 jitter.c 121 jitter-info : (361) Created jitter buffer. (samplerate=8000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true) 2024-01-30 20:51:38.067 jitter.c 142 jitter-info : (361) Reset jitter buffer. 2024-01-30 20:51:38.067 jitter.c 121 jitter-info : (361) Created jitter buffer. (samplerate=5000000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true) 2024-01-30 20:51:38.069 amps.c 691 amps-info : (chan 361) Entering IDLE state (sending silence / no RF) on voice channel. 2024-01-30 20:51:38.069 dsp.c 956 dsp-info : (chan 361) Change mode from FVC to OFF 2024-01-30 20:51:38.069 amps.c 637 amps-notice : Created channel #361 (System B) of type 'VC' = voice channel Base station on channel 361 ready (voice channel), please tune transmitter to 880.830 MHz and receiver to 835.830 MHz. (-45.000 MHz offset) 2024-01-30 20:51:38.069 jitter.c 142 jitter-info : (365) Reset jitter buffer. 2024-01-30 20:51:38.069 jitter.c 121 jitter-info : (365) Created jitter buffer. (samplerate=8000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true) 2024-01-30 20:51:38.069 jitter.c 142 jitter-info : (365) Reset jitter buffer. 2024-01-30 20:51:38.069 jitter.c 121 jitter-info : (365) Created jitter buffer. (samplerate=5000000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true) 2024-01-30 20:51:38.071 amps.c 691 amps-info : (chan 365) Entering IDLE state (sending silence / no RF) on voice channel. 2024-01-30 20:51:38.071 dsp.c 956 dsp-info : (chan 365) Change mode from FVC to OFF 2024-01-30 20:51:38.071 amps.c 637 amps-notice : Created channel #365 (System B) of type 'VC' = voice channel Base station on channel 365 ready (voice channel), please tune transmitter to 880.950 MHz and receiver to 835.950 MHz. (-45.000 MHz offset) 2024-01-30 20:51:38.071 sdr.c 168 sdr-info : Require bandwidth of each channel is 2 * (8.0 deviation + 10.0 modulation) = 36.0 KHz 2024-01-30 20:51:38.071 sdr.c 345 sdr-info : We move center freqeuency between the two channels in the middle, to prevent them from overlap with DC level. 2024-01-30 20:51:38.071 sdr.c 133 sdr-info : TX Spectrum: 1 2 3 4 5 ---------------------------------------+--------------------------------------- 2024-01-30 20:51:38.071 sdr.c 135 sdr-info : Frequency 1 = 880.0800 MHz 2024-01-30 20:51:38.071 sdr.c 135 sdr-info : Frequency 2 = 880.5900 MHz 2024-01-30 20:51:38.071 sdr.c 135 sdr-info : Frequency 3 = 880.7100 MHz 2024-01-30 20:51:38.071 sdr.c 135 sdr-info : Frequency 4 = 880.8300 MHz 2024-01-30 20:51:38.071 sdr.c 135 sdr-info : Frequency 5 = 880.9500 MHz 2024-01-30 20:51:38.071 sdr.c 357 sdr-info : Total bandwidth (two side bands) for all TX Frequencies: 1266000 Hz 2024-01-30 20:51:38.071 sdr.c 365 sdr-info : Using center frequency: TX 880.335000 MHz 2024-01-30 20:51:38.071 sdr.c 391 sdr-info : Using gain: TX 42.0 dB 2024-01-30 20:51:38.071 sdr.c 457 sdr-info : We move center freqeuency between the two channels in the middle, to prevent them from overlap with DC level. 2024-01-30 20:51:38.071 sdr.c 133 sdr-info : RX Spectrum: 1 2 3 4 5 ---------------------------------------+--------------------------------------- 2024-01-30 20:51:38.071 sdr.c 135 sdr-info : Frequency 1 = 835.0800 MHz 2024-01-30 20:51:38.071 sdr.c 135 sdr-info : Frequency 2 = 835.5900 MHz 2024-01-30 20:51:38.071 sdr.c 135 sdr-info : Frequency 3 = 835.7100 MHz 2024-01-30 20:51:38.071 sdr.c 135 sdr-info : Frequency 4 = 835.8300 MHz 2024-01-30 20:51:38.071 sdr.c 135 sdr-info : Frequency 5 = 835.9500 MHz 2024-01-30 20:51:38.071 sdr.c 469 sdr-info : Total bandwidth (two side bands) for all RX Frequencies: 1266000 Hz 2024-01-30 20:51:38.071 sdr.c 477 sdr-info : Using center frequency: RX 835.335000 MHz 2024-01-30 20:51:38.071 sdr.c 492 sdr-info : Using gain: RX 25.0 dB 2024-01-30 20:51:38.071 sdr.c 525 sdr-info : Using local oscillator offseet: -1000000 Hz 2024-01-30 20:51:38.071 soapy.c 109 soapy-info : Using device args "driver=lime" 2024-01-30 20:51:38.071 soapy.c 113 soapy-info : Using stream args "" 2024-01-30 20:51:38.071 soapy.c 117 soapy-info : Using tune args "" [New Thread 0x7ffff19ff6c0 (LWP 16148)] [New Thread 0x7ffff11fe6c0 (LWP 16149)] [New Thread 0x7ffff09fd6c0 (LWP 16150)] [INFO] Make connection: 'LimeSDR-USB [USB 3.0] 9083401870D36' [INFO] Reference clock 30.72 MHz [INFO] Device name: LimeSDR-USB [INFO] Reference: 30.72 MHz [INFO] LMS7002M register cache: Disabled [INFO] RX LPF configured [INFO] RX LPF configured [INFO] Filter calibrated. Filter order-4th, filter bandwidth set to 5 MHz.Real pole 1st order filter set to 2.5 MHz. Preemphasis filter not active [INFO] TX LPF configured [INFO] Filter calibrated. Filter order-4th, filter bandwidth set to 15 MHz.Real pole 1st order filter set to 2.5 MHz. Preemphasis filter not active [INFO] TX LPF configured | | | /|===|\ -=O=- / |\ /| \ ~ | AMPS / | X | \ ~ / |===| \ / | |\ \ / /| | \ \ ~ |--| / / |===| \ \ /|\/|\ / / | | \ \ / |--| \ / / | | \ \ / | |\ \ / / |===| \ \ __ / /|--| \ \ / / | | \ \ \_ / / | | \ \ / / | | \ \ \ / / | | \ \______/ / | | \| \| \========================================================================= \_______|/\|______ _***_*__**_***___**_*_| X | |MMMM| \__ |\/| \______/* ** * * * ** * |/ \|______________|MMMM| _____ \_|/\| * * * * ** * * * * * * |\ /|*____/ ~ ~ ~ ~ / ~ ~\_______I__I_________*______*_*___*__*___*__*_*_| X |/ ~ ~ _________ _______\ _ _ _ _ _ _ _ _ _ _ |/_\/ ~ ______/ _ _ _ _ _ _ _ _/~ ~ ____/ ~ ~ ~ _ _ _ _ _ _ _ /_____/ ~ ____________ __/~\______________ _ _ _ _ _/ ~ ~ __________/ ~ ~ ~ ~ ~ ~ \____________________________/ / ~ ~ ~ ~ ~ [INFO] Tx calibration finished [INFO] Rx calibration finished [New Thread 0x7fffebfff6c0 (LWP 16151)] [New Thread 0x7fffeb7fe6c0 (LWP 16152)] [New Thread 0x7fffeaffd6c0 (LWP 16153)] [New Thread 0x7fffea7fc6c0 (LWP 16154)] Thread 1 "amps" received signal SIGSEGV, Segmentation fault. process_sender_audio (sender=sender@entry=0x555555802640, quit=quit@entry=0x55555574f3a0 <quit>, buffer_size=buffer_size@entry=250000) at sender.c:351 351 samples[i] = buff[i]; (gdb) bt #0 process_sender_audio (sender=sender@entry=0x555555802640, quit=quit@entry=0x55555574f3a0 <quit>, buffer_size=buffer_size@entry=250000) at sender.c:351 #1 0x000055555558ecee in main_mobile_loop (name=name@entry=0x5555555c6151 "amps", quit=0x55555574f3a0 <quit>, myhandler=myhandler@entry=0x0, station_id=<optimized out>) at main_mobile.c:731 #2 0x000055555557cf1e in main_amps_tacs (name=<optimized out>, argc=<optimized out>, argv=<optimized out>) at main_common.c:418 #3 0x00007ffff7baf1ca in __libc_start_call_main (main=main@entry=0x55555557b990 <main>, argc=argc@entry=45, argv=argv@entry=0x7fffffffea58) at ../sysdeps/nptl/libc_start_call_main.h:58 #4 0x00007ffff7baf285 in __libc_start_main_impl (main=0x55555557b990 <main>, argc=45, argv=0x7fffffffea58, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffea48) at ../csu/libc-start.c:360 #5 0x000055555557b9f1 in _start () (gdb)
shadowcaster3 changed title from AMPS: segfault when starting and more than 3 channels are defined to AMPS, NMT: segfault when starting and more than 3 channels are defined 2024-01-30 19:00:13 +00:00
Author
Collaborator

nmt also segfaults:

more that --samplerate option, the less channels I am able to define. With samplerate of 5M nmt crashes with 3 channels defined.

(gdb) run
Starting program: /usr/local/bin/nmt -k 50 -k 52 -k 54 --limesdr --sdr-rx-antenna LNAL --sdr-tx-antenna BAND1 --cc rtp-peer\ 127.0.0.5 --cc rtp-ports\ 5060\ 5070 --osmocc-sock -U 1 -I 1 -S 000501 -Y FI,1 -A 1 --samplerate 5000000 --sdr-tx-gain 42 --sdr-rx-gain 25 -v date
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
options.c 118 options-info : Config file '/root/.osmocom/analog/nmt.conf' seems not to exist, using command line options only.
options.c 268 options-info : Command line option '-k' ('--kanal'), parameter '50'
options.c 268 options-info : Command line option '-k' ('--kanal'), parameter '52'
options.c 268 options-info : Command line option '-k' ('--kanal'), parameter '54'
options.c 284 options-info : Command line option '--limesdr'
options.c 284 options-info : Command line option '--sdr-soapy'
options.c 282 options-info : Command line option '--sdr-device-args', parameter 'driver=lime'
options.c 282 options-info : Command line option '--sdr-rx-antenna', parameter 'LNAL'
options.c 282 options-info : Command line option '--sdr-rx-gain', parameter '30'
options.c 282 options-info : Command line option '--sdr-tx-gain', parameter '30'
options.c 282 options-info : Command line option '--sdr-samplerate', parameter '5000000'
options.c 282 options-info : Command line option '--sdr-bandwidth', parameter '15000000'
options.c 268 options-info : Command line option '-s' ('--samplerate'), parameter '200000'
options.c 282 options-info : Command line option '--sdr-rx-antenna', parameter 'LNAL'
options.c 282 options-info : Command line option '--sdr-tx-antenna', parameter 'BAND1'
options.c 282 options-info : Command line option '--cc', parameter 'rtp-peer 127.0.0.5'
options.c 282 options-info : Command line option '--cc', parameter 'rtp-ports 5060 5070'
options.c 284 options-info : Command line option '--osmocc-sock'
options.c 268 options-info : Command line option '-U' ('--clock'), parameter '1'
options.c 268 options-info : Command line option '-I' ('--caller-id'), parameter '1'
options.c 268 options-info : Command line option '-S' ('--smsc-number'), parameter '000501'
options.c 268 options-info : Command line option '-Y' ('--traffic-area'), parameter 'FI,1'
options.c 268 options-info : Command line option '-A' ('--area-number'), parameter '1'
options.c 282 options-info : Command line option '--samplerate', parameter '5000000'
options.c 282 options-info : Command line option '--sdr-tx-gain', parameter '42'
options.c 282 options-info : Command line option '--sdr-rx-gain', parameter '25'
options.c 268 options-info : Command line option '-v' ('--verbose'), parameter 'date'
2024-01-30 21:04:46.076 jitter.c 142 jitter-info : (50) Reset jitter buffer.
2024-01-30 21:04:46.076 jitter.c 121 jitter-info : (50) Created jitter buffer. (samplerate=8000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true)
2024-01-30 21:04:46.076 jitter.c 142 jitter-info : (50) Reset jitter buffer.
2024-01-30 21:04:46.076 jitter.c 121 jitter-info : (50) Created jitter buffer. (samplerate=5000000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true)
2024-01-30 21:04:46.077 nmt.c 447 nmt-info : (chan 50) Entering IDLE state, sending idle frames on calling channel (calls to mobile).
2024-01-30 21:04:46.077 nmt.c 350 nmt-notice : Created channel #50 of type 'CC' = calling channel (calls to mobile)
2024-01-30 21:04:46.077 nmt.c 352 nmt-notice : -> Using country 'Finland'
2024-01-30 21:04:46.077 nmt.c 353 nmt-notice : -> Using traffic area 8,1 and area no 1
2024-01-30 21:04:46.077 nmt.c 355 nmt-notice : -> Using supervisory signal 1
base station on channel 50 ready, please tune transmitter to 464.2250 MHz and receiver to 454.2250 MHz. (-10.000 MHz offset)
2024-01-30 21:04:46.077 jitter.c 142 jitter-info : (52) Reset jitter buffer.
2024-01-30 21:04:46.077 jitter.c 121 jitter-info : (52) Created jitter buffer. (samplerate=8000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true)
2024-01-30 21:04:46.077 jitter.c 142 jitter-info : (52) Reset jitter buffer.
2024-01-30 21:04:46.077 jitter.c 121 jitter-info : (52) Created jitter buffer. (samplerate=5000000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true)
2024-01-30 21:04:46.079 nmt.c 447 nmt-info : (chan 52) Entering IDLE state, sending idle frames on traffic channel (calls from mobile).
2024-01-30 21:04:46.079 nmt.c 350 nmt-notice : Created channel #52 of type 'TC' = traffic channel (calls from mobile)
2024-01-30 21:04:46.079 nmt.c 352 nmt-notice : -> Using country 'Finland'
2024-01-30 21:04:46.079 nmt.c 353 nmt-notice : -> Using traffic area 8,1 and area no 1
2024-01-30 21:04:46.079 nmt.c 355 nmt-notice : -> Using supervisory signal 2
base station on channel 52 ready, please tune transmitter to 464.2750 MHz and receiver to 454.2750 MHz. (-10.000 MHz offset)
2024-01-30 21:04:46.079 jitter.c 142 jitter-info : (54) Reset jitter buffer.
2024-01-30 21:04:46.079 jitter.c 121 jitter-info : (54) Created jitter buffer. (samplerate=8000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true)
2024-01-30 21:04:46.079 jitter.c 142 jitter-info : (54) Reset jitter buffer.
2024-01-30 21:04:46.079 jitter.c 121 jitter-info : (54) Created jitter buffer. (samplerate=5000000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true)
2024-01-30 21:04:46.080 nmt.c 447 nmt-info : (chan 54) Entering IDLE state, sending idle frames on traffic channel (calls from mobile).
2024-01-30 21:04:46.080 nmt.c 350 nmt-notice : Created channel #54 of type 'TC' = traffic channel (calls from mobile)
2024-01-30 21:04:46.080 nmt.c 352 nmt-notice : -> Using country 'Finland'
2024-01-30 21:04:46.080 nmt.c 353 nmt-notice : -> Using traffic area 8,1 and area no 1
2024-01-30 21:04:46.080 nmt.c 355 nmt-notice : -> Using supervisory signal 3
base station on channel 54 ready, please tune transmitter to 464.3250 MHz and receiver to 454.3250 MHz. (-10.000 MHz offset)
2024-01-30 21:04:46.080 sdr.c 168 sdr-info : Require bandwidth of each channel is 2 * (4.7 deviation + 4.1 modulation) = 17.5 KHz
2024-01-30 21:04:46.080 sdr.c 345 sdr-info : We move center freqeuency between the two channels in the middle, to prevent them from overlap with DC level.
2024-01-30 21:04:46.080 sdr.c 133 sdr-info : TX Spectrum:
23
---------------------------------------+---------------------------------------
2024-01-30 21:04:46.080 sdr.c 135 sdr-info : Frequency 1 = 464.2250 MHz
2024-01-30 21:04:46.080 sdr.c 135 sdr-info : Frequency 2 = 464.2750 MHz
2024-01-30 21:04:46.080 sdr.c 135 sdr-info : Frequency 3 = 464.3250 MHz
2024-01-30 21:04:46.080 sdr.c 357 sdr-info : Total bandwidth (two side bands) for all TX Frequencies: 167510 Hz
2024-01-30 21:04:46.080 sdr.c 365 sdr-info : Using center frequency: TX 464.250000 MHz
2024-01-30 21:04:46.080 sdr.c 391 sdr-info : Using gain: TX 42.0 dB
2024-01-30 21:04:46.080 sdr.c 457 sdr-info : We move center freqeuency between the two channels in the middle, to prevent them from overlap with DC level.
2024-01-30 21:04:46.080 sdr.c 133 sdr-info : RX Spectrum:
23
---------------------------------------+---------------------------------------
2024-01-30 21:04:46.080 sdr.c 135 sdr-info : Frequency 1 = 454.2250 MHz
2024-01-30 21:04:46.080 sdr.c 135 sdr-info : Frequency 2 = 454.2750 MHz
2024-01-30 21:04:46.080 sdr.c 135 sdr-info : Frequency 3 = 454.3250 MHz
2024-01-30 21:04:46.080 sdr.c 469 sdr-info : Total bandwidth (two side bands) for all RX Frequencies: 167510 Hz
2024-01-30 21:04:46.080 sdr.c 477 sdr-info : Using center frequency: RX 454.250000 MHz
2024-01-30 21:04:46.080 sdr.c 492 sdr-info : Using gain: RX 25.0 dB
2024-01-30 21:04:46.080 sdr.c 525 sdr-info : Using local oscillator offseet: -1000000 Hz
2024-01-30 21:04:46.080 soapy.c 109 soapy-info : Using device args "driver=lime"
2024-01-30 21:04:46.080 soapy.c 113 soapy-info : Using stream args ""
2024-01-30 21:04:46.080 soapy.c 117 soapy-info : Using tune args ""
[New Thread 0x7ffff1bff6c0 (LWP 16381)]
[New Thread 0x7ffff13fe6c0 (LWP 16382)]
[New Thread 0x7ffff0bfd6c0 (LWP 16383)]
[INFO] Make connection: 'LimeSDR-USB [USB 3.0] 9083401870D36'
[INFO] Reference clock 30.72 MHz
[INFO] Device name: LimeSDR-USB
[INFO] Reference: 30.72 MHz
[INFO] LMS7002M register cache: Disabled
[INFO] RX LPF configured
[INFO] RX LPF configured
[INFO] Filter calibrated. Filter order-4th, filter bandwidth set to 5 MHz.Real pole 1st order filter set to 2.5 MHz. Preemphasis filter not active
[INFO] TX LPF configured
[INFO] Filter calibrated. Filter order-4th, filter bandwidth set to 15 MHz.Real pole 1st order filter set to 2.5 MHz. Preemphasis filter not active
[INFO] TX LPF configured

   ______                               ##############
  /      \___   __                      ##############
 /  Hej!   __\ /  )                     ##############
 \        /   /  /       NMT            ##############
  \______/   /  /                       ##############
          __/__/_               ######################
         //    \ \              ######################
        /.\____///              ##############
       /_/__/..//               ##############
      //    \.//                ##############
     /.\____///         ####|#|###############
    /_/__/..//          ####|#|###############
   //    \.//           ####|#|#######
   \\____///            ##############
   /  /__/              ####|#|#######
  /  /          ############|#|#######
 /  /           ############|#|#######
(__/            ##############
                ##############
                ##############
                ##############
                ##############

[INFO] Tx calibration finished
[INFO] Rx calibration finished
[New Thread 0x7fffebfff6c0 (LWP 16384)]
[New Thread 0x7fffeb7fe6c0 (LWP 16385)]
[New Thread 0x7fffeaffd6c0 (LWP 16386)]
[New Thread 0x7fffea7fc6c0 (LWP 16387)]
2024-01-30 21:04:49.060 endpoint.c 964 cc-info : Handle message CC-ATTACH-REQ at state IDLE (callref 2)
2024-01-30 21:04:49.060 message.c 520 cc-info : IE_CALLING_INTERFACE name='sip'
2024-01-30 21:04:49.060 message.c 592 cc-info : IE_SOCKET_ADDRESS address='127.0.0.1:4201'
2024-01-30 21:04:49.060 endpoint.c 391 cc-info : Remote peer with socket address '127.0.0.1' and port '4201' and interface 'sip' attached to us.
2024-01-30 21:04:49.060 endpoint.c 395 cc-info : Changing message to CC-ATTACH-CNF.
2024-01-30 21:04:49.060 endpoint.c 964 cc-info : Handle message CC-ATTACH-RSP at state ATTACH-SENT (callref 1)
2024-01-30 21:04:49.060 message.c 520 cc-info : IE_CALLING_INTERFACE name='nmt'
2024-01-30 21:04:49.060 message.c 592 cc-info : IE_SOCKET_ADDRESS address='127.0.0.1:4200'
2024-01-30 21:04:49.060 endpoint.c 309 cc-info : Attached to remote peer "127.0.0.1:4201".

Thread 1 "nmt" received signal SIGSEGV, Segmentation fault.
0x0000555555586554 in fsk_demod_receive (fsk=fsk@entry=0x7ffff7b5ebf8, sample=sample@entry=0x7fffffa45990, length=length@entry=89760) at fsk.c:384
384 fm_demodulate_real(&fsk->demod, frequency, length, sample, I, Q);
(gdb) bt
#0 0x0000555555586554 in fsk_demod_receive (fsk=fsk@entry=0x7ffff7b5ebf8, sample=sample@entry=0x7fffffa45990, length=length@entry=89760) at fsk.c:384
#1 0x0000555555563a72 in sender_receive (sender=sender@entry=0x7ffff7a5b010, samples=0x7fffffa45990, length=length@entry=89760, rf_level_db=) at dsp.c:349
#2 0x000055555556c02d in process_sender_audio (sender=sender@entry=0x7ffff7a5b010, quit=quit@entry=0x55555574d220 , buffer_size=buffer_size@entry=250000) at sender.c:465
#3 0x00005555555714ae in main_mobile_loop (name=name@entry=0x5555555967ad "nmt", quit=0x55555574d220 , myhandler=myhandler@entry=0x555555565ff0 , station_id=, station_id@entry=0x555555594141 "")
at main_mobile.c:731
#4 0x000055555555d1ad in main (argc=, argv=) at main.c:422
(gdb)

nmt also segfaults: more that --samplerate option, the less channels I am able to define. With samplerate of 5M nmt crashes with 3 channels defined. (gdb) run Starting program: /usr/local/bin/nmt -k 50 -k 52 -k 54 --limesdr --sdr-rx-antenna LNAL --sdr-tx-antenna BAND1 --cc rtp-peer\ 127.0.0.5 --cc rtp-ports\ 5060\ 5070 --osmocc-sock -U 1 -I 1 -S 000501 -Y FI,1 -A 1 --samplerate 5000000 --sdr-tx-gain 42 --sdr-rx-gain 25 -v date [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". options.c 118 options-info : Config file '/root/.osmocom/analog/nmt.conf' seems not to exist, using command line options only. options.c 268 options-info : Command line option '-k' ('--kanal'), parameter '50' options.c 268 options-info : Command line option '-k' ('--kanal'), parameter '52' options.c 268 options-info : Command line option '-k' ('--kanal'), parameter '54' options.c 284 options-info : Command line option '--limesdr' options.c 284 options-info : Command line option '--sdr-soapy' options.c 282 options-info : Command line option '--sdr-device-args', parameter 'driver=lime' options.c 282 options-info : Command line option '--sdr-rx-antenna', parameter 'LNAL' options.c 282 options-info : Command line option '--sdr-rx-gain', parameter '30' options.c 282 options-info : Command line option '--sdr-tx-gain', parameter '30' options.c 282 options-info : Command line option '--sdr-samplerate', parameter '5000000' options.c 282 options-info : Command line option '--sdr-bandwidth', parameter '15000000' options.c 268 options-info : Command line option '-s' ('--samplerate'), parameter '200000' options.c 282 options-info : Command line option '--sdr-rx-antenna', parameter 'LNAL' options.c 282 options-info : Command line option '--sdr-tx-antenna', parameter 'BAND1' options.c 282 options-info : Command line option '--cc', parameter 'rtp-peer 127.0.0.5' options.c 282 options-info : Command line option '--cc', parameter 'rtp-ports 5060 5070' options.c 284 options-info : Command line option '--osmocc-sock' options.c 268 options-info : Command line option '-U' ('--clock'), parameter '1' options.c 268 options-info : Command line option '-I' ('--caller-id'), parameter '1' options.c 268 options-info : Command line option '-S' ('--smsc-number'), parameter '000501' options.c 268 options-info : Command line option '-Y' ('--traffic-area'), parameter 'FI,1' options.c 268 options-info : Command line option '-A' ('--area-number'), parameter '1' options.c 282 options-info : Command line option '--samplerate', parameter '5000000' options.c 282 options-info : Command line option '--sdr-tx-gain', parameter '42' options.c 282 options-info : Command line option '--sdr-rx-gain', parameter '25' options.c 268 options-info : Command line option '-v' ('--verbose'), parameter 'date' 2024-01-30 21:04:46.076 jitter.c 142 jitter-info : (50) Reset jitter buffer. 2024-01-30 21:04:46.076 jitter.c 121 jitter-info : (50) Created jitter buffer. (samplerate=8000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true) 2024-01-30 21:04:46.076 jitter.c 142 jitter-info : (50) Reset jitter buffer. 2024-01-30 21:04:46.076 jitter.c 121 jitter-info : (50) Created jitter buffer. (samplerate=5000000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true) 2024-01-30 21:04:46.077 nmt.c 447 nmt-info : (chan 50) Entering IDLE state, sending idle frames on calling channel (calls to mobile). 2024-01-30 21:04:46.077 nmt.c 350 nmt-notice : Created channel #50 of type 'CC' = calling channel (calls to mobile) 2024-01-30 21:04:46.077 nmt.c 352 nmt-notice : -> Using country 'Finland' 2024-01-30 21:04:46.077 nmt.c 353 nmt-notice : -> Using traffic area 8,1 and area no 1 2024-01-30 21:04:46.077 nmt.c 355 nmt-notice : -> Using supervisory signal 1 base station on channel 50 ready, please tune transmitter to 464.2250 MHz and receiver to 454.2250 MHz. (-10.000 MHz offset) 2024-01-30 21:04:46.077 jitter.c 142 jitter-info : (52) Reset jitter buffer. 2024-01-30 21:04:46.077 jitter.c 121 jitter-info : (52) Created jitter buffer. (samplerate=8000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true) 2024-01-30 21:04:46.077 jitter.c 142 jitter-info : (52) Reset jitter buffer. 2024-01-30 21:04:46.077 jitter.c 121 jitter-info : (52) Created jitter buffer. (samplerate=5000000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true) 2024-01-30 21:04:46.079 nmt.c 447 nmt-info : (chan 52) Entering IDLE state, sending idle frames on traffic channel (calls from mobile). 2024-01-30 21:04:46.079 nmt.c 350 nmt-notice : Created channel #52 of type 'TC' = traffic channel (calls from mobile) 2024-01-30 21:04:46.079 nmt.c 352 nmt-notice : -> Using country 'Finland' 2024-01-30 21:04:46.079 nmt.c 353 nmt-notice : -> Using traffic area 8,1 and area no 1 2024-01-30 21:04:46.079 nmt.c 355 nmt-notice : -> Using supervisory signal 2 base station on channel 52 ready, please tune transmitter to 464.2750 MHz and receiver to 454.2750 MHz. (-10.000 MHz offset) 2024-01-30 21:04:46.079 jitter.c 142 jitter-info : (54) Reset jitter buffer. 2024-01-30 21:04:46.079 jitter.c 121 jitter-info : (54) Created jitter buffer. (samplerate=8000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true) 2024-01-30 21:04:46.079 jitter.c 142 jitter-info : (54) Reset jitter buffer. 2024-01-30 21:04:46.079 jitter.c 121 jitter-info : (54) Created jitter buffer. (samplerate=5000000, target_window=50ms, max_window=1000ms, flag:latency=true flag:repeat=true) 2024-01-30 21:04:46.080 nmt.c 447 nmt-info : (chan 54) Entering IDLE state, sending idle frames on traffic channel (calls from mobile). 2024-01-30 21:04:46.080 nmt.c 350 nmt-notice : Created channel #54 of type 'TC' = traffic channel (calls from mobile) 2024-01-30 21:04:46.080 nmt.c 352 nmt-notice : -> Using country 'Finland' 2024-01-30 21:04:46.080 nmt.c 353 nmt-notice : -> Using traffic area 8,1 and area no 1 2024-01-30 21:04:46.080 nmt.c 355 nmt-notice : -> Using supervisory signal 3 base station on channel 54 ready, please tune transmitter to 464.3250 MHz and receiver to 454.3250 MHz. (-10.000 MHz offset) 2024-01-30 21:04:46.080 sdr.c 168 sdr-info : Require bandwidth of each channel is 2 * (4.7 deviation + 4.1 modulation) = 17.5 KHz 2024-01-30 21:04:46.080 sdr.c 345 sdr-info : We move center freqeuency between the two channels in the middle, to prevent them from overlap with DC level. 2024-01-30 21:04:46.080 sdr.c 133 sdr-info : TX Spectrum: 23 ---------------------------------------+--------------------------------------- 2024-01-30 21:04:46.080 sdr.c 135 sdr-info : Frequency 1 = 464.2250 MHz 2024-01-30 21:04:46.080 sdr.c 135 sdr-info : Frequency 2 = 464.2750 MHz 2024-01-30 21:04:46.080 sdr.c 135 sdr-info : Frequency 3 = 464.3250 MHz 2024-01-30 21:04:46.080 sdr.c 357 sdr-info : Total bandwidth (two side bands) for all TX Frequencies: 167510 Hz 2024-01-30 21:04:46.080 sdr.c 365 sdr-info : Using center frequency: TX 464.250000 MHz 2024-01-30 21:04:46.080 sdr.c 391 sdr-info : Using gain: TX 42.0 dB 2024-01-30 21:04:46.080 sdr.c 457 sdr-info : We move center freqeuency between the two channels in the middle, to prevent them from overlap with DC level. 2024-01-30 21:04:46.080 sdr.c 133 sdr-info : RX Spectrum: 23 ---------------------------------------+--------------------------------------- 2024-01-30 21:04:46.080 sdr.c 135 sdr-info : Frequency 1 = 454.2250 MHz 2024-01-30 21:04:46.080 sdr.c 135 sdr-info : Frequency 2 = 454.2750 MHz 2024-01-30 21:04:46.080 sdr.c 135 sdr-info : Frequency 3 = 454.3250 MHz 2024-01-30 21:04:46.080 sdr.c 469 sdr-info : Total bandwidth (two side bands) for all RX Frequencies: 167510 Hz 2024-01-30 21:04:46.080 sdr.c 477 sdr-info : Using center frequency: RX 454.250000 MHz 2024-01-30 21:04:46.080 sdr.c 492 sdr-info : Using gain: RX 25.0 dB 2024-01-30 21:04:46.080 sdr.c 525 sdr-info : Using local oscillator offseet: -1000000 Hz 2024-01-30 21:04:46.080 soapy.c 109 soapy-info : Using device args "driver=lime" 2024-01-30 21:04:46.080 soapy.c 113 soapy-info : Using stream args "" 2024-01-30 21:04:46.080 soapy.c 117 soapy-info : Using tune args "" [New Thread 0x7ffff1bff6c0 (LWP 16381)] [New Thread 0x7ffff13fe6c0 (LWP 16382)] [New Thread 0x7ffff0bfd6c0 (LWP 16383)] [INFO] Make connection: 'LimeSDR-USB [USB 3.0] 9083401870D36' [INFO] Reference clock 30.72 MHz [INFO] Device name: LimeSDR-USB [INFO] Reference: 30.72 MHz [INFO] LMS7002M register cache: Disabled [INFO] RX LPF configured [INFO] RX LPF configured [INFO] Filter calibrated. Filter order-4th, filter bandwidth set to 5 MHz.Real pole 1st order filter set to 2.5 MHz. Preemphasis filter not active [INFO] TX LPF configured [INFO] Filter calibrated. Filter order-4th, filter bandwidth set to 15 MHz.Real pole 1st order filter set to 2.5 MHz. Preemphasis filter not active [INFO] TX LPF configured ______ ############## / \___ __ ############## / Hej! __\ / ) ############## \ / / / NMT ############## \______/ / / ############## __/__/_ ###################### // \ \ ###################### /.\____/// ############## /_/__/..// ############## // \.// ############## /.\____/// ####|#|############### /_/__/..// ####|#|############### // \.// ####|#|####### \\____/// ############## / /__/ ####|#|####### / / ############|#|####### / / ############|#|####### (__/ ############## ############## ############## ############## ############## [INFO] Tx calibration finished [INFO] Rx calibration finished [New Thread 0x7fffebfff6c0 (LWP 16384)] [New Thread 0x7fffeb7fe6c0 (LWP 16385)] [New Thread 0x7fffeaffd6c0 (LWP 16386)] [New Thread 0x7fffea7fc6c0 (LWP 16387)] 2024-01-30 21:04:49.060 endpoint.c 964 cc-info : Handle message CC-ATTACH-REQ at state IDLE (callref 2) 2024-01-30 21:04:49.060 message.c 520 cc-info : IE_CALLING_INTERFACE name='sip' 2024-01-30 21:04:49.060 message.c 592 cc-info : IE_SOCKET_ADDRESS address='127.0.0.1:4201' 2024-01-30 21:04:49.060 endpoint.c 391 cc-info : Remote peer with socket address '127.0.0.1' and port '4201' and interface 'sip' attached to us. 2024-01-30 21:04:49.060 endpoint.c 395 cc-info : Changing message to CC-ATTACH-CNF. 2024-01-30 21:04:49.060 endpoint.c 964 cc-info : Handle message CC-ATTACH-RSP at state ATTACH-SENT (callref 1) 2024-01-30 21:04:49.060 message.c 520 cc-info : IE_CALLING_INTERFACE name='nmt' 2024-01-30 21:04:49.060 message.c 592 cc-info : IE_SOCKET_ADDRESS address='127.0.0.1:4200' 2024-01-30 21:04:49.060 endpoint.c 309 cc-info : Attached to remote peer "127.0.0.1:4201". Thread 1 "nmt" received signal SIGSEGV, Segmentation fault. 0x0000555555586554 in fsk_demod_receive (fsk=fsk@entry=0x7ffff7b5ebf8, sample=sample@entry=0x7fffffa45990, length=length@entry=89760) at fsk.c:384 384 fm_demodulate_real(&fsk->demod, frequency, length, sample, I, Q); (gdb) bt #0 0x0000555555586554 in fsk_demod_receive (fsk=fsk@entry=0x7ffff7b5ebf8, sample=sample@entry=0x7fffffa45990, length=length@entry=89760) at fsk.c:384 #1 0x0000555555563a72 in sender_receive (sender=sender@entry=0x7ffff7a5b010, samples=0x7fffffa45990, length=length@entry=89760, rf_level_db=<optimized out>) at dsp.c:349 #2 0x000055555556c02d in process_sender_audio (sender=sender@entry=0x7ffff7a5b010, quit=quit@entry=0x55555574d220 <quit>, buffer_size=buffer_size@entry=250000) at sender.c:465 #3 0x00005555555714ae in main_mobile_loop (name=name@entry=0x5555555967ad "nmt", quit=0x55555574d220 <quit>, myhandler=myhandler@entry=0x555555565ff0 <myhandler>, station_id=<optimized out>, station_id@entry=0x555555594141 "") at main_mobile.c:731 #4 0x000055555555d1ad in main (argc=<optimized out>, argv=<optimized out>) at main.c:422 (gdb)
shadowcaster3 changed title from AMPS, NMT: segfault when starting and more than 3 channels are defined to AMPS, NMT: segfault when starting with large samperate and multiple channels 2024-01-30 19:06:29 +00:00
Collaborator

The stack overflows, because the sample rate is 5 megasamples per second. Please try the attached fix.

Also I doubt that your machine can handle 3 or 4 channels with 5 megasamples per second. You can user lower sample rate, so that all of your channels fit in it. The limesdr gets 5 megasamples by default, using built-in sample rate conversion. You can alter the SDR's sample rate it with --sdr-samplerate, but the default works well with lime.

For NMT you can use --samplerate 500000, which is enough for 4 channels.

Try to use lower sample rate for AMPS too. If you bring the channel closer together, 500000 samples per second could be enough.

The stack overflows, because the sample rate is 5 megasamples per second. Please try the attached fix. Also I doubt that your machine can handle 3 or 4 channels with 5 megasamples per second. You can user lower sample rate, so that all of your channels fit in it. The limesdr gets 5 megasamples by default, using built-in sample rate conversion. You can alter the SDR's sample rate it with --sdr-samplerate, but the default works well with lime. For NMT you can use --samplerate 500000, which is enough for 4 channels. Try to use lower sample rate for AMPS too. If you bring the channel closer together, 500000 samples per second could be enough.
1.2 KiB
Author
Collaborator

I was trying to push my sdr setup to the limit and then look into what can be optimized with, for example, with compiler flags in order to get more performance and less power consumption during normal 1-2 channel operation. Maybe I got wrong understanding what samplerate and sdr-samplerate flags are, would appreciate some explanation. To my understanding samplerate applies to whole sdr where signal is downconverted and then sampled at ADC at samplerate to achieve some bandwidth. For limesdr single channel max samplerate is 30.72MSPS, so it should not be a big deal to sample at 5MSPS with relatively powerful hardware - which core i9 11 gen that I have should be capable of doing. Probably :)
Againg, that is if I understand osmocom-analog settings correctly.

I was trying to push my sdr setup to the limit and then look into what can be optimized with, for example, with compiler flags in order to get more performance and less power consumption during normal 1-2 channel operation. Maybe I got wrong understanding what samplerate and sdr-samplerate flags are, would appreciate some explanation. To my understanding samplerate applies to whole sdr where signal is downconverted and then sampled at ADC at samplerate to achieve some bandwidth. For limesdr single channel max samplerate is 30.72MSPS, so it should not be a big deal to sample at 5MSPS with relatively powerful hardware - which core i9 11 gen that I have should be capable of doing. Probably :) Againg, that is if I understand osmocom-analog settings correctly.
Author
Collaborator

nmt now crashes with 5 channels in another part of the code

Reading symbols from /usr/local/bin/nmt...
(gdb) run
Starting program: /usr/local/bin/nmt -k 50 -k 52 -k 54 -k 56 -k 58 --limesdr --sdr-rx-antenna LNAL --sdr-tx-antenna BAND1 --cc rtp-peer\ 127.0.0.5 --cc rtp-ports\ 5060\ 5070 --osmocc-sock -U 1 -I 1 -S 000501 -Y FI,1 -A 1 --samplerate 5000000 --sdr-tx-gain 42 --sdr-rx-gain 25 -v date

---- cut here ---
[INFO] Tx calibration finished
[INFO] Rx calibration finished
[New Thread 0x7fffeb7fe6c0 (LWP 5104)]
[New Thread 0x7fffeaffd6c0 (LWP 5105)]
[New Thread 0x7fffea7fc6c0 (LWP 5106)]
[New Thread 0x7fffe9ffb6c0 (LWP 5107)]

Thread 1 "nmt" received signal SIGSEGV, Segmentation fault.
process_sender_audio (sender=sender@entry=0x7ffff7a5b010, quit=quit@entry=0x55555574d220 , buffer_size=buffer_size@entry=250000) at sender.c:351
351 samples[i] = buff[i];
(gdb) bt
#0 process_sender_audio (sender=sender@entry=0x7ffff7a5b010, quit=quit@entry=0x55555574d220 , buffer_size=buffer_size@entry=250000) at sender.c:351
#1 0x00005555555714ae in main_mobile_loop (name=name@entry=0x5555555967ad "nmt", quit=0x55555574d220 , myhandler=myhandler@entry=0x555555565ff0 , station_id=, station_id@entry=0x555555594141 "")
at main_mobile.c:731
#2 0x000055555555d1ad in main (argc=, argv=) at main.c:422
(gdb)

nmt now crashes with 5 channels in another part of the code Reading symbols from /usr/local/bin/nmt... (gdb) run Starting program: /usr/local/bin/nmt -k 50 -k 52 -k 54 -k 56 -k 58 --limesdr --sdr-rx-antenna LNAL --sdr-tx-antenna BAND1 --cc rtp-peer\ 127.0.0.5 --cc rtp-ports\ 5060\ 5070 --osmocc-sock -U 1 -I 1 -S 000501 -Y FI,1 -A 1 --samplerate 5000000 --sdr-tx-gain 42 --sdr-rx-gain 25 -v date ---- cut here --- [INFO] Tx calibration finished [INFO] Rx calibration finished [New Thread 0x7fffeb7fe6c0 (LWP 5104)] [New Thread 0x7fffeaffd6c0 (LWP 5105)] [New Thread 0x7fffea7fc6c0 (LWP 5106)] [New Thread 0x7fffe9ffb6c0 (LWP 5107)] Thread 1 "nmt" received signal SIGSEGV, Segmentation fault. process_sender_audio (sender=sender@entry=0x7ffff7a5b010, quit=quit@entry=0x55555574d220 <quit>, buffer_size=buffer_size@entry=250000) at sender.c:351 351 samples[i] = buff[i]; (gdb) bt #0 process_sender_audio (sender=sender@entry=0x7ffff7a5b010, quit=quit@entry=0x55555574d220 <quit>, buffer_size=buffer_size@entry=250000) at sender.c:351 #1 0x00005555555714ae in main_mobile_loop (name=name@entry=0x5555555967ad "nmt", quit=0x55555574d220 <quit>, myhandler=myhandler@entry=0x555555565ff0 <myhandler>, station_id=<optimized out>, station_id@entry=0x555555594141 "") at main_mobile.c:731 #2 0x000055555555d1ad in main (argc=<optimized out>, argv=<optimized out>) at main.c:422 (gdb)
Author
Collaborator

amps still crashes like it was before (no changes)

Reading symbols from amps...
(gdb) run
Starting program: /usr/local/bin/amps --channel 336 -T CC/PC -k 353 -T VC -k 357 -T VC -k 361 -T VC -k 365 -T VC --limesdr --sdr-rx-antenna LNAL --sdr-tx-antenna BAND1 --cc rtp-peer\ 127.0.0.5 --cc rtp-ports\ 5070\ 5090 --osmocc-sock -S sid=8080 --samplerate 5000000 -v date -t 1 -I 1 --sdr-tx-gain 42 --sdr-rx-gain 25
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
options.c 118 options-info : Config file '/root/.osmocom/analog/amps.conf' seems not to exist, using command line options only.

--- cut here ---

[INFO] Tx calibration finished
[INFO] Rx calibration finished
[New Thread 0x7fffebfff6c0 (LWP 5132)]
[New Thread 0x7fffeb7fe6c0 (LWP 5133)]
[New Thread 0x7fffeaffd6c0 (LWP 5134)]
[New Thread 0x7fffea7fc6c0 (LWP 5135)]

Thread 1 "amps" received signal SIGSEGV, Segmentation fault.
process_sender_audio (sender=sender@entry=0x555555802640, quit=quit@entry=0x55555574f3a0 , buffer_size=buffer_size@entry=250000) at sender.c:351
351 samples[i] = buff[i];
(gdb) bt
#0 process_sender_audio (sender=sender@entry=0x555555802640, quit=quit@entry=0x55555574f3a0 , buffer_size=buffer_size@entry=250000) at sender.c:351
#1 0x000055555558ecee in main_mobile_loop (name=name@entry=0x5555555c6151 "amps", quit=0x55555574f3a0 , myhandler=myhandler@entry=0x0, station_id=) at main_mobile.c:731
#2 0x000055555557cf1e in main_amps_tacs (name=, argc=, argv=) at main_common.c:418
#3 0x00007ffff7baf1ca in __libc_start_call_main (main=main@entry=0x55555557b990

, argc=argc@entry=45, argv=argv@entry=0x7fffffffea38) at ../sysdeps/nptl/libc_start_call_main.h:58
#4 0x00007ffff7baf285 in __libc_start_main_impl (main=0x55555557b990 , argc=45, argv=0x7fffffffea38, init=, fini=, rtld_fini=, stack_end=0x7fffffffea28) at ../csu/libc-start.c:360
#5 0x000055555557b9f1 in _start ()

amps still crashes like it was before (no changes) Reading symbols from amps... (gdb) run Starting program: /usr/local/bin/amps --channel 336 -T CC/PC -k 353 -T VC -k 357 -T VC -k 361 -T VC -k 365 -T VC --limesdr --sdr-rx-antenna LNAL --sdr-tx-antenna BAND1 --cc rtp-peer\ 127.0.0.5 --cc rtp-ports\ 5070\ 5090 --osmocc-sock -S sid=8080 --samplerate 5000000 -v date -t 1 -I 1 --sdr-tx-gain 42 --sdr-rx-gain 25 [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". options.c 118 options-info : Config file '/root/.osmocom/analog/amps.conf' seems not to exist, using command line options only. --- cut here --- [INFO] Tx calibration finished [INFO] Rx calibration finished [New Thread 0x7fffebfff6c0 (LWP 5132)] [New Thread 0x7fffeb7fe6c0 (LWP 5133)] [New Thread 0x7fffeaffd6c0 (LWP 5134)] [New Thread 0x7fffea7fc6c0 (LWP 5135)] Thread 1 "amps" received signal SIGSEGV, Segmentation fault. process_sender_audio (sender=sender@entry=0x555555802640, quit=quit@entry=0x55555574f3a0 <quit>, buffer_size=buffer_size@entry=250000) at sender.c:351 351 samples[i] = buff[i]; (gdb) bt #0 process_sender_audio (sender=sender@entry=0x555555802640, quit=quit@entry=0x55555574f3a0 <quit>, buffer_size=buffer_size@entry=250000) at sender.c:351 #1 0x000055555558ecee in main_mobile_loop (name=name@entry=0x5555555c6151 "amps", quit=0x55555574f3a0 <quit>, myhandler=myhandler@entry=0x0, station_id=<optimized out>) at main_mobile.c:731 #2 0x000055555557cf1e in main_amps_tacs (name=<optimized out>, argc=<optimized out>, argv=<optimized out>) at main_common.c:418 #3 0x00007ffff7baf1ca in __libc_start_call_main (main=main@entry=0x55555557b990 <main>, argc=argc@entry=45, argv=argv@entry=0x7fffffffea38) at ../sysdeps/nptl/libc_start_call_main.h:58 #4 0x00007ffff7baf285 in __libc_start_main_impl (main=0x55555557b990 <main>, argc=45, argv=0x7fffffffea38, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffea28) at ../csu/libc-start.c:360 #5 0x000055555557b9f1 in _start ()
Collaborator

--samplerate defines the rate of all signal processing. this applies to all filters that are used. note that samplerate muse be higher, if channel bandwidth and spacing is greater. --sdr_samplerate is the (upscaled) rate that the SDR uses. limesdr likes 5 megasamples, so a conversion is used.

see attached patch for fixing the issue above.

--samplerate defines the rate of all signal processing. this applies to all filters that are used. note that samplerate muse be higher, if channel bandwidth and spacing is greater. --sdr_samplerate is the (upscaled) rate that the SDR uses. limesdr likes 5 megasamples, so a conversion is used. see attached patch for fixing the issue above.
Author
Collaborator

Patch applies to branch jolly/work, that cannot be build due to absence of libosmocc package:
checking for libosmocore >= 1.9.0... yes
checking for libosmocc >= 1.0.0... no
configure: error: Package requirements (libosmocc >= 1.0.0) were not met:

Package 'libosmocc', required by 'virtual:world', not found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables LIBOSMOCC_CFLAGS
and LIBOSMOCC_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
make: *** [Makefile:349: config.status] Error 1

Patch applies to branch jolly/work, that cannot be build due to absence of libosmocc package: checking for libosmocore >= 1.9.0... yes checking for libosmocc >= 1.0.0... no configure: error: Package requirements (libosmocc >= 1.0.0) were not met: Package 'libosmocc', required by 'virtual:world', not found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables LIBOSMOCC_CFLAGS and LIBOSMOCC_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. make: *** [Makefile:349: config.status] Error 1
jolly was assigned by laforge 2024-02-16 14:05:12 +00:00
Collaborator

I just updated the docs/install.html with instructions on how to install libosmocore and libosmo-cc. Because I force-pushed it, reset your repository or do a a fresh checkout.

Also I pushed the two patches with the stack overflow issue, so no need to apply patches to the jolly/work branch.

I just updated the docs/install.html with instructions on how to install libosmocore and libosmo-cc. Because I force-pushed it, reset your repository or do a a fresh checkout. Also I pushed the two patches with the stack overflow issue, so no need to apply patches to the jolly/work branch.
Author
Collaborator

Sure, that helped a lot. There is a typo here be650bf549/docs/install.html (L212) - should be autoreconf -if .

Another small bug that channel distribution map during start don't show more than 9 channels. Not sure if it's pure cosmetics or it will really affect channel distribution.
At least for AMPS, I can't define more than 14 channels - get "too many channels" message on start.
With samplerate 5M reasonably fast core i9 runs out of juice at about 4 channels.
With 14 channels cramped together without spacing, samplerate 1250000 is more than ok.
14 channels with 1 channel spacing between then running fine with samplerate 1.5M. Not sure if it works properly, because printouts and configuration doesn't seem to be designed to account for large number of channels.

Sure, that helped a lot. There is a typo here https://gitea.osmocom.org/cellular-infrastructure/osmocom-analog/src/commit/be650bf549de21a1d0a5225a2aa4d8e6d29298c3/docs/install.html#L212 - should be autoreconf -if . Another small bug that channel distribution map during start don't show more than 9 channels. Not sure if it's pure cosmetics or it will really affect channel distribution. At least for AMPS, I can't define more than 14 channels - get "too many channels" message on start. With samplerate 5M reasonably fast core i9 runs out of juice at about 4 channels. With 14 channels cramped together without spacing, samplerate 1250000 is more than ok. 14 channels with 1 channel spacing between then running fine with samplerate 1.5M. Not sure if it works properly, because printouts and configuration doesn't seem to be designed to account for large number of channels.
Author
Collaborator

It would be nice to have documentation/prompts on maximum values possible.
6cd2c3e323/src/libmobile/sender.h (L13) has MAX_SENDER hard coded, and while it made sense 8 years ago (probably) , with SDR it does not. Probably it should be per protocol value which are based on the protocol or implementation limitations. I can make a separate ticket for that :)

With SDR, it should be theoreticaly possible to run (for AMPS for example) multiple SIDs for both system A and B at the same time, given that there is enough bandwidth. On the other hand, osmocom-analog is more a single base station type of software, so some limits may be imposed of what is technically possible in terms of number of channels for single base station, number of simultaneous calls, etc.

It would be nice to have documentation/prompts on maximum values possible. https://gitea.osmocom.org/cellular-infrastructure/osmocom-analog/src/commit/6cd2c3e323b5f8e873d986a78ee56e67e41e242e/src/libmobile/sender.h#L13 has MAX_SENDER hard coded, and while it made sense 8 years ago (probably) , with SDR it does not. Probably it should be per protocol value which are based on the protocol or implementation limitations. I can make a separate ticket for that :) With SDR, it should be theoreticaly possible to run (for AMPS for example) multiple SIDs for both system A and B at the same time, given that there is enough bandwidth. On the other hand, osmocom-analog is more a single base station type of software, so some limits may be imposed of what is technically possible in terms of number of channels for single base station, number of simultaneous calls, etc.
Author
Collaborator

It works much better now, will it be merged to master branch or it can be closed as-is?

It works much better now, will it be merged to master branch or it can be closed as-is?
Collaborator

See commit be650bf549 (jolly/work). It will be merged to master this Easter. If it contains what you expect, you may close this discussion.

See commit be650bf549de21a1d0a5225a2aa4d8e6d29298c3 (jolly/work). It will be merged to master this Easter. If it contains what you expect, you may close this discussion.
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: cellular-infrastructure/osmocom-analog#23
No description provided.