QEMU

“make qemu” will build qemu-neo1973, download the latest official openmoko images, flash the images into the virtual NAND flash, and run the emulator.

Xoo

Another is Xoo. Koen says: "Xoo should be enough for most apps people will develop, since most don't need access to the gsm uart directly. If you're hardcore you could use qemu + xoo, but that still doesn't emulate all the hardware quirks (e.g. unaligned access)".

Update: Stefan Schmidt has resized the Neo1973 Mock-up and written a small description for xoo. In his words:

It's not really useable at all, as you need a really high screen resolution to fit the whole picture on your screen. And of course the dpi are wrong. Even no buttons because I can't remember where they are at the case.

Q: Can PalmOS apps applications be ported to run on OpenMoko?

A: Making legacy apps written for the "Garnet" OS (née "Palm OS") run on Linux
is decidedly non-trivial.

PalmOS apps are in general very hard to simply 'port'. Particularly well-designed programs may make it possible.

The ACCESS Linux Platform will include Garnet on Host (GHost), a PalmOS emulator that will support M6800 (68k) and ARM PalmOS applications. This part (GarnetVM and the .prc loader) will however be closed-source and likely under a restrictive license (fact confirmed by ACCESS Co. employees), making it rather unusable. In addition GarnetVM depends on Hiker and other packages.

It is possible that POSE, an emulator that simulates a Palm device on a Linux host could be used to allow 68k based applications to run. This emulator has been around a long time; one expects that it will also run on OpenMoko, but this has to be considered a short-term bandaid rather than a long-term solution.

The soon-to-be-released Palm Foleo, which runs a Linux port developed by Palm Inc. independently of ALP, contains a PalmOS compatibility environment that runs PalmOS apps, supposedly all of them and supposedly seamlessly. Little is known about how it works but if it's not too kludgy it should run unmodified on any ARM linux. It is not known what license it will be distributed under.

Hopefully emulation will be necessary only for M68000 code (pre-PalmOS 5) while native ARM programs can run natively under Linux, provided a proper set of PalmOS libraries and a .prc executable loader.

Q: Does OpenMoko run on any other hardware?

Q: What are the requirements to the hardware to run OpenMoko? (Would it run on the IXI ogo?)

Q: Why do you not build on top of the Maemo platform instead?

While I can't speak for the OpenMoko team, it's worth noting that maemo is fixed resolution only. That will, I've heard, change in the future, but it hasn't yet. Maemo's current layout is also optimized for wide screens, not tall narrow ones. Most third party maemo applications that are out there will need to be modified to work at different sizes. Finally, a number of the software components of the Nokia 770 and N800 are not open source. --gopi

To add up on that, according to Nokia, Maemo is designed to bring the "Desktop" experience to an Internet Tablet. A lot of Desktop paradigms just won't work on a phone. However, we really share a lot of the base-technology (gtk, dbus, eds, gconf, to name a few) with Maemo, so we are definitely not a reinvent-the-wheel team.

Q: Will it be possible to use popular VoIP applications such as Skype on the OpenMoko platform?

A: Perhaps. Hardware issues mean that it won't work well on the Neo1973. (the typical latency of GPRS is far too high). Also, Skype is a closed source application, which does not provide binaries that would be suitable to run on OpenMoko. Skype's vendor could of course choose to provide binaries for OpenMoko phones. However, many telephone providers' terms of service agreements preclude running VoIP over their baseline GSM service.

Q: Same question for Instant Messaging applications such as MSN Messenger?

A: Very probably. MSN is closed source and will only run where Microsoft wants you to run it. But there are many Open Source IM clients, many of which have a plugin architecture and so support the use of more than one IM protocol, even simultaneously. One example is Pidgin, formerly called GAIM. GPRS does induce a certain amount of latency but that should not be a problem for simple, text-oriented chat between parties. And the GTA02's WiFi will make it even better.

Q: A-t-il le Bluetooth?

Q: Le recevra-t-on avec un stylet?

Q: Where are the buttons?

The power button is a small circular button, just next to the USB connector. Neo1973 Power Button
The Auxilliary button is a rectangular button on the top left of the edge of the phone. (on black phones it looks just like an IRDA port). Neo1973 AUX Button

Q: How do I input text?

Q: Can I record calls and/or play audio files in calls?

A: Yes, audio path from GSM to/from mic and speakers is completely controllable by user. For example recording calls (both sides) and implementing an Answering Machine is possible. Also using text->speech should be possible or modifying outgoing voice. Currently there is no software bundled in phone to do this.

Q: What can I do with the USB port on the Neo1973?

Q: What can't I do with the USB?

The USB on the neo has no power output. This means that you cannot use USB bus powered devices without some sort of powered hub or cable.
This is due to the fact that adding a 5V power supply into the device would have added complexity, volume and cost.

Many powered USB devices don't work without at least a nominal amount of 5v power from the USB bus. A few powered USB hubs will work without 5v power from the host, but most powered ones need to have simple electrical modifications done to work.

Q: Why is only USB 1.1 provided?

A: The processor has USB 1.1 built in. One with USB2 built in would have been more expensive.

Q: Can the Neo charge and use devices on a USB hub at the same time?

A:

When the Neo is connected to a device port on a USB hub, it will start charging. If the hub is a powered hub, then it will charge fast (3h), otherwise around 12h.

If you plug the Neo into the host port of a USB hub you can use devices on that hub but the Neo will not charge. (Some/many USB hubs will not accept an unpowered host as valid, hence the need for the below cable.)

This is because the host socket on USB hubs is not powered.

FIC product development is looking into providing something that
conveniently solves this problem.

The USB port on the Neo is not a properly compliant USB host port, all USB host ports must provide 5V - though powered devices or hubs may not draw any current from this, they may refuse to work. (The Belkin Tetrahub is an example of a hub that will not work.)

One solution is a three headed cable.

One end plugs into the Neo. One end plugs into a device port of a powered hub, or the Neo charger. One end plugs into the host port of a hub.

The Charger/USB device plug only has +5V and 0V connected in the simple cable, which are connected to the other ends.

For a more complex cable, when the host socket is not plugged in, the cable acts as a simple USB cable.

Q: What are the details of the USB port on the Neo1973? How does it compare to USB On-The-Go?

A: The Neo1973 will have mini-USB-B, and will be able to function as either a host or a device. It will NOT be USB On-The-Go. OTG is a complex specification, and it comprises way more than just
a AB socket, but also electrical and software components which cannot be provide by the S3C2410.

