OpenMoko



A couple of months ago, when apple announced its iphone, I happened to read about a relatively young project to free up the mobile phone, albeit in the form of an incomplete comparison between two phones which weren’t available yet. While the iphone was cool and exciting and apple could be relied upon to come up with a tightly integrated phone with a classy user interface, the restrictions on third party applications and the closed nature meant that you couldn’t conjure up your own apps and scripts. The vendor specific enhanced features was also a big turn off. The notion of an open smart phone was extremely exciting.

Recently, I attended a presentation on OpenMoko (Open Mobile Kommunikations), the project to create a completely open mobile phone platform. Sean Moss-Pultz, the project lead spoke on the motivation behind the project and the business model while Harald Welte went into technical details and gave a demo. It was most informative. An open phone means a lot more than just open source and free upgrades.

Phones have always been a very restrictive platform. The margins being wafer thin, a manufacturer needs to sell millions of units to be profitable. Its in their interests to encourage phone upgrades. One important motivation behind OpenMoko was to reduce the rate at which phones are rendered obsolete. According to Sean, hardware undergoes fewer changes than software so traditionally one ended up upgrading a phone where a software upgrade would suffice.

Of course, FIC has plans to benefit from OpenMoko. Sean mentioned that a major part of the manufacturing cost was software licenses, hence they benefit from free software. FIC also has a few companies interested in innovative uses for OpenMoko based devices. Carriers too would benefit from an increase in ARPU due to increased data usage, reduction in SAC and churn and the possibility of offering value added services such as data backup, etc.

The phone itself follows a simple philosophy, build a phone with great hardware and basic software (dialer, contacts, SMS, browser, drivers for bluetooth, wifi, gps and gsm, etc.). OpenMoko would have a apt like package manager system which would help users install additional applications for their tastes. Applications themselves could be either OpenMoko certified or community driven as in any desktop linux distribution operating system. Thats not all, an open phone allows unlimited flexibility that we’ve been trained to think impossible. For example, when a wifi or bluetooth network is available one could switch to (cheaper) VOIP calls and IM instead of SMS.

For a power user of course, the phone throws up endless possibilities. Some of them are so simple, yet would change the way you look at phones –

  • GPS aware profiles – automatically switch phone profiles based on location
  • ACLs, any number not in contacts can be made to pass through a set of access control rules before the call is accepted
  • Phone Tracking

More interesting ideas are here and elsewhere in the wiki. The first OpenMoko phone Neo1973 is coming real soon! The only question is to see if one should wait for the phase 2 device (which has a faster CPU and wifi) or if FIC comes up with an interesting upgrade deal.

Beagle



BeagleAs I write this, the time is 01:29:09, I’m as wide awake as I’ve ever been. I just got beagle working on my laptop.

I don’t remember being as excited by any other piece of software. I’m gonna make a detailed post later, for now I’m gonna let it index my stuff!

Fedora Core 3



After sticking around with PCQ Linux (a cross between FC1 and FC2) for way longer than I should have, it was time to move on to the latest and the greatest for my IBM thinkpad R40e. Among the things I desperately needed were

  • Evolution 2.0 for my exchange account – I couldn’t get ximian connector working on evolution 1.4.5
  • Better ACPI support – ACPI on linux kernel 2.6.8.1 doesn’t co-exist with the thinkpad buttons, suspend doesn’t work.
  • Gnome 2.8
  • Something new!

Suse Linux Professional 9.1

While I was at it, I thought I’d try Suse Linux 9.1 before getting down to FC3. I had a set of DVDs thanks to Novell. Suse is an excellent distribution if you’ve not used linux earlier! But for someone used to redhat and debian, it is something too different. For starters, everything is so green. Suse’s installer, YaST is by far the smartest installer I’ve seen. It detected all my hardware perfectly – it even identified the smlink drivers needed for my winmodem. Phew! The partitioning scheme suggested was spot-on. The package selection could be better though. I like anaconda’s way of grouping packages. Overall, YaST is way ahead of the rest.

Be warned that this shouldn’t be taken as a Suse Professional vs Fedora Core review. I’d planned to “check-out” Suse and then come back to FC3 anyway. Also, at this point of time, Suse Professional 9.1 isn’t the newest Suse release while FC3 is the latest Fedora release.

Suse was something too different to what I’ve known. That shouldn’t take away anything from it. It is by far only distribution suited for a (new) desktop oriented user. I guess Novell has its eyes firmly on the enterprise.

Fedora Core 3

The install of FC3 went through like a breeze. Well, almost. All hardware other than a pesky winmodem were supported and configured. A wrong driver (tg3) was chosen for the Broadcomm 570x NIC – this is expected, I’ve seen it with other distros. The broadcom site has linux drivers. Also, it was nice to see Kannada in the list of languages supported (Hindi, Tamil, etc. were around for a while).

The first thing that hit me is the better fonts. This is a huge plus given that my laptop does no more than 1024×768. Other notable changes are

  • ALSA is the default sound system
  • To remove redundancy, kernel sources aren’t included in the binary ISOs anymore. They’re available only on the SRPMS CD. WTF! When the 4th CD is just around 400 MB, they could have fitted in 39MB of the kernel sources. Forget redundancy, ease of use is more important.
  • Gnome 2.8 looks superb – Linux is getting every closer to the assault on the Desktop
  • /mnt/cdrom becomes /media/cdrom. Makes much more sense, but is such a change necessary?
  • Firefox 1.0PR is the default web browser
  • X.org X server
  • XMMS needs a MP3 plugin as usual
  • Performance is good, more so with a custom kernel

Couple of things that needed more work were the winmodem and ACPI. ACPI is somthing I can wait for as I’ve got used to living without it. (I need my thinkpad buttons. They use nvram and don’t work if ACPI is turned on.) But I do need the winmodem as I plan to stick to dialup at home for atleast another month. Now this modem is identified as ‘ALi Corporation M5457 AC'97 Modem Controller‘ by lspci. I’d got it to work on both 2.4 series and 2.6.8.1 with the drivers from smartlink. This time around, the modem failed to init saying

[root@jaidev ~]# modprobe slamr
slamr: module license 'Smart Link Ltd.' taints kernel.
slamr: mc97 codec is 0
slamr: cannot init card.
[root@jaidev ~]#

dmesg suggested that some other driver had assumed control.

PCI: Found IRQ 11 for device 0000:00:03.0
ttyS0 at I/O 0x8428 (irq = 11) is a 8250
ttyS1 at I/O 0x8440 (irq = 11) is a 8250
ttyS2 at I/O 0x8450 (irq = 11) is a 8250
ttyS3 at I/O 0x8460 (irq = 11) is a 8250
ttyS4 at I/O 0x8470 (irq = 11) is a 8250

I had to disable the serial device driver code which wasn’t a module but was compiled into the kernel. This needed a kernel recompile and I had to download the sources thanks to the new no-redundancy policy.

I removed all the stuff that I didn’t need, recompiled the kernel without serial device support (I don’t have a serial port on my laptop). Reboot and recompile the modem drivers and presto the modem driver worked (with an additional init string: AT&FX1). All that remained now was ACPI. As with earlier versions of the kernel, ACPI processor and thermal code still result in the kernel hanging at boot up on 2.6.9. Otherwise the battery and ac adapter code work well as they have been for a while now. ACPI Suspend just works. This is encouraging indeed. Although thinkpad buttons (volume control, brightness control, etc.) still refuse to co-exist with acpi=on, I eagerly await the next few kernel versions.