Blog - Unity Behind Diversity

Searching for beauty in the dissonance

Tagged: openmoko

HOWTO: Installing Android on the Freerunner + Rogers APN

I’ve been using the Openmoko Neo Freerunner as my mobile phone for over two months now. The phone can run a variety of software distributions. I started off with the Om 2008.12 Update, but spent the first few weeks testing out other popular distributions: FDOM, SHR, Qt Extended and finally Android. When I first tested Android, I had some trouble connecting to the GSM network and it felt like there were still some issues being worked out, so I went back to Om 2008.12, with the intention of dual-booting Android. The dual-boot turned out to be a bit trickier than anticipated, and I kept putting it off. Om 2008.12 is a cool idea, but there were some really annoying bugs and little hope of future development [Update: Ben left a comment about the recent flurry of development, including progress on Om2009t5], so yesterday I took the dive and went to a single-boot Android setup.

I started off on the Openmoko wiki page about installing Android on the Freerunner, but the installation is quite simple if you’re going with Koolu’s Android images (though there are a few other options). They provide a near automatic installation with the latest beta releases. Simply visit the website to download the images, and the installation process is dead simple:

Installation Instructions for Beta4 and Later

  1. Unpack the files on to a FAT formatted SD card.
  2. Insert card into the Freerunner, and boot from NOR menu (hold AUX key, then power)
  3. Chose boot from SD Card (FAT and ext2)

The automated install process should begin. It installs the Qi bootloader, reboots, the kernel, reboots, then the system image.

NOTE: This install process overwrites *everything* on the NAND in the phone, including the bootloader. If this is not what you would like to do, please either look at the install process, and modify it to suit your needs.

I’m in the process and figuring out the APN settings for Rogers to make use of my data plan. Oliver Fisher has the details for how to setup the Rogers APN on a G1, which matches the details I got from calling Rogers tech support, but I haven’t been able to connect yet. Not sure if this is a problem with my APN settings or with my data plan. I’ll update this post with the details when I figure it out.

Update: I can’t seem to get connected, though sometimes it says connecting, but I’ve found two posts about the Android settings on the T-Mobile G1 with Rogers which match what I’ve been told when calling 1-888-ROGERS1 (, wapuser1 / wap).

Creative Commons Attribution-ShareAlike 4.0 International Permalink | Comments (2)

Unlocking An iPhone Is Not Freedom; Zittrain Argues For Civic Technologies

Cato Unbound has an outstanding online debate going on right now about Lawrence Lessig’s book Code and Other Laws of Cyberspace as it hits 10 years. Declan McCullagh started things off with a post entitled, “What Larry Didn’t Get,” offering a libertarian critique of Lessig’s approach and accusing him of favouring “technocratic philosopher kings.” Jonathan Zittrain has the latest post, “How To Get What We All Want,” which focuses on the similarities between McCullagh and Lessig and takes a middle ground between libertarianism and government regulation, arguing for civic technologies. Adam Theier has a post going up on Friday, and Lessig himself will have the last word on Monday. I highly suggest you check it out, if you’re at all interested in these issues and haven’t seen it already.

Now, I haven’t yet read Zittrain’s book, The Future of the Internet — And How To Stop It, but from the sorts of things I’ve read about it, I don’t think I share his pessimism. However, one line in his contribution to the debate really resonated with me. After talking about the dangers and limitations of proprietary technologies controlled by vendors (e.g. iPhone, Kindle, Facebook), he remarks:

This is the future of the Internet that I want to stop, and it’s small solace that geeks can avoid it for themselves if they can’t easily bring everyone else with them. [emphasis mine]

I get so frustrated when people rationalize the locked down nature of the iPhone by saying that they can just unlock it. Unlocking an iPhone is not freedom. (1) It still rewards Apple, the maker of the chains, through the purchase; (2) it’s a disservice to the vast majority of people who don’t have the skills to unlock their devices.

I strongly believe that if geeks want to do something useful to solve the problems that Lessig and Zittrain identify, it has to involve supporting free (libre) technologies that don’t have any chains, instead of just buying into proprietary technologies and removing their own chains.

The counterargument to Zittrain’s thesis isn’t a jailbroken iPhone; it’s an OpenMoko Freerunner.

This is why Zittrain holds up Wikipedia as an example of a civic technology; he notes the fact that Wikipedia is licensed freely. Free culture and free software are what produce civic technologies.

I don’t share his pessimism, but I sympathize with his argument for civic technologies.

Civic technologies seek to integrate a respect for individual freedom and action with the power of cooperation. Too often libertarians focus solely on personal freedoms rather than the serious responsibilities we can undertake together to help retain them, while others turn too soon to government regulation to preserve our values. I don’t think .gov and .com never work. I just think we too easily underestimate the possibilities of .org – the roles we can play as netizens rather than merely as voters or consumers.

Creative Commons Attribution-ShareAlike 4.0 International Permalink | Post a Comment

Getting Started with the Openmoko FreeRunner: Installing Om 2008.12 in Ubuntu

Heather, my girlfriend fiancée, was kind enough to buy me an OpenMoko Freerunner in January. I went out to get a new SIM card (since there were known issues with my current one) and I experimented with it for a couple weeks, but had to leave it be lately as the past couple months have been very busy.

This morning I got back into the game.

