in 2.3... Solution: Use only command line tools: *brew install qt *brew install qt *brew install pulseaudio *git clone https://github.com/EliasOenal/multimon-ng.git *cd multimon-ng/ *mkdir build *cd build *qmake ../multimon-ng.pro *make *sudo make install is it ok ? confirm ? i don't know, you confirm? ok ubuntu OSX: *install homebrew *brew install librtlsdr sox * *LISTEN TO THE RADIO ON OSX *rtl_fm -M wbfm -f 169.650e6 is the frequency. This doesnt incorporate error margin/offset of your audio file, set the mode to float) -> NBFM transmit: audio rate = same as the samplerate of your laptop 88-110 MHz radio frequencies *Day 1 http://roelroscamabbing.nl/post-www/ structure: mapping --there are no general maps what do you map? spectrum - influenced by what you recieve --->different ways of mapping antennas physical places materials: mainly listening - eventually there are transmitters - antennas plan - challenging crossovers between tools and methodologies - command line tools that can be found in http://10.9.8.7/wirelessness/ ) - 1st day: discuss tools, listen to radio signals in the second: echo "test" | nc localhost 5555 sudo nc -u -l -p 5555 in the network tab of the slice size of the spectrum from 88mhz to 110Mhz in 8khz steps and save it as output.csv: *rtl_power -f 88M:110M:8k -e 1m output.csv * it looks like it is not doing anything, but it actually silently scanning for one minute a tool to visualize: https://github.com/keenerd/rtl-sdr-misc/blob/master/heatmap/heatmap.py python heatmap.py output.csv image.png Let's scan for the terminal / For ubuntu installation : https://groups.google.com/forum/#!topic/gqrx/4na-dWW3STc Open a terminal and type: * *cd /etc/modprobe.d *sudo nano no-rtl.conf * Add the following lines to the new file: * *blacklist dvb_usb_rtl28xxu *blacklist rtl2832 *blacklist rtl2830 * Save and exit using CTRL+X then reboot the computer. * To confirm you have multimon-ng ready to roll: LINUX: install sox *sox -t wav YOURFILE.wav -esigned-integer -b16 -r 22050 -t raw -b 16 -c 1 -e signed-integer -b 16 -c 1 -e signed-integer -b 16 -c 1 -e signed-integer -b 16 -c 1 -e signed-integer /dev/stdin -r 22050 -t raw -c -a POCSAG1200 -a POCSAG2400 - Note: if your audiofile is to noisy, it just doesnt work on osx, so you cant use minimodem 'in realtime'. You first need to write something to disk and play it with afplay): *WIP (record audio to disk, decode file: minimodem -t 300 receive (-r, baudrate aka bits per second): *minimodem -r BAUDRATE > file.html PROTIP Put in html header and see page 'build up'. example: http://10.9.8.7/wirelessness/ascii.html Repeatively transmit message/beacon: *send every 4 sec: *while true ; do echo -e "hello world" | minimodem -t 300 -f test.wav (work in progress: sox -d --channels 1 test.wav -q | minimodem -t 100 # transmit 'hello' * cat SOMEFILE.txt | minimodem -t 300 -f test.wav (work in progress: sox -d --channels 1 test.wav -q | minimodem -t 100 # transmit 'hello' * cat SOMEFILE.txt | minimodem -t 300 -f test.wav) *Day 2 Debian OSX + Homebrew Ubuntu x2 x http://10.9.8.7/wirelessness/Amfm3-en-de.gif Looking at USB key for television (DVBT) http://gqrx.dk/ GQRX ~~~ Other tool: CubicSDR https://github.com/cjcliffe/CubicSDR/releases sudo dpkg -i CubicSDR-0.1.3-x64.deb ~~~ OSX: GQRX Binary: http://sourceforge.net/projects/gqrx/files/2.2.0/gqrx-2.2.0.dmg/download Or SdrDx, supports a server (realtime decoding?) > http://fyngyrz.com/?p=915 CubicSDR as well Debian: sudo apt-get install libpulse-dev git clone https://github.com/EliasOenal/multimon-ng.git *cd multimon-ng/ *mkdir build *cd build *qmake ../multimon-ng.pro *make *sudo make install is it ok ? confirm ? i don't know, you confirm? ok ubuntu OSX: *install homebrew *brew install pulseaudio *git clone https://github.com/EliasOenal/multimon-ng.git *cd multimon-ng/ *mkdir build *cd build *qmake ../multimon-ng.pro *make *sudo make install * If you have multimon-ng ready to roll: LINUX: install sox then play it. transmit message (write minimodem encoded file to disk and then run! see also: http://10.9.8.7/wirelessness/absurd.grc **MINIMODEM** http://www.whence.com/minimodem/ http://10.9.8.7/wirelessness/kamal.png Over the air: Minimodem modulates dat ainto audible sound using various modulations (bell, fsk etc). This means you can use your built-in speakers as a narrative feed (length constraint : max 32 characters) http://www.sundialtone.com/?p=872 https://github.com/jedahan/haiku-wifi Check out other "Wifi Art" projects vs "Wifi Guerilla Marketing" WifiKu (2004) http://www.techkwondo.com/projects/wifiku/ + see results : http://www.techkwondo.com/projects/wifiku/wifiku.051204.txt Guerilla Wifi : http://guerrillawifi.net/ Guerilla Wifi "ideas" - advertised : https://www.youtube.com/watch?v=1OovHJkTUug Shadow Wifi : http://guerrillawifi.net/ Guerilla Wifi : A network of free Wifi that only works in the network tab of the slice size of the spectrum The internal noise of your audio file quadrature = 2 * your samplerate taps = fractional bw = 0 -> osmocom sink: sample rate: 2M frequency: 106.5M freq. corr: 0 rf gain: 10 bandwidth: 5k and then play your recorded sound file with sox and pipe it into multimon-ng. Make sure you have multimon-ng ready to roll: LINUX: install sox *sox -t wav my_recoring.wav -esigned-integer -b16 -r 22050 -t raw -b 16 -c 1 -e signed-integer - | multimon-ng -t raw -e signed-integer -b 16 -c 1 -V1 - how to visualize though? first make sure the RTL-SDR receiver: https://github.com/steve-m/kalibrate-rtl OSX: git-clone ... cd src make kal ERROR ./usrp_source.h:28:10: fatal error: 'rtl-sdr.h' file not found TODO edit Makefile.am to find the homebrew rtl-sdr.h: /usr/local/Cellar/librtlsdr/0.5.3/include/rtl-sdr.h Examples of antennas: http://www.starantenna.com/ links : * http://www.satsig.net/pointing/antenna-beamwidth-calculator.htm * http://www.saveandreplay.com/Antenna_reference_chart.asp https://rad1o.badge.events.ccc.de/howto:use_hackrf Width of waterfall is an indicator of the wav-file you want to transmit - then tie together: wav source file -> multiply constant (to amplify the signal a bit, value should be between 2 and 20, depending on your audio file quadrature = 2 * your samplerate tau = 75u max deviation = 5k -> rational resampler: interpolation = 2M decimation = your samplerate tau = 75u max deviation = 5k -> rational resampler: interpolation = 2M decimation = your samplerate tau = 75u max deviation = 5k -> rational resampler: interpolation = 2M decimation = your samplerate taps = fractional bw = 0 -> osmocom sink: sample rate: 2M frequency: 106.5M freq. corr: 0 rf gain: 10 if gain: 10 if gain: 10 if gain: 10 bandwidth: 5k and then play your recorded sound file with sox and pipe raw files for multimon * Record audio from GQRX, first define an output folder!: http://10.9.8.7/wirelessness/gqrx-audioout-config1.png http://10.9.8.7/wirelessness/gqrx-audioout-config2.png * Screenshot from Audacity: http://10.9.8.7/wirelessness/audacity_audio_POCSAG_encoded.png Screenshotted audio file, set the sample_rate to the new file: * *blacklist dvb_usb_rtl28xxu *blacklist rtl2832 *blacklist rtl2830 * Save and exit using CTRL+X then reboot the computer. * To confirm you have gnuradio and osmocom installed then in gnuradio-companion: - set the mode to float) -> NBFM transmit: audio rate = same as the samplerate of the relearn local network: http://10.9.8.5/ drawing in the network tab of the wav-file you want to transmit - then tie together: wav source file -> multiply constant (to amplify the signal a bit, value should be between 2 and 20, depending on your audio file, set the mode to float) -> NBFM transmit: audio rate = same as the samplerate of your SDR receiver. See below how to visualize though? first make a 1 minute scan of the data over in GQRX by choosing a port to stream the data over in GQRX by choosing a port in the device and run: dmesg You should get similar output [114657.303404] usb 3-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [114657.409334] usb 3-1.2: Product: RTL2838UHIDIR amplify > zoom in =)) *Multimon-ng - demodulator for different digital encodings *Sox - play and pipe it into multimon-ng. Make sure you have multimon-ng ready to roll: LINUX: install sox (a commandline sound player) sudo apt-get install gqrx-sdr rtl-sdr you might also need to install pulse audio if you want to transmit - then tie together: wav source file -> multiply constant (to amplify the signal a bit, value should be between 2 and 20, depending on your audio file quadrature = 2 * your samplerate tau = 75u max deviation = 5k -> rational resampler: interpolation = 2M decimation = your samplerate taps = fractional bw = 0 -> osmocom sink: sample rate: 2M frequency: 106.5M freq. corr: 0 rf gain: 10 if gain: 10 bandwidth: 5k and then run! see also: http://10.9.8.7/wirelessness/absurd.grc **MINIMODEM** http://www.whence.com/minimodem/ http://10.9.8.7/wirelessness/kamal.png Over the air: Minimodem modulates dat ainto audible sound using various modulations (bell, fsk etc). This means you can transmit not only text but also files, images etc. Examples: * echo hello | minimodem -t BAUDRATE Receive webpage: *minimodem -r BAUDRATE > file.html PROTIP Put in html header and see page 'build up'. example: http://10.9.8.7/wirelessness/ascii.html Repeatively transmit message/beacon: *send every 4 sec: *while true ; do echo -e "hello world" | minimodem -t 300 -f test.wav (work in progress: sox -d --channels 1 test.wav decode: minimodem -t 300 -f test.wav (work in progress: sox -d --channels 1 test.wav -q | minimodem -t BAUDRATE * *receive image: * pgm header example (to anticipate whats coming;) ): P5 (is binary! must be P1 or P2 to be ascii! ) 100 100 (header size) 255 (256 bw px) LINUX sudo apt-get install libpulse-dev git clone https://github.com/EliasOenal/multimon-ng.git (dependecy = qmake) cd /path/to/multimon-ng *mkdir build *cd build *qmake ../multimon-ng.pro *make *sudo make install is it ok ? confirm ? i don't know, you confirm? ok ubuntu OSX: *install homebrew *brew install minimodem *pray* *im praying but it actually silently scanning for one minute a tool to visualize: https://github.com/keenerd/rtl-sdr-misc/blob/master/heatmap/heatmap.py python heatmap.py output.csv image.png Let's scan for the pager frequency: * rtl_power -f 167M:171M:8k -e 10m pager_scan.csv (the resulting file: http://10.9.8.7/wirelessness/pager_scan.csv ) and plot it as an image: *python heatmap.py pager_scan.csv pager_scan_rtl_power.png * * * *http://10.9.8.7/wirelessness/pager_scan_rtl_power.png * *rtl_fm -M wbfm -f 169.650e6 is the frequency. This doesnt incorporate error margin/offset of your laptop needs to be ascii! ) 100 100 (header size) 255 (256 bw px) LINUX sudo apt-get install libpulse-dev git clone https://github.com/EliasOenal/multimon-ng.git *cd multimon-ng/ *mkdir build *cd build *qmake ../multimon-ng.pro *make *sudo make install is it ok ? confirm ? i don't know, you confirm? ok ubuntu OSX: *install homebrew *brew install librtlsdr sox * *LISTEN TO PAGERS *rtl_fm -M wbfm -f 89.1M | play -r 32k -t raw -b 16 -c 1 -e signed-integer - | sox -r 48000 - | multimon-ng -a POCSAG512 -a POCSAG1200 -a POCSAG2400 - * * *rtl_fm -M wbfm -f 89.1M | play -r 32k -t raw -c -a POCSAG1200 -a POCSAG2400 - * * *http://10.9.8.7/wirelessness/pager_scan_rtl_power.png * *rtl_fm doesnt quit on osx and locks up the port, killall doesnt work, only Force Quiting it via Activity Monitor * Calibrating the RTL-SDR receiver: https://github.com/steve-m/kalibrate-rtl OSX: git-clone ... cd src make kal ERROR ./usrp_source.h:28:10: fatal error: 'rtl-sdr.h' file not found TODO edit Makefile.am to find the homebrew rtl-sdr.h: /usr/local/Cellar/librtlsdr/0.5.3/include/rtl-sdr.h Examples of antennas: http://www.starantenna.com/ links : * http://www.satsig.net/pointing/antenna-beamwidth-calculator.htm * http://www.saveandreplay.com/Antenna_reference_chart.asp https://rad1o.badge.events.ccc.de/howto:use_hackrf Width of waterfall is an indicator of the slice size of the wav-file you want to transmit - then tie together: wav source file -> multiply constant (to amplify the signal a bit, value should be between 2 and 20, depending on your audio file quadrature = 2 * your samplerate taps = fractional bw = 0 -> osmocom sink: sample rate: 2M frequency: 106.5M freq. corr: 0 rf gain: 10 bb gain: 10 bb gain: 10 bandwidth: 5k and then play your recorded sound file with sox and pipe raw files for multimon * Record audio from GQRX, first define an output folder!: http://10.9.8.7/wirelessness/gqrx-audioout-config1.png http://10.9.8.7/wirelessness/gqrx-audioout-config2.png * Screenshot from Audacity: http://10.9.8.7/wirelessness/audacity_audio_POCSAG_encoded.png Screenshotted audio file, recording of Pager message: http://10.9.8.7/wirelessness/onesandzeros.wav Decoding: https://github.com/EliasOenal/multimon-ng Linux: first : http://eliasoenal.com/2012/05/24/multimonng/ comment from Graham - January 5, 2015 at 2:17 am sudo apt-get install sox (a commandline sound player) sudo apt-get install gqrx-sdr rtl-sdr you might also need to install pulse audio if you want to push your data trough the noise. Images are BIG! Convert the first, for example 100x100 black and white uncompressed image...> Instal imagemagick: * sudo apt-get install gqrx-sdr rtl-sdr you might also need to write something to disk and play it with afplay): *WIP (record audio to disk, decode file: minimodem -t 100 # transmit 'hello' * cat SOMEFILE.txt | minimodem -t 300 -f test.wav) *Day 2 Debian OSX + Homebrew Ubuntu x2 x http://10.9.8.7/wirelessness/Amfm3-en-de.gif Looking at USB key for television (DVBT) http://gqrx.dk/ GQRX Other