Provided by: osmocom-analog_0.0~git20250208.4ebf64f-1_amd64 

NAME
cnetz - http://osmocom-analog.eversberg.eu/docs/
SYNOPSIS
cnetz -k <kanal/channel> [-M] -S <rx ppm>,<tx ppm> -p -d [options] [station_id]
Global options:
-h --help
This help
--config [~/]<path to config file>
Give a config file to use. If it starts with '~/', path is at home dir. Each line in config file
is one option, '-' or '--' must not be given! Default: '~/.osmocom/analog/cnetz.conf'
--no-config
Even if a config file exists, don't use it.
-v --verbose <level> | <level>,<category>[,<category>[,...]] | list
Use 'list' to get a list of all levels and categories. Verbose level: digit of debug level
(default = '3') Verbose level+category: level digit followed by one or more categories -> If no
category is specified, all categories are selected
-v --verbose date
Show date with debug output
-k --kanal <channel>
-k --channel <channel>
Channel (German = Kanal) number of "Sender" (German = Transceiver)
-a --audio-device hw:<card>,<device>[/hw:<card>.<rec-device>]
Sound card and device number (default = 'hw:0,0') You may specify a different recording device by
using '/'. Don't set it for SDR!
-s --samplerate <rate>
Sample rate of sound device (default = '48000')
-i --interval 0.1..25
Interval of processing loop in ms (default = '1.0' ms) Use 10 to drastically reduce CPU usage. In
case of buffer underrun, increase buffer accordingly.
-b --buffer <ms>
How many milliseconds are processed in advance (default = '50') A buffer below 10 ms requires low
interval like 0.1 ms.
-p --pre-emphasis
Enable pre-emphasis, if you directly connect to the oscillator of the transmitter. (No
pre-emphasis done by the transmitter.)
-d --de-emphasis
Enable de-emphasis, if you directly connect to the discriminator of the receiver. (No de-emphasis
done by the receiver.)
--rx-gain <dB>
Raise/lower receiver's RX level by given gain in dB. (Works with sound card only.)
--tx-gain <dB>
Raise/lower transmitters's RX level by given gain in dB. (Works with sound card only.)
-e --echo-test
Use echo test, to send back audio from mobile phone's microphone to the speaker. (German:
'Blasprobe').
-c --call-device hw:<card>,<device>[/hw:<card>.<rec-device>]
Sound card and device number for headset (default = '') You may specify a different recording
device by using '/'.
--call-samplerate <rate>
Sample rate of sound device for headset (default = '48000')
--call-buffer <ms>
How many milliseconds are processed in advance (default = '50')
-x --osmocc-cross
Enable built-in call forwarding between mobiles. Be sure to have at least one control channel and
two voice channels. Alternatively use one combined control+voice channel and one voice channels.
-o --osmocc-sock
Disable built-in call control and offer socket
--cc "<osmo-cc arg>" [--cc ...]
Pass arguments to Osmo-CC endpoint. Use '-cc help' for description.
--no-l16
Disable L16 (linear 16 bit) codec.
-t --tones 0 | 1
Connect call on setup/release to provide classic tones towards fixed network (default = '1')
-l --loopback <type>
Loopback test: 1 = internal | 2 = external | 3 = echo
-r --realtime <prio>
Set prio: 0 to disable, 99 for maximum (default = 0)
--fast-math
Use fast math approximation for slow CPU / ARM based systems.
--write-rx-wave <file>
Write received audio to given wave file.
--write-tx-wave <file>
Write transmitted audio to given wave file.
--read-rx-wave <file>
Replace received audio by given wave file.
--read-tx-wave <file>
Replace transmitted audio by given wave file.
--limesdr
Auto-select several required options for LimeSDR
--limesdr-mini
Auto-select several required options for LimeSDR Mini
SDR options:
--sdr-soapy
Force SoapySDR driver
--sdr-channel <channel #>
Give channel number for multi channel SDR device (default = 0)
--sdr-device-args <args>
--sdr-stream-args <args>
--sdr-tune-args <args>
Optional SDR device arguments, separated by comma e.g. --sdr-device-args
<key>=<value>[,<key>=<value>[,...]]
--sdr-samplerate <samplerate>
Sample rate to use with SDR. By default it equals the regular sample rate.
--sdr-lo-offset <Hz>
Give frequency offset in Hz to move the local oscillator away from the target frequency. (default
= -1000000)
--sdr-bandwidth <bandwidth>
Give IF filter bandwidth to use. If not, sample rate is used.
--sdr-rx-antenna <name>
SDR device's RX antenna name, use 'list' to get a list
--sdr-tx-antenna <name>
SDR device's TX antenna name, use 'list' to get a list
--sdr-clock-source <name>
SDR device's clock sourc name, use 'list' to get a list
--sdr-rx-gain <gain>
SDR device's RX gain in dB (default = 0.0)
--sdr-tx-gain <gain>
SDR device's TX gain in dB (default = 0.0)
--write-iq-rx-wave <file>
Write received IQ data to given wave file.
--write-iq-tx-wave <file>
Write transmitted IQ data to given wave file.
--read-iq-rx-wave <file>
Replace received IQ data by given wave file.
--read-iq-tx-wave <file>
Replace transmitted IQ data by given wave file.
--sdr-swap-links
Swap RX and TX frequencies for loopback tests over the air.
--sdr-timestamps 1 | 0
Use TX timestamps on UHD device. (default = 1)
Network specific options:
-T --channel-type <channel type> | list
Give channel type, use 'list' to get a list. (default = 'OgK/SpK') You must define at least one
OgK at channel 131. This channel may be a a combined OgK+SpK channel, but this works with older
phones only. You must define additionally one or more SpK, in order to make calls. You may
define alternative OgK, the phones will attach to it then.
-M --measure-speed
Measures clock speed. THIS IS REQUIRED! See documentation!
-C --clock-speed <rx ppm>,<tx ppm>
Correct speed of sound card's clock. Use '-M' to measure speed for some hours after temperature
has settled. The use these results to correct signal processing speed. After adjustment, the clock
must match +- 1ppm or better. CORRECTING CLOCK SPEED IS REQUIRED! See documentation on how to
measure correct value.
-F --flip-polarity no | yes | auto
Flip polarity of transmitted FSK signal. If yes, the sound card generates a negative signal rather
than a positive one. If auto, the base station uses double time slots with alternating polarity.
Once a mobile registers, the correct polarity is selected and used. (default = auto) Note:
Correct polarity is selected for SDR by default.
-P --ms-power <power level>
Give power level of the mobile station: 1, 2, 4, 6, 8 (default = '6') 1 = 7.5-20 W; 2 = 4-8 W; 4 =
0.5-1 W; 6 = 50-125 mW; 8 = 2-10 mW Power level 8 starts with level 6 and is then reduced on SpK.
-A --authentication <challenge>
Enable authorization flag on the base station and use given challenge as authorization random.
Depending on the key inside the card you will get a response. Any response is accepted. Phone must
have smart card! The challenge can be any 64 bit (hex) number like: 0x0123456789abcdef Note:
Authentication is automatically enabled for the base station
-A --authentication <challenge>,<response>
Same as above, but the given response must match the response from smart card. The response can be
any 64 bit (hex) number. Note: Authentication is automatically enabled for the base station
-Q --queue | --warteschlange 1 | 0
Enable queue support. If no channel is available, calls will be kept in a queue for maximum of 60
seconds. (default = 1)
-G --gebuehren <seconds> | 0
Increment metering counter every given number of seconds. To turn off, use 0. (default = 20) If
metering pulses are sent via Osmo-CC interface, pulses are always increment metering counter. This
overrides this option.
-V --voice-deviation <2400..4000 Hz>
It is unclear what the actual voice deviation is. Please increase, if mobile's earpiece is too
quiet and the microphone is too loud. (default = 2400)
-S --sysinfo timeslots=1|2|4|8
Set number of timeslots of OgK broadcast. There are 32 time slots per frame, but only up to 8
slots can be used, because of processing delay. (default = 4)
-S --sysinfo fuz-nat=<nat>
Set country ID of base station. All IDs were used inside Germany only. (default = 1)
-S --sysinfo fuz-fuvst=<id>
Set switching center ID of base station. (default = 4)
-S --sysinfo fuz-rest=<id>
Set cell ID of base station. (default = 66)
-S --sysinfo fuz=<nat>,<fuvst>,<rest>
Set country, switching center and cell ID of base station at once.
-S --sysinfo fuz-name=<name>
Set country, switching center and cell ID by providing name or prefix Use 'list' to get a list of
all base sstation names.
-S --sysinfo kennung-fufst=<id>
Set priority for selecting base station. (default = 1) 0 = Test (Only special mobile stations may
register.) 1 = Normal priority base station. 2 = Higher priority base station. 3 = Highest
priority base station. Note: Priority has no effect, because there is only one base station.
-S --sysinfo bahn-bs=<value>
Set special tunnel base station mode for train mobile phones only. (default = 1) 0 = Disable
(every phone is allowed) 1 = Enable (only train phones are allowed) Note: Enableing this will
force priority to 0 (Test base station).
-S --sysinfo auth=<auth>
Enable authentication flag on the base station. Since we cannot authenticate, because we don't
know the secret key and the algorithm, we just accept any card. Useful to get the vendor IDs of
the phone. 0 = Disable. Even chip card phones behave like magnetic card phones. 1 = Enable. Chip
card phones send their card ID. (default = 0)
-S --sysinfo ws-kennung=<value>
Queue setting of base station. (default = 0) 0 = No queue, calls will be handled directly. 1 =
Queue on outgoing calls. 2 = Queue blocked, no calls allowed. 3 = Reserved, don't use!
-S --sysinfo fuvst-sperren=<value>
Blocking registration and outgoing calls. (default = 0) 0 = Registration and outgoing calls
allowed. 1 = Only registration alloweed. 2 = Only outgoing calls allowed. (Cannot work without
registration!) 3 = No registration and no outgoing calls allowed.
-S --sysinfo grenz-einbuchen=<value>
Minimum SNR to allow registration of mobile (default = 1) 0 = No limit; 1 = >15 dB; 2 = >17 dB;
3 = >19 dB 4 = >21 dB; 5 = >25 dB; 6 = >28 dB; 7 = >32 dB
-S --sysinfo grenz-umschalten=<value>
Minimum SNR before phone requests handover (default = 15) 15 = 18 dB ... 0 = 26 dB (external) 13 =
16 dB ... 0 = 22 dB (internal)
-S --sysinfo grenz-ausloesen=<value>
Minimum SNR before phone releases of call (default = 15) 15 = 18 dB ... 0 = 26 dB
-S --sysinfo mittel-umschalten=<value>
Number of frames to measure for handover criterium (default = 5) 0 = 2 measurements; 1 = 4
measurements; 2 = 8 measurememnts 3 = 16 measurements; 4 = 32 measurements; 5 = 64
measurememnts
-S --sysinfo mittel-ausloesen=<value>
Number of frames to measure for release criterium (default = 5) 0 = 2 measurements; 1 = 4
measurements; 2 = 8 measurememnts 3 = 16 measurements; 4 = 32 measurements; 5 = 64
measurememnts
-S --sysinfo genauigkeit=<value>
Accuracy of base station (default = 1) 0 = full accuracy; 1 = limited accuracy Note: This has no
effect, because there is only one base station.
-S --sysinfo bewertung=<value>
Rating of base station (default = 1) 0 = by relative distance; 1 = by received level Note: This
has no effect, because there is only one base station.
-S --sysinfo entfernung=<value>
Base station size (default = 3) 0 = 1.5km; 1 = 2km; 2 = 2.5km; 3 = 3km; 4 = 5km; 5 =
5km 6 = 6km; 7 = 7km; 8 = 8km; 9 = 10km; 10 = 12km; 11 = 14km 12 = 16km; 13 = 17km;
14 = 23km; 15 = 30km Note: This has no effect, because there is only one base station.
-S --sysinfo reduzierung=<value>
See specs value 'y' (default = 0) 0 = 4; 1 = 3; 2 = 2; 3 = 1 Note: This has no effect, because
there is only one base station.
-S --sysinfo nachbar-prio=<value>
See specs value 'g' (default = 0) Note: This has no effect, because there is only one base
station.
-S --sysinfo futln-sperre=<value>[-<value>]
Blocking registration and outgoing calls for selected mobile stations. The 4 least significant
bits of the subscriber number can be given to block all matching phones. Alternatively the phone
number may be given here, so that the 4 bits get calculated automatically. The optional second
value can be given, to define a range - in the same way. (default = no value given)
-S --sysinfo meldeinterval=<seconds>
Time to wait until pinging the phone whether it is still available. (default = 120)
-S --sysinfo meldeaufrufe=<count>
Number of times we try to ping mobile until we assume it is gone. Use '0' for infinite tries.
(default = 3)
-D --demod auto | slope | level
Adjust demodulation algorithm. Use 'slope' to detect a level change by finding the highest slope
of a bit transition. It is useful, if the receiver drifts to 0 after a while, due to DC
decoupling. This happens in every analog receiver and in every sound card input. Use 'level' to
detect a level change by passing zero level. This requires a DC coupled signal, which is produced
by SDR. Use 'auto' to select 'slope' for sound card input and 'level' for SDR input. (default =
'auto')
station_id: Give 7 or 8 digits of station ID,
so you don't need to enter it for every start of this application. Give 7 digits for regular
number format. Give 8 digits for extended number format. You may use '0161xxxxxxx' as prefix.
You may use '0161xxxxxxxx' as prefix. You may use '+49161xxxxxxx' as prefix. You may use
'+49161xxxxxxxx' as prefix.
Press digits '0'..'9' and then 'd' key to dial towards mobile station. Press 'h' key to hangup. Press
'w' key to toggle display of RX wave form. Press 'c' key to toggle display of channel status. Press 'm'
key to toggle display of measurement value. Press 'q' key to toggle display of RX I/Q vector. Press 's'
key to toggle display of RX spectrum. Press 'b' key to remove DC level. Press 'i' key to dump list of
currently attached subscribers.
cnetz(1)