One thing I wish I’d known from the outset is that there are a bunch of different distributions available. When I went into the IRC channel for help, I got several (polite) rtfms directing me to the Getting Started guide (which I was already looking at). Except, the Getting Started guide and FAQ provided a ton of contradictory information (which I’ve since tried to correct) about which distribution ships by default, nevermind a clear explanation that there are different distributions to begin with. Even worse, the FreeRunner ships with Om 2007.2, which is old, basic and not even supported anymore. (My mom asks, “so, would you say that it’s not quite ready for the average user yet?” Considering that the first order of business is to reflash it with a new distribution…) It took me a while to figure all that out. I hope to spend some more time soon trying to improve the documentation so that new users aren’t as confused as I was in the beginning.

I’ve decided to start with Om 2008.12 Update, the latest official distribution. I may consider FAT and Dirty Openmoko (FDOM) soon, which is just Om 2008.12 “updated with many ready-to-use applications.” Qt Extended is on my radar as the just-a-working-phone distribution (but where’s the fun in that?). Though, the next major step I think will be to dual-boot with Android, as that seems like it may be the best option in the long-run (though it’s very much a work in progress now).

Installing Om 2008.12 Update in Ubuntu

Installing Om 2008.12 was actually pretty easy in Ubuntu: download the kernel and rootfs, then follow the instructions to flash the NeoFreeRunner. (I didn’t worry about a backup since I had nothing of value on there.)

I choose to use dfu-util instead of the NeoTool GUI because dfu-util is already in the Ubuntu 8.10 repositories.

sudo apt-get install dfu-util

I only encountered one problem when following the instructions. When I tried to run the dfu-util command, it detected two devices, even though I had nothing else plugged into my laptop but a power cord. The second one was named “UNDEFINED”, which wasn’t particularly helpful either.

$ sudo dfu-util --llist
dfu-util - (C) 2007 by OpenMoko Inc.
This program is Free Software and has ABSOLUTELY NO WARRANTY
Found Runtime: [0x1d50:0x5119] devnum=4, cfg=0, intf=2, alt=0, name="USB Device Firmware Upgrade"
Found Runtime: [0x0a5c:0x2110] devnum=3, cfg=0, intf=3, alt=0, name="UNDEFINED"

According to the comments on this ticket, it’s actually expected behaviour for dfu-util, and it could very well be my bluetooth interface that was showing up. Instead of disabling it, I just used the -d flag as suggested in the comments to specify which device to update. (Also, under Ubuntu, don’t forget sudo…)

sudo dfu-util -a kernel -R -d 0x1d50:0x5119 -D Om2008.12-om-gta02.uImage.bin
sudo dfu-util -a rootfs -R -d 0x1d50:0x5119 -D ./Om2008.12-om-gta02.rootfs.jffs2

… where 0x1d50:0x5119 is vendor/product ID of the FreeRunner (found via `dfu-util –list`).

The FreeRunner can boot from flash memory or a microSD card. I plan to try Om 2008.12 (or a variant) in flash and I’ll probably dual-boot with Android on the microSD card at a later date. So far, I’ve just turned it on and sent Heather a message and added her as a contact, but I hope to finally be getting some real use out of it soon!

Creative Commons Attribution-ShareAlike 4.0 International Permalink | Post a Comment

Why I Won’t Buy An iPhone

I thought I’d celebrate the official launch of the iPhone in Canada by noting a few of the reasons I won’t be caught dead with one.

  • The iPhone isn’t free software, like the Android or OpenMoko. As the FSF points out, why take a device you can’t control when there are devices you can?
  • The iPhone is extremely hostile to GNU/Linux. For previous iPods, developers already had to reverse engineer a proprietary iTunesDB file to sync with programs that aren’t iTunes, but Apple decided to throw a security hash on the iTunesDB file for the iPhone and iPod touch. To help a friend sync her iPhone to her Ubuntu laptop, I needed to unlock the phone (so she could use it in Canada), jailbreak it, install an OpenSSH server, mount the iPhone to the laptop over ssh via WiFi and then sync. If it sounds ridiculous, that’s because it is. Not caring enough to support GNU/Linux is understandable, but throwing up roadblocks for those that will do it for Apple is dumb and insulting.
  • The iPhone is not a truly open platform for developers. There are technical and contractual problems, including apparent incompatibility with free software. The app store seems like a great idea, except that it’s the only way Apple wants developers to create software for the iPhone.
  • Rogers’ ridiculous pricing plans and lame attempts to appease the “very small group of early adopters,” because, you know, no one else wants to browse the web. Though, apparently Rogers didn’t get many phones, in stark contrast to the absolute frenzy here in Australia with three GSM providers all getting healthy stocks of the new device. Serves Rogers right.
  • From a purely technical perspective, it’s not quite there yet. I have three devices: phone, pda, digital audio player. By “there,” I mean that I’d love it if I could reduce that to one device, or even two. It’s a phone, not quite a PDA (I couldn’t use it to take lecture notes like I do with my Palm Pilot), and not quite the digital audio player I’d like (my collection is ~27GB and I use Ogg Vorbis). I’d rather try to get another few years out of my current hardware and let Moore’s Law work a little bit more magic.

However… that FreeRunner is looking pretty good.

Creative Commons Attribution-ShareAlike 4.0 International Permalink | Post a Comment