http://openmoko.org/api.php?action=feedcontributions&user=Alvar&feedformat=atomOpenmoko - User contributions [en]2024-03-29T09:26:53ZUser contributionsMediaWiki 1.19.24http://openmoko.org/wiki/Debug_Board_v2Debug Board v22008-08-29T07:48:21Z<p>Alvar: /* Overview */</p>
<hr />
<div>{{Dboard}}<br />
<br />
<br />
This page provides information on the architecture of the second version of the Neo1973 debug board (the one shipped with the "Advanced" [[Neo 1973]] kits). <br />
<br />
[[Image:Debugboard v2 diagram.png|left|500px|Architecture Diagram]]<br />
<br />
[[Image:Neo1973 debugboard v2 top annotated.jpg|left|500px|Annotated PCB Photograph]]<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
== Overview ==<br />
<br />
The [[Debug Board | debug board]] provides these key components.<br />
<br />
* [[Debug Board v2#USB Hub | USB Hub]]<br />
* [[Debug Board v2#JTAG using FT2232 | JTAG using FT2232]]<br />
* [[Debug Board v2#Serial Port | Serial Port]]<br />
<br />
=== Schematics ===<br />
<br />
The Schematics of this board can be found at http://people.openmoko.org/laforge/doc/hardware/neo1973_debug_board/neo1973_debugboard_v2_schematics.pdf<br />
<br />
=== USB Hub ===<br />
<br />
This bus-powered hub <br />
* attaches to the laptop using its upstream port<br />
* attaches to the FT2232D for JTAG and serial console on downstream port 1<br />
* attaches to USB-A connectors using downstream ports 2 and 3<br />
<br />
For the USB hub we use the TUSB2046B chip.<br />
<br />
Using the hub, you can have access to the phone, JTAG and serial simultaneously, through a single USB cable. You can actually even charge the phone (100mA slow charge) using that downstream port.<br />
<br />
If you have 2 free USB ports on your PC, it is better to plug the debug board and the Neo1973 into the PC independently (rather than using the hub). This will allow the Neo1973 to charge at the full 500mA rate, and will also allow the debug-board USB to be unplugged/reconnected without affecting the Neo1973.<br />
<br />
=== JTAG using FT2232 ===<br />
<br />
Basically, we integrate a USB-JTAG adaptor similar to the [[Amontec JTAGkey-tiny]]. The actual reference design that we used (Thanks to Joern!) can be found at http://www.oocdlink.com<br />
<br />
This provides us full JTAG debugging, at about 150times the speed of the [[wiggler]]<br />
<br />
The actual JTAG port is connected with<br />
* the phone (via debug flex cable)<br />
* A separate 20-pin header using standard ARM-JTAG pinout<br />
** this allows the user to use this device as JTAG adaptor even for other arm-based devices<br />
<br />
=== Serial Port ===<br />
<br />
Instead of replicating a true RS232 port, we wanted to use a USB serial converter chip,<br />
such as the FT232 or the PL2303. <br />
<br />
As it turns out, we can even use the second port of the FT2232 simultaneously with the JTAG. So no extra FT232 or PL2303 is required.<br />
<br />
==== Tri-State Serial Port ====<br />
<br />
The serial port needs a tri-state driver, since it is both connected to the GSM modem AND to the debug board. We drive the tri-state driver by an inverted GSM_EN signal (pin 7 on FPC connector).<br />
<br />
== Usage Instructions ==<br />
<br />
=== Preconditions ===<br />
<br />
==== FT2232D EEPROM ====<br />
<br />
Please see [[Neo1973 Debug Board v2/EEPROM]] if you have an "early adopter" board with USB ID 0403:0610. If your board shows up as USB ID 1457:5118 then you can ignore this step.<br />
<br />
==== Drivers ====<br />
<br />
===== libftdi =====<br />
<br />
Please make sure you have libftdi-0.8 or later. Earlier versions are known to cause problems. This should not be an issue if you are using statically-linked binaries.<br />
<br />
===== ftdi_sio module =====<br />
<br />
This module must be loaded with parameters that identify the debug board:<br />
<br />
rmmod ftdi_sio<br />
modprobe ftdi_sio vendor=0x1457 product=0x5118<br />
<br />
or the equivalent in your modules.conf<br />
<br />
====== udev rule ======<br />
<br />
Please install the rules from http://people.openmoko.org/laforge/misc/debug_board_v2/udev_rules/<br />
<br />
====== Windows Driver ======<br />
<br />
Please use the driver from http://people.openmoko.org/laforge/misc/debug_board_v2/windows_drivers/<br />
<br />
==== Applications ====<br />
<br />
===== openocd =====<br />
<br />
[[openocd]] is required. It is recommended to use a statically-linked binary produced by the Openmoko build system. Other versions may give "unrecognized command" errors while parsing the configuration file.<br />
<br />
====== openocd.cfg ======<br />
<br />
Openocd requires a configuration file in the directory from which you run the application. A typical example is shown below:<br />
<br />
<pre><br />
telnet_port 4444<br />
gdb_port 3333<br />
interface ft2232<br />
jtag_speed 0<br />
ft2232_vid_pid 0x1457 0x5118<br />
ft2232_layout "jtagkey"<br />
reset_config trst_and_srst<br />
jtag_device 4 0x1 0xf 0xe<br />
daemon_startup attach<br />
target arm920t little reset_run 0 arm920t<br />
working_area 0 0x200000 0x4000 backup<br />
run_and_halt_time 0 5000<br />
ft2232_device_desc "Debug Board for Neo1973"<br />
</pre><br />
<br />
===== dfu-util =====<br />
<br />
[[dfu-util]] is used to write images to the NAND flash once you have a functional u-boot. It is recommended to use a statically-linked binary produced by the Openmoko build system.<br />
<br />
=== Hardware connection ===<br />
<br />
Refer to [[Connecting Neo1973 with Debug Board v2]]. The recommended connection sequence is:<br />
<br />
* Unplug both USB cables<br />
* Remove the Neo1973 battery<br />
* Connect the FPC between the Neo1973 and the debug board<br />
* Replace the Neo1973 battery<br />
* Plug the Neo1973 USB cable into your PC<br />
* If the Neo1973 does not turn on automatically at this point, hold the power button for 5 seconds<br />
* Plug the debug-board USB cable into your PC<br />
<br />
A Neo1973 with a working u-boot should power on when its USB cable is plugged in, but a "bricked" one will not. Note that there will be no visible feedback from the power-button press on a bricked device.<br />
<br />
==== Pinouts ====<br />
<br />
The Debug Board v2 may be used for other embedded projects. It provides the following connectors:<br />
<br />
* J1 - is a regular 20 pin ARM JTAG at 3.3V level with 5V tolerance<br />
<br />
* J10 - is a 3.3V serial connected to portB of the FTDI2232D<br />
<pre><br />
pin name<br />
1 TXD<br />
2 RXD<br />
3 RTS<br />
4 CTS<br />
5 DSR<br />
6 DTR<br />
7 DCD<br />
8 RI<br />
9 GND<br />
10 VCC (3.3V)<br />
</pre><br />
<br />
=== Actually using it ===<br />
<br />
==== On Linux ====<br />
<br />
===== Serial Port =====<br />
<br />
The Linux kernel of your host system will create virtual serial devices called '''/dev/ttyUSBx''' where 'x' is a sequentially assigned number. If you don't have any other USB serial converters attached to your machine, the device name will be '''/dev/ttyUSB1''' for the serial port. A '''/dev/ttyUSB0''' will also be created initially, but will disappear once [[openocd]] connects to the JTAG port.<br />
<br />
You can use your favourite terminal emulator (screen, minicom, cu, zc, ...) just like for any other/real serial port. The baud rate should be set to 115200. You may use gdb as well (eg. target remote /dev/ttya).<br />
<br />
The /dev/ttyUSB1 device node will be removed if the debug-board USB cable is unplugged. You should exit your terminal program before unplugging the cable, and then re-run it after the cable is plugged back in.<br />
<br />
'''Note'''<br />
<br />
After Neo's boot, this last line will be displayed at the console:<br />
<br />
gta01-pm-gsm gta01-pm-gsm.0: powering up GSM, thus disconnecting serial console<br />
<br />
for reconnecting your serial console, please stop the gsmd daemon from ssh :<br />
<br />
/etc/init.d/gsmd stop<br />
<br />
and respawn getty on ttySAC0. <br />
<br />
For example, if getty is on tty1 (given by: '''ps -aux | grep getty''') then you could type:<br />
cd /dev<br />
mv tty1 tty10<br />
ln -s ttySAC0 tty1<br />
pkill getty<br />
<br />
if kernel messages on the console are too verbose, use klogd or dmesg (e.g. '''klogd -c 4''').<br />
<br />
===== JTAG =====<br />
<br />
Once you have connected the hardware as described above, run "openocd" from the diretory containing its configuration file. You should see output similar to the following:<br />
<br />
linux$ ./openocd<br />
Info: openocd.c:93 main(): Open On-Chip Debugger 1.0 (2007-12-13-14:05) svn:226M<br />
Info: openocd.c:94 main(): $URL: svn://svn.berlios.de/openocd/trunk/src/openocd.c $<br />
Info: jtag.c:1291 jtag_examine_chain(): JTAG device found: 0x0032409d (Manufacturer: 0x04e, Part: 0x0324, Version: 0x0)<br />
<br />
Note that the Neo1973 must be powered on for this step to succeed. Otherwise, you will see:<br />
<br />
Error: jtag.c:1253 jtag_examine_chain(): JTAG communication failure, check connection, JTAG interface, target power etc.<br />
Error: jtag.c:1440 jtag_init(): trying to validate configured JTAG chain anyway...<br />
Error: jtag.c:1346 jtag_validate_chain(): Error validating JTAG scan chain, IR mismatch, scan returned 0x00<br />
<br />
Once openocd is running, open another terminal window and connect to its telnet port:<br />
<br />
linux$ telnet localhost 4444<br />
Trying 127.0.0.1...<br />
Connected to localhost.<br />
Escape character is '^]'.<br />
Open On-Chip Debugger<br />
><br />
<br />
You may now reset the device, set breakpoints, upload images, etc. <br />
<br />
===== Unbricking Procedure =====<br />
<br />
Refer to [[Neo1973 Debug Board v2/Unbricking]] for a manual procedure to re-flash a "bricked" phone (one with a damaged u-boot or environment, where the normal [[Flashing_openmoko]] update procedure cannot be used). <br />
<br />
===== Further Reading =====<br />
<br />
The following Wiki pages contain useful information about what can be done with the debug board and the u-boot console. Note, however, that some of the information applies to earlier versions of the product and is not suitable for use with purchased GTA01Bv4 phones.<br />
<br />
- [[OpenOCD#OpenOCD_and_Debug_Board]]<br />
<br />
- [[Bootloader#Using_JTAG_to_boot_from_RAM]]<br />
<br />
- [[Devirginator]]<br />
<br />
- [[NAND_bad_blocks]]<br />
<br />
== History ==<br />
<br />
We previously had [[Debug Board v1]]. Version 1 was never shipped to phase-0 or phase-1, and not sold to anyone.<br />
<br />
=== Changes from v1 to v2 ===<br />
<br />
* get rid of ethernet<br />
** we don't need it, and<br />
** we especially don't want a 40pin parallel 66MHz bus going between two pcb's<br />
* get rid of 7-segment LED displays<br />
** not really needed. We have a serial port<br />
** could be replaced by one or two GPIO LEDs<br />
* get rid of built-in [[wiggler]]<br />
** nobody has a parallel port on the laptop these days<br />
* get rid of li-ion battery (including charger)<br />
** the device can be fully usb powered by the laptop<br />
<br />
<span id="bottom"></span><br />
{{Languages|Debug_Board}}<br />
<br />
[[Category:Hardware]]<br />
[[Category:Neo1973 Hardware]]<br />
[[Category:Neo1973 Hardware Debugging]]</div>Alvarhttp://openmoko.org/wiki/Openmoko_Local_Groups:_BernOpenmoko Local Groups: Bern2007-08-23T00:01:22Z<p>Alvar: </p>
<hr />
<div> See [[Talk:OpenMoko_Local_Groups:_Bern|discussion]]<br />
<br />
{|border=1<br />
!Name<br />
!Skills<br />
!Level of Interest<br />
!Location<br />
!Device<br />
!Debug Board<br />
!Other<br />
|-<br />
|Marc-André Beck<br />
|C/C++, asm<br />
|playing around, VoIP, Security<br />
|Biel/Bienne<br />
|[[Image: Moko.jpg|center]]<br />
|[[Image: MokoBox.jpg|center]]<br />
|<br />
|-<br />
|...<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|}<br />
[[Category:OpenMoko_Local_Groups:_Bern]]</div>Alvarhttp://openmoko.org/wiki/Openmoko_Local_Groups:_BernOpenmoko Local Groups: Bern2007-07-27T00:31:05Z<p>Alvar: Added me as a Local Group member of Bern</p>
<hr />
<div> See [[Talk:OpenMoko_Local_Groups:_Bern|discussion]]<br />
<br />
{|border=1<br />
!Name<br />
!Skills<br />
!Level of Interest<br />
!Location<br />
!Other<br />
|-<br />
|Marc-André Beck<br />
|C/C++, asm<br />
|playing around, VoIP, Security<br />
|Biel/Bienne<br />
|<br />
|-<br />
|...<br />
|<br />
|<br />
|<br />
|<br />
|}<br />
[[Category:OpenMoko_Local_Groups:_Bern]]</div>Alvarhttp://openmoko.org/wiki/Openmoko_Local_GroupsOpenmoko Local Groups2007-07-27T00:18:38Z<p>Alvar: Added a group for Bern, Switzerland</p>
<hr />
<div>__TOC__<br />
'''OpenMoko Local Groups...'''<br />
<br />
* can be used for developers to meet and get to know each other<br />
* can be used for developing<br />
* may provide the room for real-life discussions away from mailinglists/wiki<br />
* can support early support handling their GTA01Bv4 and exchange experiences<br />
* fasten the community's cohesion<br />
* give motivation<br />
<br />
== EU ==<br />
<br />
* Austria<br />
** [[OpenMoko_Local_Groups: Vienna|Vienna]] <br />
<br />
* Belgium<br />
** [[OpenMoko_local_Groups: Antwerp|Antwerp]]<br />
<br />
* Finland <br />
** [[OpenMoko_Local_Groups: Helsinki|Helsinki]] <br />
<br />
* France <br />
** [[OpenMoko_Local_Groups: Toulouse|Toulouse]] <br />
<br />
* Germany <br />
** [[OpenMoko_Local_Groups: Berlin|Berlin]]<br />
** [[OpenMoko_Local_Groups: Braunschweig|Braunschweig]]<br />
** [[OpenMoko_Local_Groups: Duesseldorf|Duesseldorf]] <br />
** [[OpenMoko_Local_Groups: Frankfurt Main|Frankfurt Main]] <br />
<br />
* [[OpenMoko_Local_Groups: Netherlands|Netherlands]] <br />
** [[OpenMoko_Local_Groups: Ede|Ede]] <br />
<br />
* Italy<br />
** [[OpenMoko_Local_Groups: Milan|Milan]] <br />
<br />
* [[OpenMoko_Local_Groups:_Norway|Norway]]<br />
** [[OpenMoko_Local_Groups: Trondheim|Trondheim]] <br />
<br />
* Poland <br />
** [[OpenMoko_Local_Groups: Warsaw|Warsaw]] <br />
<br />
* Portugal <br />
** [[OpenMoko_Local_Groups: Braga|Braga]] <br />
<br />
* Romania<br />
** [[OpenMoko_Local_Groups: Bucharest|Bucharest]]<br />
<br />
* Spain <br />
** [[OpenMoko_Local_Groups: Madrid|Madrid]] <br />
<br />
* Sweden <br />
** [[OpenMoko_Local_Groups: Gothenburg|Gothenburg]] <br />
<br />
* [[OpenMoko_Local_Groups: Switzerland|Switzerland]]<br />
** [[OpenMoko_Local_Groups: Bern|Bern]] <br />
<br />
* UK<br />
** England<br />
*** [[OpenMoko_Local_Groups: Birmingham|Birmingham]] <br />
*** [[OpenMoko_Local_Groups: London|London]]<br />
** Scotland<br />
*** [[OpenMoko_Local_Groups: Fife|Fife]]<br />
*** [[OpenMoko_Local_Groups: Edinburgh|Edinburgh]]<br />
<br />
== Oceania ==<br />
<br />
* Australia <br />
** [[OpenMoko_Local_Groups: Adelaide|Adelaide]]<br />
** [[OpenMoko_Local_Groups: Canberra|Canberra]]<br />
<br />
* New Zealand<br />
** [[OpenMoko_Local_Groups: Auckland|Auckland]]<br />
** [[OpenMoko_Local_Groups: Christchurch|Christchurch]]<br />
<br />
== Asia ==<br />
* India<br />
** [[OpenMoko_Local_Groups: Delhi|Delhi]]<br />
<br />
== USA ==<br />
* Arizona<br />
** [[OpenMoko_Local_Groups: Arizona|Arizona]]<br />
<br />
* California <br />
** [[OpenMoko_Local_Groups: San Diego|San Diego]] <br />
** [[OpenMoko_Local_Groups: San Francisco|San Francisco]] <br />
** [[OpenMoko_Local_Groups: Sacramento|Sacramento]]<br />
<br />
* Colorado<br />
** [[OpenMoko_Local_Groups: Colorado Springs|Colorado Springs]]<br />
<br />
* District of Columbia<br />
** [[OpenMoko_Local_Groups: Washington DC Metro | Washington DC Metro]]<br />
<br />
* Atlanta<br />
** [[OpenMoko_Local_Groups: Atlanta | Atlanta]]<br />
<br />
* Florida<br />
** [[OpenMoko_Local_Groups: Central Florida | Central Florida]]<br />
<br />
* Illinois <br />
** [[OpenMoko_Local_Groups: Chicago|Chicago]]<br />
<br />
* Iowa<br />
** [[OpenMoko_Local_Groups: Iowa-Ames | Iowa-Ames]] <br />
<br />
* Massachusetts<br />
** [[OpenMoko_Local_groups: Boston|Boston]]<br />
<br />
* Michigan <br />
** [[OpenMoko_Local_Groups: Detroit|Detroit]] <br />
<br />
* New Jersey<br />
** [[OpenMoko_Local_Groups: Stevens Institute of Technology, Hoboken NJ | Stevens Institute of Technology, Hoboken NJ ]]<br />
<br />
* New York<br />
** [[OpenMoko_Local_Groups: NYC Metro | NYC Metro]]<br />
<br />
* North Carolina<br />
** [[OpenMoko Local_Groups: Charlotte | Charlotte]]<br />
<br />
* Ohio <br />
** [[OpenMoko_Local_Groups: Cleveland|Cleveland]] <br />
<br />
* Oregon <br />
** [[OpenMoko_Local_Groups: Eugene|Eugene]] <br />
** [[OpenMoko_Local_Groups: Portland|Portland]] <br />
<br />
* Texas <br />
** [[OpenMoko_Local_Groups: North Texas|North Texas]]<br />
<br />
* Utah<br />
** [[OpenMoko_Local_Groups: Salt Lake|Salt Lake]]<br />
<br />
* Virginia<br />
** [[OpenMoko_Local_Groups: Virginia|Virginia]]<br />
<br />
== Canada ==<br />
* Alberta<br />
** [[OpenMoko_Local_Groups: Edmonton|Edmonton]]<br />
** [[OpenMoko_Local_Groups: Pincher Creek|Pincher Creek]]<br />
* British Columbia<br />
** [[OpenMoko_Local_Groups: Vancouver|Vancouver]]<br />
* Ontario<br />
** [[OpenMoko_Local_Groups: Ottawa|Ottawa]]<br />
** [[OpenMoko_Local_Groups: Toronto|Toronto]]<br />
* Quebec <br />
** [[OpenMoko_Local_Groups: Montreal|Montreal]] <br />
<br />
<br />
[[Category:Community]]<br />
[[Category:Neo1973 Phase 1 related]]</div>Alvarhttp://openmoko.org/wiki/FAQFAQ2007-02-28T15:59:21Z<p>Alvar: /* Q: What is the rationale behind the exclusion of WiFi? */</p>
<hr />
<div>Questions and Answers that don't seem to fit elsewhere<br />
<br />
==Introduction== <br />
<br />
=== Q: What is OpenMoko and Neo1973? ===<br />
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.<br />
<br />
=== Q: When can I buy a Neo1973? ===<br />
<br />
A: Late March for developers, September for mass market - See [[Neo1973]] for most up to date information. <br />
To be informed when it is available, subscribe to [http://lists.openmoko.org/mailman/listinfo/announce the mailing list announce].<br />
<br />
=== Q: How much? === <br />
<br />
A: $350, for the developers phone - Phase 1. The mass market price has not been revealed.<br />
<br />
=== Q: What will it do? ===<br />
<br />
A: The Phase 1 phone available in late March is for developers only. It is not suitable for end users, it will have basic functionality as a touchscreen phone. Little else will work, software development will continue till mass market release.<br />
<br />
Those interested should:<br />
<br />
* Should know that there will be a device with faster cpu, gsm system etc. 6 months later<br />
* Have fun hacking devices.<br />
* Be able to find their way through prototype software and hardware without much documentation.<br />
* Share the dream of a device powered by free software.<br />
* Not expect a consumer-level device.<br />
* Come up with new ideas for exploring the age of mobile computing.<br />
* Have $350.<br />
<br />
Ideally they also:<br />
<br />
* Can spot bugs and submit patches.<br />
* Love to cooperate with a community improving the software.<br />
<br />
==Software==<br />
<br />
=== Q: How do I install and manage software on OpenMoko? ===<br />
A: ipkg: http://handhelds.org/moin/moin.cgi/Ipkg<br />
<br />
=== Q: How can I compile programs for the Neo1973? ===<br />
<br />
A: See [[Toolchain]].<br />
<br />
=== Q: Is there an emulator available for OpenMoko? ===<br />
<br />
*XorA guesses that if your first question is "is there an emulator"<br />
then you're not actually ever going to do dev work :-)<br />
<br />
====QEMU====<br />
QEMU is a good place to start, and we should be able to run almost all OpenMoko<br />
apps with it. For a good start with the QEMU emulator visit:<br />
http://www.aurel32.net/info/debian_arm_qemu.php<br />
<br />
[[User:Jebba|Jeff]] put together an image you can test under [http://fabrice.bellard.free.fr/qemu/ qemu], if you so desire:<br />
ftp://ftp.blagblagblag.org/pub/BLAG/developers/jebba/openmoko/<br />
<br />
OpenMoko has longer term plans to port the FIC machines to QEMU. For now MACHINE="qemuarm" can be used.<br />
<br />
====Xoo====<br />
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)".<br />
<br />
Update: Stefan Schmidt has resized the Neo1973 Mock-up and written a small description for xoo. In his words:<br />
<br />
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.<br />
<br />
http://www.datenfreihafen.org/~stefan/OpenMoko/neo1973-xoo-device.tar.bz2<br />
<br />
Start with 'xoo --device /path/to/neo1973.xml'<br />
<br />
====Xephyr====<br />
Or use Xephyr directly with locally compiled programs (e.g. matchbox svn + openmoko):<br />
Xephyr -screen 480x640 -nolisten tcp -ac :1 &<br />
export DISPLAY=:1<br />
export LD_LIBRARY_PATH=/usr/local/lib<br />
matchbox-window-manager -display $DISPLAY -use_titlebar no \<br />
-use_super_modal yes -use_lowlight yes -use_dialog_mode static \<br />
-use_cursor yes &<br />
matchbox-panel --geometry=480x44 --end-applets=clock &<br />
openmoko-footer &<br />
openmoko-taskmanager &<br />
<br />
=== Q: Where can I find some type of tutorial for a 'Hello, world' on OpenMoko? ===<br />
<br />
A: This should get you started:<br />
http://www.gtk.org/tutorial/<br />
<br />
=== Q: Can PalmOS apps applications be ported to run on OpenMoko? ===<br />
<br />
A: Making legacy apps written for the "Garnet" OS (née "Palm OS") run on Linux<br />
is decidedly non-trivial. An emulator for this is going to be part of the<br />
ACCESS Linux Platform.<br />
<br />
PalmOS uses a very different model from Linux: it doesn't really have a concept of a file, ''per se''; instead, all memory is seen as a "soup" of records to access and manipulate (this isn't strictly true, as files had to be grafted on when removable flash was supported, but it's close enough, from a developer's standpoint). Also, the GUI toolkit looks very, very different from GTK. The result is that a very well-written, modular program that carefully separates its core algorithms from its user interface and data input and output can be ported by replacing those components. A program written by a mere mortal programmer is likely to have all these components intertwined to a point that a port will be challenging to say the least.<br />
<br />
The ACCESS Linux Platform will include POSE, an emulator that simulates a Palm device on a Linux host. This emulator has been around a long time; one expects that it will also run on OpenMoko, but this has to be considered a short-term bandaid rather than a long-term solution.<br />
<br />
=== Q: What are the relevant X11 details? ===<br />
<br />
A: See [http://lists.openmoko.org/pipermail/community/2007-January/001353.html xdpyinfo output].<br />
<br />
==Neo1973 Hardware== <br />
<br />
=== Q: What are the dimensions and weight? ===<br />
<br />
A: 120.7 x 62 x 18.5 mm, It would fit entirely in a coke can. (4.75 * 2.4 * 0.72 ")<br />
A: 185g, (6.5 ounces).<br />
<br />
=== Q: Does it have a camera? ===<br />
<br />
A: No, see [[Neo1973 Hardware]] for details on what it does include (and [[Wish List - Hardware]] for what some want in the future.) See also [[FAQ#USB]].<br />
<br />
=== Q: What is the rationale behind the exclusion of WiFi? ===<br />
<br />
A: No suitable low power open source WiFi device was available when the Neo1973 was designed. A closed source WiFi device would have been restrictive for developers and users alike. See also [[FAQ#USB]].<br />
<br />
See also:<br />
[[Sean Moss-Pultz]]'s [http://lists.openmoko.org/pipermail/community/2006-November/000050.html comment on this]<br />
<br />
=== Q: Does it have bluetooth? ===<br />
<br />
A: Yes!<br />
<br />
=== Q: What is the battery life? ===<br />
<br />
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]].<br />
<br />
=== Q: How heavy is it? ===<br />
<br />
A: 184 +/- 5 g<br />
<br />
=== USB ===<br />
<br />
==== Q: What can I do with the USB port on the Neo1973? ====<br />
A: Charge the phone, communicate with it over USB-serial, or USB-networking.<br />
<br />
A: Plug external devices, such as wifi, cameras, or mass-storage devices in.<br />
<br />
==== Q: What can't I do with the USB? ====<br />
<br />
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.<br />
This is due to the fact that adding a 5V power supply into the device would have added complexity, volume and cost.<br />
<br />
==== Q: Why is only USB 1.1 provided? ====<br />
<br />
A: The processor has USB 1.1 built in. One with USB2 built in would have been more expensive.<br />
<br />
==== Q: Can the Neo charge and use devices on a USB hub at the same time? ====<br />
<br />
A: <br />
*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.<br />
<br />
*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.)<br />
*This is because the host socket on USB hubs is not powered.<br />
<br />
FIC product development is looking into providing something that<br />
conveniently solves this problem.<br />
<br />
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.)<br />
<br />
One solution is a three headed cable.<br />
<br />
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.<br />
<br />
The Charger/USB device plug only has +5V and 0V connected in the simple cable, which are connected to the other ends.<br />
<br />
For a more complex cable, when the host socket is not plugged in, the cable acts as a simple USB cable.<br />
<br />
==== Q: What are the details of the USB port on the Neo1973? How does it compare to USB On-The-Go? ====<br />
<br />
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<br />
a AB socket, but also electrical and software components which cannot be provide by the S3C2410.<br />
<br />
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).<br />
<br />
=== Q: Are there any LEDs on the Neo 1973? ===<br />
<br />
A: The Neo1973 v1 will have no LEDs besides the screen backlight.<br />
<br />
=== Q: Will a JTAG port be made available? ===<br />
<br />
A: The "Hacker's Lunchbox" will make this kind of stuff easy. <br />
<br />
It is currently assumed that the "Hacker's Lunchbox" will contain the [[Debug Board]]. [[Connecting Neo1973 with Debug Board v2]] explains how to connect it to the phone.<br />
<br />
=== Q: What can we expect in future versions? ===<br />
<br />
A: A faster CPU, faster GSM (EDGE?) perhaps even powered USB port, USB2, wifi, and camera. None of the details have been released yet. More details of hardware upgrades should be available sometime in May. There will also be 5 more OpenMoko devices - some not phones in the traditional sense announced by FIC in September.<br />
<br />
==Networking/Connectivity==<br />
<br />
=== Q: Can I bridge to an Ethernet (wired or unwired) network via a suitable Bluetooth enabled router? ===<br />
<br />
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]].<br />
<br />
=== Q: What providers in the USA provide the GSM required for Neo 1973? ===<br />
<br />
A: Wikipedia has a list of providers and technologies [http://en.wikipedia.org/wiki/List_of_United_States_mobile_phone_companies here]. A brief look gives the impression that [http://www.t-mobile.com T-Mobile] and [http://www.cingular.com Cingular] (which is<br />
renaming itself AT&T) seem to be the only major ones.<br />
<br />
=== Q: Will OpenMoko "Just Work" with Mac OS X? ===<br />
<br />
A: There has been some discussion of this on the mailing list. There is motivation, and there are interested developers. <br />
Not being a Mac OS X user, I don't know enough<br />
to summarize the discussion to answer this question. Can someone please fill in?<br />
<br />
A: For IP over USB cable connectivity, it is planned to improve/adapt the AJZaurusUSB driver, allowing ssh into the OpenMoko.<br />
<br />
A: It is expected that (Bluetooth/UB) SyncML based interoperation for<br />
contacts and events can easily be achieved by a patch<br />
to the Apple iSync configuration tables.<br />
<br />
A: There is an open source implementation of Cocoa (GNUstep) that aims to run MacOS X compatible applications (sort of<br />
PPC/x86/ARM universal binaries) on OpenMoko devices: mySTEP.<br />
<br />
==Misc==<br />
<br />
=== Q: On the lists on lists.openmoko.org, should replies be added above or below the original text? ===<br />
<br />
A: Please reply UNDER post.<br />
<br />
=== Q: How can I find out if a question or topic has already been discussed on the mailing lists? ===<br />
<br />
A: By searching the mailing list archives. For example, using Google searches:<br />
<br />
site:openmoko.org text<br />
<br />
For example, to search for accelerometer:<br />
<br />
site:openmoko.org accelerometer<br />
<br />
If you only want to read the "official" mails from FIC people or from OpenMoko people:<br />
<br />
site:openmoko.org text "at fic.com.tw"<br />
site:openmoko.org text "at openmoko.org"<br />
<br />
For example to search for "release date" from FIC people:<br />
<br />
site:openmoko.org "release date" "at fic.com.tw"<br />
<br />
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].</div>Alvarhttp://openmoko.org/wiki/FAQFAQ2007-02-28T15:59:02Z<p>Alvar: /* Q: Does it have bluetooth? */</p>
<hr />
<div>Questions and Answers that don't seem to fit elsewhere<br />
<br />
==Introduction== <br />
<br />
=== Q: What is OpenMoko and Neo1973? ===<br />
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.<br />
<br />
=== Q: When can I buy a Neo1973? ===<br />
<br />
A: Late March for developers, September for mass market - See [[Neo1973]] for most up to date information. <br />
To be informed when it is available, subscribe to [http://lists.openmoko.org/mailman/listinfo/announce the mailing list announce].<br />
<br />
=== Q: How much? === <br />
<br />
A: $350, for the developers phone - Phase 1. The mass market price has not been revealed.<br />
<br />
=== Q: What will it do? ===<br />
<br />
A: The Phase 1 phone available in late March is for developers only. It is not suitable for end users, it will have basic functionality as a touchscreen phone. Little else will work, software development will continue till mass market release.<br />
<br />
Those interested should:<br />
<br />
* Should know that there will be a device with faster cpu, gsm system etc. 6 months later<br />
* Have fun hacking devices.<br />
* Be able to find their way through prototype software and hardware without much documentation.<br />
* Share the dream of a device powered by free software.<br />
* Not expect a consumer-level device.<br />
* Come up with new ideas for exploring the age of mobile computing.<br />
* Have $350.<br />
<br />
Ideally they also:<br />
<br />
* Can spot bugs and submit patches.<br />
* Love to cooperate with a community improving the software.<br />
<br />
==Software==<br />
<br />
=== Q: How do I install and manage software on OpenMoko? ===<br />
A: ipkg: http://handhelds.org/moin/moin.cgi/Ipkg<br />
<br />
=== Q: How can I compile programs for the Neo1973? ===<br />
<br />
A: See [[Toolchain]].<br />
<br />
=== Q: Is there an emulator available for OpenMoko? ===<br />
<br />
*XorA guesses that if your first question is "is there an emulator"<br />
then you're not actually ever going to do dev work :-)<br />
<br />
====QEMU====<br />
QEMU is a good place to start, and we should be able to run almost all OpenMoko<br />
apps with it. For a good start with the QEMU emulator visit:<br />
http://www.aurel32.net/info/debian_arm_qemu.php<br />
<br />
[[User:Jebba|Jeff]] put together an image you can test under [http://fabrice.bellard.free.fr/qemu/ qemu], if you so desire:<br />
ftp://ftp.blagblagblag.org/pub/BLAG/developers/jebba/openmoko/<br />
<br />
OpenMoko has longer term plans to port the FIC machines to QEMU. For now MACHINE="qemuarm" can be used.<br />
<br />
====Xoo====<br />
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)".<br />
<br />
Update: Stefan Schmidt has resized the Neo1973 Mock-up and written a small description for xoo. In his words:<br />
<br />
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.<br />
<br />
http://www.datenfreihafen.org/~stefan/OpenMoko/neo1973-xoo-device.tar.bz2<br />
<br />
Start with 'xoo --device /path/to/neo1973.xml'<br />
<br />
====Xephyr====<br />
Or use Xephyr directly with locally compiled programs (e.g. matchbox svn + openmoko):<br />
Xephyr -screen 480x640 -nolisten tcp -ac :1 &<br />
export DISPLAY=:1<br />
export LD_LIBRARY_PATH=/usr/local/lib<br />
matchbox-window-manager -display $DISPLAY -use_titlebar no \<br />
-use_super_modal yes -use_lowlight yes -use_dialog_mode static \<br />
-use_cursor yes &<br />
matchbox-panel --geometry=480x44 --end-applets=clock &<br />
openmoko-footer &<br />
openmoko-taskmanager &<br />
<br />
=== Q: Where can I find some type of tutorial for a 'Hello, world' on OpenMoko? ===<br />
<br />
A: This should get you started:<br />
http://www.gtk.org/tutorial/<br />
<br />
=== Q: Can PalmOS apps applications be ported to run on OpenMoko? ===<br />
<br />
A: Making legacy apps written for the "Garnet" OS (née "Palm OS") run on Linux<br />
is decidedly non-trivial. An emulator for this is going to be part of the<br />
ACCESS Linux Platform.<br />
<br />
PalmOS uses a very different model from Linux: it doesn't really have a concept of a file, ''per se''; instead, all memory is seen as a "soup" of records to access and manipulate (this isn't strictly true, as files had to be grafted on when removable flash was supported, but it's close enough, from a developer's standpoint). Also, the GUI toolkit looks very, very different from GTK. The result is that a very well-written, modular program that carefully separates its core algorithms from its user interface and data input and output can be ported by replacing those components. A program written by a mere mortal programmer is likely to have all these components intertwined to a point that a port will be challenging to say the least.<br />
<br />
The ACCESS Linux Platform will include POSE, an emulator that simulates a Palm device on a Linux host. This emulator has been around a long time; one expects that it will also run on OpenMoko, but this has to be considered a short-term bandaid rather than a long-term solution.<br />
<br />
=== Q: What are the relevant X11 details? ===<br />
<br />
A: See [http://lists.openmoko.org/pipermail/community/2007-January/001353.html xdpyinfo output].<br />
<br />
==Neo1973 Hardware== <br />
<br />
=== Q: What are the dimensions and weight? ===<br />
<br />
A: 120.7 x 62 x 18.5 mm, It would fit entirely in a coke can. (4.75 * 2.4 * 0.72 ")<br />
A: 185g, (6.5 ounces).<br />
<br />
=== Q: Does it have a camera? ===<br />
<br />
A: No, see [[Neo1973 Hardware]] for details on what it does include (and [[Wish List - Hardware]] for what some want in the future.) See also [[FAQ#USB]].<br />
<br />
=== Q: What is the rationale behind the exclusion of WiFi? ===<br />
<br />
A: No suitable low power open source WiFi device was available when the Neo1973 was designed. A closed source WiFi device would have been restrictive for developers and users alike. See also [[FAQ#USB]].<br />
<br />
=== Q: Does it have bluetooth? ===<br />
<br />
A: Yes!<br />
<br />
=== Q: What is the battery life? ===<br />
<br />
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]].<br />
<br />
=== Q: How heavy is it? ===<br />
<br />
A: 184 +/- 5 g<br />
<br />
=== USB ===<br />
<br />
==== Q: What can I do with the USB port on the Neo1973? ====<br />
A: Charge the phone, communicate with it over USB-serial, or USB-networking.<br />
<br />
A: Plug external devices, such as wifi, cameras, or mass-storage devices in.<br />
<br />
==== Q: What can't I do with the USB? ====<br />
<br />
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.<br />
This is due to the fact that adding a 5V power supply into the device would have added complexity, volume and cost.<br />
<br />
==== Q: Why is only USB 1.1 provided? ====<br />
<br />
A: The processor has USB 1.1 built in. One with USB2 built in would have been more expensive.<br />
<br />
==== Q: Can the Neo charge and use devices on a USB hub at the same time? ====<br />
<br />
A: <br />
*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.<br />
<br />
*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.)<br />
*This is because the host socket on USB hubs is not powered.<br />
<br />
FIC product development is looking into providing something that<br />
conveniently solves this problem.<br />
<br />
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.)<br />
<br />
One solution is a three headed cable.<br />
<br />
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.<br />
<br />
The Charger/USB device plug only has +5V and 0V connected in the simple cable, which are connected to the other ends.<br />
<br />
For a more complex cable, when the host socket is not plugged in, the cable acts as a simple USB cable.<br />
<br />
==== Q: What are the details of the USB port on the Neo1973? How does it compare to USB On-The-Go? ====<br />
<br />
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<br />
a AB socket, but also electrical and software components which cannot be provide by the S3C2410.<br />
<br />
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).<br />
<br />
=== Q: Are there any LEDs on the Neo 1973? ===<br />
<br />
A: The Neo1973 v1 will have no LEDs besides the screen backlight.<br />
<br />
=== Q: Will a JTAG port be made available? ===<br />
<br />
A: The "Hacker's Lunchbox" will make this kind of stuff easy. <br />
<br />
It is currently assumed that the "Hacker's Lunchbox" will contain the [[Debug Board]]. [[Connecting Neo1973 with Debug Board v2]] explains how to connect it to the phone.<br />
<br />
=== Q: What can we expect in future versions? ===<br />
<br />
A: A faster CPU, faster GSM (EDGE?) perhaps even powered USB port, USB2, wifi, and camera. None of the details have been released yet. More details of hardware upgrades should be available sometime in May. There will also be 5 more OpenMoko devices - some not phones in the traditional sense announced by FIC in September.<br />
<br />
==Networking/Connectivity==<br />
<br />
=== Q: Can I bridge to an Ethernet (wired or unwired) network via a suitable Bluetooth enabled router? ===<br />
<br />
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]].<br />
<br />
=== Q: What providers in the USA provide the GSM required for Neo 1973? ===<br />
<br />
A: Wikipedia has a list of providers and technologies [http://en.wikipedia.org/wiki/List_of_United_States_mobile_phone_companies here]. A brief look gives the impression that [http://www.t-mobile.com T-Mobile] and [http://www.cingular.com Cingular] (which is<br />
renaming itself AT&T) seem to be the only major ones.<br />
<br />
=== Q: Will OpenMoko "Just Work" with Mac OS X? ===<br />
<br />
A: There has been some discussion of this on the mailing list. There is motivation, and there are interested developers. <br />
Not being a Mac OS X user, I don't know enough<br />
to summarize the discussion to answer this question. Can someone please fill in?<br />
<br />
A: For IP over USB cable connectivity, it is planned to improve/adapt the AJZaurusUSB driver, allowing ssh into the OpenMoko.<br />
<br />
A: It is expected that (Bluetooth/UB) SyncML based interoperation for<br />
contacts and events can easily be achieved by a patch<br />
to the Apple iSync configuration tables.<br />
<br />
A: There is an open source implementation of Cocoa (GNUstep) that aims to run MacOS X compatible applications (sort of<br />
PPC/x86/ARM universal binaries) on OpenMoko devices: mySTEP.<br />
<br />
==Misc==<br />
<br />
=== Q: On the lists on lists.openmoko.org, should replies be added above or below the original text? ===<br />
<br />
A: Please reply UNDER post.<br />
<br />
=== Q: How can I find out if a question or topic has already been discussed on the mailing lists? ===<br />
<br />
A: By searching the mailing list archives. For example, using Google searches:<br />
<br />
site:openmoko.org text<br />
<br />
For example, to search for accelerometer:<br />
<br />
site:openmoko.org accelerometer<br />
<br />
If you only want to read the "official" mails from FIC people or from OpenMoko people:<br />
<br />
site:openmoko.org text "at fic.com.tw"<br />
site:openmoko.org text "at openmoko.org"<br />
<br />
For example to search for "release date" from FIC people:<br />
<br />
site:openmoko.org "release date" "at fic.com.tw"<br />
<br />
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].</div>Alvarhttp://openmoko.org/wiki/FAQFAQ2007-02-28T15:53:53Z<p>Alvar: /* Q: Is there an emulator available for OpenMoko? */</p>
<hr />
<div>Questions and Answers that don't seem to fit elsewhere<br />
<br />
==Introduction== <br />
<br />
=== Q: What is OpenMoko and Neo1973? ===<br />
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.<br />
<br />
=== Q: When can I buy a Neo1973? ===<br />
<br />
A: Late March for developers, September for mass market - See [[Neo1973]] for most up to date information. <br />
To be informed when it is available, subscribe to [http://lists.openmoko.org/mailman/listinfo/announce the mailing list announce].<br />
<br />
=== Q: How much? === <br />
<br />
A: $350, for the developers phone - Phase 1. The mass market price has not been revealed.<br />
<br />
=== Q: What will it do? ===<br />
<br />
A: The Phase 1 phone available in late March is for developers only. It is not suitable for end users, it will have basic functionality as a touchscreen phone. Little else will work, software development will continue till mass market release.<br />
<br />
Those interested should:<br />
<br />
* Should know that there will be a device with faster cpu, gsm system etc. 6 months later<br />
* Have fun hacking devices.<br />
* Be able to find their way through prototype software and hardware without much documentation.<br />
* Share the dream of a device powered by free software.<br />
* Not expect a consumer-level device.<br />
* Come up with new ideas for exploring the age of mobile computing.<br />
* Have $350.<br />
<br />
Ideally they also:<br />
<br />
* Can spot bugs and submit patches.<br />
* Love to cooperate with a community improving the software.<br />
<br />
==Software==<br />
<br />
=== Q: How do I install and manage software on OpenMoko? ===<br />
A: ipkg: http://handhelds.org/moin/moin.cgi/Ipkg<br />
<br />
=== Q: How can I compile programs for the Neo1973? ===<br />
<br />
A: See [[Toolchain]].<br />
<br />
=== Q: Is there an emulator available for OpenMoko? ===<br />
<br />
*XorA guesses that if your first question is "is there an emulator"<br />
then you're not actually ever going to do dev work :-)<br />
<br />
====QEMU====<br />
QEMU is a good place to start, and we should be able to run almost all OpenMoko<br />
apps with it. For a good start with the QEMU emulator visit:<br />
http://www.aurel32.net/info/debian_arm_qemu.php<br />
<br />
[[User:Jebba|Jeff]] put together an image you can test under [http://fabrice.bellard.free.fr/qemu/ qemu], if you so desire:<br />
ftp://ftp.blagblagblag.org/pub/BLAG/developers/jebba/openmoko/<br />
<br />
OpenMoko has longer term plans to port the FIC machines to QEMU. For now MACHINE="qemuarm" can be used.<br />
<br />
====Xoo====<br />
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)".<br />
<br />
Update: Stefan Schmidt has resized the Neo1973 Mock-up and written a small description for xoo. In his words:<br />
<br />
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.<br />
<br />
http://www.datenfreihafen.org/~stefan/OpenMoko/neo1973-xoo-device.tar.bz2<br />
<br />
Start with 'xoo --device /path/to/neo1973.xml'<br />
<br />
====Xephyr====<br />
Or use Xephyr directly with locally compiled programs (e.g. matchbox svn + openmoko):<br />
Xephyr -screen 480x640 -nolisten tcp -ac :1 &<br />
export DISPLAY=:1<br />
export LD_LIBRARY_PATH=/usr/local/lib<br />
matchbox-window-manager -display $DISPLAY -use_titlebar no \<br />
-use_super_modal yes -use_lowlight yes -use_dialog_mode static \<br />
-use_cursor yes &<br />
matchbox-panel --geometry=480x44 --end-applets=clock &<br />
openmoko-footer &<br />
openmoko-taskmanager &<br />
<br />
=== Q: Where can I find some type of tutorial for a 'Hello, world' on OpenMoko? ===<br />
<br />
A: This should get you started:<br />
http://www.gtk.org/tutorial/<br />
<br />
=== Q: Can PalmOS apps applications be ported to run on OpenMoko? ===<br />
<br />
A: Making legacy apps written for the "Garnet" OS (née "Palm OS") run on Linux<br />
is decidedly non-trivial. An emulator for this is going to be part of the<br />
ACCESS Linux Platform.<br />
<br />
PalmOS uses a very different model from Linux: it doesn't really have a concept of a file, ''per se''; instead, all memory is seen as a "soup" of records to access and manipulate (this isn't strictly true, as files had to be grafted on when removable flash was supported, but it's close enough, from a developer's standpoint). Also, the GUI toolkit looks very, very different from GTK. The result is that a very well-written, modular program that carefully separates its core algorithms from its user interface and data input and output can be ported by replacing those components. A program written by a mere mortal programmer is likely to have all these components intertwined to a point that a port will be challenging to say the least.<br />
<br />
The ACCESS Linux Platform will include POSE, an emulator that simulates a Palm device on a Linux host. This emulator has been around a long time; one expects that it will also run on OpenMoko, but this has to be considered a short-term bandaid rather than a long-term solution.<br />
<br />
=== Q: What are the relevant X11 details? ===<br />
<br />
A: See [http://lists.openmoko.org/pipermail/community/2007-January/001353.html xdpyinfo output].<br />
<br />
==Neo1973 Hardware== <br />
<br />
=== Q: What are the dimensions and weight? ===<br />
<br />
A: 120.7 x 62 x 18.5 mm, It would fit entirely in a coke can. (4.75 * 2.4 * 0.72 ")<br />
A: 185g, (6.5 ounces).<br />
<br />
=== Q: Does it have a camera? ===<br />
<br />
A: No, see [[Neo1973 Hardware]] for details on what it does include (and [[Wish List - Hardware]] for what some want in the future.) See also [[FAQ#USB]].<br />
<br />
=== Q: What is the rationale behind the exclusion of WiFi? ===<br />
<br />
A: No suitable low power open source WiFi device was available when the Neo1973 was designed. A closed source WiFi device would have been restrictive for developers and users alike. See also [[FAQ#USB]].<br />
<br />
=== Q: Does it have bluetooth? ===<br />
<br />
A: Yes!<br />
<br />
See also:<br />
[[Sean Moss-Pultz]]'s [http://lists.openmoko.org/pipermail/community/2006-November/000050.html comment on this]<br />
<br />
=== Q: What is the battery life? ===<br />
<br />
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]].<br />
<br />
=== Q: How heavy is it? ===<br />
<br />
A: 184 +/- 5 g<br />
<br />
=== USB ===<br />
<br />
==== Q: What can I do with the USB port on the Neo1973? ====<br />
A: Charge the phone, communicate with it over USB-serial, or USB-networking.<br />
<br />
A: Plug external devices, such as wifi, cameras, or mass-storage devices in.<br />
<br />
==== Q: What can't I do with the USB? ====<br />
<br />
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.<br />
This is due to the fact that adding a 5V power supply into the device would have added complexity, volume and cost.<br />
<br />
==== Q: Why is only USB 1.1 provided? ====<br />
<br />
A: The processor has USB 1.1 built in. One with USB2 built in would have been more expensive.<br />
<br />
==== Q: Can the Neo charge and use devices on a USB hub at the same time? ====<br />
<br />
A: <br />
*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.<br />
<br />
*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.)<br />
*This is because the host socket on USB hubs is not powered.<br />
<br />
FIC product development is looking into providing something that<br />
conveniently solves this problem.<br />
<br />
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.)<br />
<br />
One solution is a three headed cable.<br />
<br />
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.<br />
<br />
The Charger/USB device plug only has +5V and 0V connected in the simple cable, which are connected to the other ends.<br />
<br />
For a more complex cable, when the host socket is not plugged in, the cable acts as a simple USB cable.<br />
<br />
==== Q: What are the details of the USB port on the Neo1973? How does it compare to USB On-The-Go? ====<br />
<br />
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<br />
a AB socket, but also electrical and software components which cannot be provide by the S3C2410.<br />
<br />
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).<br />
<br />
=== Q: Are there any LEDs on the Neo 1973? ===<br />
<br />
A: The Neo1973 v1 will have no LEDs besides the screen backlight.<br />
<br />
=== Q: Will a JTAG port be made available? ===<br />
<br />
A: The "Hacker's Lunchbox" will make this kind of stuff easy. <br />
<br />
It is currently assumed that the "Hacker's Lunchbox" will contain the [[Debug Board]]. [[Connecting Neo1973 with Debug Board v2]] explains how to connect it to the phone.<br />
<br />
=== Q: What can we expect in future versions? ===<br />
<br />
A: A faster CPU, faster GSM (EDGE?) perhaps even powered USB port, USB2, wifi, and camera. None of the details have been released yet. More details of hardware upgrades should be available sometime in May. There will also be 5 more OpenMoko devices - some not phones in the traditional sense announced by FIC in September.<br />
<br />
==Networking/Connectivity==<br />
<br />
=== Q: Can I bridge to an Ethernet (wired or unwired) network via a suitable Bluetooth enabled router? ===<br />
<br />
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]].<br />
<br />
=== Q: What providers in the USA provide the GSM required for Neo 1973? ===<br />
<br />
A: Wikipedia has a list of providers and technologies [http://en.wikipedia.org/wiki/List_of_United_States_mobile_phone_companies here]. A brief look gives the impression that [http://www.t-mobile.com T-Mobile] and [http://www.cingular.com Cingular] (which is<br />
renaming itself AT&T) seem to be the only major ones.<br />
<br />
=== Q: Will OpenMoko "Just Work" with Mac OS X? ===<br />
<br />
A: There has been some discussion of this on the mailing list. There is motivation, and there are interested developers. <br />
Not being a Mac OS X user, I don't know enough<br />
to summarize the discussion to answer this question. Can someone please fill in?<br />
<br />
A: For IP over USB cable connectivity, it is planned to improve/adapt the AJZaurusUSB driver, allowing ssh into the OpenMoko.<br />
<br />
A: It is expected that (Bluetooth/UB) SyncML based interoperation for<br />
contacts and events can easily be achieved by a patch<br />
to the Apple iSync configuration tables.<br />
<br />
A: There is an open source implementation of Cocoa (GNUstep) that aims to run MacOS X compatible applications (sort of<br />
PPC/x86/ARM universal binaries) on OpenMoko devices: mySTEP.<br />
<br />
==Misc==<br />
<br />
=== Q: On the lists on lists.openmoko.org, should replies be added above or below the original text? ===<br />
<br />
A: Please reply UNDER post.<br />
<br />
=== Q: How can I find out if a question or topic has already been discussed on the mailing lists? ===<br />
<br />
A: By searching the mailing list archives. For example, using Google searches:<br />
<br />
site:openmoko.org text<br />
<br />
For example, to search for accelerometer:<br />
<br />
site:openmoko.org accelerometer<br />
<br />
If you only want to read the "official" mails from FIC people or from OpenMoko people:<br />
<br />
site:openmoko.org text "at fic.com.tw"<br />
site:openmoko.org text "at openmoko.org"<br />
<br />
For example to search for "release date" from FIC people:<br />
<br />
site:openmoko.org "release date" "at fic.com.tw"<br />
<br />
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].</div>Alvar