2 ++++Wirelessness! Welcome++++

../wirelessness/wirelessness.html <-- tools info ~
~                                                                ~
~  [[wirelessness-tools]] <--- tools info editable               ~
~                                                                ~
../wirelessness/ <--- all the stuff              ~
~                                                                ~

Day 6 (Tuesday)

Very nice example of capturing and understanding signals

Day 5 (Monday)

Writing on the waterfall spectrum:

both scripts look for a wav file called absurd.wav
edit the #variables (line 29 onwards) to change frequency etc
ether vandalism: ../wirelessness/ethertag.py
slightly improved version: ../wirelessness/parallel.py

15.56 Starting a minestrone with the pads
Use the ../scripts/gettext.py to collect outputs from the pads to be cooked - combined as ingredients.
15.59 - tools.txt
16.01 - taking_care.txt
16.03 - relearn_thinking_through.txt
16.05 - schedule.txt
16.06 - meta-relearn.txt
16.07 - dinner.txt
16.07 - party.txt
16.08 - wirelessness.txt
16.10 - quantification.txt
(( dada engine break ))
16.19 - text_gen.txt 
16.20 - training-common-sense.txt
16.21 - city.txt
16.22 - trinary-logic.txt
16.23 - reroam.txt
16.24 - quotes.txt
modify markov.py -> markovminestrone.py
16.57 run markovminestrone.py -> get etherstrone.txt
Fragment : Minimodem is a traditional Roman soup that consisted mostly of vegetables, such as onions, lentils, cabbage, garlic, broad beans, mushrooms, carrots, asparagus, and turnips. This version is a commandline tool and thus allow piping into/from other tools. This way you can use your built-in speakers as a receiver! No strings attached. The lower the bitrate, the slower you send, the more resilient minimodem is for errors, like ambient noise. Transmit and receive baudrates should match Open two terminals.. 
& share it with to Ludo who transmits ...

Setting up your own FM transmitter on a Raspberry Pi:

    simpler yet,
    copy folder contents from link below to your raspbian home folder:
    then play with following commands:    

Day 4 (Sunday)

Antenna Safari Walk


Documentation of walk, collections of photographic material:

Things discussed during walk:

Recorded this:

Day 3 (saturday)

track participant ideas:

 wifi -pretending to be hotspots


long distance data transmission research:

modulation demodulation toolchain

more indepth scanning etc, quicker scanning

mapping + (wifi + measuring in the space)

drawing in the waterfall -> like aphex twin

micro fm transmitter building 

absurd machine communication 
                -> transmitting receiving feedbacklooops
                        -> jamming cctvs

"Relearn radio" - try to connect output/raw material from other tracks & transmit 
Use notes from the pad, read them/vocalize or even sing them (karaoke)
TTS Karaoke: ../wirelessness/TweetAndShout/

Check out the Haiku Wifi project : creating poetry with SSID - - > SSID generator ? use it as a narrative feed
(length constraint : max 32 characters)

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 : A network of free Wifi that only works in the shadow to prevent skin cancer : https://www.youtube.com/watch?v=rvrH0bsU_Fo

For the walk

random walk ;) collect.
walk -> antenna spotting  infrastructure
relation between antenna + building type
less noticable ones? 

parking 58 near beurs
an's church


setting up an FM transmitter for hackrf/sdr-rtl

first make sure you have gnuradio and osmocom installed

then in gnuradio-companion:
- set the sample_rate to the samplerate 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 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
    bb gain: 10
    bandwidth: 5k
and then run!

see also: ../wirelessness/absurd.grc

For Windows installation: Check: https://www.ruby-forum.com/topic/4419548



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 transmitter and you microphone as a receiver! No strings attached. The lower the bitrate, the slower you send, the more resilient minimodem is for errors, like ambient noise. Transmit and receive baudrates should match

Open two terminals and test (OSX COMMAND BELOW) :
transmit (-t, baudrate aka bits per second):
minimodem -t 300
receive (-r, baudrate aka bits per second):
minimodem -r 300 -q
Minimodem is a commandline tool and thus allow piping into/from other tools. This way you can transmit not only text but also files, images etc.
echo hello | minimodem -t 100 # transmit 'hello' cat SOMEFILE.txt | minimodem -t 100
Transmit webpage:
cat website.html | minimodem -t BAUDRATE
Receive webpage:
minimodem -r BAUDRATE > file.html
PROTIP Put  <meta http-equiv="refresh" content="5"> in html header and see page 'build up'. example:
Repeatively transmit message/beacon:

Transmit + Receive image:
    THOUGH: maybe transmit BMP bitmap image and open it in browser with meta-refresh approach?...bmp header might be a problem tho.....
    Minimodem is slow 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 imagemagick        
            check: https://en.wikipedia.org/wiki/Netpbm_format
    gm convert to raw black and white pgm (use fbi (framebufferimage viewer) to view: sudo fbi -T 0 file.pgm):
    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)

