FAQ

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(Q: how many dead pixels may the LCM have before calling it defect?)
(Exchg bootloader with U-Boot)
 
(259 intermediate revisions by 62 users not shown)
Line 1: Line 1:
Frequently Asked Questions... with answers included!
+
{{Languages|FAQ}}
  
==Introduction==  
+
== Getting Started with your Neo FreeRunner == <!-- Do not rename section! This section is linked from pages which linked to Getting_Started_FAQ. -->
  
=== Q: What is OpenMoko? What is Neo1973? ===
+
=== I just received my Neo FreeRunner. Where should I start?===
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: I'm a ____ expert, can I join/help OpenMoko? ===
+
See [[Getting_Started_with_your_Neo_FreeRunner|Getting Started with your Neo FreeRunner]]
  
We would love to hear from you.
+
=== I have a problem or a question. Where should I go? ===
  
If you are interested in joining OpenMoko, please visit http://www.openmoko.com/contact-index.html and send us an e-mail.  Or simply post a message to our community list if you just want to help.
+
First place to check is this FAQ.  
  
=== Q: When can I buy a [[Neo1973]]? ===
+
If your question isn't answered here, you should search the archives of the [http://lists.openmoko.org/mailman/listinfo/community community] or [http://lists.openmoko.org/mailman/listinfo/support support] mailing lists
  
A: Now - from https://direct.openmoko.com/. But please see "What will it do?" below first.
+
Next, try a larger Google search.  
  
=== Q: How much? ===
+
If you still haven't found the answer to your question, post it on the appropriate list, [http://lists.openmoko.org/mailman/listinfo/community community] or [http://lists.openmoko.org/mailman/listinfo/support support].
  
A: Neo1973 GTA01B_v04: $300 for Neo Base, $450 for Neo Advanced. Available now. See [[Neo1973]] for what is included.
+
Provide detailed information about what you are trying to find out, and use
 +
the Subject line to summarize your question. More tips to asking effective
 +
questions can be found
 +
