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:

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

Rate limit SSH connection attempts

I keep having to search for this little snippet, so here it is for my (and possibly your) convenience: how to rate limit SSH connection attempts with firewalld:

If you want to review the rules you just added, you can list them with:

It’s way easier in ufw, though:

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:

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

Note to self: SSL/TLS debug tool

I’m typing this up in English in case it turns up in someone’s Google search results. 

I wanted to check up on my TLS certificate on one of my Apache vhosts today, using the good old command:

but ended up receiving the self signed certificate that ran on the server’s default domain. That wasn’t very useful, but I was reminded that I had seen someone mention a different tool in a blog post ranting about certificate caching lately. In an effort to avoid having to go through all the convoluted brain racking and Google searching the next time I want to find said tool, I’m leaving this note for myself here.

The tool in question is called gnutls-cli, and is part of the gnutls-utils package on Fedora or in gnutls-bin on Debian/Ubuntu. The syntax is very nice:

and it handles vhosts and stuff like that. It connects to port 443 by default, so the port part can usually be omitted.

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:

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

And add this as its content:

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:

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:

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

HTPC del 2

Jeg skrev her om dagen at jeg tenkte å vente med bestilling av resten av HTPC-en til etter at jeg hadde mottatt mitt utkårede TV-kort, men den planen måtte i dag forkastes. Min tankegang er at jeg uansett snart blir nødt til å bytte ut Asrocken, og at et helt vifteløst system uansett ikke er å forakte. Dessuten, når jeg mottar TV-kortet må jeg jo ha en egnet maskin å teste det i …

Så da ble følgende deler i dag bestilt:

Kabinettet er sånn ca. i 1U-størrelse, med étt utvidelsesspor for PCIe/PCI-kort i full høyde. Dette er tildels viktig, da det er der jeg skal stappe TV-kortet jeg har bestilt fra før. Siden PCIe-kortet blir liggende i 180° vinkel mot hovedkortet mot normalt 90° må man ha et fleksibelt PCIe riser-card, og det bestilte jeg fra eBay i helgen. Jeg fant et for PCIe 1x, som greier seg for mitt bruk, og det kostet bare $ 2.

Til kabinettet må man også ha strømforsyning, og der var det ikke akkurat noe utvalg, jeg måtte pent finne meg i å bruke 750,- på den tilhørende strømforsyningen. Spør ikke meg hvorfor de har valgt å selge dette separat, da det er eneste tilgjengelige alternativ. Samtidig tok jeg med IR-modulen som er spesiallaget til kabinettet, den har listet opp Linux som et støttet operativsystem, så der ble jeg positivt overrasket.

Så til hovedkortet. Der gikk jeg for et mATX-kort, da jeg vet av erfaring at Mini-ITX-hovedkortene har en kjøleribbe akkurat der hvor heatpipes-ene til kabinettet må gå fra CPU-en og bort til kabinettets yttervegg. Jeg har ikke lykkes i å finne et Mini-ITX-hovedkort uten denne lille skavanken. Men det spiller ingen rolle, det er god plass til et mATX-hovedkort. Kortet jeg valgte er rett og slett det billigste jeg fant på Komplett som oppfylte fire kriterier: Billig,på lager,  ingen kjøleribber eller andre elementer i veien for der heatpipes må gå, og det hadde TOS-link for optisk lyd. Jeg er enn så lenge avhengig av dette for å få digital lyd til receiveren min, som mangler HDMI.

Til hovedkortet valgte jeg bare ut litt RAM som lå linket opp som tilbehør for hovedkortet, mest fordi jeg er lat. RAM er billig, og ytelsen på RAM-en er ikke noe jeg trenger å bry meg om i dette prosjektet. Jeg ser imidlertid på bilder i etterkant at de er unormalt høye på grunn av noen rare kjøleribber, så det blir spennende å se om de passer.

Prosessoren er derimot et mer gjennomtenkt valg: Jeg vil ha nok kraft til å kunne kjøre de mer effektdrevne temaene til XBMC, samtidig som jeg vil ha lavt strømforbruk både for varmeutviklingens og strømregningens del. Core i3 finnes i 35W, 55W og 65W, jeg landet på 3225-varianten fordi den hadde den greie kombinasjonen av 55W og nyeste versjon av Intels on-chip GPU: HD4000. Dette burde gi meg mer enn nok kraft til å både dra grensesnittet og spille av filmer i full HD, kanskje til og med med litt etterprosessering. Det er også viktig å huske at jeg skal kjøre PVR på denne maskinen, så jeg trenger litt kraft til videohåndtering.

Til sist må man jo også ha en harddisk å kjøre det hele på. Her gikk jeg rett og slett for kriteriene: «billig» og «på lager». Ytelsen er igjen ikke noe stort problem, jeg går for SSD mest på grunn av at det er fullstendig støyløst.

Det hele kom på den nette sum av 5.851,00 med frakt. Det koster å være kar. Dessverre var ikke strømforsyningen på lager, så jeg må smøre meg med tålmodighet til de får den inn, «ubekreftet dato» lover aldri godt.

Ny HTPC på gang

Det har gått godt over tre år siden jeg skrev et av mine mest populære innlegg på denne bloggen, om «den perfekte HTPC». Den gangen var HD-avspilling den store utfordringen, det krevde en tildels dyr og kraftig CPU å spille av innhold i 1080p. I dag kan «alt» spille av HD, så man er ikke lenger så begrenset av hardware. Jeg kjører fortsatt XBMC på min trofaste Asrock NetTop ION 330, og det fungerer fortsatt helt flott, men det er et par «men».

  • Vifta (liten som den er) begynner å høres ganske godt.
  • DVD-ROM-stasjonen har dødd (selv om jeg knapt har brukt den).
  • Når jeg slår på noen av de tøffere effektene i XBMC begynner det å lugge.
  • Oppskalering av SD-materiale gir av og til litt hakkende avspilling.
  • Den har ikke innebygget IR-mottaker.
  • Den støtter ikke TV-signaler.

Det er det siste punktet som egentlig har plaget meg mest. Nå ser jeg ikke mye på TV, men i mangel av TV-tuner på HTPC-en så må man likevel en sjelden gang *grøss* bytte til en annen input på TV-en. Og fordi jeg har en litt aldrende forsterker, også på forsterkeren (ja, jeg vet det finnes produkter som Logitech Harmony, men for det første synes jeg de suger, og for det andre er det bare en workaround).

I det siste har det så skjedd et par ting som har gitt meg idéer og drømmer om en bedre HTPC. Men før jeg kommer inn på det må jeg nesten ramse opp hva jeg ønsker meg i en HTPC:

  • Fullstendig lydløs.
  • Pent og ryddig grensesnitt.
  • Støtte for full HD.
  • Støtte for HDPVR på digital kabel-TV.
  • Effektiv fjernkontroll.

Noen av disse punktene har jeg altså allerede, XBMC har et uovertruffent system for mediehåndtering og har rik støtte for ulike skins og plugins. Jeg kan ikke leve uten. Så, til de tingene som har skjedd i det siste.

En ny versjon av XBMC, med kodenavn «Frodo», vil ha støtte for TV-signaler og PVR (opptak)! Dette har stått på manges ønskeliste i mange, mange år, og ut fra det jeg ser på bilder så er integrasjonen veldig god! Andre nye ting som kommer i den nye versjonen av XBMC er støtte for «HD-lyd» (placebo for audiofile) og forbedringer i UPnP-støtten, som heller ikke er å kimse av.

Den andre tingen som har skjedd er at jeg i forbindelse med et prosjekt på jobben har hatt behov for å bygge et fullstendig vifteløst system med tildels kraftig CPU, og i den anledning har fått øynene opp for de vifteløse kabinettene fra Streacom. Disse kabinettene er tildels dyre, men det synes jeg er vel verdt det; de er pene å se på og de tillater deg å bygge en fullstendig vifteløs PC. De kommer med heatpipes som leder varmen ut i kabinettet. Det kabinettet jeg har testet har også støtte for étt full-størrelse PCIe-kort, som kommer godt med når man har tenkt å ha et TV-kort.

Så var det dette med TV-kort. Jeg har i kveld gjort en del research, og har funnet ut at det faktisk er étt eneste TV-kort som har støtte for Common Interface og fungerer på Linux, med det kryptiske navnet TBS6618. Så i kveld har man gått til spontan-innkjøp av dette, og jeg er veldig spent på hvordan det kommer til å fungere. Jeg kommer til å vente med å kjøpe resten av delene for min nye HTPC til etter at jeg har mottatt dette, for hvis det ikke fungerer så ser jeg ikke mye poeng i oppgraderingen.

Planen er i hvert fall å dokumentere fremgangen i mitt nye lille hobbyprosjekt her på bloggen.

How to fix blue tint in Flash videos on Linux without disabling hardware acceleration

So, I’ve been having this problem for a while now, where Youtube videos and some other videos will mess up the color channels for a video, and you get a blue tint on all videos, also known as the smurf effect. An example can be seen below:

Most of the solutions posted online for this problem involves disabling hardware acceleration, which is wildly undesirable, since, you know, this makes videos slow and sluggish, especially in fullscreen. Removing the faulty library, libvdpau, is also undesirable, since it is used in other video players than Flash.

But there is one solution, posted here, that lets you keep your hardware acceleration enabled, and fixes the smurfy colors. I keep forgetting the solution, though, hence this blog post. Hopefully, some other poor bugger (you?) is able to find it as well. Here’s the solution for Fedora 17 64-bit:

cd /usr/lib64/flash-plugin/
sudo perl -pi.bak -e 's/libvdpau/lixvdpau/g' libflashplayer.so

The directory where libflashplayer.so is stored may vary, you can find out where it is by doing something like this:

cd /usr
find . -name libflashplayer.so

What the command does is to change the string «libvdpau» to «lixvdpau» in libflashplayer.so, making it impossible to load that library. The performance will take a little hit, but not as much as disabling acceleration altogether.

Note: after each flash-update, you need to apply this fix again, as the file gets overwritten by the update. Hopefully libvdpau (or preferably flash itself, but don’t count on it) will get patched with a workaround for this annoying bug soon.