osmocom_spectrum_sense(1)

πŸ“¦ version 0.2.3, in ubuntu jammy

✨ osmocom_spectrum_sense(1) ✨

okay bestie, listen up πŸ’– this is a page from the User Commands section of the manual, and it's all about osmocom_spectrum_sense β€” a GNU Radio application from OsmoSDR. yes it's giving spectrum-analyzer main character energy and yes we're gonna walk through every single flag together. no skimming, no skipping, we keep it πŸ’―.


πŸ¦‹ NAME πŸ¦‹

osmocom_spectrum_sense β€” a GNU Radio application from OsmoSDR. that's it, that's the whole vibe check. 🫢


🌸 SYNOPSIS 🌸

osmocom_spectrum_sense [options] min_freq max_freq

so you pass it some [options] (we'll get to those, there are SO many and they're all iconic) and then min_freq and max_freq β€” the bottom and top of the range you wanna sniff around in. periodt. πŸ’…


πŸ’œ DESCRIPTION πŸ’œ

GNU Radio application from OsmoSDR. short, sweet, iconic. that's literally the whole description in the original and we're not gonna invent extra lore, okay? fr fr. 🧚


✨ OPTIONS ✨

here come the flags, bestie. every single one. buckle up πŸŽ€

  • -h, --help β€” show this help message and exit. the classic. always there for you. 😌
  • -a ARGS, --args=ARGS β€” Device args [default=] (yes, the default is literally empty, not a typo, not me being lazy πŸ™ˆ)
  • -A ANTENNA, --antenna=ANTENNA β€” Select antenna where appropriate. "where appropriate" β€” the manpage is being mysterious and we respect that ✨
  • -s SAMP_RATE, --samp-rate=SAMP_RATE β€” Set sample rate (bandwidth), minimum by default.
  • -g GAIN, --gain=GAIN β€” Set gain in dB (default is midpoint).
  • --tune-delay=SECS β€” Time to delay (in seconds) after changing frequency [default=0.25]
  • --dwell-delay=SECS β€” Time to dwell (in seconds) at a given frequency [default=0.25]
  • -b Hz, --channel-bandwidth=Hz β€” Channel bandwidth of fft bins in Hz [default=6250.0]
  • -q dB, --squelch-threshold=dB β€” Squelch threshold in dB [default=none] (so by default, no squelching at all, she's unbothered 😌)
  • -F FFT_SIZE, --fft-size=FFT_SIZE β€” Specify number of FFT bins [default=samp_rate/channel_bw]
  • --real-time β€” Attempt to enable real-time scheduling. attempt. she's trying her best, okay 😭

🌈 Device specification 🌈

You can specify the source or sink device using a comma separated string of argument=value pairs. The always-up-to-date block documentation with examples is available right here. (yes "right here" is what it says, go look πŸ‘€)


πŸ“ FCD Source πŸ“

  • fcd=<device-index> β€” 0-based device identifier, optional
  • device=hw:2 β€” overrides the audio device
  • type=2 β€” selects the dongle type, 1 for Classic, 2 for Pro+

The "device" argument overrides the audio device used by the underlying driver to access the dongle's IQ sample stream. πŸ’…

The "type" argument selects the dongle type, 1 for Classic, 2 for Pro+. lowkey a glow-up moment for the Pro+ ngl. ✨


πŸ’– OsmoSDR Source πŸ’–

  • osmosdr=<device-index> β€” 0-based device identifier
  • buffers=<number-of-buffers> β€” Default is 32
  • buflen=<length-of-buffer> β€” Default is 256kB, must be multiple of 512
heads up: that buflen has to be a multiple of 512 or it's not gonna play nice. not negotiable bestie 🫢

πŸŽ€ RTL-SDR Source πŸŽ€

  • rtl=<device-index> β€” 0-based device identifier OR serial number
  • rtl_xtal=<frequency> β€” Frequency (Hz) used for the RTL chip, accepts eng notation
  • tuner_xtal=<frequency> β€” Frequency (Hz) used for the tuner chip, accepts eng notation
  • buffers=<number-of-buffers> β€” Default is 32
  • buflen=<length-of-buffer> β€” Default is 256kB, must be multiple of 512
  • direct_samp=0|1|2 β€” Enable direct sampling mode on the RTL chip. 0: Disable, 1: use I channel, 2: use Q channel
  • offset_tune=0|1 β€” Enable offset tune mode for E4000 tuners
NOTE: use rtl_eeprom -s to program your own serial number to the device πŸ‘‘
NOTE: if you don't specify rtl_xtal/tuner_xtal, the underlying driver will use 28.0MHz

πŸ¦‹ RTL-SDR TCP Source πŸ¦‹

  • rtl_tcp=<hostname>:<port> β€” hostname defaults to "localhost", port to "1234"
  • psize=<payload-size> β€” Default is 16384 bytes
  • direct_samp=0|1|2 β€” Enable direct sampling mode on the RTL chip 0=Off, 1=I-ADC input enabled, 2=Q-ADC input enabled
  • offset_tune=0|1 β€” Enable offset tune mode for E4000 tuners

🌸 Miri Source 🌸

  • miri=<device-index> β€” 0-based device identifier
  • buffers=<number-of-buffers> β€” Default is 32

πŸ‘‘ UHD Source / Sink πŸ‘‘

  • uhd β€” Use this argument without a value
  • nchan=<channel-count> β€” For multichannel USRP configurations use the subdev parameter to specify stream mapping
  • subdev=<subdev-spec> β€” Examples: "A:0", "B:0", "A:0 B:0" when nchan=2. Refer original ettus documentation on this
  • lo_offset=<frequency> β€” Offset frequency in Hz, must be within daughterboard bandwidth. Accepts eng notation

Additional argument/value pairs will be passed to the underlying driver, for more information see specifying the subdevice and common device identifiers in the Ettus documentation. πŸ“š


🧚 bladeRF Source / Sink 🧚

  • bladerf[=0] β€” 0-based device identifier (optional)
  • fw='/path/to/the/firmware.img' β€” program MCU firmware from given file. usually not needed. power cycle required.
  • fpga='/path/to/the/bitstream.rbf' β€” load FPGA bitstream from given file. required only at first run at the moment.
the power cycle after a firmware flash is not optional, bestie. do it. πŸ”Œ

πŸ”₯ HackRF Source / Sink πŸ”₯

  • hackrf β€” Use this argument without a value
  • buffers=<number-of-buffers> β€” Default is 32
Only the first device found may be used at the moment because of libhackrf limitation. πŸ’€ that's just how it is, blame libhackrf.

Transmit support has been verified by using the crc-mmbTools DAB sdr transmitter. she ate. 🍽️


πŸ’œ IQ File Source πŸ’œ

  • file=<path-to-file-name>
  • freq=<frequency> β€” Center frequency in Hz, accepts eng notation
  • rate=<sampling-rate> β€” Mandatory, in samples/s, accepts eng notation
  • repeat=true|false β€” Default is true
  • throttle=true|false β€” Throttle flow of samples, default is true
rate is mandatory, not a suggestion, not a cute extra. mandatory mandatory. πŸ™ˆ

🌟 SEE ALSO 🌟

go read those too, they're the rest of the friend group 🫢


and that's the whole page, bestie πŸ’– this one's from OSMOCOMM, dated October 2013 β€” a vintage queen, and still out here doing spectrum sense things. slay. periodt. πŸŒˆβœ¨πŸ’…

πŸ“¦ where this page comes from