You will need a special Mini-B to regular-B cable (note that this won't actually comply with the USB standard: a compliant cable has to have an A or Mini-A plug on one end, and B or Mini-B on the other).

Q: What can we expect in future versions?

A: A faster CPU, faster GSM (EDGE?) perhaps even powered USB port, USB2, wifi, and camera. No details have been released yet. More details of hardware upgrades should be available sometime in May. There will also be 5 more OpenMoko devices - some not phones in the traditional sense - announced by FIC in September.

Q: What providers provide the GSM required for Neo1973?

Q: Will OpenMoko "Just Work" with Mac OS X?

A: There has been some discussion of this on the mailing list. There is motivation, and there are interested developers.
Not being a Mac OS X user, I don't know enough
to summarize the discussion to answer this question. Can someone please fill in?

A: For IP over USB cable connectivity, it is planned to improve/adapt the AJZaurusUSB driver, allowing ssh into the OpenMoko.

A: It is expected that (Bluetooth/UB) SyncML based interoperation for
contacts and events can easily be achieved by a patch
to the Apple iSync configuration tables.

A: There is an open source implementation of Cocoa (GNUstep) that aims to run MacOS X compatible applications (sort of
PPC/x86/ARM universal binaries) on OpenMoko devices: mySTEP.

Divers

Q: On the lists on lists.openmoko.org, should replies be added above or below the original text?

A: Please reply UNDER post.

Q: How can I find out if a question or topic has already been discussed on the mailing lists?

A: By searching the mailing list archives. For example, using Google searches:

site:openmoko.org text

For example, to search for accelerometer:

site:openmoko.org accelerometer

If you only want to read the "official" mails from FIC people or from OpenMoko people:

QEMU

“make qemu” will build qemu-neo1973, download the latest official openmoko images, flash the images into the virtual NAND flash, and run the emulator.

Xoo

Another is Xoo. Koen says: "Xoo should be enough for most apps people will develop, since most don't need access to the gsm uart directly. If you're hardcore you could use qemu + xoo, but that still doesn't emulate all the hardware quirks (e.g. unaligned access)".

Update: Stefan Schmidt has resized the Neo1973 Mock-up and written a small description for xoo. In his words:

It's not really useable at all, as you need a really high screen resolution to fit the whole picture on your screen. And of course the dpi are wrong. Even no buttons because I can't remember where they are at the case.

Q: Can PalmOS apps applications be ported to run on OpenMoko?

A: Making legacy apps written for the "Garnet" OS (née "Palm OS") run on Linux
is decidedly non-trivial.

PalmOS apps are in general very hard to simply 'port'. Particularly well-designed programs may make it possible.

The ACCESS Linux Platform will include Garnet on Host (GHost), a PalmOS emulator that will support M6800 (68k) and ARM PalmOS applications. This part (GarnetVM and the .prc loader) will however be closed-source and likely under a restrictive license (fact confirmed by ACCESS Co. employees), making it rather unusable. In addition GarnetVM depends on Hiker and other packages.

It is possible that POSE, an emulator that simulates a Palm device on a Linux host could be used to allow 68k based applications to run. This emulator has been around a long time; one expects that it will also run on OpenMoko, but this has to be considered a short-term bandaid rather than a long-term solution.

The soon-to-be-released Palm Foleo, which runs a Linux port developed by Palm Inc. independently of ALP, contains a PalmOS compatibility environment that runs PalmOS apps, supposedly all of them and supposedly seamlessly. Little is known about how it works but if it's not too kludgy it should run unmodified on any ARM linux. It is not known what license it will be distributed under.

Hopefully emulation will be necessary only for M68000 code (pre-PalmOS 5) while native ARM programs can run natively under Linux, provided a proper set of PalmOS libraries and a .prc executable loader.

Q: Does OpenMoko run on any other hardware?

Q: What are the requirements to the hardware to run OpenMoko? (Would it run on the IXI ogo?)

Q: Why do you not build on top of the Maemo platform instead?

While I can't speak for the OpenMoko team, it's worth noting that maemo is fixed resolution only. That will, I've heard, change in the future, but it hasn't yet. Maemo's current layout is also optimized for wide screens, not tall narrow ones. Most third party maemo applications that are out there will need to be modified to work at different sizes. Finally, a number of the software components of the Nokia 770 and N800 are not open source. --gopi

To add up on that, according to Nokia, Maemo is designed to bring the "Desktop" experience to an Internet Tablet. A lot of Desktop paradigms just won't work on a phone. However, we really share a lot of the base-technology (gtk, dbus, eds, gconf, to name a few) with Maemo, so we are definitely not a reinvent-the-wheel team.

Q: Will it be possible to use popular VoIP applications such as Skype on the OpenMoko platform?

A: Perhaps. Hardware issues mean that it won't work well on the Neo1973. (the typical latency of GPRS is far too high). Also, Skype is a closed source application, which does not provide binaries that would be suitable to run on OpenMoko. Skype's vendor could of course choose to provide binaries for OpenMoko phones. However, many telephone providers' terms of service agreements preclude running VoIP over their baseline GSM service.

Q: Same question for Instant Messaging applications such as MSN Messenger?

A: Very probably. MSN is closed source and will only run where Microsoft wants you to run it. But there are many Open Source IM clients, many of which have a plugin architecture and so support the use of more than one IM protocol, even simultaneously. One example is Pidgin, formerly called GAIM. GPRS does induce a certain amount of latency but that should not be a problem for simple, text-oriented chat between parties. And the GTA02's WiFi will make it even better.

Q: A-t-il le Bluetooth?

Q: Le recevra-t-on avec un stylet?

Q: Where are the buttons?

The power button is a small circular button, just next to the USB connector. Neo1973 Power Button
The Auxilliary button is a rectangular button on the top left of the edge of the phone. (on black phones it looks just like an IRDA port). Neo1973 AUX Button

Q: How do I input text?

Q: Can I record calls and/or play audio files in calls?

A: Yes, audio path from GSM to/from mic and speakers is completely controllable by user. For example recording calls (both sides) and implementing an Answering Machine is possible. Also using text->speech should be possible or modifying outgoing voice. Currently there is no software bundled in phone to do this.

Q: What can I do with the USB port on the Neo1973?

Q: What can't I do with the USB?

The USB on the neo has no power output. This means that you cannot use USB bus powered devices without some sort of powered hub or cable.
This is due to the fact that adding a 5V power supply into the device would have added complexity, volume and cost.

Many powered USB devices don't work without at least a nominal amount of 5v power from the USB bus. A few powered USB hubs will work without 5v power from the host, but most powered ones need to have simple electrical modifications done to work.

Q: Why is only USB 1.1 provided?

A: The processor has USB 1.1 built in. One with USB2 built in would have been more expensive.

Q: Can the Neo charge and use devices on a USB hub at the same time?

A:

When the Neo is connected to a device port on a USB hub, it will start charging. If the hub is a powered hub, then it will charge fast (3h), otherwise around 12h.

If you plug the Neo into the host port of a USB hub you can use devices on that hub but the Neo will not charge. (Some/many USB hubs will not accept an unpowered host as valid, hence the need for the below cable.)

This is because the host socket on USB hubs is not powered.

FIC product development is looking into providing something that
conveniently solves this problem.

The USB port on the Neo is not a properly compliant USB host port, all USB host ports must provide 5V - though powered devices or hubs may not draw any current from this, they may refuse to work. (The Belkin Tetrahub is an example of a hub that will not work.)

One solution is a three headed cable.

One end plugs into the Neo. One end plugs into a device port of a powered hub, or the Neo charger. One end plugs into the host port of a hub.

The Charger/USB device plug only has +5V and 0V connected in the simple cable, which are connected to the other ends.

For a more complex cable, when the host socket is not plugged in, the cable acts as a simple USB cable.

Q: What are the details of the USB port on the Neo1973? How does it compare to USB On-The-Go?

A: The Neo1973 will have mini-USB-B, and will be able to function as either a host or a device. It will NOT be USB On-The-Go. OTG is a complex specification, and it comprises way more than just
a AB socket, but also electrical and software components which cannot be provide by the S3C2410.

You will need a special Mini-B to regular-B cable (note that this won't actually comply with the USB standard: a compliant cable has to have an A or Mini-A plug on one end, and B or Mini-B on the other).

Q: What can we expect in future versions?

A: A faster CPU, faster GSM (EDGE?) perhaps even powered USB port, USB2, wifi, and camera. No details have been released yet. More details of hardware upgrades should be available sometime in May. There will also be 5 more OpenMoko devices - some not phones in the traditional sense - announced by FIC in September.

Q: What providers provide the GSM required for Neo1973?

Q: Will OpenMoko "Just Work" with Mac OS X?

A: There has been some discussion of this on the mailing list. There is motivation, and there are interested developers.
Not being a Mac OS X user, I don't know enough
to summarize the discussion to answer this question. Can someone please fill in?

A: For IP over USB cable connectivity, it is planned to improve/adapt the AJZaurusUSB driver, allowing ssh into the OpenMoko.

A: It is expected that (Bluetooth/UB) SyncML based interoperation for
contacts and events can easily be achieved by a patch
to the Apple iSync configuration tables.

A: There is an open source implementation of Cocoa (GNUstep) that aims to run MacOS X compatible applications (sort of
PPC/x86/ARM universal binaries) on OpenMoko devices: mySTEP.

Divers

Q: On the lists on lists.openmoko.org, should replies be added above or below the original text?

A: Please reply UNDER post.

Q: How can I find out if a question or topic has already been discussed on the mailing lists?

A: By searching the mailing list archives. For example, using Google searches:

site:openmoko.org text

For example, to search for accelerometer:

site:openmoko.org accelerometer

If you only want to read the "official" mails from FIC people or from OpenMoko people: