Archive for the ‘Uncategorized’ Category

MythTV on the ASUS A78L-M/USB3

A couple of quick notes on my MythTV setup. My combined frontend/backend runs on an A78L-M/USB3 board on Arch Linux. I updated the BIOS from 0211 to 1503 without any problems today.

Wake on Lan

The MythTV Wiki on WOL says to use ethtool -s g to enable WOL. On my setup, I need ethtool -s bg. My box is running Arch with systemd, so my /etc/netctl/ethernet-static looks like this:

Description='A basic static ethernet connection'
ExecUpPost='/usr/bin/ethtool -s enp2s0 wol pg'

Don’t forget to enable „Wake on PME“ in the BIOS setup.

ACPI Wakeup

My box turns off automatically to save power. The backend sets a wake-up time to start it back up in time for the next recording. This works pretty much as described in the MythTV Wiki on ACPI Wakeup. However, I had to disable the HPET function to make it work.. Disable the HPET timer by adding hpet=disable to the boot parameters in /boot/grub/menu.lst. Mine looks like this:

# (0) Arch Linux LTS
title  Arch Linux LTS
root   (hd0,0)
kernel /boot/vmlinuz-linux-lts root=/dev/disk/by-uuid/92e04f63-eac7-40a3-b063-34a5daaddab1 ro hpet=disable init=/usr/lib/systemd/systemd
initrd /boot/initramfs-linux-lts.img

As you can see, I am using the LTS kernel.  This is Linux 3.0 right now, so your results might differ on a newer kernel. In the BIOS setup, you have to disable „Wake On RTC“. Yes, this is quite counter-intuitive.

That’s it

I hope my notes will help someone. I’ve had the hardware for quite some time now, but only got around to sharing my notes today as I was working on the box. Don’t forget to read the wiki articles I linked.


Rooting the Sony Xperia Go on Linux

This is for Gingerbread. My phone is still on stock software, fresh out of the box.

  •  Get Bootloader unlock code as per
  •  Download „SDK Tools“ from
  •  Extract SDK Tool, run tools/android to start the SDK Manager
  •  Install „Android SDK Platform Tools“ in SDK Manager
  •  You now have platform-tools/fastboot – I had a very old version I downloaded from HTC and it did not support the -i option
  • Shut down phone, unplug phone from computer, hold Volume+ button, plug phone back in. LED should be violet.
  • Run platform-tools/fastboot -i 0x0fce getvar version to verify the whole thing is working
  • platform-tools/fastboot -i 0x0fce oem unlock 0xYOURKEY

laga@moar:~/download/android-sdk-linux$ sudo platform-tools/fastboot -i 0x0fce oem unlock 0x7B6F8ECE8CFF162E

(bootloader) Unlock phone requested
OKAY [  0.089s]
finished. total time: 0.089s

You might need to obtain root privileges to be able to talk to the device node. Or fiddle with chown in /dev/bus/usb/ – YMMV.

Your bootloader is now unlocked. Congrats. Your user datas has been wiped as well.

Now on to the rooting part:

* Go to

  • Download and unzip
  • Make sure your phone is running the right firmware version!
  • Bring phone back to fastboot mode (violet LED) by shutting down, holding VOL+ and plugging in USB
  • platform-tools/fastboot -i 0x0fce flash boot kernel.sin
  • Download root_tools.rar and unrar
  • Unplug phone from USB, replug and start it
  • If necessary, enable debug mode on the phone
  • Execute shell commands listed on XDA page

You will probably notice that there is a v6 version of the download. That one did not have the kernel.sin file, so I used the v5 file.



Meine Mail an Maxdome

Sehr geehrtes Maxdome-Team,

ich habe mir über ihre aktuelle Promo-Aktion einen kostenlosen Monat Premium und die Blockbuster-Option gesichert. Vielen Dank dafür.

Laut der Mail, die das Angebot enthält, ist eine problemlose Kündigung per Web-Oberfläche möglich. Die Blockbuster-Option konnte ich so auch abbestellen, nur bei der Premium-Option erhalte ich die Meldung, doch bitte die Hotline anzurufen, da meine „Meinung wichtig ist“.

Bitte schalten sie mir einfach die Option zur Kündigung im Webinterface frei; ich habe keinerlei Interesse, Ihre Hotline anzurufen. Tatsächlich brefremdet mich das Geschäftsgebahren, die Aussage der einfachen Kündigung nicht einzuhalten und stattdessen als Hürde den Anruf bei der Hotline einzubauen.

Mit freundlichen Grüßen,

Michael Haas


Privacy on Android and ICS

I’m a big fan of keeping private data private. This entails not having my cell phone send out information about my location, email address, contacts or usage patterns to third parties.

These days, privacy is not highly valued by Google and app developers. Thus, I choose not to run Google Play on my phone. In addition, I try to use FLOSS apps from the F-Droid repository at as much as possible, but I have the occasional closed source app on my phone. By the way, if you’re looking for a nice third-party market, go look at

Some of these closed source apps still want to send my IMEI or whatever to their developers. Some might even include ads – nothing wrong with showing me some advertisements, but you don’t need my location for that. How do I deal with these apps?

I have a multi-tier approach to deal with privacy-violating closed source apps.

For one, I use the adaway app to block most ad-serving hosts via the /etc/hosts file. This has the nice side effect of effectively disabling ads in the browser.
Additionally, I use DroidWall to block net access for apps which don’t need it. I have bought (with money, you know) a camera app and I don’t see why it should phone home, so it goes on the blacklist.

CyanogenMod 7.1 provides a nice feature for the privacy-loving hippie: permission management. Once enabled, you can simple revoke permissions such as „Internet Access“ or „Read phone state“ and the app will receice an exception indicating permission denied if it tries to phone home or read my IMEI. Unfortunately, these exceptions can break apps, so this is not the best way to go about this. Additionally, not all information leaks require permissions to be acquired, such as

A better approach would be provide bogus or random data via the API calls. I had this idea some weeks ago, but I was too lazy to download the CyanogenMod source and implement it myself. But of course, someone at XDA has beat me to it and there’s an app called PDroid: As a downside, this requires a patched ROM and
the management app is not open source, but it should do the job very nicely.

The conspiracy theorists out there will find this thread interesting:
„Originally, the functionality for CM mirrored that of PDroid, including ’spoofing‘ the data calls. It was decided that our footprint in the Android ecosystem was too large to ship such functionality out of the box“

Now I only need to find time to clone the AOKP repositories, apply the patch, make the whole thing build, reflash my device.. I’d love to have some 30h days. I could train twice as much and still get fun work done!

As a closing note: if you’re concerned about privacy on Android, also check out the encryption features both found in stock ICS and in patches provided by third parties, such as the EFF. In the end, there is no absolute security and privacy as we will never get the source code for the radio software and other proprietary bits – but keeping stuff like CarrierIQ out of userspace is good enough sometimes.

Herzhafte Paleo-Muffins

Man nehme:

6 Eier (Größe M)
150g Mandelmehl (gemahlene Mandeln) (von Rewe oder Lidl, inkl. der braunen Schale der Mandeln)
Salz, Pfeffer, Pizzagewürz
Für die „Füllung“:
Gewürfelter Käse
Gewürfelte Paprika

Eier mit Mandelmehl pürieren. Papierförmchen in Muffin-Blech legen. Den Teig auf die 12 Förmchen verteilen. Füllung auf den Teig legen.

Bei circa 180Grad Celsius circa 10 Minuten in den Ofen.


Mandelmehl: 945kcal, 38,7g Eiweiß, 6,6g Kohlenhydrate, 81.5g Fett
Eier: 516kcal, 45g Eiweiß, 5,4g Kohlenhydrate, 35,4g Fett

1416kcal für die komplette Portion und 121kcal pro Muffin. 7g Eiweiß, circa 1g Kohlenyhdrate und 9,7g Fett pro Muffin.


Running FHEM as non-privileged user on OpenWRT

15. Januar 2012 1 Kommentar

By default, the FHEM build provided by HU Berlin runs the daemon as user root. This is bad for security reasons, so let’s fix this.

Fix permissions of the log directory by default:
chown -R nobody:nobody /data/log/fhem/

Install the ’sudo‘ package so we can actually switch to a different user:
opkg install sudo

Then edit the init script in /etc/init.d/fhem to look as follows:



start() {
chown $USER:$GROUP /data/log/fhem
chown $USER:$GROUP /etc/fhem.cfg                             
sudo -u $USER -g $GROUP perl /usr/bin/ /etc/fhem.cfg &

stop() {
sudo -u $USER -g $GROUP perl /usr/bin/ 7072 "shutdown"


As you can see, we define some variables for the user and group so we can easily change that later, e.g. if we decide to add a dedicated user account for FHEM. We also add a DEVICE variable which will be used to change ownership on the device node for the CUL. As FHEM no longer runs as root, we need to adjust the permissions of that device node so FHEM can actually talk to the CUL.

That’s it – I have not received my CUL yet, so this is untested, but FHEM seems to run nicely.

edit: received my CUL today and updated the init script shown above. The previous version should never have worked in the first place.

edit2: fhem needs to be able to modify its config file.




So muss das.