FAQ

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(Q: Is it completely free software/open source?: correct section link.)
(QEMU: replace old info with MokoMakefile info)
Line 92: Line 92:
  
 
====QEMU====
 
====QEMU====
QEMU is a good place to start, and we should be able to run almost all OpenMoko
+
The [[MokoMakefile]] now has support for automatically building, flashing, and running the new OpenMoko emulator (which is based on QEMU).
apps with it. For a good start with the QEMU emulator visit [[OpenMoko under QEMU]] and:
+
http://www.aurel32.net/info/debian_arm_qemu.php
+
  
[[User:Jebba|Jeff]] put together an image you can test under [http://fabrice.bellard.free.fr/qemu/ qemu], if you so desire:
+
“make qemu” will build qemu-neo1973, download the latest official openmoko images, flash the images into the virtual NAND flash, and run the emulator.
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====
 
====Xoo====

Revision as of 05:25, 8 April 2007

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: Mid to late April for developers, September for mass market - See Neo1973 for most up to date information. Neo1973 will be shipped worldwide. There also will be shipping from EU. To be informed when it is available, subscribe to the mailing list announce.

Q: How much?

A: $350 for the Developer's Kit - Phase 1. Includes:

  • Neo1973 phone
  • Battery
  • Headset
  • Compact charger
  • Carrying case
  • Stylus
  • Lanyard
  • 512 MB MicroSD card
  • USB connectivity cable
  • Instruction manual and warranty

$75 for the Car Kit. Includes:

  • Windshield mount and device holder
  • Car charger
  • External antenna

$200 for the Hacker's Lunchbox. Includes:

  • Development/Debug Board
  • Battery
  • Compact charger for development board
  • FPC (to connect to the jtag port)
  • Shoulder strap
  • Debug cable (USB)

Q: What will it do?

A: The Phase 1 phone available in early April 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:

  • 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: Can the software do/connect to/...

A: At the moment, the answer is in almost all cases no. The phone is at the moment a small linux box with a touchscreen, a working dialer and some prototype apps. Most do not function in any way that would be suitable for users. If you want to add a feature or application request, then look over the existing applications and either add one, or add a feature request to the applications page.

Q: Is there description and list of OpenMoko software?

A: See OpenMoko and OpenMokoFramework

Q: Is it completely free software/open source?

A: User space Gpsd will use binary plugin for Hammerhead AGPS and GSM modem is separate subsystem connected to S3C2410 UART1. Otherwise it is completely free software. See MokoMakefile and Development resources.

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 you're not actually ever going to do dev work :-)

QEMU

The MokoMakefile now has support for automatically building, flashing, and running the new OpenMoko emulator (which is based on 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.

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

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

Some more details here.

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 apps are in general very hard to simply 'port'. Particularly well-designed programs may make it possible.

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: Does it have Java?

A: It will have eventually, if you help us to get it working. Some good places to keep track of would be projects.openmoko.org and PhoneME.

Q: What are the relevant X11 details?

A: See xdpyinfo output.

Q: Does OpenMoko run on any other hardware?

You can run it on your PC. There is work going on with OpenEZX and HTC. It's running on iPaq hx4700.

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

Neo1973 Hardware

Q: Is there description of Neo1973 Hardware ?

A: See Neo1973 Haredware and Disassembling Neo1973

Q: What are the dimensions?

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

Q: How heavy is it?

A: 185g, (6.5 ounces).

Q: Does it have a camera?

A: No, see Neo1973 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.

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

Phase 1+ might include WiFi if suitable chipset is found.

Q: Does it have bluetooth?

A: Yes!

Q: Does it come with a stylus?

A: Yes, but there's no holder for it on the phone.


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?

A: Use provided keyboard app.

A: Use Bluetooth keyboard.

A: For more methods and ideas see Wishlist:Text_Input.

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 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 is the battery life?

A: There has been no word on this so far, but see these estimates for a rough idea. More information about the battery here.

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 provide the GSM required for Neo 1973?

A: See OpenMoko compatible cellphone providers

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: Mid to late April for developers, September for mass market - See Neo1973 for most up to date information. Neo1973 will be shipped worldwide. There also will be shipping from EU. To be informed when it is available, subscribe to the mailing list announce.

Q: How much?

A: $350 for the Developer's Kit - Phase 1. Includes:

  • Neo1973 phone
  • Battery
  • Headset
  • Compact charger
  • Carrying case
  • Stylus
  • Lanyard
  • 512 MB MicroSD card
  • USB connectivity cable
  • Instruction manual and warranty

$75 for the Car Kit. Includes:

  • Windshield mount and device holder
  • Car charger
  • External antenna

$200 for the Hacker's Lunchbox. Includes:

  • Development/Debug Board
  • Battery
  • Compact charger for development board
  • FPC (to connect to the jtag port)
  • Shoulder strap
  • Debug cable (USB)

Q: What will it do?

A: The Phase 1 phone available in early April 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:

  • 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: Can the software do/connect to/...

A: At the moment, the answer is in almost all cases no. The phone is at the moment a small linux box with a touchscreen, a working dialer and some prototype apps. Most do not function in any way that would be suitable for users. If you want to add a feature or application request, then look over the existing applications and either add one, or add a feature request to the applications page.

Q: Is there description and list of OpenMoko software?

A: See OpenMoko and OpenMokoFramework

Q: Is it completely free software/open source?

A: User space Gpsd will use binary plugin for Hammerhead AGPS and GSM modem is separate subsystem connected to S3C2410 UART1. Otherwise it is completely free software. See MokoMakefile and Development resources.

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 you're not actually ever going to do dev work :-)

QEMU

The MokoMakefile now has support for automatically building, flashing, and running the new OpenMoko emulator (which is based on 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.

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

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

Some more details here.

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 apps are in general very hard to simply 'port'. Particularly well-designed programs may make it possible.

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: Does it have Java?

A: It will have eventually, if you help us to get it working. Some good places to keep track of would be projects.openmoko.org and PhoneME.

Q: What are the relevant X11 details?

A: See xdpyinfo output.

Q: Does OpenMoko run on any other hardware?

You can run it on your PC. There is work going on with OpenEZX and HTC. It's running on iPaq hx4700.

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

Neo1973 Hardware

Q: Is there description of Neo1973 Hardware ?

A: See Neo1973 Haredware and Disassembling Neo1973

Q: What are the dimensions?

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

Q: How heavy is it?

A: 185g, (6.5 ounces).

Q: Does it have a camera?

A: No, see Neo1973 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.

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

Phase 1+ might include WiFi if suitable chipset is found.

Q: Does it have bluetooth?

A: Yes!

Q: Does it come with a stylus?

A: Yes, but there's no holder for it on the phone.


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?

A: Use provided keyboard app.

A: Use Bluetooth keyboard.

A: For more methods and ideas see Wishlist:Text_Input.

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 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 is the battery life?

A: There has been no word on this so far, but see these estimates for a rough idea. More information about the battery here.

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 provide the GSM required for Neo 1973?

A: See OpenMoko compatible cellphone providers

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.