amps_user_commands(1)

πŸ“¦ version 0.0~git20251206.0c72677, in debian trixie, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– amps_user_commands(1) πŸ’–

General Commands Manual bestie, this is the page for the amps command πŸ¦‹

✨ NAME ✨

So the whole thing is called amps, and the docs live at http://osmocom-analog.eversberg.eu/docs/ 🌸

🌸 SYNOPSIS 🌸

amps -k <kanal/channel> -p -d -F yes | no [-S sid=<sid>] [options]
[station_id]

✨ DESCRIPTION ✨

This is where all the magic happens, and the vibe is immaculate πŸ’…

πŸ‘‘ Global options πŸ‘‘

  • -h, --help β€” pulls up this help, aka the thing you're reading right now 🫢
  • --config [~/]<path to config file> β€” Point it at a config file to use. If the path starts with ~/, it's relative to your home dir. Each line in the config file is one option, and you must NOT type the - or -- in there. Default: ~/.osmocom/analog/amps.conf
  • --no-config β€” Even if a config file exists, skip it πŸ™ˆ
  • -v, --verbose <level> | <level>,<category>[,<category>[,...]] | list β€” Use list to see all the levels and categories. Verbose level is a debug level digit (default = 3). Level plus category means the level digit followed by one or more categories. If you don't pick any category, all of them get selected.
  • -v, --verbose date β€” Shows the date in the debug output πŸ“…
  • -k, --kanal <channel> β€” Channel (Kanal in German) number of the "Sender" (Transceiver in German) πŸ“»
  • -k, --channel <channel> β€” Same deal as above, just the other name for it: the channel number of the Sender (Transceiver) πŸ“»
  • -a, --audio-device hw:<card>,<device>[/hw:<card>.<rec-device>] β€” Sound card and device number (default = hw:0,0). You can use / to pick a different recording device. Don't set this one for SDR!
  • -s, --samplerate <rate> β€” Sample rate of the sound device (default = 96000)
  • -i, --interval 0.1..25 β€” Interval of the processing loop in ms (default = 1.0 ms). Use 10 to drastically reduce CPU usage. If you get a buffer underrun, bump up the buffer to match πŸ“ˆ
  • -b, --buffer <ms> β€” How many milliseconds get processed in advance (default = 50). A buffer below 10 ms needs a low interval, like 0.1 ms.
  • -p, --pre-emphasis β€” Turns on pre-emphasis, if you plug straight into the oscillator of the transmitter. (The transmitter doesn't do pre-emphasis itself.)
  • -d, --de-emphasis β€” Turns on de-emphasis, if you plug straight into the discriminator of the receiver. (The receiver doesn't do de-emphasis itself.)
  • --rx-gain <dB> β€” Raises or lowers the receiver's RX level by the given gain in dB. (Sound card only.)
  • --tx-gain <dB> β€” Raises or lowers the transmitter's RX level by the given gain in dB. (Sound card only.)
  • -e, --echo-test β€” Runs an echo test, which sends audio from the mobile phone's mic back out to the speaker. (German: Blasprobe.) 🎀
  • -c, --call-device hw:<card>,<device>[/hw:<card>.<rec-device>] β€” Sound card and device number for the headset (default = ''). You can use / to pick a different recording device.
  • --call-samplerate <rate> β€” Sample rate of the sound device for the headset (default = 48000)
  • --call-buffer <ms> β€” How many milliseconds get processed in advance (default = 50)
  • -x, --osmocc-cross β€” Turns on built-in call forwarding between mobiles. Be sure you have at least one control channel and two voice channels. Or you can go with one combined control+voice channel and one voice channel instead πŸ“ž
  • -o, --osmocc-sock β€” Disables built-in call control and offers a socket instead 🧦
  • --cc "<osmo-cc arg>" [--cc ...] β€” Passes arguments to the Osmo-CC endpoint. Use -cc help for a description.
  • --no-l16 β€” Disables the L16 (linear 16 bit) codec.
  • -t, --tones 0 | 1 β€” Connects the call on setup/release so classic tones go out toward the fixed network (default = 1) πŸ””
  • -l, --loopback <type> β€” Loopback test: 1 = internal, 2 = external, 3 = echo.
  • -r, --realtime <prio> β€” Sets the prio: 0 disables it, 99 is the max (default = 0).
  • --fast-math β€” Uses a fast math approximation for slow CPUs or ARM based systems 🐒
  • --write-rx-wave <file> β€” Writes the received audio to the given wave file.
  • --write-tx-wave <file> β€” Writes the transmitted audio to the given wave file.
  • --read-rx-wave <file> β€” Replaces the received audio with the given wave file.
  • --read-tx-wave <file> β€” Replaces the transmitted audio with the given wave file.
  • --limesdr β€” Auto-selects several required options for LimeSDR
  • --limesdr-mini β€” Auto-selects several required options for LimeSDR Mini

πŸ¦‹ SDR options πŸ¦‹

  • --sdr-soapy β€” Forces the SoapySDR driver πŸ’ͺ
  • --sdr-channel <channel #> β€” Channel number for a multi channel SDR device (default = 0)
  • --sdr-device-args <args>, --sdr-stream-args <args>, --sdr-tune-args <args> β€” Optional SDR device arguments, separated by commas, e.g. --sdr-device-args <key>=<value>[,<key>=<value>[,...]]
  • --sdr-samplerate <samplerate> β€” Sample rate to use with SDR. By default it matches the regular sample rate.
  • --sdr-lo-offset <Hz> β€” Frequency offset in Hz that moves the local oscillator away from the target frequency (default = -1000000)
  • --sdr-bandwidth <bandwidth> β€” IF filter bandwidth to use. If you don't give one, the sample rate gets used.
  • --sdr-rx-antenna <name> β€” The SDR device's RX antenna name. Use list to get the list πŸ“‹
  • --sdr-tx-antenna <name> β€” The SDR device's TX antenna name. Use list to get the list πŸ“‹
  • --sdr-clock-source <name> β€” The SDR device's clock source name. Use list to get the list πŸ“‹
  • --sdr-rx-gain <gain> β€” The SDR device's RX gain in dB (default = 0.0)
  • --sdr-tx-gain <gain> β€” The SDR device's TX gain in dB (default = 0.0)
  • --write-iq-rx-wave <file> β€” Writes the received IQ data to the given wave file.
  • --write-iq-tx-wave <file> β€” Writes the transmitted IQ data to the given wave file.
  • --read-iq-rx-wave <file> β€” Replaces the received IQ data with the given wave file.
  • --read-iq-tx-wave <file> β€” Replaces the transmitted IQ data with the given wave file.
  • --sdr-swap-links β€” Swaps RX and TX frequencies for over-the-air loopback tests πŸ”
  • --sdr-timestamps 1 | 0 β€” Uses TX timestamps on a UHD device (default = 1)

πŸ“‘ Network specific options πŸ“‘

  • -T, --channel-type <channel type> | list β€” Gives the channel type. Use list to get a list. (default = CC/PC/VC)
  • -F, --flip-polarity no | yes β€” Flips the polarity of the transmitted FSK signal. If yes, the sound card makes a negative signal instead of a positive one. Make sure a positive signal causes a positive deviation on your transmitter. If the phone shows NoSrv, try the other way πŸ”„
  • -P, --ms-power <power level> β€” Power level of the mobile station, 0..7 (default = 4). 0 = 4 W; 1 = 1.6 W; 2 = 630 mW; 3 = 250 mW; 4 = 100 mW; 5 = 40 mW; 6 = 16 mW; 7 = 6.3 mW ⚑
  • -D, --dtx <parameter> β€” DTX parameter for Discontinuous Transmission (default = 0). 0 = disable DTX; 1 = reserved; 2 = 8 dB attenuation in low state; 3 = transmitter off.
  • -I, --caller-id 1 | 0 β€” If set, the caller ID is sent while ringing the phone (default = 0). Heads up: this doesn't work the way the specs say it should. If the phone doesn't support caller ID, it'll abort the connection when it receives one, for some unknown reason. So only use caller ID with phones that actually support it πŸ™ƒ
  • -S, --sysinfo sid=<System ID> | sid=list β€” The system ID of the cell broadcast. If it changes, the phone re-registers. Use sid=list for a full list.
  • -S, --sysinfo dcc=<digital color code> β€” Digital color code, 0..3 (default = 0)
  • -S, --sysinfo scc=<SAT color code> β€” Supervisor tone color code, 0..2 (default = 0)
  • -S, --sysinfo regincr β€” The amount added to REGID after a successful registration (default = 300). Since REGID increments every second, this decides how many seconds the phone waits before it re-registers ⏳
  • -S, --sysinfo pureg=0 | pureg=1 β€” If 1, the phone registers on every power on (default = 0).
Warning: Older phones may not like this and show 'No Service'! Note: This feature was added to the standard in 1995, so it might not work.
  • -S, --sysinfo pdreg=0 | pdreg=1 β€” If 1, the phone de-registers on every power down (default = 0).
Warning: Older phones may not like this and show 'No Service'! Note: This feature was added to the standard in 1995, so it might not work.
  • -S, --sysinfo locaid=<location area ID > | locaid=-1 to disable β€” (default = -1). If it changes, the phone re-registers.
Warning: Older phones may not like this and show 'No Service'! Note: This feature was added to the standard in 1995, so it might not work.
  • -S, --sysinfo regh=0 | regh=1 β€” If 1, the phone registers only if the System ID matches (default = 1).
  • -S, --sysinfo regr=0 | regr=1 β€” If 1, the phone registers only if the System ID is different (default = 1).
  • -S, --sysinfo bis=0 | bis=1 β€” If 0, the phone ignores the BUSY/IDLE bit on FOCC (default = 0). If 1, be sure your round-trip delay (latency) is no more than 5 ms ⏱️
  • -O, --tolerant β€” Be more tolerant when hunting for the sync sequence πŸ₯°
  • station_id β€” Give 10 digits of your station ID so you don't have to type it in every time you start this app. Give 10 digits for an AMPS number (NPA-XXX-XXXX). You may use 1xxxxxxxxxx as a prefix. You may also use +1xxxxxxxxxx as a prefix.

Press '0'..'9' and then the 'd' key to dial towards the mobile station πŸ“±. Press the 'h' key to hang up πŸ“΄. Press the 'w' key to toggle the display of the RX wave form 🌊. Press the 'c' key to toggle the display of channel status 🚦. Press the 'm' key to toggle the display of the measurement value πŸ“. Press the 'q' key to toggle the display of the RX I/Q vector 🧭. Press the 's' key to toggle the display of the RX spectrum 🎢. Press the 'b' key to remove the DC level ✨.


Okay that's the whole tea, bestie 🫢 amps_user_commands(1), General Commands Manual, now go be iconic πŸ’…πŸ¦‹