[[http://www.catb.org/~esr/faqs/smart-questions.html|here]]
  
A: Neo1973 GTA02: $450 for Neo Base, $600 for Neo Advanced. Planned to be available Fall 2007. See [[Neo1973]] for list of hardware.
+
If your question requires confidentiality, you are welcome to contact [mailto:michael@openmoko.org Michael Shiloh] directly.
  
=== Q: What will it do? ===
+
You might also look for [[Openmoko_Local_Groups|local Openmoko users]] to find
 +
some local support. A few minutes with a live person might solve a simple
 +
misunderstanding that would take hours to understand via email. (If a local
 +
club doesn't exist, this might be the perfect opportunity to start one!)
  
A: For long answer see [[Developer preview]]
+
=== I'd like to develop a custom product or application based on Openmoko and/or the Neo FreeRunner. How should I proceed? ===
  
A: The Phase 1 phone is aimed at 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.
+
Send mail to michael@openmoko.org or to steve@openmoko.com
  
Those interested should:
+
=== Where are the latest downloads? ===
  
* Know that there will be a device with faster cpu, gsm system etc. 4-5 months later (GTA02)
+
Right [[Download|here]].
* 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 $300.
+
  
Ideally they also:
+
==Openmoko==
  
* Can spot bugs and submit patches.
+
===What is Openmoko?===
* Love to cooperate with a community improving the software.
+
Openmoko is two things:
  
=== Q: Do I need Neo Advanced? ===
+
Openmoko is a Linux distribution designed for open mobile computing platforms, such as, but not limited to, cellphones.
  
With Neo Base you can do:
+
Openmoko is the company behind the Openmoko Linux distribution. Openmoko also manufactures mobile computing platforms, such as the Neo FreeRunner.
* Kernel development.
+
* Application developemnt.
+
* Updating u-boot (equivalent to PC BIOS) using a tested image.
+
* Replace a non-booting kernel and/or rootfs using [[Dfu-util]].
+
  
With Neo Advanced you can additionally do:
+
===What is the purpose of this project?===
* U-boot development.
+
* Use the kernel console.
+
* Unbrick your device if you flash a wrong or non-working u-boot image.
+
  
=== Q: I have a shipping related question ===
+
By providing a completely open source Linux distribution, and by opening the schematics and CAD files, Openmoko's goal is to nurture explosive innovation (such as occurred with the Personal Computer) in the field of connected mobile computing, cellphones, and ubiquitous computing.
  
See [[SH1_FAQ|Shipment 1 FAQ]].
+
===How do I join the Openmoko project? ===
  
=== Q: What will the [[Neo1973]] look like? ===
+
Join one or more of the mailing lists. A great place to start is the community list.
  
See the proposed [[Artwork|artwork]].
+
Browse the wiki, and help improve it.
  
==Software==
+
Start or join an [[http://projects.openmoko.org/ Openmoko project]].
  
 +
Start or join a local group near you.
  
=== Q: Can the software do/connect to/... ===
+
===I'm not a programmer, but I have other skills. Can I still be of use? ===
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.
+
  
===What software is on the phone?===
+
Absolutely. If you're a visual artist, you can help us with icons and other visuals. Musicians can help contribute ringtones and other sounds. Marketing? Sales? Information visualization? Join the community mailing lists, introduce yourself, and you'll soon find a place to put your skills to good use.
At the moment, almost no 'end-user' applications are present and working in a usable state.
+
It is possible to make and receive calls in some software revisions, this frequently breaks though.
+
  
====What software can be installed on the phone?====
+
== Neo FreeRunner - Introductory/Overview/Conceptual Information==
  
=== Q: Is there description and list of OpenMoko software? ===
+
=== What is the [[Neo FreeRunner]]? ===  
  
A: See [[OpenMoko]] and [[OpenMokoFramework]]
+
The [[Neo FreeRunner]] is an open cellphone designed for the Openmoko Linux distribution. By open we mean that (a) all chips have been chosen to allow their drivers to be completely open sourced and (b) the schematics and the plastic (CAD) files are available as well.
  
=== Q: Is it completely free software/open source? ===
+
For more details, see [[Neo FreeRunner|Neo FreeRunner specifications]]
  
A: User space [[Gpsd]] will use binary plugin (to be released soon) for [[:Category:Neo1973 Hardware#AGPS|Hammerhead AGPS]] and [[:Category:Neo1973 Hardware#GSM.2FGPRS|GSM modem]] is separate subsystem connected to S3C2410 UART1. Otherwise it is completely free software. See [[MokoMakefile]] and [[Development resources]].
+
=== What can I do with the Neo FreeRunner? ===
  
=== Q: How do I install and manage software on OpenMoko? ===
+
The Neo FreeRunner is designed for everyday use by end users and for continued software development and improvements by the Openmoko team and the Openmoko community.
  
A: ipkg: http://handhelds.org/moin/moin.cgi/Ipkg
+
The Openmoko software is not yet ready for everyday use.
  
=== Q: How can I compile programs for the Neo1973? ===
+
The question is almost what can you NOT do with this phone - eventually there will be a huge range of free software applications allowing both end users and developers to get much more out of this phone than a standard "locked" mobile phone using features like the integrated GPS, bluetooth, wifi and accelerometers.
  
A: See [[Toolchain]].
+
=== What are the buttons on the Neo FreeRunner for? ===
 +
=== What are the LEDs on the Neo FreeRunner for? ===
  
=== Q: Is there an emulator available for OpenMoko? ===
+
There are two buttons on the Neo FreeRunner: One just below the USB socket, and one on the other side, near the top. Both buttons are clear, and both have LEDs behind them.
  
For a lot of testing and development work, you don't actually need emulation as you can run OpenMoko on a normal PC too. The emulators also aren't 100% accurate. That being said, there are several emulation options as described in the following.
+
All buttons and LEDs are software-controlled; that is, their behavior depends on what the installed software implements.
  
====QEMU====
+
See [[FreeRunner/Buttons and LEDs|here]] for more details, along with some programs which implement a variety of behaviors.
QEMU can now emulate the Neo1973 device. The [[MokoMakefile]] has support for automatically building, flashing, and running [[OpenMoko under QEMU|the Neo1973 emulator]].
+
  
“make qemu” will build qemu-neo1973, download the latest official openmoko images, flash the images into the virtual NAND flash, and run the emulator.
+
=== What are the benefits of an "open" phone over a "closed" phone? ===
  
====Xoo====
+
In a conventional closed phone, the handset maker and the mobile network operator work together to provide a service to you that best suits their business model.   The capabilities of a modern smartphone equipped with GPS, Wifi and bluetooth are amazing yet unfortunately inaccessible: many features are "locked down" because they do not suit the network operator.   Up until now it has been difficult to buy a phone on which you have freedom to install sofware which is not controlled by the network operators - Openmoko changes that!
Another is [http://projects.o-hand.com/xoo 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:
+
A list of examples of "closed" behaviour has been started here - [[Problems of typical "closed" phones]]
  
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.
+
=== What can we expect in future Neos? ===
  
http://www.datenfreihafen.org/~stefan/OpenMoko/neo1973-xoo-device.tar.bz2
+
Please join one of the [http://lists.openmoko.org mailing lists] to follow and participate in this discussion.
  
Start with 'xoo --device /path/to/neo1973.xml'
+
=== Purchasing / Shipping / Versions ===
  
Some more details [[Getting_Openmoko_working_on_host_with_Xoo|here]].
+
==== Where can I buy the [[Neo FreeRunner]]? How much?====
  
====Xephyr====
+
See [[distributors]]
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? ===
+
==== On what bands does the Neo FreeRunner operate? Will it work in my area? ====
  
A: This should get you started:
+
* The Neo FreeRunner is a tri-band GSM phone. It is available in a 850/1800/1900MHz version for North America and a 900/1800/1900MHz version for the rest of the world.
http://www.gtk.org/tutorial/
+
  
=== Q: Can PalmOS apps applications be ported to run on OpenMoko? ===
+
==== Do I need the debug board? ====  
  
A: Making legacy apps written for the "Garnet" OS (née "Palm OS") run on Linux
+
With the Neo FreeRunner and NO debug board you can do:
is decidedly non-trivial.
+
* Kernel development
 +
* Application development
 +
* U-boot updates(equivalent to PC BIOS). Neo 1973 users should only use a tested image to avoid the possibility of bricking the Neo 1973. Neo FreeRunner users do not have this concern, as a bad u-boot can always be updated using the failsafe u-boot in NOR flash
 +
* Kernel and/or rootfs updates using [[Dfu-util]].
  
PalmOS apps are in general very hard to simply 'port'. Particularly well-designed programs may make it possible.
+
With a debug board you can additionally do:
 +
* Use JTAG to debug u-boot, device drivers, or the kernel
 +
* Use the kernel console
 +
* Neo 1973 users can unbrick their device if they flash a wrong or non-working u-boot image.
 +
* Neo FreeRunner users can update u-boot in NOR flash
  
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.
+
In summary, it is rare for a Neo FreeRunner user to require a debug board.
  
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.
+
To emphasize, the debug board is '''not''' required in order to develop applications, system software, or even kernel or device drivers. The debug board is '''not''' required in order to gain access to the source code or the development tools.
  
The soon-to-be-released [http://www.palm.com/foleo/ 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.
+
==== Where do I ask a shipping related question? ====
  
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.
+
Visit [http://www.openmoko.com/ openmoko.com]
  
=== Q: Does it have Java? ===
+
=== How do I find out what version of hardware I have? ===
A: It will have eventually, if you help us to get it working. Some good places to keep track of would be [http://projects.openmoko.org/projects/java-pkg/ projects.openmoko.org] and [https://phoneme.dev.java.net/ PhoneME].
+
  
=== Q: What are the relevant X11 details? ===
+
:cat /proc/cpuinfo
  
A: See [http://lists.openmoko.org/pipermail/community/2007-January/001353.html xdpyinfo output].
+
Search for the line that says "Revision". There will be 4 digits, of the form "0350". The '5' in this example indicates hardware revision 5.
  
=== Q: Does OpenMoko run on any other hardware? ===
+
== Neo FreeRunner Known Issues==
  
You can run it on your [[How_to_run_OpenMoko_Apps_on_PC|PC]]. There is work going on with [http://www.datenfreihafen.org/~stefan/weblog//archives/2007/02/#e2007-02-18T15_27_07.txt OpenEZX and HTC]. It's running on [http://dominion.kabel.utwente.nl/koen/cms/openmoko-running-on-an-ipaq iPaq hx4700], on a [http://hackndev.com/node/701 Palm TX] and on [http://blog.mikeasoft.com/2007/07/01/openmoko-on-a-treo-650/ PalmOne's Treo 650].
+
=== Software issues, distribution-wise ===
  
=== Q: What are the requirements to the hardware to run OpenMoko? (Would it run on the IXI ogo?) ===
+
Issues relating to software are in the "known issues" section for each distribution. Navigate there via the distributions page - [[Distributions]].
  
=== Q: Why do you not build on top of the Maemo platform instead? ===
+
=== Firmware and hardware issues ===
  
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
+
Issues relating to firmware and hardware are in [[Neo_FreeRunner_Hardware_Issues|Neo FreeRunner Hardware Issues]].
  
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.
+
Note that some issues might involve a combination of hardware and software.
  
=== Q: Will it be possible to use popular VoIP applications such as Skype on the OpenMoko platform? ===
+
=== Selected, commonly-encountered issues ===
  
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.
+
Some selected known issues that are commonly encountered and reported on mailing lists are described below.
  
=== Q: Same question for Instant Messaging applications such as MSN Messenger? ===
+
==== My FreeRunner won't register with my cellphone network. What should I do?====
  
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 [http://www.pidgin.im  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.
+
Please see [[Neo_FreeRunner_Hardware_Issues#Some_SIMs_Don.27t_Work|some SIMs don't work]].
  
==Neo1973 Hardware==  
+
==== SIM compatibility: It looks like my SIM card is not working; how do I run diagnostics? ====
  
=== Q: Is there description of [[:Category:Neo1973 Hardware | Neo1973 Hardware]] ? ===
+
Here is how to check: follow [[Manually_using_GSM]] until you get an OK prompt.
  
A: See [[:Category:Neo1973 Hardware | Neo1973 Hardware]] and [[Disassembling Neo1973]]
+
For more detailed documentation, please refer to [[FreeRunner_unable_to_work_with_3G_SIM_cards]] and [[Carriers]].
  
=== Q: What are the dimensions? ===
+
==== I read somewhere that a GSM firmware update is available to fix this problem====
  
A: 120.7 x 62 x 18.5 mm, It would fit entirely in a coke can. (4.75 * 2.4 * 0.72 ")
+
The GSM firmware update is applicable only to the Neo 1973. Any fixes in the update are already implemented in the GSM firmware in the Neo FreeRunner.
  
=== Q: How heavy is it? ===
+
==== Why won't the FreeRunner boot even with the charger connected? ====
  
A: 185g, (6.5 ounces).
+
See [[Neo_FreeRunner_Hardware_Issues#Can.27t_boot_with_discharged_or_missing_battery|Can't boot with discharged or missing battery]].
 +
 +
==== Flashing (dfu-util) -- dfu-util does not find the phone. ====
  
=== Q: Does it have a camera? ===
+
In brief, you need to boot the phone into the NAND or NOR u-boot menu before dfu-util will be able to connect. dfu-util uses the USB DFU (Universal Serial Bus Device Firmware Upgrade) protocol, which is only available at the u-boot menu, and '''not''' Ethernet over USB, which is what is available when the phone has booted fully.
  
A: No, see [[:Category:Neo1973 Hardware | Neo1973]] for details on what it does include (and [[Wish List - Hardware]] for what some want in the future.) See also [[FAQ#USB]].
+
Tip: If you're just trying out different distributions, you don't need to flash them with dfu-util; you can try out new distributions by putting them on the microSD card and booting from the card instead. If you'd like to do this instead of flashing, see [[Booting from SD]].
  
=== Q: Does it have Wifi? ===
+
To get the u-boot menu:
 +
# Press and hold the AUX button
 +
# Press the Power button until the phone powers on and displays the boot menu
 +
# Release both buttons
 +
# Press and release AUX to move the lightbar, so that the menu will not time out and boot the phone).
  
A: The currently available [[Neo1973]] does not have WiFi. There was no suitable Wifi device available when it was designed. The next version will have WiFi. See also [[FAQ#USB]].
+
Also see the wiki pages/sections:
 +
* [[Booting the Neo FreeRunner]]
 +
* [[U-Boot#Device_Firmware_Upgrade]]
 +
* [[Flashing the Neo FreeRunner]]
 +
* [[Dfu-util]]
  
=== Q: Does it have bluetooth? ===
+
==== Why do I experience poor audio quality or buzzing noises during calls?====
 +
See [http://wiki.openmoko.org/wiki/Neo_FreeRunner_Hardware_Issues#Poor_Audio_Quality this issue on the FreeRunner Hardware Issues page]
  
A: Yes! Bluetooth 2.0.
+
====Suspend/resume may corrupt SD card's partition table====
  
=== Q: Does it come with a stylus? ===
+
See [http://wiki.openmoko.org/wiki/Neo_FreeRunner_Hardware_Issues#Suspend.2Fresume_corrupts_SD_card.27s_partition_table this issue on the FreeRunner Hardware Issues page]. See ticket [https://docs.openmoko.org/trac/ticket/1802 #1802].
  
A: Yes, but there's no holder for it on the phone.
+
==Hardware and Usage-related Questions==
  
 +
=== Booting ===
  
=== Q: Where are the buttons? ===
+
==== How do I boot into U-boot? How do I select NAND or NOR FLASH? ====
  
The power button is a small circular button, just next to the USB connector. [[Neo1973 Power Button]]
+
See [[Booting_the_Neo_FreeRunner|here]]
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? ===
+
=== Battery and Battery Charging===
  
A: Use provided keyboard app.
+
==== What is the expected battery life? ====
 +
See [[Neo FreeRunner (GTA02) Battery#Notes_about_expected_battery_life]] and more battery information in [[Neo_FreeRunner_(GTA02)_Battery]]
  
A: Use Bluetooth keyboard.
+
==== How do I enable fast charge mode for anything but the official mains charger? ====
 +
See [[Forcing fast charge mode]].
  
A: For more methods and ideas see [[Wishlist:Text_Input]].
+
==== Can the Neo FreeRunner charge when turned off? When suspended? ====
  
=== Q: Can I record calls and/or play audio files in calls? ===
+
The Neo FreeRunner can '''not''' charge when turned off.
  
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.
+
The Neo FreeRunner '''can''' charge when suspended.
There are only 2 A/D inputs and three D/A outputs (one dedicated to the earpiece). This means that stereo audio playback cannot happen at the same time as the [[Answering Machine]] functionality, amongst other things. See the audio page. [[Neo1973_Audio_Subsystem|Neo1973 Audio Subsystem]]
+
  
=== Q: What is the battery life? ===
+
==== Can the Neo charge and use devices on a USB hub at the same time? ====
 +
 
 +
See [[USB_host#Providing_power_to_run_and_charge_the_Neo_while_in_host_mode|here]]
 +
 
 +
===Wireless Connectivity===
 +
 
 +
====What kind of wireless connectivity does the FreeRunner have? ====
 +
 
 +
The FreeRunner has the following connectivity options:
 +
* Tri-band GSM (850/1800/1900 MHz in North America, and 900/1800/1900 MHz, commonly referred to as "European tri-band", for other parts of the world). For a list of compatible service providers, see [[Neo1973 compatible cellphone providers]].
 +
* GPRS Class12/CS4 2.5G (Not EDGE)
 +
* Bluetooth 2.0 EDR
 +
* WiFi: Atheros AR6K in [[GTA02#.22Phase_2.22_.28GTA02.2C_.22Mass_Market.22.29|GTA02]]. (No 3G in year 2007 models)
 +
 
 +
 
 +
==== GSM/GPRS information ====
 +
 
 +
The following pages contain very useful information:
 +
 
 +
* [[Gsmd|GSM Daemon]]
 +
 
 +
* [[GSM|General GSM page]]
 +
 
 +
* [[Hardware:AT_Commands|AT commands]]
 +
 
 +
* [http://freeyourphone.de/portal_v1/viewtopic.php?f=21&t=295#p2956 Useful script for GPRS]
 +
 
 +
==== How do I get the WLAN (802.11, Wi-Fi, wireless network) working? ====
 +
 
 +
See [[Neo FreeRunner Wifi]]
 +
 
 +
==== How do I get the GPS working? ====
 +
 
 +
See [[GTA02 GPS]]
 +
 
 +
==== It takes a long time (10min+) before the FreeRunner gets the first GPS data/readings ====
 +
 
 +
See [[GPS Problems]].
 +
 
 +
==== How do I get Bluetooth working manually? ====
 +
 
 +
See [[Manually_using_Bluetooth]]
 +
 
 +
==== How do I use an external Bluetooth keyboard with the FreeRunner ? ====
 +
..TBA..
 +
 
 +
(It is mentioned as being a bit funky, but preliminary documentation can be found [http://wiki.openmoko.org/wiki/Manually_using_Bluetooth#HID_.28Human_Input_Device.29 here])
 +
 
 +
====Can I bridge to an Ethernet (wired or unwired) network via a suitable Bluetooth enabled router? ====
 +
 
 +
Yes - see [http://gentoo-wiki.com/HOWTO_Configure_a_bluetooth_network_access_point this howto for how to configure a linux computer to act as such a router] and [[Bluetooth Support]].
  
A: There has been no word on this so far, but see [[Neo1973 Power Management#Approximate_power_draw_of_various_subsystems|these estimates]] for a rough idea.  More information about the battery [[Neo1973 Battery|here]].
 
  
 
=== USB ===
 
=== USB ===
  
==== Q: What can I do with the USB port on the Neo1973? ====
+
==== How do I connect a USB memory-stick etc? ====
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. The "Mass Market" version of the phone will have wifi integrated.
+
This requires an adapter Mini-B 5-pole => Type A jack or an adapter jack => jack. See [[USB host]] for more information.
  
==== Q: What can't I do with the USB? ====
+
====Once I have such an adapter, can I use it to connect 2 Neos to each other?====
  
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 question is equivalent to '''How to connect two [Unix/Linux] computers via USB cable and what sort of special cable is needed?''' -> http://www.linuxquestions.org/questions/linux-general-1/connecting-two-computers-with-a-usb-cable-data-cable-411073
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.
+
It should work if one Neo is set to Host mode and the other one set to Device mode. One Neo could give power to the USB-port it the other Neo's battery is low. ''(I have to verify this)''
  
==== Q: Why is only USB 1.1 provided? ====
+
==== How do I use an external USB keyboard with the FreeRunner ? ====
  
A: The processor has USB 1.1 built in. One with USB2 built in would have been more expensive.
+
Run:
 +
echo "host" > /sys/devices/platform/s3c2410-ohci/usb_mode
 +
echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode
  
==== Q: Can the Neo charge and use devices on a USB hub at the same time? ====
+
These commands will put the FreeRunner into powered USB host mode. After this, just plug in the keyboard and it'll work. Personally, I've made a .desktop file to switch into and out of host mode.
  
A:
+
To switch back to unpowered device mode just run:
*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.)
+
echo "device" > /sys/devices/platform/s3c2410-ohci/usb_mode
*This is because the host socket on USB hubs is not powered.
+
echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode
  
FIC product development is looking into providing something that
+
Finally you will need a
conveniently solves this problem.
+
USB Type A Female to Female adapter. For more details see
 +
[[Specialized_USB_cables#Attaching_the_Neo_.28acting_as_a_USB_host.29_to_a_USB_device|here]]
  
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.)
+
'''The above does not work with QtExtended on mwester's kernel, it gives an invalid argument on the first command.'''
  
One solution is a three headed cable.
+
No, stable-tracking kernels give that error too but they still work. --[[User:Lindi|Lindi]]
  
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.
+
=== Display ===
  
The Charger/USB device plug only has +5V and 0V connected in the simple cable, which are connected to the other ends.
+
==== Can the phone play VGA video? ====
  
For a more complex cable, when the host socket is not plugged in, the cable acts as a simple USB cable.
+
No, it can do about 20 fps QVGA with software, and something beetween QVGA and VGA playing MPEG-4 using hardware (at resonable fps). Scaling is also done with GPU hardware.
  
==== 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).
+
=== Storage ===
  
=== Q: Are there any LEDs on the Neo 1973? ===
+
==== What microSDHC-cards are supported? ====
  
A: The [[Neo1973]] P1/P2 will have no LEDs besides the screen backlight.
+
See [[Supported_microSD_cards|here]]
  
=== Q: Will a JTAG port be made available? ===
+
==== What is the best file system for microSDHC-cards? ====
  
A: The "Hacker's Lunchbox" in Advanced version will make this kind of stuff easy.  
+
Short answer: for OM it is ext3. Other options: ext2 and vfat. Don't use wear-aware file systems like jffs2 and ubifs.
  
There are [[Neo1973_Hardware#Changes_from_GTA01Bv3|exposed I2C, SPI and debug board connectors]] inside case in all versions and [[Debug Board|Debug Board v2]] (JTAG and serial console) in Advanced version. [[Connecting Neo1973 with Debug Board v2]] explains how to connect it to the phone.
+
For a longer explanation, see [[FileSystem_microSD_cards|here]].
  
=== Q: What can we expect in future versions? ===
+
===System-level information===
  
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.
+
==== What hardware signals are available?====
  
==Networking/Connectivity==
+
To simplify extending the hardware, various signals of interest are brought out via the JTAG connector and can be easily accessed with the debug board:
  
=== Q: What kind of connectivity? ===
+
(TBA: List of signals)
  
A: Quad-band GSM, GPRS Class12/CS4 2.5G (Not EDGE), Bluetooth 2.0 EDR, USB in all versions. WiFi: Atheros AR6K in [[GTA02#.22Phase_2.22_.28GTA02.2C_.22Mass_Market.22.29|GTA02]]. (No 3G in year 2007 models)
+
Some additional signals that did not fit on the JTAG connector are brought out to solder pads:
  
=== Q: Can I bridge to an Ethernet (wired or unwired) network via a suitable Bluetooth enabled router? ===
+
(TBA: List of signals)
  
A: Yes - see [http://gentoo-wiki.com/HOWTO_Configure_a_bluetooth_network_access_point this howto for how to configure a linux computer to act as such a router] and [[Bluetooth Support]].
+
==== Is the JTAG interface that comes with GTA01 compatible with GTA02?====
  
=== Q: What providers provide the GSM required for Neo1973? ===
+
Yes
  
A: See [[Neo1973 compatible cellphone providers]]
+
==== How do I get low-level hardware-related functions, like power up device, dump register? ====
  
=== Q: Will OpenMoko "Just Work" with Mac OS X? ===
+
See [[GTA02_sysfs]]
  
A: There has been some discussion of this on the mailing list. There is motivation, and there are interested developers.  
+
 
 +
 
 +
=== Miscellaneous ===
 +
 
 +
====Will Openmoko "Just Work" with Mac OS X? ====
 +
 
 +
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
 
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?
 
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.
+
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
+
It is expected that (Bluetooth/UB) SyncML based interoperation for
 
contacts and events can easily be achieved by a patch
 
contacts and events can easily be achieved by a patch
 
to the Apple iSync configuration tables.
 
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
+
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.
+
PPC/x86/ARM universal binaries) on Openmoko devices: mySTEP.
 +
 
 +
====Why is resuming from suspend so slow ====
 +
The suspend / resume speed is influenced by the kernel loglevel, i.e. how many messages are printed on the console during suspend / resume. The loglevel can be set using the kernel boot parameters. Setting 'loglevel=1' using the u-boot console for example improves resume speed drastically compared to 'loglevel=8'.
 +
 
 +
As an alternate to changing the kernel parameter from the boot loader, you can pass "-c 1" to klogd. You can add this parameter to /etc/default/klogd in debian, for example.
 +
 
 +
==Software==
 +
 
 +
===General Questions===
 +
 
 +
====Is it completely free software/open source? ====
 +
 
 +
Yes. All software that runs on the main CPU and can be updated by the user is available in source.
 +
 
 +
Firmware in "black box" hardware modules that can not be modified by users is not available in source form. Effectively, these modules are "hardware only".
 +
 
 +
This allows, for example, that the driver for the GSM module be completely open sourced without violating any FCC rules.
 +
 
 +
 
 +
 
 +
==== Does Openmoko run on any other hardware? ====
 +
 
 +
You can run it on your [[How_to_run_Openmoko_Apps_on_PC|PC]].  You may be able to run it on other [[Openmoko_supported_devices|mobile platforms]]
 +
 
 +
==== Can Java applications from other mobile phones run on the FreeRunner? ====
 +
 
 +
I think a lot of work must still be done, but [[Java|this]] wiki page has some information
 +
 
 +
===Distributions===
 +
 
 +
====What distributions are available for the Neo FreeRunner?====
 +
 
 +
See [[Distributions|Distributions]]
 +
 
 +
==== How do I find out what image versions are in use on the phone? ====
 +
 
 +
You can run the commands given below on the phone (in an SSH session from your host PC, or in the Terminal application on the phone itself)
 +
{| border="1" cellspacing="0" cellpadding="5" align=""
 +
! To find out
 +
! Run
 +
|-
 +
| Kernel version that is currently running
 +
|
 +
  uname -a
 +
|-
 +
| The version of the root filesystem that you are currently using
 +
|
 +
  cat /etc/version
 +
or
 +
  cat /etc/om-version
 +
|-
 +
| The versions of u-boot on the phone (The FreeRunner has one u-boot image in NOR memory, and one in NAND - see [[Booting the Neo FreeRunner]] for more information)
 +
|
 +
  grep  Bootloader /dev/mtdblock0  (yields the NOR u-boot version)
 +
or
 +
  grep  Bootloader /dev/mtdblock1  (yields the NAND u-boot version)
 +
|}
 +
 
 +
====Can the Neo FreeRunner dual boot? Multiple boot?====
 +
 
 +
Since the Neo FreeRunner can boot from the micro SD card, you can install and boot from as many distributions as will fit on your card. See [[Booting from SD]].
 +
 
 +
 
 +
====How do I install Debian on the Neo FreeRunner?====
 +
 
 +
See [[Debian#Installation|Debian Installation]]
 +
 
 +
=====Are there any known issues with Debian on the Neo FreeRunner?=====
 +
 
 +
See [[Debian#Known_Issues|Debian Known Issues]]
 +
 
 +
=====How do I replace the matchbox window manager with the xfce window manager?=====
 +
 
 +
Replace the matchbox-wm line in zhone-session with xfwm4 to start the xfce-wm.
 +
 
 +
Here's my (Fox Mulder) /usr/bin/zhone-session file which works with xfwm and matchbox keyboard popup:
 +
 
 +
#!/bin/sh
 +
 +
#zhone &
 +
exec startxfce4 &
 +
matchbox-keyboard-toggle &
 +
#exec matchbox-window-manager -use_titlebar yes
 +
exec xfwm4
 +
 
 +
=== Applications ===
 +
 
 +
 
 +
====What software is on the phone?====
 +
 
 +
At the moment, almost no 'end-user' applications are present and working in a usable state.
 +
It is possible to make and receive calls in some software revisions, this frequently breaks though.
 +
 
 +
====What software can be installed on the phone?====
 +
 
 +
Pretty much any that can be cross-compiled for the ARM architecture.
 +
 
 +
====Will it be possible to use popular VoIP applications on the Openmoko platform? ====
 +
 
 +
Since it has WiFi the FreeRunner should be a good platform for VOIP use.   
 +
 
 +
In either case please check for softphone apps ported to the Openmoko distribution at the [http://projects.openmoko.org/  projects] page. We need to focus efforts on free software. Not convincing non-free software companies to release binaries for our Neos.
 +
 
 +
====Will it be possible to use popular Instant Messaging applications ? ====
 +
 
 +
There 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.
 +
 
 +
==== Does it support Flash so can I watch YouTube? ====
 +
You don't really need Flash to watch YouTube videos, for example, if you want to watch www.youtube.com/watch?v=k9QLdK6pFCI just install mplayer and use this command:
 +
mplayer http://ytpocket.com/getflv.php?id=k9QLdK6pFCI
 +
or use this small script with the video URL as the first parametre:
 +
#!/bin/sh
 +
vid=`echo "$1" | sed 's/.*\?.*=\(.*\)/\1/'`
 +
mplayer http://ytpocket.com/getflv.php?id=$vid
 +
 
 +
If you don't want to tell ytpocket.com about every video you watch on debian you can also
 +
sudo apt-get install youtube-dl
 +
mplayer `youtube-dl --get-url www.youtube.com/watch?v=k9QLdK6pFCI`
 +
 
 +
=== Package Management===
 +
 
 +
==== How do I install and manage software on Openmoko? ====
 +
 
 +
See [http://handhelds.org/moin/moin.cgi/Ipkg here]
 +
 
 +
==== What about opkg? ====
 +
 
 +
See [[Opkg|here]]
 +
 
 +
==== What is the meaning of the error codes from ipkg? ====
 +
 
 +
See [[Opkg#Error_Codes|here]]
 +
 
 +
 
 +
==== Does opkg support packages autocompletion ? ====
 +
 
 +
It's possible now, see [http://blog.upme.fr/?/Linux/28-Openmoko-Opkg-Autocompletion-With-Packages-Names 0pkg : The opkg autocompletion]
 +
 
 +
===Development===
 +
 
 +
====How can I compile programs for the Neo FreeRunner? ====
 +
 
 +
See [[Toolchain]].
 +
 
 +
====Is there an emulator available for Openmoko? ====
 +
 
 +
For a lot of testing and development work you can simply run Openmoko directly on your PC.
 +
 
 +
=====QEMU=====
 +
 
 +
QEMU can emulate the Neo 1973 and the Neo FreeRunner. The [[MokoMakefile]] has support for automatically building, flashing, and running [[Openmoko under QEMU|the Neo emulator]].
 +
 
 +
*Ubuntu users can follow the instructions in [[Automatic_emulation_in_Ubuntu]]
 +
 
 +
*Users of other Linux distributions can try the following:
 +
:"make qemu” will build qemu-neo1973, download the latest official openmoko images, flash the images into the virtual NAND flash, and run the emulator.
 +
 
 +
See [[Qemu]] for more advanced information on running Openmoko in Qemu.
 +
 
 +
=====Xoo=====
 +
 
 +
[http://projects.o-hand.com/xoo Xoo]. Koen says: "Xoo should be enough for most applications 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 usable 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 [[Getting_Openmoko_working_on_host_with_Xoo|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 &
 +
 
 +
====Where can I find some type of tutorial for a 'Hello, world' on Openmoko? ====
 +
 
 +
This should get you started:
 +
* [[Building_a_hello_world_application]]
 +
* http://www.gtk.org/documentation.html#Tutorials
 +
 
 +
====Can PalmOS apps applications be ported to run on Openmoko? ====
 +
 
 +
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 M68000 (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.
 +
 
 +
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.
 +
 
 +
==== Does it support Java? ====
 +
It will have eventually, if you help us to get it working. Some good places to keep track of would be [http://projects.openmoko.org/projects/java-pkg/ projects.openmoko.org] and [https://phoneme.dev.java.net/ PhoneME].
 +
 
 +
Project [[https://wiki.evolvis.org/jalimo/index.php/Jalimo Jalimo]] is a project aiming to provide a Java stack on mobile devices. There is a [https://wiki.evolvis.org/jalimo/index.php/Openmoko port of Jalimo] for Openmoko.
 +
The [[Debian]] distribution supports CacaoVM and JamVM through apt-get. See [[Java]] for more infos.
 +
 
 +
==== Does it support Ruby? ====
 +
 
 +
For Ruby 1.9, please refer to http://blog.sparkymat.net/2008/08/10/ruby-19-on-openmoko/
 +
 
 +
For Ruby 1.8.6, please refer to http://blog.wolfman.com/articles/2008/08/10/ruby-1-8-6-on-openmoko-freerunner
 +
 
 +
==== Does it support Python? ====
 +
 
 +
Yes, with some caveats. See [[Python]] for more information.
 +
 
 +
 
 +
====How do I dump details about X11 configuration and extensions? ====
 +
 
 +
Run the command xdpyinfo. Generally, you would do this via an SSH session to the phone, so you may need to first
 +
 
 +
export DISPLAY=":0.0"
 +
 
 +
and then run
 +
 
 +
xdpyinfo
 +
 
 +
For an example invocation, see [http://lists.openmoko.org/pipermail/community/2007-January/001353.html xdpyinfo output].
 +
 
 +
== Distribution Customization ==
 +
 
 +
{{Note| Suggestion: this should be split off into a separate page, since many of the questions below aren't really overview-level but specialized; a question like "How do I customize a distribution?" could be added to the Software - Distributions part, linking to the new page. --[[User:Eddsouza|eddsouza]] 07:35, 7 September 2008 (UTC)}}
 +
 
 +
=== Compilation & packaging ===
 +
==== What is the 'overlay' approach to bitbake development? ====
 +
:You can create a local overlay for the bitbake build chain and develop in the overlay as described in [[Application_Development_Crash_Course| Application Development Crash Course]].
 +
 
 +
==== Which .bb files are related with the Openmoko? ====
 +
==== Are there any configuration files for Openmoko? ====
 +
==== How can I port an application written with autotools to Openmoko? ====
 +
After you source the [[Toolchain|Openmoko toolchain]] variables, the Openmoko processor compiler becomes the default compiler. You can compile any GNU - like project just typing ''./configure --host i686'' and then ''make'' - it will produce libraries and executables as expected. Just these executables will not run on your i686 host - they will run on Openmoko ARM processor. Use scp to upload the executables to your phone.
 +
 
 +
==== How can I add an application written with autotools to the openmoko tree? ====
 +
 
 +
==== How can I make changes in the openmoko applications? ====
 +
==== How can I submit my changes? ====
 +
==== Can I use the mokomakefile in the development process? How? ====
 +
 
 +
:Yes, [[MokoMakefile]] can be used in the development process.  See [[MokoMakefile#Developing_with_MokoMakefile| Developing with MokoMakefile]].
 +
 
 +
==== What's the way to include/exclude a newly added package to/from the final rootfs? ====
 +
==== Where do the final ipk & binary files reside? ====
 +
:ipk files are in
 +
./build/tmp/deploy/glibc/ipk/
 +
:binary images are in
 +
./build/tmp/deploy/glibc/images/fic-gta01/
 +
 
 +
==== How can I add an application to the applications list? ====
 +
==== How can I assign an image to my new application to be seen in the applications list? ====
 +
The Openmoko project tree contains the folder 'data' where you can put any 128*128 icon. You need to mention the icon in two places in this folder:
 +
* Makefile.am must contain the line dist_appicon_DATA = <icon_name>.png
 +
* The <application_name>.desktop file that must be in this folder should contain the Icon=<icon_name> (without file type).
 +
 
 +
 
  
 
==Misc==
 
==Misc==
  
=== Q: On the lists on lists.openmoko.org, should replies be added above or below the original text? ===
+
===On the lists on lists.openmoko.org, should replies be added above or below the original text? ===
  
A: Please reply UNDER post.
+
Please reply UNDER post.
  
=== Q: How can I find out if a question or topic has already been discussed on the mailing lists? ===
+
===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:
+
By searching the mailing list archives. For example, using Google searches:
  
 
  site:openmoko.org text
 
  site:openmoko.org text
Line 333: Line 648:
 
  site:openmoko.org accelerometer
 
  site:openmoko.org accelerometer
  
If you only want to read the "official" mails from FIC people or from OpenMoko people:
+
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 fic.com.tw"
Line 342: Line 657:
 
  site:openmoko.org "release date" "at fic.com.tw"
 
  site:openmoko.org "release date" "at fic.com.tw"
  
Alternatively you can use the [http://www.google.com/coop/cse?cx=017507431580478583395%3Astsl7lhxzbc custom OpenMoko search engine] which has been created using [http://www.google.com/coop/ Google Co-op].
+
Alternatively you can use the [http://www.google.com/coop/cse?cx=018430699993342716089%3Aszsaurhronw custom Openmoko search engine] that is using [http://www.google.com/coop/ Google Co-op].
  
=== Q: how many dead pixels may the LCM have before calling it defect? ===
+
===how many dead pixels may the LCM have before calling it defect? ===
  
A: the answer for the display used in GTA01 and GTA02 is '2'
+
The answer for the display used in GTA01 and GTA02 is '2'
  
=== Q: Can I has some money for a Neo1973? ===
+
=== how many visits does this wiki have? ===
 +
See this [[Wiki_statistic_numbers|wiki's statistics]] page.
  
A: No.
+
=Historical=
 +
The Neo1973 was last available in Febuary 2008.  
  
{{Languages|FAQ}}
+
==Neo1973 Hardware==
 +
 
 +
===What are the hardware specifications of Neo 1973 ? ===
 +
 
 +
See page [[Neo1973_Hardware]] and category [[:Category:Neo1973 Hardware | Neo1973 Hardware]] and [[Disassembling Neo1973]]
 +
 
 +
===How do I input text? ===
 +
 
 +
Use provided keyboard app.
 +
 
 +
Use Bluetooth keyboard.
 +
 
 +
For more methods and ideas see [[Wishlist:Text_Input]].
 +
 
 +
===Can I record calls and/or play audio files in calls? ===
 +
 
 +
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.
 +
 
 +
Tom Hacohen has written a program called [[Call Recorder]] which allows both sides of a conversation to be saved to a .wav file.
 +
 
 +
Note that there are only 2 A/D inputs and three D/A outputs (one dedicated to the earpiece). This means that stereo audio playback cannot happen at the same time as the [[Answering Machine]] functionality, amongst other things. See the audio page. [[Neo1973_Audio_Subsystem|Neo1973 Audio Subsystem]]
 +
 
 +
===What is the battery life? ===
 +
 
 +
There has been no word on this so far, but see [[Neo1973 Power Management#Approximate_power_draw_of_various_subsystems|these estimates]] for a rough idea.  More information about the battery [[Neo1973 Battery|here]].
 +
 
 +
=== USB ===
 +
 
 +
====What can I do with the USB port on the Neo? ====
 +
Charge the phone, communicate with it over USB-serial, or USB-networking.
 +
 
 +
Plug external devices, such as wifi, cameras, or mass-storage devices.
 +
 
 +
====What can't I do with the USB? ====
 +
 
 +
The only limitation on current hardware seems to be no usb 2.0 support, which means slower communication with 2.0 devices.
 +
 
 +
====Why is only USB 1.1 provided? ====
 +
 
 +
The processor has USB 1.1 built in. One with USB2 built in would have been more expensive, and might not be open.
 +
 
 +
The FreeRunner has the same processor as the Neo1973.
 +
 
 +
====What are the details of the USB port on the Neo? How does it compare to USB On-The-Go? ====
 +
 
 +
The Neo 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
 +
an 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: Can the Neo charge and use devices on a USB hub at the same time? ==
 +
 
 +
It's entirely a cabling problem.
 +
The neo essentially has two ports in one - there is the mini-AB port, which is missing the  5V line, and the  5V charging line.
 +
 
 +
When the Neo is plugged into one of the the outputs of a USB hub, the 5V line is used to charge the battery.
 +
The 5V line is not otherwise used in the neo.
 +
 
 +
To use peripheral devices plugged into a hub, the Neo must be plugged into the input of a powered hub, that is capable of working without 5V input (the Belkin Tetrahub for example will not recognise a host without it).
 +
 
 +
To use peripheral devices and charge at the same time, you need to make up a special cable, that plugs into the output of a powered hub - to pick up the charge current, and into the input of a powered hub at the same time - to act as a USB host.
 +
These cables are wired together for  5V and 0V, but only the input cable has the data pins wired.
 +
In some cases (the belkin hub mentioned above) this will also allow the hub to recognise the neo as a host, when it would not before.
 +
In other cases - where the hub keeps the outputs unpowered until it senses a host - an external source of 5V would need to be plugged into the 'output' cable.
 +
 
 +
See [[USB host#Providing power to run and charge the Neo while in host mode]]
  
[[Category:Information]]
+
[[Category:FAQ]]
 +
[[Category:Power]]

Latest revision as of 08:30, 10 February 2012


Contents

[edit] Getting Started with your Neo FreeRunner

[edit] I just received my Neo FreeRunner. Where should I start?

See Getting Started with your Neo FreeRunner

[edit] I have a problem or a question. Where should I go?

First place to check is this FAQ.

If your question isn't answered here, you should search the archives of the community or support mailing lists

Next, try a larger Google search.

If you still haven't found the answer to your question, post it on the appropriate list, community or support.

Provide detailed information about what you are trying to find out, and use the Subject line to summarize your question. More tips to asking effective questions can be found [[1]]

If your question requires confidentiality, you are welcome to contact Michael Shiloh directly.

You might also look for local Openmoko users to find some local support. A few minutes with a live person might solve a simple misunderstanding that would take hours to understand via email. (If a local club doesn't exist, this might be the perfect opportunity to start one!)

[edit] I'd like to develop a custom product or application based on Openmoko and/or the Neo FreeRunner. How should I proceed?

Send mail to michael@openmoko.org or to steve@openmoko.com

[edit] Where are the latest downloads?

Right here.

[edit] Openmoko

[edit] What is Openmoko?

Openmoko is two things:

Openmoko is a Linux distribution designed for open mobile computing platforms, such as, but not limited to, cellphones.

Openmoko is the company behind the Openmoko Linux distribution. Openmoko also manufactures mobile computing platforms, such as the Neo FreeRunner.

[edit] What is the purpose of this project?

By providing a completely open source Linux distribution, and by opening the schematics and CAD files, Openmoko's goal is to nurture explosive innovation (such as occurred with the Personal Computer) in the field of connected mobile computing, cellphones, and ubiquitous computing.

[edit] How do I join the Openmoko project?

Join one or more of the mailing lists. A great place to start is the community list.

Browse the wiki, and help improve it.

Start or join an [Openmoko project].

Start or join a local group near you.

[edit] I'm not a programmer, but I have other skills. Can I still be of use?

Absolutely. If you're a visual artist, you can help us with icons and other visuals. Musicians can help contribute ringtones and other sounds. Marketing? Sales? Information visualization? Join the community mailing lists, introduce yourself, and you'll soon find a place to put your skills to good use.

[edit] Neo FreeRunner - Introductory/Overview/Conceptual Information

[edit] What is the Neo FreeRunner?

The Neo FreeRunner is an open cellphone designed for the Openmoko Linux distribution. By open we mean that (a) all chips have been chosen to allow their drivers to be completely open sourced and (b) the schematics and the plastic (CAD) files are available as well.

For more details, see Neo FreeRunner specifications

[edit] What can I do with the Neo FreeRunner?

The Neo FreeRunner is designed for everyday use by end users and for continued software development and improvements by the Openmoko team and the Openmoko community.

The Openmoko software is not yet ready for everyday use.

The question is almost what can you NOT do with this phone - eventually there will be a huge range of free software applications allowing both end users and developers to get much more out of this phone than a standard "locked" mobile phone using features like the integrated GPS, bluetooth, wifi and accelerometers.

[edit] What are the buttons on the Neo FreeRunner for?

[edit] What are the LEDs on the Neo FreeRunner for?

There are two buttons on the Neo FreeRunner: One just below the USB socket, and one on the other side, near the top. Both buttons are clear, and both have LEDs behind them.

All buttons and LEDs are software-controlled; that is, their behavior depends on what the installed software implements.

See here for more details, along with some programs which implement a variety of behaviors.

[edit] What are the benefits of an "open" phone over a "closed" phone?

In a conventional closed phone, the handset maker and the mobile network operator work together to provide a service to you that best suits their business model. The capabilities of a modern smartphone equipped with GPS, Wifi and bluetooth are amazing yet unfortunately inaccessible: many features are "locked down" because they do not suit the network operator. Up until now it has been difficult to buy a phone on which you have freedom to install sofware which is not controlled by the network operators - Openmoko changes that!

A list of examples of "closed" behaviour has been started here - Problems of typical "closed" phones

[edit] What can we expect in future Neos?

Please join one of the mailing lists to follow and participate in this discussion.

[edit] Purchasing / Shipping / Versions

[edit] Where can I buy the Neo FreeRunner? How much?

See distributors

[edit] On what bands does the Neo FreeRunner operate? Will it work in my area?

  • The Neo FreeRunner is a tri-band GSM phone. It is available in a 850/1800/1900MHz version for North America and a 900/1800/1900MHz version for the rest of the world.

[edit] Do I need the debug board?

With the Neo FreeRunner and NO debug board you can do:

  • Kernel development
  • Application development
  • U-boot updates(equivalent to PC BIOS). Neo 1973 users should only use a tested image to avoid the possibility of bricking the Neo 1973. Neo FreeRunner users do not have this concern, as a bad u-boot can always be updated using the failsafe u-boot in NOR flash
  • Kernel and/or rootfs updates using Dfu-util.

With a debug board you can additionally do:

  • Use JTAG to debug u-boot, device drivers, or the kernel
  • Use the kernel console
  • Neo 1973 users can unbrick their device if they flash a wrong or non-working u-boot image.
  • Neo FreeRunner users can update u-boot in NOR flash

In summary, it is rare for a Neo FreeRunner user to require a debug board.

To emphasize, the debug board is not required in order to develop applications, system software, or even kernel or device drivers. The debug board is not required in order to gain access to the source code or the development tools.

[edit] Where do I ask a shipping related question?

Visit openmoko.com

[edit] How do I find out what version of hardware I have?

cat /proc/cpuinfo

Search for the line that says "Revision". There will be 4 digits, of the form "0350". The '5' in this example indicates hardware revision 5.

[edit] Neo FreeRunner Known Issues

[edit] Software issues, distribution-wise

Issues relating to software are in the "known issues" section for each distribution. Navigate there via the distributions page - Distributions.

[edit] Firmware and hardware issues

Issues relating to firmware and hardware are in Neo FreeRunner Hardware Issues.

Note that some issues might involve a combination of hardware and software.

[edit] Selected, commonly-encountered issues

Some selected known issues that are commonly encountered and reported on mailing lists are described below.

[edit] My FreeRunner won't register with my cellphone network. What should I do?

Please see some SIMs don't work.

[edit] SIM compatibility: It looks like my SIM card is not working; how do I run diagnostics?

Here is how to check: follow Manually_using_GSM until you get an OK prompt.

For more detailed documentation, please refer to FreeRunner_unable_to_work_with_3G_SIM_cards and Carriers.

[edit] I read somewhere that a GSM firmware update is available to fix this problem

The GSM firmware update is applicable only to the Neo 1973. Any fixes in the update are already implemented in the GSM firmware in the Neo FreeRunner.

[edit] Why won't the FreeRunner boot even with the charger connected?

See Can't boot with discharged or missing battery.

[edit] Flashing (dfu-util) -- dfu-util does not find the phone.

In brief, you need to boot the phone into the NAND or NOR u-boot menu before dfu-util will be able to connect. dfu-util uses the USB DFU (Universal Serial Bus Device Firmware Upgrade) protocol, which is only available at the u-boot menu, and not Ethernet over USB, which is what is available when the phone has booted fully.

Tip: If you're just trying out different distributions, you don't need to flash them with dfu-util; you can try out new distributions by putting them on the microSD card and booting from the card instead. If you'd like to do this instead of flashing, see Booting from SD.

To get the u-boot menu:

  1. Press and hold the AUX button
  2. Press the Power button until the phone powers on and displays the boot menu
  3. Release both buttons
  4. Press and release AUX to move the lightbar, so that the menu will not time out and boot the phone).

Also see the wiki pages/sections:

[edit] Why do I experience poor audio quality or buzzing noises during calls?

See this issue on the FreeRunner Hardware Issues page

[edit] Suspend/resume may corrupt SD card's partition table

See this issue on the FreeRunner Hardware Issues page. See ticket #1802.

[edit] Hardware and Usage-related Questions

[edit] Booting

[edit] How do I boot into U-boot? How do I select NAND or NOR FLASH?

See here

[edit] Battery and Battery Charging

[edit] What is the expected battery life?

See Neo FreeRunner (GTA02) Battery#Notes_about_expected_battery_life and more battery information in Neo_FreeRunner_(GTA02)_Battery

[edit] How do I enable fast charge mode for anything but the official mains charger?

See Forcing fast charge mode.

[edit] Can the Neo FreeRunner charge when turned off? When suspended?

The Neo FreeRunner can not charge when turned off.

The Neo FreeRunner can charge when suspended.

[edit] Can the Neo charge and use devices on a USB hub at the same time?

See here

[edit] Wireless Connectivity

[edit] What kind of wireless connectivity does the FreeRunner have?

The FreeRunner has the following connectivity options:

  • Tri-band GSM (850/1800/1900 MHz in North America, and 900/1800/1900 MHz, commonly referred to as "European tri-band", for other parts of the world). For a list of compatible service providers, see Neo1973 compatible cellphone providers.
  • GPRS Class12/CS4 2.5G (Not EDGE)
  • Bluetooth 2.0 EDR
  • WiFi: Atheros AR6K in GTA02. (No 3G in year 2007 models)


[edit] GSM/GPRS information

The following pages contain very useful information:

[edit] How do I get the WLAN (802.11, Wi-Fi, wireless network) working?

See Neo FreeRunner Wifi

[edit] How do I get the GPS working?

See GTA02 GPS

[edit] It takes a long time (10min+) before the FreeRunner gets the first GPS data/readings

See GPS Problems.

[edit] How do I get Bluetooth working manually?

See Manually_using_Bluetooth

[edit] How do I use an external Bluetooth keyboard with the FreeRunner ?

..TBA..

(It is mentioned as being a bit funky, but preliminary documentation can be found here)

[edit] Can I bridge to an Ethernet (wired or unwired) network via a suitable Bluetooth enabled router?

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


[edit] USB

[edit] How do I connect a USB memory-stick etc?

This requires an adapter Mini-B 5-pole => Type A jack or an adapter jack => jack. See USB host for more information.

[edit] Once I have such an adapter, can I use it to connect 2 Neos to each other?

This question is equivalent to How to connect two [Unix/Linux] computers via USB cable and what sort of special cable is needed? -> http://www.linuxquestions.org/questions/linux-general-1/connecting-two-computers-with-a-usb-cable-data-cable-411073

It should work if one Neo is set to Host mode and the other one set to Device mode. One Neo could give power to the USB-port it the other Neo's battery is low. (I have to verify this)

[edit] How do I use an external USB keyboard with the FreeRunner ?

Run: echo "host" > /sys/devices/platform/s3c2410-ohci/usb_mode echo "1" > /sys/devices/platform/neo1973-pm-host.0/hostmode

These commands will put the FreeRunner into powered USB host mode. After this, just plug in the keyboard and it'll work. Personally, I've made a .desktop file to switch into and out of host mode.

To switch back to unpowered device mode just run:

echo "device" > /sys/devices/platform/s3c2410-ohci/usb_mode echo "0" > /sys/devices/platform/neo1973-pm-host.0/hostmode

Finally you will need a USB Type A Female to Female adapter. For more details see here

The above does not work with QtExtended on mwester's kernel, it gives an invalid argument on the first command.

No, stable-tracking kernels give that error too but they still work. --Lindi

[edit] Display

[edit] Can the phone play VGA video?

No, it can do about 20 fps QVGA with software, and something beetween QVGA and VGA playing MPEG-4 using hardware (at resonable fps). Scaling is also done with GPU hardware.


[edit] Storage

[edit] What microSDHC-cards are supported?

See here

[edit] What is the best file system for microSDHC-cards?

Short answer: for OM it is ext3. Other options: ext2 and vfat. Don't use wear-aware file systems like jffs2 and ubifs.

For a longer explanation, see here.

[edit] System-level information

[edit] What hardware signals are available?

To simplify extending the hardware, various signals of interest are brought out via the JTAG connector and can be easily accessed with the debug board:

(TBA: List of signals)

Some additional signals that did not fit on the JTAG connector are brought out to solder pads:

(TBA: List of signals)

[edit] Is the JTAG interface that comes with GTA01 compatible with GTA02?

Yes

[edit] How do I get low-level hardware-related functions, like power up device, dump register?

See GTA02_sysfs


[edit] Miscellaneous

[edit] Will Openmoko "Just Work" with Mac OS X?

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?

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

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.

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.

[edit] Why is resuming from suspend so slow

The suspend / resume speed is influenced by the kernel loglevel, i.e. how many messages are printed on the console during suspend / resume. The loglevel can be set using the kernel boot parameters. Setting 'loglevel=1' using the u-boot console for example improves resume speed drastically compared to 'loglevel=8'.

As an alternate to changing the kernel parameter from the boot loader, you can pass "-c 1" to klogd. You can add this parameter to /etc/default/klogd in debian, for example.

[edit] Software

[edit] General Questions

[edit] Is it completely free software/open source?

Yes. All software that runs on the main CPU and can be updated by the user is available in source.

Firmware in "black box" hardware modules that can not be modified by users is not available in source form. Effectively, these modules are "hardware only".

This allows, for example, that the driver for the GSM module be completely open sourced without violating any FCC rules.


[edit] Does Openmoko run on any other hardware?

You can run it on your PC. You may be able to run it on other mobile platforms

[edit] Can Java applications from other mobile phones run on the FreeRunner?

I think a lot of work must still be done, but this wiki page has some information

[edit] Distributions

[edit] What distributions are available for the Neo FreeRunner?

See Distributions

[edit] How do I find out what image versions are in use on the phone?

You can run the commands given below on the phone (in an SSH session from your host PC, or in the Terminal application on the phone itself)

To find out Run
Kernel version that is currently running
 uname -a
The version of the root filesystem that you are currently using
 cat /etc/version 

or

 cat /etc/om-version
The versions of u-boot on the phone (The FreeRunner has one u-boot image in NOR memory, and one in NAND - see Booting the Neo FreeRunner for more information)
 grep  Bootloader /dev/mtdblock0  (yields the NOR u-boot version)

or

 grep  Bootloader /dev/mtdblock1  (yields the NAND u-boot version)

[edit] Can the Neo FreeRunner dual boot? Multiple boot?

Since the Neo FreeRunner can boot from the micro SD card, you can install and boot from as many distributions as will fit on your card. See Booting from SD.


[edit] How do I install Debian on the Neo FreeRunner?

See Debian Installation

[edit] Are there any known issues with Debian on the Neo FreeRunner?

See Debian Known Issues

[edit] How do I replace the matchbox window manager with the xfce window manager?

Replace the matchbox-wm line in zhone-session with xfwm4 to start the xfce-wm.

Here's my (Fox Mulder) /usr/bin/zhone-session file which works with xfwm and matchbox keyboard popup:

#!/bin/sh

#zhone &
exec startxfce4 &
matchbox-keyboard-toggle &
#exec matchbox-window-manager -use_titlebar yes
exec xfwm4

[edit] Applications

[edit] What software is on the phone?

At the moment, almost no 'end-user' applications are present and working in a usable state. It is possible to make and receive calls in some software revisions, this frequently breaks though.

[edit] What software can be installed on the phone?

Pretty much any that can be cross-compiled for the ARM architecture.

[edit] Will it be possible to use popular VoIP applications on the Openmoko platform?

Since it has WiFi the FreeRunner should be a good platform for VOIP use.

In either case please check for softphone apps ported to the Openmoko distribution at the projects page. We need to focus efforts on free software. Not convincing non-free software companies to release binaries for our Neos.

[edit] Will it be possible to use popular Instant Messaging applications ?

There 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.

[edit] Does it support Flash so can I watch YouTube?

You don't really need Flash to watch YouTube videos, for example, if you want to watch www.youtube.com/watch?v=k9QLdK6pFCI just install mplayer and use this command:

mplayer http://ytpocket.com/getflv.php?id=k9QLdK6pFCI

or use this small script with the video URL as the first parametre:

#!/bin/sh
vid=`echo "$1" | sed 's/.*\?.*=\(.*\)/\1/'`
mplayer http://ytpocket.com/getflv.php?id=$vid

If you don't want to tell ytpocket.com about every video you watch on debian you can also

sudo apt-get install youtube-dl
mplayer `youtube-dl --get-url www.youtube.com/watch?v=k9QLdK6pFCI`

[edit] Package Management

[edit] How do I install and manage software on Openmoko?

See here

[edit] What about opkg?

See here

[edit] What is the meaning of the error codes from ipkg?

See here


[edit] Does opkg support packages autocompletion ?

It's possible now, see 0pkg : The opkg autocompletion

[edit] Development

[edit] How can I compile programs for the Neo FreeRunner?

See Toolchain.

[edit] Is there an emulator available for Openmoko?

For a lot of testing and development work you can simply run Openmoko directly on your PC.

[edit] QEMU

QEMU can emulate the Neo 1973 and the Neo FreeRunner. The MokoMakefile has support for automatically building, flashing, and running the Neo emulator.

  • Users of other Linux distributions can try the following:
"make qemu” will build qemu-neo1973, download the latest official openmoko images, flash the images into the virtual NAND flash, and run the emulator.

See Qemu for more advanced information on running Openmoko in Qemu.

[edit] Xoo

Xoo. Koen says: "Xoo should be enough for most applications 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 usable 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.

[edit] 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 &

[edit] Where can I find some type of tutorial for a 'Hello, world' on Openmoko?

This should get you started:

[edit] Can PalmOS apps applications be ported to run on Openmoko?

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 M68000 (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.

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.

[edit] Does it support Java?

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.

Project [Jalimo] is a project aiming to provide a Java stack on mobile devices. There is a port of Jalimo for Openmoko. The Debian distribution supports CacaoVM and JamVM through apt-get. See Java for more infos.

[edit] Does it support Ruby?

For Ruby 1.9, please refer to http://blog.sparkymat.net/2008/08/10/ruby-19-on-openmoko/

For Ruby 1.8.6, please refer to http://blog.wolfman.com/articles/2008/08/10/ruby-1-8-6-on-openmoko-freerunner

[edit] Does it support Python?

Yes, with some caveats. See Python for more information.


[edit] How do I dump details about X11 configuration and extensions?

Run the command xdpyinfo. Generally, you would do this via an SSH session to the phone, so you may need to first

export DISPLAY=":0.0"

and then run

xdpyinfo

For an example invocation, see xdpyinfo output.

[edit] Distribution Customization

NOTE: Suggestion: this should be split off into a separate page, since many of the questions below aren't really overview-level but specialized; a question like "How do I customize a distribution?" could be added to the Software - Distributions part, linking to the new page. --eddsouza 07:35, 7 September 2008 (UTC)


[edit] Compilation & packaging

[edit] What is the 'overlay' approach to bitbake development?

You can create a local overlay for the bitbake build chain and develop in the overlay as described in Application Development Crash Course.

[edit] Which .bb files are related with the Openmoko?

[edit] Are there any configuration files for Openmoko?

[edit] How can I port an application written with autotools to Openmoko?

After you source the Openmoko toolchain variables, the Openmoko processor compiler becomes the default compiler. You can compile any GNU - like project just typing ./configure --host i686 and then make - it will produce libraries and executables as expected. Just these executables will not run on your i686 host - they will run on Openmoko ARM processor. Use scp to upload the executables to your phone.

[edit] How can I add an application written with autotools to the openmoko tree?

[edit] How can I make changes in the openmoko applications?

[edit] How can I submit my changes?

[edit] Can I use the mokomakefile in the development process? How?

Yes, MokoMakefile can be used in the development process. See Developing with MokoMakefile.

[edit] What's the way to include/exclude a newly added package to/from the final rootfs?

[edit] Where do the final ipk & binary files reside?

ipk files are in
./build/tmp/deploy/glibc/ipk/
binary images are in
./build/tmp/deploy/glibc/images/fic-gta01/

[edit] How can I add an application to the applications list?

[edit] How can I assign an image to my new application to be seen in the applications list?

The Openmoko project tree contains the folder 'data' where you can put any 128*128 icon. You need to mention the icon in two places in this folder:

  • Makefile.am must contain the line dist_appicon_DATA = <icon_name>.png
  • The <application_name>.desktop file that must be in this folder should contain the Icon=<icon_name> (without file type).


[edit] Misc

[edit] On the lists on lists.openmoko.org, should replies be added above or below the original text?

Please reply UNDER post.

[edit] How can I find out if a question or topic has already been discussed on the mailing lists?

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 that is using Google Co-op.

[edit] how many dead pixels may the LCM have before calling it defect?

The answer for the display used in GTA01 and GTA02 is '2'

[edit] how many visits does this wiki have?

See this wiki's statistics page.

[edit] Historical

The Neo1973 was last available in Febuary 2008.

[edit] Neo1973 Hardware

[edit] What are the hardware specifications of Neo 1973 ?

See page Neo1973_Hardware and category Neo1973 Hardware and Disassembling Neo1973

[edit] How do I input text?

Use provided keyboard app.

Use Bluetooth keyboard.

For more methods and ideas see Wishlist:Text_Input.

[edit] Can I record calls and/or play audio files in calls?

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.

Tom Hacohen has written a program called Call Recorder which allows both sides of a conversation to be saved to a .wav file.

Note that there are only 2 A/D inputs and three D/A outputs (one dedicated to the earpiece). This means that stereo audio playback cannot happen at the same time as the Answering Machine functionality, amongst other things. See the audio page. Neo1973 Audio Subsystem

[edit] What is the battery life?

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

[edit] USB

[edit] What can I do with the USB port on the Neo?

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

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

[edit] What can't I do with the USB?

The only limitation on current hardware seems to be no usb 2.0 support, which means slower communication with 2.0 devices.

[edit] Why is only USB 1.1 provided?

The processor has USB 1.1 built in. One with USB2 built in would have been more expensive, and might not be open.

The FreeRunner has the same processor as the Neo1973.

[edit] What are the details of the USB port on the Neo? How does it compare to USB On-The-Go?

The Neo 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 an 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).

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

It's entirely a cabling problem. The neo essentially has two ports in one - there is the mini-AB port, which is missing the 5V line, and the 5V charging line.

When the Neo is plugged into one of the the outputs of a USB hub, the 5V line is used to charge the battery. The 5V line is not otherwise used in the neo.

To use peripheral devices plugged into a hub, the Neo must be plugged into the input of a powered hub, that is capable of working without 5V input (the Belkin Tetrahub for example will not recognise a host without it).

To use peripheral devices and charge at the same time, you need to make up a special cable, that plugs into the output of a powered hub - to pick up the charge current, and into the input of a powered hub at the same time - to act as a USB host. These cables are wired together for 5V and 0V, but only the input cable has the data pins wired. In some cases (the belkin hub mentioned above) this will also allow the hub to recognise the neo as a host, when it would not before. In other cases - where the hub keeps the outputs unpowered until it senses a host - an external source of 5V would need to be plugged into the 'output' cable.

See USB host#Providing power to run and charge the Neo while in host mode

Personal tools

Frequently Asked Questions... with answers included!

Introduction

Q: What is OpenMoko? What is 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: I'm a ____ expert, can I join/help OpenMoko?

We would love to hear from you.

If you are interested in joining OpenMoko, please visit http://www.openmoko.com/contact-index.html and send us an e-mail. Or simply post a message to our community list if you just want to help.

Q: When can I buy a Neo1973?

A: Now - from https://direct.openmoko.com/. But please see "What will it do?" below first.

Q: How much?

A: Neo1973 GTA01B_v04: $300 for Neo Base, $450 for Neo Advanced. Available now. See Neo1973 for what is included.

A: Neo1973 GTA02: $450 for Neo Base, $600 for Neo Advanced. Planned to be available Fall 2007. See Neo1973 for list of hardware.

Q: What will it do?

A: For long answer see Developer preview

A: The Phase 1 phone is aimed at 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. 4-5 months later (GTA02)
  • 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 $300.

Ideally they also:

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

Q: Do I need Neo Advanced?

With Neo Base you can do:

  • Kernel development.
  • Application developemnt.
  • Updating u-boot (equivalent to PC BIOS) using a tested image.
  • Replace a non-booting kernel and/or rootfs using Dfu-util.

With Neo Advanced you can additionally do:

  • U-boot development.
  • Use the kernel console.
  • Unbrick your device if you flash a wrong or non-working u-boot image.

Q: I have a shipping related question

See Shipment 1 FAQ.

Q: What will the Neo1973 look like?

See the proposed artwork.

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.

What software is on the phone?

At the moment, almost no 'end-user' applications are present and working in a usable state. It is possible to make and receive calls in some software revisions, this frequently breaks though.

What software can be installed on the phone?

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 (to be released soon) 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?

For a lot of testing and development work, you don't actually need emulation as you can run OpenMoko on a normal PC too. The emulators also aren't 100% accurate. That being said, there are several emulation options as described in the following.

QEMU

QEMU can now emulate the Neo1973 device. The MokoMakefile has support for automatically building, flashing, and running the Neo1973 emulator.

“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.

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 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, on a Palm TX and on PalmOne's Treo 650.

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.

Neo1973 Hardware

Q: Is there description of Neo1973 Hardware ?

A: See Neo1973 Hardware 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: Does it have Wifi?

A: The currently available Neo1973 does not have WiFi. There was no suitable Wifi device available when it was designed. The next version will have WiFi. See also FAQ#USB.

Q: Does it have bluetooth?

A: Yes! Bluetooth 2.0.

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 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. There are only 2 A/D inputs and three D/A outputs (one dedicated to the earpiece). This means that stereo audio playback cannot happen at the same time as the Answering Machine functionality, amongst other things. See the audio page. Neo1973 Audio Subsystem

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. The "Mass Market" version of the phone will have wifi integrated.

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

A: The Neo1973 P1/P2 will have no LEDs besides the screen backlight.

Q: Will a JTAG port be made available?

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

There are exposed I2C, SPI and debug board connectors inside case in all versions and Debug Board v2 (JTAG and serial console) in Advanced version. 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. 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.

Networking/Connectivity

Q: What kind of connectivity?

A: Quad-band GSM, GPRS Class12/CS4 2.5G (Not EDGE), Bluetooth 2.0 EDR, USB in all versions. WiFi: Atheros AR6K in GTA02. (No 3G in year 2007 models)

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 Neo1973?

A: See Neo1973 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.

Q: how many dead pixels may the LCM have before calling it defect?

A: the answer for the display used in GTA01 and GTA02 is '2'

Q: Can I has some money for a Neo1973?

A: No.