- <div class="title"><a href="http://people.skolelinux.org/pere/blog/Simpler_recipe_on_how_to_make_a_simple__7_IMSI_Catcher_using_Debian.html">Simpler recipe on how to make a simple $7 IMSI Catcher using Debian</a></div>
- <div class="date"> 9th August 2017</div>
- <div class="body"><p>On friday, I came across an interesting article in the Norwegian
-web based ICT news magazine digi.no on
-<a href="https://www.digi.no/artikler/sikkerhetsforsker-lagde-enkel-imsi-catcher-for-60-kroner-na-kan-mobiler-kartlegges-av-alle/398588">how
-to collect the IMSI numbers of nearby cell phones</a> using the cheap
-DVB-T software defined radios. The article refered to instructions
-and <a href="https://www.youtube.com/watch?v=UjwgNd_as30">a recipe by
-Keld Norman on Youtube on how to make a simple $7 IMSI Catcher</a>, and I decided to test them out.</p>
-
-<p>The instructions said to use Ubuntu, install pip using apt (to
-bypass apt), use pip to install pybombs (to bypass both apt and pip),
-and the ask pybombs to fetch and build everything you need from
-scratch. I wanted to see if I could do the same on the most recent
-Debian packages, but this did not work because pybombs tried to build
-stuff that no longer build with the most recent openssl library or
-some other version skew problem. While trying to get this recipe
-working, I learned that the apt->pip->pybombs route was a long detour,
-and the only piece of software dependency missing in Debian was the
-gr-gsm package. I also found out that the lead upstream developer of
-gr-gsm (the name stand for GNU Radio GSM) project already had a set of
-Debian packages provided in an Ubuntu PPA repository. All I needed to
-do was to dget the Debian source package and built it.</p>
-
-<p>The IMSI collector is a python script listening for packages on the
-loopback network device and printing to the terminal some specific GSM
-packages with IMSI numbers in them. The code is fairly short and easy
-to understand. The reason this work is because gr-gsm include a tool
-to read GSM data from a software defined radio like a DVB-T USB stick
-and other software defined radios, decode them and inject them into a
-network device on your Linux machine (using the loopback device by
-default). This proved to work just fine, and I've been testing the
-collector for a few days now.</p>
-
-<p>The updated and simpler recipe is thus to</p>
-
-<ol>
-
-<li>start with a Debian machine running Stretch or newer,</li>
-
-<li>build and install the gr-gsm package available from
-<a href="http://ppa.launchpad.net/ptrkrysik/gr-gsm/ubuntu/pool/main/g/gr-gsm/">http://ppa.launchpad.net/ptrkrysik/gr-gsm/ubuntu/pool/main/g/gr-gsm/</a>,</li>
-
-<li>clone the git repostory from <a href="https://github.com/Oros42/IMSI-catcher">https://github.com/Oros42/IMSI-catcher</a>,</li>
-
-<li>run grgsm_livemon and adjust the frequency until the terminal
-where it was started is filled with a stream of text (meaning you
-found a GSM station).</li>
-
-<li>go into the IMSI-catcher directory and run 'sudo python simple_IMSI-catcher.py' to extract the IMSI numbers.</li>
-
-</ol>
-
-<p>To make it even easier in the future to get this sniffer up and
-running, I decided to package
-<a href="https://github.com/ptrkrysik/gr-gsm/">the gr-gsm project</a>
-for Debian (<a href="https://bugs.debian.org/871055">WNPP
-#871055</a>), and the package was uploaded into the NEW queue today.
-Luckily the gnuradio maintainer has promised to help me, as I do not
-know much about gnuradio stuff yet.</p>
-
-<p>I doubt this "IMSI cacher" is anywhere near as powerfull as
-commercial tools like
-<a href="https://www.thespyphone.com/portable-imsi-imei-catcher/">The
-Spy Phone Portable IMSI / IMEI Catcher</a> or the
-<a href="https://en.wikipedia.org/wiki/Stingray_phone_tracker">Harris
-Stingray</a>, but I hope the existance of cheap alternatives can make
-more people realise how their whereabouts when carrying a cell phone
-is easily tracked. Seeing the data flow on the screen, realizing that
-I live close to a police station and knowing that the police is also
-wearing cell phones, I wonder how hard it would be for criminals to
-track the position of the police officers to discover when there are
-police near by, or for foreign military forces to track the location
-of the Norwegian military forces, or for anyone to track the location
-of government officials...</p>
-
-<p>It is worth noting that the data reported by the IMSI-catcher
-script mentioned above is only a fraction of the data broadcasted on
-the GSM network. It will only collect one frequency at the time,
-while a typical phone will be using several frequencies, and not all
-phones will be using the frequencies tracked by the grgsm_livemod
-program. Also, there is a lot of radio chatter being ignored by the
-simple_IMSI-catcher script, which would be collected by extending the
-parser code. I wonder if gr-gsm can be set up to listen to more than
-one frequency?</p>
+ <div class="title"><a href="http://people.skolelinux.org/pere/blog/Add_on_to_control_the_projector_from_within_Kodi.html">Add-on to control the projector from within Kodi</a></div>
+ <div class="date">26th June 2018</div>
+ <div class="body"><p>My movie playing setup involve <a href="https://kodi.tv/">Kodi</a>,
+<a href="https://openelec.tv">OpenELEC</a> (probably soon to be
+replaced with <a href="https://libreelec.tv/">LibreELEC</a>) and an
+Infocus IN76 video projector. My projector can be controlled via both
+a infrared remote controller, and a RS-232 serial line. The vendor of
+my projector, <a href="https://www.infocus.com/">InFocus</a>, had been
+sensible enough to document the serial protocol in its user manual, so
+it is easily available, and I used it some years ago to write
+<a href="https://github.com/petterreinholdtsen/infocus-projector-control">a
+small script to control the projector</a>. For a while now, I longed
+for a setup where the projector was controlled by Kodi, for example in
+such a way that when the screen saver went on, the projector was
+turned off, and when the screen saver exited, the projector was turned
+on again.</p>
+
+<p>A few days ago, with very good help from parts of my family, I
+managed to find a Kodi Add-on for controlling a Epson projector, and
+got in touch with its author to see if we could join forces and make a
+Add-on with support for several projectors. To my pleasure, he was
+positive to the idea, and we set out to add InFocus support to his
+add-on, and make the add-on suitable for the official Kodi add-on
+repository.</p>
+
+<p>The Add-on is now working (for me, at least), with a few minor
+adjustments. The most important change I do relative to the master
+branch in the github repository is embedding the
+<a href="https://github.com/pyserial/pyserial">pyserial module</a> in
+the add-on. The long term solution is to make a "script" type
+pyserial module for Kodi, that can be pulled in as a dependency in
+Kodi. But until that in place, I embed it.</p>
+
+<p>The add-on can be configured to turn on the projector when Kodi
+starts, off when Kodi stops as well as turn the projector off when the
+screensaver start and on when the screesaver stops. It can also be
+told to set the projector source when turning on the projector.
+
+<p>If this sound interesting to you, check out
+<a href="https://github.com/fredrik-eriksson/kodi_projcontrol">the
+project github repository</a>. Perhaps you can send patches to
+support your projector too? As soon as we find time to wrap up the
+latest changes, it should be available for easy installation using any
+Kodi instance.</p>
+
+<p>For future improvements, I would like to add projector model
+detection and the ability to adjust the brightness level of the
+projector from within Kodi. We also need to figure out how to handle
+the cooling period of the projector. My projector refuses to turn on
+for 60 seconds after it was turned off. This is not handled well by
+the add-on at the moment.</p>
+
+<p>As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>