sudo apt-get install minimodem

brew update brew install minimodem*pray*
*im praying but it still doesnt seem to work*
*updating brew does*

Pulseaudio doesnt work on osx, so you cant use minimodem 'in realtime'. You first need to write something to disk and then play it.

transmit message (write minimodem encoded file to disk and play it with afplay):
echo "hello" | minimodem -t 300 -f test.wav | afplay test.wav

receive message (write minimodem encoded file to disk and play it with afplay):
WIP (record audio to disk, decode file: minimodem -t 300 -f YOUR_FILE.wav)
sox -d --channels 1 test.wav 

minimodem -t 300 -f test.wav

(work in progress: sox -d --channels 1 test.wav -q | minimodem -t 300 -f test.wav)

Day 2

OSX + Homebrew
Ubuntu x2 x


Looking at USB key for television (DVBT)

http://gqrx.dk/ GQRX 

Other tool: CubicSDR


sudo dpkg -i CubicSDR-0.1.3-x64.deb

    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
     sudo apt-get install gqrx-sdr rtl-sdr
     you might also need to install pulse audio if you haven't yet!
    no GQRX look at: http://sdrsharp.com/
    D. P managed to get SDR sharp running with HackRF not with RTL-SDR though.
    for pocsag: http://www.rtl-sdr.com/rtl-sdr-tutorial-pocsag-pager-decoding/
    needs audio piping either through Stereo Mix, which is an option that can be enabled in Recording settings on Windows: http://www.rtl-sdr.com/tutorial-how-to-enable-stereo-mix-in-windows-7/
    or VB Audio Cable, which can be downloaded here: http://vb-audio.pagesperso-orange.fr/Cable/index.htm
    Nevertheless  PDW did not run yet. Could not encript any messages.

Ubuntu :
   - direct app paquet manager install :

    - french doc install :
       (some trouble here, compiling etc)
Ubuntu already has drivers that recognize RTL devices in their original role as DVBT receivers.
This causes crashes for SDR because the wrong drivers are loaded. So blacklist the DVBT drivers to make sure the RTL-SDR drivers are loaded:

From this error : "FATAL: Failed to open rtlsdr device ubuntu" 
Here are commands for the terminal / For ubuntu installation : https://groups.google.com/forum/#!topic/gqrx/4na-dWW3STc
Open a terminal and type: 
Add the following lines to the new file: 
Save and exit using CTRL+X then reboot the computer. 
To confirm you have the drivers (on linux) plug in the device and run:

You should get similar output

[114657.303404] usb 3-1.2: new high-speed USB device number 10 using ehci-pci
[114657.409322] usb 3-1.2: New USB device found, idVendor=0ccd, idProduct=00d3
[114657.409330] usb 3-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[114657.409334] usb 3-1.2: Product: RTL2838UHIDIR <-------------- Look for this
[114657.409338] usb 3-1.2: Manufacturer: Realtek
[114657.409341] usb 3-1.2: SerialNumber: 00000001

Belgium Frequency of interest:
    952 MHz GSM towers (encoded digital data)
    169.625 MHz Pager system (POCSAG encoded digital data)
Recording and Decoding

Record audio from GQRX, first define an output folder!:



Screenshot from Audacity:


Screenshotted audio file, recording of Pager message:

        first :  http://eliasoenal.com/2012/05/24/multimonng/
        comment from
        Graham - January 5, 2015 at 2:17 am
        sudo apt-get install libpulse-dev
        git clone https://github.com/EliasOenal/multimon-ng.git (dependecy = qmake) 
        cd /path/to/multimon-ng

is it ok ? confirm ? i don't know, you confirm?
ok ubuntu


If you have multimon-ng ready to roll:

install sox (a commandline sound player)
sudo apt-get install sox

then play your recorded sound file with sox and pipe it into multimon-ng. Make sure you select POCSAG1200 protocol (../wirelessness/POCSAG-protocol.pdf) demodulators

sox -t wav my_recoring.wav -esigned-integer -b16 -r 22050 -t raw - | multimon-ng -a POCSAG512 -a POCSAG1200 -a POCSAG2400 - OSX:
    install sox...

Note: if your audiofile is to noisy, it just doesnt work

test file in : ../wirelessness/
direct link : ../wirelessness/gqrx_20150821_104939_169621000_cut.wavhttp://
result :

OSX output of ../wirelessness/pocsag_ambulance.wav:



POCSAG1200: Address: 1306201  Function: 0  Numeric: U.5-.6]7[4[U--U.5-.0.-38- 65U.5-4U73491 263U95] 50U95 071301.46939- .69U 5.00000
POCSAG1200: Address: 1306201  Function: 0  Alpha:   +++swion+++P=03+++S=C201339.03181 (2923599)<NUL><NUL>
POCSAG1200: Address: 1306201  Function: 0  Skyper:  ***rvhnm***O</2***R<B1/0228-/2070<US>'1812488(??
POCSAG1200: Address:  119556  Function: 0  Alpha:   Thomas, Joris, Beschikbaarheid status is veranderd naar: onbeschikbaar (2441699

Meaning of the data
'Alpha' means alphanumeric message, aka ASCII human readble text.

In belgium the paging network infrastructure: http://www.astrid.be/templates/content.aspx?id=492&LangType=1033

Multimon also works the other way around, so it allows you to SEND pager messages.....maybe the fastest way to reach an ambulance, police, firetruck or a cab ;0 

Realtime Decoding using netcat

First tune in to your favorite digital encoded signal in gqrx, then pipe the sound into multimon:
Then define a port to stream the data over in GQRX by choosing a port in the network tab of the audiosettings screen;



NC, a little test. Open two terminals..

In the first:
    nc -l -p 5555

in the second:
    echo "test" | nc localhost 5555

 sudo nc -u -l -p 7355  | sox -r 48000 -t raw -b 16 -c 1 -e signed-integer /dev/stdin -r 22050  -t raw -b 16 -c 1 -e signed-integer - | multimon-ng -t raw -c -a  POCSAG1200 -f alpha  /dev/stdin
 nc  -u -l -p 7355 | sox -r 48000 -t raw -b 16 -c 1 -e signed-integer  /dev/stdin -r 22050 -t raw -b 16 -c 1 -e signed-integer - | multimon-ng  -t raw -c -a POCSAG512 -a POCSAG1200 -a POCSAG2400 -a SCOPE -f alpha   /dev/stdin 

Command line radio

to play 99.3Mhz with a WideFM filter  >> doesnt seem to work?
rtl_fm -f 99.3M -W -s 200000 -r 48000 - | aplay -r 48k -f S16_LEthis does:
rtl_fm -f 99.3M -s 200000 -r 32000 - | play -r 32k -t raw -e signed-integer -b 16 -c 1 -V1 -    
how to visualize though?

first make a 1 minute scan of the spectrum from 88mhz to 110Mhz in 8khz steps and save it as 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 pager frequency:

and plot it as an image:

rtl_fm -f 169.52M -n -s 200000 -r 48000 - | aplay -r 48k -f S16_LE 
NC, a little test. Open two terminals..

In the first:
    nc -l 5555

in the second:
    echo "test" | nc localhost 5555

Now for real:
    DOESNT WORK, latest OSX compiled version of GQRX is 2.20 and network streaming is only available in 2.3...
        Use only command line tools:

Calibrating the RTL-SDR receiver:

    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:
Examples of antennas:
links : 
* http://www.satsig.net/pointing/antenna-beamwidth-calculator.htm
* http://www.saveandreplay.com/Antenna_reference_chart.asp
Width of waterfall is an indicator of the slice size of the spectrum
The internal noise of your laptop needs to be as little as possible: put the antenna away from your laptop
88-110 MHz radio frequencies

Day 1

http://roelroscamabbing.nl/post-www/ <--- where we're coming from

what is radio? why is it relevant?
a kind of media-archeological approach

receive radio via software---floss dev
merge idea of radio with that of data
1s and 0s

tangible example: wireless diff from radio technopolitically (laws/machines with limitations/political barriers)
wireless car key can be recorded and playedback to open car ;)

radio as an infra---->structure: mapping --there are no general maps
what do you map?
spectrum - influenced by what you recieve --->different ways of mapping
physical places

    mainly listening
    - eventually there are transmitters
    - antennas
- challenging crossovers between tools and methodologies
- command line tools that can be piped
- antenna safari in the city--look around, map antennas, diff kinds (very exotic ones, some examples can be found in ../wirelessness/ )
- 1st day: discuss tools, listen to radio

signals in the air which sound like noises thay are actually digital signals, information (so, decoding processes) 
- how something in the air can be digital?? 
radio waves are physical phoenomenons, as light

questions of infrastructures: towers, physical location and materials 
looking around town for something that is usually overlooked
reconstruction radio infrastructure
questions of size (antennas...) also signifies their use, their meaning in use


keys and live cds with tools already installed

Mapping Wifi through long-exposure photography: http://www.nearfield.org/2011/02/wifi-light-painting
Sniffing public WIFI data/urls from passing trains: http://trainwatch.u0d.de/

Legality of listening (IN belgium, only to legal to listen to certain frequencies / services, others are illegal... for privacy reasons)