LWN.net Logo

Linux and mobile telephony

The cover article from the November 21 issue of The Economist argues that the future of computing is to be found in the combination of handheld systems and cellular telephones. Together, the two provide mobile, convenient access to applications with worldwide communication capabilities. It is easy to see how, if the applications are available and the user interface issues are solved, this type of system would become the computer of choice for many users. Servers and desktop systems will not go away, but personal handheld units may well outnumber them.

One might ask how this is relevant to Linux. At a first glance, it's not: there are no Linux-based mobile telephony systems. The embedded Linux vendors seem to be far more interested in set-top boxes than telephones, and the mobile industry has its own options for operating systems. Linux, it seems, runs the risk of being left out of a large sector of the future computing market.

This market, instead, looks to be the site of a battle between Microsoft and Nokia. Microsoft has a version of Windows which has been tweaked for the mobile environment. The company does not, however, have a whole lot of customers at this point. The mobile phone makers, for some reason, are reluctant to give Microsoft a toehold in their market. The fact that the Windows source is not available to licensees also does not help. Microsoft has an uphill road ahead of it, but it also has the resources to stay the course for a long time.

Nokia, interestingly, is not pushing a mobile operating system of its own. Instead, along with Ericsson, Matsushita (Panasonic), Motorola, Psion, Siemens and Sony, Nokia is a part owner of Symbian, which licenses its software to all of them. Symbian OS is developed with the needs of its owners in mind, and comes with source code. In other words, the mobile handset makers appear to have set up their own little private, members-only open source-like community to handle their operating system needs. It seems to have worked; Symbian is the dominant operating system in mobile handsets.

How could Linux push its way into this market? Much work has been done to make Linux work well on handheld systems; see, for example, the Familiar distribution. What's missing, however, is any sort of telephony support. Getting Linux to the point where it can make a call on a mobile telephone will require a great deal of work interfacing with proprietary hardware, and, perhaps, dealing with numerous regulatory bodies worldwide. It will not happen, in other words, without strong support from one or more handset manufacturers. That support does not appear to be present at this point.

It is not that hard to imagine a future world where mobile handsets have become a commodity item (i.e. cheap even without a service plan), and handset manufacturers have been reduced to producing low-margin platforms for Windows. In such a world, there would likely be sufficient interest to inspire funding of a Linux-based alternative. It sure would be nice, however, to not have to wait that long. All of us who have worked on free software have not, after all, done that work just to carry a proprietary operating system in our pockets.


(Log in to post comments)

Linux and mobile telephony

Posted Dec 5, 2002 10:07 UTC (Thu) by jonth (subscriber, #4008) [Link]

I've worked in the mobile comms industry for 8 years, and spent most of that time down in layer 1, but I've also implemented the GSM circuit switched data stack on the side. Linux has never been considered as a serious contender in any of the companies I've worked in, or sold to (and I've been to most of the tier 1s and a lot of tier 2 and 3s.)

Current vanilla mobile phones (GSM and GPRS with a not very sophisticated MMI) run in something like 1-2MB Flash and 256KB RAM on a processor with maybe 10 MIPs. Typically 20-30KB of the code footprint is the OS, and the rest is protocols and MMI. What we need in an OS is something small and light, not feature rich. Proper RTOSs like Nucleus or HIOS are used in these devices for this reason. We don't want sophisticated schedulers, we don't want fancy VM, we want minimal resource usage, guaranteed (fast) latencies, and completely deterministic behaviour. When I call a function to allocate memory, I want to know that it is guaranteed that the function will return with my memory in a specified number of microseconds. Linux, for all its strengths, is not suitable for this purpose. Neither, for that matter, is any Micro$oft OS I've come across. To give you an idea of the sort of timescales we deal with, the GSM/GPRS frame rate is 4.5 ms, and there are things than must be processed in the GPRS stack that have to happen in fractions of that. On a 10 MIP processor, this is not a trivial problem. (It was even worse in the old days. Back then we only had 1-2 MIPs and a similar sort of problem.)

IMO, as the PDA and mobile device markets converge, there will be a place for general purpose OSs like Linux or Pocket PC, but typically the architecture of these devices consists of several processors - usually one DSP for the signal processing, one microcontroller for the 'modem' functionality and then something a bit more sophisticated for the applications processor - this is the bit that has lots of RAM/ROM, runs at hundreds of MHz, and may run something like Symbian or Pocket PC - or Linux. The other bits either operate without an OS at all, or use an RTOS - eCos, uCOS, Nucleus, whatever.

Clearly, we will ultimately converge the modem and applications processors. As PDA type processors get more capable, the hard real-time constraints we have to deal with in the mobile world become much easier to acheive, and the general purpose OSs can start to compete. In a Linux based world, I'd use things like RTLinux or RTAI to provide the modem part, and then put the application part in Linux.


Linux and mobile telephony

Posted Dec 10, 2002 14:27 UTC (Tue) by eru (subscriber, #2753) [Link]

I'm sure nobody ever suggested running Linux on a DSP or a "plain old"
mobile phone, but "smartphones" using a separate processor to run the
fancy features already exist on the market (at least here in Europe)
from most manufacturers, and they do need a fairly sophisticated OS.
So the development you outlined in your 3. paragraph has already happened
a while back.

But between the Symbian vs. Windows battle I don't see much opportunity
for Linux in the phone market :-(. Even source availability is this time
not a unique selling point, since Symbian licenses the code in source
form (I think there is a kind of "gated community" arrangement).
Interestingly, the availability of source code was one factor in the
well-known "defection" of Sendo (a phone maker) from the Microsoft
camp to Symbian.

Linux and mobile telephony

Posted Dec 11, 2002 10:57 UTC (Wed) by jonth (subscriber, #4008) [Link]

It's true that developments using more sophisticated OSs have happened in multi-processor environments. It's just that I have yet to hear of anyone doing it with Linux as that OS.

And I tend to agree with you that Symbian and M$ have this one sewn up at the moment. Now, if someone did an Open Source implementation of the UMTS/GPRS stack, we'd be in business, but this is highly unlikely. It's way outside the scope of a 'bedroom' project, and it takes so much money to develop it needs a seriously rich company to be able to donate that level of development to the community.

Linux and mobile telephony

Posted Aug 1, 2003 2:46 UTC (Fri) by wumpus (guest, #13546) [Link]

Well... it could start with an open source implementation of the GSM stack, GPRS and friends can be added later on. It should be possible, before Linux noone ever thought a OS was within the scope of an OSD project, now it is, why wouldn't a GSM stack be?

Linux and mobile telephony

Posted Dec 6, 2002 11:34 UTC (Fri) by dhj (guest, #4655) [Link]

> there are no Linux-based mobile telephony systems

Didn't you cover the CDL Paron about a month ago?

http://www.linuxdevices.com/articles/AT7145548309.html

Cheers

Daniel

Copyright © 2002, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds