FAQ

From Openmoko

Revision as of 14:57, 27 February 2007 by Ericthefish (Talk | contribs)

Jump to: navigation, search

Questions and Answers that don't seem to fit elsewhere

Contents

Introduction

Q: What is OpenMoko and Neo1973?

A: OpenMoko is a software platform, an attempt to create the world's first completely open mobile phone software stack. The FIC Neo1973 is the first fully supported OpenMoko phone.

Q: When can I buy a Neo1973?

A: Late March for developers, September for mass market - See Neo1973 for most up to date information. To be informed when it is available, subscribe to the mailing list announce.

Q: How much?

A: $350, for the developers phone - Phase 1. The mass market price has not been revealed.

Q: What will it do?

A: The Phase 1 phone available in late March is for developers only. It is not suitable for end users, it will have basic functionality as a touchscreen phone. Little else will work, software development will continue till mass market release.

Those interested should:

  • Should know that there will be a device with faster cpu, gsm system etc. 6 months later
  • Have fun hacking devices.
  • Be able to find their way through prototype software and hardware without much documentation.
  • Share the dream of a device powered by free software.
  • Not expect a consumer-level device.
  • Come up with new ideas for exploring the age of mobile computing.
  • Have $350.

Ideally they also:

  • Can spot bugs and submit patches.
  • Love to cooperate with a community improving the software.

Software

Q: How do I install and manage software on OpenMoko?

A: ipkg: http://handhelds.org/moin/moin.cgi/Ipkg

Q: How can I compile programs for the Neo1973?

A: See Toolchain.

Q: Is there an emulator available for OpenMoko?

*XorA guesses that if your first question is "is there an emulator"
 then your not actually ever going to do dev work :-)

QEMU

QEMU is a good place to start, and we should be able to run almost all OpenMoko apps with it. For a good start with the QEMU emulator visit: http://www.aurel32.net/info/debian_arm_qemu.php

Jeff put together an image you can test under qemu, if you so desire: ftp://ftp.blagblagblag.org/pub/BLAG/developers/jebba/openmoko/

OpenMoko has longer term plans to port the FIC machines to QEMU. For now MACHINE="qemuarm" can be used.

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.

http://www.datenfreihafen.org/~stefan/OpenMoko/neo1973-xoo-device.tar.bz2

Start with 'xoo --device /path/to/neo1973.xml'

Xephyr

Or use Xephyr directly with locally compiled programs (e.g. matchbox svn + openmoko):

Xephyr -screen 480x640 -nolisten tcp -ac :1 &
export DISPLAY=:1
export LD_LIBRARY_PATH=/usr/local/lib
matchbox-window-manager -display $DISPLAY -use_titlebar no \
 -use_super_modal yes -use_lowlight yes -use_dialog_mode static \
 -use_cursor yes &
matchbox-panel --geometry=480x44 --end-applets=clock &
openmoko-footer &
openmoko-taskmanager &

Q: Where can I find some type of tutorial for a 'Hello, world' on OpenMoko?

A: This should get you started: http://www.gtk.org/tutorial/

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. An emulator for this is going to be part of the ACCESS Linux Platform.

PalmOS uses a very different model from Linux: it doesn't really have a concept of a file, per se; instead, all memory is seen as a "soup" of records to access and manipulate (this isn't strictly true, as files had to be grafted on when removable flash was supported, but it's close enough, from a developer's standpoint). Also, the GUI toolkit looks very, very different from GTK. The result is that a very well-written, modular program that carefully separates its core algorithms from its user interface and data input and output can be ported by replacing those components. A program written by a mere mortal programmer is likely to have all these components intertwined to a point that a port will be challenging to say the least.

The ACCESS Linux Platform will include POSE, an emulator that simulates a Palm device on a Linux host. 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.

Q: What are the relevant X11 details?

A: See xdpyinfo output.

Neo1973 Hardware

Q: What are the dimensions and weight?

A: 120.7 x 62 x 18.5 mm, It would fit entirely in a coke can. (4.75 * 2.4 * 0.72 ") A: 185g, (6.5 ounces).

Q: Does it have a camera?

A: No, see Neo1973 Hardware for details on what it does include (and Wish List - Hardware for what some want in the future.) See also FAQ#USB.

Q: What is the rationale behind the exclusion of WiFi?

A: No suitable low power open source WiFi device was available when the Neo1973 was designed. A closed source WiFi device would have been restrictive for developers and users alike. See also FAQ#USB.

Q: Does it have bluetooth?

A: Yes!

See also: Sean Moss-Pultz's comment on this

Q: What is the battery life?

A: There has been no word on this so far, but see these estimates for a rough idea.

Q: How heavy is it?

A: 184 +/- 5 g

USB

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

A: Charge the phone, communicate with it over USB-serial, or USB-networking.

A: Plug external devices, such as wifi, cameras, or mass-storage devices in.

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.

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: Are there any LEDs on the Neo 1973?

A: The Neo1973 v1 will have no LEDs besides the screen backlight.

Q: Will a JTAG port be made available?

A: The "Hacker's Lunchbox" will make this kind of stuff easy.

It is currently assumed that the "Hacker's Lunchbox" will contain the Debug Board. Connecting Neo1973 with Debug Board v2 explains how to connect it to the phone.

Q: What can we expect in future versions?

A: A faster CPU, faster GSM (EDGE?) perhaps even powered USB port, USB2, wifi, and camera. None of the 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.

Networking/Connectivity

Q: Can I bridge to an Ethernet (wired or unwired) network via a suitable Bluetooth enabled router?

A: Yes - see this howto for how to configure a linux computer to act as such a router and Bluetooth Support.

Q: What providers in the USA provide the GSM required for Neo 1973?

A: Wikipedia has a list of providers and technologies here. A brief look gives the impression that T-Mobile and Cingular (which is renaming itself AT&T) seem to be the only major ones.

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.

Misc

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:

site:openmoko.org text "at fic.com.tw"
site:openmoko.org text "at openmoko.org"

For example to search for "release date" from FIC people:

site:openmoko.org "release date" "at fic.com.tw"

Alternatively you can use the custom OpenMoko search engine which has been created using Google Co-op.

Personal tools

Questions and Answers that don't seem to fit elsewhere

Introduction

Q: What is OpenMoko and Neo1973?

A: OpenMoko is a software platform, an attempt to create the world's first completely open mobile phone software stack. The FIC Neo1973 is the first fully supported OpenMoko phone.

Q: When can I buy a Neo1973?

A: Late March for developers, September for mass market - See Neo1973 for most up to date information. To be informed when it is available, subscribe to the mailing list announce.

Q: How much?

A: $350, for the developers phone - Phase 1. The mass market price has not been revealed.

Q: What will it do?

A: The Phase 1 phone available in late March is for developers only. It is not suitable for end users, it will have basic functionality as a touchscreen phone. Little else will work, software development will continue till mass market release.

Those interested should:

  • Should know that there will be a device with faster cpu, gsm system etc. 6 months later
  • Have fun hacking devices.
  • Be able to find their way through prototype software and hardware without much documentation.
  • Share the dream of a device powered by free software.
  • Not expect a consumer-level device.
  • Come up with new ideas for exploring the age of mobile computing.
  • Have $350.

Ideally they also:

  • Can spot bugs and submit patches.
  • Love to cooperate with a community improving the software.

Software

Q: How do I install and manage software on OpenMoko?

A: ipkg: http://handhelds.org/moin/moin.cgi/Ipkg

Q: How can I compile programs for the Neo1973?

A: See Toolchain.

Q: Is there an emulator available for OpenMoko?

*XorA guesses that if your first question is "is there an emulator"
 then your not actually ever going to do dev work :-)

QEMU

QEMU is a good place to start, and we should be able to run almost all OpenMoko apps with it. For a good start with the QEMU emulator visit: http://www.aurel32.net/info/debian_arm_qemu.php

Jeff put together an image you can test under qemu, if you so desire: ftp://ftp.blagblagblag.org/pub/BLAG/developers/jebba/openmoko/

OpenMoko has longer term plans to port the FIC machines to QEMU. For now MACHINE="qemuarm" can be used.

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.

http://www.datenfreihafen.org/~stefan/OpenMoko/neo1973-xoo-device.tar.bz2

Start with 'xoo --device /path/to/neo1973.xml'

Xephyr

Or use Xephyr directly with locally compiled programs (e.g. matchbox svn + openmoko):

Xephyr -screen 480x640 -nolisten tcp -ac :1 &
export DISPLAY=:1
export LD_LIBRARY_PATH=/usr/local/lib
matchbox-window-manager -display $DISPLAY -use_titlebar no \
 -use_super_modal yes -use_lowlight yes -use_dialog_mode static \
 -use_cursor yes &
matchbox-panel --geometry=480x44 --end-applets=clock &
openmoko-footer &
openmoko-taskmanager &

Q: Where can I find some type of tutorial for a 'Hello, world' on OpenMoko?

A: This should get you started: http://www.gtk.org/tutorial/

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. An emulator for this is going to be part of the ACCESS Linux Platform.

PalmOS uses a very different model from Linux: it doesn't really have a concept of a file, per se; instead, all memory is seen as a "soup" of records to access and manipulate (this isn't strictly true, as files had to be grafted on when removable flash was supported, but it's close enough, from a developer's standpoint). Also, the GUI toolkit looks very, very different from GTK. The result is that a very well-written, modular program that carefully separates its core algorithms from its user interface and data input and output can be ported by replacing those components. A program written by a mere mortal programmer is likely to have all these components intertwined to a point that a port will be challenging to say the least.

The ACCESS Linux Platform will include POSE, an emulator that simulates a Palm device on a Linux host. 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.

Q: What are the relevant X11 details?

A: See xdpyinfo output.

Neo1973 Hardware

Q: What are the dimensions and weight?

A: 120.7 x 62 x 18.5 mm, It would fit entirely in a coke can. (4.75 * 2.4 * 0.72 ") A: 185g, (6.5 ounces).

Q: Does it have a camera?

A: No, see Neo1973 Hardware for details on what it does include (and Wish List - Hardware for what some want in the future.) See also FAQ#USB.

Q: What is the rationale behind the exclusion of WiFi?

A: No suitable low power open source WiFi device was available when the Neo1973 was designed. A closed source WiFi device would have been restrictive for developers and users alike. See also FAQ#USB.

Q: Does it have bluetooth?

A: Yes!

See also: Sean Moss-Pultz's comment on this

Q: What is the battery life?

A: There has been no word on this so far, but see these estimates for a rough idea.

Q: How heavy is it?

A: 184 +/- 5 g

USB

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

A: Charge the phone, communicate with it over USB-serial, or USB-networking.

A: Plug external devices, such as wifi, cameras, or mass-storage devices in.

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.

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: Are there any LEDs on the Neo 1973?

A: The Neo1973 v1 will have no LEDs besides the screen backlight.

Q: Will a JTAG port be made available?

A: The "Hacker's Lunchbox" will make this kind of stuff easy.

It is currently assumed that the "Hacker's Lunchbox" will contain the Debug Board. Connecting Neo1973 with Debug Board v2 explains how to connect it to the phone.

Q: What can we expect in future versions?

A: A faster CPU, faster GSM (EDGE?) perhaps even powered USB port, USB2, wifi, and camera. None of the 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.

Networking/Connectivity

Q: Can I bridge to an Ethernet (wired or unwired) network via a suitable Bluetooth enabled router?

A: Yes - see this howto for how to configure a linux computer to act as such a router and Bluetooth Support.

Q: What providers in the USA provide the GSM required for Neo 1973?

A: Wikipedia has a list of providers and technologies here. A brief look gives the impression that T-Mobile and Cingular (which is renaming itself AT&T) seem to be the only major ones.

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.

Misc

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:

site:openmoko.org text "at fic.com.tw"
site:openmoko.org text "at openmoko.org"

For example to search for "release date" from FIC people:

site:openmoko.org "release date" "at fic.com.tw"

Alternatively you can use the custom OpenMoko search engine which has been created using Google Co-op.