The Future is Now: IPv6 Dual Stack with Sailfish

Posted on .


Update 2015-06-08: With the latest update, 1.1.6.27 Aaslakkajärvi, there's no longer need to do this from the command line. You can now find the same setting in the Settings app, System → Mobile network → long press your mobile connection and select Edit → select "Dual" in the "Protocol" dropdown. It seems you still need to reboot the mobile network connection after doing this, so I suggest you disable and re-enable it just to be sure.


IPv6 has surely been a long time coming. First RFC'd in 1996, it has been 19 years and it's still not widely available. In Finland none of the three major ISPs offer IPv6 for regular broadband services. We are way past the end of IPv4 address space, but so far no one has seemed to care.

Times are changing, though, at least in Finland. The Finnish Communications Regulatory Authority -- FICORA -- has dedicated the 9th of June this year as the National IPv6 launch day. Any ISP participating must enable IPv6 permanently for all or selected contract types. All the big ISPs are on board, so the future is looking good. So far DNA has opened the game by enabling IPv6 on all of their mobile data packages. And not just some lame transition technology, they have native dual stack IPv4 and IPv6 on the same network, giving a /64 prefix to each client. Elisa have also started IPv6 trials on selected mobile contracts. No word yet from Sonera. Hopefully this will eventually push them to add IPv6 for non-wireless broadband too.

As I have a DNA mobile contract, I obviously had to enable IPv6 straight away. My phone runs Sailfish OS, which got dual stack support in the latest update (1.1.4.29 Äijänpäivänjärvi). There's no UI for it yet, so it has to be enabled through a D-Bus message. The command for enabling dual stack is the following:

/bin/dbus-send --system --print-reply --dest=org.ofono /ril_0/context1 org.ofono.ConnectionContext.SetProperty string:"Protocol" variant:string:"dual"

It can be executed without devel-su. Note that the mobile network must be down when executing the command. So it's easiest to turn airplane mode on while running it. The setting persists through reboots.

Suddenly, IPv6!

Based FingerTerm.
As you can see, my public IPv4 address is different from the internal one (it's NAT'd), but IPv6 allows for direct connectivity.

This is a good start, really looking forward to an IPv6 enabled Internet. Thanks, FICORA! 😊

PS.: If you tried the above and want to go back to single stack IPv4, you need to change the command so that the last part says variant:string:"ip".

Mebe and the Remote Shell

Posted on .

What better way to spend a slow weekend than by writing another blog engine? Plenty, actually, but that's what I did anyway. The result of this work: Mebe! This blog is now powered by a wonderful mix of Elixir and Phoenix. It has all the features that Laine had, with the addition of an actually working Disqus comment system. It's also search engine indexable, which I thought I didn't care about, until I didn't have it anymore. Not that I'm aiming for tons of visitors, but writing about some tech problem I have fixed is kind of pointless if no one can find the post by googling for it.

Emoji Support for WeeChat

Posted on .

Unicode versions 7 and 8 have added many new emoji to the standard. These emojis first became available in mobile phones and are supported by default on modern Android and iOS devices. OS X also has a builtin emoji input method. As such, emojis are beginning to appear on IRC too and it's useful to be able to see them.

🎼 Shairport and the Joys of Multi-Room Audio 🎵

Posted on .

I love listening to music. I carry my music collection wherever I go (in the form of an MP3 player), be it work, school or vacation. My last.fm profile logs tens of tracks every day and can probably creepily accurately pinpoint when I'm at work, alone at home or travelling from place to place. With this said, listening to music at home has earlier been somewhat of a chore – or at least I feel like it now.

Since I'm pretty often on the move with my laptop, I grew tired of having to pull the audio cord from the living room stereo receiver every time I wanted to listen to something. And when I did listen to something, I often alternated between the living room and the kitchen, where nothing was playing. Sometimes I resorted to putting the receiver in the living room at full blast to kind of hear it everywhere in the apartment – sorry neighbors.