Fixing multiple button presses being detected on IR remote on Linux when using evdev

Or: make your MCE remote work properly again on Kodi after upgrading to Ubuntu 18.04. No LIRC required.

Ever since I upgraded my Kodi box to Ubuntu 18.04, I’ve been having issues with my beloved remote control, the MCE remote from Microsoft. (I’ve had it for years, I have perfect muscle memory for all the buttons. All the most important buttons are within thumb reach.)

My remote, an MCE type 2

First, it wouldn’t work at all, and after some frustrating hours of problem shooting I got it sort-of, kind-of working, but it started repeating button presses, ignoring some buttons and generally being pretty useless. I eventually gave up on using the original IR receiver, and found that if I used a third party IR receiver acting like a HID device, I could tweak the keyboard bindings in Kodi to make it more or less feature complete.

That only left me with one annoyance: some buttons would register double presses. Worse, the all important «OK» button was one of them. Whenever I was navigating through my media, the double click would randomly start a movie I didn’t mean to, go to a season I didn’t intend etc. Changing options was also a big hassle, whenever I tried to toggle subtitles, they would generally un-toggle immediately.

Fortsett å lese Fixing multiple button presses being detected on IR remote on Linux when using evdev

Using a Raspberry Pi as a surveillance camera in Home Assistant

Background

For the last few months I’ve been slowly building out my home automation system, based on Home Assistant. I have a couple of basic requirements for anything I add to it: It shouldn’t break the bank, and I don’t want any cloud features. For one thing, I don’t want my devices to suddenly stop working because of service disruptions, bankruptcy or outright planned obsolescence, but more importantly: I want to control my personal data.

I have a couple of other guiding principles as well: devices and systems based on open source is preferred, and whenever that is impractical, the stuff I buy should at least be based on industry standards. No walled gardens, please!

For instance I ended up with IKEA Trådfri for my lights, partly because of this short review by Matthew Garrett. I’ve successfully mixed and matched light bulbs from IKEA and Philips. I’ve also invested in a USB stick for Z-Wave integration.

So when I started looking for ways to add some cameras to the system, I quickly realized that «reasonably priced» and «no cloud» don’t mix. There are some awesome networked cameras out there, especially the Xiaomi Xiaofang/Wyzecam devices have impressive specs and are surprisingly affordable. Too bad that they also come with those pesky clouds (though there are ways to turn that stuff off). I could have gone with more traditional surveillance cameras from companies like Axis or Planet, but they are much pricier, and would generally require a wired connection. 

So I gave up looking for my dream camera, partly because I finally had an excuse to start messing around with Raspberry Pi and its Camera Module V2!

Fortsett å lese Using a Raspberry Pi as a surveillance camera in Home Assistant

Kom i gang med moddet Minecraft

En kollega på NTNU lurte på om jeg kunne gi noen råd og vink om hvordan man tryggest mulig kunne laste ned og bruke såkalte «mods» i Minecraft, og jeg har i lengre tid glemt og/eller utsatt å gi ham tilbakemelding på dette. I stedet for å bare sende det til ham på e-post tenkte jeg at det kunne være nyttig for andre der ute, så her kommer tipsene i form av en blogg-post!

Målgruppen for denne bloggposten er sikkerhetsbevisste foreldre og foresatte som skal hjelpe yngstemann – som sannsynligvis allerede har satt i gang litt på egenhånd – og kanskje står litt fast.

Innledningsvis er det verdt å påpeke at denne artikkelen vil fokusere på Minecraft Java Edition, som kun kan spilles på PC. Dette må da selvfølgelig kjøpes først, og det eneste legitime stedet å kjøpe Minecraft er fra https://minecraft.net/. En Minecraft-lisens er knyttet til en brukerkonto, og denne brukerkontoen skal man bruke for å logge inn i en egnet launcher (slapp av, på neste side begynner jeg å forklare begrepene).

Forbehold og ansvarsfraskrivelse: disse rådene og vinkene følges på eget ansvar, og jeg ønsker ikke å være noen form for brukerstøtte.

Fortsett å lese Kom i gang med moddet Minecraft

Automatically tune PowerTop on bootup with SystemD

I use PowerTOP to get the most out of my battery on my laptop. Since PowerTOP doesn’t remember the settings from the previous bootup, I’ve made this quick and dirty SystemD unit file to fix my powertop settings on each boot:

[Unit]
Description=PowerTOP tunings

[Service]
Type=oneshot
ExecStart=/usr/sbin/powertop --auto-tune

[Install]
WantedBy=multi-user.target

Save it in /etc/systemd/system/powertop.service, run systemctl daemon-reload; systemctl enable powertop.service, and Bob’s your uncle.

Myke sjokolade-cookies

Som oftest når man handler cookies i dagligvarebutikken er de av det harde, tørre slaget. Tenk Safarikjeks og lignende. Men hvis du handler cookies på f.eks. Subway får du myke, deilige sjokolade-cookies (finnes det egentlig et bra norsk navn? Det er jo ikke kjeks …).

Her er en oppskrift på denne typen sjokoladekjeks, som jeg har oversatt til norske mål, basert på denne oppskriften.

Tips

  • Skaff en liten iskremskje, av typen for å lage runde kuler. En som rommer ca. 1 spiseskje.
  • Smøret skal ha romtemperatur.
  • Vær varsom etter at du har blandet inn hvetemelet, det skal bare vendes forsiktig inn, ellers risikerer du at hvetemelet danner glutenbindinger (og cookie-ene blir harde).
  • Bruk kjøkkenmaskin.
  • Vaniljeekstrakt kan kjøpes på Kitchn (vaniljeessens er brunt, ikke klart), eller på helsekostbutikker.

Ingredienser

Målene blir litt merkelige på grunn av oversettelsen fra amerikanske mål. Hvis du har målestreker for antall kopper så blir det litt enklere, jeg har oppgitt de opprinnelige målene i parentes.

  • 5.3 dl hvetemel (2 ¼ kopp)
  • ½ ts bakepulver
  • 225 g usaltet meierismør
  • 1.2 dl brun farin, hardpakket (½ kopp)
  • 2.4 dl sukker (1 kopp)
  • 1 ts salt
  • 2 ts vaniljeekstrakt (IKKE vaniljeessens)
  • 2 store egg
  • 3 plater kokesjokolade, lys eller mørk, hakket opp i små biter

Fremgangsmåte

Sett ovnen på 175° C når røren begynner å bli klar.

Bland sammen hvetemel og bakepulver i en egen bolle, sett til siden.

Bland sammen sukkeret og smøret med kjøkkenmaskin på medium hastighet, til det er lyst og lett. Sett ned hastigheten og tilsett eggene, salt og vaniljeekstrakt. Når dette er godt blandet kan du tilsette melblandingen, men vær varsom. Vend inn sjokoladebitene til slutt.

Bruk en liten iskrem-skje (eller spiseskje) til å lage små klatter med røre på et stekebrett dekket med bakepapir, ca 5 cm fra hverandre. Deigen er ganske seig, og klattene ser høye ut, men de siger ned under steking.

Stek midt i ovnen til cookie-ene blir gyldne langs kanten, dette tar 8-10 minutter. Hvis klattene er større tar det lenger tid. Avkjøl på bakepapiret i et par minutter, og overfør dem til en rist til de er helt kalde.

Welcome to The Dark Side.

How to hide OneDrive from Windows 10 File Explorer

I finally found an easy and elegant solution to hiding that annoying OneDrive icon from the side bar of File Explorer in Windows 10:

regedit -> search for «IsPinnedToNameSpaceTree» (or browse to HKEY_CLASSES_ROOT\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}, but searching is way faster), and set that to 0.

And since I love using PowerShell for stuff these days, here’s how you do it from the command line:

New-PSDrive -PSProvider registry -Root HKEY_CLASSES_ROOT -Name HKCR
Set-ItemProperty HKCR:\CLSID\`{018D5C66-4533-4307-9B53-224DE2ED1FE6`} -Name System.IsPinnedToNameSpaceTree -Value 0

How to disable EmulateWheel for TrackPoint

I upgraded to Fedora 22 on my ThinkPad X240 today, and immediately ran into a surprising and infuriating problem: My middle mouse button stopped working as a mouse button. Instead, it started behaving as a scroll button. I don’t need a scroll button, I need a middle mouse button.

The behaviour of the middle mouse button is traditionally governed by the option «EmulateWheel» in xorg.conf, and the Internet is full to the brim of examples for how to *enable* this behaviour. Thus if you do a Google search on how to *disable* it, you end up finding instructions for disabling it. But that’s irrelevant, Fedora 22 has stopped honouring this setting anyway.

The only way I found to get my middle mouse button back was this command:

xinput --set-prop "TPPS/2 IBM TrackPoint" "libinput Scroll Method Enabled" 0 0 0

Now I just need to stick that into a shell script and run it on logon. *barf*

How to tweak Google Chrome under Linux to manage Exchange Server 2013

Most, if not all, day to day management tasks for Microsoft Exchange Server 2013 can be achieved via your web browser by accessing the so called «Exchange Administration Center» with your browser. This is very nice for those of us who don’t run Windows on their desktop, and should allow for a little less RDP in our lives. However, some of the modal dialogues (as in «Edit» or «New» dialogues for e-mail addresses, certificates, server aliases etc.) refuse to pop up in Google Chrome (as of Chrome 37).

I could of course have started to use Firefox to manage Exchange, but that would only be a small step away from running RDP anyway, so here’s how you can (TEMPORARILY) re-enable the showModalDialog API in Google Chrome under Linux:

If you’re reading this after May 1st 2015, then I’m sorry, you’ll have to use something else to manage Exchange.

First, create the directories needed to hold Chrome Policies:

sudo mkdir -p /etc/opt/chrome/policies/managed

Next, create a policy file to hold our new policy setting:

sudo nano /etc/opt/chrome/policies/managed/showmodal.json

And add this as its content:

{
 "EnableDeprecatedWebPlatformFeatures": ["ShowModalDialog_EffectiveUntil20150430"]
}

Then completely restart Chrome (confirm that no chrome process is running before starting it again, Chrome likes to leave a systray running etc.).

Once Chrome has been restarted, you can check if your new policy has been picked up by checking chrome://policy, something like this should be showing up:

chrome-policy

Allow multicast and IGMP with UFW for IPTV to work

If you have access to multicast television in your network (such as UNINETT’s IPTV offer), and you’re running Ubuntu’s «Uncomplicated Firewall» aka. ufw, you’ll find that you’re unable to actually watch any of the channels. Here’s how you can adjust your firewall to receive the UDP multicast traffic:

sudo ufw allow in proto udp to 224.0.0.0/4
sudo ufw allow in proto udp from 224.0.0.0/4

This will take care of the coming and going UDP packets, but you also need to allow IGMP packets through. I haven’t found any command to make this change, so instead, you need to open up the file
/etc/ufw/before.rules
and add the following lines somewhere before the COMMIT line:

# allow IGMP
-A ufw-before-input -p igmp -d 224.0.0.0/4 -j ACCEPT
-A ufw-before-output -p igmp -d 224.0.0.0/4 -j ACCEPT

Now you can reload the firewall and you should be able to watch that glorious multicast IPTV.

HTPC del 3 – byggingen

Her er tredje avsnitt av mitt nye HTPC-prosjekt. De forrige delene er her: HTPC del 1HTPC del 2.

HTPC-deler

På mandag fikk jeg omsider HTPC-delene fra Komplett, det vil si alt unntatt TV-kortet. Her er en kort worklog fra byggingen av PC-en så langt, og noen erfaringer jeg gjorde.

Sammen med kabinettet kommer det en hel haug med ulike skruer, sortert i hver sin lille pose merket med et nummer slik at det er lett å finne frem. Det følger også med to tuber med kjølepasta, så jeg fikk ikke bruk for den ekstra tuben med Arctic Silver som man ser på bildet. Det følger også med en fin og grundig bok med instruksjoner for monteringen, derfor tar jeg ikke for meg dette i detalj.

FestebrakettVerdt å merke #1 – kronglete CPU-brakett

Festebraketten for kjøleribben til CPU-en må settes sammen før den kan festes til hovedkortet. Dette innebærer å klemme noen C-ringer på plass samtidig som man presser noen fjærer sammen. Det er temmelig hardt for fingertuppene, og jeg anbefaler å bruke et magasin eller en papp-plate for å presse mot bordet mens man arbeider, og ta en skrutrekker eller tang til hjelp. Til slutt skal du stå igjen med det du kan se til høyre.

Nesten enda mer pirk er det å få på plass de rørene som skal lede varmen fra CPU-blokken og ut i kabinettet. Det er fort gjort at det blir mye klin på grunn av kjølepastaen som må påføres i samme operasjon. Det var en stor fordel å ikke ha montert noenting annet innen man kom frem til dette steget. En positiv ting var at det bare var fire rør, mot den forrige modellen jeg har montert, som hadde seks. Rørene har dessuten gått fra å være runde til å være litt sammenklemte, så de ikke vrir seg like lett.

IMG_0347_1

 

IMG_0349_1Etter alt dette var resten av byggingen bare plankekjøring, bortsett fra en liten strek i regningen, som jeg delvis hadde spådd i forrige innlegg: RAM-brikkene var nesten en cm for høye. Idet jeg konstaterte dette kastet jeg meg på komplett.no og bestilte nye, og denne gangen så jeg etter på bildet at de var lave. De nye RAM-brikkene kom bare to dager senere, og i mellomtiden var det ikke noe problem å bruke PC-en uten lokket på. Til min store overraskelse var de nye RAM-brikkene faktisk lavere enn normalt, så jeg gikk fra ytterkant til ytterkant.

Den observante leser vil innen nå ha lagt merke til at jeg ikke har tatt med noen form for optisk drev i denne HTPC-en, som vel kan regnes som noe uvanlig for sjangeren, men her er det et par faktorer som spiller inn: Jeg ser ikke på DVD-er lenger. Det tar nesten like lang tid å laste ned en film som det tar å lete den frem i DVD-hylla, og de har lav oppløsning uansett. Blu-ray får jeg ikke spilt av under Linux, og uansett er jeg en entusiastisk motstander av DRM-modellen på Blu-ray. Jeg har ingen planer om å eie en Blu-ray-spiller eller filmer på Blu-ray om jeg kan unngå det.

Installasjon av XBMC skal jeg ikke ta for meg her, jeg gikk ganske enkelt for ferdigløsningen XBMCbuntu, som er tilgjengelig fra nedlastingssiden til XBMC. Innstillinger og bibliotek dro jeg med meg fra den forrige HTPC-en ved å pakke sammen og overføre mappen ~/.xbmc. Gratis tips: slett alle filene som ligger i ~/.xbmc/addons/packages/, hos meg lå det 15 GB med gamle versjoner av plugins og temaer der.

Verdt å merke #2 – dårlig IR-mottaker

IR-mottakeren og fjernkontrollen som jeg kjøpte, som ifølge Streacom skulle være kompatible med Linux, viste seg å fungere bare sånn halvveis. Pilknappene, OK-knappen og bla-tilbake-knappen fungerte, men sånt som den grønne Windows-knappen som vanligvis fører deg tilbake til hjem-skjermen eller viser menyen mens du spiller av noe fungerte ikke.

Etter å ha klødd meg mye i hodet og prøvd ulike ting fant jeg ut at fjernkontrollen ikke ble operert via lircd i det hele tatt. Kort fortalt oppførte den seg som en mellomting mellom et tastatur og en mus. Dette fungerer svært dårlig i kombinasjon med XBMC, så jeg vil fraråde å kjøpe denne ekstramodulen til Streacom-kabinettene med mindre du skal bruke Windows.

Fjøsmekk IR-mottakerHeldigvis hadde jeg fortsatt min gamle fjernkontroll og mottaker fra den gamle HTPC-en. Det eneste aberet var at mottakeren er en diger kladd med en USB-ledning, som må ligge fremme et sted der den kan se signalene fra fjernkontrollen. Jeg fant en workaround for dette problemet: mottakeren har to ekstra ørsmå IR-sensorer som man kan strekke frem til andre steder i stua hvis man vil. Disse puttet jeg inni kabinettet, inntil IR-vinduet som eksisterte fra. De er ikke like følsomme som hoved-mottakeren, men de duger. Hovedmottakeren ligger nå bak PC-en sammen med den latterlig digre strømforsyningskladden, som er nesten like stor som den forrige HTPC-en min.

Dessverre er ikke denne fjernkontrollen/mottakeren i salg lenger, så hvis du planlegger å kopiere mitt oppsett må du finne på noe annet lurt.

Det eneste som gjenstår nå er å få på plass TV-kortet. Det ligger på Posten i dette øyeblikket og venter på meg, så på mandag finner jeg ut om jeg får mitt perfekte oppsett. Timingen er upåklagelig, for denne uka kom første Release Candidate av den nye XBMC-versjonen som inspirerte hele prosjektet.

HTPC-en på plass i benken