cnetz(1)

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.