<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.openmoko.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.openmoko.org/api.php?action=feedcontributions&amp;user=Flerchjj&amp;feedformat=atom</id>
		<title>Openmoko - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.openmoko.org/api.php?action=feedcontributions&amp;user=Flerchjj&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Special:Contributions/Flerchjj"/>
		<updated>2013-05-25T02:14:11Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.6</generator>

	<entry>
		<id>http://wiki.openmoko.org/wiki/File:Neo_front_3.gif</id>
		<title>File:Neo front 3.gif</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/File:Neo_front_3.gif"/>
				<updated>2009-03-20T13:36:07Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: uploaded a new version of &amp;quot;Image:Neo front 3.gif&amp;quot;: Improve timing on loop so dwells at 1st &amp;amp; last frame longer. Also got rid of some extra blank frames.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/File:Neo_front_3.gif</id>
		<title>File:Neo front 3.gif</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/File:Neo_front_3.gif"/>
				<updated>2009-03-20T13:13:04Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: uploaded a new version of &amp;quot;Image:Neo front 3.gif&amp;quot;: Made continuous looping copy of gif. May want to edit original timing some. Spacing is/was odd &amp;amp; irregular between every transition.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Mac_OS_X</id>
		<title>Mac OS X</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Mac_OS_X"/>
				<updated>2008-08-10T22:08:04Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: /* Testing Your Connection */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the Openmoko page devoted to MacOS X users!&lt;br /&gt;
&lt;br /&gt;
Here you can find notes of using Neo1973 and Neo Freerunner with Mac.&lt;br /&gt;
&lt;br /&gt;
= Flashing to your device =&lt;br /&gt;
To operate the Phase 1 devices (Neo 1973), you need to flash a root file system first.&lt;br /&gt;
&lt;br /&gt;
== Graphical Flashing with Openmoko Flasher ==&lt;br /&gt;
Here is a detailed instruction:&lt;br /&gt;
# download Version 1.4 or later of Openmoko Flasher from http://www.dsitri.de/wiki.php?page=OpenMoko%20Flasher&lt;br /&gt;
# select the repository&lt;br /&gt;
# press the Refresh button (which loads the list of packages on the server)&lt;br /&gt;
# select and load the rootfs (takes some minutes for approx. 40 MByte)&lt;br /&gt;
# Now, on your Openmoko, hold the AUX button while pressing the Power button for 5 seconds&lt;br /&gt;
# the BOOT menu should appear&lt;br /&gt;
# connect the USB cable&lt;br /&gt;
# Press the Flash button&lt;br /&gt;
# the BOOT menu screen on the OM should show an indication that it has been switched to DFU mode&lt;br /&gt;
# (if it fails, unplug the Openmoko shortly and replug and try again (experience shows that it is needed up to three times)&lt;br /&gt;
# if it successfully flashed, you should be able to boot the Openmoko and continue configuring AJZaurusUSB&lt;br /&gt;
&lt;br /&gt;
A Universal Binary version of dfu-utils tool (and libusb) is included in the Openmoko Flasher application bundle. You can access it as ''Openmoko Flasher.app/Contents/MacOS/dfu-util''.&lt;br /&gt;
&lt;br /&gt;
To flash from Terminal (which is sometimes required), see the directions below or in [[Flashing_the_Neo_FreeRunner|Flashing the Neo]]&lt;br /&gt;
&lt;br /&gt;
To flash the kernel:&lt;br /&gt;
 Openmoko Flasher.app/Contents/MacOS/dfu-util -a kernel -R -D uImage&lt;br /&gt;
To flash the root filesystem:&lt;br /&gt;
 Openmoko Flasher.app/Contents/MacOS/dfu-util -a rootfs -R -D rootfs_filename.jffs2&lt;br /&gt;
To flash the boot loader to NAND&lt;br /&gt;
 Openmoko Flasher.app/Contents/MacOS/dfu-util -a u-boot -R -D uboot.bin&lt;br /&gt;
&lt;br /&gt;
When flashing succeeds (in any of the above cases) the following should be shown:&lt;br /&gt;
 status(0) = No error condition is present&lt;br /&gt;
 Done!&lt;br /&gt;
&lt;br /&gt;
== Compiling dfu-util ==&lt;br /&gt;
Alternatively, you can compile dfu-util manually as described at http://wiki.openmoko.org/wiki/User:SNMoore but you need libusb (e.g. through MacPorts).&lt;br /&gt;
&lt;br /&gt;
= Connecting a Mac and an Openmoko device =&lt;br /&gt;
&lt;br /&gt;
== USB Serial ==&lt;br /&gt;
&lt;br /&gt;
It is possible to access the U-Boot [[Bootloader]] serial console from a Mac.  You can use the Terminal application on Mac OS X, or &amp;lt;tt&amp;gt;minicom&amp;lt;/tt&amp;gt; from [http://finkproject.org/ Fink] or [http://www.macports.org/ MacPorts] (formerly Darwin Ports.)&lt;br /&gt;
&lt;br /&gt;
The USB driver creates cu and tty character devices, for example&lt;br /&gt;
 $ ls -la /dev/tty.usb*&lt;br /&gt;
 crw-rw-rw-   1 root  wheel   10,  18 Aug 23 14:10 /dev/tty.usbmodem00000001&lt;br /&gt;
 $ ls -la /dev/cu.usb*&lt;br /&gt;
 crw-rw-rw-   1 root  wheel   10,  19 Aug 23 14:10 /dev/cu.usbmodem00000001&lt;br /&gt;
&lt;br /&gt;
=== USB Serial with screen ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;screen&amp;lt;/code&amp;gt; program is included with Mac OS X, and can be used from the terminal command line to connect to the serial console.   To do this, simply get to a shell prompt in the terminal and invoke &amp;lt;code&amp;gt;screen&amp;lt;/code&amp;gt; as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% screen /dev/tty.usbmodem00000001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should find yourself at the U-boot serial console prompt.   To get out, type &amp;lt;code&amp;gt;control+a&amp;lt;/code&amp;gt; followed by &amp;lt;code&amp;gt;control+backslash&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== USB Serial with minicom ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;minicom&amp;lt;/tt&amp;gt; program from the [http://www.macports.org/ MacPorts] collection can be used to access the USB serial port &amp;lt;tt&amp;gt;/dev/cu.usbmodem00000001&amp;lt;/tt&amp;gt; (numbering may vary.)&lt;br /&gt;
&lt;br /&gt;
First install the program (assuming you already have MacPorts installed):&lt;br /&gt;
&lt;br /&gt;
 sudo port install minicom&lt;br /&gt;
&lt;br /&gt;
Then launch it in configuration mode (the -s flag):&lt;br /&gt;
&lt;br /&gt;
 sudo minicom -s&lt;br /&gt;
&lt;br /&gt;
Under &amp;quot;Serial Port Setup&amp;quot;, set the Device to &amp;quot;/dev/cu.usbmodem00000001&amp;quot; and set Bps to &amp;quot;115200 8N1&amp;quot;. Under &amp;quot;Modem and Dialing&amp;quot;, enter empty strings for &amp;quot;Init string&amp;quot;, &amp;quot;Reset string&amp;quot;, and &amp;quot;Hang-up string&amp;quot;. Save the setup as default (&amp;quot;dfl&amp;quot;) then Exit. &lt;br /&gt;
&lt;br /&gt;
You should now be able to access the bootloader console. You should exit from Minicom before disconnecting the smartphone, or else you will get an error about unplugging a USB device while it is in use.&lt;br /&gt;
&lt;br /&gt;
=== USB Serial with Terminal ===&lt;br /&gt;
&lt;br /&gt;
The built in Mac Terminal application &amp;lt;tt&amp;gt;Terminal.app&amp;lt;/tt&amp;gt; can be used to access the USB serial port &amp;lt;tt&amp;gt;/dev/tty.usbmodem00000001&amp;lt;/tt&amp;gt; (numbering may vary.)&lt;br /&gt;
&lt;br /&gt;
An easy way to do this is to configure the terminal with Script Editor, as described in the short article, [http://www.macosxhints.com/article.php?story=20061109133825654 ''Use 'screen' as a serial terminal emulator''](macosxhints.com).  Then,&lt;br /&gt;
&lt;br /&gt;
# Press and hold {{aux}} and then press and hold {{power}} for 5 seconds&lt;br /&gt;
# Press {{aux}} to select &amp;lt;tt&amp;gt;Set console to USB&amp;lt;/tt&amp;gt; in the U-Boot menu, and {{power}} to execute it&lt;br /&gt;
# Start the serial terminal application.  You should see a U-Boot command line prompt, such as&lt;br /&gt;
 In:    usbtty&lt;br /&gt;
 Out:   usbtty&lt;br /&gt;
 Err:   usbtty&lt;br /&gt;
 DEVICE_CONFIGURED: 1&lt;br /&gt;
 Enabling automatic fast charge&lt;br /&gt;
 GTA01Bv4 #&lt;br /&gt;
When you boot Linux on the smartphone, or if the smartphone powers down, Mac OS X will show a USB Device Unplug Notice, &amp;quot;The USB device has been unplugged while an application was still active. This can result in loss of data.&amp;quot; This error is probably harmless.&lt;br /&gt;
&lt;br /&gt;
== USB Networking ==&lt;br /&gt;
&lt;br /&gt;
There are two drivers you can use to talk to the RNDIS/Ethernet Gadget that the Neo1973 presents to its host system. The main difference between them is stability, but both have their own problems. Leopard needs further testing (Apple revised the driver and the Network System Settings).&lt;br /&gt;
&lt;br /&gt;
=== Apple CDC Ethernet driver 10.4.10 ===&lt;br /&gt;
MacOS X 10.4.10 and later includes a driver for RNDIS/Ethernet Gadget devices. Launch System Preferences -&amp;gt; Network and you should see &amp;quot;new interface detected enXX&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Issue&amp;lt;/b&amp;gt;: Each time you reboot the Neo, the interface will get a different Ethernet address. This in turn makes Mac OS X create a new configuration record. After a while you'll end up with a load of unusable enXX devices - if you don't periodically clean them out. Open System Preferences and go to Network -&amp;gt; Show(Network Port Configurations) -&amp;gt; Select an enXX -&amp;gt; Delete.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: this is not a problem to blame MacOSX for because it tries to make network configuration simpler based on the assumption of stable Ethernet addresses.&lt;br /&gt;
&lt;br /&gt;
=== Apple CDC Ethernet driver 10.5.x ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Issue&amp;lt;/b&amp;gt;:10.5 (Leopard) doesn't show a new ethernet interface for a Neo1973 running 2007.11. You'll only get the serial port, which is detected as a modem. The Ethernet device will show up in ifconfig though.&lt;br /&gt;
&lt;br /&gt;
It turns out that the AppleUSBCDC driver prefers to use the CDC-ACM interface of USB networking devices instead of CDC-ECM with the exception of a broadcom network card. You can download a patched AppleUSBCDC driver that will recognize the usb id/vendor pair of g_ether and force it to use CDC-ECM. You can obtain the OS X 10.5.X patched driver from: http://bugcommunity.com/downloads/usbcdc-g_ether.zip. Source code: http://bugcommunity.com/downloads/files/AppleUSBCDCDriver-g_ether.326.4.1.zip&lt;br /&gt;
&lt;br /&gt;
The issue of multiple network interfaces showing up whenever the device is rebooted/power-cycled is due to the g_ether driver randomly setting the host and device mac addresses. This problem is remedied by passing the same host and device mac addresses during the modprobe of g_ether.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 modprobe g_ether host_addr=46:0d:9e:67:69:eb dev_addr=46:0d:9e:67:69:ec&lt;br /&gt;
&lt;br /&gt;
=== AJZaurusUSB driver ===&lt;br /&gt;
&lt;br /&gt;
You can also use the open source driver from [http://www.dsitri.de/wiki.php?page=AJZaurusUSB]. It was developed for handheld devices like iPAQ, Sharp Zaurus and Motorola A760, but works for Openmoko as well. Download and install according to the manual found inside the package. The code is GPL'd (source available) and runs on both Intel and PPC Macs with 10.3, 10.4 and 10.5.&lt;br /&gt;
&lt;br /&gt;
After rebooting or loading the kernel extension by hand, you should have a new Ethernet interface in your System Preferences/Network.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: This driver does not have the same problem as the Apple driver does, where it constantly adds to the list of interfaces each time you reboot the neo, because the driver provides a constant ethernet address independently what the Neo says. Only flashing a new kernel might force you to update.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Issue&amp;lt;/b&amp;gt;: This driver is sometimes a bit flaky, and a reboot of the Mac seems to bring it back. It is especially critical about hot unplugging the OM and sleep modes of MacBooks. This may even result in a Kernel Panic.&lt;br /&gt;
&lt;br /&gt;
=== Network Settings ===&lt;br /&gt;
Open System Preferences and go to Network and you should see &amp;quot;new interface detected enXX&amp;quot;.  In the Show list box select the new interface - Ethernet Adapter enXX.&lt;br /&gt;
&lt;br /&gt;
Use this configuration on the new interface:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP-V4: manual&lt;br /&gt;
IP-Addr:  192.168.0.200 (you can use anything in 192.168.0.* but OM is configured by default to use 192.168.0.200 as the external gateway)&lt;br /&gt;
Subnet:   255.255.255.0 (should be the default - see tip below if have issue with these settings)&lt;br /&gt;
Router:   192.168.0.202 (not actually needed, OS X can figure this out for itself, unless you have other conflicting configurations)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Tip&amp;lt;/b&amp;gt;: If your Internet connection is also in the range 192.168.0.x then instead you might want/need to use:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Subnet:   255.255.255.248&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Testing Your Connection ===&lt;br /&gt;
You should be able to connect to your Neo! Try using Terminal (Applications-&amp;gt;Utilities-&amp;gt;Terminal) to ping the Neo at 192.168.0.202 and the roundtrip time should be between 1 and 2 ms.&lt;br /&gt;
 ping 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Then log into your Neo using ssh:&lt;br /&gt;
 ssh root@192.168.0.202&lt;br /&gt;
The default password is blank.&lt;br /&gt;
&lt;br /&gt;
You can also [[scp]] files back and forth or share displays with X11.  Additional software and configuration could allow telnet, SMB, or many other possibilities using the TCP/IP network over your USB connection.&lt;br /&gt;
&lt;br /&gt;
Try pinging your Mac PC from the Neo&lt;br /&gt;
 ping 192.168.0.200&lt;br /&gt;
&lt;br /&gt;
Try pinging the outside world (a Google IP address)&lt;br /&gt;
 ping 74.125.19.147&lt;br /&gt;
If that works then your Mac is routing the neo globally--if not see [[MacOS_X#Enabling_the_Mac_as_an_Internet_Router | Sharing Internet Connection with Mac]].&lt;br /&gt;
&lt;br /&gt;
Lastly, verify that DNS is correctly configured between the Neo &amp;amp; Network:&lt;br /&gt;
 ping www.google.com&lt;br /&gt;
If that doesn't work then see [[USB_Networking#Configure_Default_Neo_DNS | Configuring Default Neo DNS]] to try and resolve the issue.&lt;br /&gt;
&lt;br /&gt;
Congordulations Elizagreth!!! The Neo is networked together with the Mac and sharing the Mac's interweb connection.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth Networking ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
This approach is based on: &lt;br /&gt;
&lt;br /&gt;
http://wiki.openmoko.org/wiki/Bluetooth_Support#Networking&lt;br /&gt;
http://www.macosxhints.com/article.php?story=20051220221237711&lt;br /&gt;
&lt;br /&gt;
Unfortunately we can't use the pand (PAN daemon for BNEP) or dund (Dial Up Networking daemon for LAP) since neither service is available for the Mac.&lt;br /&gt;
&lt;br /&gt;
So, we configure a RFCOMM connection and a PPP gateway on the Mac. Finally, we connect the OM as a ppp client to the Mac.&lt;br /&gt;
&lt;br /&gt;
The reversed direction (OM as the Access Point and the Mac as the client) is described shortly in http://wiki.openmoko.org/wiki/Manually_using_Bluetooth#PPP_Networking&lt;br /&gt;
&lt;br /&gt;
=== Making the Mac a PPP over Bluetooth Access Point ===&lt;br /&gt;
&lt;br /&gt;
In the Bluetooth System Preferences (10.4.11)&lt;br /&gt;
* go to the Sharing pane&lt;br /&gt;
* add a new service &amp;quot;BluetoothAccessPoint&amp;quot; of type RS-232&lt;br /&gt;
* Enable that it is shown in the network preferences pane&lt;br /&gt;
* Apply&lt;br /&gt;
&lt;br /&gt;
In the Network System Preferences&lt;br /&gt;
* activate the new network configuration (BluetoothAccessPoint)&lt;br /&gt;
* go tot the Modem tab and change the modem to &amp;quot;Null Modem 115200&amp;quot;&lt;br /&gt;
* Apply&lt;br /&gt;
&lt;br /&gt;
In a Terminal, enter the following:&lt;br /&gt;
 $ sudo /usr/sbin/pppd /dev/tty.BluetoothAccessPoint 115200 noauth local passive proxyarp asyncmap 0 silent persist :172.16.140.14&lt;br /&gt;
&lt;br /&gt;
Here you see the 172.16.140.14 address, which makes it possible not to use natd, since it's in the same network as the Mac is. So the firewall knows where to sent it to -- no routing problems etc. Pick any free address in your private range. For instance, if you are using the following ... firewall: 192.168.1.1, Mac: 192.168.1.2, you can enter 192.168.1.3, assuming it's not used elsewhere on your network.&lt;br /&gt;
&lt;br /&gt;
If you want to be sure you did it right, open the system.log file on the Mac (tail -f /var/log/system.log), and you should see something like this:&lt;br /&gt;
 Jun 25 10:33:57 hostname pppd[679]:  pppd 2.4.2 (Apple version 229) started by username, uid 0&lt;br /&gt;
 Jun 25 10:33:57 hostname pppd[679]:  Connect: ppp0 &amp;lt;--&amp;gt; /dev/tty.BluetoothAccessPoint&lt;br /&gt;
&lt;br /&gt;
In Terminal, write&lt;br /&gt;
 sudo sysctl -w net.inet.ip.forwarding=1&lt;br /&gt;
which should give the following feedback:&lt;br /&gt;
 net.inet.ip.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
&lt;br /&gt;
In Terminal, write&lt;br /&gt;
 sudo ifconfig ppp0 up.&lt;br /&gt;
&lt;br /&gt;
=== Connecting the Openmoko as a Client to the Mac ===&lt;br /&gt;
&lt;br /&gt;
On the Openmoko do the following&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth&lt;br /&gt;
&lt;br /&gt;
 root@fic-gta01:~$ echo &amp;quot;1&amp;quot; &amp;gt; /sys/bus/platform/devices/gta01-pm-bt.0/power_on&lt;br /&gt;
&lt;br /&gt;
* Scan for the Mac&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
         00:0E:6D:C0:0l:6A       Sho&lt;br /&gt;
         00:20:E0:5A:FE:C8       MacBook&lt;br /&gt;
&lt;br /&gt;
* start the PPP client&lt;br /&gt;
&lt;br /&gt;
 pppd 115000 192.168.1.202:192.168.1.200 local defaultroute pty 'rfcomm connect 0 00:16:CB:2F:A0:46 1'&lt;br /&gt;
&lt;br /&gt;
* Enjoy&lt;br /&gt;
&lt;br /&gt;
== WiFi Networking ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
To Be Done.&lt;br /&gt;
&lt;br /&gt;
== Neo1973 as a Bluetooth GPRS modem ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
To Be Done.&lt;br /&gt;
&lt;br /&gt;
= Enabling the Mac as an Internet Router =&lt;br /&gt;
&lt;br /&gt;
Here is described how to enable your Mac to serve as a Internet Router for your Openmoko device.&lt;br /&gt;
&lt;br /&gt;
Note: you have to open all services you want to use from the Openmoko in the Mac Firewall.&lt;br /&gt;
&lt;br /&gt;
== USB connection ==&lt;br /&gt;
&lt;br /&gt;
In the Sharing System Preferences&lt;br /&gt;
* click the Internet tab&lt;br /&gt;
* Check all the ethernet (en) interfaces you want to enable Internet access for (i.e. the USB connection)&lt;br /&gt;
&lt;br /&gt;
SSH into your Neo and create /etc/resolv.conf, specify your Internet router IP address as the name server. You can simply copy the /etc/resolv.conf from your Mac.&lt;br /&gt;
 scp /etc/resolv.conf root@192.168.0.202:/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
 Example:&lt;br /&gt;
 nameserver 192.168.1.200    # replace by your real nameserver address&lt;br /&gt;
&lt;br /&gt;
Make sure your Neo routing table has entries so that all internet traffic is sent to your Mac (which will forward it to the outside world)&lt;br /&gt;
&lt;br /&gt;
 root@fic-gta01:~$ route&lt;br /&gt;
 Kernel IP routing table&lt;br /&gt;
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
 192.168.0.0     *               255.255.255.0   U     0      0        0 usb0&lt;br /&gt;
 default         192.168.0.200   0.0.0.0         UG    0      0        0 usb0&lt;br /&gt;
&lt;br /&gt;
Don't forget to enable your USB interface for Internet Sharing!&lt;br /&gt;
&lt;br /&gt;
== Bluetooth connection ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
= Accessing data and services on your device =&lt;br /&gt;
&lt;br /&gt;
== ssh ==&lt;br /&gt;
&lt;br /&gt;
After making the USB connection work, start ssh:&lt;br /&gt;
&lt;br /&gt;
ssh -l root 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
If you don't have installed the key, it will ask for a &amp;quot;yes&amp;quot; on the first connection. The root password is blank unless you change it.&lt;br /&gt;
&lt;br /&gt;
 MacBook-hns:~ hns$ ssh -l root 192.168.0.202&lt;br /&gt;
 root@192.168.0.202's password: &lt;br /&gt;
 root@fic-gta01:~$ hostname&lt;br /&gt;
 fic-gta01&lt;br /&gt;
 root@fic-gta01:~$&lt;br /&gt;
&lt;br /&gt;
NOTE: the ssh daemon (dropbear 0.49) on the Openmoko appears to have a bug when sending the exit status back to the client. From time to time you receive an exit status of 255.&lt;br /&gt;
&lt;br /&gt;
== SMB ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
To Be Done.&lt;br /&gt;
&lt;br /&gt;
== X11 ==&lt;br /&gt;
Launch Apple X11. xhost +192.168.0.202. On the Neo: export DISPLAY=192.168.0.200:0.0&lt;br /&gt;
&lt;br /&gt;
== Synchronizing ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
This is not done yet. Possible solutions are SyncML or ZMacSync http://www.dsitri.de/wiki.php?page=ZMacSync&lt;br /&gt;
&lt;br /&gt;
ZMacSync does not yet synchronize but allows more easy access to the Openmoko through Terminal/ssh.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Developing Openmoko software on a Mac =&lt;br /&gt;
&lt;br /&gt;
== Using virtualization software and MokoMakefile/OpenEmbedded ==&lt;br /&gt;
&lt;br /&gt;
You can use Parallels or VMWare to install your favourite Linux distribution and then develop just as on Linux.&lt;br /&gt;
&lt;br /&gt;
There are some drawback since AFAIK dfu-util may not work correctly in such environments. &lt;br /&gt;
&lt;br /&gt;
Don't bother with Parallels Desktop for Mac (&amp;lt;=3), the current USB support is terrible and USB storage keys don't even work so there was no way I would try dfu-util. USB keys work under VMWare Fusion for Mac though I have yet to try dfu-util in an VM under VMWare Fusion as there is Openmoko Flasher for Mac. -- [[User: Eric|Eric]]&lt;br /&gt;
&lt;br /&gt;
== Natively ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
There are some efforts to get through process of compiling OE and Openmoko under mac: [[Openmoko_under_QEMU_on_MacOSX]]&lt;br /&gt;
&lt;br /&gt;
== GNUstep/mySTEP SDK ==&lt;br /&gt;
&lt;br /&gt;
There is a [[QuantumSTEP]]/mySTEP project to port GNUstep to the Openmoko/Neo: [[http://www.quantum-step.com/wiki.php?page=OpenMoko-Edition More Info]]&lt;br /&gt;
An SDK for Xcode/Interface Builder is also available: [[http://www.versiontracker.com/dyn/moreinfo/macosx/20581 Entry at Version Tracker]] [[http://www.quantum-step.com/wiki.php?page=SDK More Info]]&lt;br /&gt;
&lt;br /&gt;
== Tools for Developers ==&lt;br /&gt;
&lt;br /&gt;
Some tools that run on MacOS X&lt;br /&gt;
&lt;br /&gt;
=== mkfs.jffs2 ===&lt;br /&gt;
[[http://www.quantum-step.com/download/OpenMoko-Edition/mkfs.jffs2.tgz mkfs.jffs2]] - make JFFS2 (root) file system (Universal Binary). Package includes sources and Xcode 2.4 project file to rebuild on MacOS X 10.4.11. NOT TESTED DEEPLY.&lt;br /&gt;
&lt;br /&gt;
  mkfs.jffs2 --pad=0x700000 -o rootfs.jffs2 -e 0x4000 -n -d/tmp/jffsroot/&lt;br /&gt;
&lt;br /&gt;
=== Crosscompiler Toolchain ===&lt;br /&gt;
&lt;br /&gt;
[[http://www.quantum-step.com/wiki.php?page=Compiler gcc 2.95.3]] - OABI cross compiler toolchain (C, C++, Obj-C) with Linux headers (PPC and Intel Macs)&lt;br /&gt;
&lt;br /&gt;
If someone has a newer one that works, please provide as an installable OSX Package.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Will the ones from MacPorts work? [[http://www.macports.org/ports.php?by=name&amp;amp;substr=gnueabi]] I'm still trying to get QEMU to work and haven't had a chance to test it yet.&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
&lt;br /&gt;
== Search Software Repositories ==&lt;br /&gt;
&lt;br /&gt;
[[http://www.versiontracker.com/php/qs.php?action=search&amp;amp;str=openmoko&amp;amp;srchArea=macosx Keyword Openmoko]] at VersionTracker&lt;br /&gt;
&lt;br /&gt;
== Discussion Fora ==&lt;br /&gt;
&lt;br /&gt;
[[http://www.oesf.org/forums/index.php?showforum=63 Mac Issues Forum]] at Open Embedded Software Foundation (was Zaurus User Group)&lt;br /&gt;
&lt;br /&gt;
[[Category:Flashing Openmoko]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/USB_Networking</id>
		<title>USB Networking</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/USB_Networking"/>
				<updated>2008-08-10T21:50:23Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: /* OS or Distro Specific Configuration &amp;amp; Making it Permanent */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= OpenMoko Networking Setup =&lt;br /&gt;
&lt;br /&gt;
In order to communicate via TCP/IP to your FreeRunner, a basic understanding of the networking expectations is required.  Each end of the USB connection forms a LAN (local area network) segment, with the FreeRunner's USB networking device at one end (default 192.168.0.202) and your laptop or desktop at the other end (192.168.0.200 in this guide).&lt;br /&gt;
&lt;br /&gt;
Normally, your desktop machine will know how to reach the Internet, having had its gateway (the IP address of the machine or device which knows how to send packets to machines beyond your subnet) configured via DHCP or statically (probably via a router).  For the FreeRunner to reach the Internet, your desktop will have to be configured to route and masquerade (NAT) packets from it.  &lt;br /&gt;
&lt;br /&gt;
Normally, none of this is an issue, but problems can arise when the subnet between the FreeRunner and your desktop overlap with the desktop to the router (which forms a second LAN), since your desktop might not know how to route traffic properly.&lt;br /&gt;
&lt;br /&gt;
In other words: if your existing router and desktop have addresses 192.168.0.(something) changing them to eg 192.168.1.(something) might save you a lot of troubleshooting later. The guides to set up USB networking for your FreeRunner assume that your router/desktop IP range differs from the USB network IP range.&lt;br /&gt;
&lt;br /&gt;
A discussion of this is here http://lists.openmoko.org/pipermail/support/2008-August/001283.html&lt;br /&gt;
&lt;br /&gt;
= Simple Manual Linux Configuration =&lt;br /&gt;
&lt;br /&gt;
Try this first.  If it works, then you can add permanent configuration or use more sophisticated setups below:&lt;br /&gt;
&lt;br /&gt;
(as root on your desktop):&lt;br /&gt;
&lt;br /&gt;
 iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
 sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
 ifconfig usb0 192.168.0.200&lt;br /&gt;
&lt;br /&gt;
If your Internet connection is also in the range 192.168.0.x then instead you might want to use:&lt;br /&gt;
&lt;br /&gt;
 ifconfig usb0 192.168.0.200 netmask 255.255.255.248&lt;br /&gt;
&lt;br /&gt;
Then (ideally, not as root):&lt;br /&gt;
&lt;br /&gt;
 ssh root@192.168.0.202&lt;br /&gt;
&lt;br /&gt;
The default password is blank.&lt;br /&gt;
&lt;br /&gt;
= Linux Kernel Support =&lt;br /&gt;
&lt;br /&gt;
Your Linux desktop/laptop needs to have suitable support, in particular, you will need to have enabled full masquerading in the kernel and USB networking options enabled.  For default kernels in many Linux distributions, this will already be the case.  If not, you will need to enable:&lt;br /&gt;
&lt;br /&gt;
* CONFIG_USB_USBNET&lt;br /&gt;
* CONFIG_USB_NET_CDCETHER&lt;br /&gt;
&lt;br /&gt;
Both USB networking options are available in the ''Device Drivers -&amp;gt; USB support -&amp;gt; USB Network Adapters'' or ''Device Drivers -&amp;gt; Network Device Support -&amp;gt; USB Network Adapters -&amp;gt; Multipurpose USB Networking Framework''. For more info see the [http://www.linux-usb.org/usbnet/ usbnet driver homepage].&lt;br /&gt;
&lt;br /&gt;
It can be complex to set all the correct options for masquerading in the kernel if they are not turned on.  This could be detailed further.&lt;br /&gt;
&lt;br /&gt;
= Firewall Issues =&lt;br /&gt;
&lt;br /&gt;
On some systems, you may have firewall rules which prevent this working - such as added by the iptables service on Fedora.  You may care to stop these, and/or review any rules or policies you think might cause issues.&lt;br /&gt;
&lt;br /&gt;
The most relevant table is the nat table, which controls translation of addresses:&lt;br /&gt;
&lt;br /&gt;
 iptables -L -t nat -v -n&lt;br /&gt;
&lt;br /&gt;
Unless you have a special setup, you'll want to see only the MASQUERADE rule that you apply below, and ACCEPT as the default policy.  Also look at the filter table:&lt;br /&gt;
&lt;br /&gt;
 iptables -L -t filter -v -n&lt;br /&gt;
&lt;br /&gt;
If this contains anything in the FORWARD chain, then this may prevent passing packets.  It can be flushed with:&lt;br /&gt;
&lt;br /&gt;
 iptables -t filter -F FORWARD&lt;br /&gt;
&lt;br /&gt;
= DNS =&lt;br /&gt;
&lt;br /&gt;
In addition to routing issues, to be practical, DNS will need to work.  In some cases, you might already be running a DNS server on your desktop such as dnsmasq or bind9, which is the default assumption the FreeRunner makes.  In other cases, you'll need to configure DNS to that of your router, or a DNS server further out on the internet such as that provided by your ISP.&lt;br /&gt;
&lt;br /&gt;
== Configure Default Neo DNS ==&lt;br /&gt;
&lt;br /&gt;
DNS is configured in /etc/resolv.conf on your FreeRunner.  It should contain:&lt;br /&gt;
&lt;br /&gt;
If Desktop/Laptop has a DNS server or is proxying DNS:&lt;br /&gt;
 nameserver 192.168.0.200 &lt;br /&gt;
or just put in another DNS Server - for example: &lt;br /&gt;
 nameserver 212.147.10.10&lt;br /&gt;
&lt;br /&gt;
Some Linux and Windows systems have DNS servers, especially those configured as servers, but in general they do not.  You can install packages such as ''bind9'' or ''dnsmasq'' to run your own DNS server.  If you have a DNS server then Test Your Connection.  Otherwise you may want to proxy DNS from your Desktop/Laptop.&lt;br /&gt;
&lt;br /&gt;
== Proxying DNS from Desktop/Laptop ==&lt;br /&gt;
&lt;br /&gt;
If you move about, making assumptions about the network may not be convenient, and it is possible to proxy DNS requests via your host laptop (which you are also taking with you), without running or installing a DNS server.  There are a number of ways to do this:&lt;br /&gt;
&lt;br /&gt;
=== Proxying with dnrd ===&lt;br /&gt;
&lt;br /&gt;
The script is designed to use [http://dnrd.sourceforge.net/ dnrd] as the DNS proxy. The [http://buildhost.automated.it/gta01 script] and a copy of [http://buildhost.automated.it/dnrd-2.20.3.tar.gz dnrd] are available. The script also performs the initial setup of the connection as per the [[USB_Networking#Manual_method]] above.&lt;br /&gt;
&lt;br /&gt;
=== Proxying with a UDP forwarder ===&lt;br /&gt;
&lt;br /&gt;
Another easy setup is using a UDP forwarder like the one from http://www.tapor.com/udpf/ - use it with the command&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 udpf-elf -p=53-f=`cat /etc/resolv.conf|awk '$1 == &amp;quot;nameserver&amp;quot;{print $2; exit(0);}'`:53&lt;br /&gt;
&lt;br /&gt;
=== Proxying with iptables ===&lt;br /&gt;
&lt;br /&gt;
It is possible to forward DNS requests with iptables using the DNAT target:&lt;br /&gt;
&lt;br /&gt;
 iptables -t nat -A PREROUTING -p tcp -s 192.168.0.202 -d 192.168.0.200 --dport domain -j DNAT --to-destination 192.168.0.1&lt;br /&gt;
 iptables -t nat -A PREROUTING -p udp -s 192.168.0.202 -d 192.168.0.200 --dport domain -j DNAT --to-destination 192.168.0.1&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;tt&amp;gt;192.168.0.1&amp;lt;/tt&amp;gt; is the IP of your router.&lt;br /&gt;
&lt;br /&gt;
Test if it works:&lt;br /&gt;
 ping www.google.com&lt;br /&gt;
&lt;br /&gt;
If so, then this is sufficient for most internet access. But manual changes to resolv.conf are usually lost later if for example one uses DHCP, especially for WiFi, and so may not be convenient to configure manually.&lt;br /&gt;
&lt;br /&gt;
== Hostnames ==&lt;br /&gt;
&lt;br /&gt;
If you become tired of remembering and typing in the ip address of the Neo (for scp, telnet, SSH, SMB, or whatever), you can give it an easy to remember hostname.  &lt;br /&gt;
&lt;br /&gt;
Open and enter the following line in your desktop's /etc/hosts:&lt;br /&gt;
 192.168.0.202 openmoko&lt;br /&gt;
Now instead of typing the full ip address in commands like:&lt;br /&gt;
 ssh 192.168.0.202@openmoko&lt;br /&gt;
You can replace the full ip with the hostname like:&lt;br /&gt;
 ssh root@openmoko&lt;br /&gt;
&lt;br /&gt;
It may also be helpful to some to edit the Neo's /etc/hosts to use &amp;quot;desktop&amp;quot; or &amp;quot;laptop&amp;quot; instead of 192.168.0.200&lt;br /&gt;
&lt;br /&gt;
= Testing Your Connection =&lt;br /&gt;
You should be able to connect to your Neo! Make sure you can ping your Neo to be sure.&lt;br /&gt;
 ping 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Then log into your Neo using ssh:&lt;br /&gt;
 ssh root@192.168.0.202&lt;br /&gt;
The default password is blank (press enter).&lt;br /&gt;
&lt;br /&gt;
You can also [[scp]] files back and forth. You can telnet, SSH, SMB or do whatever you want if you install software that enables you to set up TCP/IP network over your USB connection.&lt;br /&gt;
&lt;br /&gt;
Now, make sure you can ping back to your desktop&lt;br /&gt;
 ping 192.168.0.200&lt;br /&gt;
(Note that some systems like Vista, don't respond to ICMP ping by default) &lt;br /&gt;
&lt;br /&gt;
Try pinging the outside world (a Google IP address)&lt;br /&gt;
 ping 74.125.19.147&lt;br /&gt;
This demonstrates that masquerading is working - your desktop is sending/receiving packets to the wider internet.&lt;br /&gt;
&lt;br /&gt;
Lastly, verify that DNS is correctly configured between the Neo &amp;amp; Network:&lt;br /&gt;
 ping www.google.com&lt;br /&gt;
&lt;br /&gt;
= OS or Distro Specific &amp;amp; Automatic Configuration =&lt;br /&gt;
&lt;br /&gt;
Based on [http://blog.haerwu.biz/2007/03/22/hotpluging-usbnet/ Hotplugging usbnet] by Marcin 'Hrw' Juszkiewicz.&lt;br /&gt;
These instructions should keep you from having to run the Simple Manual Linux Configuration every time you plug in and want to connect to an Openmoko device.  One run and then you're done!&lt;br /&gt;
&lt;br /&gt;
If the Simple Manual Linux Configuration does not work for your OS or Distro (MacOS X, MS Windows, etc) there may be instructions here that work for you. &lt;br /&gt;
&lt;br /&gt;
== MacOS X ==&lt;br /&gt;
See [[MacOS_X#USB_Networking|MacOS X USB Networking]].&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
See [[Neo1973_and_Windows#USB_Ethernet_emulation|Windows USB Ethernet emulation for Neo1973]].&lt;br /&gt;
&lt;br /&gt;
== Debian, Ubuntu and others ==&lt;br /&gt;
&lt;br /&gt;
Edit /etc/network/interfaces and add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 allow-hotplug usb0&lt;br /&gt;
 iface usb0 inet static&lt;br /&gt;
        address 192.168.0.200&lt;br /&gt;
        netmask 255.255.255.192&lt;br /&gt;
        post-up iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.192/26&lt;br /&gt;
        post-up echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        post-up iptables -P FORWARD ACCEPT&lt;br /&gt;
        pre-down iptables -D POSTROUTING -t nat -j MASQUERADE -s 192.168.0.192/26&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is more sophisticated than the manual setup.  The allow-hotplug stanza ties into Linux hotplug system so that when the device appears and vanishes, as happens when the FreeRunner's is connected via USB, this is run.  &lt;br /&gt;
&lt;br /&gt;
In addition, the desktop-side netmask is limited to a much smaller range, so that overlapping subnets are less of a problem - Linux will use more specific routes first when deciding where to send packets.&lt;br /&gt;
&lt;br /&gt;
An other possible configuration that adds DNS forward and removes&lt;br /&gt;
the iptable changes after the unplugg.&lt;br /&gt;
&lt;br /&gt;
in /etc/network/interfaces add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 # freerunner&lt;br /&gt;
 allow-hotplug usb0&lt;br /&gt;
 iface usb0 inet static&lt;br /&gt;
        address 192.168.0.200&lt;br /&gt;
        netmask 255.255.255.192&lt;br /&gt;
        post-up /etc/network/freerunner start&lt;br /&gt;
        pre-down /etc/network/freerunner stop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create file /etc/network/freerunner&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 #&lt;br /&gt;
 # configures the freerunner for internet&lt;br /&gt;
 # &lt;br /&gt;
 # &lt;br /&gt;
&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 REMOTE_IPADDR=192.168.0.202&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
&lt;br /&gt;
 # get first ip for dns&lt;br /&gt;
 DNSIP=$(cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }' | head -n 1 )&lt;br /&gt;
&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start)&lt;br /&gt;
        iptables -A POSTROUTING -t nat -j MASQUERADE -s $REMOTE_IPADDR&lt;br /&gt;
        iptables -A PREROUTING -t nat -p tcp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
        iptables -A PREROUTING -t nat -p udp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
        &lt;br /&gt;
        if [ &amp;quot;$(cat /proc/sys/net/ipv4/ip_forward)&amp;quot; = &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
                echo &amp;quot;temoprarely allow ip_forward for openmoko&amp;quot; &amp;gt; /var/run/openmoko.ip_forward&lt;br /&gt;
                echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        fi&lt;br /&gt;
        ;;&lt;br /&gt;
  stop)&lt;br /&gt;
        iptables -D POSTROUTING -t nat -j MASQUERADE -s $REMOTE_IPADDR&lt;br /&gt;
        iptables -D PREROUTING -t nat -p tcp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
        iptables -D PREROUTING -t nat -p udp -s $REMOTE_IPADDR -d  $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
&lt;br /&gt;
        if [ -f /var/run/openmoko.ip_forward ]; then&lt;br /&gt;
                rm /var/run/openmoko.ip_forward&lt;br /&gt;
                echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        fi&lt;br /&gt;
        ;;&lt;br /&gt;
 esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make /etc/network/freerunner executable with &lt;br /&gt;
 chmod +x /etc/network/freerunner&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu Issues ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu Feisty, Gutsy and Hardy reportedly have a bug where ifdown is not run when the interface is unplugged, meaning this only works once after the system is booted.  This is mentioned at https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/130437 &lt;br /&gt;
&lt;br /&gt;
One can patch /etc/udev/rules.d/85-ifupdown.rules, editing the two lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 SUBSYSTEM==&amp;quot;net&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, GOTO=&amp;quot;net_start&amp;quot;&lt;br /&gt;
 GOTO=&amp;quot;net_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;net_start&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # Bring devices up and down only if they're marked auto.&lt;br /&gt;
 # Use start-stop-daemon so we don't wait on dhcp&lt;br /&gt;
 ACTION==&amp;quot;add&amp;quot;,          RUN+=&amp;quot;/sbin/start-stop-daemon --start --background --pidfile /var/run/network/bogus --startas /sbin/ifup -- --allow auto $env{INTERFACE}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;net_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ACTION==&amp;quot;remove&amp;quot;,       RUN+=&amp;quot;/sbin/start-stop-daemon --start --background --pidfile /var/run/network/bogus --startas /sbin/ifdown -- --allow auto $env{INTERFACE}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The bug is that the LABEL=&amp;quot;net_end&amp;quot; is at the wrong position&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  This appears to be fixed in Ubuntu 8.04 [[User:Mattt|Mattt]] 11:38, 30 July 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Mandriva ==&lt;br /&gt;
&lt;br /&gt;
Tested with Mandriva 2008.1. The idea here is that we will carve out a small (8 hosts) subnet from the main subnet. So our netmask will be 255.255.255.252&lt;br /&gt;
&lt;br /&gt;
This first file configures the network system for the usb0 interface. Any time you plug in the FreeRunner the interface will be configured. &lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 BOOTPROTO=static&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.252&lt;br /&gt;
 ONBOOT=yes&lt;br /&gt;
 METRIC=10&lt;br /&gt;
 MII_NOT_SUPPORTED=no&lt;br /&gt;
 USERCTL=yes&lt;br /&gt;
&lt;br /&gt;
This next file configures the static routes that we need to communicate to the subnet. Since it has &amp;quot;usb0&amp;quot; in the name, the system will automatically apply these static routes any time that the usb0 interface is configured. (i.e. when you connect the FreeRunner)&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/usb0-routes:&lt;br /&gt;
&lt;br /&gt;
 ADDRESS0=192.168.0.200&lt;br /&gt;
 NETMASK0=255.255.255.252&lt;br /&gt;
&lt;br /&gt;
Now we need to restart the network system to pick up the changes.&lt;br /&gt;
&lt;br /&gt;
 service network restart&lt;br /&gt;
&lt;br /&gt;
== SuSE ==&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 # USB configuration for PDAs (openmoko)&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
 STARTMODE=onboot&lt;br /&gt;
&lt;br /&gt;
For more information on getting USB networking up using YaST, see [[USB Networking with openSUSE]].&lt;br /&gt;
&lt;br /&gt;
== Fedora ==&lt;br /&gt;
&lt;br /&gt;
=== Option A - Tested with FC8 &amp;amp; FC5 ===&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 # USB configuration for PDAs (openmoko)&lt;br /&gt;
 # from http://www.handhelds.org/moin/moin.cgi/UsbNet&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 BOOTPROTO=none&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
 ONBOOT=yes&lt;br /&gt;
&lt;br /&gt;
=== Option B ===&lt;br /&gt;
&lt;br /&gt;
This setup is probably over-complex:&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifup-usb:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 . /etc/init.d/functions&lt;br /&gt;
 &lt;br /&gt;
 cd /etc/sysconfig/network-scripts&lt;br /&gt;
 . ./network-functions&lt;br /&gt;
 &lt;br /&gt;
 [ -f ../network ] &amp;amp;&amp;amp; . ../network&lt;br /&gt;
 &lt;br /&gt;
 CONFIG=${1}&lt;br /&gt;
 &lt;br /&gt;
 need_config ${CONFIG}&lt;br /&gt;
 &lt;br /&gt;
 source_config&lt;br /&gt;
 &lt;br /&gt;
 NETBITS=`ipcalc -p ${IPADDR} ${NETMASK} | awk -F'=' '{print $2;}'`&lt;br /&gt;
 &lt;br /&gt;
 /sbin/ip addr flush dev ${DEVICE} 2&amp;gt;/dev/null&lt;br /&gt;
 /sbin/ip link set dev ${DEVICE} up&lt;br /&gt;
 /sbin/ip addr add dev ${DEVICE} ${IPADDR}/${NETBITS}&lt;br /&gt;
 &lt;br /&gt;
 /sbin/iptables -I POSTROUTING -t nat -j MASQUERADE -s ${IPADDR}/${NETBITS}&lt;br /&gt;
 /sbin/sysctl net.ipv4.ip_forward=1&lt;br /&gt;
 /sbin/iptables -I FORWARD -s ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
 /sbin/iptables -I FORWARD -d ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
Set /etc/sysconfig/network-scripts/ifdown-usb:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 . /etc/init.d/functions&lt;br /&gt;
 &lt;br /&gt;
 cd /etc/sysconfig/network-scripts&lt;br /&gt;
 . ./network-functions&lt;br /&gt;
 &lt;br /&gt;
 [ -f ../network ] &amp;amp;&amp;amp; . ../network&lt;br /&gt;
 &lt;br /&gt;
 CONFIG=${1}&lt;br /&gt;
 &lt;br /&gt;
 need_config ${CONFIG}&lt;br /&gt;
 &lt;br /&gt;
 source_config&lt;br /&gt;
 &lt;br /&gt;
 NETBITS=`ipcalc -p ${IPADDR} ${NETMASK} | awk -F'=' '{print $2;}'`&lt;br /&gt;
 &lt;br /&gt;
 /sbin/iptables -D FORWARD -d ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
 /sbin/iptables -D FORWARD -s ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
 /sbin/sysctl net.ipv4.ip_forward=0&lt;br /&gt;
 /sbin/iptables -D POSTROUTING -t nat -j MASQUERADE -s ${IPADDR}/${NETBITS}&lt;br /&gt;
 &lt;br /&gt;
 /sbin/ip link set dev ${DEVICE} down&lt;br /&gt;
 /sbin/ip addr flush dev ${DEVICE} 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
If you are using NetworkManager, restart it and enable the usb device from its menu, otherwise it will disable your connection shortly after you enable it.&lt;br /&gt;
&lt;br /&gt;
 /sbin/service NetworkManager restart&lt;br /&gt;
&lt;br /&gt;
== Red Hat or Similar (tested with Workstation 5) ==&lt;br /&gt;
&lt;br /&gt;
Edit /etc/sysconfig/network-scripts/net.hotplug:&lt;br /&gt;
&lt;br /&gt;
After this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    case $INTERFACE in&lt;br /&gt;
	# interfaces that are registered after being &amp;quot;up&amp;quot; (?)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	usb0)&lt;br /&gt;
		ifconfig usb0 192.168.0.200 netmask 255.255.255.0&lt;br /&gt;
		route add 192.168.0.202 usb0&lt;br /&gt;
		iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
		iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
                iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
                echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
		exit 0&lt;br /&gt;
	;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gentoo ==&lt;br /&gt;
&lt;br /&gt;
Open /etc/conf.d/net and add:&lt;br /&gt;
&lt;br /&gt;
 # Neo&lt;br /&gt;
 config_usb0=( &amp;quot;192.168.0.200 netmask 255.255.255.0&amp;quot; )&lt;br /&gt;
 routes_usb0=( &amp;quot;192.168.0.202/32 via 192.168.0.200&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
Create a new init script:&lt;br /&gt;
&lt;br /&gt;
 cd /etc/init.d&lt;br /&gt;
 ln -s net.lo net.usb0&lt;br /&gt;
&lt;br /&gt;
Put iptables into use:&lt;br /&gt;
&lt;br /&gt;
 iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
 iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
 iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
&lt;br /&gt;
Store them:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/iptables save&lt;br /&gt;
&lt;br /&gt;
If you want the routing by default:&lt;br /&gt;
&lt;br /&gt;
 rc-update add iptables default&lt;br /&gt;
&lt;br /&gt;
You must also inform the kernel, to start forwarding.  &lt;br /&gt;
&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
One way to automate all this is to create /etc/conf.d/net.usb0 as follows. It sets IP forwarding and the iptables rules all in one go. It removes the iptables rules and disables ip forwarding when the FreeRunner is unplugged.&lt;br /&gt;
 &lt;br /&gt;
 preup() {&lt;br /&gt;
        echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
        iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
        iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
        return 0&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 postdown() {&lt;br /&gt;
        echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        iptables -D INPUT -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
        iptables -D OUTPUT -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
        iptables -D POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
        return 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
= SSH Extras =&lt;br /&gt;
&lt;br /&gt;
Reportedly, the ssh daemon (dropbear 0.49) on the FreeRunner appears to have a bug when sending the exit status back to the client. From time to time you receive an exit status of 255.&lt;br /&gt;
&lt;br /&gt;
To avoid ssh added a new line for every ssh host-key to you known_hosts you can add the following to the phone section in ~/.ssh/config&lt;br /&gt;
&lt;br /&gt;
  UserKnownHostsFile /dev/null&lt;br /&gt;
&lt;br /&gt;
You might want to use keys to bypass the login prompt too.&lt;br /&gt;
&lt;br /&gt;
== SSH Keys ==&lt;br /&gt;
&lt;br /&gt;
== From desktop to FreeRunner ==&lt;br /&gt;
&lt;br /&gt;
To generate ssh keys for use as a login mechanism type:&lt;br /&gt;
&lt;br /&gt;
 ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
When prompted for a password either hit enter for no password (''not really a good idea'') or enter a password for this key. ssh into the phone and create ~/.ssh:&lt;br /&gt;
&lt;br /&gt;
 # mkdir ~/.ssh&lt;br /&gt;
&lt;br /&gt;
Then from your desktop copy the '''.pub''' file to the phone.&lt;br /&gt;
&lt;br /&gt;
 # scp ~/.ssh/id_rsa.pub phone:.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
You should now be able to ssh directly into the phone without a password prompt.&lt;br /&gt;
&lt;br /&gt;
To disable password logins ('''after setting up key access''') edit /etc/init.d/dropbear and change the following line:&lt;br /&gt;
&lt;br /&gt;
 DROPBEAR_EXTRA_ARGS=&lt;br /&gt;
&lt;br /&gt;
to &lt;br /&gt;
&lt;br /&gt;
 DROPBEAR_EXTRA_ARGS=&amp;quot;-s&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You will need to restart dropbear for this to take effect.&lt;br /&gt;
&lt;br /&gt;
=== From FreeRunner to Desktop ===&lt;br /&gt;
&lt;br /&gt;
Generate the key:&lt;br /&gt;
&lt;br /&gt;
  dropbearkey -t rsa -f id_rsa&lt;br /&gt;
&lt;br /&gt;
The output will look something like this:&lt;br /&gt;
&lt;br /&gt;
  Will output 1024 bit rsa secret key to 'id_rsa'&lt;br /&gt;
  Generating key, this may take a while...&lt;br /&gt;
  Public key portion is:&lt;br /&gt;
  ssh-rsa AAAAB3Nza[...]&lt;br /&gt;
  Fingerprint: md5 ca:e8:f0:b7:f6:7b:c2:b6:b9:71:e4:45:86:a9:ff:b8&lt;br /&gt;
&lt;br /&gt;
Copy and paste the one line (in this example, starting with 'ssh-rsa' onto the end of the host's authorized_keys file (often in ~/.ssh/).&lt;br /&gt;
&lt;br /&gt;
From the phone, ssh with -i:&lt;br /&gt;
&lt;br /&gt;
  ssh -i id_rsa user@host&lt;br /&gt;
&lt;br /&gt;
=== Changing host keys ===&lt;br /&gt;
&lt;br /&gt;
If you reflash, your hosts keys will change.  Try this ~/.ssh/config snippet:&lt;br /&gt;
&lt;br /&gt;
 Host moko&lt;br /&gt;
 HostName 192.168.0.202&lt;br /&gt;
 StrictHostKeyChecking no&lt;br /&gt;
 UserKnownHostsFile /dev/null&lt;br /&gt;
 User root&lt;br /&gt;
&lt;br /&gt;
This is suggested because ssh on your desktop may complain if the key matching a certain IP changes (stored in .ssh/known_hosts).&lt;br /&gt;
&lt;br /&gt;
== GUI on desktop through SSH ==&lt;br /&gt;
&lt;br /&gt;
To get the GUI on the FreeRunner onto the desktop via USB, you can use ssh as follows:&lt;br /&gt;
&lt;br /&gt;
  ssh -l root -X -v 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Using this, run openmoko-finger-demo for example, and it will open up on the desktop. To get landscape view, just resize the GUI window on the desktop.&lt;br /&gt;
&lt;br /&gt;
If you get an error like this:&lt;br /&gt;
 dbus.exceptions.DBusException: org.freedesktop.DBus.Error.Spawn.ExecFailed: dbus-launch failed to     &lt;br /&gt;
 autolaunch D-Bus session: Autolaunch requested, but X11 support not compiled in.&lt;br /&gt;
you need to set the DBUS_SESSION_BUS_ADDRESS environment variable to the value on the Freerunner before launching the process from your desktop.  You can find the value of this variable by using a command such as&lt;br /&gt;
 ps auxwwwwe | grep -m 1 DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
Note that you must run that command on the Freerunner.  Back on your desktop, run the process you want with the ''env'' command like this:&lt;br /&gt;
 env DBUS_SESSION_BUS_ADDRESS=''dbus_address'' ''process''&lt;br /&gt;
&lt;br /&gt;
==Display Remote Applications on FreeRunner==&lt;br /&gt;
&lt;br /&gt;
To get desktop apps to show up on your FreeRunner, first log in:&lt;br /&gt;
&lt;br /&gt;
  ssh -l root 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
&lt;br /&gt;
  DISPLAY=:0 xhost +192.168.0.200&lt;br /&gt;
&lt;br /&gt;
After this you can close the ssh session. Back on the desktop computer, run:&lt;br /&gt;
&lt;br /&gt;
  DISPLAY=openmoko:0 xclock&lt;br /&gt;
&lt;br /&gt;
Note that the xhost command will allow remote applications on 192.168.0.200 to access the X server. It will allow anyone on the desktop machine to access the X server of the neo, including snooping anything you type on it. To disallow remote applications again, run this in the neo:&lt;br /&gt;
&lt;br /&gt;
  DISPLAY=:0 xhost -192.168.0.200&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
{{Languages|USB Networking}}&lt;br /&gt;
&lt;br /&gt;
[[Category:USB]]&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Implemented]]&lt;br /&gt;
[[Category:Networking]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/USB_Networking</id>
		<title>USB Networking</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/USB_Networking"/>
				<updated>2008-08-10T21:38:53Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: Made &amp;quot;Make it Permanent&amp;quot; title more descriptive&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= OpenMoko Networking Setup =&lt;br /&gt;
&lt;br /&gt;
In order to communicate via TCP/IP to your FreeRunner, a basic understanding of the networking expectations is required.  Each end of the USB connection forms a LAN (local area network) segment, with the FreeRunner's USB networking device at one end (default 192.168.0.202) and your laptop or desktop at the other end (192.168.0.200 in this guide).&lt;br /&gt;
&lt;br /&gt;
Normally, your desktop machine will know how to reach the Internet, having had its gateway (the IP address of the machine or device which knows how to send packets to machines beyond your subnet) configured via DHCP or statically (probably via a router).  For the FreeRunner to reach the Internet, your desktop will have to be configured to route and masquerade (NAT) packets from it.  &lt;br /&gt;
&lt;br /&gt;
Normally, none of this is an issue, but problems can arise when the subnet between the FreeRunner and your desktop overlap with the desktop to the router (which forms a second LAN), since your desktop might not know how to route traffic properly.&lt;br /&gt;
&lt;br /&gt;
In other words: if your existing router and desktop have addresses 192.168.0.(something) changing them to eg 192.168.1.(something) might save you a lot of troubleshooting later. The guides to set up USB networking for your FreeRunner assume that your router/desktop IP range differs from the USB network IP range.&lt;br /&gt;
&lt;br /&gt;
A discussion of this is here http://lists.openmoko.org/pipermail/support/2008-August/001283.html&lt;br /&gt;
&lt;br /&gt;
= Simple Manual Linux Configuration =&lt;br /&gt;
&lt;br /&gt;
Try this first.  If it works, then you can add permanent configuration or use more sophisticated setups below:&lt;br /&gt;
&lt;br /&gt;
(as root on your desktop):&lt;br /&gt;
&lt;br /&gt;
 iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
 sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
 ifconfig usb0 192.168.0.200&lt;br /&gt;
&lt;br /&gt;
If your Internet connection is also in the range 192.168.0.x then instead you might want to use:&lt;br /&gt;
&lt;br /&gt;
 ifconfig usb0 192.168.0.200 netmask 255.255.255.248&lt;br /&gt;
&lt;br /&gt;
Then (ideally, not as root):&lt;br /&gt;
&lt;br /&gt;
 ssh root@192.168.0.202&lt;br /&gt;
&lt;br /&gt;
The default password is blank.&lt;br /&gt;
&lt;br /&gt;
= Linux Kernel Support =&lt;br /&gt;
&lt;br /&gt;
Your Linux desktop/laptop needs to have suitable support, in particular, you will need to have enabled full masquerading in the kernel and USB networking options enabled.  For default kernels in many Linux distributions, this will already be the case.  If not, you will need to enable:&lt;br /&gt;
&lt;br /&gt;
* CONFIG_USB_USBNET&lt;br /&gt;
* CONFIG_USB_NET_CDCETHER&lt;br /&gt;
&lt;br /&gt;
Both USB networking options are available in the ''Device Drivers -&amp;gt; USB support -&amp;gt; USB Network Adapters'' or ''Device Drivers -&amp;gt; Network Device Support -&amp;gt; USB Network Adapters -&amp;gt; Multipurpose USB Networking Framework''. For more info see the [http://www.linux-usb.org/usbnet/ usbnet driver homepage].&lt;br /&gt;
&lt;br /&gt;
It can be complex to set all the correct options for masquerading in the kernel if they are not turned on.  This could be detailed further.&lt;br /&gt;
&lt;br /&gt;
= Firewall Issues =&lt;br /&gt;
&lt;br /&gt;
On some systems, you may have firewall rules which prevent this working - such as added by the iptables service on Fedora.  You may care to stop these, and/or review any rules or policies you think might cause issues.&lt;br /&gt;
&lt;br /&gt;
The most relevant table is the nat table, which controls translation of addresses:&lt;br /&gt;
&lt;br /&gt;
 iptables -L -t nat -v -n&lt;br /&gt;
&lt;br /&gt;
Unless you have a special setup, you'll want to see only the MASQUERADE rule that you apply below, and ACCEPT as the default policy.  Also look at the filter table:&lt;br /&gt;
&lt;br /&gt;
 iptables -L -t filter -v -n&lt;br /&gt;
&lt;br /&gt;
If this contains anything in the FORWARD chain, then this may prevent passing packets.  It can be flushed with:&lt;br /&gt;
&lt;br /&gt;
 iptables -t filter -F FORWARD&lt;br /&gt;
&lt;br /&gt;
= DNS =&lt;br /&gt;
&lt;br /&gt;
In addition to routing issues, to be practical, DNS will need to work.  In some cases, you might already be running a DNS server on your desktop such as dnsmasq or bind9, which is the default assumption the FreeRunner makes.  In other cases, you'll need to configure DNS to that of your router, or a DNS server further out on the internet such as that provided by your ISP.&lt;br /&gt;
&lt;br /&gt;
== Configure Default Neo DNS ==&lt;br /&gt;
&lt;br /&gt;
DNS is configured in /etc/resolv.conf on your FreeRunner.  It should contain:&lt;br /&gt;
&lt;br /&gt;
If Desktop/Laptop has a DNS server or is proxying DNS:&lt;br /&gt;
 nameserver 192.168.0.200 &lt;br /&gt;
or just put in another DNS Server - for example: &lt;br /&gt;
 nameserver 212.147.10.10&lt;br /&gt;
&lt;br /&gt;
Some Linux and Windows systems have DNS servers, especially those configured as servers, but in general they do not.  You can install packages such as ''bind9'' or ''dnsmasq'' to run your own DNS server.  If you have a DNS server then Test Your Connection.  Otherwise you may want to proxy DNS from your Desktop/Laptop.&lt;br /&gt;
&lt;br /&gt;
== Proxying DNS from Desktop/Laptop ==&lt;br /&gt;
&lt;br /&gt;
If you move about, making assumptions about the network may not be convenient, and it is possible to proxy DNS requests via your host laptop (which you are also taking with you), without running or installing a DNS server.  There are a number of ways to do this:&lt;br /&gt;
&lt;br /&gt;
=== Proxying with dnrd ===&lt;br /&gt;
&lt;br /&gt;
The script is designed to use [http://dnrd.sourceforge.net/ dnrd] as the DNS proxy. The [http://buildhost.automated.it/gta01 script] and a copy of [http://buildhost.automated.it/dnrd-2.20.3.tar.gz dnrd] are available. The script also performs the initial setup of the connection as per the [[USB_Networking#Manual_method]] above.&lt;br /&gt;
&lt;br /&gt;
=== Proxying with a UDP forwarder ===&lt;br /&gt;
&lt;br /&gt;
Another easy setup is using a UDP forwarder like the one from http://www.tapor.com/udpf/ - use it with the command&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 udpf-elf -p=53-f=`cat /etc/resolv.conf|awk '$1 == &amp;quot;nameserver&amp;quot;{print $2; exit(0);}'`:53&lt;br /&gt;
&lt;br /&gt;
=== Proxying with iptables ===&lt;br /&gt;
&lt;br /&gt;
It is possible to forward DNS requests with iptables using the DNAT target:&lt;br /&gt;
&lt;br /&gt;
 iptables -t nat -A PREROUTING -p tcp -s 192.168.0.202 -d 192.168.0.200 --dport domain -j DNAT --to-destination 192.168.0.1&lt;br /&gt;
 iptables -t nat -A PREROUTING -p udp -s 192.168.0.202 -d 192.168.0.200 --dport domain -j DNAT --to-destination 192.168.0.1&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;tt&amp;gt;192.168.0.1&amp;lt;/tt&amp;gt; is the IP of your router.&lt;br /&gt;
&lt;br /&gt;
Test if it works:&lt;br /&gt;
 ping www.google.com&lt;br /&gt;
&lt;br /&gt;
If so, then this is sufficient for most internet access. But manual changes to resolv.conf are usually lost later if for example one uses DHCP, especially for WiFi, and so may not be convenient to configure manually.&lt;br /&gt;
&lt;br /&gt;
== Hostnames ==&lt;br /&gt;
&lt;br /&gt;
If you become tired of remembering and typing in the ip address of the Neo (for scp, telnet, SSH, SMB, or whatever), you can give it an easy to remember hostname.  &lt;br /&gt;
&lt;br /&gt;
Open and enter the following line in your desktop's /etc/hosts:&lt;br /&gt;
 192.168.0.202 openmoko&lt;br /&gt;
Now instead of typing the full ip address in commands like:&lt;br /&gt;
 ssh 192.168.0.202@openmoko&lt;br /&gt;
You can replace the full ip with the hostname like:&lt;br /&gt;
 ssh root@openmoko&lt;br /&gt;
&lt;br /&gt;
It may also be helpful to some to edit the Neo's /etc/hosts to use &amp;quot;desktop&amp;quot; or &amp;quot;laptop&amp;quot; instead of 192.168.0.200&lt;br /&gt;
&lt;br /&gt;
= Testing Your Connection =&lt;br /&gt;
You should be able to connect to your Neo! Make sure you can ping your Neo to be sure.&lt;br /&gt;
 ping 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Then log into your Neo using ssh:&lt;br /&gt;
 ssh root@192.168.0.202&lt;br /&gt;
The default password is blank (press enter).&lt;br /&gt;
&lt;br /&gt;
You can also [[scp]] files back and forth. You can telnet, SSH, SMB or do whatever you want if you install software that enables you to set up TCP/IP network over your USB connection.&lt;br /&gt;
&lt;br /&gt;
Now, make sure you can ping back to your desktop&lt;br /&gt;
 ping 192.168.0.200&lt;br /&gt;
(Note that some systems like Vista, don't respond to ICMP ping by default) &lt;br /&gt;
&lt;br /&gt;
Try pinging the outside world (a Google IP address)&lt;br /&gt;
 ping 74.125.19.147&lt;br /&gt;
This demonstrates that masquerading is working - your desktop is sending/receiving packets to the wider internet.&lt;br /&gt;
&lt;br /&gt;
Lastly, verify that DNS is correctly configured between the Neo &amp;amp; Network:&lt;br /&gt;
 ping www.google.com&lt;br /&gt;
&lt;br /&gt;
= OS or Distro Specific Configuration &amp;amp; Making it Permanent =&lt;br /&gt;
&lt;br /&gt;
Based on [http://blog.haerwu.biz/2007/03/22/hotpluging-usbnet/ Hotplugging usbnet] by Marcin 'Hrw' Juszkiewicz.&lt;br /&gt;
&lt;br /&gt;
== MacOS X ==&lt;br /&gt;
See [[MacOS_X#USB_Networking|MacOS X USB Networking]].&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
See [[Neo1973_and_Windows#USB_Ethernet_emulation|Windows USB Ethernet emulation for Neo1973]].&lt;br /&gt;
&lt;br /&gt;
== Debian, Ubuntu and others ==&lt;br /&gt;
&lt;br /&gt;
Edit /etc/network/interfaces and add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 allow-hotplug usb0&lt;br /&gt;
 iface usb0 inet static&lt;br /&gt;
        address 192.168.0.200&lt;br /&gt;
        netmask 255.255.255.192&lt;br /&gt;
        post-up iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.192/26&lt;br /&gt;
        post-up echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        post-up iptables -P FORWARD ACCEPT&lt;br /&gt;
        pre-down iptables -D POSTROUTING -t nat -j MASQUERADE -s 192.168.0.192/26&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is more sophisticated than the manual setup.  The allow-hotplug stanza ties into Linux hotplug system so that when the device appears and vanishes, as happens when the FreeRunner's is connected via USB, this is run.  &lt;br /&gt;
&lt;br /&gt;
In addition, the desktop-side netmask is limited to a much smaller range, so that overlapping subnets are less of a problem - Linux will use more specific routes first when deciding where to send packets.&lt;br /&gt;
&lt;br /&gt;
An other possible configuration that adds DNS forward and removes&lt;br /&gt;
the iptable changes after the unplugg.&lt;br /&gt;
&lt;br /&gt;
in /etc/network/interfaces add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 # freerunner&lt;br /&gt;
 allow-hotplug usb0&lt;br /&gt;
 iface usb0 inet static&lt;br /&gt;
        address 192.168.0.200&lt;br /&gt;
        netmask 255.255.255.192&lt;br /&gt;
        post-up /etc/network/freerunner start&lt;br /&gt;
        pre-down /etc/network/freerunner stop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create file /etc/network/freerunner&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 #&lt;br /&gt;
 # configures the freerunner for internet&lt;br /&gt;
 # &lt;br /&gt;
 # &lt;br /&gt;
&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 REMOTE_IPADDR=192.168.0.202&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
&lt;br /&gt;
 # get first ip for dns&lt;br /&gt;
 DNSIP=$(cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }' | head -n 1 )&lt;br /&gt;
&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start)&lt;br /&gt;
        iptables -A POSTROUTING -t nat -j MASQUERADE -s $REMOTE_IPADDR&lt;br /&gt;
        iptables -A PREROUTING -t nat -p tcp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
        iptables -A PREROUTING -t nat -p udp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
        &lt;br /&gt;
        if [ &amp;quot;$(cat /proc/sys/net/ipv4/ip_forward)&amp;quot; = &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
                echo &amp;quot;temoprarely allow ip_forward for openmoko&amp;quot; &amp;gt; /var/run/openmoko.ip_forward&lt;br /&gt;
                echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        fi&lt;br /&gt;
        ;;&lt;br /&gt;
  stop)&lt;br /&gt;
        iptables -D POSTROUTING -t nat -j MASQUERADE -s $REMOTE_IPADDR&lt;br /&gt;
        iptables -D PREROUTING -t nat -p tcp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
        iptables -D PREROUTING -t nat -p udp -s $REMOTE_IPADDR -d  $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
&lt;br /&gt;
        if [ -f /var/run/openmoko.ip_forward ]; then&lt;br /&gt;
                rm /var/run/openmoko.ip_forward&lt;br /&gt;
                echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        fi&lt;br /&gt;
        ;;&lt;br /&gt;
 esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make /etc/network/freerunner executable with &lt;br /&gt;
 chmod +x /etc/network/freerunner&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu Issues ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu Feisty, Gutsy and Hardy reportedly have a bug where ifdown is not run when the interface is unplugged, meaning this only works once after the system is booted.  This is mentioned at https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/130437 &lt;br /&gt;
&lt;br /&gt;
One can patch /etc/udev/rules.d/85-ifupdown.rules, editing the two lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 SUBSYSTEM==&amp;quot;net&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, GOTO=&amp;quot;net_start&amp;quot;&lt;br /&gt;
 GOTO=&amp;quot;net_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;net_start&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # Bring devices up and down only if they're marked auto.&lt;br /&gt;
 # Use start-stop-daemon so we don't wait on dhcp&lt;br /&gt;
 ACTION==&amp;quot;add&amp;quot;,          RUN+=&amp;quot;/sbin/start-stop-daemon --start --background --pidfile /var/run/network/bogus --startas /sbin/ifup -- --allow auto $env{INTERFACE}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;net_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ACTION==&amp;quot;remove&amp;quot;,       RUN+=&amp;quot;/sbin/start-stop-daemon --start --background --pidfile /var/run/network/bogus --startas /sbin/ifdown -- --allow auto $env{INTERFACE}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The bug is that the LABEL=&amp;quot;net_end&amp;quot; is at the wrong position&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  This appears to be fixed in Ubuntu 8.04 [[User:Mattt|Mattt]] 11:38, 30 July 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Mandriva ==&lt;br /&gt;
&lt;br /&gt;
Tested with Mandriva 2008.1. The idea here is that we will carve out a small (8 hosts) subnet from the main subnet. So our netmask will be 255.255.255.252&lt;br /&gt;
&lt;br /&gt;
This first file configures the network system for the usb0 interface. Any time you plug in the FreeRunner the interface will be configured. &lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 BOOTPROTO=static&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.252&lt;br /&gt;
 ONBOOT=yes&lt;br /&gt;
 METRIC=10&lt;br /&gt;
 MII_NOT_SUPPORTED=no&lt;br /&gt;
 USERCTL=yes&lt;br /&gt;
&lt;br /&gt;
This next file configures the static routes that we need to communicate to the subnet. Since it has &amp;quot;usb0&amp;quot; in the name, the system will automatically apply these static routes any time that the usb0 interface is configured. (i.e. when you connect the FreeRunner)&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/usb0-routes:&lt;br /&gt;
&lt;br /&gt;
 ADDRESS0=192.168.0.200&lt;br /&gt;
 NETMASK0=255.255.255.252&lt;br /&gt;
&lt;br /&gt;
Now we need to restart the network system to pick up the changes.&lt;br /&gt;
&lt;br /&gt;
 service network restart&lt;br /&gt;
&lt;br /&gt;
== SuSE ==&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 # USB configuration for PDAs (openmoko)&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
 STARTMODE=onboot&lt;br /&gt;
&lt;br /&gt;
For more information on getting USB networking up using YaST, see [[USB Networking with openSUSE]].&lt;br /&gt;
&lt;br /&gt;
== Fedora ==&lt;br /&gt;
&lt;br /&gt;
=== Option A - Tested with FC8 &amp;amp; FC5 ===&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 # USB configuration for PDAs (openmoko)&lt;br /&gt;
 # from http://www.handhelds.org/moin/moin.cgi/UsbNet&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 BOOTPROTO=none&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
 ONBOOT=yes&lt;br /&gt;
&lt;br /&gt;
=== Option B ===&lt;br /&gt;
&lt;br /&gt;
This setup is probably over-complex:&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifup-usb:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 . /etc/init.d/functions&lt;br /&gt;
 &lt;br /&gt;
 cd /etc/sysconfig/network-scripts&lt;br /&gt;
 . ./network-functions&lt;br /&gt;
 &lt;br /&gt;
 [ -f ../network ] &amp;amp;&amp;amp; . ../network&lt;br /&gt;
 &lt;br /&gt;
 CONFIG=${1}&lt;br /&gt;
 &lt;br /&gt;
 need_config ${CONFIG}&lt;br /&gt;
 &lt;br /&gt;
 source_config&lt;br /&gt;
 &lt;br /&gt;
 NETBITS=`ipcalc -p ${IPADDR} ${NETMASK} | awk -F'=' '{print $2;}'`&lt;br /&gt;
 &lt;br /&gt;
 /sbin/ip addr flush dev ${DEVICE} 2&amp;gt;/dev/null&lt;br /&gt;
 /sbin/ip link set dev ${DEVICE} up&lt;br /&gt;
 /sbin/ip addr add dev ${DEVICE} ${IPADDR}/${NETBITS}&lt;br /&gt;
 &lt;br /&gt;
 /sbin/iptables -I POSTROUTING -t nat -j MASQUERADE -s ${IPADDR}/${NETBITS}&lt;br /&gt;
 /sbin/sysctl net.ipv4.ip_forward=1&lt;br /&gt;
 /sbin/iptables -I FORWARD -s ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
 /sbin/iptables -I FORWARD -d ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
Set /etc/sysconfig/network-scripts/ifdown-usb:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 . /etc/init.d/functions&lt;br /&gt;
 &lt;br /&gt;
 cd /etc/sysconfig/network-scripts&lt;br /&gt;
 . ./network-functions&lt;br /&gt;
 &lt;br /&gt;
 [ -f ../network ] &amp;amp;&amp;amp; . ../network&lt;br /&gt;
 &lt;br /&gt;
 CONFIG=${1}&lt;br /&gt;
 &lt;br /&gt;
 need_config ${CONFIG}&lt;br /&gt;
 &lt;br /&gt;
 source_config&lt;br /&gt;
 &lt;br /&gt;
 NETBITS=`ipcalc -p ${IPADDR} ${NETMASK} | awk -F'=' '{print $2;}'`&lt;br /&gt;
 &lt;br /&gt;
 /sbin/iptables -D FORWARD -d ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
 /sbin/iptables -D FORWARD -s ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
 /sbin/sysctl net.ipv4.ip_forward=0&lt;br /&gt;
 /sbin/iptables -D POSTROUTING -t nat -j MASQUERADE -s ${IPADDR}/${NETBITS}&lt;br /&gt;
 &lt;br /&gt;
 /sbin/ip link set dev ${DEVICE} down&lt;br /&gt;
 /sbin/ip addr flush dev ${DEVICE} 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
If you are using NetworkManager, restart it and enable the usb device from its menu, otherwise it will disable your connection shortly after you enable it.&lt;br /&gt;
&lt;br /&gt;
 /sbin/service NetworkManager restart&lt;br /&gt;
&lt;br /&gt;
== Red Hat or Similar (tested with Workstation 5) ==&lt;br /&gt;
&lt;br /&gt;
Edit /etc/sysconfig/network-scripts/net.hotplug:&lt;br /&gt;
&lt;br /&gt;
After this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    case $INTERFACE in&lt;br /&gt;
	# interfaces that are registered after being &amp;quot;up&amp;quot; (?)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	usb0)&lt;br /&gt;
		ifconfig usb0 192.168.0.200 netmask 255.255.255.0&lt;br /&gt;
		route add 192.168.0.202 usb0&lt;br /&gt;
		iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
		iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
                iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
                echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
		exit 0&lt;br /&gt;
	;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gentoo ==&lt;br /&gt;
&lt;br /&gt;
Open /etc/conf.d/net and add:&lt;br /&gt;
&lt;br /&gt;
 # Neo&lt;br /&gt;
 config_usb0=( &amp;quot;192.168.0.200 netmask 255.255.255.0&amp;quot; )&lt;br /&gt;
 routes_usb0=( &amp;quot;192.168.0.202/32 via 192.168.0.200&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
Create a new init script:&lt;br /&gt;
&lt;br /&gt;
 cd /etc/init.d&lt;br /&gt;
 ln -s net.lo net.usb0&lt;br /&gt;
&lt;br /&gt;
Put iptables into use:&lt;br /&gt;
&lt;br /&gt;
 iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
 iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
 iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
&lt;br /&gt;
Store them:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/iptables save&lt;br /&gt;
&lt;br /&gt;
If you want the routing by default:&lt;br /&gt;
&lt;br /&gt;
 rc-update add iptables default&lt;br /&gt;
&lt;br /&gt;
You must also inform the kernel, to start forwarding.  &lt;br /&gt;
&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
One way to automate all this is to create /etc/conf.d/net.usb0 as follows. It sets IP forwarding and the iptables rules all in one go. It removes the iptables rules and disables ip forwarding when the FreeRunner is unplugged.&lt;br /&gt;
 &lt;br /&gt;
 preup() {&lt;br /&gt;
        echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
        iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
        iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
        return 0&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 postdown() {&lt;br /&gt;
        echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        iptables -D INPUT -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
        iptables -D OUTPUT -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
        iptables -D POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
        return 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
= SSH Extras =&lt;br /&gt;
&lt;br /&gt;
Reportedly, the ssh daemon (dropbear 0.49) on the FreeRunner appears to have a bug when sending the exit status back to the client. From time to time you receive an exit status of 255.&lt;br /&gt;
&lt;br /&gt;
To avoid ssh added a new line for every ssh host-key to you known_hosts you can add the following to the phone section in ~/.ssh/config&lt;br /&gt;
&lt;br /&gt;
  UserKnownHostsFile /dev/null&lt;br /&gt;
&lt;br /&gt;
You might want to use keys to bypass the login prompt too.&lt;br /&gt;
&lt;br /&gt;
== SSH Keys ==&lt;br /&gt;
&lt;br /&gt;
== From desktop to FreeRunner ==&lt;br /&gt;
&lt;br /&gt;
To generate ssh keys for use as a login mechanism type:&lt;br /&gt;
&lt;br /&gt;
 ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
When prompted for a password either hit enter for no password (''not really a good idea'') or enter a password for this key. ssh into the phone and create ~/.ssh:&lt;br /&gt;
&lt;br /&gt;
 # mkdir ~/.ssh&lt;br /&gt;
&lt;br /&gt;
Then from your desktop copy the '''.pub''' file to the phone.&lt;br /&gt;
&lt;br /&gt;
 # scp ~/.ssh/id_rsa.pub phone:.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
You should now be able to ssh directly into the phone without a password prompt.&lt;br /&gt;
&lt;br /&gt;
To disable password logins ('''after setting up key access''') edit /etc/init.d/dropbear and change the following line:&lt;br /&gt;
&lt;br /&gt;
 DROPBEAR_EXTRA_ARGS=&lt;br /&gt;
&lt;br /&gt;
to &lt;br /&gt;
&lt;br /&gt;
 DROPBEAR_EXTRA_ARGS=&amp;quot;-s&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You will need to restart dropbear for this to take effect.&lt;br /&gt;
&lt;br /&gt;
=== From FreeRunner to Desktop ===&lt;br /&gt;
&lt;br /&gt;
Generate the key:&lt;br /&gt;
&lt;br /&gt;
  dropbearkey -t rsa -f id_rsa&lt;br /&gt;
&lt;br /&gt;
The output will look something like this:&lt;br /&gt;
&lt;br /&gt;
  Will output 1024 bit rsa secret key to 'id_rsa'&lt;br /&gt;
  Generating key, this may take a while...&lt;br /&gt;
  Public key portion is:&lt;br /&gt;
  ssh-rsa AAAAB3Nza[...]&lt;br /&gt;
  Fingerprint: md5 ca:e8:f0:b7:f6:7b:c2:b6:b9:71:e4:45:86:a9:ff:b8&lt;br /&gt;
&lt;br /&gt;
Copy and paste the one line (in this example, starting with 'ssh-rsa' onto the end of the host's authorized_keys file (often in ~/.ssh/).&lt;br /&gt;
&lt;br /&gt;
From the phone, ssh with -i:&lt;br /&gt;
&lt;br /&gt;
  ssh -i id_rsa user@host&lt;br /&gt;
&lt;br /&gt;
=== Changing host keys ===&lt;br /&gt;
&lt;br /&gt;
If you reflash, your hosts keys will change.  Try this ~/.ssh/config snippet:&lt;br /&gt;
&lt;br /&gt;
 Host moko&lt;br /&gt;
 HostName 192.168.0.202&lt;br /&gt;
 StrictHostKeyChecking no&lt;br /&gt;
 UserKnownHostsFile /dev/null&lt;br /&gt;
 User root&lt;br /&gt;
&lt;br /&gt;
This is suggested because ssh on your desktop may complain if the key matching a certain IP changes (stored in .ssh/known_hosts).&lt;br /&gt;
&lt;br /&gt;
== GUI on desktop through SSH ==&lt;br /&gt;
&lt;br /&gt;
To get the GUI on the FreeRunner onto the desktop via USB, you can use ssh as follows:&lt;br /&gt;
&lt;br /&gt;
  ssh -l root -X -v 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Using this, run openmoko-finger-demo for example, and it will open up on the desktop. To get landscape view, just resize the GUI window on the desktop.&lt;br /&gt;
&lt;br /&gt;
If you get an error like this:&lt;br /&gt;
 dbus.exceptions.DBusException: org.freedesktop.DBus.Error.Spawn.ExecFailed: dbus-launch failed to     &lt;br /&gt;
 autolaunch D-Bus session: Autolaunch requested, but X11 support not compiled in.&lt;br /&gt;
you need to set the DBUS_SESSION_BUS_ADDRESS environment variable to the value on the Freerunner before launching the process from your desktop.  You can find the value of this variable by using a command such as&lt;br /&gt;
 ps auxwwwwe | grep -m 1 DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
Note that you must run that command on the Freerunner.  Back on your desktop, run the process you want with the ''env'' command like this:&lt;br /&gt;
 env DBUS_SESSION_BUS_ADDRESS=''dbus_address'' ''process''&lt;br /&gt;
&lt;br /&gt;
==Display Remote Applications on FreeRunner==&lt;br /&gt;
&lt;br /&gt;
To get desktop apps to show up on your FreeRunner, first log in:&lt;br /&gt;
&lt;br /&gt;
  ssh -l root 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
&lt;br /&gt;
  DISPLAY=:0 xhost +192.168.0.200&lt;br /&gt;
&lt;br /&gt;
After this you can close the ssh session. Back on the desktop computer, run:&lt;br /&gt;
&lt;br /&gt;
  DISPLAY=openmoko:0 xclock&lt;br /&gt;
&lt;br /&gt;
Note that the xhost command will allow remote applications on 192.168.0.200 to access the X server. It will allow anyone on the desktop machine to access the X server of the neo, including snooping anything you type on it. To disallow remote applications again, run this in the neo:&lt;br /&gt;
&lt;br /&gt;
  DISPLAY=:0 xhost -192.168.0.200&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
{{Languages|USB Networking}}&lt;br /&gt;
&lt;br /&gt;
[[Category:USB]]&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Implemented]]&lt;br /&gt;
[[Category:Networking]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Neo_1973_and_Windows</id>
		<title>Neo 1973 and Windows</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Neo_1973_and_Windows"/>
				<updated>2008-08-10T21:34:42Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: /* USB Ethernet emulation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page tries to collect some information on how to use your Neo1973 together with a computer running a Microsoft(R) Windows(TM) series operating system.&lt;br /&gt;
&lt;br /&gt;
Please note that this is not really supported, and that the OpenMoko developers themselves only use Linux for testing.&lt;br /&gt;
&lt;br /&gt;
Also note that Windows appears to not recognize and communicate with the neo as a USB device unless you install the .inf file below, and hence you will always have to [[forcing fast charge mode|force fast charge]] to recharge using a usb connection to a Windows machine unless you install that .inf.&lt;br /&gt;
&lt;br /&gt;
== Connecting to the phone ==&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth connection ===&lt;br /&gt;
&lt;br /&gt;
How to connect to Windows XP via Bluetooth is described here: [[Manually_using_Bluetooth#Bluetooth_networking_with_a_Windows_XP_system]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== USB Ethernet emulation ===&lt;br /&gt;
{{note|For Windows XP USB RNDIS networking ''finally works'' as of Kernel 2.6.22.5-moko11 using the procedure described below.}}&lt;br /&gt;
&lt;br /&gt;
{{note|For Vista this procedure works with the 2.6.24 kernel that ships with the Neo Freerunner. The initial SSH connection seems a little slow however.}}&lt;br /&gt;
&lt;br /&gt;
# Download http://privat.wmo.de/~c_schweers/NeoRndis.inf ([[NeoRndis.inf|Listing of NeoRndis.inf]]) to somewhere convenient on your Windows machine. If the file is not reachable, you can download another working inf file here: http://users.informatik.uni-halle.de/~rabe/neo/Neo1973.inf ([[Neo1973.inf|Listing of Neo1973.inf]])&lt;br /&gt;
# Power up your Neo1973, let it boot into OpenMoko, and then connect its USB port to the Windows machine, using a standard USB-A to USB-mini-B cable. Note that if you connect the cable ''before'' powering the phone on, Windows will detect a device presented by the [[Boot lader|boot loader]]. This probably isn't what you want. Let the phone power up first.&lt;br /&gt;
# Assuming the new drivers are downloaded and accessible as above, Windows should detect the Neo1973 and prompt you for a driver for a &amp;quot;RNDIS/Ethernet Gadget&amp;quot;. Select to specify your own driver, and then choose the NeoRndis.inf file you downloaded earlier. This file tells Windows XP to use its own built-in RNDIS driver for the device.&lt;br /&gt;
# Windows may complain of &amp;quot;reduced network connectivity&amp;quot;. This is because it expects to be able to get an address automatically from the Neo1973 and it doesn't provide one in the default setup. To fix this, see the next step.&lt;br /&gt;
# Go into the Windows network configuration for the new USB networking adapter and set the IP address of the interface to 192.168.0.200.&lt;br /&gt;
&lt;br /&gt;
You should now be able to connect to your Neo1973 on 192.168.0.202 via ssh (e.g. putty)&lt;br /&gt;
&lt;br /&gt;
Getting a Blue Screen of Death (BSOD) in windows XP? Some extra drivers are automatically installed with new devices (e.g. &amp;quot;SecureRemoteMiniPort&amp;quot;).  Try disabling them in the device manager while the Neo is not connected.  You need to select &amp;quot;Show hidden devices&amp;quot; in the view menu to see them. Then reconnect the Neo.&lt;br /&gt;
&lt;br /&gt;
=== Connection to the Internet ===&lt;br /&gt;
&lt;br /&gt;
If you want to connect to the internet from your Neo via Windows XP, e.g. for doing ipkg update/upgrade, you need to set up IP forwarding and routing properly.&lt;br /&gt;
&lt;br /&gt;
==== Option 1, using Windows ICS ====&lt;br /&gt;
&lt;br /&gt;
An easy way to do this is to use Windows Internet Connection Sharing.&lt;br /&gt;
&lt;br /&gt;
To do this, you need to create a network bridge which contains the usb connection to the Neo.&lt;br /&gt;
&lt;br /&gt;
Then you tell Windows to share the WAN connection (i.e. the network interface which connects your Windows system to the internet) with the new bridge.&lt;br /&gt;
&lt;br /&gt;
Then you manually set the IP address of the bridge to 192.168.0.200&lt;br /&gt;
&lt;br /&gt;
After you have done all this, the Neo will be able to route through the Windows machine out to the internet. DNS queries will also be proxied by the Windows machine. Of course, /etc/resolv.conf on the Neo needs to be set to your local DNS or a free DNS.&lt;br /&gt;
&lt;br /&gt;
'''New''' When you have LAN with network address 192.168.0.0 you have to do some hacking.&lt;br /&gt;
1. Edit /etc/network/interfaces and set for usb0&lt;br /&gt;
'' address 192.168.2.202&lt;br /&gt;
   netmask 255.255.255.0&lt;br /&gt;
   network 192.168.2.0&lt;br /&gt;
   gateway 192.168.2.1&lt;br /&gt;
''&lt;br /&gt;
On Windows go to Network settings, ''pull out LAN cable'' (so there's no connection with local DHCP server which conflicts with IP 192.168.0.1), enable connection sharing for Neo-USB cable. Then edit Neo-usb interface settings and change it's IP address to 192.168.2.1 and set gateway for yours 192.168.0.x (other which you have). Apply changes with OK. Put in net cable. Enjoy net on NEO.&lt;br /&gt;
&lt;br /&gt;
'''Example: Setup for wifi only internet connection (windows xp and Neo FreeRunner)'''&lt;br /&gt;
# Once the Network Connections window shows both &amp;quot;Wireless Network Connection Status:Connected&amp;quot; and &amp;quot;openmoko Status:Connected&amp;quot; Right click on Wireless Network Connection and goto Properties. Select Advanced tab, and turn on Internet Connection sharing. Choose the openmoko network.&lt;br /&gt;
# If you get the error: the ip address is already in use. Change your wireless router address away from 192.168.0.2, to something like 192.168.1.2&lt;br /&gt;
# Windows will change the ip address of openmoko network to 192.168.0.1 and the Network Connections window will show &amp;quot;Wireless Internet Connection Status: connected,shared&amp;quot; &lt;br /&gt;
# Right click on openmoko network and goto Properties. Change the ip address of openmoko network to 192.168.0.200&lt;br /&gt;
# Login to openmoko using Putty (ssh client for windows) 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
==== Option 1.5, using a Network Bridge ====&lt;br /&gt;
&lt;br /&gt;
Just bridge the USB and Ethernet networks together (Win XP).&lt;br /&gt;
&lt;br /&gt;
To do this, you need to create a network bridge which contains the usb connection to the Neo and your normal Ethernet (or WiFi) connection (the one you use to go on the internets).&lt;br /&gt;
&lt;br /&gt;
Then you set up the bridge like your Ethernet was (DHCP or static IP, e.g. 10.10.0.foo) and the Neo to be in the same subnet as the bridge (10.10.0.bar)&lt;br /&gt;
&lt;br /&gt;
After you have done all this, the Neo will be able to route through the Windows machine out to the internet. DNS queries will also be proxied by the Windows machine. Of course, /etc/resolv.conf on the Neo needs to be set to your local DNS or a free DNS. &lt;br /&gt;
&lt;br /&gt;
==== Option 2, using AnalogX ====&lt;br /&gt;
&lt;br /&gt;
AnalogX is a lightweight, free network proxy for Windows. It can proxy HTTP, FTP, SMTP and other protocols. It's very easy to set up and works with any software on the phone that supports proxies (eg. opkg).&lt;br /&gt;
&lt;br /&gt;
* Download and install AnalogX onto your Windows PC (http://www.analogx.com)&lt;br /&gt;
* Run AnalogX. The default configuration should be ok: open mode, all protocols on. &lt;br /&gt;
* Connect your phone using the USB cable as normal.&lt;br /&gt;
* Configure opkg to use the proxy by editing /etc/opkg/opkg.conf. There's 2 lines to uncomment and change.&lt;br /&gt;
** option http_proxy http://192.168.0.200:6588&lt;br /&gt;
** option ftp_proxy http://192.168.0.200:21&lt;br /&gt;
* opkg should now work via the proxy.&lt;br /&gt;
&lt;br /&gt;
Other apps like [[Minimo]] can also be configured to use a proxy. Use the HTTP proxy URL as above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Option 3, using IP Forwarding and extra routing ====&lt;br /&gt;
&lt;br /&gt;
An alternative way is to do it manually:&lt;br /&gt;
&lt;br /&gt;
In the Windows registry, go to:&lt;br /&gt;
 Hkey_Local_Machine\System\CurrentControlSet\Services\Tcpip\Parameters&lt;br /&gt;
and set &lt;br /&gt;
 REG_DWORD: &amp;quot;IPEnableRouter&amp;quot; to &amp;quot;1&amp;quot;&lt;br /&gt;
Be aware that IP Forwarding can be a security risk.&lt;br /&gt;
&lt;br /&gt;
Then, if there is a router between your Windows XP system and the internet, you also need to tell the router how to get back to your Neo, so you need to set a route on it for 192.168.0.0/255.255.255.0 to your Windows XP LAN interface IP address. Windows will then forward the packets to the Neo.&lt;br /&gt;
&lt;br /&gt;
=== Further references ===&lt;br /&gt;
* http://www.microsoft.com/whdc/device/network/NDIS/rndis.mspx&lt;br /&gt;
* http://maemo.org/maemowiki/USBnetworkingWinXP&lt;br /&gt;
* http://docwiki.gumstix.org/Setting_up_USBnet&lt;br /&gt;
* http://handhelds.org/moin/moin.cgi/WindowsXpUsbNetworkHowTo&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/USB_Networking</id>
		<title>USB Networking</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/USB_Networking"/>
				<updated>2008-08-10T21:26:20Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: Put OS's with Simple Manual Linux Configuration issues first&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= OpenMoko Networking Setup =&lt;br /&gt;
&lt;br /&gt;
In order to communicate via TCP/IP to your FreeRunner, a basic understanding of the networking expectations is required.  Each end of the USB connection forms a LAN (local area network) segment, with the FreeRunner's USB networking device at one end (default 192.168.0.202) and your laptop or desktop at the other end (192.168.0.200 in this guide).&lt;br /&gt;
&lt;br /&gt;
Normally, your desktop machine will know how to reach the Internet, having had its gateway (the IP address of the machine or device which knows how to send packets to machines beyond your subnet) configured via DHCP or statically (probably via a router).  For the FreeRunner to reach the Internet, your desktop will have to be configured to route and masquerade (NAT) packets from it.  &lt;br /&gt;
&lt;br /&gt;
Normally, none of this is an issue, but problems can arise when the subnet between the FreeRunner and your desktop overlap with the desktop to the router (which forms a second LAN), since your desktop might not know how to route traffic properly.&lt;br /&gt;
&lt;br /&gt;
In other words: if your existing router and desktop have addresses 192.168.0.(something) changing them to eg 192.168.1.(something) might save you a lot of troubleshooting later. The guides to set up USB networking for your FreeRunner assume that your router/desktop IP range differs from the USB network IP range.&lt;br /&gt;
&lt;br /&gt;
A discussion of this is here http://lists.openmoko.org/pipermail/support/2008-August/001283.html&lt;br /&gt;
&lt;br /&gt;
= Simple Manual Linux Configuration =&lt;br /&gt;
&lt;br /&gt;
Try this first.  If it works, then you can add permanent configuration or use more sophisticated setups below:&lt;br /&gt;
&lt;br /&gt;
(as root on your desktop):&lt;br /&gt;
&lt;br /&gt;
 iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
 sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
 ifconfig usb0 192.168.0.200&lt;br /&gt;
&lt;br /&gt;
If your Internet connection is also in the range 192.168.0.x then instead you might want to use:&lt;br /&gt;
&lt;br /&gt;
 ifconfig usb0 192.168.0.200 netmask 255.255.255.248&lt;br /&gt;
&lt;br /&gt;
Then (ideally, not as root):&lt;br /&gt;
&lt;br /&gt;
 ssh root@192.168.0.202&lt;br /&gt;
&lt;br /&gt;
The default password is blank.&lt;br /&gt;
&lt;br /&gt;
= Linux Kernel Support =&lt;br /&gt;
&lt;br /&gt;
Your Linux desktop/laptop needs to have suitable support, in particular, you will need to have enabled full masquerading in the kernel and USB networking options enabled.  For default kernels in many Linux distributions, this will already be the case.  If not, you will need to enable:&lt;br /&gt;
&lt;br /&gt;
* CONFIG_USB_USBNET&lt;br /&gt;
* CONFIG_USB_NET_CDCETHER&lt;br /&gt;
&lt;br /&gt;
Both USB networking options are available in the ''Device Drivers -&amp;gt; USB support -&amp;gt; USB Network Adapters'' or ''Device Drivers -&amp;gt; Network Device Support -&amp;gt; USB Network Adapters -&amp;gt; Multipurpose USB Networking Framework''. For more info see the [http://www.linux-usb.org/usbnet/ usbnet driver homepage].&lt;br /&gt;
&lt;br /&gt;
It can be complex to set all the correct options for masquerading in the kernel if they are not turned on.  This could be detailed further.&lt;br /&gt;
&lt;br /&gt;
= Firewall Issues =&lt;br /&gt;
&lt;br /&gt;
On some systems, you may have firewall rules which prevent this working - such as added by the iptables service on Fedora.  You may care to stop these, and/or review any rules or policies you think might cause issues.&lt;br /&gt;
&lt;br /&gt;
The most relevant table is the nat table, which controls translation of addresses:&lt;br /&gt;
&lt;br /&gt;
 iptables -L -t nat -v -n&lt;br /&gt;
&lt;br /&gt;
Unless you have a special setup, you'll want to see only the MASQUERADE rule that you apply below, and ACCEPT as the default policy.  Also look at the filter table:&lt;br /&gt;
&lt;br /&gt;
 iptables -L -t filter -v -n&lt;br /&gt;
&lt;br /&gt;
If this contains anything in the FORWARD chain, then this may prevent passing packets.  It can be flushed with:&lt;br /&gt;
&lt;br /&gt;
 iptables -t filter -F FORWARD&lt;br /&gt;
&lt;br /&gt;
= DNS =&lt;br /&gt;
&lt;br /&gt;
In addition to routing issues, to be practical, DNS will need to work.  In some cases, you might already be running a DNS server on your desktop such as dnsmasq or bind9, which is the default assumption the FreeRunner makes.  In other cases, you'll need to configure DNS to that of your router, or a DNS server further out on the internet such as that provided by your ISP.&lt;br /&gt;
&lt;br /&gt;
== Configure Default Neo DNS ==&lt;br /&gt;
&lt;br /&gt;
DNS is configured in /etc/resolv.conf on your FreeRunner.  It should contain:&lt;br /&gt;
&lt;br /&gt;
If Desktop/Laptop has a DNS server or is proxying DNS:&lt;br /&gt;
 nameserver 192.168.0.200 &lt;br /&gt;
or just put in another DNS Server - for example: &lt;br /&gt;
 nameserver 212.147.10.10&lt;br /&gt;
&lt;br /&gt;
Some Linux and Windows systems have DNS servers, especially those configured as servers, but in general they do not.  You can install packages such as ''bind9'' or ''dnsmasq'' to run your own DNS server.  If you have a DNS server then Test Your Connection.  Otherwise you may want to proxy DNS from your Desktop/Laptop.&lt;br /&gt;
&lt;br /&gt;
== Proxying DNS from Desktop/Laptop ==&lt;br /&gt;
&lt;br /&gt;
If you move about, making assumptions about the network may not be convenient, and it is possible to proxy DNS requests via your host laptop (which you are also taking with you), without running or installing a DNS server.  There are a number of ways to do this:&lt;br /&gt;
&lt;br /&gt;
=== Proxying with dnrd ===&lt;br /&gt;
&lt;br /&gt;
The script is designed to use [http://dnrd.sourceforge.net/ dnrd] as the DNS proxy. The [http://buildhost.automated.it/gta01 script] and a copy of [http://buildhost.automated.it/dnrd-2.20.3.tar.gz dnrd] are available. The script also performs the initial setup of the connection as per the [[USB_Networking#Manual_method]] above.&lt;br /&gt;
&lt;br /&gt;
=== Proxying with a UDP forwarder ===&lt;br /&gt;
&lt;br /&gt;
Another easy setup is using a UDP forwarder like the one from http://www.tapor.com/udpf/ - use it with the command&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 udpf-elf -p=53-f=`cat /etc/resolv.conf|awk '$1 == &amp;quot;nameserver&amp;quot;{print $2; exit(0);}'`:53&lt;br /&gt;
&lt;br /&gt;
=== Proxying with iptables ===&lt;br /&gt;
&lt;br /&gt;
It is possible to forward DNS requests with iptables using the DNAT target:&lt;br /&gt;
&lt;br /&gt;
 iptables -t nat -A PREROUTING -p tcp -s 192.168.0.202 -d 192.168.0.200 --dport domain -j DNAT --to-destination 192.168.0.1&lt;br /&gt;
 iptables -t nat -A PREROUTING -p udp -s 192.168.0.202 -d 192.168.0.200 --dport domain -j DNAT --to-destination 192.168.0.1&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;tt&amp;gt;192.168.0.1&amp;lt;/tt&amp;gt; is the IP of your router.&lt;br /&gt;
&lt;br /&gt;
Test if it works:&lt;br /&gt;
 ping www.google.com&lt;br /&gt;
&lt;br /&gt;
If so, then this is sufficient for most internet access. But manual changes to resolv.conf are usually lost later if for example one uses DHCP, especially for WiFi, and so may not be convenient to configure manually.&lt;br /&gt;
&lt;br /&gt;
== Hostnames ==&lt;br /&gt;
&lt;br /&gt;
If you become tired of remembering and typing in the ip address of the Neo (for scp, telnet, SSH, SMB, or whatever), you can give it an easy to remember hostname.  &lt;br /&gt;
&lt;br /&gt;
Open and enter the following line in your desktop's /etc/hosts:&lt;br /&gt;
 192.168.0.202 openmoko&lt;br /&gt;
Now instead of typing the full ip address in commands like:&lt;br /&gt;
 ssh 192.168.0.202@openmoko&lt;br /&gt;
You can replace the full ip with the hostname like:&lt;br /&gt;
 ssh root@openmoko&lt;br /&gt;
&lt;br /&gt;
It may also be helpful to some to edit the Neo's /etc/hosts to use &amp;quot;desktop&amp;quot; or &amp;quot;laptop&amp;quot; instead of 192.168.0.200&lt;br /&gt;
&lt;br /&gt;
= Testing Your Connection =&lt;br /&gt;
You should be able to connect to your Neo! Make sure you can ping your Neo to be sure.&lt;br /&gt;
 ping 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Then log into your Neo using ssh:&lt;br /&gt;
 ssh root@192.168.0.202&lt;br /&gt;
The default password is blank (press enter).&lt;br /&gt;
&lt;br /&gt;
You can also [[scp]] files back and forth. You can telnet, SSH, SMB or do whatever you want if you install software that enables you to set up TCP/IP network over your USB connection.&lt;br /&gt;
&lt;br /&gt;
Now, make sure you can ping back to your desktop&lt;br /&gt;
 ping 192.168.0.200&lt;br /&gt;
(Note that some systems like Vista, don't respond to ICMP ping by default) &lt;br /&gt;
&lt;br /&gt;
Try pinging the outside world (a Google IP address)&lt;br /&gt;
 ping 74.125.19.147&lt;br /&gt;
This demonstrates that masquerading is working - your desktop is sending/receiving packets to the wider internet.&lt;br /&gt;
&lt;br /&gt;
Lastly, verify that DNS is correctly configured between the Neo &amp;amp; Network:&lt;br /&gt;
 ping www.google.com&lt;br /&gt;
&lt;br /&gt;
= Make it Permanent =&lt;br /&gt;
&lt;br /&gt;
Based on [http://blog.haerwu.biz/2007/03/22/hotpluging-usbnet/ Hotplugging usbnet] by Marcin 'Hrw' Juszkiewicz.&lt;br /&gt;
&lt;br /&gt;
== MacOS X ==&lt;br /&gt;
See [[MacOS_X#USB_Networking|MacOS X USB Networking]].&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
See [[Neo1973_and_Windows#USB_Ethernet_emulation|Windows USB Ethernet emulation for Neo1973]].&lt;br /&gt;
&lt;br /&gt;
== Debian, Ubuntu and others ==&lt;br /&gt;
&lt;br /&gt;
Edit /etc/network/interfaces and add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 allow-hotplug usb0&lt;br /&gt;
 iface usb0 inet static&lt;br /&gt;
        address 192.168.0.200&lt;br /&gt;
        netmask 255.255.255.192&lt;br /&gt;
        post-up iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.192/26&lt;br /&gt;
        post-up echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        post-up iptables -P FORWARD ACCEPT&lt;br /&gt;
        pre-down iptables -D POSTROUTING -t nat -j MASQUERADE -s 192.168.0.192/26&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is more sophisticated than the manual setup.  The allow-hotplug stanza ties into Linux hotplug system so that when the device appears and vanishes, as happens when the FreeRunner's is connected via USB, this is run.  &lt;br /&gt;
&lt;br /&gt;
In addition, the desktop-side netmask is limited to a much smaller range, so that overlapping subnets are less of a problem - Linux will use more specific routes first when deciding where to send packets.&lt;br /&gt;
&lt;br /&gt;
An other possible configuration that adds DNS forward and removes&lt;br /&gt;
the iptable changes after the unplugg.&lt;br /&gt;
&lt;br /&gt;
in /etc/network/interfaces add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 # freerunner&lt;br /&gt;
 allow-hotplug usb0&lt;br /&gt;
 iface usb0 inet static&lt;br /&gt;
        address 192.168.0.200&lt;br /&gt;
        netmask 255.255.255.192&lt;br /&gt;
        post-up /etc/network/freerunner start&lt;br /&gt;
        pre-down /etc/network/freerunner stop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create file /etc/network/freerunner&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 #&lt;br /&gt;
 # configures the freerunner for internet&lt;br /&gt;
 # &lt;br /&gt;
 # &lt;br /&gt;
&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 REMOTE_IPADDR=192.168.0.202&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
&lt;br /&gt;
 # get first ip for dns&lt;br /&gt;
 DNSIP=$(cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }' | head -n 1 )&lt;br /&gt;
&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start)&lt;br /&gt;
        iptables -A POSTROUTING -t nat -j MASQUERADE -s $REMOTE_IPADDR&lt;br /&gt;
        iptables -A PREROUTING -t nat -p tcp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
        iptables -A PREROUTING -t nat -p udp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
        &lt;br /&gt;
        if [ &amp;quot;$(cat /proc/sys/net/ipv4/ip_forward)&amp;quot; = &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
                echo &amp;quot;temoprarely allow ip_forward for openmoko&amp;quot; &amp;gt; /var/run/openmoko.ip_forward&lt;br /&gt;
                echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        fi&lt;br /&gt;
        ;;&lt;br /&gt;
  stop)&lt;br /&gt;
        iptables -D POSTROUTING -t nat -j MASQUERADE -s $REMOTE_IPADDR&lt;br /&gt;
        iptables -D PREROUTING -t nat -p tcp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
        iptables -D PREROUTING -t nat -p udp -s $REMOTE_IPADDR -d  $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
&lt;br /&gt;
        if [ -f /var/run/openmoko.ip_forward ]; then&lt;br /&gt;
                rm /var/run/openmoko.ip_forward&lt;br /&gt;
                echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        fi&lt;br /&gt;
        ;;&lt;br /&gt;
 esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make /etc/network/freerunner executable with &lt;br /&gt;
 chmod +x /etc/network/freerunner&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu Issues ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu Feisty, Gutsy and Hardy reportedly have a bug where ifdown is not run when the interface is unplugged, meaning this only works once after the system is booted.  This is mentioned at https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/130437 &lt;br /&gt;
&lt;br /&gt;
One can patch /etc/udev/rules.d/85-ifupdown.rules, editing the two lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 SUBSYSTEM==&amp;quot;net&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, GOTO=&amp;quot;net_start&amp;quot;&lt;br /&gt;
 GOTO=&amp;quot;net_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;net_start&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # Bring devices up and down only if they're marked auto.&lt;br /&gt;
 # Use start-stop-daemon so we don't wait on dhcp&lt;br /&gt;
 ACTION==&amp;quot;add&amp;quot;,          RUN+=&amp;quot;/sbin/start-stop-daemon --start --background --pidfile /var/run/network/bogus --startas /sbin/ifup -- --allow auto $env{INTERFACE}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;net_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ACTION==&amp;quot;remove&amp;quot;,       RUN+=&amp;quot;/sbin/start-stop-daemon --start --background --pidfile /var/run/network/bogus --startas /sbin/ifdown -- --allow auto $env{INTERFACE}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The bug is that the LABEL=&amp;quot;net_end&amp;quot; is at the wrong position&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  This appears to be fixed in Ubuntu 8.04 [[User:Mattt|Mattt]] 11:38, 30 July 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Mandriva ==&lt;br /&gt;
&lt;br /&gt;
Tested with Mandriva 2008.1. The idea here is that we will carve out a small (8 hosts) subnet from the main subnet. So our netmask will be 255.255.255.252&lt;br /&gt;
&lt;br /&gt;
This first file configures the network system for the usb0 interface. Any time you plug in the FreeRunner the interface will be configured. &lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 BOOTPROTO=static&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.252&lt;br /&gt;
 ONBOOT=yes&lt;br /&gt;
 METRIC=10&lt;br /&gt;
 MII_NOT_SUPPORTED=no&lt;br /&gt;
 USERCTL=yes&lt;br /&gt;
&lt;br /&gt;
This next file configures the static routes that we need to communicate to the subnet. Since it has &amp;quot;usb0&amp;quot; in the name, the system will automatically apply these static routes any time that the usb0 interface is configured. (i.e. when you connect the FreeRunner)&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/usb0-routes:&lt;br /&gt;
&lt;br /&gt;
 ADDRESS0=192.168.0.200&lt;br /&gt;
 NETMASK0=255.255.255.252&lt;br /&gt;
&lt;br /&gt;
Now we need to restart the network system to pick up the changes.&lt;br /&gt;
&lt;br /&gt;
 service network restart&lt;br /&gt;
&lt;br /&gt;
== SuSE ==&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 # USB configuration for PDAs (openmoko)&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
 STARTMODE=onboot&lt;br /&gt;
&lt;br /&gt;
For more information on getting USB networking up using YaST, see [[USB Networking with openSUSE]].&lt;br /&gt;
&lt;br /&gt;
== Fedora ==&lt;br /&gt;
&lt;br /&gt;
=== Option A - Tested with FC8 &amp;amp; FC5 ===&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 # USB configuration for PDAs (openmoko)&lt;br /&gt;
 # from http://www.handhelds.org/moin/moin.cgi/UsbNet&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 BOOTPROTO=none&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
 ONBOOT=yes&lt;br /&gt;
&lt;br /&gt;
=== Option B ===&lt;br /&gt;
&lt;br /&gt;
This setup is probably over-complex:&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifup-usb:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 . /etc/init.d/functions&lt;br /&gt;
 &lt;br /&gt;
 cd /etc/sysconfig/network-scripts&lt;br /&gt;
 . ./network-functions&lt;br /&gt;
 &lt;br /&gt;
 [ -f ../network ] &amp;amp;&amp;amp; . ../network&lt;br /&gt;
 &lt;br /&gt;
 CONFIG=${1}&lt;br /&gt;
 &lt;br /&gt;
 need_config ${CONFIG}&lt;br /&gt;
 &lt;br /&gt;
 source_config&lt;br /&gt;
 &lt;br /&gt;
 NETBITS=`ipcalc -p ${IPADDR} ${NETMASK} | awk -F'=' '{print $2;}'`&lt;br /&gt;
 &lt;br /&gt;
 /sbin/ip addr flush dev ${DEVICE} 2&amp;gt;/dev/null&lt;br /&gt;
 /sbin/ip link set dev ${DEVICE} up&lt;br /&gt;
 /sbin/ip addr add dev ${DEVICE} ${IPADDR}/${NETBITS}&lt;br /&gt;
 &lt;br /&gt;
 /sbin/iptables -I POSTROUTING -t nat -j MASQUERADE -s ${IPADDR}/${NETBITS}&lt;br /&gt;
 /sbin/sysctl net.ipv4.ip_forward=1&lt;br /&gt;
 /sbin/iptables -I FORWARD -s ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
 /sbin/iptables -I FORWARD -d ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
Set /etc/sysconfig/network-scripts/ifdown-usb:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 . /etc/init.d/functions&lt;br /&gt;
 &lt;br /&gt;
 cd /etc/sysconfig/network-scripts&lt;br /&gt;
 . ./network-functions&lt;br /&gt;
 &lt;br /&gt;
 [ -f ../network ] &amp;amp;&amp;amp; . ../network&lt;br /&gt;
 &lt;br /&gt;
 CONFIG=${1}&lt;br /&gt;
 &lt;br /&gt;
 need_config ${CONFIG}&lt;br /&gt;
 &lt;br /&gt;
 source_config&lt;br /&gt;
 &lt;br /&gt;
 NETBITS=`ipcalc -p ${IPADDR} ${NETMASK} | awk -F'=' '{print $2;}'`&lt;br /&gt;
 &lt;br /&gt;
 /sbin/iptables -D FORWARD -d ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
 /sbin/iptables -D FORWARD -s ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
 /sbin/sysctl net.ipv4.ip_forward=0&lt;br /&gt;
 /sbin/iptables -D POSTROUTING -t nat -j MASQUERADE -s ${IPADDR}/${NETBITS}&lt;br /&gt;
 &lt;br /&gt;
 /sbin/ip link set dev ${DEVICE} down&lt;br /&gt;
 /sbin/ip addr flush dev ${DEVICE} 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
If you are using NetworkManager, restart it and enable the usb device from its menu, otherwise it will disable your connection shortly after you enable it.&lt;br /&gt;
&lt;br /&gt;
 /sbin/service NetworkManager restart&lt;br /&gt;
&lt;br /&gt;
== Red Hat or Similar (tested with Workstation 5) ==&lt;br /&gt;
&lt;br /&gt;
Edit /etc/sysconfig/network-scripts/net.hotplug:&lt;br /&gt;
&lt;br /&gt;
After this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    case $INTERFACE in&lt;br /&gt;
	# interfaces that are registered after being &amp;quot;up&amp;quot; (?)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	usb0)&lt;br /&gt;
		ifconfig usb0 192.168.0.200 netmask 255.255.255.0&lt;br /&gt;
		route add 192.168.0.202 usb0&lt;br /&gt;
		iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
		iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
                iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
                echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
		exit 0&lt;br /&gt;
	;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gentoo ==&lt;br /&gt;
&lt;br /&gt;
Open /etc/conf.d/net and add:&lt;br /&gt;
&lt;br /&gt;
 # Neo&lt;br /&gt;
 config_usb0=( &amp;quot;192.168.0.200 netmask 255.255.255.0&amp;quot; )&lt;br /&gt;
 routes_usb0=( &amp;quot;192.168.0.202/32 via 192.168.0.200&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
Create a new init script:&lt;br /&gt;
&lt;br /&gt;
 cd /etc/init.d&lt;br /&gt;
 ln -s net.lo net.usb0&lt;br /&gt;
&lt;br /&gt;
Put iptables into use:&lt;br /&gt;
&lt;br /&gt;
 iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
 iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
 iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
&lt;br /&gt;
Store them:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/iptables save&lt;br /&gt;
&lt;br /&gt;
If you want the routing by default:&lt;br /&gt;
&lt;br /&gt;
 rc-update add iptables default&lt;br /&gt;
&lt;br /&gt;
You must also inform the kernel, to start forwarding.  &lt;br /&gt;
&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
One way to automate all this is to create /etc/conf.d/net.usb0 as follows. It sets IP forwarding and the iptables rules all in one go. It removes the iptables rules and disables ip forwarding when the FreeRunner is unplugged.&lt;br /&gt;
 &lt;br /&gt;
 preup() {&lt;br /&gt;
        echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
        iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
        iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
        return 0&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 postdown() {&lt;br /&gt;
        echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        iptables -D INPUT -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
        iptables -D OUTPUT -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
        iptables -D POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
        return 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
= SSH Extras =&lt;br /&gt;
&lt;br /&gt;
Reportedly, the ssh daemon (dropbear 0.49) on the FreeRunner appears to have a bug when sending the exit status back to the client. From time to time you receive an exit status of 255.&lt;br /&gt;
&lt;br /&gt;
To avoid ssh added a new line for every ssh host-key to you known_hosts you can add the following to the phone section in ~/.ssh/config&lt;br /&gt;
&lt;br /&gt;
  UserKnownHostsFile /dev/null&lt;br /&gt;
&lt;br /&gt;
You might want to use keys to bypass the login prompt too.&lt;br /&gt;
&lt;br /&gt;
== SSH Keys ==&lt;br /&gt;
&lt;br /&gt;
== From desktop to FreeRunner ==&lt;br /&gt;
&lt;br /&gt;
To generate ssh keys for use as a login mechanism type:&lt;br /&gt;
&lt;br /&gt;
 ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
When prompted for a password either hit enter for no password (''not really a good idea'') or enter a password for this key. ssh into the phone and create ~/.ssh:&lt;br /&gt;
&lt;br /&gt;
 # mkdir ~/.ssh&lt;br /&gt;
&lt;br /&gt;
Then from your desktop copy the '''.pub''' file to the phone.&lt;br /&gt;
&lt;br /&gt;
 # scp ~/.ssh/id_rsa.pub phone:.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
You should now be able to ssh directly into the phone without a password prompt.&lt;br /&gt;
&lt;br /&gt;
To disable password logins ('''after setting up key access''') edit /etc/init.d/dropbear and change the following line:&lt;br /&gt;
&lt;br /&gt;
 DROPBEAR_EXTRA_ARGS=&lt;br /&gt;
&lt;br /&gt;
to &lt;br /&gt;
&lt;br /&gt;
 DROPBEAR_EXTRA_ARGS=&amp;quot;-s&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You will need to restart dropbear for this to take effect.&lt;br /&gt;
&lt;br /&gt;
=== From FreeRunner to Desktop ===&lt;br /&gt;
&lt;br /&gt;
Generate the key:&lt;br /&gt;
&lt;br /&gt;
  dropbearkey -t rsa -f id_rsa&lt;br /&gt;
&lt;br /&gt;
The output will look something like this:&lt;br /&gt;
&lt;br /&gt;
  Will output 1024 bit rsa secret key to 'id_rsa'&lt;br /&gt;
  Generating key, this may take a while...&lt;br /&gt;
  Public key portion is:&lt;br /&gt;
  ssh-rsa AAAAB3Nza[...]&lt;br /&gt;
  Fingerprint: md5 ca:e8:f0:b7:f6:7b:c2:b6:b9:71:e4:45:86:a9:ff:b8&lt;br /&gt;
&lt;br /&gt;
Copy and paste the one line (in this example, starting with 'ssh-rsa' onto the end of the host's authorized_keys file (often in ~/.ssh/).&lt;br /&gt;
&lt;br /&gt;
From the phone, ssh with -i:&lt;br /&gt;
&lt;br /&gt;
  ssh -i id_rsa user@host&lt;br /&gt;
&lt;br /&gt;
=== Changing host keys ===&lt;br /&gt;
&lt;br /&gt;
If you reflash, your hosts keys will change.  Try this ~/.ssh/config snippet:&lt;br /&gt;
&lt;br /&gt;
 Host moko&lt;br /&gt;
 HostName 192.168.0.202&lt;br /&gt;
 StrictHostKeyChecking no&lt;br /&gt;
 UserKnownHostsFile /dev/null&lt;br /&gt;
 User root&lt;br /&gt;
&lt;br /&gt;
This is suggested because ssh on your desktop may complain if the key matching a certain IP changes (stored in .ssh/known_hosts).&lt;br /&gt;
&lt;br /&gt;
== GUI on desktop through SSH ==&lt;br /&gt;
&lt;br /&gt;
To get the GUI on the FreeRunner onto the desktop via USB, you can use ssh as follows:&lt;br /&gt;
&lt;br /&gt;
  ssh -l root -X -v 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Using this, run openmoko-finger-demo for example, and it will open up on the desktop. To get landscape view, just resize the GUI window on the desktop.&lt;br /&gt;
&lt;br /&gt;
If you get an error like this:&lt;br /&gt;
 dbus.exceptions.DBusException: org.freedesktop.DBus.Error.Spawn.ExecFailed: dbus-launch failed to     &lt;br /&gt;
 autolaunch D-Bus session: Autolaunch requested, but X11 support not compiled in.&lt;br /&gt;
you need to set the DBUS_SESSION_BUS_ADDRESS environment variable to the value on the Freerunner before launching the process from your desktop.  You can find the value of this variable by using a command such as&lt;br /&gt;
 ps auxwwwwe | grep -m 1 DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
Note that you must run that command on the Freerunner.  Back on your desktop, run the process you want with the ''env'' command like this:&lt;br /&gt;
 env DBUS_SESSION_BUS_ADDRESS=''dbus_address'' ''process''&lt;br /&gt;
&lt;br /&gt;
==Display Remote Applications on FreeRunner==&lt;br /&gt;
&lt;br /&gt;
To get desktop apps to show up on your FreeRunner, first log in:&lt;br /&gt;
&lt;br /&gt;
  ssh -l root 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
&lt;br /&gt;
  DISPLAY=:0 xhost +192.168.0.200&lt;br /&gt;
&lt;br /&gt;
After this you can close the ssh session. Back on the desktop computer, run:&lt;br /&gt;
&lt;br /&gt;
  DISPLAY=openmoko:0 xclock&lt;br /&gt;
&lt;br /&gt;
Note that the xhost command will allow remote applications on 192.168.0.200 to access the X server. It will allow anyone on the desktop machine to access the X server of the neo, including snooping anything you type on it. To disallow remote applications again, run this in the neo:&lt;br /&gt;
&lt;br /&gt;
  DISPLAY=:0 xhost -192.168.0.200&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
{{Languages|USB Networking}}&lt;br /&gt;
&lt;br /&gt;
[[Category:USB]]&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Implemented]]&lt;br /&gt;
[[Category:Networking]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/USB_Networking</id>
		<title>USB Networking</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/USB_Networking"/>
				<updated>2008-08-10T21:04:35Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: Added DNS Hostname info back in &amp;amp; cleaned up&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= OpenMoko Networking Setup =&lt;br /&gt;
&lt;br /&gt;
In order to communicate via TCP/IP to your FreeRunner, a basic understanding of the networking expectations is required.  Each end of the USB connection forms a LAN (local area network) segment, with the FreeRunner's USB networking device at one end (default 192.168.0.202) and your laptop or desktop at the other end (192.168.0.200 in this guide).&lt;br /&gt;
&lt;br /&gt;
Normally, your desktop machine will know how to reach the Internet, having had its gateway (the IP address of the machine or device which knows how to send packets to machines beyond your subnet) configured via DHCP or statically (probably via a router).  For the FreeRunner to reach the Internet, your desktop will have to be configured to route and masquerade (NAT) packets from it.  &lt;br /&gt;
&lt;br /&gt;
Normally, none of this is an issue, but problems can arise when the subnet between the FreeRunner and your desktop overlap with the desktop to the router (which forms a second LAN), since your desktop might not know how to route traffic properly.&lt;br /&gt;
&lt;br /&gt;
In other words: if your existing router and desktop have addresses 192.168.0.(something) changing them to eg 192.168.1.(something) might save you a lot of troubleshooting later. The guides to set up USB networking for your FreeRunner assume that your router/desktop IP range differs from the USB network IP range.&lt;br /&gt;
&lt;br /&gt;
A discussion of this is here http://lists.openmoko.org/pipermail/support/2008-August/001283.html&lt;br /&gt;
&lt;br /&gt;
= Simple Manual Linux Configuration =&lt;br /&gt;
&lt;br /&gt;
Try this first.  If it works, then you can add permanent configuration or use more sophisticated setups below:&lt;br /&gt;
&lt;br /&gt;
(as root on your desktop):&lt;br /&gt;
&lt;br /&gt;
 iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
 sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
 ifconfig usb0 192.168.0.200&lt;br /&gt;
&lt;br /&gt;
If your Internet connection is also in the range 192.168.0.x then instead you might want to use:&lt;br /&gt;
&lt;br /&gt;
 ifconfig usb0 192.168.0.200 netmask 255.255.255.248&lt;br /&gt;
&lt;br /&gt;
Then (ideally, not as root):&lt;br /&gt;
&lt;br /&gt;
 ssh root@192.168.0.202&lt;br /&gt;
&lt;br /&gt;
The default password is blank.&lt;br /&gt;
&lt;br /&gt;
= Linux Kernel Support =&lt;br /&gt;
&lt;br /&gt;
Your Linux desktop/laptop needs to have suitable support, in particular, you will need to have enabled full masquerading in the kernel and USB networking options enabled.  For default kernels in many Linux distributions, this will already be the case.  If not, you will need to enable:&lt;br /&gt;
&lt;br /&gt;
* CONFIG_USB_USBNET&lt;br /&gt;
* CONFIG_USB_NET_CDCETHER&lt;br /&gt;
&lt;br /&gt;
Both USB networking options are available in the ''Device Drivers -&amp;gt; USB support -&amp;gt; USB Network Adapters'' or ''Device Drivers -&amp;gt; Network Device Support -&amp;gt; USB Network Adapters -&amp;gt; Multipurpose USB Networking Framework''. For more info see the [http://www.linux-usb.org/usbnet/ usbnet driver homepage].&lt;br /&gt;
&lt;br /&gt;
It can be complex to set all the correct options for masquerading in the kernel if they are not turned on.  This could be detailed further.&lt;br /&gt;
&lt;br /&gt;
= Firewall Issues =&lt;br /&gt;
&lt;br /&gt;
On some systems, you may have firewall rules which prevent this working - such as added by the iptables service on Fedora.  You may care to stop these, and/or review any rules or policies you think might cause issues.&lt;br /&gt;
&lt;br /&gt;
The most relevant table is the nat table, which controls translation of addresses:&lt;br /&gt;
&lt;br /&gt;
 iptables -L -t nat -v -n&lt;br /&gt;
&lt;br /&gt;
Unless you have a special setup, you'll want to see only the MASQUERADE rule that you apply below, and ACCEPT as the default policy.  Also look at the filter table:&lt;br /&gt;
&lt;br /&gt;
 iptables -L -t filter -v -n&lt;br /&gt;
&lt;br /&gt;
If this contains anything in the FORWARD chain, then this may prevent passing packets.  It can be flushed with:&lt;br /&gt;
&lt;br /&gt;
 iptables -t filter -F FORWARD&lt;br /&gt;
&lt;br /&gt;
= DNS =&lt;br /&gt;
&lt;br /&gt;
In addition to routing issues, to be practical, DNS will need to work.  In some cases, you might already be running a DNS server on your desktop such as dnsmasq or bind9, which is the default assumption the FreeRunner makes.  In other cases, you'll need to configure DNS to that of your router, or a DNS server further out on the internet such as that provided by your ISP.&lt;br /&gt;
&lt;br /&gt;
== Configure Default Neo DNS ==&lt;br /&gt;
&lt;br /&gt;
DNS is configured in /etc/resolv.conf on your FreeRunner.  It should contain:&lt;br /&gt;
&lt;br /&gt;
If Desktop/Laptop has a DNS server or is proxying DNS:&lt;br /&gt;
 nameserver 192.168.0.200 &lt;br /&gt;
or just put in another DNS Server - for example: &lt;br /&gt;
 nameserver 212.147.10.10&lt;br /&gt;
&lt;br /&gt;
Some Linux and Windows systems have DNS servers, especially those configured as servers, but in general they do not.  You can install packages such as ''bind9'' or ''dnsmasq'' to run your own DNS server.  If you have a DNS server then Test Your Connection.  Otherwise you may want to proxy DNS from your Desktop/Laptop.&lt;br /&gt;
&lt;br /&gt;
== Proxying DNS from Desktop/Laptop ==&lt;br /&gt;
&lt;br /&gt;
If you move about, making assumptions about the network may not be convenient, and it is possible to proxy DNS requests via your host laptop (which you are also taking with you), without running or installing a DNS server.  There are a number of ways to do this:&lt;br /&gt;
&lt;br /&gt;
=== Proxying with dnrd ===&lt;br /&gt;
&lt;br /&gt;
The script is designed to use [http://dnrd.sourceforge.net/ dnrd] as the DNS proxy. The [http://buildhost.automated.it/gta01 script] and a copy of [http://buildhost.automated.it/dnrd-2.20.3.tar.gz dnrd] are available. The script also performs the initial setup of the connection as per the [[USB_Networking#Manual_method]] above.&lt;br /&gt;
&lt;br /&gt;
=== Proxying with a UDP forwarder ===&lt;br /&gt;
&lt;br /&gt;
Another easy setup is using a UDP forwarder like the one from http://www.tapor.com/udpf/ - use it with the command&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 udpf-elf -p=53-f=`cat /etc/resolv.conf|awk '$1 == &amp;quot;nameserver&amp;quot;{print $2; exit(0);}'`:53&lt;br /&gt;
&lt;br /&gt;
=== Proxying with iptables ===&lt;br /&gt;
&lt;br /&gt;
It is possible to forward DNS requests with iptables using the DNAT target:&lt;br /&gt;
&lt;br /&gt;
 iptables -t nat -A PREROUTING -p tcp -s 192.168.0.202 -d 192.168.0.200 --dport domain -j DNAT --to-destination 192.168.0.1&lt;br /&gt;
 iptables -t nat -A PREROUTING -p udp -s 192.168.0.202 -d 192.168.0.200 --dport domain -j DNAT --to-destination 192.168.0.1&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;tt&amp;gt;192.168.0.1&amp;lt;/tt&amp;gt; is the IP of your router.&lt;br /&gt;
&lt;br /&gt;
Test if it works:&lt;br /&gt;
 ping www.google.com&lt;br /&gt;
&lt;br /&gt;
If so, then this is sufficient for most internet access. But manual changes to resolv.conf are usually lost later if for example one uses DHCP, especially for WiFi, and so may not be convenient to configure manually.&lt;br /&gt;
&lt;br /&gt;
== Hostnames ==&lt;br /&gt;
&lt;br /&gt;
If you become tired of remembering and typing in the ip address of the Neo (for scp, telnet, SSH, SMB, or whatever), you can give it an easy to remember hostname.  &lt;br /&gt;
&lt;br /&gt;
Open and enter the following line in your desktop's /etc/hosts:&lt;br /&gt;
 192.168.0.202 openmoko&lt;br /&gt;
Now instead of typing the full ip address in commands like:&lt;br /&gt;
 ssh 192.168.0.202@openmoko&lt;br /&gt;
You can replace the full ip with the hostname like:&lt;br /&gt;
 ssh root@openmoko&lt;br /&gt;
&lt;br /&gt;
It may also be helpful to some to edit the Neo's /etc/hosts to use &amp;quot;desktop&amp;quot; or &amp;quot;laptop&amp;quot; instead of 192.168.0.200&lt;br /&gt;
&lt;br /&gt;
= Testing Your Connection =&lt;br /&gt;
You should be able to connect to your Neo! Make sure you can ping your Neo to be sure.&lt;br /&gt;
 ping 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Then log into your Neo using ssh:&lt;br /&gt;
 ssh root@192.168.0.202&lt;br /&gt;
The default password is blank (press enter).&lt;br /&gt;
&lt;br /&gt;
You can also [[scp]] files back and forth. You can telnet, SSH, SMB or do whatever you want if you install software that enables you to set up TCP/IP network over your USB connection.&lt;br /&gt;
&lt;br /&gt;
Now, make sure you can ping back to your desktop&lt;br /&gt;
 ping 192.168.0.200&lt;br /&gt;
(Note that some systems like Vista, don't respond to ICMP ping by default) &lt;br /&gt;
&lt;br /&gt;
Try pinging the outside world (a Google IP address)&lt;br /&gt;
 ping 74.125.19.147&lt;br /&gt;
This demonstrates that masquerading is working - your desktop is sending/receiving packets to the wider internet.&lt;br /&gt;
&lt;br /&gt;
Lastly, verify that DNS is correctly configured between the Neo &amp;amp; Network:&lt;br /&gt;
 ping www.google.com&lt;br /&gt;
&lt;br /&gt;
= Make it Permanent =&lt;br /&gt;
&lt;br /&gt;
Based on [http://blog.haerwu.biz/2007/03/22/hotpluging-usbnet/ Hotplugging usbnet] by Marcin 'Hrw' Juszkiewicz.&lt;br /&gt;
&lt;br /&gt;
== Debian, Ubuntu and others ==&lt;br /&gt;
&lt;br /&gt;
Edit /etc/network/interfaces and add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 allow-hotplug usb0&lt;br /&gt;
 iface usb0 inet static&lt;br /&gt;
        address 192.168.0.200&lt;br /&gt;
        netmask 255.255.255.192&lt;br /&gt;
        post-up iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.192/26&lt;br /&gt;
        post-up echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        post-up iptables -P FORWARD ACCEPT&lt;br /&gt;
        pre-down iptables -D POSTROUTING -t nat -j MASQUERADE -s 192.168.0.192/26&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is more sophisticated than the manual setup.  The allow-hotplug stanza ties into Linux hotplug system so that when the device appears and vanishes, as happens when the FreeRunner's is connected via USB, this is run.  &lt;br /&gt;
&lt;br /&gt;
In addition, the desktop-side netmask is limited to a much smaller range, so that overlapping subnets are less of a problem - Linux will use more specific routes first when deciding where to send packets.&lt;br /&gt;
&lt;br /&gt;
An other possible configuration that adds DNS forward and removes&lt;br /&gt;
the iptable changes after the unplugg.&lt;br /&gt;
&lt;br /&gt;
in /etc/network/interfaces add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 # freerunner&lt;br /&gt;
 allow-hotplug usb0&lt;br /&gt;
 iface usb0 inet static&lt;br /&gt;
        address 192.168.0.200&lt;br /&gt;
        netmask 255.255.255.192&lt;br /&gt;
        post-up /etc/network/freerunner start&lt;br /&gt;
        pre-down /etc/network/freerunner stop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create file /etc/network/freerunner&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 #&lt;br /&gt;
 # configures the freerunner for internet&lt;br /&gt;
 # &lt;br /&gt;
 # &lt;br /&gt;
&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 REMOTE_IPADDR=192.168.0.202&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
&lt;br /&gt;
 # get first ip for dns&lt;br /&gt;
 DNSIP=$(cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }' | head -n 1 )&lt;br /&gt;
&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start)&lt;br /&gt;
        iptables -A POSTROUTING -t nat -j MASQUERADE -s $REMOTE_IPADDR&lt;br /&gt;
        iptables -A PREROUTING -t nat -p tcp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
        iptables -A PREROUTING -t nat -p udp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
        &lt;br /&gt;
        if [ &amp;quot;$(cat /proc/sys/net/ipv4/ip_forward)&amp;quot; = &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
                echo &amp;quot;temoprarely allow ip_forward for openmoko&amp;quot; &amp;gt; /var/run/openmoko.ip_forward&lt;br /&gt;
                echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        fi&lt;br /&gt;
        ;;&lt;br /&gt;
  stop)&lt;br /&gt;
        iptables -D POSTROUTING -t nat -j MASQUERADE -s $REMOTE_IPADDR&lt;br /&gt;
        iptables -D PREROUTING -t nat -p tcp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
        iptables -D PREROUTING -t nat -p udp -s $REMOTE_IPADDR -d  $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
&lt;br /&gt;
        if [ -f /var/run/openmoko.ip_forward ]; then&lt;br /&gt;
                rm /var/run/openmoko.ip_forward&lt;br /&gt;
                echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        fi&lt;br /&gt;
        ;;&lt;br /&gt;
 esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make /etc/network/freerunner executable with &lt;br /&gt;
 chmod +x /etc/network/freerunner&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu Issues ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu Feisty, Gutsy and Hardy reportedly have a bug where ifdown is not run when the interface is unplugged, meaning this only works once after the system is booted.  This is mentioned at https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/130437 &lt;br /&gt;
&lt;br /&gt;
One can patch /etc/udev/rules.d/85-ifupdown.rules, editing the two lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 SUBSYSTEM==&amp;quot;net&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, GOTO=&amp;quot;net_start&amp;quot;&lt;br /&gt;
 GOTO=&amp;quot;net_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;net_start&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # Bring devices up and down only if they're marked auto.&lt;br /&gt;
 # Use start-stop-daemon so we don't wait on dhcp&lt;br /&gt;
 ACTION==&amp;quot;add&amp;quot;,          RUN+=&amp;quot;/sbin/start-stop-daemon --start --background --pidfile /var/run/network/bogus --startas /sbin/ifup -- --allow auto $env{INTERFACE}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;net_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ACTION==&amp;quot;remove&amp;quot;,       RUN+=&amp;quot;/sbin/start-stop-daemon --start --background --pidfile /var/run/network/bogus --startas /sbin/ifdown -- --allow auto $env{INTERFACE}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The bug is that the LABEL=&amp;quot;net_end&amp;quot; is at the wrong position&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  This appears to be fixed in Ubuntu 8.04 [[User:Mattt|Mattt]] 11:38, 30 July 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Mandriva ==&lt;br /&gt;
&lt;br /&gt;
Tested with Mandriva 2008.1. The idea here is that we will carve out a small (8 hosts) subnet from the main subnet. So our netmask will be 255.255.255.252&lt;br /&gt;
&lt;br /&gt;
This first file configures the network system for the usb0 interface. Any time you plug in the FreeRunner the interface will be configured. &lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 BOOTPROTO=static&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.252&lt;br /&gt;
 ONBOOT=yes&lt;br /&gt;
 METRIC=10&lt;br /&gt;
 MII_NOT_SUPPORTED=no&lt;br /&gt;
 USERCTL=yes&lt;br /&gt;
&lt;br /&gt;
This next file configures the static routes that we need to communicate to the subnet. Since it has &amp;quot;usb0&amp;quot; in the name, the system will automatically apply these static routes any time that the usb0 interface is configured. (i.e. when you connect the FreeRunner)&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/usb0-routes:&lt;br /&gt;
&lt;br /&gt;
 ADDRESS0=192.168.0.200&lt;br /&gt;
 NETMASK0=255.255.255.252&lt;br /&gt;
&lt;br /&gt;
Now we need to restart the network system to pick up the changes.&lt;br /&gt;
&lt;br /&gt;
 service network restart&lt;br /&gt;
&lt;br /&gt;
== SuSE ==&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 # USB configuration for PDAs (openmoko)&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
 STARTMODE=onboot&lt;br /&gt;
&lt;br /&gt;
For more information on getting USB networking up using YaST, see [[USB Networking with openSUSE]].&lt;br /&gt;
&lt;br /&gt;
== Fedora ==&lt;br /&gt;
&lt;br /&gt;
=== Option A - Tested with FC8 &amp;amp; FC5 ===&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 # USB configuration for PDAs (openmoko)&lt;br /&gt;
 # from http://www.handhelds.org/moin/moin.cgi/UsbNet&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 BOOTPROTO=none&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
 ONBOOT=yes&lt;br /&gt;
&lt;br /&gt;
=== Option B ===&lt;br /&gt;
&lt;br /&gt;
This setup is probably over-complex:&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifup-usb:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 . /etc/init.d/functions&lt;br /&gt;
 &lt;br /&gt;
 cd /etc/sysconfig/network-scripts&lt;br /&gt;
 . ./network-functions&lt;br /&gt;
 &lt;br /&gt;
 [ -f ../network ] &amp;amp;&amp;amp; . ../network&lt;br /&gt;
 &lt;br /&gt;
 CONFIG=${1}&lt;br /&gt;
 &lt;br /&gt;
 need_config ${CONFIG}&lt;br /&gt;
 &lt;br /&gt;
 source_config&lt;br /&gt;
 &lt;br /&gt;
 NETBITS=`ipcalc -p ${IPADDR} ${NETMASK} | awk -F'=' '{print $2;}'`&lt;br /&gt;
 &lt;br /&gt;
 /sbin/ip addr flush dev ${DEVICE} 2&amp;gt;/dev/null&lt;br /&gt;
 /sbin/ip link set dev ${DEVICE} up&lt;br /&gt;
 /sbin/ip addr add dev ${DEVICE} ${IPADDR}/${NETBITS}&lt;br /&gt;
 &lt;br /&gt;
 /sbin/iptables -I POSTROUTING -t nat -j MASQUERADE -s ${IPADDR}/${NETBITS}&lt;br /&gt;
 /sbin/sysctl net.ipv4.ip_forward=1&lt;br /&gt;
 /sbin/iptables -I FORWARD -s ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
 /sbin/iptables -I FORWARD -d ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
Set /etc/sysconfig/network-scripts/ifdown-usb:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 . /etc/init.d/functions&lt;br /&gt;
 &lt;br /&gt;
 cd /etc/sysconfig/network-scripts&lt;br /&gt;
 . ./network-functions&lt;br /&gt;
 &lt;br /&gt;
 [ -f ../network ] &amp;amp;&amp;amp; . ../network&lt;br /&gt;
 &lt;br /&gt;
 CONFIG=${1}&lt;br /&gt;
 &lt;br /&gt;
 need_config ${CONFIG}&lt;br /&gt;
 &lt;br /&gt;
 source_config&lt;br /&gt;
 &lt;br /&gt;
 NETBITS=`ipcalc -p ${IPADDR} ${NETMASK} | awk -F'=' '{print $2;}'`&lt;br /&gt;
 &lt;br /&gt;
 /sbin/iptables -D FORWARD -d ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
 /sbin/iptables -D FORWARD -s ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
 /sbin/sysctl net.ipv4.ip_forward=0&lt;br /&gt;
 /sbin/iptables -D POSTROUTING -t nat -j MASQUERADE -s ${IPADDR}/${NETBITS}&lt;br /&gt;
 &lt;br /&gt;
 /sbin/ip link set dev ${DEVICE} down&lt;br /&gt;
 /sbin/ip addr flush dev ${DEVICE} 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
If you are using NetworkManager, restart it and enable the usb device from its menu, otherwise it will disable your connection shortly after you enable it.&lt;br /&gt;
&lt;br /&gt;
 /sbin/service NetworkManager restart&lt;br /&gt;
&lt;br /&gt;
== Red Hat or Similar (tested with Workstation 5) ==&lt;br /&gt;
&lt;br /&gt;
Edit /etc/sysconfig/network-scripts/net.hotplug:&lt;br /&gt;
&lt;br /&gt;
After this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    case $INTERFACE in&lt;br /&gt;
	# interfaces that are registered after being &amp;quot;up&amp;quot; (?)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	usb0)&lt;br /&gt;
		ifconfig usb0 192.168.0.200 netmask 255.255.255.0&lt;br /&gt;
		route add 192.168.0.202 usb0&lt;br /&gt;
		iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
		iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
                iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
                echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
		exit 0&lt;br /&gt;
	;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gentoo ==&lt;br /&gt;
&lt;br /&gt;
Open /etc/conf.d/net and add:&lt;br /&gt;
&lt;br /&gt;
 # Neo&lt;br /&gt;
 config_usb0=( &amp;quot;192.168.0.200 netmask 255.255.255.0&amp;quot; )&lt;br /&gt;
 routes_usb0=( &amp;quot;192.168.0.202/32 via 192.168.0.200&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
Create a new init script:&lt;br /&gt;
&lt;br /&gt;
 cd /etc/init.d&lt;br /&gt;
 ln -s net.lo net.usb0&lt;br /&gt;
&lt;br /&gt;
Put iptables into use:&lt;br /&gt;
&lt;br /&gt;
 iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
 iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
 iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
&lt;br /&gt;
Store them:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/iptables save&lt;br /&gt;
&lt;br /&gt;
If you want the routing by default:&lt;br /&gt;
&lt;br /&gt;
 rc-update add iptables default&lt;br /&gt;
&lt;br /&gt;
You must also inform the kernel, to start forwarding.  &lt;br /&gt;
&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
One way to automate all this is to create /etc/conf.d/net.usb0 as follows. It sets IP forwarding and the iptables rules all in one go. It removes the iptables rules and disables ip forwarding when the FreeRunner is unplugged.&lt;br /&gt;
 &lt;br /&gt;
 preup() {&lt;br /&gt;
        echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
        iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
        iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
        return 0&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 postdown() {&lt;br /&gt;
        echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        iptables -D INPUT -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
        iptables -D OUTPUT -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
        iptables -D POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
        return 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== MacOS X ==&lt;br /&gt;
See the [[MacOS_X#USB_Networking|USB Networking section in the MacOS X article]].&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
See the [[Neo1973_and_Windows#USB_Ethernet_emulation|USB Ethernet emulation section in the Neo1973 and Windows]] article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= SSH Extras =&lt;br /&gt;
&lt;br /&gt;
Reportedly, the ssh daemon (dropbear 0.49) on the FreeRunner appears to have a bug when sending the exit status back to the client. From time to time you receive an exit status of 255.&lt;br /&gt;
&lt;br /&gt;
To avoid ssh added a new line for every ssh host-key to you known_hosts you can add the following to the phone section in ~/.ssh/config&lt;br /&gt;
&lt;br /&gt;
  UserKnownHostsFile /dev/null&lt;br /&gt;
&lt;br /&gt;
You might want to use keys to bypass the login prompt too.&lt;br /&gt;
&lt;br /&gt;
== SSH Keys ==&lt;br /&gt;
&lt;br /&gt;
== From desktop to FreeRunner ==&lt;br /&gt;
&lt;br /&gt;
To generate ssh keys for use as a login mechanism type:&lt;br /&gt;
&lt;br /&gt;
 ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
When prompted for a password either hit enter for no password (''not really a good idea'') or enter a password for this key. ssh into the phone and create ~/.ssh:&lt;br /&gt;
&lt;br /&gt;
 # mkdir ~/.ssh&lt;br /&gt;
&lt;br /&gt;
Then from your desktop copy the '''.pub''' file to the phone.&lt;br /&gt;
&lt;br /&gt;
 # scp ~/.ssh/id_rsa.pub phone:.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
You should now be able to ssh directly into the phone without a password prompt.&lt;br /&gt;
&lt;br /&gt;
To disable password logins ('''after setting up key access''') edit /etc/init.d/dropbear and change the following line:&lt;br /&gt;
&lt;br /&gt;
 DROPBEAR_EXTRA_ARGS=&lt;br /&gt;
&lt;br /&gt;
to &lt;br /&gt;
&lt;br /&gt;
 DROPBEAR_EXTRA_ARGS=&amp;quot;-s&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You will need to restart dropbear for this to take effect.&lt;br /&gt;
&lt;br /&gt;
=== From FreeRunner to Desktop ===&lt;br /&gt;
&lt;br /&gt;
Generate the key:&lt;br /&gt;
&lt;br /&gt;
  dropbearkey -t rsa -f id_rsa&lt;br /&gt;
&lt;br /&gt;
The output will look something like this:&lt;br /&gt;
&lt;br /&gt;
  Will output 1024 bit rsa secret key to 'id_rsa'&lt;br /&gt;
  Generating key, this may take a while...&lt;br /&gt;
  Public key portion is:&lt;br /&gt;
  ssh-rsa AAAAB3Nza[...]&lt;br /&gt;
  Fingerprint: md5 ca:e8:f0:b7:f6:7b:c2:b6:b9:71:e4:45:86:a9:ff:b8&lt;br /&gt;
&lt;br /&gt;
Copy and paste the one line (in this example, starting with 'ssh-rsa' onto the end of the host's authorized_keys file (often in ~/.ssh/).&lt;br /&gt;
&lt;br /&gt;
From the phone, ssh with -i:&lt;br /&gt;
&lt;br /&gt;
  ssh -i id_rsa user@host&lt;br /&gt;
&lt;br /&gt;
=== Changing host keys ===&lt;br /&gt;
&lt;br /&gt;
If you reflash, your hosts keys will change.  Try this ~/.ssh/config snippet:&lt;br /&gt;
&lt;br /&gt;
 Host moko&lt;br /&gt;
 HostName 192.168.0.202&lt;br /&gt;
 StrictHostKeyChecking no&lt;br /&gt;
 UserKnownHostsFile /dev/null&lt;br /&gt;
 User root&lt;br /&gt;
&lt;br /&gt;
This is suggested because ssh on your desktop may complain if the key matching a certain IP changes (stored in .ssh/known_hosts).&lt;br /&gt;
&lt;br /&gt;
== GUI on desktop through SSH ==&lt;br /&gt;
&lt;br /&gt;
To get the GUI on the FreeRunner onto the desktop via USB, you can use ssh as follows:&lt;br /&gt;
&lt;br /&gt;
  ssh -l root -X -v 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Using this, run openmoko-finger-demo for example, and it will open up on the desktop. To get landscape view, just resize the GUI window on the desktop.&lt;br /&gt;
&lt;br /&gt;
If you get an error like this:&lt;br /&gt;
 dbus.exceptions.DBusException: org.freedesktop.DBus.Error.Spawn.ExecFailed: dbus-launch failed to     &lt;br /&gt;
 autolaunch D-Bus session: Autolaunch requested, but X11 support not compiled in.&lt;br /&gt;
you need to set the DBUS_SESSION_BUS_ADDRESS environment variable to the value on the Freerunner before launching the process from your desktop.  You can find the value of this variable by using a command such as&lt;br /&gt;
 ps auxwwwwe | grep -m 1 DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
Note that you must run that command on the Freerunner.  Back on your desktop, run the process you want with the ''env'' command like this:&lt;br /&gt;
 env DBUS_SESSION_BUS_ADDRESS=''dbus_address'' ''process''&lt;br /&gt;
&lt;br /&gt;
==Display Remote Applications on FreeRunner==&lt;br /&gt;
&lt;br /&gt;
To get desktop apps to show up on your FreeRunner, first log in:&lt;br /&gt;
&lt;br /&gt;
  ssh -l root 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
&lt;br /&gt;
  DISPLAY=:0 xhost +192.168.0.200&lt;br /&gt;
&lt;br /&gt;
After this you can close the ssh session. Back on the desktop computer, run:&lt;br /&gt;
&lt;br /&gt;
  DISPLAY=openmoko:0 xclock&lt;br /&gt;
&lt;br /&gt;
Note that the xhost command will allow remote applications on 192.168.0.200 to access the X server. It will allow anyone on the desktop machine to access the X server of the neo, including snooping anything you type on it. To disallow remote applications again, run this in the neo:&lt;br /&gt;
&lt;br /&gt;
  DISPLAY=:0 xhost -192.168.0.200&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
{{Languages|USB Networking}}&lt;br /&gt;
&lt;br /&gt;
[[Category:USB]]&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Implemented]]&lt;br /&gt;
[[Category:Networking]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/USB_Networking</id>
		<title>USB Networking</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/USB_Networking"/>
				<updated>2008-08-10T20:35:33Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: removed other DNS sections after consolidated&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= OpenMoko Networking Setup =&lt;br /&gt;
&lt;br /&gt;
In order to communicate via TCP/IP to your FreeRunner, a basic understanding of the networking expectations is required.  Each end of the USB connection forms a LAN (local area network) segment, with the FreeRunner's USB networking device at one end (default 192.168.0.202) and your laptop or desktop at the other end (192.168.0.200 in this guide).&lt;br /&gt;
&lt;br /&gt;
Normally, your desktop machine will know how to reach the Internet, having had its gateway (the IP address of the machine or device which knows how to send packets to machines beyond your subnet) configured via DHCP or statically (probably via a router).  For the FreeRunner to reach the Internet, your desktop will have to be configured to route and masquerade (NAT) packets from it.  &lt;br /&gt;
&lt;br /&gt;
Normally, none of this is an issue, but problems can arise when the subnet between the FreeRunner and your desktop overlap with the desktop to the router (which forms a second LAN), since your desktop might not know how to route traffic properly.&lt;br /&gt;
&lt;br /&gt;
In other words: if your existing router and desktop have addresses 192.168.0.(something) changing them to eg 192.168.1.(something) might save you a lot of troubleshooting later. The guides to set up USB networking for your FreeRunner assume that your router/desktop IP range differs from the USB network IP range.&lt;br /&gt;
&lt;br /&gt;
A discussion of this is here http://lists.openmoko.org/pipermail/support/2008-August/001283.html&lt;br /&gt;
&lt;br /&gt;
= Simple Manual Linux Configuration =&lt;br /&gt;
&lt;br /&gt;
Try this first.  If it works, then you can add permanent configuration or use more sophisticated setups below:&lt;br /&gt;
&lt;br /&gt;
(as root on your desktop):&lt;br /&gt;
&lt;br /&gt;
 iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
 sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
 ifconfig usb0 192.168.0.200&lt;br /&gt;
&lt;br /&gt;
If your Internet connection is also in the range 192.168.0.x then instead you might want to use:&lt;br /&gt;
&lt;br /&gt;
 ifconfig usb0 192.168.0.200 netmask 255.255.255.248&lt;br /&gt;
&lt;br /&gt;
Then (ideally, not as root):&lt;br /&gt;
&lt;br /&gt;
 ssh root@192.168.0.202&lt;br /&gt;
&lt;br /&gt;
The default password is blank.&lt;br /&gt;
&lt;br /&gt;
= Linux Kernel Support =&lt;br /&gt;
&lt;br /&gt;
Your Linux desktop/laptop needs to have suitable support, in particular, you will need to have enabled full masquerading in the kernel and USB networking options enabled.  For default kernels in many Linux distributions, this will already be the case.  If not, you will need to enable:&lt;br /&gt;
&lt;br /&gt;
* CONFIG_USB_USBNET&lt;br /&gt;
* CONFIG_USB_NET_CDCETHER&lt;br /&gt;
&lt;br /&gt;
Both USB networking options are available in the ''Device Drivers -&amp;gt; USB support -&amp;gt; USB Network Adapters'' or ''Device Drivers -&amp;gt; Network Device Support -&amp;gt; USB Network Adapters -&amp;gt; Multipurpose USB Networking Framework''. For more info see the [http://www.linux-usb.org/usbnet/ usbnet driver homepage].&lt;br /&gt;
&lt;br /&gt;
It can be complex to set all the correct options for masquerading in the kernel if they are not turned on.  This could be detailed further.&lt;br /&gt;
&lt;br /&gt;
= Firewall Issues =&lt;br /&gt;
&lt;br /&gt;
On some systems, you may have firewall rules which prevent this working - such as added by the iptables service on Fedora.  You may care to stop these, and/or review any rules or policies you think might cause issues.&lt;br /&gt;
&lt;br /&gt;
The most relevant table is the nat table, which controls translation of addresses:&lt;br /&gt;
&lt;br /&gt;
 iptables -L -t nat -v -n&lt;br /&gt;
&lt;br /&gt;
Unless you have a special setup, you'll want to see only the MASQUERADE rule that you apply below, and ACCEPT as the default policy.  Also look at the filter table:&lt;br /&gt;
&lt;br /&gt;
 iptables -L -t filter -v -n&lt;br /&gt;
&lt;br /&gt;
If this contains anything in the FORWARD chain, then this may prevent passing packets.  It can be flushed with:&lt;br /&gt;
&lt;br /&gt;
 iptables -t filter -F FORWARD&lt;br /&gt;
&lt;br /&gt;
= DNS =&lt;br /&gt;
&lt;br /&gt;
In addition to routing issues, to be practical, DNS will need to work.  In some cases, you might already be running a DNS server on your desktop such as dnsmasq or bind9, which is the default assumption the FreeRunner makes.  In other cases, you'll need to configure DNS to that of your router, or a DNS server further out on the internet such as that provided by your ISP.&lt;br /&gt;
&lt;br /&gt;
== Configure Default Neo DNS ==&lt;br /&gt;
&lt;br /&gt;
DNS is configured in /etc/resolv.conf on your FreeRunner.  It should contain:&lt;br /&gt;
&lt;br /&gt;
If Desktop/Laptop has a DNS server or is proxying DNS:&lt;br /&gt;
 nameserver 192.168.0.200 &lt;br /&gt;
or just put in another DNS Server - for example: &lt;br /&gt;
 nameserver 212.147.10.10&lt;br /&gt;
&lt;br /&gt;
Some Linux and Windows systems have DNS servers, especially those configured as servers, but in general they do not.  You can install packages such as ''bind9'' or ''dnsmasq'' to run your own DNS server.  If you have a DNS server then Test Your Connection.  Otherwise you may want to proxy DNS from your Desktop/Laptop.&lt;br /&gt;
&lt;br /&gt;
== Proxying DNS from Desktop/Laptop ==&lt;br /&gt;
&lt;br /&gt;
If you move about, making assumptions about the network may not be convenient, and it is possible to proxy DNS requests via your host laptop (which you are also taking with you), without running or installing a DNS server.  There are a number of ways to do this:&lt;br /&gt;
&lt;br /&gt;
=== Proxying with dnrd ===&lt;br /&gt;
&lt;br /&gt;
The script is designed to use [http://dnrd.sourceforge.net/ dnrd] as the DNS proxy. The [http://buildhost.automated.it/gta01 script] and a copy of [http://buildhost.automated.it/dnrd-2.20.3.tar.gz dnrd] are available. The script also performs the initial setup of the connection as per the [[USB_Networking#Manual_method]] above.&lt;br /&gt;
&lt;br /&gt;
=== Proxying with a UDP forwarder ===&lt;br /&gt;
&lt;br /&gt;
Another easy setup is using a UDP forwarder like the one from http://www.tapor.com/udpf/ - use it with the command&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 udpf-elf -p=53-f=`cat /etc/resolv.conf|awk '$1 == &amp;quot;nameserver&amp;quot;{print $2; exit(0);}'`:53&lt;br /&gt;
&lt;br /&gt;
=== Proxying with iptables ===&lt;br /&gt;
&lt;br /&gt;
It is possible to forward DNS requests with iptables using the DNAT target:&lt;br /&gt;
&lt;br /&gt;
 iptables -t nat -A PREROUTING -p tcp -s 192.168.0.202 -d 192.168.0.200 --dport domain -j DNAT --to-destination 192.168.0.1&lt;br /&gt;
 iptables -t nat -A PREROUTING -p udp -s 192.168.0.202 -d 192.168.0.200 --dport domain -j DNAT --to-destination 192.168.0.1&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;tt&amp;gt;192.168.0.1&amp;lt;/tt&amp;gt; is the IP of your router.&lt;br /&gt;
&lt;br /&gt;
Test if it works:&lt;br /&gt;
 ping www.google.com&lt;br /&gt;
If so, then this is sufficient for most internet access. But manual changes to resolv.conf are usually lost later if for example one uses DHCP, especially for WiFi, and so may not be convenient to configure manually.&lt;br /&gt;
&lt;br /&gt;
= Testing Your Connection =&lt;br /&gt;
You should be able to connect to your Neo! Make sure you can ping your Neo to be sure.&lt;br /&gt;
 ping 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Then log into your Neo using ssh:&lt;br /&gt;
 ssh root@192.168.0.202&lt;br /&gt;
The default password is blank (press enter).&lt;br /&gt;
&lt;br /&gt;
You can also [[scp]] files back and forth. You can telnet, SSH, SMB or do whatever you want if you install software that enables you to set up TCP/IP network over your USB connection.&lt;br /&gt;
&lt;br /&gt;
Now, make sure you can ping back to your desktop&lt;br /&gt;
 ping 192.168.0.200&lt;br /&gt;
(Note that some systems like Vista, don't respond to ICMP ping by default) &lt;br /&gt;
&lt;br /&gt;
Try pinging the outside world (a Google IP address)&lt;br /&gt;
 ping 74.125.19.147&lt;br /&gt;
This demonstrates that masquerading is working - your desktop is sending/receiving packets to the wider internet.&lt;br /&gt;
&lt;br /&gt;
Lastly, verify that DNS is correctly configured between the Neo &amp;amp; Network:&lt;br /&gt;
 ping www.google.com&lt;br /&gt;
&lt;br /&gt;
= Make it Permanent =&lt;br /&gt;
&lt;br /&gt;
Based on [http://blog.haerwu.biz/2007/03/22/hotpluging-usbnet/ Hotplugging usbnet] by Marcin 'Hrw' Juszkiewicz.&lt;br /&gt;
&lt;br /&gt;
== Debian, Ubuntu and others ==&lt;br /&gt;
&lt;br /&gt;
Edit /etc/network/interfaces and add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 allow-hotplug usb0&lt;br /&gt;
 iface usb0 inet static&lt;br /&gt;
        address 192.168.0.200&lt;br /&gt;
        netmask 255.255.255.192&lt;br /&gt;
        post-up iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.192/26&lt;br /&gt;
        post-up echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        post-up iptables -P FORWARD ACCEPT&lt;br /&gt;
        pre-down iptables -D POSTROUTING -t nat -j MASQUERADE -s 192.168.0.192/26&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is more sophisticated than the manual setup.  The allow-hotplug stanza ties into Linux hotplug system so that when the device appears and vanishes, as happens when the FreeRunner's is connected via USB, this is run.  &lt;br /&gt;
&lt;br /&gt;
In addition, the desktop-side netmask is limited to a much smaller range, so that overlapping subnets are less of a problem - Linux will use more specific routes first when deciding where to send packets.&lt;br /&gt;
&lt;br /&gt;
An other possible configuration that adds DNS forward and removes&lt;br /&gt;
the iptable changes after the unplugg.&lt;br /&gt;
&lt;br /&gt;
in /etc/network/interfaces add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 # freerunner&lt;br /&gt;
 allow-hotplug usb0&lt;br /&gt;
 iface usb0 inet static&lt;br /&gt;
        address 192.168.0.200&lt;br /&gt;
        netmask 255.255.255.192&lt;br /&gt;
        post-up /etc/network/freerunner start&lt;br /&gt;
        pre-down /etc/network/freerunner stop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create file /etc/network/freerunner&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 #&lt;br /&gt;
 # configures the freerunner for internet&lt;br /&gt;
 # &lt;br /&gt;
 # &lt;br /&gt;
&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 REMOTE_IPADDR=192.168.0.202&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
&lt;br /&gt;
 # get first ip for dns&lt;br /&gt;
 DNSIP=$(cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }' | head -n 1 )&lt;br /&gt;
&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start)&lt;br /&gt;
        iptables -A POSTROUTING -t nat -j MASQUERADE -s $REMOTE_IPADDR&lt;br /&gt;
        iptables -A PREROUTING -t nat -p tcp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
        iptables -A PREROUTING -t nat -p udp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
        &lt;br /&gt;
        if [ &amp;quot;$(cat /proc/sys/net/ipv4/ip_forward)&amp;quot; = &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
                echo &amp;quot;temoprarely allow ip_forward for openmoko&amp;quot; &amp;gt; /var/run/openmoko.ip_forward&lt;br /&gt;
                echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        fi&lt;br /&gt;
        ;;&lt;br /&gt;
  stop)&lt;br /&gt;
        iptables -D POSTROUTING -t nat -j MASQUERADE -s $REMOTE_IPADDR&lt;br /&gt;
        iptables -D PREROUTING -t nat -p tcp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
        iptables -D PREROUTING -t nat -p udp -s $REMOTE_IPADDR -d  $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
&lt;br /&gt;
        if [ -f /var/run/openmoko.ip_forward ]; then&lt;br /&gt;
                rm /var/run/openmoko.ip_forward&lt;br /&gt;
                echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        fi&lt;br /&gt;
        ;;&lt;br /&gt;
 esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make /etc/network/freerunner executable with &lt;br /&gt;
 chmod +x /etc/network/freerunner&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu Issues ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu Feisty, Gutsy and Hardy reportedly have a bug where ifdown is not run when the interface is unplugged, meaning this only works once after the system is booted.  This is mentioned at https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/130437 &lt;br /&gt;
&lt;br /&gt;
One can patch /etc/udev/rules.d/85-ifupdown.rules, editing the two lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 SUBSYSTEM==&amp;quot;net&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, GOTO=&amp;quot;net_start&amp;quot;&lt;br /&gt;
 GOTO=&amp;quot;net_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;net_start&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # Bring devices up and down only if they're marked auto.&lt;br /&gt;
 # Use start-stop-daemon so we don't wait on dhcp&lt;br /&gt;
 ACTION==&amp;quot;add&amp;quot;,          RUN+=&amp;quot;/sbin/start-stop-daemon --start --background --pidfile /var/run/network/bogus --startas /sbin/ifup -- --allow auto $env{INTERFACE}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;net_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ACTION==&amp;quot;remove&amp;quot;,       RUN+=&amp;quot;/sbin/start-stop-daemon --start --background --pidfile /var/run/network/bogus --startas /sbin/ifdown -- --allow auto $env{INTERFACE}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The bug is that the LABEL=&amp;quot;net_end&amp;quot; is at the wrong position&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  This appears to be fixed in Ubuntu 8.04 [[User:Mattt|Mattt]] 11:38, 30 July 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Mandriva ==&lt;br /&gt;
&lt;br /&gt;
Tested with Mandriva 2008.1. The idea here is that we will carve out a small (8 hosts) subnet from the main subnet. So our netmask will be 255.255.255.252&lt;br /&gt;
&lt;br /&gt;
This first file configures the network system for the usb0 interface. Any time you plug in the FreeRunner the interface will be configured. &lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 BOOTPROTO=static&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.252&lt;br /&gt;
 ONBOOT=yes&lt;br /&gt;
 METRIC=10&lt;br /&gt;
 MII_NOT_SUPPORTED=no&lt;br /&gt;
 USERCTL=yes&lt;br /&gt;
&lt;br /&gt;
This next file configures the static routes that we need to communicate to the subnet. Since it has &amp;quot;usb0&amp;quot; in the name, the system will automatically apply these static routes any time that the usb0 interface is configured. (i.e. when you connect the FreeRunner)&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/usb0-routes:&lt;br /&gt;
&lt;br /&gt;
 ADDRESS0=192.168.0.200&lt;br /&gt;
 NETMASK0=255.255.255.252&lt;br /&gt;
&lt;br /&gt;
Now we need to restart the network system to pick up the changes.&lt;br /&gt;
&lt;br /&gt;
 service network restart&lt;br /&gt;
&lt;br /&gt;
== SuSE ==&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 # USB configuration for PDAs (openmoko)&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
 STARTMODE=onboot&lt;br /&gt;
&lt;br /&gt;
For more information on getting USB networking up using YaST, see [[USB Networking with openSUSE]].&lt;br /&gt;
&lt;br /&gt;
== Fedora ==&lt;br /&gt;
&lt;br /&gt;
=== Option A - Tested with FC8 &amp;amp; FC5 ===&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 # USB configuration for PDAs (openmoko)&lt;br /&gt;
 # from http://www.handhelds.org/moin/moin.cgi/UsbNet&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 BOOTPROTO=none&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
 ONBOOT=yes&lt;br /&gt;
&lt;br /&gt;
=== Option B ===&lt;br /&gt;
&lt;br /&gt;
This setup is probably over-complex:&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifup-usb:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 . /etc/init.d/functions&lt;br /&gt;
 &lt;br /&gt;
 cd /etc/sysconfig/network-scripts&lt;br /&gt;
 . ./network-functions&lt;br /&gt;
 &lt;br /&gt;
 [ -f ../network ] &amp;amp;&amp;amp; . ../network&lt;br /&gt;
 &lt;br /&gt;
 CONFIG=${1}&lt;br /&gt;
 &lt;br /&gt;
 need_config ${CONFIG}&lt;br /&gt;
 &lt;br /&gt;
 source_config&lt;br /&gt;
 &lt;br /&gt;
 NETBITS=`ipcalc -p ${IPADDR} ${NETMASK} | awk -F'=' '{print $2;}'`&lt;br /&gt;
 &lt;br /&gt;
 /sbin/ip addr flush dev ${DEVICE} 2&amp;gt;/dev/null&lt;br /&gt;
 /sbin/ip link set dev ${DEVICE} up&lt;br /&gt;
 /sbin/ip addr add dev ${DEVICE} ${IPADDR}/${NETBITS}&lt;br /&gt;
 &lt;br /&gt;
 /sbin/iptables -I POSTROUTING -t nat -j MASQUERADE -s ${IPADDR}/${NETBITS}&lt;br /&gt;
 /sbin/sysctl net.ipv4.ip_forward=1&lt;br /&gt;
 /sbin/iptables -I FORWARD -s ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
 /sbin/iptables -I FORWARD -d ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
Set /etc/sysconfig/network-scripts/ifdown-usb:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 . /etc/init.d/functions&lt;br /&gt;
 &lt;br /&gt;
 cd /etc/sysconfig/network-scripts&lt;br /&gt;
 . ./network-functions&lt;br /&gt;
 &lt;br /&gt;
 [ -f ../network ] &amp;amp;&amp;amp; . ../network&lt;br /&gt;
 &lt;br /&gt;
 CONFIG=${1}&lt;br /&gt;
 &lt;br /&gt;
 need_config ${CONFIG}&lt;br /&gt;
 &lt;br /&gt;
 source_config&lt;br /&gt;
 &lt;br /&gt;
 NETBITS=`ipcalc -p ${IPADDR} ${NETMASK} | awk -F'=' '{print $2;}'`&lt;br /&gt;
 &lt;br /&gt;
 /sbin/iptables -D FORWARD -d ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
 /sbin/iptables -D FORWARD -s ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
 /sbin/sysctl net.ipv4.ip_forward=0&lt;br /&gt;
 /sbin/iptables -D POSTROUTING -t nat -j MASQUERADE -s ${IPADDR}/${NETBITS}&lt;br /&gt;
 &lt;br /&gt;
 /sbin/ip link set dev ${DEVICE} down&lt;br /&gt;
 /sbin/ip addr flush dev ${DEVICE} 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
If you are using NetworkManager, restart it and enable the usb device from its menu, otherwise it will disable your connection shortly after you enable it.&lt;br /&gt;
&lt;br /&gt;
 /sbin/service NetworkManager restart&lt;br /&gt;
&lt;br /&gt;
== Red Hat or Similar (tested with Workstation 5) ==&lt;br /&gt;
&lt;br /&gt;
Edit /etc/sysconfig/network-scripts/net.hotplug:&lt;br /&gt;
&lt;br /&gt;
After this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    case $INTERFACE in&lt;br /&gt;
	# interfaces that are registered after being &amp;quot;up&amp;quot; (?)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	usb0)&lt;br /&gt;
		ifconfig usb0 192.168.0.200 netmask 255.255.255.0&lt;br /&gt;
		route add 192.168.0.202 usb0&lt;br /&gt;
		iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
		iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
                iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
                echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
		exit 0&lt;br /&gt;
	;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gentoo ==&lt;br /&gt;
&lt;br /&gt;
Open /etc/conf.d/net and add:&lt;br /&gt;
&lt;br /&gt;
 # Neo&lt;br /&gt;
 config_usb0=( &amp;quot;192.168.0.200 netmask 255.255.255.0&amp;quot; )&lt;br /&gt;
 routes_usb0=( &amp;quot;192.168.0.202/32 via 192.168.0.200&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
Create a new init script:&lt;br /&gt;
&lt;br /&gt;
 cd /etc/init.d&lt;br /&gt;
 ln -s net.lo net.usb0&lt;br /&gt;
&lt;br /&gt;
Put iptables into use:&lt;br /&gt;
&lt;br /&gt;
 iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
 iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
 iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
&lt;br /&gt;
Store them:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/iptables save&lt;br /&gt;
&lt;br /&gt;
If you want the routing by default:&lt;br /&gt;
&lt;br /&gt;
 rc-update add iptables default&lt;br /&gt;
&lt;br /&gt;
You must also inform the kernel, to start forwarding.  &lt;br /&gt;
&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
One way to automate all this is to create /etc/conf.d/net.usb0 as follows. It sets IP forwarding and the iptables rules all in one go. It removes the iptables rules and disables ip forwarding when the FreeRunner is unplugged.&lt;br /&gt;
 &lt;br /&gt;
 preup() {&lt;br /&gt;
        echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
        iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
        iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
        return 0&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 postdown() {&lt;br /&gt;
        echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        iptables -D INPUT -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
        iptables -D OUTPUT -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
        iptables -D POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
        return 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== MacOS X ==&lt;br /&gt;
See the [[MacOS_X#USB_Networking|USB Networking section in the MacOS X article]].&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
See the [[Neo1973_and_Windows#USB_Ethernet_emulation|USB Ethernet emulation section in the Neo1973 and Windows]] article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= SSH Extras =&lt;br /&gt;
&lt;br /&gt;
Reportedly, the ssh daemon (dropbear 0.49) on the FreeRunner appears to have a bug when sending the exit status back to the client. From time to time you receive an exit status of 255.&lt;br /&gt;
&lt;br /&gt;
To avoid ssh added a new line for every ssh host-key to you known_hosts you can add the following to the phone section in ~/.ssh/config&lt;br /&gt;
&lt;br /&gt;
  UserKnownHostsFile /dev/null&lt;br /&gt;
&lt;br /&gt;
You might want to use keys to bypass the login prompt too.&lt;br /&gt;
&lt;br /&gt;
== SSH Keys ==&lt;br /&gt;
&lt;br /&gt;
== From desktop to FreeRunner ==&lt;br /&gt;
&lt;br /&gt;
To generate ssh keys for use as a login mechanism type:&lt;br /&gt;
&lt;br /&gt;
 ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
When prompted for a password either hit enter for no password (''not really a good idea'') or enter a password for this key. ssh into the phone and create ~/.ssh:&lt;br /&gt;
&lt;br /&gt;
 # mkdir ~/.ssh&lt;br /&gt;
&lt;br /&gt;
Then from your desktop copy the '''.pub''' file to the phone.&lt;br /&gt;
&lt;br /&gt;
 # scp ~/.ssh/id_rsa.pub phone:.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
You should now be able to ssh directly into the phone without a password prompt.&lt;br /&gt;
&lt;br /&gt;
To disable password logins ('''after setting up key access''') edit /etc/init.d/dropbear and change the following line:&lt;br /&gt;
&lt;br /&gt;
 DROPBEAR_EXTRA_ARGS=&lt;br /&gt;
&lt;br /&gt;
to &lt;br /&gt;
&lt;br /&gt;
 DROPBEAR_EXTRA_ARGS=&amp;quot;-s&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You will need to restart dropbear for this to take effect.&lt;br /&gt;
&lt;br /&gt;
=== From FreeRunner to Desktop ===&lt;br /&gt;
&lt;br /&gt;
Generate the key:&lt;br /&gt;
&lt;br /&gt;
  dropbearkey -t rsa -f id_rsa&lt;br /&gt;
&lt;br /&gt;
The output will look something like this:&lt;br /&gt;
&lt;br /&gt;
  Will output 1024 bit rsa secret key to 'id_rsa'&lt;br /&gt;
  Generating key, this may take a while...&lt;br /&gt;
  Public key portion is:&lt;br /&gt;
  ssh-rsa AAAAB3Nza[...]&lt;br /&gt;
  Fingerprint: md5 ca:e8:f0:b7:f6:7b:c2:b6:b9:71:e4:45:86:a9:ff:b8&lt;br /&gt;
&lt;br /&gt;
Copy and paste the one line (in this example, starting with 'ssh-rsa' onto the end of the host's authorized_keys file (often in ~/.ssh/).&lt;br /&gt;
&lt;br /&gt;
From the phone, ssh with -i:&lt;br /&gt;
&lt;br /&gt;
  ssh -i id_rsa user@host&lt;br /&gt;
&lt;br /&gt;
=== Changing host keys ===&lt;br /&gt;
&lt;br /&gt;
If you reflash, your hosts keys will change.  Try this ~/.ssh/config snippet:&lt;br /&gt;
&lt;br /&gt;
 Host moko&lt;br /&gt;
 HostName 192.168.0.202&lt;br /&gt;
 StrictHostKeyChecking no&lt;br /&gt;
 UserKnownHostsFile /dev/null&lt;br /&gt;
 User root&lt;br /&gt;
&lt;br /&gt;
This is suggested because ssh on your desktop may complain if the key matching a certain IP changes (stored in .ssh/known_hosts).&lt;br /&gt;
&lt;br /&gt;
== GUI on desktop through SSH ==&lt;br /&gt;
&lt;br /&gt;
To get the GUI on the FreeRunner onto the desktop via USB, you can use ssh as follows:&lt;br /&gt;
&lt;br /&gt;
  ssh -l root -X -v 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Using this, run openmoko-finger-demo for example, and it will open up on the desktop. To get landscape view, just resize the GUI window on the desktop.&lt;br /&gt;
&lt;br /&gt;
If you get an error like this:&lt;br /&gt;
 dbus.exceptions.DBusException: org.freedesktop.DBus.Error.Spawn.ExecFailed: dbus-launch failed to     &lt;br /&gt;
 autolaunch D-Bus session: Autolaunch requested, but X11 support not compiled in.&lt;br /&gt;
you need to set the DBUS_SESSION_BUS_ADDRESS environment variable to the value on the Freerunner before launching the process from your desktop.  You can find the value of this variable by using a command such as&lt;br /&gt;
 ps auxwwwwe | grep -m 1 DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
Note that you must run that command on the Freerunner.  Back on your desktop, run the process you want with the ''env'' command like this:&lt;br /&gt;
 env DBUS_SESSION_BUS_ADDRESS=''dbus_address'' ''process''&lt;br /&gt;
&lt;br /&gt;
==Display Remote Applications on FreeRunner==&lt;br /&gt;
&lt;br /&gt;
To get desktop apps to show up on your FreeRunner, first log in:&lt;br /&gt;
&lt;br /&gt;
  ssh -l root 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
&lt;br /&gt;
  DISPLAY=:0 xhost +192.168.0.200&lt;br /&gt;
&lt;br /&gt;
After this you can close the ssh session. Back on the desktop computer, run:&lt;br /&gt;
&lt;br /&gt;
  DISPLAY=openmoko:0 xclock&lt;br /&gt;
&lt;br /&gt;
Note that the xhost command will allow remote applications on 192.168.0.200 to access the X server. It will allow anyone on the desktop machine to access the X server of the neo, including snooping anything you type on it. To disallow remote applications again, run this in the neo:&lt;br /&gt;
&lt;br /&gt;
  DISPLAY=:0 xhost -192.168.0.200&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
{{Languages|USB Networking}}&lt;br /&gt;
&lt;br /&gt;
[[Category:USB]]&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Implemented]]&lt;br /&gt;
[[Category:Networking]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/USB_Networking</id>
		<title>USB Networking</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/USB_Networking"/>
				<updated>2008-08-10T20:32:05Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: consolidated DNS settings &amp;amp; cleaned up&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= OpenMoko Networking Setup =&lt;br /&gt;
&lt;br /&gt;
In order to communicate via TCP/IP to your FreeRunner, a basic understanding of the networking expectations is required.  Each end of the USB connection forms a LAN (local area network) segment, with the FreeRunner's USB networking device at one end (default 192.168.0.202) and your laptop or desktop at the other end (192.168.0.200 in this guide).&lt;br /&gt;
&lt;br /&gt;
Normally, your desktop machine will know how to reach the Internet, having had its gateway (the IP address of the machine or device which knows how to send packets to machines beyond your subnet) configured via DHCP or statically (probably via a router).  For the FreeRunner to reach the Internet, your desktop will have to be configured to route and masquerade (NAT) packets from it.  &lt;br /&gt;
&lt;br /&gt;
Normally, none of this is an issue, but problems can arise when the subnet between the FreeRunner and your desktop overlap with the desktop to the router (which forms a second LAN), since your desktop might not know how to route traffic properly.&lt;br /&gt;
&lt;br /&gt;
In other words: if your existing router and desktop have addresses 192.168.0.(something) changing them to eg 192.168.1.(something) might save you a lot of troubleshooting later. The guides to set up USB networking for your FreeRunner assume that your router/desktop IP range differs from the USB network IP range.&lt;br /&gt;
&lt;br /&gt;
A discussion of this is here http://lists.openmoko.org/pipermail/support/2008-August/001283.html&lt;br /&gt;
&lt;br /&gt;
= Simple Manual Linux Configuration =&lt;br /&gt;
&lt;br /&gt;
Try this first.  If it works, then you can add permanent configuration or use more sophisticated setups below:&lt;br /&gt;
&lt;br /&gt;
(as root on your desktop):&lt;br /&gt;
&lt;br /&gt;
 iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
 sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
 ifconfig usb0 192.168.0.200&lt;br /&gt;
&lt;br /&gt;
If your Internet connection is also in the range 192.168.0.x then instead you might want to use:&lt;br /&gt;
&lt;br /&gt;
 ifconfig usb0 192.168.0.200 netmask 255.255.255.248&lt;br /&gt;
&lt;br /&gt;
Then (ideally, not as root):&lt;br /&gt;
&lt;br /&gt;
 ssh root@192.168.0.202&lt;br /&gt;
&lt;br /&gt;
The default password is blank.&lt;br /&gt;
&lt;br /&gt;
= Linux Kernel Support =&lt;br /&gt;
&lt;br /&gt;
Your Linux desktop/laptop needs to have suitable support, in particular, you will need to have enabled full masquerading in the kernel and USB networking options enabled.  For default kernels in many Linux distributions, this will already be the case.  If not, you will need to enable:&lt;br /&gt;
&lt;br /&gt;
* CONFIG_USB_USBNET&lt;br /&gt;
* CONFIG_USB_NET_CDCETHER&lt;br /&gt;
&lt;br /&gt;
Both USB networking options are available in the ''Device Drivers -&amp;gt; USB support -&amp;gt; USB Network Adapters'' or ''Device Drivers -&amp;gt; Network Device Support -&amp;gt; USB Network Adapters -&amp;gt; Multipurpose USB Networking Framework''. For more info see the [http://www.linux-usb.org/usbnet/ usbnet driver homepage].&lt;br /&gt;
&lt;br /&gt;
It can be complex to set all the correct options for masquerading in the kernel if they are not turned on.  This could be detailed further.&lt;br /&gt;
&lt;br /&gt;
= Firewall Issues =&lt;br /&gt;
&lt;br /&gt;
On some systems, you may have firewall rules which prevent this working - such as added by the iptables service on Fedora.  You may care to stop these, and/or review any rules or policies you think might cause issues.&lt;br /&gt;
&lt;br /&gt;
The most relevant table is the nat table, which controls translation of addresses:&lt;br /&gt;
&lt;br /&gt;
 iptables -L -t nat -v -n&lt;br /&gt;
&lt;br /&gt;
Unless you have a special setup, you'll want to see only the MASQUERADE rule that you apply below, and ACCEPT as the default policy.  Also look at the filter table:&lt;br /&gt;
&lt;br /&gt;
 iptables -L -t filter -v -n&lt;br /&gt;
&lt;br /&gt;
If this contains anything in the FORWARD chain, then this may prevent passing packets.  It can be flushed with:&lt;br /&gt;
&lt;br /&gt;
 iptables -t filter -F FORWARD&lt;br /&gt;
&lt;br /&gt;
= DNS =&lt;br /&gt;
&lt;br /&gt;
In addition to routing issues, to be practical, DNS will need to work.  In some cases, you might already be running a DNS server on your desktop such as dnsmasq or bind9, which is the default assumption the FreeRunner makes.  In other cases, you'll need to configure DNS to that of your router, or a DNS server further out on the internet such as that provided by your ISP.&lt;br /&gt;
&lt;br /&gt;
== Configure Default Neo DNS ==&lt;br /&gt;
&lt;br /&gt;
DNS is configured in /etc/resolv.conf on your FreeRunner.  It should contain:&lt;br /&gt;
&lt;br /&gt;
If Desktop/Laptop has a DNS server or is proxying DNS:&lt;br /&gt;
 nameserver 192.168.0.200 &lt;br /&gt;
or just put in another DNS Server - for example: &lt;br /&gt;
 nameserver 212.147.10.10&lt;br /&gt;
&lt;br /&gt;
Some Linux and Windows systems have DNS servers, especially those configured as servers, but in general they do not.  You can install packages such as ''bind9'' or ''dnsmasq'' to run your own DNS server.  If you have a DNS server then Test Your Connection.  Otherwise you may want to proxy DNS from your Desktop/Laptop.&lt;br /&gt;
&lt;br /&gt;
== Proxying DNS from Desktop/Laptop ==&lt;br /&gt;
&lt;br /&gt;
If you move about, making assumptions about the network may not be convenient, and it is possible to proxy DNS requests via your host laptop (which you are also taking with you), without running or installing a DNS server.  There are a number of ways to do this:&lt;br /&gt;
&lt;br /&gt;
=== Proxying with dnrd ===&lt;br /&gt;
&lt;br /&gt;
The script is designed to use [http://dnrd.sourceforge.net/ dnrd] as the DNS proxy. The [http://buildhost.automated.it/gta01 script] and a copy of [http://buildhost.automated.it/dnrd-2.20.3.tar.gz dnrd] are available. The script also performs the initial setup of the connection as per the [[USB_Networking#Manual_method]] above.&lt;br /&gt;
&lt;br /&gt;
=== Proxying with a UDP forwarder ===&lt;br /&gt;
&lt;br /&gt;
Another easy setup is using a UDP forwarder like the one from http://www.tapor.com/udpf/ - use it with the command&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 udpf-elf -p=53-f=`cat /etc/resolv.conf|awk '$1 == &amp;quot;nameserver&amp;quot;{print $2; exit(0);}'`:53&lt;br /&gt;
&lt;br /&gt;
=== Proxying with iptables ===&lt;br /&gt;
&lt;br /&gt;
It is possible to forward DNS requests with iptables using the DNAT target:&lt;br /&gt;
&lt;br /&gt;
 iptables -t nat -A PREROUTING -p tcp -s 192.168.0.202 -d 192.168.0.200 --dport domain -j DNAT --to-destination 192.168.0.1&lt;br /&gt;
 iptables -t nat -A PREROUTING -p udp -s 192.168.0.202 -d 192.168.0.200 --dport domain -j DNAT --to-destination 192.168.0.1&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;tt&amp;gt;192.168.0.1&amp;lt;/tt&amp;gt; is the IP of your router.&lt;br /&gt;
&lt;br /&gt;
Test if it works:&lt;br /&gt;
 ping www.google.com&lt;br /&gt;
If so, then this is sufficient for most internet access. But manual changes to resolv.conf are usually lost later if for example one uses DHCP, especially for WiFi, and so may not be convenient to configure manually.&lt;br /&gt;
&lt;br /&gt;
= Testing Your Connection =&lt;br /&gt;
You should be able to connect to your Neo! Make sure you can ping your Neo to be sure.&lt;br /&gt;
 ping 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Then log into your Neo using ssh:&lt;br /&gt;
 ssh root@192.168.0.202&lt;br /&gt;
The default password is blank (press enter).&lt;br /&gt;
&lt;br /&gt;
You can also [[scp]] files back and forth. You can telnet, SSH, SMB or do whatever you want if you install software that enables you to set up TCP/IP network over your USB connection.&lt;br /&gt;
&lt;br /&gt;
Now, make sure you can ping back to your desktop&lt;br /&gt;
 ping 192.168.0.200&lt;br /&gt;
(Note that some systems like Vista, don't respond to ICMP ping by default) &lt;br /&gt;
&lt;br /&gt;
Try pinging the outside world (a Google IP address)&lt;br /&gt;
 ping 74.125.19.147&lt;br /&gt;
This demonstrates that masquerading is working - your desktop is sending/receiving packets to the wider internet.&lt;br /&gt;
&lt;br /&gt;
Lastly, verify that DNS is correctly configured between the Neo &amp;amp; Network:&lt;br /&gt;
 ping www.google.com&lt;br /&gt;
&lt;br /&gt;
= Make it Permanent =&lt;br /&gt;
&lt;br /&gt;
Based on [http://blog.haerwu.biz/2007/03/22/hotpluging-usbnet/ Hotplugging usbnet] by Marcin 'Hrw' Juszkiewicz.&lt;br /&gt;
&lt;br /&gt;
== Debian, Ubuntu and others ==&lt;br /&gt;
&lt;br /&gt;
Edit /etc/network/interfaces and add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 allow-hotplug usb0&lt;br /&gt;
 iface usb0 inet static&lt;br /&gt;
        address 192.168.0.200&lt;br /&gt;
        netmask 255.255.255.192&lt;br /&gt;
        post-up iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.192/26&lt;br /&gt;
        post-up echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        post-up iptables -P FORWARD ACCEPT&lt;br /&gt;
        pre-down iptables -D POSTROUTING -t nat -j MASQUERADE -s 192.168.0.192/26&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is more sophisticated than the manual setup.  The allow-hotplug stanza ties into Linux hotplug system so that when the device appears and vanishes, as happens when the FreeRunner's is connected via USB, this is run.  &lt;br /&gt;
&lt;br /&gt;
In addition, the desktop-side netmask is limited to a much smaller range, so that overlapping subnets are less of a problem - Linux will use more specific routes first when deciding where to send packets.&lt;br /&gt;
&lt;br /&gt;
An other possible configuration that adds DNS forward and removes&lt;br /&gt;
the iptable changes after the unplugg.&lt;br /&gt;
&lt;br /&gt;
in /etc/network/interfaces add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 # freerunner&lt;br /&gt;
 allow-hotplug usb0&lt;br /&gt;
 iface usb0 inet static&lt;br /&gt;
        address 192.168.0.200&lt;br /&gt;
        netmask 255.255.255.192&lt;br /&gt;
        post-up /etc/network/freerunner start&lt;br /&gt;
        pre-down /etc/network/freerunner stop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create file /etc/network/freerunner&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 #&lt;br /&gt;
 # configures the freerunner for internet&lt;br /&gt;
 # &lt;br /&gt;
 # &lt;br /&gt;
&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 REMOTE_IPADDR=192.168.0.202&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
&lt;br /&gt;
 # get first ip for dns&lt;br /&gt;
 DNSIP=$(cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }' | head -n 1 )&lt;br /&gt;
&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start)&lt;br /&gt;
        iptables -A POSTROUTING -t nat -j MASQUERADE -s $REMOTE_IPADDR&lt;br /&gt;
        iptables -A PREROUTING -t nat -p tcp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
        iptables -A PREROUTING -t nat -p udp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
        &lt;br /&gt;
        if [ &amp;quot;$(cat /proc/sys/net/ipv4/ip_forward)&amp;quot; = &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
                echo &amp;quot;temoprarely allow ip_forward for openmoko&amp;quot; &amp;gt; /var/run/openmoko.ip_forward&lt;br /&gt;
                echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        fi&lt;br /&gt;
        ;;&lt;br /&gt;
  stop)&lt;br /&gt;
        iptables -D POSTROUTING -t nat -j MASQUERADE -s $REMOTE_IPADDR&lt;br /&gt;
        iptables -D PREROUTING -t nat -p tcp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
        iptables -D PREROUTING -t nat -p udp -s $REMOTE_IPADDR -d  $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
&lt;br /&gt;
        if [ -f /var/run/openmoko.ip_forward ]; then&lt;br /&gt;
                rm /var/run/openmoko.ip_forward&lt;br /&gt;
                echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        fi&lt;br /&gt;
        ;;&lt;br /&gt;
 esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make /etc/network/freerunner executable with &lt;br /&gt;
 chmod +x /etc/network/freerunner&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu Issues ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu Feisty, Gutsy and Hardy reportedly have a bug where ifdown is not run when the interface is unplugged, meaning this only works once after the system is booted.  This is mentioned at https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/130437 &lt;br /&gt;
&lt;br /&gt;
One can patch /etc/udev/rules.d/85-ifupdown.rules, editing the two lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 SUBSYSTEM==&amp;quot;net&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, GOTO=&amp;quot;net_start&amp;quot;&lt;br /&gt;
 GOTO=&amp;quot;net_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;net_start&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # Bring devices up and down only if they're marked auto.&lt;br /&gt;
 # Use start-stop-daemon so we don't wait on dhcp&lt;br /&gt;
 ACTION==&amp;quot;add&amp;quot;,          RUN+=&amp;quot;/sbin/start-stop-daemon --start --background --pidfile /var/run/network/bogus --startas /sbin/ifup -- --allow auto $env{INTERFACE}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;net_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ACTION==&amp;quot;remove&amp;quot;,       RUN+=&amp;quot;/sbin/start-stop-daemon --start --background --pidfile /var/run/network/bogus --startas /sbin/ifdown -- --allow auto $env{INTERFACE}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The bug is that the LABEL=&amp;quot;net_end&amp;quot; is at the wrong position&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  This appears to be fixed in Ubuntu 8.04 [[User:Mattt|Mattt]] 11:38, 30 July 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Mandriva ==&lt;br /&gt;
&lt;br /&gt;
Tested with Mandriva 2008.1. The idea here is that we will carve out a small (8 hosts) subnet from the main subnet. So our netmask will be 255.255.255.252&lt;br /&gt;
&lt;br /&gt;
This first file configures the network system for the usb0 interface. Any time you plug in the FreeRunner the interface will be configured. &lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 BOOTPROTO=static&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.252&lt;br /&gt;
 ONBOOT=yes&lt;br /&gt;
 METRIC=10&lt;br /&gt;
 MII_NOT_SUPPORTED=no&lt;br /&gt;
 USERCTL=yes&lt;br /&gt;
&lt;br /&gt;
This next file configures the static routes that we need to communicate to the subnet. Since it has &amp;quot;usb0&amp;quot; in the name, the system will automatically apply these static routes any time that the usb0 interface is configured. (i.e. when you connect the FreeRunner)&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/usb0-routes:&lt;br /&gt;
&lt;br /&gt;
 ADDRESS0=192.168.0.200&lt;br /&gt;
 NETMASK0=255.255.255.252&lt;br /&gt;
&lt;br /&gt;
Now we need to restart the network system to pick up the changes.&lt;br /&gt;
&lt;br /&gt;
 service network restart&lt;br /&gt;
&lt;br /&gt;
== SuSE ==&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 # USB configuration for PDAs (openmoko)&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
 STARTMODE=onboot&lt;br /&gt;
&lt;br /&gt;
For more information on getting USB networking up using YaST, see [[USB Networking with openSUSE]].&lt;br /&gt;
&lt;br /&gt;
== Fedora ==&lt;br /&gt;
&lt;br /&gt;
=== Option A - Tested with FC8 &amp;amp; FC5 ===&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 # USB configuration for PDAs (openmoko)&lt;br /&gt;
 # from http://www.handhelds.org/moin/moin.cgi/UsbNet&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 BOOTPROTO=none&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
 ONBOOT=yes&lt;br /&gt;
&lt;br /&gt;
=== Option B ===&lt;br /&gt;
&lt;br /&gt;
This setup is probably over-complex:&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifup-usb:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 . /etc/init.d/functions&lt;br /&gt;
 &lt;br /&gt;
 cd /etc/sysconfig/network-scripts&lt;br /&gt;
 . ./network-functions&lt;br /&gt;
 &lt;br /&gt;
 [ -f ../network ] &amp;amp;&amp;amp; . ../network&lt;br /&gt;
 &lt;br /&gt;
 CONFIG=${1}&lt;br /&gt;
 &lt;br /&gt;
 need_config ${CONFIG}&lt;br /&gt;
 &lt;br /&gt;
 source_config&lt;br /&gt;
 &lt;br /&gt;
 NETBITS=`ipcalc -p ${IPADDR} ${NETMASK} | awk -F'=' '{print $2;}'`&lt;br /&gt;
 &lt;br /&gt;
 /sbin/ip addr flush dev ${DEVICE} 2&amp;gt;/dev/null&lt;br /&gt;
 /sbin/ip link set dev ${DEVICE} up&lt;br /&gt;
 /sbin/ip addr add dev ${DEVICE} ${IPADDR}/${NETBITS}&lt;br /&gt;
 &lt;br /&gt;
 /sbin/iptables -I POSTROUTING -t nat -j MASQUERADE -s ${IPADDR}/${NETBITS}&lt;br /&gt;
 /sbin/sysctl net.ipv4.ip_forward=1&lt;br /&gt;
 /sbin/iptables -I FORWARD -s ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
 /sbin/iptables -I FORWARD -d ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
Set /etc/sysconfig/network-scripts/ifdown-usb:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 . /etc/init.d/functions&lt;br /&gt;
 &lt;br /&gt;
 cd /etc/sysconfig/network-scripts&lt;br /&gt;
 . ./network-functions&lt;br /&gt;
 &lt;br /&gt;
 [ -f ../network ] &amp;amp;&amp;amp; . ../network&lt;br /&gt;
 &lt;br /&gt;
 CONFIG=${1}&lt;br /&gt;
 &lt;br /&gt;
 need_config ${CONFIG}&lt;br /&gt;
 &lt;br /&gt;
 source_config&lt;br /&gt;
 &lt;br /&gt;
 NETBITS=`ipcalc -p ${IPADDR} ${NETMASK} | awk -F'=' '{print $2;}'`&lt;br /&gt;
 &lt;br /&gt;
 /sbin/iptables -D FORWARD -d ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
 /sbin/iptables -D FORWARD -s ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
 /sbin/sysctl net.ipv4.ip_forward=0&lt;br /&gt;
 /sbin/iptables -D POSTROUTING -t nat -j MASQUERADE -s ${IPADDR}/${NETBITS}&lt;br /&gt;
 &lt;br /&gt;
 /sbin/ip link set dev ${DEVICE} down&lt;br /&gt;
 /sbin/ip addr flush dev ${DEVICE} 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
If you are using NetworkManager, restart it and enable the usb device from its menu, otherwise it will disable your connection shortly after you enable it.&lt;br /&gt;
&lt;br /&gt;
 /sbin/service NetworkManager restart&lt;br /&gt;
&lt;br /&gt;
== Red Hat or Similar (tested with Workstation 5) ==&lt;br /&gt;
&lt;br /&gt;
Edit /etc/sysconfig/network-scripts/net.hotplug:&lt;br /&gt;
&lt;br /&gt;
After this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    case $INTERFACE in&lt;br /&gt;
	# interfaces that are registered after being &amp;quot;up&amp;quot; (?)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	usb0)&lt;br /&gt;
		ifconfig usb0 192.168.0.200 netmask 255.255.255.0&lt;br /&gt;
		route add 192.168.0.202 usb0&lt;br /&gt;
		iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
		iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
                iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
                echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
		exit 0&lt;br /&gt;
	;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gentoo ==&lt;br /&gt;
&lt;br /&gt;
Open /etc/conf.d/net and add:&lt;br /&gt;
&lt;br /&gt;
 # Neo&lt;br /&gt;
 config_usb0=( &amp;quot;192.168.0.200 netmask 255.255.255.0&amp;quot; )&lt;br /&gt;
 routes_usb0=( &amp;quot;192.168.0.202/32 via 192.168.0.200&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
Create a new init script:&lt;br /&gt;
&lt;br /&gt;
 cd /etc/init.d&lt;br /&gt;
 ln -s net.lo net.usb0&lt;br /&gt;
&lt;br /&gt;
Put iptables into use:&lt;br /&gt;
&lt;br /&gt;
 iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
 iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
 iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
&lt;br /&gt;
Store them:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/iptables save&lt;br /&gt;
&lt;br /&gt;
If you want the routing by default:&lt;br /&gt;
&lt;br /&gt;
 rc-update add iptables default&lt;br /&gt;
&lt;br /&gt;
You must also inform the kernel, to start forwarding.  &lt;br /&gt;
&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
One way to automate all this is to create /etc/conf.d/net.usb0 as follows. It sets IP forwarding and the iptables rules all in one go. It removes the iptables rules and disables ip forwarding when the FreeRunner is unplugged.&lt;br /&gt;
 &lt;br /&gt;
 preup() {&lt;br /&gt;
        echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
        iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
        iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
        return 0&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 postdown() {&lt;br /&gt;
        echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        iptables -D INPUT -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
        iptables -D OUTPUT -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
        iptables -D POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
        return 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== MacOS X ==&lt;br /&gt;
See the [[MacOS_X#USB_Networking|USB Networking section in the MacOS X article]].&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
See the [[Neo1973_and_Windows#USB_Ethernet_emulation|USB Ethernet emulation section in the Neo1973 and Windows]] article.&lt;br /&gt;
&lt;br /&gt;
= More on DNS =&lt;br /&gt;
&lt;br /&gt;
== Hostnames ==&lt;br /&gt;
&lt;br /&gt;
Instead of using the IP address, instead enter in your desktop's /etc/hosts:&lt;br /&gt;
&lt;br /&gt;
 192.168.0.202 openmoko&lt;br /&gt;
&lt;br /&gt;
Then instead type:&lt;br /&gt;
&lt;br /&gt;
 ssh root@openmoko&lt;br /&gt;
&lt;br /&gt;
== DNS proxying ==&lt;br /&gt;
&lt;br /&gt;
If you move about, making assumptions about the network may not be convenient, and it is possible to proxy DNS requests via your host laptop (which you are also taking with you).  There are a number of ways to do this:&lt;br /&gt;
&lt;br /&gt;
=== Proxying with dnrd ===&lt;br /&gt;
&lt;br /&gt;
The script is designed to use [http://dnrd.sourceforge.net/ dnrd] as the DNS proxy. The [http://buildhost.automated.it/gta01 script] and a copy of [http://buildhost.automated.it/dnrd-2.20.3.tar.gz dnrd] are available. The script also performs the initial setup of the connection as per the [[USB_Networking#Manual_method]] above.&lt;br /&gt;
&lt;br /&gt;
=== Proxying with a UDP forwarder ===&lt;br /&gt;
&lt;br /&gt;
Another easy setup is using a UDP forwarder like the one from http://www.tapor.com/udpf/ - use it with the command&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 udpf-elf -p=53-f=`cat /etc/resolv.conf|awk '$1 == &amp;quot;nameserver&amp;quot;{print $2; exit(0);}'`:53&lt;br /&gt;
&lt;br /&gt;
=== Proxying with iptables ===&lt;br /&gt;
&lt;br /&gt;
It is possible to forward DNS requests with iptables using the DNAT target:&lt;br /&gt;
&lt;br /&gt;
 iptables -t nat -A PREROUTING -p tcp -s 192.168.0.202 -d 192.168.0.200 --dport domain -j DNAT --to-destination 192.168.0.1&lt;br /&gt;
 iptables -t nat -A PREROUTING -p udp -s 192.168.0.202 -d 192.168.0.200 --dport domain -j DNAT --to-destination 192.168.0.1&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;tt&amp;gt;192.168.0.1&amp;lt;/tt&amp;gt; is the IP of your router. &lt;br /&gt;
&lt;br /&gt;
= SSH Extras =&lt;br /&gt;
&lt;br /&gt;
Reportedly, the ssh daemon (dropbear 0.49) on the FreeRunner appears to have a bug when sending the exit status back to the client. From time to time you receive an exit status of 255.&lt;br /&gt;
&lt;br /&gt;
To avoid ssh added a new line for every ssh host-key to you known_hosts you can add the following to the phone section in ~/.ssh/config&lt;br /&gt;
&lt;br /&gt;
  UserKnownHostsFile /dev/null&lt;br /&gt;
&lt;br /&gt;
You might want to use keys to bypass the login prompt too.&lt;br /&gt;
&lt;br /&gt;
== SSH Keys ==&lt;br /&gt;
&lt;br /&gt;
== From desktop to FreeRunner ==&lt;br /&gt;
&lt;br /&gt;
To generate ssh keys for use as a login mechanism type:&lt;br /&gt;
&lt;br /&gt;
 ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
When prompted for a password either hit enter for no password (''not really a good idea'') or enter a password for this key. ssh into the phone and create ~/.ssh:&lt;br /&gt;
&lt;br /&gt;
 # mkdir ~/.ssh&lt;br /&gt;
&lt;br /&gt;
Then from your desktop copy the '''.pub''' file to the phone.&lt;br /&gt;
&lt;br /&gt;
 # scp ~/.ssh/id_rsa.pub phone:.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
You should now be able to ssh directly into the phone without a password prompt.&lt;br /&gt;
&lt;br /&gt;
To disable password logins ('''after setting up key access''') edit /etc/init.d/dropbear and change the following line:&lt;br /&gt;
&lt;br /&gt;
 DROPBEAR_EXTRA_ARGS=&lt;br /&gt;
&lt;br /&gt;
to &lt;br /&gt;
&lt;br /&gt;
 DROPBEAR_EXTRA_ARGS=&amp;quot;-s&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You will need to restart dropbear for this to take effect.&lt;br /&gt;
&lt;br /&gt;
=== From FreeRunner to Desktop ===&lt;br /&gt;
&lt;br /&gt;
Generate the key:&lt;br /&gt;
&lt;br /&gt;
  dropbearkey -t rsa -f id_rsa&lt;br /&gt;
&lt;br /&gt;
The output will look something like this:&lt;br /&gt;
&lt;br /&gt;
  Will output 1024 bit rsa secret key to 'id_rsa'&lt;br /&gt;
  Generating key, this may take a while...&lt;br /&gt;
  Public key portion is:&lt;br /&gt;
  ssh-rsa AAAAB3Nza[...]&lt;br /&gt;
  Fingerprint: md5 ca:e8:f0:b7:f6:7b:c2:b6:b9:71:e4:45:86:a9:ff:b8&lt;br /&gt;
&lt;br /&gt;
Copy and paste the one line (in this example, starting with 'ssh-rsa' onto the end of the host's authorized_keys file (often in ~/.ssh/).&lt;br /&gt;
&lt;br /&gt;
From the phone, ssh with -i:&lt;br /&gt;
&lt;br /&gt;
  ssh -i id_rsa user@host&lt;br /&gt;
&lt;br /&gt;
=== Changing host keys ===&lt;br /&gt;
&lt;br /&gt;
If you reflash, your hosts keys will change.  Try this ~/.ssh/config snippet:&lt;br /&gt;
&lt;br /&gt;
 Host moko&lt;br /&gt;
 HostName 192.168.0.202&lt;br /&gt;
 StrictHostKeyChecking no&lt;br /&gt;
 UserKnownHostsFile /dev/null&lt;br /&gt;
 User root&lt;br /&gt;
&lt;br /&gt;
This is suggested because ssh on your desktop may complain if the key matching a certain IP changes (stored in .ssh/known_hosts).&lt;br /&gt;
&lt;br /&gt;
== GUI on desktop through SSH ==&lt;br /&gt;
&lt;br /&gt;
To get the GUI on the FreeRunner onto the desktop via USB, you can use ssh as follows:&lt;br /&gt;
&lt;br /&gt;
  ssh -l root -X -v 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Using this, run openmoko-finger-demo for example, and it will open up on the desktop. To get landscape view, just resize the GUI window on the desktop.&lt;br /&gt;
&lt;br /&gt;
If you get an error like this:&lt;br /&gt;
 dbus.exceptions.DBusException: org.freedesktop.DBus.Error.Spawn.ExecFailed: dbus-launch failed to     &lt;br /&gt;
 autolaunch D-Bus session: Autolaunch requested, but X11 support not compiled in.&lt;br /&gt;
you need to set the DBUS_SESSION_BUS_ADDRESS environment variable to the value on the Freerunner before launching the process from your desktop.  You can find the value of this variable by using a command such as&lt;br /&gt;
 ps auxwwwwe | grep -m 1 DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
Note that you must run that command on the Freerunner.  Back on your desktop, run the process you want with the ''env'' command like this:&lt;br /&gt;
 env DBUS_SESSION_BUS_ADDRESS=''dbus_address'' ''process''&lt;br /&gt;
&lt;br /&gt;
==Display Remote Applications on FreeRunner==&lt;br /&gt;
&lt;br /&gt;
To get desktop apps to show up on your FreeRunner, first log in:&lt;br /&gt;
&lt;br /&gt;
  ssh -l root 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
&lt;br /&gt;
  DISPLAY=:0 xhost +192.168.0.200&lt;br /&gt;
&lt;br /&gt;
After this you can close the ssh session. Back on the desktop computer, run:&lt;br /&gt;
&lt;br /&gt;
  DISPLAY=openmoko:0 xclock&lt;br /&gt;
&lt;br /&gt;
Note that the xhost command will allow remote applications on 192.168.0.200 to access the X server. It will allow anyone on the desktop machine to access the X server of the neo, including snooping anything you type on it. To disallow remote applications again, run this in the neo:&lt;br /&gt;
&lt;br /&gt;
  DISPLAY=:0 xhost -192.168.0.200&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
{{Languages|USB Networking}}&lt;br /&gt;
&lt;br /&gt;
[[Category:USB]]&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Implemented]]&lt;br /&gt;
[[Category:Networking]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/USB_Networking</id>
		<title>USB Networking</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/USB_Networking"/>
				<updated>2008-08-10T20:07:29Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: added test items &amp;amp; cleaned up  for more consistency with Mac setup&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= OpenMoko Networking Setup =&lt;br /&gt;
&lt;br /&gt;
In order to communicate via TCP/IP to your FreeRunner, a basic understanding of the networking expectations is required.  Each end of the USB connection forms a LAN (local area network) segment, with the FreeRunner's USB networking device at one end (default 192.168.0.202) and your laptop or desktop at the other end (192.168.0.200 in this guide).&lt;br /&gt;
&lt;br /&gt;
Normally, your desktop machine will know how to reach the Internet, having had its gateway (the IP address of the machine or device which knows how to send packets to machines beyond your subnet) configured via DHCP or statically (probably via a router).  For the FreeRunner to reach the Internet, your desktop will have to be configured to route and masquerade (NAT) packets from it.  &lt;br /&gt;
&lt;br /&gt;
Normally, none of this is an issue, but problems can arise when the subnet between the FreeRunner and your desktop overlap with the desktop to the router (which forms a second LAN), since your desktop might not know how to route traffic properly.&lt;br /&gt;
&lt;br /&gt;
In other words: if your existing router and desktop have addresses 192.168.0.(something) changing them to eg 192.168.1.(something) might save you a lot of troubleshooting later. The guides to set up USB networking for your FreeRunner assume that your router/desktop IP range differs from the USB network IP range.&lt;br /&gt;
&lt;br /&gt;
A discussion of this is here http://lists.openmoko.org/pipermail/support/2008-August/001283.html&lt;br /&gt;
&lt;br /&gt;
= Simple Manual Linux Configuration =&lt;br /&gt;
&lt;br /&gt;
Try this first.  If it works, then you can add permanent configuration or use more sophisticated setups below:&lt;br /&gt;
&lt;br /&gt;
(as root on your desktop):&lt;br /&gt;
&lt;br /&gt;
 iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
 sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
 ifconfig usb0 192.168.0.200&lt;br /&gt;
&lt;br /&gt;
If your Internet connection is also in the range 192.168.0.x then instead you might want to use:&lt;br /&gt;
&lt;br /&gt;
 ifconfig usb0 192.168.0.200 netmask 255.255.255.248&lt;br /&gt;
&lt;br /&gt;
Then (ideally, not as root):&lt;br /&gt;
&lt;br /&gt;
 ssh root@192.168.0.202&lt;br /&gt;
&lt;br /&gt;
The default password is blank.&lt;br /&gt;
&lt;br /&gt;
= Linux Kernel Support =&lt;br /&gt;
&lt;br /&gt;
Your Linux desktop/laptop needs to have suitable support, in particular, you will need to have enabled full masquerading in the kernel and USB networking options enabled.  For default kernels in many Linux distributions, this will already be the case.  If not, you will need to enable:&lt;br /&gt;
&lt;br /&gt;
* CONFIG_USB_USBNET&lt;br /&gt;
* CONFIG_USB_NET_CDCETHER&lt;br /&gt;
&lt;br /&gt;
Both USB networking options are available in the ''Device Drivers -&amp;gt; USB support -&amp;gt; USB Network Adapters'' or ''Device Drivers -&amp;gt; Network Device Support -&amp;gt; USB Network Adapters -&amp;gt; Multipurpose USB Networking Framework''. For more info see the [http://www.linux-usb.org/usbnet/ usbnet driver homepage].&lt;br /&gt;
&lt;br /&gt;
It can be complex to set all the correct options for masquerading in the kernel if they are not turned on.  This could be detailed further.&lt;br /&gt;
&lt;br /&gt;
= Firewall Issues =&lt;br /&gt;
&lt;br /&gt;
On some systems, you may have firewall rules which prevent this working - such as added by the iptables service on Fedora.  You may care to stop these, and/or review any rules or policies you think might cause issues.&lt;br /&gt;
&lt;br /&gt;
The most relevant table is the nat table, which controls translation of addresses:&lt;br /&gt;
&lt;br /&gt;
 iptables -L -t nat -v -n&lt;br /&gt;
&lt;br /&gt;
Unless you have a special setup, you'll want to see only the MASQUERADE rule that you apply below, and ACCEPT as the default policy.  Also look at the filter table:&lt;br /&gt;
&lt;br /&gt;
 iptables -L -t filter -v -n&lt;br /&gt;
&lt;br /&gt;
If this contains anything in the FORWARD chain, then this may prevent passing packets.  It can be flushed with:&lt;br /&gt;
&lt;br /&gt;
 iptables -t filter -F FORWARD&lt;br /&gt;
&lt;br /&gt;
= DNS =&lt;br /&gt;
&lt;br /&gt;
In addition to routing issues, to be practical, DNS will need to work.  In some cases, you might already be running a DNS server on your desktop such as dnsmasq or bind9, which is the default assumption the FreeRunner makes.  In other cases, you'll need to configure DNS to that of your router, or a DNS server further out on the internet such as that provided by your ISP.&lt;br /&gt;
&lt;br /&gt;
== Configure DNS ==&lt;br /&gt;
&lt;br /&gt;
DNS is configured in /etc/resolv.conf on your FreeRunner.  It should contain:&lt;br /&gt;
&lt;br /&gt;
 nameserver 192.168.0.200 or just put in another DNS Server for example &amp;quot;nameserver 212.147.10.10&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Which means that by default it expects your desktop to have a DNS server.  On some Linux and Windows systems this is true, especially those configured as servers, but in general it is not.  You can install packages such as ''bind9'' or ''dnsmasq''.   See the section below on [[USB Networking#More on DNS|More on DNS]] for other solutions.    &lt;br /&gt;
&lt;br /&gt;
Test if it works:&lt;br /&gt;
&lt;br /&gt;
 ping www.google.com&lt;br /&gt;
&lt;br /&gt;
If so, then this is sufficient for most internet access. But manual changes to resolv.conf are usually lost later if for example one uses DHCP, especially for WiFi, and so may not be convenient to configure manually.&lt;br /&gt;
&lt;br /&gt;
=== Testing Your Connection ===&lt;br /&gt;
You should be able to connect to your Neo! Make sure you can ping your Neo to be sure.&lt;br /&gt;
 ping 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Then log into your Neo using ssh:&lt;br /&gt;
 ssh root@192.168.0.202&lt;br /&gt;
The default password is blank (press enter).&lt;br /&gt;
&lt;br /&gt;
You can also [[scp]] files back and forth. You can telnet, SSH, SMB or do whatever you want if you install software that enables you to set up TCP/IP network over your USB connection.&lt;br /&gt;
&lt;br /&gt;
Now, make sure you can ping back to your desktop&lt;br /&gt;
 ping 192.168.0.200&lt;br /&gt;
(Note that some systems like Vista, don't respond to ICMP ping by default) &lt;br /&gt;
&lt;br /&gt;
Try pinging the outside world (a Google IP address)&lt;br /&gt;
 ping 74.125.19.147&lt;br /&gt;
This demonstrates that masquerading is working - your desktop is sending/receiving packets to the wider internet.&lt;br /&gt;
&lt;br /&gt;
Lastly, verify that DNS is correctly configured between the Neo &amp;amp; Network:&lt;br /&gt;
 ping www.google.com&lt;br /&gt;
&lt;br /&gt;
= Make it Permanent =&lt;br /&gt;
&lt;br /&gt;
Based on [http://blog.haerwu.biz/2007/03/22/hotpluging-usbnet/ Hotplugging usbnet] by Marcin 'Hrw' Juszkiewicz.&lt;br /&gt;
&lt;br /&gt;
== Debian, Ubuntu and others ==&lt;br /&gt;
&lt;br /&gt;
Edit /etc/network/interfaces and add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 allow-hotplug usb0&lt;br /&gt;
 iface usb0 inet static&lt;br /&gt;
        address 192.168.0.200&lt;br /&gt;
        netmask 255.255.255.192&lt;br /&gt;
        post-up iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.192/26&lt;br /&gt;
        post-up echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        post-up iptables -P FORWARD ACCEPT&lt;br /&gt;
        pre-down iptables -D POSTROUTING -t nat -j MASQUERADE -s 192.168.0.192/26&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is more sophisticated than the manual setup.  The allow-hotplug stanza ties into Linux hotplug system so that when the device appears and vanishes, as happens when the FreeRunner's is connected via USB, this is run.  &lt;br /&gt;
&lt;br /&gt;
In addition, the desktop-side netmask is limited to a much smaller range, so that overlapping subnets are less of a problem - Linux will use more specific routes first when deciding where to send packets.&lt;br /&gt;
&lt;br /&gt;
An other possible configuration that adds DNS forward and removes&lt;br /&gt;
the iptable changes after the unplugg.&lt;br /&gt;
&lt;br /&gt;
in /etc/network/interfaces add&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 # freerunner&lt;br /&gt;
 allow-hotplug usb0&lt;br /&gt;
 iface usb0 inet static&lt;br /&gt;
        address 192.168.0.200&lt;br /&gt;
        netmask 255.255.255.192&lt;br /&gt;
        post-up /etc/network/freerunner start&lt;br /&gt;
        pre-down /etc/network/freerunner stop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
create file /etc/network/freerunner&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 #&lt;br /&gt;
 # configures the freerunner for internet&lt;br /&gt;
 # &lt;br /&gt;
 # &lt;br /&gt;
&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 REMOTE_IPADDR=192.168.0.202&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
&lt;br /&gt;
 # get first ip for dns&lt;br /&gt;
 DNSIP=$(cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }' | head -n 1 )&lt;br /&gt;
&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start)&lt;br /&gt;
        iptables -A POSTROUTING -t nat -j MASQUERADE -s $REMOTE_IPADDR&lt;br /&gt;
        iptables -A PREROUTING -t nat -p tcp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
        iptables -A PREROUTING -t nat -p udp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
        &lt;br /&gt;
        if [ &amp;quot;$(cat /proc/sys/net/ipv4/ip_forward)&amp;quot; = &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
                echo &amp;quot;temoprarely allow ip_forward for openmoko&amp;quot; &amp;gt; /var/run/openmoko.ip_forward&lt;br /&gt;
                echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        fi&lt;br /&gt;
        ;;&lt;br /&gt;
  stop)&lt;br /&gt;
        iptables -D POSTROUTING -t nat -j MASQUERADE -s $REMOTE_IPADDR&lt;br /&gt;
        iptables -D PREROUTING -t nat -p tcp -s $REMOTE_IPADDR -d $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
        iptables -D PREROUTING -t nat -p udp -s $REMOTE_IPADDR -d  $IPADDR --dport domain -j DNAT --to-destination $DNSIP&lt;br /&gt;
&lt;br /&gt;
        if [ -f /var/run/openmoko.ip_forward ]; then&lt;br /&gt;
                rm /var/run/openmoko.ip_forward&lt;br /&gt;
                echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        fi&lt;br /&gt;
        ;;&lt;br /&gt;
 esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make /etc/network/freerunner executable with &lt;br /&gt;
 chmod +x /etc/network/freerunner&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu Issues ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu Feisty, Gutsy and Hardy reportedly have a bug where ifdown is not run when the interface is unplugged, meaning this only works once after the system is booted.  This is mentioned at https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/130437 &lt;br /&gt;
&lt;br /&gt;
One can patch /etc/udev/rules.d/85-ifupdown.rules, editing the two lines at the end of the file:&lt;br /&gt;
&lt;br /&gt;
 SUBSYSTEM==&amp;quot;net&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, GOTO=&amp;quot;net_start&amp;quot;&lt;br /&gt;
 GOTO=&amp;quot;net_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;net_start&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 # Bring devices up and down only if they're marked auto.&lt;br /&gt;
 # Use start-stop-daemon so we don't wait on dhcp&lt;br /&gt;
 ACTION==&amp;quot;add&amp;quot;,          RUN+=&amp;quot;/sbin/start-stop-daemon --start --background --pidfile /var/run/network/bogus --startas /sbin/ifup -- --allow auto $env{INTERFACE}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 LABEL=&amp;quot;net_end&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ACTION==&amp;quot;remove&amp;quot;,       RUN+=&amp;quot;/sbin/start-stop-daemon --start --background --pidfile /var/run/network/bogus --startas /sbin/ifdown -- --allow auto $env{INTERFACE}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The bug is that the LABEL=&amp;quot;net_end&amp;quot; is at the wrong position&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  This appears to be fixed in Ubuntu 8.04 [[User:Mattt|Mattt]] 11:38, 30 July 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Mandriva ==&lt;br /&gt;
&lt;br /&gt;
Tested with Mandriva 2008.1. The idea here is that we will carve out a small (8 hosts) subnet from the main subnet. So our netmask will be 255.255.255.252&lt;br /&gt;
&lt;br /&gt;
This first file configures the network system for the usb0 interface. Any time you plug in the FreeRunner the interface will be configured. &lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 BOOTPROTO=static&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.252&lt;br /&gt;
 ONBOOT=yes&lt;br /&gt;
 METRIC=10&lt;br /&gt;
 MII_NOT_SUPPORTED=no&lt;br /&gt;
 USERCTL=yes&lt;br /&gt;
&lt;br /&gt;
This next file configures the static routes that we need to communicate to the subnet. Since it has &amp;quot;usb0&amp;quot; in the name, the system will automatically apply these static routes any time that the usb0 interface is configured. (i.e. when you connect the FreeRunner)&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/usb0-routes:&lt;br /&gt;
&lt;br /&gt;
 ADDRESS0=192.168.0.200&lt;br /&gt;
 NETMASK0=255.255.255.252&lt;br /&gt;
&lt;br /&gt;
Now we need to restart the network system to pick up the changes.&lt;br /&gt;
&lt;br /&gt;
 service network restart&lt;br /&gt;
&lt;br /&gt;
== SuSE ==&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 # USB configuration for PDAs (openmoko)&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
 STARTMODE=onboot&lt;br /&gt;
&lt;br /&gt;
For more information on getting USB networking up using YaST, see [[USB Networking with openSUSE]].&lt;br /&gt;
&lt;br /&gt;
== Fedora ==&lt;br /&gt;
&lt;br /&gt;
=== Option A - Tested with FC8 &amp;amp; FC5 ===&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 # USB configuration for PDAs (openmoko)&lt;br /&gt;
 # from http://www.handhelds.org/moin/moin.cgi/UsbNet&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 BOOTPROTO=none&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
 ONBOOT=yes&lt;br /&gt;
&lt;br /&gt;
=== Option B ===&lt;br /&gt;
&lt;br /&gt;
This setup is probably over-complex:&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-usb0:&lt;br /&gt;
&lt;br /&gt;
 DEVICE=usb0&lt;br /&gt;
 IPADDR=192.168.0.200&lt;br /&gt;
 NETMASK=255.255.255.0&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifup-usb:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 . /etc/init.d/functions&lt;br /&gt;
 &lt;br /&gt;
 cd /etc/sysconfig/network-scripts&lt;br /&gt;
 . ./network-functions&lt;br /&gt;
 &lt;br /&gt;
 [ -f ../network ] &amp;amp;&amp;amp; . ../network&lt;br /&gt;
 &lt;br /&gt;
 CONFIG=${1}&lt;br /&gt;
 &lt;br /&gt;
 need_config ${CONFIG}&lt;br /&gt;
 &lt;br /&gt;
 source_config&lt;br /&gt;
 &lt;br /&gt;
 NETBITS=`ipcalc -p ${IPADDR} ${NETMASK} | awk -F'=' '{print $2;}'`&lt;br /&gt;
 &lt;br /&gt;
 /sbin/ip addr flush dev ${DEVICE} 2&amp;gt;/dev/null&lt;br /&gt;
 /sbin/ip link set dev ${DEVICE} up&lt;br /&gt;
 /sbin/ip addr add dev ${DEVICE} ${IPADDR}/${NETBITS}&lt;br /&gt;
 &lt;br /&gt;
 /sbin/iptables -I POSTROUTING -t nat -j MASQUERADE -s ${IPADDR}/${NETBITS}&lt;br /&gt;
 /sbin/sysctl net.ipv4.ip_forward=1&lt;br /&gt;
 /sbin/iptables -I FORWARD -s ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
 /sbin/iptables -I FORWARD -d ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
Set /etc/sysconfig/network-scripts/ifdown-usb:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 . /etc/init.d/functions&lt;br /&gt;
 &lt;br /&gt;
 cd /etc/sysconfig/network-scripts&lt;br /&gt;
 . ./network-functions&lt;br /&gt;
 &lt;br /&gt;
 [ -f ../network ] &amp;amp;&amp;amp; . ../network&lt;br /&gt;
 &lt;br /&gt;
 CONFIG=${1}&lt;br /&gt;
 &lt;br /&gt;
 need_config ${CONFIG}&lt;br /&gt;
 &lt;br /&gt;
 source_config&lt;br /&gt;
 &lt;br /&gt;
 NETBITS=`ipcalc -p ${IPADDR} ${NETMASK} | awk -F'=' '{print $2;}'`&lt;br /&gt;
 &lt;br /&gt;
 /sbin/iptables -D FORWARD -d ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
 /sbin/iptables -D FORWARD -s ${IPADDR}/${NETBITS} -j ACCEPT&lt;br /&gt;
 /sbin/sysctl net.ipv4.ip_forward=0&lt;br /&gt;
 /sbin/iptables -D POSTROUTING -t nat -j MASQUERADE -s ${IPADDR}/${NETBITS}&lt;br /&gt;
 &lt;br /&gt;
 /sbin/ip link set dev ${DEVICE} down&lt;br /&gt;
 /sbin/ip addr flush dev ${DEVICE} 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
If you are using NetworkManager, restart it and enable the usb device from its menu, otherwise it will disable your connection shortly after you enable it.&lt;br /&gt;
&lt;br /&gt;
 /sbin/service NetworkManager restart&lt;br /&gt;
&lt;br /&gt;
== Red Hat or Similar (tested with Workstation 5) ==&lt;br /&gt;
&lt;br /&gt;
Edit /etc/sysconfig/network-scripts/net.hotplug:&lt;br /&gt;
&lt;br /&gt;
After this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    case $INTERFACE in&lt;br /&gt;
	# interfaces that are registered after being &amp;quot;up&amp;quot; (?)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	usb0)&lt;br /&gt;
		ifconfig usb0 192.168.0.200 netmask 255.255.255.0&lt;br /&gt;
		route add 192.168.0.202 usb0&lt;br /&gt;
		iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
		iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
                iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
                echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
		exit 0&lt;br /&gt;
	;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gentoo ==&lt;br /&gt;
&lt;br /&gt;
Open /etc/conf.d/net and add:&lt;br /&gt;
&lt;br /&gt;
 # Neo&lt;br /&gt;
 config_usb0=( &amp;quot;192.168.0.200 netmask 255.255.255.0&amp;quot; )&lt;br /&gt;
 routes_usb0=( &amp;quot;192.168.0.202/32 via 192.168.0.200&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
Create a new init script:&lt;br /&gt;
&lt;br /&gt;
 cd /etc/init.d&lt;br /&gt;
 ln -s net.lo net.usb0&lt;br /&gt;
&lt;br /&gt;
Put iptables into use:&lt;br /&gt;
&lt;br /&gt;
 iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
 iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
 iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
&lt;br /&gt;
Store them:&lt;br /&gt;
&lt;br /&gt;
 /etc/init.d/iptables save&lt;br /&gt;
&lt;br /&gt;
If you want the routing by default:&lt;br /&gt;
&lt;br /&gt;
 rc-update add iptables default&lt;br /&gt;
&lt;br /&gt;
You must also inform the kernel, to start forwarding.  &lt;br /&gt;
&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
One way to automate all this is to create /etc/conf.d/net.usb0 as follows. It sets IP forwarding and the iptables rules all in one go. It removes the iptables rules and disables ip forwarding when the FreeRunner is unplugged.&lt;br /&gt;
 &lt;br /&gt;
 preup() {&lt;br /&gt;
        echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
        iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
        iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
        return 0&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 postdown() {&lt;br /&gt;
        echo 0 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        iptables -D INPUT -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
        iptables -D OUTPUT -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
        iptables -D POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
        return 0&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== MacOS X ==&lt;br /&gt;
See the [[MacOS_X#USB_Networking|USB Networking section in the MacOS X article]].&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
See the [[Neo1973_and_Windows#USB_Ethernet_emulation|USB Ethernet emulation section in the Neo1973 and Windows]] article.&lt;br /&gt;
&lt;br /&gt;
= More on DNS =&lt;br /&gt;
&lt;br /&gt;
== Hostnames ==&lt;br /&gt;
&lt;br /&gt;
Instead of using the IP address, instead enter in your desktop's /etc/hosts:&lt;br /&gt;
&lt;br /&gt;
 192.168.0.202 openmoko&lt;br /&gt;
&lt;br /&gt;
Then instead type:&lt;br /&gt;
&lt;br /&gt;
 ssh root@openmoko&lt;br /&gt;
&lt;br /&gt;
== DNS proxying ==&lt;br /&gt;
&lt;br /&gt;
If you move about, making assumptions about the network may not be convenient, and it is possible to proxy DNS requests via your host laptop (which you are also taking with you).  There are a number of ways to do this:&lt;br /&gt;
&lt;br /&gt;
=== Proxying with dnrd ===&lt;br /&gt;
&lt;br /&gt;
The script is designed to use [http://dnrd.sourceforge.net/ dnrd] as the DNS proxy. The [http://buildhost.automated.it/gta01 script] and a copy of [http://buildhost.automated.it/dnrd-2.20.3.tar.gz dnrd] are available. The script also performs the initial setup of the connection as per the [[USB_Networking#Manual_method]] above.&lt;br /&gt;
&lt;br /&gt;
=== Proxying with a UDP forwarder ===&lt;br /&gt;
&lt;br /&gt;
Another easy setup is using a UDP forwarder like the one from http://www.tapor.com/udpf/ - use it with the command&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 udpf-elf -p=53-f=`cat /etc/resolv.conf|awk '$1 == &amp;quot;nameserver&amp;quot;{print $2; exit(0);}'`:53&lt;br /&gt;
&lt;br /&gt;
=== Proxying with iptables ===&lt;br /&gt;
&lt;br /&gt;
It is possible to forward DNS requests with iptables using the DNAT target:&lt;br /&gt;
&lt;br /&gt;
 iptables -t nat -A PREROUTING -p tcp -s 192.168.0.202 -d 192.168.0.200 --dport domain -j DNAT --to-destination 192.168.0.1&lt;br /&gt;
 iptables -t nat -A PREROUTING -p udp -s 192.168.0.202 -d 192.168.0.200 --dport domain -j DNAT --to-destination 192.168.0.1&lt;br /&gt;
&lt;br /&gt;
Where &amp;lt;tt&amp;gt;192.168.0.1&amp;lt;/tt&amp;gt; is the IP of your router. &lt;br /&gt;
&lt;br /&gt;
= SSH Extras =&lt;br /&gt;
&lt;br /&gt;
Reportedly, the ssh daemon (dropbear 0.49) on the FreeRunner appears to have a bug when sending the exit status back to the client. From time to time you receive an exit status of 255.&lt;br /&gt;
&lt;br /&gt;
To avoid ssh added a new line for every ssh host-key to you known_hosts you can add the following to the phone section in ~/.ssh/config&lt;br /&gt;
&lt;br /&gt;
  UserKnownHostsFile /dev/null&lt;br /&gt;
&lt;br /&gt;
You might want to use keys to bypass the login prompt too.&lt;br /&gt;
&lt;br /&gt;
== SSH Keys ==&lt;br /&gt;
&lt;br /&gt;
== From desktop to FreeRunner ==&lt;br /&gt;
&lt;br /&gt;
To generate ssh keys for use as a login mechanism type:&lt;br /&gt;
&lt;br /&gt;
 ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
When prompted for a password either hit enter for no password (''not really a good idea'') or enter a password for this key. ssh into the phone and create ~/.ssh:&lt;br /&gt;
&lt;br /&gt;
 # mkdir ~/.ssh&lt;br /&gt;
&lt;br /&gt;
Then from your desktop copy the '''.pub''' file to the phone.&lt;br /&gt;
&lt;br /&gt;
 # scp ~/.ssh/id_rsa.pub phone:.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
You should now be able to ssh directly into the phone without a password prompt.&lt;br /&gt;
&lt;br /&gt;
To disable password logins ('''after setting up key access''') edit /etc/init.d/dropbear and change the following line:&lt;br /&gt;
&lt;br /&gt;
 DROPBEAR_EXTRA_ARGS=&lt;br /&gt;
&lt;br /&gt;
to &lt;br /&gt;
&lt;br /&gt;
 DROPBEAR_EXTRA_ARGS=&amp;quot;-s&amp;quot;&lt;br /&gt;
&lt;br /&gt;
You will need to restart dropbear for this to take effect.&lt;br /&gt;
&lt;br /&gt;
=== From FreeRunner to Desktop ===&lt;br /&gt;
&lt;br /&gt;
Generate the key:&lt;br /&gt;
&lt;br /&gt;
  dropbearkey -t rsa -f id_rsa&lt;br /&gt;
&lt;br /&gt;
The output will look something like this:&lt;br /&gt;
&lt;br /&gt;
  Will output 1024 bit rsa secret key to 'id_rsa'&lt;br /&gt;
  Generating key, this may take a while...&lt;br /&gt;
  Public key portion is:&lt;br /&gt;
  ssh-rsa AAAAB3Nza[...]&lt;br /&gt;
  Fingerprint: md5 ca:e8:f0:b7:f6:7b:c2:b6:b9:71:e4:45:86:a9:ff:b8&lt;br /&gt;
&lt;br /&gt;
Copy and paste the one line (in this example, starting with 'ssh-rsa' onto the end of the host's authorized_keys file (often in ~/.ssh/).&lt;br /&gt;
&lt;br /&gt;
From the phone, ssh with -i:&lt;br /&gt;
&lt;br /&gt;
  ssh -i id_rsa user@host&lt;br /&gt;
&lt;br /&gt;
=== Changing host keys ===&lt;br /&gt;
&lt;br /&gt;
If you reflash, your hosts keys will change.  Try this ~/.ssh/config snippet:&lt;br /&gt;
&lt;br /&gt;
 Host moko&lt;br /&gt;
 HostName 192.168.0.202&lt;br /&gt;
 StrictHostKeyChecking no&lt;br /&gt;
 UserKnownHostsFile /dev/null&lt;br /&gt;
 User root&lt;br /&gt;
&lt;br /&gt;
This is suggested because ssh on your desktop may complain if the key matching a certain IP changes (stored in .ssh/known_hosts).&lt;br /&gt;
&lt;br /&gt;
== GUI on desktop through SSH ==&lt;br /&gt;
&lt;br /&gt;
To get the GUI on the FreeRunner onto the desktop via USB, you can use ssh as follows:&lt;br /&gt;
&lt;br /&gt;
  ssh -l root -X -v 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Using this, run openmoko-finger-demo for example, and it will open up on the desktop. To get landscape view, just resize the GUI window on the desktop.&lt;br /&gt;
&lt;br /&gt;
If you get an error like this:&lt;br /&gt;
 dbus.exceptions.DBusException: org.freedesktop.DBus.Error.Spawn.ExecFailed: dbus-launch failed to     &lt;br /&gt;
 autolaunch D-Bus session: Autolaunch requested, but X11 support not compiled in.&lt;br /&gt;
you need to set the DBUS_SESSION_BUS_ADDRESS environment variable to the value on the Freerunner before launching the process from your desktop.  You can find the value of this variable by using a command such as&lt;br /&gt;
 ps auxwwwwe | grep -m 1 DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
Note that you must run that command on the Freerunner.  Back on your desktop, run the process you want with the ''env'' command like this:&lt;br /&gt;
 env DBUS_SESSION_BUS_ADDRESS=''dbus_address'' ''process''&lt;br /&gt;
&lt;br /&gt;
==Display Remote Applications on FreeRunner==&lt;br /&gt;
&lt;br /&gt;
To get desktop apps to show up on your FreeRunner, first log in:&lt;br /&gt;
&lt;br /&gt;
  ssh -l root 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
&lt;br /&gt;
  DISPLAY=:0 xhost +192.168.0.200&lt;br /&gt;
&lt;br /&gt;
After this you can close the ssh session. Back on the desktop computer, run:&lt;br /&gt;
&lt;br /&gt;
  DISPLAY=openmoko:0 xclock&lt;br /&gt;
&lt;br /&gt;
Note that the xhost command will allow remote applications on 192.168.0.200 to access the X server. It will allow anyone on the desktop machine to access the X server of the neo, including snooping anything you type on it. To disallow remote applications again, run this in the neo:&lt;br /&gt;
&lt;br /&gt;
  DISPLAY=:0 xhost -192.168.0.200&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; &lt;br /&gt;
{{Languages|USB Networking}}&lt;br /&gt;
&lt;br /&gt;
[[Category:USB]]&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:Implemented]]&lt;br /&gt;
[[Category:Networking]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Flashing_the_Neo_FreeRunner</id>
		<title>Flashing the Neo FreeRunner</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Flashing_the_Neo_FreeRunner"/>
				<updated>2008-08-10T19:47:29Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: cleaned up text&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Openmoko regularly releases updated versions of the Openmoko root filesystem, the [[kernel]], and the [[Bootloader| U-Boot]] as binary images. These may be programmed into the Flash memory (NAND) of Neo FreeRunner. For that, you can use the USB cable and another computer which will run an Openmoko provided tool to flash the Neo FreeRunner &amp;quot;through&amp;quot; USB.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
All the components of the software in the FreeRunner are bundled together into binary images.&lt;br /&gt;
&lt;br /&gt;
On a desktop computer when you want to replace the operating system (OS), you would boot it from a CD-ROM drive, then copy OS files from the CD to the internal hard drive. The FreeRunner does not have a CD-ROM drive and files must typically be re-written/flashed directly into internal storage (NAND flash).  It is also possible to load all the OS files to and boot from a microSD.&lt;br /&gt;
&lt;br /&gt;
The FreeRunner has two kinds of internal program storage: NOR flash and NAND flash. The NOR flash is small and stores only a special boot program used when you need to re-write the contents of the NAND flash. NAND flash acts more like a hard drive.&lt;br /&gt;
&lt;br /&gt;
The NAND Flash is divided into 3 partitions for the bootloader, kernel, and root filesystem - so each of these components can be flashed separately. For example if you are trying to install a modified kernel, you only have to follow the steps to flash the kernel image.&lt;br /&gt;
&lt;br /&gt;
* '''bootloader''': a small program that runs first and starts everything else when the FreeRunner is powered on or reset (depending on [[Booting the Neo FreeRunner|how you reset it]], the version from NOR or NAND is booted).&lt;br /&gt;
* '''kernel''': the central component in the Linux operating system.&lt;br /&gt;
* '''root filesystem''': contains all the files that make up the commands and applications that you can run.&lt;br /&gt;
 &lt;br /&gt;
'''Before you start: Erasing the root filesystem or flashing the uboot are radical measures. Take the time to ponder the necessity. Sometimes problems can be fixed by updating only the kernel.'''&lt;br /&gt;
&lt;br /&gt;
== Alternative : running from microSD card ==&lt;br /&gt;
&lt;br /&gt;
You may install this distribution on the microSD card, in order to [[Booting from SD | boot from microSD card]]. That allows you to keep another distribution installed in NAND (for instance to test 2008.08 while still having 2007.2 for default boot).&lt;br /&gt;
&lt;br /&gt;
== Collect the things you need ==&lt;br /&gt;
&lt;br /&gt;
=== Download the DFU-util program ===&lt;br /&gt;
&lt;br /&gt;
You will download that program on your desktop computer. It will allow you to connect to the FreeRunner through the USB cable and control its bootloader. That connection uses a special protocol which addresses the bootloader's interface, and differs from USB networking. There is a separate page to describe it in more detail: [[dfu-util]].&lt;br /&gt;
&lt;br /&gt;
'''Note:''' dfu-util seems to consistently fail with a &amp;quot;-62&amp;quot; error on 64-bit Linux. If you have access to a 32-bit machine, use it instead!&lt;br /&gt;
&lt;br /&gt;
'''MacOS X:''' [[MacOS_X#Graphical_Flashing_with_Openmoko_Flasher]]&lt;br /&gt;
&lt;br /&gt;
'''Linux:''' http://buildhost.openmoko.org/releases/Freerunner/dfu-util&lt;br /&gt;
&lt;br /&gt;
Make sure it is executable by setting the permissions with this command: chmod a+x dfu-util&lt;br /&gt;
&lt;br /&gt;
'''Windows:''' http://projects.openmoko.org/frs/?group_id=166&amp;amp;release_id=162 &lt;br /&gt;
&lt;br /&gt;
See additional driver installation instructions for Windows at [[Dfu-util-windows]]&lt;br /&gt;
&lt;br /&gt;
=== Download the image files that you will need ===&lt;br /&gt;
&lt;br /&gt;
Exactly what files you need depends on what you are trying to install. In most cases you will need to install a Kernel and a Root Filesystem (rootfs). In rare cases, when there is a bug you need fixed, you will also install a new bootloader.&lt;br /&gt;
&lt;br /&gt;
Please read [[Distributions]] for choosing the distribution which fits your needs, and then see [[Download]] for downloading.&lt;br /&gt;
&lt;br /&gt;
== Boot the FreeRunner from NOR Flash ==&lt;br /&gt;
&lt;br /&gt;
[[Image:menu15.jpg|thumb|Booting from NOR Flash]]&lt;br /&gt;
&lt;br /&gt;
# Read the other sections of this page first, because you will have 30 seconds to enter the flashing commands, come back here when ready.&lt;br /&gt;
# Do not connect the USB cable from the PC to your Neo FreeRunner yet (disconnect it).&lt;br /&gt;
# Boot your Neo Freerunner into the NOR uBoot menu for flashing.&lt;br /&gt;
## Press and hold AUX button&lt;br /&gt;
## Press the Power button until the boot menu comes up&lt;br /&gt;
## This menu is labelled '''*** BOOT MENU (NOR) ***'''&lt;br /&gt;
## See also [[Booting the Neo FreeRunner]]&lt;br /&gt;
# Stay in NOR uBoot menu, do not to select or enter any item in menu. Now you will be able to flash, make backups of your Freerunner or query the Freerunner with dfu-util.&lt;br /&gt;
# The FreeRunner only stays at the NOR boot prompt for about 30 seconds and then shuts off unless you do something.&lt;br /&gt;
# Connect your Neo to the GNU/Linux or Windows host via a USB cable. &lt;br /&gt;
# Now you can enter the dfu-util commands on your PC as described below.&lt;br /&gt;
# If the Neo FreeRunner turns off before you press start flashing ('''screen goes black'''), go back to step 2. If you start flashing in time, the phone will not turn off meanwhile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- The following, upto dfu-util -l is taken from the thread &amp;quot;Re: Freerunner (GTK2007.2) has suddenly become unbootable&amp;quot; on the Support list. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the dfu-util connection does '''not''' use Ethernet over USB - that is, you should not attempt to set up a usb0 network interface on your GNU/Linux host desktop (on Windows, you need a DFU class driver, or you can use the LibUSB-Win32 driver described on the [[Dfu-util-windows]] page). The dfu-util utility sets up its own connection to the FreeRunner. In fact, you will not be able to make an Ethernet-over-USB connection to the FreeRunner when it is at the uBoot menu; this type of connection is only available when the FreeRunner has booted fully.&lt;br /&gt;
&lt;br /&gt;
After connecting the FreeRunner to your host via USB cable, you can test whether dfu-util &amp;quot;sees&amp;quot; the FreeRunner by executing:&lt;br /&gt;
&lt;br /&gt;
   dfu-util -l&lt;br /&gt;
If you get error messages from the dfu-util command then try again. Often it works on the second try.&lt;br /&gt;
&lt;br /&gt;
== Do a backup ==&lt;br /&gt;
&lt;br /&gt;
If you have a working image that you're happy with but want to try something different, you should probably do a [[Pre-Flash Backup]].&lt;br /&gt;
&lt;br /&gt;
== Using dfu-util ==&lt;br /&gt;
&lt;br /&gt;
dfu-util can be used to read flash memory, write memory, and get information from the device.&lt;br /&gt;
&lt;br /&gt;
This is the general command format to write an image file to a (predefined) &amp;quot;partition name&amp;quot; (referred to as ''altsetting'' in dfu-util help/manual) :&lt;br /&gt;
&lt;br /&gt;
 dfu-util -a ''altsetting'' -R -D ''file_name''&lt;br /&gt;
&lt;br /&gt;
where:&amp;lt;br&amp;gt;&lt;br /&gt;
-a ''altsetting'' : Specify the altsetting of the DFU interface by name or by number&amp;lt;br&amp;gt;&lt;br /&gt;
-R  : Issue USB Reset signalling once we're finished&amp;lt;br&amp;gt;&lt;br /&gt;
-D  ''file_name'' : Write firmware from ''file_name'' into device&lt;br /&gt;
&lt;br /&gt;
On Linux, you run dfu-util from a command shell prompt. If you have not put it somewhere on your command path you probably need to prefix it with a &amp;quot;./&amp;quot; like this '''./dfu-util'''.&lt;br /&gt;
On some systems you need to be root before this will work and on Ubuntu you must preface the command with &amp;quot;sudo&amp;quot; or you will get the following error: &amp;quot;Cannot claim interface: could not claim interface 2: Operation not permitted&amp;quot;&lt;br /&gt;
&lt;br /&gt;
On Windows, you need to open a command window and run from a command line. Use Start-Run Program and type &amp;quot;cmd&amp;quot; to open a Window.&lt;br /&gt;
&lt;br /&gt;
More detailed manual for gfu-util is available here : [[Dfu-util]]&lt;br /&gt;
&lt;br /&gt;
== Flashing the Kernel ==&lt;br /&gt;
&lt;br /&gt;
The command format is &lt;br /&gt;
&lt;br /&gt;
 dfu-util -a kernel -R -D ''/path/to/uImage''&lt;br /&gt;
&lt;br /&gt;
When flashing succeeds the following will be shown:&lt;br /&gt;
&lt;br /&gt;
 status(0) = No error condition is present&lt;br /&gt;
 Done!&lt;br /&gt;
&lt;br /&gt;
== Flashing the Root Filesystem ==&lt;br /&gt;
&lt;br /&gt;
The root filesystem has to be an image in jffs2 format. If the file you downloaded is zipped or compressed (has a .gz or .zip extension) you have to uncompress it first.&lt;br /&gt;
&lt;br /&gt;
The command format is&lt;br /&gt;
&lt;br /&gt;
 dfu-util -a rootfs -R -D ''rootfs_filename.jffs2''&lt;br /&gt;
&lt;br /&gt;
where ''rootfs_filename.jffs2'' is the name of the file containing the root filesystem.&lt;br /&gt;
&lt;br /&gt;
When flashing succeeds the following will be shown:&lt;br /&gt;
&lt;br /&gt;
 status(0) = No error condition is present&lt;br /&gt;
 Done!&lt;br /&gt;
&lt;br /&gt;
== Flashing the boot loader to the NAND==&lt;br /&gt;
&lt;br /&gt;
The boot loader (U-boot) file should have a .bin extension. As with the root filesystem, if the file you downloaded is zipped or compressed (has a .gz or .zip extension) you have to uncompress it first.&lt;br /&gt;
&lt;br /&gt;
The command format is &lt;br /&gt;
&lt;br /&gt;
 dfu-util -a u-boot -R -D ''uboot.bin''&lt;br /&gt;
&lt;br /&gt;
where ''uboot.bin'' is the name of the boot loader binary image file.&lt;br /&gt;
&lt;br /&gt;
''Reminder'': You should have [[Flashing_the_Neo_FreeRunner#Boot_the_FreeRunner_from_NOR_Flash|rebooted from NOR first]], in order to flash the boot-loader in NAND. After flashing succesfully, make sure you reboot from NAND's newly flashed boot loader, to benefit from the updates.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Taken from posts by Mikael Berthe &amp;lt;mikael.berthe@lilotux.net&amp;gt; and Torfinn Ingolfsen &amp;lt;tingox@gmail.com&amp;gt; to Support list, subject: Re: Upgrading u-boot needed ? --&amp;gt;&lt;br /&gt;
(Optional) After an upgrade, you may wish to check that the u-boot version matches the one you have just flashed. You can use 'grep  Bootloader /dev/mtdblock1' from a shell on the FreeRunner (and possibly the 1973 as well) to get the '''NAND''' u-boot version, like this:&lt;br /&gt;
   root@om-gta02:~# grep Bootloader /dev/mtdblock1&lt;br /&gt;
   Neo1973 Bootloader U-Boot 1.3.2+gitr18+64eb10cab8055084ae25ea4e73b66dd03cc1a0cb&lt;br /&gt;
&lt;br /&gt;
You can grep for the same string in /dev/mtdblock0 to retrieve the '''NOR''' u-boot version:&lt;br /&gt;
   root@om-gta02:~# grep  Bootloader /dev/mtdblock0&lt;br /&gt;
   Neo1973 Bootloader U-Boot 1.3.2-moko12&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ENDS ... subject: Re: Upgrading u-boot needed ? --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reboot the FreeRunner from NAND ==&lt;br /&gt;
&lt;br /&gt;
You should now be able to boot into the new images.&lt;br /&gt;
&lt;br /&gt;
Pay attention '''to booting from the NAND flash this time''', in particular if you upgraded the boot-loader (in short: 1. press and hold ''power button'' down, and then 2. press ''aux button'')&lt;br /&gt;
&lt;br /&gt;
The boot menu should be labelled '''*** BOOT MENU (NAND) ***''' this time (see [[Booting#Log_into_U-Boot_in_the_NAND_Flash|booting from NAND]] for more detailed instructions).&lt;br /&gt;
&lt;br /&gt;
[[Category:Flashing Openmoko| ]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Flashing_the_Neo_FreeRunner</id>
		<title>Flashing the Neo FreeRunner</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Flashing_the_Neo_FreeRunner"/>
				<updated>2008-08-10T18:59:39Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Openmoko regularly releases updated versions of the Openmoko root filesystem, the [[kernel]], and the [[Bootloader| U-Boot]] as binary images. These may be programmed into the Flash memory (NAND) of Neo FreeRunner. For that, you can use the USB cable and another computer which will run an Openmoko provided tool to flash the Neo FreeRunner &amp;quot;through&amp;quot; USB.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
All the components of the software in the FreeRunner are bundled together into binary images.&lt;br /&gt;
&lt;br /&gt;
The '''bootloader''' is a small program that runs first when the FreeRunner is powered on or reset (depending on [[Booting the Neo FreeRunner|how you reset it]], the version from NOR or NAND is booted).&lt;br /&gt;
The '''kernel''' is the central component in the Linux operating system.&lt;br /&gt;
The '''root filesystem''' contains all the files that make up the commands and applications that you can run.&lt;br /&gt;
&lt;br /&gt;
On a desktop computer when you want to replace the operating system, you would boot it from a CD-ROM drive, then copy files from the CD to the internal hard drive. &lt;br /&gt;
&lt;br /&gt;
The FreeRunner does not have a CD-ROM drive but it does have two kinds of internal program storage: NOR flash and NAND flash. The NOR flash is small and stores only a special boot program used when you need to re-write the contents of the NAND flash. NAND flash acts more like a hard drive.&lt;br /&gt;
&lt;br /&gt;
The NAND Flash is divided into 3 partitions so that you can flash each component separately.&lt;br /&gt;
For example if you are trying to install a modified kernel, you only have to follow the steps to flash the kernel image.&lt;br /&gt;
&lt;br /&gt;
'''Alternative : running from microSD card'''&lt;br /&gt;
The FreeRunner can also boot from an image in its micro SD card but that option is not covered here. See [[Booting from SD]] for more information.&lt;br /&gt;
 &lt;br /&gt;
'''Before you start: Erasing the root filesystem or flashing the uboot are radical measures. Take the time to ponder the necessity. Sometimes problems can be fixed by updating only the kernel.'''&lt;br /&gt;
&lt;br /&gt;
The steps to reflash NAND are&lt;br /&gt;
&lt;br /&gt;
# Collect everything you need together on your desktop computer. This includes the dfu-util program and the images you will load into the FreeRunner and a USB cable.&lt;br /&gt;
# Boot the FreeRunner from NOR Flash.&lt;br /&gt;
# Connect the FreeRunner to the desktop computer via the USB cable.&lt;br /&gt;
# Use dfu-util to backup the current contents of the FreeRunner. &lt;br /&gt;
# Use dfu-util to copy the images from the desktop into the FreeRunner.&lt;br /&gt;
# Boot the FreeRunner from NAND Flash to use the new image(s).&lt;br /&gt;
&lt;br /&gt;
== Collect the things you need ==&lt;br /&gt;
&lt;br /&gt;
=== Download the DFU-util program ===&lt;br /&gt;
&lt;br /&gt;
You will download that program on your desktop computer. It will allow you to connect to the FreeRunner through the USB cable and control its bootloader. That connection uses a special protocol which addresses the bootloader's interface, and differs from USB networking. There is a separate page to describe it in more detail: [[dfu-util]].&lt;br /&gt;
&lt;br /&gt;
'''Note:''' dfu-util seems to consistently fail with a &amp;quot;-62&amp;quot; error on 64-bit Linux. If you have access to a 32-bit machine, use it instead!&lt;br /&gt;
&lt;br /&gt;
'''MacOS X:''' [[MacOS_X#Graphical_Flashing_with_Openmoko_Flasher]]&lt;br /&gt;
&lt;br /&gt;
'''Linux:''' http://buildhost.openmoko.org/releases/Freerunner/dfu-util&lt;br /&gt;
&lt;br /&gt;
Make sure it is executable by setting the permissions with this command: chmod a+x dfu-util&lt;br /&gt;
&lt;br /&gt;
'''Windows:''' http://projects.openmoko.org/frs/?group_id=166&amp;amp;release_id=162 &lt;br /&gt;
&lt;br /&gt;
See additional driver installation instructions for Windows at [[Dfu-util-windows]]&lt;br /&gt;
&lt;br /&gt;
=== Download the image files that you will need ===&lt;br /&gt;
&lt;br /&gt;
Exactly what files you need depends on what you are trying to install. In most cases you will need to install a Kernel and a Root Filesystem (rootfs). In rare cases, when there is a bug you need fixed, you will also install a new bootloader.&lt;br /&gt;
&lt;br /&gt;
Please read [[Distributions]] for choosing the distribution which fits your needs, and then see [[Download]] for downloading.&lt;br /&gt;
&lt;br /&gt;
== Boot the FreeRunner from NOR Flash ==&lt;br /&gt;
&lt;br /&gt;
[[Image:menu15.jpg|thumb|Booting from NOR Flash]]&lt;br /&gt;
&lt;br /&gt;
# Read the other sections of this page first, because you will have 30 seconds to enter the flashing commands, come back here when ready.&lt;br /&gt;
# Do not connect the USB cable from the PC to your Neo FreeRunner yet (disconnect it).&lt;br /&gt;
# Boot your Neo Freerunner into the NOR uBoot menu for flashing.&lt;br /&gt;
## Press and hold AUX button&lt;br /&gt;
## Press the Power button until the boot menu comes up&lt;br /&gt;
## This menu is labelled '''*** BOOT MENU (NOR) ***'''&lt;br /&gt;
## See also [[Booting the Neo FreeRunner]]&lt;br /&gt;
# Stay in NOR uBoot menu, do not to select or enter any item in menu. Now you will be able to flash, make backups of your Freerunner or query the Freerunner with dfu-util.&lt;br /&gt;
# The FreeRunner only stays at the NOR boot prompt for about 30 seconds and then shuts off unless you do something.&lt;br /&gt;
# Connect your Neo to the GNU/Linux or Windows host via a USB cable. &lt;br /&gt;
# Now you can enter the dfu-util commands on your PC as described below.&lt;br /&gt;
# If the Neo FreeRunner turns off before you press start flashing ('''screen goes black'''), go back to step 2. If you start flashing in time, the phone will not turn off meanwhile.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- The following, upto dfu-util -l is taken from the thread &amp;quot;Re: Freerunner (GTK2007.2) has suddenly become unbootable&amp;quot; on the Support list. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the dfu-util connection does '''not''' use Ethernet over USB - that is, you should not attempt to set up a usb0 network interface on your GNU/Linux host desktop (on Windows, you need a DFU class driver, or you can use the LibUSB-Win32 driver described on the [[Dfu-util-windows]] page). The dfu-util utility sets up its own connection to the FreeRunner. In fact, you will not be able to make an Ethernet-over-USB connection to the FreeRunner when it is at the uBoot menu; this type of connection is only available when the FreeRunner has booted fully.&lt;br /&gt;
&lt;br /&gt;
After connecting the FreeRunner to your host via USB cable, you can test whether dfu-util &amp;quot;sees&amp;quot; the FreeRunner by executing:&lt;br /&gt;
&lt;br /&gt;
   dfu-util -l&lt;br /&gt;
If you get error messages from the dfu-util command then try again. Often it works on the second try.&lt;br /&gt;
&lt;br /&gt;
== Do a backup ==&lt;br /&gt;
&lt;br /&gt;
If you have a working image that you're happy with but want to try something different, you should probably do a [[Pre-Flash Backup]].&lt;br /&gt;
&lt;br /&gt;
== Using dfu-util ==&lt;br /&gt;
&lt;br /&gt;
dfu-util can be used to read flash memory, write memory, and get information from the device.&lt;br /&gt;
&lt;br /&gt;
This is the general command format to write an image file to a (predefined) &amp;quot;partition name&amp;quot; (referred to as ''altsetting'' in dfu-util help/manual) :&lt;br /&gt;
&lt;br /&gt;
 dfu-util -a ''altsetting'' -R -D ''file_name''&lt;br /&gt;
&lt;br /&gt;
where:&amp;lt;br&amp;gt;&lt;br /&gt;
-a ''altsetting'' : Specify the altsetting of the DFU interface by name or by number&amp;lt;br&amp;gt;&lt;br /&gt;
-R  : Issue USB Reset signalling once we're finished&amp;lt;br&amp;gt;&lt;br /&gt;
-D  ''file_name'' : Write firmware from ''file_name'' into device&lt;br /&gt;
&lt;br /&gt;
On Linux, you run dfu-util from a command shell prompt. If you have not put it somewhere on your command path you probably need to prefix it with a &amp;quot;./&amp;quot; like this '''./dfu-util'''.&lt;br /&gt;
On some systems you need to be root before this will work and on Ubuntu you must preface the command with &amp;quot;sudo&amp;quot; or you will get the following error: &amp;quot;Cannot claim interface: could not claim interface 2: Operation not permitted&amp;quot;&lt;br /&gt;
&lt;br /&gt;
On Windows, you need to open a command window and run from a command line. Use Start-Run Program and type &amp;quot;cmd&amp;quot; to open a Window.&lt;br /&gt;
&lt;br /&gt;
More detailed manual for gfu-util is available here : [[Dfu-util]]&lt;br /&gt;
&lt;br /&gt;
== Flashing the Kernel ==&lt;br /&gt;
&lt;br /&gt;
The command format is &lt;br /&gt;
&lt;br /&gt;
 dfu-util -a kernel -R -D ''/path/to/uImage''&lt;br /&gt;
&lt;br /&gt;
When flashing succeeds the following will be shown:&lt;br /&gt;
&lt;br /&gt;
 status(0) = No error condition is present&lt;br /&gt;
 Done!&lt;br /&gt;
&lt;br /&gt;
== Flashing the Root Filesystem ==&lt;br /&gt;
&lt;br /&gt;
The root filesystem has to be an image in jffs2 format. If the file you downloaded is zipped or compressed (has a .gz or .zip extension) you have to uncompress it first.&lt;br /&gt;
&lt;br /&gt;
The command format is&lt;br /&gt;
&lt;br /&gt;
 dfu-util -a rootfs -R -D ''rootfs_filename.jffs2''&lt;br /&gt;
&lt;br /&gt;
where ''rootfs_filename.jffs2'' is the name of the file containing the root filesystem.&lt;br /&gt;
&lt;br /&gt;
When flashing succeeds the following will be shown:&lt;br /&gt;
&lt;br /&gt;
 status(0) = No error condition is present&lt;br /&gt;
 Done!&lt;br /&gt;
&lt;br /&gt;
== Flashing the boot loader to the NAND==&lt;br /&gt;
&lt;br /&gt;
The boot loader (U-boot) file should have a .bin extension. As with the root filesystem, if the file you downloaded is zipped or compressed (has a .gz or .zip extension) you have to uncompress it first.&lt;br /&gt;
&lt;br /&gt;
The command format is &lt;br /&gt;
&lt;br /&gt;
 dfu-util -a u-boot -R -D ''uboot.bin''&lt;br /&gt;
&lt;br /&gt;
where ''uboot.bin'' is the name of the boot loader binary image file.&lt;br /&gt;
&lt;br /&gt;
''Reminder'': You should have [[Flashing_the_Neo_FreeRunner#Boot_the_FreeRunner_from_NOR_Flash|rebooted from NOR first]], in order to flash the boot-loader in NAND. After flashing succesfully, make sure you reboot from NAND's newly flashed boot loader, to benefit from the updates.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Taken from posts by Mikael Berthe &amp;lt;mikael.berthe@lilotux.net&amp;gt; and Torfinn Ingolfsen &amp;lt;tingox@gmail.com&amp;gt; to Support list, subject: Re: Upgrading u-boot needed ? --&amp;gt;&lt;br /&gt;
(Optional) After an upgrade, you may wish to check that the u-boot version matches the one you have just flashed. You can use 'grep  Bootloader /dev/mtdblock1' from a shell on the FreeRunner (and possibly the 1973 as well) to get the '''NAND''' u-boot version, like this:&lt;br /&gt;
   root@om-gta02:~# grep Bootloader /dev/mtdblock1&lt;br /&gt;
   Neo1973 Bootloader U-Boot 1.3.2+gitr18+64eb10cab8055084ae25ea4e73b66dd03cc1a0cb&lt;br /&gt;
&lt;br /&gt;
You can grep for the same string in /dev/mtdblock0 to retrieve the '''NOR''' u-boot version:&lt;br /&gt;
   root@om-gta02:~# grep  Bootloader /dev/mtdblock0&lt;br /&gt;
   Neo1973 Bootloader U-Boot 1.3.2-moko12&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ENDS ... subject: Re: Upgrading u-boot needed ? --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reboot the FreeRunner from NAND ==&lt;br /&gt;
&lt;br /&gt;
You should now be able to boot into the new images.&lt;br /&gt;
&lt;br /&gt;
Pay attention '''to booting from the NAND flash this time''', in particular if you upgraded the boot-loader (in short: 1. press and hold ''power button'' down, and then 2. press ''aux button'')&lt;br /&gt;
&lt;br /&gt;
The boot menu should be labelled '''*** BOOT MENU (NAND) ***''' this time (see [[Booting#Log_into_U-Boot_in_the_NAND_Flash|booting from NAND]] for more detailed instructions).&lt;br /&gt;
&lt;br /&gt;
[[Category:Flashing Openmoko| ]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Mac_OS_X</id>
		<title>Mac OS X</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Mac_OS_X"/>
				<updated>2008-08-10T06:35:43Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: add Terminal flashing details&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the Openmoko page devoted to MacOS X users!&lt;br /&gt;
&lt;br /&gt;
Here you can find notes of using Neo1973 and Neo Freerunner with Mac.&lt;br /&gt;
&lt;br /&gt;
= Flashing to your device =&lt;br /&gt;
To operate the Phase 1 devices (Neo 1973), you need to flash a root file system first.&lt;br /&gt;
&lt;br /&gt;
== Graphical Flashing with Openmoko Flasher ==&lt;br /&gt;
Here is a detailed instruction:&lt;br /&gt;
# download Version 1.4 or later of Openmoko Flasher from http://www.dsitri.de/wiki.php?page=OpenMoko%20Flasher&lt;br /&gt;
# select the repository&lt;br /&gt;
# press the Refresh button (which loads the list of packages on the server)&lt;br /&gt;
# select and load the rootfs (takes some minutes for approx. 40 MByte)&lt;br /&gt;
# Now, on your Openmoko, hold the AUX button while pressing the Power button for 5 seconds&lt;br /&gt;
# the BOOT menu should appear&lt;br /&gt;
# connect the USB cable&lt;br /&gt;
# Press the Flash button&lt;br /&gt;
# the BOOT menu screen on the OM should show an indication that it has been switched to DFU mode&lt;br /&gt;
# (if it fails, unplug the Openmoko shortly and replug and try again (experience shows that it is needed up to three times)&lt;br /&gt;
# if it successfully flashed, you should be able to boot the Openmoko and continue configuring AJZaurusUSB&lt;br /&gt;
&lt;br /&gt;
A Universal Binary version of dfu-utils tool (and libusb) is included in the Openmoko Flasher application bundle. You can access it as ''Openmoko Flasher.app/Contents/MacOS/dfu-util''.&lt;br /&gt;
&lt;br /&gt;
To flash from Terminal (which is sometimes required), see the directions below or in [[Flashing_the_Neo_FreeRunner|Flashing the Neo]]&lt;br /&gt;
&lt;br /&gt;
To flash the kernel:&lt;br /&gt;
 Openmoko Flasher.app/Contents/MacOS/dfu-util -a kernel -R -D uImage&lt;br /&gt;
To flash the root filesystem:&lt;br /&gt;
 Openmoko Flasher.app/Contents/MacOS/dfu-util -a rootfs -R -D rootfs_filename.jffs2&lt;br /&gt;
To flash the boot loader to NAND&lt;br /&gt;
 Openmoko Flasher.app/Contents/MacOS/dfu-util -a u-boot -R -D uboot.bin&lt;br /&gt;
&lt;br /&gt;
When flashing succeeds (in any of the above cases) the following should be shown:&lt;br /&gt;
 status(0) = No error condition is present&lt;br /&gt;
 Done!&lt;br /&gt;
&lt;br /&gt;
== Compiling dfu-util ==&lt;br /&gt;
Alternatively, you can compile dfu-util manually as described at http://wiki.openmoko.org/wiki/User:SNMoore but you need libusb (e.g. through MacPorts).&lt;br /&gt;
&lt;br /&gt;
= Connecting a Mac and an Openmoko device =&lt;br /&gt;
&lt;br /&gt;
== USB Serial ==&lt;br /&gt;
&lt;br /&gt;
It is possible to access the U-Boot [[Bootloader]] serial console from a Mac.  You can use the Terminal application on Mac OS X, or &amp;lt;tt&amp;gt;minicom&amp;lt;/tt&amp;gt; from [http://finkproject.org/ Fink] or [http://www.macports.org/ MacPorts] (formerly Darwin Ports.)&lt;br /&gt;
&lt;br /&gt;
The USB driver creates cu and tty character devices, for example&lt;br /&gt;
 $ ls -la /dev/tty.usb*&lt;br /&gt;
 crw-rw-rw-   1 root  wheel   10,  18 Aug 23 14:10 /dev/tty.usbmodem00000001&lt;br /&gt;
 $ ls -la /dev/cu.usb*&lt;br /&gt;
 crw-rw-rw-   1 root  wheel   10,  19 Aug 23 14:10 /dev/cu.usbmodem00000001&lt;br /&gt;
&lt;br /&gt;
=== USB Serial with screen ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;screen&amp;lt;/code&amp;gt; program is included with Mac OS X, and can be used from the terminal command line to connect to the serial console.   To do this, simply get to a shell prompt in the terminal and invoke &amp;lt;code&amp;gt;screen&amp;lt;/code&amp;gt; as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% screen /dev/tty.usbmodem00000001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should find yourself at the U-boot serial console prompt.   To get out, type &amp;lt;code&amp;gt;control+a&amp;lt;/code&amp;gt; followed by &amp;lt;code&amp;gt;control+backslash&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== USB Serial with minicom ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;minicom&amp;lt;/tt&amp;gt; program from the [http://www.macports.org/ MacPorts] collection can be used to access the USB serial port &amp;lt;tt&amp;gt;/dev/cu.usbmodem00000001&amp;lt;/tt&amp;gt; (numbering may vary.)&lt;br /&gt;
&lt;br /&gt;
First install the program (assuming you already have MacPorts installed):&lt;br /&gt;
&lt;br /&gt;
 sudo port install minicom&lt;br /&gt;
&lt;br /&gt;
Then launch it in configuration mode (the -s flag):&lt;br /&gt;
&lt;br /&gt;
 sudo minicom -s&lt;br /&gt;
&lt;br /&gt;
Under &amp;quot;Serial Port Setup&amp;quot;, set the Device to &amp;quot;/dev/cu.usbmodem00000001&amp;quot; and set Bps to &amp;quot;115200 8N1&amp;quot;. Under &amp;quot;Modem and Dialing&amp;quot;, enter empty strings for &amp;quot;Init string&amp;quot;, &amp;quot;Reset string&amp;quot;, and &amp;quot;Hang-up string&amp;quot;. Save the setup as default (&amp;quot;dfl&amp;quot;) then Exit. &lt;br /&gt;
&lt;br /&gt;
You should now be able to access the bootloader console. You should exit from Minicom before disconnecting the smartphone, or else you will get an error about unplugging a USB device while it is in use.&lt;br /&gt;
&lt;br /&gt;
=== USB Serial with Terminal ===&lt;br /&gt;
&lt;br /&gt;
The built in Mac Terminal application &amp;lt;tt&amp;gt;Terminal.app&amp;lt;/tt&amp;gt; can be used to access the USB serial port &amp;lt;tt&amp;gt;/dev/tty.usbmodem00000001&amp;lt;/tt&amp;gt; (numbering may vary.)&lt;br /&gt;
&lt;br /&gt;
An easy way to do this is to configure the terminal with Script Editor, as described in the short article, [http://www.macosxhints.com/article.php?story=20061109133825654 ''Use 'screen' as a serial terminal emulator''](macosxhints.com).  Then,&lt;br /&gt;
&lt;br /&gt;
# Press and hold {{aux}} and then press and hold {{power}} for 5 seconds&lt;br /&gt;
# Press {{aux}} to select &amp;lt;tt&amp;gt;Set console to USB&amp;lt;/tt&amp;gt; in the U-Boot menu, and {{power}} to execute it&lt;br /&gt;
# Start the serial terminal application.  You should see a U-Boot command line prompt, such as&lt;br /&gt;
 In:    usbtty&lt;br /&gt;
 Out:   usbtty&lt;br /&gt;
 Err:   usbtty&lt;br /&gt;
 DEVICE_CONFIGURED: 1&lt;br /&gt;
 Enabling automatic fast charge&lt;br /&gt;
 GTA01Bv4 #&lt;br /&gt;
When you boot Linux on the smartphone, or if the smartphone powers down, Mac OS X will show a USB Device Unplug Notice, &amp;quot;The USB device has been unplugged while an application was still active. This can result in loss of data.&amp;quot; This error is probably harmless.&lt;br /&gt;
&lt;br /&gt;
== USB Networking ==&lt;br /&gt;
&lt;br /&gt;
There are two drivers you can use to talk to the RNDIS/Ethernet Gadget that the Neo1973 presents to its host system. The main difference between them is stability, but both have their own problems. Leopard needs further testing (Apple revised the driver and the Network System Settings).&lt;br /&gt;
&lt;br /&gt;
=== Apple CDC Ethernet driver 10.4.10 ===&lt;br /&gt;
MacOS X 10.4.10 and later includes a driver for RNDIS/Ethernet Gadget devices. Launch System Preferences -&amp;gt; Network and you should see &amp;quot;new interface detected enXX&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Issue&amp;lt;/b&amp;gt;: Each time you reboot the Neo, the interface will get a different Ethernet address. This in turn makes Mac OS X create a new configuration record. After a while you'll end up with a load of unusable enXX devices - if you don't periodically clean them out. Open System Preferences and go to Network -&amp;gt; Show(Network Port Configurations) -&amp;gt; Select an enXX -&amp;gt; Delete.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: this is not a problem to blame MacOSX for because it tries to make network configuration simpler based on the assumption of stable Ethernet addresses.&lt;br /&gt;
&lt;br /&gt;
=== Apple CDC Ethernet driver 10.5.x ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Issue&amp;lt;/b&amp;gt;:10.5 (Leopard) doesn't show a new ethernet interface for a Neo1973 running 2007.11. You'll only get the serial port, which is detected as a modem. The Ethernet device will show up in ifconfig though.&lt;br /&gt;
&lt;br /&gt;
It turns out that the AppleUSBCDC driver prefers to use the CDC-ACM interface of USB networking devices instead of CDC-ECM with the exception of a broadcom network card. You can download a patched AppleUSBCDC driver that will recognize the usb id/vendor pair of g_ether and force it to use CDC-ECM. You can obtain the OS X 10.5.X patched driver from: http://bugcommunity.com/downloads/usbcdc-g_ether.zip. Source code: http://bugcommunity.com/downloads/files/AppleUSBCDCDriver-g_ether.326.4.1.zip&lt;br /&gt;
&lt;br /&gt;
The issue of multiple network interfaces showing up whenever the device is rebooted/power-cycled is due to the g_ether driver randomly setting the host and device mac addresses. This problem is remedied by passing the same host and device mac addresses during the modprobe of g_ether.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 modprobe g_ether host_addr=46:0d:9e:67:69:eb dev_addr=46:0d:9e:67:69:ec&lt;br /&gt;
&lt;br /&gt;
=== AJZaurusUSB driver ===&lt;br /&gt;
&lt;br /&gt;
You can also use the open source driver from [http://www.dsitri.de/wiki.php?page=AJZaurusUSB]. It was developed for handheld devices like iPAQ, Sharp Zaurus and Motorola A760, but works for Openmoko as well. Download and install according to the manual found inside the package. The code is GPL'd (source available) and runs on both Intel and PPC Macs with 10.3, 10.4 and 10.5.&lt;br /&gt;
&lt;br /&gt;
After rebooting or loading the kernel extension by hand, you should have a new Ethernet interface in your System Preferences/Network.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: This driver does not have the same problem as the Apple driver does, where it constantly adds to the list of interfaces each time you reboot the neo, because the driver provides a constant ethernet address independently what the Neo says. Only flashing a new kernel might force you to update.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Issue&amp;lt;/b&amp;gt;: This driver is sometimes a bit flaky, and a reboot of the Mac seems to bring it back. It is especially critical about hot unplugging the OM and sleep modes of MacBooks. This may even result in a Kernel Panic.&lt;br /&gt;
&lt;br /&gt;
=== Network Settings ===&lt;br /&gt;
Open System Preferences and go to Network and you should see &amp;quot;new interface detected enXX&amp;quot;.  In the Show list box select the new interface - Ethernet Adapter enXX.&lt;br /&gt;
&lt;br /&gt;
Use this configuration on the new interface:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP-V4: manual&lt;br /&gt;
IP-Addr:  192.168.0.200 (you can use anything in 192.168.0.* but OM is configured by default to use 192.168.0.200 as the external gateway)&lt;br /&gt;
Subnet:   255.255.255.0 (should be the default - see tip below if have issue with these settings)&lt;br /&gt;
Router:   192.168.0.202 (not actually needed, OS X can figure this out for itself, unless you have other conflicting configurations)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Tip&amp;lt;/b&amp;gt;: If your Internet connection is also in the range 192.168.0.x then instead you might want/need to use:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Subnet:   255.255.255.248&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Testing Your Connection ===&lt;br /&gt;
You should be able to connect to your Neo! Try using Terminal (Applications-&amp;gt;Utilities-&amp;gt;Terminal) to ping the Neo at 192.168.0.202 and the roundtrip time should be between 1 and 2 ms.&lt;br /&gt;
 ping 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Then log into your Neo using ssh:&lt;br /&gt;
 ssh root@192.168.0.202&lt;br /&gt;
The default password is blank.&lt;br /&gt;
&lt;br /&gt;
You can also [[scp]] files back and forth. You can telnet, SSH, SMB or do whatever you want if you install software that enables you to set up TCP/IP network over your USB connection.&lt;br /&gt;
&lt;br /&gt;
Try pinging your Mac PC from the Neo&lt;br /&gt;
 ping 192.168.0.200&lt;br /&gt;
&lt;br /&gt;
Try pinging the outside world (a Google IP address)&lt;br /&gt;
 ping 74.125.19.147&lt;br /&gt;
If that works then your Mac is routing the neo globally--if not see [[MacOS_X#Enabling_the_Mac_as_an_Internet_Router | Sharing Internet Connection with Mac]].&lt;br /&gt;
&lt;br /&gt;
Lastly, verify that DNS is correctly configured between the Neo &amp;amp; Network:&lt;br /&gt;
 ping www.google.com&lt;br /&gt;
&lt;br /&gt;
Congordulations Elizagreth!!! The Neo is networked together with the Mac and sharing the Mac's interweb connection.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth Networking ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
This approach is based on: &lt;br /&gt;
&lt;br /&gt;
http://wiki.openmoko.org/wiki/Bluetooth_Support#Networking&lt;br /&gt;
http://www.macosxhints.com/article.php?story=20051220221237711&lt;br /&gt;
&lt;br /&gt;
Unfortunately we can't use the pand (PAN daemon for BNEP) or dund (Dial Up Networking daemon for LAP) since neither service is available for the Mac.&lt;br /&gt;
&lt;br /&gt;
So, we configure a RFCOMM connection and a PPP gateway on the Mac. Finally, we connect the OM as a ppp client to the Mac.&lt;br /&gt;
&lt;br /&gt;
The reversed direction (OM as the Access Point and the Mac as the client) is described shortly in http://wiki.openmoko.org/wiki/Manually_using_Bluetooth#PPP_Networking&lt;br /&gt;
&lt;br /&gt;
=== Making the Mac a PPP over Bluetooth Access Point ===&lt;br /&gt;
&lt;br /&gt;
In the Bluetooth System Preferences (10.4.11)&lt;br /&gt;
* go to the Sharing pane&lt;br /&gt;
* add a new service &amp;quot;BluetoothAccessPoint&amp;quot; of type RS-232&lt;br /&gt;
* Enable that it is shown in the network preferences pane&lt;br /&gt;
* Apply&lt;br /&gt;
&lt;br /&gt;
In the Network System Preferences&lt;br /&gt;
* activate the new network configuration (BluetoothAccessPoint)&lt;br /&gt;
* go tot the Modem tab and change the modem to &amp;quot;Null Modem 115200&amp;quot;&lt;br /&gt;
* Apply&lt;br /&gt;
&lt;br /&gt;
In a Terminal, enter the following:&lt;br /&gt;
 $ sudo /usr/sbin/pppd /dev/tty.BluetoothAccessPoint 115200 noauth local passive proxyarp asyncmap 0 silent persist :172.16.140.14&lt;br /&gt;
&lt;br /&gt;
Here you see the 172.16.140.14 address, which makes it possible not to use natd, since it's in the same network as the Mac is. So the firewall knows where to sent it to -- no routing problems etc. Pick any free address in your private range. For instance, if you are using the following ... firewall: 192.168.1.1, Mac: 192.168.1.2, you can enter 192.168.1.3, assuming it's not used elsewhere on your network.&lt;br /&gt;
&lt;br /&gt;
If you want to be sure you did it right, open the system.log file on the Mac (tail -f /var/log/system.log), and you should see something like this:&lt;br /&gt;
 Jun 25 10:33:57 hostname pppd[679]:  pppd 2.4.2 (Apple version 229) started by username, uid 0&lt;br /&gt;
 Jun 25 10:33:57 hostname pppd[679]:  Connect: ppp0 &amp;lt;--&amp;gt; /dev/tty.BluetoothAccessPoint&lt;br /&gt;
&lt;br /&gt;
In Terminal, write&lt;br /&gt;
 sudo sysctl -w net.inet.ip.forwarding=1&lt;br /&gt;
which should give the following feedback:&lt;br /&gt;
 net.inet.ip.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
&lt;br /&gt;
In Terminal, write&lt;br /&gt;
 sudo ifconfig ppp0 up.&lt;br /&gt;
&lt;br /&gt;
=== Connecting the Openmoko as a Client to the Mac ===&lt;br /&gt;
&lt;br /&gt;
On the Openmoko do the following&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth&lt;br /&gt;
&lt;br /&gt;
 root@fic-gta01:~$ echo &amp;quot;1&amp;quot; &amp;gt; /sys/bus/platform/devices/gta01-pm-bt.0/power_on&lt;br /&gt;
&lt;br /&gt;
* Scan for the Mac&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
         00:0E:6D:C0:0l:6A       Sho&lt;br /&gt;
         00:20:E0:5A:FE:C8       MacBook&lt;br /&gt;
&lt;br /&gt;
* start the PPP client&lt;br /&gt;
&lt;br /&gt;
 pppd 115000 192.168.1.202:192.168.1.200 local defaultroute pty 'rfcomm connect 0 00:16:CB:2F:A0:46 1'&lt;br /&gt;
&lt;br /&gt;
* Enjoy&lt;br /&gt;
&lt;br /&gt;
== WiFi Networking ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
To Be Done.&lt;br /&gt;
&lt;br /&gt;
== Neo1973 as a Bluetooth GPRS modem ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
To Be Done.&lt;br /&gt;
&lt;br /&gt;
= Enabling the Mac as an Internet Router =&lt;br /&gt;
&lt;br /&gt;
Here is described how to enable your Mac to serve as a Internet Router for your Openmoko device.&lt;br /&gt;
&lt;br /&gt;
Note: you have to open all services you want to use from the Openmoko in the Mac Firewall.&lt;br /&gt;
&lt;br /&gt;
== USB connection ==&lt;br /&gt;
&lt;br /&gt;
In the Sharing System Preferences&lt;br /&gt;
* click the Internet tab&lt;br /&gt;
* Check all the ethernet (en) interfaces you want to enable Internet access for (i.e. the USB connection)&lt;br /&gt;
&lt;br /&gt;
SSH into your Neo and create /etc/resolv.conf, specify your Internet router IP address as the name server. You can simply copy the /etc/resolv.conf from your Mac.&lt;br /&gt;
 scp /etc/resolv.conf root@192.168.0.202:/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
 Example:&lt;br /&gt;
 nameserver 192.168.1.200    # replace by your real nameserver address&lt;br /&gt;
&lt;br /&gt;
Make sure your Neo routing table has entries so that all internet traffic is sent to your Mac (which will forward it to the outside world)&lt;br /&gt;
&lt;br /&gt;
 root@fic-gta01:~$ route&lt;br /&gt;
 Kernel IP routing table&lt;br /&gt;
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
 192.168.0.0     *               255.255.255.0   U     0      0        0 usb0&lt;br /&gt;
 default         192.168.0.200   0.0.0.0         UG    0      0        0 usb0&lt;br /&gt;
&lt;br /&gt;
Don't forget to enable your USB interface for Internet Sharing!&lt;br /&gt;
&lt;br /&gt;
== Bluetooth connection ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
= Accessing data and services on your device =&lt;br /&gt;
&lt;br /&gt;
== ssh ==&lt;br /&gt;
&lt;br /&gt;
After making the USB connection work, start ssh:&lt;br /&gt;
&lt;br /&gt;
ssh -l root 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
If you don't have installed the key, it will ask for a &amp;quot;yes&amp;quot; on the first connection. The root password is blank unless you change it.&lt;br /&gt;
&lt;br /&gt;
 MacBook-hns:~ hns$ ssh -l root 192.168.0.202&lt;br /&gt;
 root@192.168.0.202's password: &lt;br /&gt;
 root@fic-gta01:~$ hostname&lt;br /&gt;
 fic-gta01&lt;br /&gt;
 root@fic-gta01:~$&lt;br /&gt;
&lt;br /&gt;
NOTE: the ssh daemon (dropbear 0.49) on the Openmoko appears to have a bug when sending the exit status back to the client. From time to time you receive an exit status of 255.&lt;br /&gt;
&lt;br /&gt;
== SMB ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
To Be Done.&lt;br /&gt;
&lt;br /&gt;
== X11 ==&lt;br /&gt;
Launch Apple X11. xhost +192.168.0.202. On the Neo: export DISPLAY=192.168.0.200:0.0&lt;br /&gt;
&lt;br /&gt;
== Synchronizing ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
This is not done yet. Possible solutions are SyncML or ZMacSync http://www.dsitri.de/wiki.php?page=ZMacSync&lt;br /&gt;
&lt;br /&gt;
ZMacSync does not yet synchronize but allows more easy access to the Openmoko through Terminal/ssh.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Developing Openmoko software on a Mac =&lt;br /&gt;
&lt;br /&gt;
== Using virtualization software and MokoMakefile/OpenEmbedded ==&lt;br /&gt;
&lt;br /&gt;
You can use Parallels or VMWare to install your favourite Linux distribution and then develop just as on Linux.&lt;br /&gt;
&lt;br /&gt;
There are some drawback since AFAIK dfu-util may not work correctly in such environments. &lt;br /&gt;
&lt;br /&gt;
Don't bother with Parallels Desktop for Mac (&amp;lt;=3), the current USB support is terrible and USB storage keys don't even work so there was no way I would try dfu-util. USB keys work under VMWare Fusion for Mac though I have yet to try dfu-util in an VM under VMWare Fusion as there is Openmoko Flasher for Mac. -- [[User: Eric|Eric]]&lt;br /&gt;
&lt;br /&gt;
== Natively ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
There are some efforts to get through process of compiling OE and Openmoko under mac: [[Openmoko_under_QEMU_on_MacOSX]]&lt;br /&gt;
&lt;br /&gt;
== GNUstep/mySTEP SDK ==&lt;br /&gt;
&lt;br /&gt;
There is a [[QuantumSTEP]]/mySTEP project to port GNUstep to the Openmoko/Neo: [[http://www.quantum-step.com/wiki.php?page=OpenMoko-Edition More Info]]&lt;br /&gt;
An SDK for Xcode/Interface Builder is also available: [[http://www.versiontracker.com/dyn/moreinfo/macosx/20581 Entry at Version Tracker]] [[http://www.quantum-step.com/wiki.php?page=SDK More Info]]&lt;br /&gt;
&lt;br /&gt;
== Tools for Developers ==&lt;br /&gt;
&lt;br /&gt;
Some tools that run on MacOS X&lt;br /&gt;
&lt;br /&gt;
=== mkfs.jffs2 ===&lt;br /&gt;
[[http://www.quantum-step.com/download/OpenMoko-Edition/mkfs.jffs2.tgz mkfs.jffs2]] - make JFFS2 (root) file system (Universal Binary). Package includes sources and Xcode 2.4 project file to rebuild on MacOS X 10.4.11. NOT TESTED DEEPLY.&lt;br /&gt;
&lt;br /&gt;
  mkfs.jffs2 --pad=0x700000 -o rootfs.jffs2 -e 0x4000 -n -d/tmp/jffsroot/&lt;br /&gt;
&lt;br /&gt;
=== Crosscompiler Toolchain ===&lt;br /&gt;
&lt;br /&gt;
[[http://www.quantum-step.com/wiki.php?page=Compiler gcc 2.95.3]] - OABI cross compiler toolchain (C, C++, Obj-C) with Linux headers (PPC and Intel Macs)&lt;br /&gt;
&lt;br /&gt;
If someone has a newer one that works, please provide as an installable OSX Package.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Will the ones from MacPorts work? [[http://www.macports.org/ports.php?by=name&amp;amp;substr=gnueabi]] I'm still trying to get QEMU to work and haven't had a chance to test it yet.&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
&lt;br /&gt;
== Search Software Repositories ==&lt;br /&gt;
&lt;br /&gt;
[[http://www.versiontracker.com/php/qs.php?action=search&amp;amp;str=openmoko&amp;amp;srchArea=macosx Keyword Openmoko]] at VersionTracker&lt;br /&gt;
&lt;br /&gt;
== Discussion Fora ==&lt;br /&gt;
&lt;br /&gt;
[[http://www.oesf.org/forums/index.php?showforum=63 Mac Issues Forum]] at Open Embedded Software Foundation (was Zaurus User Group)&lt;br /&gt;
&lt;br /&gt;
[[Category:Flashing Openmoko]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Mac_OS_X</id>
		<title>Mac OS X</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Mac_OS_X"/>
				<updated>2008-08-10T06:14:51Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: correct 2 switched ip addresses&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the Openmoko page devoted to MacOS X users!&lt;br /&gt;
&lt;br /&gt;
Here you can find notes of using Neo1973 and Neo Freerunner with Mac.&lt;br /&gt;
&lt;br /&gt;
= Flashing to your device =&lt;br /&gt;
To operate the Phase 1 devices (Neo 1973), you need to flash a root file system first.&lt;br /&gt;
&lt;br /&gt;
== Graphical Flashing with Openmoko Flasher ==&lt;br /&gt;
Here is a detailed instruction:&lt;br /&gt;
# download Version 1.4 or later of Openmoko Flasher from http://www.dsitri.de/wiki.php?page=OpenMoko%20Flasher&lt;br /&gt;
# select the repository&lt;br /&gt;
# press the Refresh button (which loads the list of packages on the server)&lt;br /&gt;
# select and load the rootfs (takes some minutes for approx. 40 MByte)&lt;br /&gt;
# Now, on your Openmoko, hold the AUX button while pressing the Power button for 5 seconds&lt;br /&gt;
# the BOOT menu should appear&lt;br /&gt;
# connect the USB cable&lt;br /&gt;
# Press the Flash button&lt;br /&gt;
# the BOOT menu screen on the OM should show an indication that it has been switched to DFU mode&lt;br /&gt;
# (if it fails, unplug the Openmoko shortly and replug and try again (experience shows that it is needed up to three times)&lt;br /&gt;
# if it successfully flashed, you should be able to boot the Openmoko and continue configuring AJZaurusUSB&lt;br /&gt;
&lt;br /&gt;
A Universal Binary version of dfu-utils tool (and libusb) is included in the Openmoko Flasher application bundle. You can access it as ''Openmoko Flasher.app/Contents/MacOS/dfu-util''.&lt;br /&gt;
&lt;br /&gt;
== Compiling dfu-util ==&lt;br /&gt;
Alternatively, you can compile dfu-util manually as described at http://wiki.openmoko.org/wiki/User:SNMoore but you need libusb (e.g. through MacPorts).&lt;br /&gt;
&lt;br /&gt;
= Connecting a Mac and an Openmoko device =&lt;br /&gt;
&lt;br /&gt;
== USB Serial ==&lt;br /&gt;
&lt;br /&gt;
It is possible to access the U-Boot [[Bootloader]] serial console from a Mac.  You can use the Terminal application on Mac OS X, or &amp;lt;tt&amp;gt;minicom&amp;lt;/tt&amp;gt; from [http://finkproject.org/ Fink] or [http://www.macports.org/ MacPorts] (formerly Darwin Ports.)&lt;br /&gt;
&lt;br /&gt;
The USB driver creates cu and tty character devices, for example&lt;br /&gt;
 $ ls -la /dev/tty.usb*&lt;br /&gt;
 crw-rw-rw-   1 root  wheel   10,  18 Aug 23 14:10 /dev/tty.usbmodem00000001&lt;br /&gt;
 $ ls -la /dev/cu.usb*&lt;br /&gt;
 crw-rw-rw-   1 root  wheel   10,  19 Aug 23 14:10 /dev/cu.usbmodem00000001&lt;br /&gt;
&lt;br /&gt;
=== USB Serial with screen ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;screen&amp;lt;/code&amp;gt; program is included with Mac OS X, and can be used from the terminal command line to connect to the serial console.   To do this, simply get to a shell prompt in the terminal and invoke &amp;lt;code&amp;gt;screen&amp;lt;/code&amp;gt; as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% screen /dev/tty.usbmodem00000001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should find yourself at the U-boot serial console prompt.   To get out, type &amp;lt;code&amp;gt;control+a&amp;lt;/code&amp;gt; followed by &amp;lt;code&amp;gt;control+backslash&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== USB Serial with minicom ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;minicom&amp;lt;/tt&amp;gt; program from the [http://www.macports.org/ MacPorts] collection can be used to access the USB serial port &amp;lt;tt&amp;gt;/dev/cu.usbmodem00000001&amp;lt;/tt&amp;gt; (numbering may vary.)&lt;br /&gt;
&lt;br /&gt;
First install the program (assuming you already have MacPorts installed):&lt;br /&gt;
&lt;br /&gt;
 sudo port install minicom&lt;br /&gt;
&lt;br /&gt;
Then launch it in configuration mode (the -s flag):&lt;br /&gt;
&lt;br /&gt;
 sudo minicom -s&lt;br /&gt;
&lt;br /&gt;
Under &amp;quot;Serial Port Setup&amp;quot;, set the Device to &amp;quot;/dev/cu.usbmodem00000001&amp;quot; and set Bps to &amp;quot;115200 8N1&amp;quot;. Under &amp;quot;Modem and Dialing&amp;quot;, enter empty strings for &amp;quot;Init string&amp;quot;, &amp;quot;Reset string&amp;quot;, and &amp;quot;Hang-up string&amp;quot;. Save the setup as default (&amp;quot;dfl&amp;quot;) then Exit. &lt;br /&gt;
&lt;br /&gt;
You should now be able to access the bootloader console. You should exit from Minicom before disconnecting the smartphone, or else you will get an error about unplugging a USB device while it is in use.&lt;br /&gt;
&lt;br /&gt;
=== USB Serial with Terminal ===&lt;br /&gt;
&lt;br /&gt;
The built in Mac Terminal application &amp;lt;tt&amp;gt;Terminal.app&amp;lt;/tt&amp;gt; can be used to access the USB serial port &amp;lt;tt&amp;gt;/dev/tty.usbmodem00000001&amp;lt;/tt&amp;gt; (numbering may vary.)&lt;br /&gt;
&lt;br /&gt;
An easy way to do this is to configure the terminal with Script Editor, as described in the short article, [http://www.macosxhints.com/article.php?story=20061109133825654 ''Use 'screen' as a serial terminal emulator''](macosxhints.com).  Then,&lt;br /&gt;
&lt;br /&gt;
# Press and hold {{aux}} and then press and hold {{power}} for 5 seconds&lt;br /&gt;
# Press {{aux}} to select &amp;lt;tt&amp;gt;Set console to USB&amp;lt;/tt&amp;gt; in the U-Boot menu, and {{power}} to execute it&lt;br /&gt;
# Start the serial terminal application.  You should see a U-Boot command line prompt, such as&lt;br /&gt;
 In:    usbtty&lt;br /&gt;
 Out:   usbtty&lt;br /&gt;
 Err:   usbtty&lt;br /&gt;
 DEVICE_CONFIGURED: 1&lt;br /&gt;
 Enabling automatic fast charge&lt;br /&gt;
 GTA01Bv4 #&lt;br /&gt;
When you boot Linux on the smartphone, or if the smartphone powers down, Mac OS X will show a USB Device Unplug Notice, &amp;quot;The USB device has been unplugged while an application was still active. This can result in loss of data.&amp;quot; This error is probably harmless.&lt;br /&gt;
&lt;br /&gt;
== USB Networking ==&lt;br /&gt;
&lt;br /&gt;
There are two drivers you can use to talk to the RNDIS/Ethernet Gadget that the Neo1973 presents to its host system. The main difference between them is stability, but both have their own problems. Leopard needs further testing (Apple revised the driver and the Network System Settings).&lt;br /&gt;
&lt;br /&gt;
=== Apple CDC Ethernet driver 10.4.10 ===&lt;br /&gt;
MacOS X 10.4.10 and later includes a driver for RNDIS/Ethernet Gadget devices. Launch System Preferences -&amp;gt; Network and you should see &amp;quot;new interface detected enXX&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Issue&amp;lt;/b&amp;gt;: Each time you reboot the Neo, the interface will get a different Ethernet address. This in turn makes Mac OS X create a new configuration record. After a while you'll end up with a load of unusable enXX devices - if you don't periodically clean them out. Open System Preferences and go to Network -&amp;gt; Show(Network Port Configurations) -&amp;gt; Select an enXX -&amp;gt; Delete.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: this is not a problem to blame MacOSX for because it tries to make network configuration simpler based on the assumption of stable Ethernet addresses.&lt;br /&gt;
&lt;br /&gt;
=== Apple CDC Ethernet driver 10.5.x ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Issue&amp;lt;/b&amp;gt;:10.5 (Leopard) doesn't show a new ethernet interface for a Neo1973 running 2007.11. You'll only get the serial port, which is detected as a modem. The Ethernet device will show up in ifconfig though.&lt;br /&gt;
&lt;br /&gt;
It turns out that the AppleUSBCDC driver prefers to use the CDC-ACM interface of USB networking devices instead of CDC-ECM with the exception of a broadcom network card. You can download a patched AppleUSBCDC driver that will recognize the usb id/vendor pair of g_ether and force it to use CDC-ECM. You can obtain the OS X 10.5.X patched driver from: http://bugcommunity.com/downloads/usbcdc-g_ether.zip. Source code: http://bugcommunity.com/downloads/files/AppleUSBCDCDriver-g_ether.326.4.1.zip&lt;br /&gt;
&lt;br /&gt;
The issue of multiple network interfaces showing up whenever the device is rebooted/power-cycled is due to the g_ether driver randomly setting the host and device mac addresses. This problem is remedied by passing the same host and device mac addresses during the modprobe of g_ether.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 modprobe g_ether host_addr=46:0d:9e:67:69:eb dev_addr=46:0d:9e:67:69:ec&lt;br /&gt;
&lt;br /&gt;
=== AJZaurusUSB driver ===&lt;br /&gt;
&lt;br /&gt;
You can also use the open source driver from [http://www.dsitri.de/wiki.php?page=AJZaurusUSB]. It was developed for handheld devices like iPAQ, Sharp Zaurus and Motorola A760, but works for Openmoko as well. Download and install according to the manual found inside the package. The code is GPL'd (source available) and runs on both Intel and PPC Macs with 10.3, 10.4 and 10.5.&lt;br /&gt;
&lt;br /&gt;
After rebooting or loading the kernel extension by hand, you should have a new Ethernet interface in your System Preferences/Network.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: This driver does not have the same problem as the Apple driver does, where it constantly adds to the list of interfaces each time you reboot the neo, because the driver provides a constant ethernet address independently what the Neo says. Only flashing a new kernel might force you to update.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Issue&amp;lt;/b&amp;gt;: This driver is sometimes a bit flaky, and a reboot of the Mac seems to bring it back. It is especially critical about hot unplugging the OM and sleep modes of MacBooks. This may even result in a Kernel Panic.&lt;br /&gt;
&lt;br /&gt;
=== Network Settings ===&lt;br /&gt;
Open System Preferences and go to Network and you should see &amp;quot;new interface detected enXX&amp;quot;.  In the Show list box select the new interface - Ethernet Adapter enXX.&lt;br /&gt;
&lt;br /&gt;
Use this configuration on the new interface:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP-V4: manual&lt;br /&gt;
IP-Addr:  192.168.0.200 (you can use anything in 192.168.0.* but OM is configured by default to use 192.168.0.200 as the external gateway)&lt;br /&gt;
Subnet:   255.255.255.0 (should be the default - see tip below if have issue with these settings)&lt;br /&gt;
Router:   192.168.0.202 (not actually needed, OS X can figure this out for itself, unless you have other conflicting configurations)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Tip&amp;lt;/b&amp;gt;: If your Internet connection is also in the range 192.168.0.x then instead you might want/need to use:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Subnet:   255.255.255.248&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Testing Your Connection ===&lt;br /&gt;
You should be able to connect to your Neo! Try using Terminal (Applications-&amp;gt;Utilities-&amp;gt;Terminal) to ping the Neo at 192.168.0.202 and the roundtrip time should be between 1 and 2 ms.&lt;br /&gt;
 ping 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Then log into your Neo using ssh:&lt;br /&gt;
 ssh root@192.168.0.202&lt;br /&gt;
The default password is blank.&lt;br /&gt;
&lt;br /&gt;
You can also [[scp]] files back and forth. You can telnet, SSH, SMB or do whatever you want if you install software that enables you to set up TCP/IP network over your USB connection.&lt;br /&gt;
&lt;br /&gt;
Try pinging your Mac PC from the Neo&lt;br /&gt;
 ping 192.168.0.200&lt;br /&gt;
&lt;br /&gt;
Try pinging the outside world (a Google IP address)&lt;br /&gt;
 ping 74.125.19.147&lt;br /&gt;
If that works then your Mac is routing the neo globally--if not see [[MacOS_X#Enabling_the_Mac_as_an_Internet_Router | Sharing Internet Connection with Mac]].&lt;br /&gt;
&lt;br /&gt;
Lastly, verify that DNS is correctly configured between the Neo &amp;amp; Network:&lt;br /&gt;
 ping www.google.com&lt;br /&gt;
&lt;br /&gt;
Congordulations Elizagreth!!! The Neo is networked together with the Mac and sharing the Mac's interweb connection.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth Networking ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
This approach is based on: &lt;br /&gt;
&lt;br /&gt;
http://wiki.openmoko.org/wiki/Bluetooth_Support#Networking&lt;br /&gt;
http://www.macosxhints.com/article.php?story=20051220221237711&lt;br /&gt;
&lt;br /&gt;
Unfortunately we can't use the pand (PAN daemon for BNEP) or dund (Dial Up Networking daemon for LAP) since neither service is available for the Mac.&lt;br /&gt;
&lt;br /&gt;
So, we configure a RFCOMM connection and a PPP gateway on the Mac. Finally, we connect the OM as a ppp client to the Mac.&lt;br /&gt;
&lt;br /&gt;
The reversed direction (OM as the Access Point and the Mac as the client) is described shortly in http://wiki.openmoko.org/wiki/Manually_using_Bluetooth#PPP_Networking&lt;br /&gt;
&lt;br /&gt;
=== Making the Mac a PPP over Bluetooth Access Point ===&lt;br /&gt;
&lt;br /&gt;
In the Bluetooth System Preferences (10.4.11)&lt;br /&gt;
* go to the Sharing pane&lt;br /&gt;
* add a new service &amp;quot;BluetoothAccessPoint&amp;quot; of type RS-232&lt;br /&gt;
* Enable that it is shown in the network preferences pane&lt;br /&gt;
* Apply&lt;br /&gt;
&lt;br /&gt;
In the Network System Preferences&lt;br /&gt;
* activate the new network configuration (BluetoothAccessPoint)&lt;br /&gt;
* go tot the Modem tab and change the modem to &amp;quot;Null Modem 115200&amp;quot;&lt;br /&gt;
* Apply&lt;br /&gt;
&lt;br /&gt;
In a Terminal, enter the following:&lt;br /&gt;
 $ sudo /usr/sbin/pppd /dev/tty.BluetoothAccessPoint 115200 noauth local passive proxyarp asyncmap 0 silent persist :172.16.140.14&lt;br /&gt;
&lt;br /&gt;
Here you see the 172.16.140.14 address, which makes it possible not to use natd, since it's in the same network as the Mac is. So the firewall knows where to sent it to -- no routing problems etc. Pick any free address in your private range. For instance, if you are using the following ... firewall: 192.168.1.1, Mac: 192.168.1.2, you can enter 192.168.1.3, assuming it's not used elsewhere on your network.&lt;br /&gt;
&lt;br /&gt;
If you want to be sure you did it right, open the system.log file on the Mac (tail -f /var/log/system.log), and you should see something like this:&lt;br /&gt;
 Jun 25 10:33:57 hostname pppd[679]:  pppd 2.4.2 (Apple version 229) started by username, uid 0&lt;br /&gt;
 Jun 25 10:33:57 hostname pppd[679]:  Connect: ppp0 &amp;lt;--&amp;gt; /dev/tty.BluetoothAccessPoint&lt;br /&gt;
&lt;br /&gt;
In Terminal, write&lt;br /&gt;
 sudo sysctl -w net.inet.ip.forwarding=1&lt;br /&gt;
which should give the following feedback:&lt;br /&gt;
 net.inet.ip.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
&lt;br /&gt;
In Terminal, write&lt;br /&gt;
 sudo ifconfig ppp0 up.&lt;br /&gt;
&lt;br /&gt;
=== Connecting the Openmoko as a Client to the Mac ===&lt;br /&gt;
&lt;br /&gt;
On the Openmoko do the following&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth&lt;br /&gt;
&lt;br /&gt;
 root@fic-gta01:~$ echo &amp;quot;1&amp;quot; &amp;gt; /sys/bus/platform/devices/gta01-pm-bt.0/power_on&lt;br /&gt;
&lt;br /&gt;
* Scan for the Mac&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
         00:0E:6D:C0:0l:6A       Sho&lt;br /&gt;
         00:20:E0:5A:FE:C8       MacBook&lt;br /&gt;
&lt;br /&gt;
* start the PPP client&lt;br /&gt;
&lt;br /&gt;
 pppd 115000 192.168.1.202:192.168.1.200 local defaultroute pty 'rfcomm connect 0 00:16:CB:2F:A0:46 1'&lt;br /&gt;
&lt;br /&gt;
* Enjoy&lt;br /&gt;
&lt;br /&gt;
== WiFi Networking ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
To Be Done.&lt;br /&gt;
&lt;br /&gt;
== Neo1973 as a Bluetooth GPRS modem ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
To Be Done.&lt;br /&gt;
&lt;br /&gt;
= Enabling the Mac as an Internet Router =&lt;br /&gt;
&lt;br /&gt;
Here is described how to enable your Mac to serve as a Internet Router for your Openmoko device.&lt;br /&gt;
&lt;br /&gt;
Note: you have to open all services you want to use from the Openmoko in the Mac Firewall.&lt;br /&gt;
&lt;br /&gt;
== USB connection ==&lt;br /&gt;
&lt;br /&gt;
In the Sharing System Preferences&lt;br /&gt;
* click the Internet tab&lt;br /&gt;
* Check all the ethernet (en) interfaces you want to enable Internet access for (i.e. the USB connection)&lt;br /&gt;
&lt;br /&gt;
SSH into your Neo and create /etc/resolv.conf, specify your Internet router IP address as the name server. You can simply copy the /etc/resolv.conf from your Mac.&lt;br /&gt;
 scp /etc/resolv.conf root@192.168.0.202:/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
 Example:&lt;br /&gt;
 nameserver 192.168.1.200    # replace by your real nameserver address&lt;br /&gt;
&lt;br /&gt;
Make sure your Neo routing table has entries so that all internet traffic is sent to your Mac (which will forward it to the outside world)&lt;br /&gt;
&lt;br /&gt;
 root@fic-gta01:~$ route&lt;br /&gt;
 Kernel IP routing table&lt;br /&gt;
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
 192.168.0.0     *               255.255.255.0   U     0      0        0 usb0&lt;br /&gt;
 default         192.168.0.200   0.0.0.0         UG    0      0        0 usb0&lt;br /&gt;
&lt;br /&gt;
Don't forget to enable your USB interface for Internet Sharing!&lt;br /&gt;
&lt;br /&gt;
== Bluetooth connection ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
= Accessing data and services on your device =&lt;br /&gt;
&lt;br /&gt;
== ssh ==&lt;br /&gt;
&lt;br /&gt;
After making the USB connection work, start ssh:&lt;br /&gt;
&lt;br /&gt;
ssh -l root 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
If you don't have installed the key, it will ask for a &amp;quot;yes&amp;quot; on the first connection. The root password is blank unless you change it.&lt;br /&gt;
&lt;br /&gt;
 MacBook-hns:~ hns$ ssh -l root 192.168.0.202&lt;br /&gt;
 root@192.168.0.202's password: &lt;br /&gt;
 root@fic-gta01:~$ hostname&lt;br /&gt;
 fic-gta01&lt;br /&gt;
 root@fic-gta01:~$&lt;br /&gt;
&lt;br /&gt;
NOTE: the ssh daemon (dropbear 0.49) on the Openmoko appears to have a bug when sending the exit status back to the client. From time to time you receive an exit status of 255.&lt;br /&gt;
&lt;br /&gt;
== SMB ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
To Be Done.&lt;br /&gt;
&lt;br /&gt;
== X11 ==&lt;br /&gt;
Launch Apple X11. xhost +192.168.0.202. On the Neo: export DISPLAY=192.168.0.200:0.0&lt;br /&gt;
&lt;br /&gt;
== Synchronizing ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
This is not done yet. Possible solutions are SyncML or ZMacSync http://www.dsitri.de/wiki.php?page=ZMacSync&lt;br /&gt;
&lt;br /&gt;
ZMacSync does not yet synchronize but allows more easy access to the Openmoko through Terminal/ssh.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Developing Openmoko software on a Mac =&lt;br /&gt;
&lt;br /&gt;
== Using virtualization software and MokoMakefile/OpenEmbedded ==&lt;br /&gt;
&lt;br /&gt;
You can use Parallels or VMWare to install your favourite Linux distribution and then develop just as on Linux.&lt;br /&gt;
&lt;br /&gt;
There are some drawback since AFAIK dfu-util may not work correctly in such environments. &lt;br /&gt;
&lt;br /&gt;
Don't bother with Parallels Desktop for Mac (&amp;lt;=3), the current USB support is terrible and USB storage keys don't even work so there was no way I would try dfu-util. USB keys work under VMWare Fusion for Mac though I have yet to try dfu-util in an VM under VMWare Fusion as there is Openmoko Flasher for Mac. -- [[User: Eric|Eric]]&lt;br /&gt;
&lt;br /&gt;
== Natively ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
There are some efforts to get through process of compiling OE and Openmoko under mac: [[Openmoko_under_QEMU_on_MacOSX]]&lt;br /&gt;
&lt;br /&gt;
== GNUstep/mySTEP SDK ==&lt;br /&gt;
&lt;br /&gt;
There is a [[QuantumSTEP]]/mySTEP project to port GNUstep to the Openmoko/Neo: [[http://www.quantum-step.com/wiki.php?page=OpenMoko-Edition More Info]]&lt;br /&gt;
An SDK for Xcode/Interface Builder is also available: [[http://www.versiontracker.com/dyn/moreinfo/macosx/20581 Entry at Version Tracker]] [[http://www.quantum-step.com/wiki.php?page=SDK More Info]]&lt;br /&gt;
&lt;br /&gt;
== Tools for Developers ==&lt;br /&gt;
&lt;br /&gt;
Some tools that run on MacOS X&lt;br /&gt;
&lt;br /&gt;
=== mkfs.jffs2 ===&lt;br /&gt;
[[http://www.quantum-step.com/download/OpenMoko-Edition/mkfs.jffs2.tgz mkfs.jffs2]] - make JFFS2 (root) file system (Universal Binary). Package includes sources and Xcode 2.4 project file to rebuild on MacOS X 10.4.11. NOT TESTED DEEPLY.&lt;br /&gt;
&lt;br /&gt;
  mkfs.jffs2 --pad=0x700000 -o rootfs.jffs2 -e 0x4000 -n -d/tmp/jffsroot/&lt;br /&gt;
&lt;br /&gt;
=== Crosscompiler Toolchain ===&lt;br /&gt;
&lt;br /&gt;
[[http://www.quantum-step.com/wiki.php?page=Compiler gcc 2.95.3]] - OABI cross compiler toolchain (C, C++, Obj-C) with Linux headers (PPC and Intel Macs)&lt;br /&gt;
&lt;br /&gt;
If someone has a newer one that works, please provide as an installable OSX Package.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Will the ones from MacPorts work? [[http://www.macports.org/ports.php?by=name&amp;amp;substr=gnueabi]] I'm still trying to get QEMU to work and haven't had a chance to test it yet.&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
&lt;br /&gt;
== Search Software Repositories ==&lt;br /&gt;
&lt;br /&gt;
[[http://www.versiontracker.com/php/qs.php?action=search&amp;amp;str=openmoko&amp;amp;srchArea=macosx Keyword Openmoko]] at VersionTracker&lt;br /&gt;
&lt;br /&gt;
== Discussion Fora ==&lt;br /&gt;
&lt;br /&gt;
[[http://www.oesf.org/forums/index.php?showforum=63 Mac Issues Forum]] at Open Embedded Software Foundation (was Zaurus User Group)&lt;br /&gt;
&lt;br /&gt;
[[Category:Flashing Openmoko]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Mac_OS_X</id>
		<title>Mac OS X</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Mac_OS_X"/>
				<updated>2008-08-10T06:10:06Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: re-organize to make more logical flow&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the Openmoko page devoted to MacOS X users!&lt;br /&gt;
&lt;br /&gt;
Here you can find notes of using Neo1973 and Neo Freerunner with Mac.&lt;br /&gt;
&lt;br /&gt;
= Flashing to your device =&lt;br /&gt;
To operate the Phase 1 devices (Neo 1973), you need to flash a root file system first.&lt;br /&gt;
&lt;br /&gt;
== Graphical Flashing with Openmoko Flasher ==&lt;br /&gt;
Here is a detailed instruction:&lt;br /&gt;
# download Version 1.4 or later of Openmoko Flasher from http://www.dsitri.de/wiki.php?page=OpenMoko%20Flasher&lt;br /&gt;
# select the repository&lt;br /&gt;
# press the Refresh button (which loads the list of packages on the server)&lt;br /&gt;
# select and load the rootfs (takes some minutes for approx. 40 MByte)&lt;br /&gt;
# Now, on your Openmoko, hold the AUX button while pressing the Power button for 5 seconds&lt;br /&gt;
# the BOOT menu should appear&lt;br /&gt;
# connect the USB cable&lt;br /&gt;
# Press the Flash button&lt;br /&gt;
# the BOOT menu screen on the OM should show an indication that it has been switched to DFU mode&lt;br /&gt;
# (if it fails, unplug the Openmoko shortly and replug and try again (experience shows that it is needed up to three times)&lt;br /&gt;
# if it successfully flashed, you should be able to boot the Openmoko and continue configuring AJZaurusUSB&lt;br /&gt;
&lt;br /&gt;
A Universal Binary version of dfu-utils tool (and libusb) is included in the Openmoko Flasher application bundle. You can access it as ''Openmoko Flasher.app/Contents/MacOS/dfu-util''.&lt;br /&gt;
&lt;br /&gt;
== Compiling dfu-util ==&lt;br /&gt;
Alternatively, you can compile dfu-util manually as described at http://wiki.openmoko.org/wiki/User:SNMoore but you need libusb (e.g. through MacPorts).&lt;br /&gt;
&lt;br /&gt;
= Connecting a Mac and an Openmoko device =&lt;br /&gt;
&lt;br /&gt;
== USB Serial ==&lt;br /&gt;
&lt;br /&gt;
It is possible to access the U-Boot [[Bootloader]] serial console from a Mac.  You can use the Terminal application on Mac OS X, or &amp;lt;tt&amp;gt;minicom&amp;lt;/tt&amp;gt; from [http://finkproject.org/ Fink] or [http://www.macports.org/ MacPorts] (formerly Darwin Ports.)&lt;br /&gt;
&lt;br /&gt;
The USB driver creates cu and tty character devices, for example&lt;br /&gt;
 $ ls -la /dev/tty.usb*&lt;br /&gt;
 crw-rw-rw-   1 root  wheel   10,  18 Aug 23 14:10 /dev/tty.usbmodem00000001&lt;br /&gt;
 $ ls -la /dev/cu.usb*&lt;br /&gt;
 crw-rw-rw-   1 root  wheel   10,  19 Aug 23 14:10 /dev/cu.usbmodem00000001&lt;br /&gt;
&lt;br /&gt;
=== USB Serial with screen ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;screen&amp;lt;/code&amp;gt; program is included with Mac OS X, and can be used from the terminal command line to connect to the serial console.   To do this, simply get to a shell prompt in the terminal and invoke &amp;lt;code&amp;gt;screen&amp;lt;/code&amp;gt; as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% screen /dev/tty.usbmodem00000001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should find yourself at the U-boot serial console prompt.   To get out, type &amp;lt;code&amp;gt;control+a&amp;lt;/code&amp;gt; followed by &amp;lt;code&amp;gt;control+backslash&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== USB Serial with minicom ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;minicom&amp;lt;/tt&amp;gt; program from the [http://www.macports.org/ MacPorts] collection can be used to access the USB serial port &amp;lt;tt&amp;gt;/dev/cu.usbmodem00000001&amp;lt;/tt&amp;gt; (numbering may vary.)&lt;br /&gt;
&lt;br /&gt;
First install the program (assuming you already have MacPorts installed):&lt;br /&gt;
&lt;br /&gt;
 sudo port install minicom&lt;br /&gt;
&lt;br /&gt;
Then launch it in configuration mode (the -s flag):&lt;br /&gt;
&lt;br /&gt;
 sudo minicom -s&lt;br /&gt;
&lt;br /&gt;
Under &amp;quot;Serial Port Setup&amp;quot;, set the Device to &amp;quot;/dev/cu.usbmodem00000001&amp;quot; and set Bps to &amp;quot;115200 8N1&amp;quot;. Under &amp;quot;Modem and Dialing&amp;quot;, enter empty strings for &amp;quot;Init string&amp;quot;, &amp;quot;Reset string&amp;quot;, and &amp;quot;Hang-up string&amp;quot;. Save the setup as default (&amp;quot;dfl&amp;quot;) then Exit. &lt;br /&gt;
&lt;br /&gt;
You should now be able to access the bootloader console. You should exit from Minicom before disconnecting the smartphone, or else you will get an error about unplugging a USB device while it is in use.&lt;br /&gt;
&lt;br /&gt;
=== USB Serial with Terminal ===&lt;br /&gt;
&lt;br /&gt;
The built in Mac Terminal application &amp;lt;tt&amp;gt;Terminal.app&amp;lt;/tt&amp;gt; can be used to access the USB serial port &amp;lt;tt&amp;gt;/dev/tty.usbmodem00000001&amp;lt;/tt&amp;gt; (numbering may vary.)&lt;br /&gt;
&lt;br /&gt;
An easy way to do this is to configure the terminal with Script Editor, as described in the short article, [http://www.macosxhints.com/article.php?story=20061109133825654 ''Use 'screen' as a serial terminal emulator''](macosxhints.com).  Then,&lt;br /&gt;
&lt;br /&gt;
# Press and hold {{aux}} and then press and hold {{power}} for 5 seconds&lt;br /&gt;
# Press {{aux}} to select &amp;lt;tt&amp;gt;Set console to USB&amp;lt;/tt&amp;gt; in the U-Boot menu, and {{power}} to execute it&lt;br /&gt;
# Start the serial terminal application.  You should see a U-Boot command line prompt, such as&lt;br /&gt;
 In:    usbtty&lt;br /&gt;
 Out:   usbtty&lt;br /&gt;
 Err:   usbtty&lt;br /&gt;
 DEVICE_CONFIGURED: 1&lt;br /&gt;
 Enabling automatic fast charge&lt;br /&gt;
 GTA01Bv4 #&lt;br /&gt;
When you boot Linux on the smartphone, or if the smartphone powers down, Mac OS X will show a USB Device Unplug Notice, &amp;quot;The USB device has been unplugged while an application was still active. This can result in loss of data.&amp;quot; This error is probably harmless.&lt;br /&gt;
&lt;br /&gt;
== USB Networking ==&lt;br /&gt;
&lt;br /&gt;
There are two drivers you can use to talk to the RNDIS/Ethernet Gadget that the Neo1973 presents to its host system. The main difference between them is stability, but both have their own problems. Leopard needs further testing (Apple revised the driver and the Network System Settings).&lt;br /&gt;
&lt;br /&gt;
=== Apple CDC Ethernet driver 10.4.10 ===&lt;br /&gt;
MacOS X 10.4.10 and later includes a driver for RNDIS/Ethernet Gadget devices. Launch System Preferences -&amp;gt; Network and you should see &amp;quot;new interface detected enXX&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Issue&amp;lt;/b&amp;gt;: Each time you reboot the Neo, the interface will get a different Ethernet address. This in turn makes Mac OS X create a new configuration record. After a while you'll end up with a load of unusable enXX devices - if you don't periodically clean them out. Open System Preferences and go to Network -&amp;gt; Show(Network Port Configurations) -&amp;gt; Select an enXX -&amp;gt; Delete.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: this is not a problem to blame MacOSX for because it tries to make network configuration simpler based on the assumption of stable Ethernet addresses.&lt;br /&gt;
&lt;br /&gt;
=== Apple CDC Ethernet driver 10.5.x ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Issue&amp;lt;/b&amp;gt;:10.5 (Leopard) doesn't show a new ethernet interface for a Neo1973 running 2007.11. You'll only get the serial port, which is detected as a modem. The Ethernet device will show up in ifconfig though.&lt;br /&gt;
&lt;br /&gt;
It turns out that the AppleUSBCDC driver prefers to use the CDC-ACM interface of USB networking devices instead of CDC-ECM with the exception of a broadcom network card. You can download a patched AppleUSBCDC driver that will recognize the usb id/vendor pair of g_ether and force it to use CDC-ECM. You can obtain the OS X 10.5.X patched driver from: http://bugcommunity.com/downloads/usbcdc-g_ether.zip. Source code: http://bugcommunity.com/downloads/files/AppleUSBCDCDriver-g_ether.326.4.1.zip&lt;br /&gt;
&lt;br /&gt;
The issue of multiple network interfaces showing up whenever the device is rebooted/power-cycled is due to the g_ether driver randomly setting the host and device mac addresses. This problem is remedied by passing the same host and device mac addresses during the modprobe of g_ether.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 modprobe g_ether host_addr=46:0d:9e:67:69:eb dev_addr=46:0d:9e:67:69:ec&lt;br /&gt;
&lt;br /&gt;
=== AJZaurusUSB driver ===&lt;br /&gt;
&lt;br /&gt;
You can also use the open source driver from [http://www.dsitri.de/wiki.php?page=AJZaurusUSB]. It was developed for handheld devices like iPAQ, Sharp Zaurus and Motorola A760, but works for Openmoko as well. Download and install according to the manual found inside the package. The code is GPL'd (source available) and runs on both Intel and PPC Macs with 10.3, 10.4 and 10.5.&lt;br /&gt;
&lt;br /&gt;
After rebooting or loading the kernel extension by hand, you should have a new Ethernet interface in your System Preferences/Network.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: This driver does not have the same problem as the Apple driver does, where it constantly adds to the list of interfaces each time you reboot the neo, because the driver provides a constant ethernet address independently what the Neo says. Only flashing a new kernel might force you to update.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Issue&amp;lt;/b&amp;gt;: This driver is sometimes a bit flaky, and a reboot of the Mac seems to bring it back. It is especially critical about hot unplugging the OM and sleep modes of MacBooks. This may even result in a Kernel Panic.&lt;br /&gt;
&lt;br /&gt;
=== Network Settings ===&lt;br /&gt;
Open System Preferences and go to Network and you should see &amp;quot;new interface detected enXX&amp;quot;.  In the Show list box select the new interface - Ethernet Adapter enXX.&lt;br /&gt;
&lt;br /&gt;
Use this configuration on the new interface:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP-V4: manual&lt;br /&gt;
IP-Addr:  192.168.0.200 (you can use anything in 192.168.0.* but OM is configured by default to use 192.168.0.200 as the external gateway)&lt;br /&gt;
Subnet:   255.255.255.0 (should be the default - see tip below if have issue with these settings)&lt;br /&gt;
Router:   192.168.0.202 (not actually needed, OS X can figure this out for itself, unless you have other conflicting configurations)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Tip&amp;lt;/b&amp;gt;: If your Internet connection is also in the range 192.168.0.x then instead you might want/need to use:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Subnet:   255.255.255.248&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Testing Your Connection ===&lt;br /&gt;
You should be able to connect to your Neo! Try using Terminal (Applications-&amp;gt;Utilities-&amp;gt;Terminal) to ping the Neo at 192.168.0.202 and the roundtrip time should be between 1 and 2 ms.&lt;br /&gt;
 ping 192.168.0.200&lt;br /&gt;
&lt;br /&gt;
Then log into your Neo using ssh:&lt;br /&gt;
 ssh root@192.168.0.202&lt;br /&gt;
The default password is blank.&lt;br /&gt;
&lt;br /&gt;
You can also [[scp]] files back and forth. You can telnet, SSH, SMB or do whatever you want if you install software that enables you to set up TCP/IP network over your USB connection.&lt;br /&gt;
&lt;br /&gt;
Try pinging your Mac PC from the Neo&lt;br /&gt;
 ping 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Try pinging the outside world (a Google IP address)&lt;br /&gt;
 ping 74.125.19.147&lt;br /&gt;
If that works then your Mac is routing the neo globally--if not see [[MacOS_X#Enabling_the_Mac_as_an_Internet_Router | Sharing Internet Connection with Mac]].&lt;br /&gt;
&lt;br /&gt;
Lastly, verify that DNS is correctly configured between the Neo &amp;amp; Network:&lt;br /&gt;
 ping www.google.com&lt;br /&gt;
&lt;br /&gt;
Congordulations Elizagreth!!! The Neo is networked together with the Mac and sharing the Mac's interweb connection.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth Networking ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
This approach is based on: &lt;br /&gt;
&lt;br /&gt;
http://wiki.openmoko.org/wiki/Bluetooth_Support#Networking&lt;br /&gt;
http://www.macosxhints.com/article.php?story=20051220221237711&lt;br /&gt;
&lt;br /&gt;
Unfortunately we can't use the pand (PAN daemon for BNEP) or dund (Dial Up Networking daemon for LAP) since neither service is available for the Mac.&lt;br /&gt;
&lt;br /&gt;
So, we configure a RFCOMM connection and a PPP gateway on the Mac. Finally, we connect the OM as a ppp client to the Mac.&lt;br /&gt;
&lt;br /&gt;
The reversed direction (OM as the Access Point and the Mac as the client) is described shortly in http://wiki.openmoko.org/wiki/Manually_using_Bluetooth#PPP_Networking&lt;br /&gt;
&lt;br /&gt;
=== Making the Mac a PPP over Bluetooth Access Point ===&lt;br /&gt;
&lt;br /&gt;
In the Bluetooth System Preferences (10.4.11)&lt;br /&gt;
* go to the Sharing pane&lt;br /&gt;
* add a new service &amp;quot;BluetoothAccessPoint&amp;quot; of type RS-232&lt;br /&gt;
* Enable that it is shown in the network preferences pane&lt;br /&gt;
* Apply&lt;br /&gt;
&lt;br /&gt;
In the Network System Preferences&lt;br /&gt;
* activate the new network configuration (BluetoothAccessPoint)&lt;br /&gt;
* go tot the Modem tab and change the modem to &amp;quot;Null Modem 115200&amp;quot;&lt;br /&gt;
* Apply&lt;br /&gt;
&lt;br /&gt;
In a Terminal, enter the following:&lt;br /&gt;
 $ sudo /usr/sbin/pppd /dev/tty.BluetoothAccessPoint 115200 noauth local passive proxyarp asyncmap 0 silent persist :172.16.140.14&lt;br /&gt;
&lt;br /&gt;
Here you see the 172.16.140.14 address, which makes it possible not to use natd, since it's in the same network as the Mac is. So the firewall knows where to sent it to -- no routing problems etc. Pick any free address in your private range. For instance, if you are using the following ... firewall: 192.168.1.1, Mac: 192.168.1.2, you can enter 192.168.1.3, assuming it's not used elsewhere on your network.&lt;br /&gt;
&lt;br /&gt;
If you want to be sure you did it right, open the system.log file on the Mac (tail -f /var/log/system.log), and you should see something like this:&lt;br /&gt;
 Jun 25 10:33:57 hostname pppd[679]:  pppd 2.4.2 (Apple version 229) started by username, uid 0&lt;br /&gt;
 Jun 25 10:33:57 hostname pppd[679]:  Connect: ppp0 &amp;lt;--&amp;gt; /dev/tty.BluetoothAccessPoint&lt;br /&gt;
&lt;br /&gt;
In Terminal, write&lt;br /&gt;
 sudo sysctl -w net.inet.ip.forwarding=1&lt;br /&gt;
which should give the following feedback:&lt;br /&gt;
 net.inet.ip.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
&lt;br /&gt;
In Terminal, write&lt;br /&gt;
 sudo ifconfig ppp0 up.&lt;br /&gt;
&lt;br /&gt;
=== Connecting the Openmoko as a Client to the Mac ===&lt;br /&gt;
&lt;br /&gt;
On the Openmoko do the following&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth&lt;br /&gt;
&lt;br /&gt;
 root@fic-gta01:~$ echo &amp;quot;1&amp;quot; &amp;gt; /sys/bus/platform/devices/gta01-pm-bt.0/power_on&lt;br /&gt;
&lt;br /&gt;
* Scan for the Mac&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
         00:0E:6D:C0:0l:6A       Sho&lt;br /&gt;
         00:20:E0:5A:FE:C8       MacBook&lt;br /&gt;
&lt;br /&gt;
* start the PPP client&lt;br /&gt;
&lt;br /&gt;
 pppd 115000 192.168.1.202:192.168.1.200 local defaultroute pty 'rfcomm connect 0 00:16:CB:2F:A0:46 1'&lt;br /&gt;
&lt;br /&gt;
* Enjoy&lt;br /&gt;
&lt;br /&gt;
== WiFi Networking ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
To Be Done.&lt;br /&gt;
&lt;br /&gt;
== Neo1973 as a Bluetooth GPRS modem ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
To Be Done.&lt;br /&gt;
&lt;br /&gt;
= Enabling the Mac as an Internet Router =&lt;br /&gt;
&lt;br /&gt;
Here is described how to enable your Mac to serve as a Internet Router for your Openmoko device.&lt;br /&gt;
&lt;br /&gt;
Note: you have to open all services you want to use from the Openmoko in the Mac Firewall.&lt;br /&gt;
&lt;br /&gt;
== USB connection ==&lt;br /&gt;
&lt;br /&gt;
In the Sharing System Preferences&lt;br /&gt;
* click the Internet tab&lt;br /&gt;
* Check all the ethernet (en) interfaces you want to enable Internet access for (i.e. the USB connection)&lt;br /&gt;
&lt;br /&gt;
SSH into your Neo and create /etc/resolv.conf, specify your Internet router IP address as the name server. You can simply copy the /etc/resolv.conf from your Mac.&lt;br /&gt;
 scp /etc/resolv.conf root@192.168.0.202:/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
 Example:&lt;br /&gt;
 nameserver 192.168.1.200    # replace by your real nameserver address&lt;br /&gt;
&lt;br /&gt;
Make sure your Neo routing table has entries so that all internet traffic is sent to your Mac (which will forward it to the outside world)&lt;br /&gt;
&lt;br /&gt;
 root@fic-gta01:~$ route&lt;br /&gt;
 Kernel IP routing table&lt;br /&gt;
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
 192.168.0.0     *               255.255.255.0   U     0      0        0 usb0&lt;br /&gt;
 default         192.168.0.200   0.0.0.0         UG    0      0        0 usb0&lt;br /&gt;
&lt;br /&gt;
Don't forget to enable your USB interface for Internet Sharing!&lt;br /&gt;
&lt;br /&gt;
== Bluetooth connection ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
= Accessing data and services on your device =&lt;br /&gt;
&lt;br /&gt;
== ssh ==&lt;br /&gt;
&lt;br /&gt;
After making the USB connection work, start ssh:&lt;br /&gt;
&lt;br /&gt;
ssh -l root 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
If you don't have installed the key, it will ask for a &amp;quot;yes&amp;quot; on the first connection. The root password is blank unless you change it.&lt;br /&gt;
&lt;br /&gt;
 MacBook-hns:~ hns$ ssh -l root 192.168.0.202&lt;br /&gt;
 root@192.168.0.202's password: &lt;br /&gt;
 root@fic-gta01:~$ hostname&lt;br /&gt;
 fic-gta01&lt;br /&gt;
 root@fic-gta01:~$&lt;br /&gt;
&lt;br /&gt;
NOTE: the ssh daemon (dropbear 0.49) on the Openmoko appears to have a bug when sending the exit status back to the client. From time to time you receive an exit status of 255.&lt;br /&gt;
&lt;br /&gt;
== SMB ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
To Be Done.&lt;br /&gt;
&lt;br /&gt;
== X11 ==&lt;br /&gt;
Launch Apple X11. xhost +192.168.0.202. On the Neo: export DISPLAY=192.168.0.200:0.0&lt;br /&gt;
&lt;br /&gt;
== Synchronizing ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
This is not done yet. Possible solutions are SyncML or ZMacSync http://www.dsitri.de/wiki.php?page=ZMacSync&lt;br /&gt;
&lt;br /&gt;
ZMacSync does not yet synchronize but allows more easy access to the Openmoko through Terminal/ssh.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Developing Openmoko software on a Mac =&lt;br /&gt;
&lt;br /&gt;
== Using virtualization software and MokoMakefile/OpenEmbedded ==&lt;br /&gt;
&lt;br /&gt;
You can use Parallels or VMWare to install your favourite Linux distribution and then develop just as on Linux.&lt;br /&gt;
&lt;br /&gt;
There are some drawback since AFAIK dfu-util may not work correctly in such environments. &lt;br /&gt;
&lt;br /&gt;
Don't bother with Parallels Desktop for Mac (&amp;lt;=3), the current USB support is terrible and USB storage keys don't even work so there was no way I would try dfu-util. USB keys work under VMWare Fusion for Mac though I have yet to try dfu-util in an VM under VMWare Fusion as there is Openmoko Flasher for Mac. -- [[User: Eric|Eric]]&lt;br /&gt;
&lt;br /&gt;
== Natively ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
There are some efforts to get through process of compiling OE and Openmoko under mac: [[Openmoko_under_QEMU_on_MacOSX]]&lt;br /&gt;
&lt;br /&gt;
== GNUstep/mySTEP SDK ==&lt;br /&gt;
&lt;br /&gt;
There is a [[QuantumSTEP]]/mySTEP project to port GNUstep to the Openmoko/Neo: [[http://www.quantum-step.com/wiki.php?page=OpenMoko-Edition More Info]]&lt;br /&gt;
An SDK for Xcode/Interface Builder is also available: [[http://www.versiontracker.com/dyn/moreinfo/macosx/20581 Entry at Version Tracker]] [[http://www.quantum-step.com/wiki.php?page=SDK More Info]]&lt;br /&gt;
&lt;br /&gt;
== Tools for Developers ==&lt;br /&gt;
&lt;br /&gt;
Some tools that run on MacOS X&lt;br /&gt;
&lt;br /&gt;
=== mkfs.jffs2 ===&lt;br /&gt;
[[http://www.quantum-step.com/download/OpenMoko-Edition/mkfs.jffs2.tgz mkfs.jffs2]] - make JFFS2 (root) file system (Universal Binary). Package includes sources and Xcode 2.4 project file to rebuild on MacOS X 10.4.11. NOT TESTED DEEPLY.&lt;br /&gt;
&lt;br /&gt;
  mkfs.jffs2 --pad=0x700000 -o rootfs.jffs2 -e 0x4000 -n -d/tmp/jffsroot/&lt;br /&gt;
&lt;br /&gt;
=== Crosscompiler Toolchain ===&lt;br /&gt;
&lt;br /&gt;
[[http://www.quantum-step.com/wiki.php?page=Compiler gcc 2.95.3]] - OABI cross compiler toolchain (C, C++, Obj-C) with Linux headers (PPC and Intel Macs)&lt;br /&gt;
&lt;br /&gt;
If someone has a newer one that works, please provide as an installable OSX Package.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Will the ones from MacPorts work? [[http://www.macports.org/ports.php?by=name&amp;amp;substr=gnueabi]] I'm still trying to get QEMU to work and haven't had a chance to test it yet.&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
&lt;br /&gt;
== Search Software Repositories ==&lt;br /&gt;
&lt;br /&gt;
[[http://www.versiontracker.com/php/qs.php?action=search&amp;amp;str=openmoko&amp;amp;srchArea=macosx Keyword Openmoko]] at VersionTracker&lt;br /&gt;
&lt;br /&gt;
== Discussion Fora ==&lt;br /&gt;
&lt;br /&gt;
[[http://www.oesf.org/forums/index.php?showforum=63 Mac Issues Forum]] at Open Embedded Software Foundation (was Zaurus User Group)&lt;br /&gt;
&lt;br /&gt;
[[Category:Flashing Openmoko]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Mac_OS_X</id>
		<title>Mac OS X</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Mac_OS_X"/>
				<updated>2008-08-10T05:57:45Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: expanded missing parts of testing connection&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the Openmoko page devoted to MacOS X users!&lt;br /&gt;
&lt;br /&gt;
Here you can find notes of using Neo1973 and Neo Freerunner with Mac.&lt;br /&gt;
&lt;br /&gt;
= Flashing to your device =&lt;br /&gt;
To operate the Phase 1 devices (Neo 1973), you need to flash a root file system first.&lt;br /&gt;
&lt;br /&gt;
== Graphical Flashing with Openmoko Flasher ==&lt;br /&gt;
Here is a detailed instruction:&lt;br /&gt;
# download Version 1.4 or later of Openmoko Flasher from http://www.dsitri.de/wiki.php?page=OpenMoko%20Flasher&lt;br /&gt;
# select the repository&lt;br /&gt;
# press the Refresh button (which loads the list of packages on the server)&lt;br /&gt;
# select and load the rootfs (takes some minutes for approx. 40 MByte)&lt;br /&gt;
# Now, on your Openmoko, hold the AUX button while pressing the Power button for 5 seconds&lt;br /&gt;
# the BOOT menu should appear&lt;br /&gt;
# connect the USB cable&lt;br /&gt;
# Press the Flash button&lt;br /&gt;
# the BOOT menu screen on the OM should show an indication that it has been switched to DFU mode&lt;br /&gt;
# (if it fails, unplug the Openmoko shortly and replug and try again (experience shows that it is needed up to three times)&lt;br /&gt;
# if it successfully flashed, you should be able to boot the Openmoko and continue configuring AJZaurusUSB&lt;br /&gt;
&lt;br /&gt;
A Universal Binary version of dfu-utils tool (and libusb) is included in the Openmoko Flasher application bundle. You can access it as ''Openmoko Flasher.app/Contents/MacOS/dfu-util''.&lt;br /&gt;
&lt;br /&gt;
== Compiling dfu-util ==&lt;br /&gt;
Alternatively, you can compile dfu-util manually as described at http://wiki.openmoko.org/wiki/User:SNMoore but you need libusb (e.g. through MacPorts).&lt;br /&gt;
&lt;br /&gt;
= Connecting a Mac and an Openmoko device =&lt;br /&gt;
&lt;br /&gt;
== USB Serial ==&lt;br /&gt;
&lt;br /&gt;
It is possible to access the U-Boot [[Bootloader]] serial console from a Mac.  You can use the Terminal application on Mac OS X, or &amp;lt;tt&amp;gt;minicom&amp;lt;/tt&amp;gt; from [http://finkproject.org/ Fink] or [http://www.macports.org/ MacPorts] (formerly Darwin Ports.)&lt;br /&gt;
&lt;br /&gt;
The USB driver creates cu and tty character devices, for example&lt;br /&gt;
 $ ls -la /dev/tty.usb*&lt;br /&gt;
 crw-rw-rw-   1 root  wheel   10,  18 Aug 23 14:10 /dev/tty.usbmodem00000001&lt;br /&gt;
 $ ls -la /dev/cu.usb*&lt;br /&gt;
 crw-rw-rw-   1 root  wheel   10,  19 Aug 23 14:10 /dev/cu.usbmodem00000001&lt;br /&gt;
&lt;br /&gt;
=== USB Serial with screen ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;screen&amp;lt;/code&amp;gt; program is included with Mac OS X, and can be used from the terminal command line to connect to the serial console.   To do this, simply get to a shell prompt in the terminal and invoke &amp;lt;code&amp;gt;screen&amp;lt;/code&amp;gt; as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% screen /dev/tty.usbmodem00000001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should find yourself at the U-boot serial console prompt.   To get out, type &amp;lt;code&amp;gt;control+a&amp;lt;/code&amp;gt; followed by &amp;lt;code&amp;gt;control+backslash&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== USB Serial with minicom ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;minicom&amp;lt;/tt&amp;gt; program from the [http://www.macports.org/ MacPorts] collection can be used to access the USB serial port &amp;lt;tt&amp;gt;/dev/cu.usbmodem00000001&amp;lt;/tt&amp;gt; (numbering may vary.)&lt;br /&gt;
&lt;br /&gt;
First install the program (assuming you already have MacPorts installed):&lt;br /&gt;
&lt;br /&gt;
 sudo port install minicom&lt;br /&gt;
&lt;br /&gt;
Then launch it in configuration mode (the -s flag):&lt;br /&gt;
&lt;br /&gt;
 sudo minicom -s&lt;br /&gt;
&lt;br /&gt;
Under &amp;quot;Serial Port Setup&amp;quot;, set the Device to &amp;quot;/dev/cu.usbmodem00000001&amp;quot; and set Bps to &amp;quot;115200 8N1&amp;quot;. Under &amp;quot;Modem and Dialing&amp;quot;, enter empty strings for &amp;quot;Init string&amp;quot;, &amp;quot;Reset string&amp;quot;, and &amp;quot;Hang-up string&amp;quot;. Save the setup as default (&amp;quot;dfl&amp;quot;) then Exit. &lt;br /&gt;
&lt;br /&gt;
You should now be able to access the bootloader console. You should exit from Minicom before disconnecting the smartphone, or else you will get an error about unplugging a USB device while it is in use.&lt;br /&gt;
&lt;br /&gt;
=== USB Serial with Terminal ===&lt;br /&gt;
&lt;br /&gt;
The built in Mac Terminal application &amp;lt;tt&amp;gt;Terminal.app&amp;lt;/tt&amp;gt; can be used to access the USB serial port &amp;lt;tt&amp;gt;/dev/tty.usbmodem00000001&amp;lt;/tt&amp;gt; (numbering may vary.)&lt;br /&gt;
&lt;br /&gt;
An easy way to do this is to configure the terminal with Script Editor, as described in the short article, [http://www.macosxhints.com/article.php?story=20061109133825654 ''Use 'screen' as a serial terminal emulator''](macosxhints.com).  Then,&lt;br /&gt;
&lt;br /&gt;
# Press and hold {{aux}} and then press and hold {{power}} for 5 seconds&lt;br /&gt;
# Press {{aux}} to select &amp;lt;tt&amp;gt;Set console to USB&amp;lt;/tt&amp;gt; in the U-Boot menu, and {{power}} to execute it&lt;br /&gt;
# Start the serial terminal application.  You should see a U-Boot command line prompt, such as&lt;br /&gt;
 In:    usbtty&lt;br /&gt;
 Out:   usbtty&lt;br /&gt;
 Err:   usbtty&lt;br /&gt;
 DEVICE_CONFIGURED: 1&lt;br /&gt;
 Enabling automatic fast charge&lt;br /&gt;
 GTA01Bv4 #&lt;br /&gt;
When you boot Linux on the smartphone, or if the smartphone powers down, Mac OS X will show a USB Device Unplug Notice, &amp;quot;The USB device has been unplugged while an application was still active. This can result in loss of data.&amp;quot; This error is probably harmless.&lt;br /&gt;
&lt;br /&gt;
== USB Networking ==&lt;br /&gt;
&lt;br /&gt;
There are two drivers you can use to talk to the RNDIS/Ethernet Gadget that the Neo1973 presents to its host system. The main difference between them is stability, but both have their own problems. Leopard needs further testing (Apple revised the driver and the Network System Settings).&lt;br /&gt;
&lt;br /&gt;
=== Apple CDC Ethernet driver 10.4.10 ===&lt;br /&gt;
MacOS X 10.4.10 and later includes a driver for RNDIS/Ethernet Gadget devices. Launch System Preferences -&amp;gt; Network and you should see &amp;quot;new interface detected enXX&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Issue&amp;lt;/b&amp;gt;: Each time you reboot the Neo, the interface will get a different Ethernet address. This in turn makes Mac OS X create a new configuration record. After a while you'll end up with a load of unusable enXX devices - if you don't periodically clean them out. Open System Preferences and go to Network -&amp;gt; Show(Network Port Configurations) -&amp;gt; Select an enXX -&amp;gt; Delete.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: this is not a problem to blame MacOSX for because it tries to make network configuration simpler based on the assumption of stable Ethernet addresses.&lt;br /&gt;
&lt;br /&gt;
Use this configuration on the new interface:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP-V4: manual&lt;br /&gt;
IP-Addr:  192.168.0.200 (you can use anything in 192.168.0.* but OM is configured by default to use 192.168.0.200 as the external gateway)&lt;br /&gt;
Subnet:   255.255.255.0 (should be the default - see tip below if have issue with these settings)&lt;br /&gt;
Router:   192.168.0.202 (not actually needed, OS X can figure this out for itself, unless you have other conflicting configurations)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Tip&amp;lt;/b&amp;gt;: If your Internet connection is also in the range 192.168.0.x then instead you might want to use:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Subnet:   255.255.255.248&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Testing Your Connection ===&lt;br /&gt;
You should be able to connect to your Neo! Try using Terminal (Applications-&amp;gt;Utilities-&amp;gt;Terminal) to ping the Neo at 192.168.0.202 and the roundtrip time should be between 1 and 2 ms.&lt;br /&gt;
 ping 192.168.0.200&lt;br /&gt;
&lt;br /&gt;
Then log into your Neo using ssh:&lt;br /&gt;
 ssh root@192.168.0.202&lt;br /&gt;
The default password is blank.&lt;br /&gt;
&lt;br /&gt;
You can also [[scp]] files back and forth. You can telnet, SSH, SMB or do whatever you want if you install software that enables you to set up TCP/IP network over your USB connection.&lt;br /&gt;
&lt;br /&gt;
Try pinging your Mac PC from the Neo&lt;br /&gt;
 ping 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Try pinging the outside world (a Google IP address)&lt;br /&gt;
 ping 74.125.19.147&lt;br /&gt;
If that works then your Mac is routing the neo globally--if not see [[MacOS_X#Enabling_the_Mac_as_an_Internet_Router | Sharing Internet Connection with Mac]].&lt;br /&gt;
&lt;br /&gt;
Lastly, verify that DNS is correctly configured between the Neo &amp;amp; Network:&lt;br /&gt;
 ping www.google.com&lt;br /&gt;
&lt;br /&gt;
Congordulations Elizagreth!!! The Neo is networked together with the Mac and sharing the Mac's interweb connection.&lt;br /&gt;
&lt;br /&gt;
=== Apple CDC Ethernet driver 10.5.x ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Issue&amp;lt;/b&amp;gt;:10.5 (Leopard) doesn't show a new ethernet interface for a Neo1973 running 2007.11. You'll only get the serial port, which is detected as a modem. The Ethernet device will show up in ifconfig though.&lt;br /&gt;
&lt;br /&gt;
It turns out that the AppleUSBCDC driver prefers to use the CDC-ACM interface of USB networking devices instead of CDC-ECM with the exception of a broadcom network card. You can download a patched AppleUSBCDC driver that will recognize the usb id/vendor pair of g_ether and force it to use CDC-ECM. You can obtain the OS X 10.5.X patched driver from: http://bugcommunity.com/downloads/usbcdc-g_ether.zip. Source code: http://bugcommunity.com/downloads/files/AppleUSBCDCDriver-g_ether.326.4.1.zip&lt;br /&gt;
&lt;br /&gt;
The issue of multiple network interfaces showing up whenever the device is rebooted/power-cycled is due to the g_ether driver randomly setting the host and device mac addresses. This problem is remedied by passing the same host and device mac addresses during the modprobe of g_ether.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 modprobe g_ether host_addr=46:0d:9e:67:69:eb dev_addr=46:0d:9e:67:69:ec&lt;br /&gt;
&lt;br /&gt;
=== AJZaurusUSB driver ===&lt;br /&gt;
&lt;br /&gt;
You can also use the open source driver from [http://www.dsitri.de/wiki.php?page=AJZaurusUSB]. It was developed for handheld devices like iPAQ, Sharp Zaurus and Motorola A760, but works for Openmoko as well. Download and install according to the manual found inside the package. The code is GPL'd (source available) and runs on both Intel and PPC Macs with 10.3, 10.4 and 10.5.&lt;br /&gt;
&lt;br /&gt;
After rebooting or loading the kernel extension by hand, you should have a new Ethernet interface in your System Preferences/Network.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: This driver does not have the same problem as the Apple driver does, where it constantly adds to the list of interfaces each time you reboot the neo, because the driver provides a constant ethernet address independently what the Neo says. Only flashing a new kernel might force you to update.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Issue&amp;lt;/b&amp;gt;: This driver is sometimes a bit flaky, and a reboot of the Mac seems to bring it back. It is especially critical about hot unplugging the OM and sleep modes of MacBooks. This may even result in a Kernel Panic.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth Networking ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
This approach is based on: &lt;br /&gt;
&lt;br /&gt;
http://wiki.openmoko.org/wiki/Bluetooth_Support#Networking&lt;br /&gt;
http://www.macosxhints.com/article.php?story=20051220221237711&lt;br /&gt;
&lt;br /&gt;
Unfortunately we can't use the pand (PAN daemon for BNEP) or dund (Dial Up Networking daemon for LAP) since neither service is available for the Mac.&lt;br /&gt;
&lt;br /&gt;
So, we configure a RFCOMM connection and a PPP gateway on the Mac. Finally, we connect the OM as a ppp client to the Mac.&lt;br /&gt;
&lt;br /&gt;
The reversed direction (OM as the Access Point and the Mac as the client) is described shortly in http://wiki.openmoko.org/wiki/Manually_using_Bluetooth#PPP_Networking&lt;br /&gt;
&lt;br /&gt;
=== Making the Mac a PPP over Bluetooth Access Point ===&lt;br /&gt;
&lt;br /&gt;
In the Bluetooth System Preferences (10.4.11)&lt;br /&gt;
* go to the Sharing pane&lt;br /&gt;
* add a new service &amp;quot;BluetoothAccessPoint&amp;quot; of type RS-232&lt;br /&gt;
* Enable that it is shown in the network preferences pane&lt;br /&gt;
* Apply&lt;br /&gt;
&lt;br /&gt;
In the Network System Preferences&lt;br /&gt;
* activate the new network configuration (BluetoothAccessPoint)&lt;br /&gt;
* go tot the Modem tab and change the modem to &amp;quot;Null Modem 115200&amp;quot;&lt;br /&gt;
* Apply&lt;br /&gt;
&lt;br /&gt;
In a Terminal, enter the following:&lt;br /&gt;
 $ sudo /usr/sbin/pppd /dev/tty.BluetoothAccessPoint 115200 noauth local passive proxyarp asyncmap 0 silent persist :172.16.140.14&lt;br /&gt;
&lt;br /&gt;
Here you see the 172.16.140.14 address, which makes it possible not to use natd, since it's in the same network as the Mac is. So the firewall knows where to sent it to -- no routing problems etc. Pick any free address in your private range. For instance, if you are using the following ... firewall: 192.168.1.1, Mac: 192.168.1.2, you can enter 192.168.1.3, assuming it's not used elsewhere on your network.&lt;br /&gt;
&lt;br /&gt;
If you want to be sure you did it right, open the system.log file on the Mac (tail -f /var/log/system.log), and you should see something like this:&lt;br /&gt;
 Jun 25 10:33:57 hostname pppd[679]:  pppd 2.4.2 (Apple version 229) started by username, uid 0&lt;br /&gt;
 Jun 25 10:33:57 hostname pppd[679]:  Connect: ppp0 &amp;lt;--&amp;gt; /dev/tty.BluetoothAccessPoint&lt;br /&gt;
&lt;br /&gt;
In Terminal, write&lt;br /&gt;
 sudo sysctl -w net.inet.ip.forwarding=1&lt;br /&gt;
which should give the following feedback:&lt;br /&gt;
 net.inet.ip.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
&lt;br /&gt;
In Terminal, write&lt;br /&gt;
 sudo ifconfig ppp0 up.&lt;br /&gt;
&lt;br /&gt;
=== Connecting the Openmoko as a Client to the Mac ===&lt;br /&gt;
&lt;br /&gt;
On the Openmoko do the following&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth&lt;br /&gt;
&lt;br /&gt;
 root@fic-gta01:~$ echo &amp;quot;1&amp;quot; &amp;gt; /sys/bus/platform/devices/gta01-pm-bt.0/power_on&lt;br /&gt;
&lt;br /&gt;
* Scan for the Mac&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
         00:0E:6D:C0:0l:6A       Sho&lt;br /&gt;
         00:20:E0:5A:FE:C8       MacBook&lt;br /&gt;
&lt;br /&gt;
* start the PPP client&lt;br /&gt;
&lt;br /&gt;
 pppd 115000 192.168.1.202:192.168.1.200 local defaultroute pty 'rfcomm connect 0 00:16:CB:2F:A0:46 1'&lt;br /&gt;
&lt;br /&gt;
* Enjoy&lt;br /&gt;
&lt;br /&gt;
== WiFi Networking ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
To Be Done.&lt;br /&gt;
&lt;br /&gt;
== Neo1973 as a Bluetooth GPRS modem ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
To Be Done.&lt;br /&gt;
&lt;br /&gt;
= Enabling the Mac as an Internet Router =&lt;br /&gt;
&lt;br /&gt;
Here is described how to enable your Mac to serve as a Internet Router for your Openmoko device.&lt;br /&gt;
&lt;br /&gt;
Note: you have to open all services you want to use from the Openmoko in the Mac Firewall.&lt;br /&gt;
&lt;br /&gt;
== USB connection ==&lt;br /&gt;
&lt;br /&gt;
In the Sharing System Preferences&lt;br /&gt;
* click the Internet tab&lt;br /&gt;
* Check all the ethernet (en) interfaces you want to enable Internet access for (i.e. the USB connection)&lt;br /&gt;
&lt;br /&gt;
SSH into your Neo and create /etc/resolv.conf, specify your Internet router IP address as the name server. You can simply copy the /etc/resolv.conf from your Mac.&lt;br /&gt;
 scp /etc/resolv.conf root@192.168.0.202:/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
 Example:&lt;br /&gt;
 nameserver 192.168.1.200    # replace by your real nameserver address&lt;br /&gt;
&lt;br /&gt;
Make sure your Neo routing table has entries so that all internet traffic is sent to your Mac (which will forward it to the outside world)&lt;br /&gt;
&lt;br /&gt;
 root@fic-gta01:~$ route&lt;br /&gt;
 Kernel IP routing table&lt;br /&gt;
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
 192.168.0.0     *               255.255.255.0   U     0      0        0 usb0&lt;br /&gt;
 default         192.168.0.200   0.0.0.0         UG    0      0        0 usb0&lt;br /&gt;
&lt;br /&gt;
Don't forget to enable your USB interface for Internet Sharing!&lt;br /&gt;
&lt;br /&gt;
== Bluetooth connection ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
= Accessing data and services on your device =&lt;br /&gt;
&lt;br /&gt;
== ssh ==&lt;br /&gt;
&lt;br /&gt;
After making the USB connection work, start ssh:&lt;br /&gt;
&lt;br /&gt;
ssh -l root 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
If you don't have installed the key, it will ask for a &amp;quot;yes&amp;quot; on the first connection. The root password is blank unless you change it.&lt;br /&gt;
&lt;br /&gt;
 MacBook-hns:~ hns$ ssh -l root 192.168.0.202&lt;br /&gt;
 root@192.168.0.202's password: &lt;br /&gt;
 root@fic-gta01:~$ hostname&lt;br /&gt;
 fic-gta01&lt;br /&gt;
 root@fic-gta01:~$&lt;br /&gt;
&lt;br /&gt;
NOTE: the ssh daemon (dropbear 0.49) on the Openmoko appears to have a bug when sending the exit status back to the client. From time to time you receive an exit status of 255.&lt;br /&gt;
&lt;br /&gt;
== SMB ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
To Be Done.&lt;br /&gt;
&lt;br /&gt;
== X11 ==&lt;br /&gt;
Launch Apple X11. xhost +192.168.0.202. On the Neo: export DISPLAY=192.168.0.200:0.0&lt;br /&gt;
&lt;br /&gt;
== Synchronizing ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
This is not done yet. Possible solutions are SyncML or ZMacSync http://www.dsitri.de/wiki.php?page=ZMacSync&lt;br /&gt;
&lt;br /&gt;
ZMacSync does not yet synchronize but allows more easy access to the Openmoko through Terminal/ssh.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Developing Openmoko software on a Mac =&lt;br /&gt;
&lt;br /&gt;
== Using virtualization software and MokoMakefile/OpenEmbedded ==&lt;br /&gt;
&lt;br /&gt;
You can use Parallels or VMWare to install your favourite Linux distribution and then develop just as on Linux.&lt;br /&gt;
&lt;br /&gt;
There are some drawback since AFAIK dfu-util may not work correctly in such environments. &lt;br /&gt;
&lt;br /&gt;
Don't bother with Parallels Desktop for Mac (&amp;lt;=3), the current USB support is terrible and USB storage keys don't even work so there was no way I would try dfu-util. USB keys work under VMWare Fusion for Mac though I have yet to try dfu-util in an VM under VMWare Fusion as there is Openmoko Flasher for Mac. -- [[User: Eric|Eric]]&lt;br /&gt;
&lt;br /&gt;
== Natively ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
There are some efforts to get through process of compiling OE and Openmoko under mac: [[Openmoko_under_QEMU_on_MacOSX]]&lt;br /&gt;
&lt;br /&gt;
== GNUstep/mySTEP SDK ==&lt;br /&gt;
&lt;br /&gt;
There is a [[QuantumSTEP]]/mySTEP project to port GNUstep to the Openmoko/Neo: [[http://www.quantum-step.com/wiki.php?page=OpenMoko-Edition More Info]]&lt;br /&gt;
An SDK for Xcode/Interface Builder is also available: [[http://www.versiontracker.com/dyn/moreinfo/macosx/20581 Entry at Version Tracker]] [[http://www.quantum-step.com/wiki.php?page=SDK More Info]]&lt;br /&gt;
&lt;br /&gt;
== Tools for Developers ==&lt;br /&gt;
&lt;br /&gt;
Some tools that run on MacOS X&lt;br /&gt;
&lt;br /&gt;
=== mkfs.jffs2 ===&lt;br /&gt;
[[http://www.quantum-step.com/download/OpenMoko-Edition/mkfs.jffs2.tgz mkfs.jffs2]] - make JFFS2 (root) file system (Universal Binary). Package includes sources and Xcode 2.4 project file to rebuild on MacOS X 10.4.11. NOT TESTED DEEPLY.&lt;br /&gt;
&lt;br /&gt;
  mkfs.jffs2 --pad=0x700000 -o rootfs.jffs2 -e 0x4000 -n -d/tmp/jffsroot/&lt;br /&gt;
&lt;br /&gt;
=== Crosscompiler Toolchain ===&lt;br /&gt;
&lt;br /&gt;
[[http://www.quantum-step.com/wiki.php?page=Compiler gcc 2.95.3]] - OABI cross compiler toolchain (C, C++, Obj-C) with Linux headers (PPC and Intel Macs)&lt;br /&gt;
&lt;br /&gt;
If someone has a newer one that works, please provide as an installable OSX Package.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Will the ones from MacPorts work? [[http://www.macports.org/ports.php?by=name&amp;amp;substr=gnueabi]] I'm still trying to get QEMU to work and haven't had a chance to test it yet.&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
&lt;br /&gt;
== Search Software Repositories ==&lt;br /&gt;
&lt;br /&gt;
[[http://www.versiontracker.com/php/qs.php?action=search&amp;amp;str=openmoko&amp;amp;srchArea=macosx Keyword Openmoko]] at VersionTracker&lt;br /&gt;
&lt;br /&gt;
== Discussion Fora ==&lt;br /&gt;
&lt;br /&gt;
[[http://www.oesf.org/forums/index.php?showforum=63 Mac Issues Forum]] at Open Embedded Software Foundation (was Zaurus User Group)&lt;br /&gt;
&lt;br /&gt;
[[Category:Flashing Openmoko]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Latest_Images</id>
		<title>Latest Images</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Latest_Images"/>
				<updated>2008-07-31T04:26:39Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: milestone 2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is intended to summarize in one place the various images you can try out on your Openmoko Neo FreeRunner (GTA02) or 1973 (GTA01).  Note however, that some of these are works in progress and may not have even released any files yet.  Nothing is guaranteed to work.  Proceed at your own risk.&lt;br /&gt;
&lt;br /&gt;
;See [[Distributions]] for a chart comparing the features of the various images.&lt;br /&gt;
&lt;br /&gt;
Michael Lauer's blog also has an entry comparing the distributions: [http://www.vanille-media.de/site/index.php/2008/06/28/gtk-asu-fso-tmtla/ GTK, ASU, FSO? TMTLA!]&lt;br /&gt;
&lt;br /&gt;
Instructions on flashing your FreeRunner or 1973 are provided at [[Flashing the Neo FreeRunner]] and [[Getting Started with your Neo1973]], respectively.&lt;br /&gt;
----&lt;br /&gt;
==2007.2 GTK Image==&lt;br /&gt;
The latest most stable release should reside here:&lt;br /&gt;
[http://buildhost.openmoko.org/releases/Freerunner/ http://buildhost.openmoko.org/releases/Freerunner/]&lt;br /&gt;
&lt;br /&gt;
*You can download the latest daily builds here:&lt;br /&gt;
**For Neo FreeRunner [http://buildhost.openmoko.org/daily/freerunner/ http://buildhost.openmoko.org/daily/freerunner/]&lt;br /&gt;
***Look for files of the form: Openmoko-openmoko-devel-image-glibc-ipk-P1-Snapshot-YYYYMMDD-om-gta02.rootfs.tar.gz&lt;br /&gt;
***and: openmoko-devel-image-om-gta02.tar.gz&lt;br /&gt;
**For Neo 1973 the link is [http://buildhost.openmoko.org/daily/neo1973/ http://buildhost.openmoko.org/daily/neo1973/]&lt;br /&gt;
***Look for files of the form: openmoko-devel-image-om-gta01.tar.gz&lt;br /&gt;
***and: Openmoko-openmoko-devel-image-glibc-ipk-P1-Snapshot-YYYYMMDD-om-gta01.rootfs.tar.gz&lt;br /&gt;
**Tools, like dfu-util and openocd [http://buildhost.openmoko.org/daily/tools/ http://buildhost.openmoko.org/daily/tools/]&lt;br /&gt;
&lt;br /&gt;
Several videos of this stack by [http://uk.youtube.com/user/freeyourphone Youtube user freeyourphone]&lt;br /&gt;
and [http://uk.youtube.com/watch?v=U05kZfURPig&amp;amp;NR=1 video review by BVB Tech]&lt;br /&gt;
=== ScaredyCat ===&lt;br /&gt;
Users may have heard of &amp;quot;ScaredyCat&amp;quot; images. These are usable images created by [http://blog.automated.it/category/openmoko/ Andy Powell] and are currently based on the 2007.02 software stack.&lt;br /&gt;
&lt;br /&gt;
 Hey, all file names are with &amp;quot;gta01&amp;quot; !&lt;br /&gt;
 Is this an error and they are gta02 (FR) ??&lt;br /&gt;
&lt;br /&gt;
 scroll down a bit, or search for gta02 on the page.  they're there, just not on the first page. (ozzloy)&lt;br /&gt;
&lt;br /&gt;
http://buildhost.automated.it/OM2007.2/&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==ASU (April|August Software Update) qtopia-based Image==&lt;br /&gt;
There has not been a recommended release of the ASU yet. You may wish to review the [[ASU_Feature_Plan|ASU feature plan]] or some [http://dos.jogger.pl/2008/06/29/asu-to-przyszlosc/ screenshots]&lt;br /&gt;
&lt;br /&gt;
*You can download the latest daily builds here:&lt;br /&gt;
**For Neo FreeRunner [http://buildhost.openmoko.org/daily/freerunner/ http://buildhost.openmoko.org/daily/freerunner/]&lt;br /&gt;
***Look for files of the form: openmoko-qtopia-x11-image-om-gta02.tar.gz&lt;br /&gt;
***and: Openmoko-openmoko-qtopia-x11-image-glibc-ipk-P1-Snapshot-YYYYMMDD-om-gta02.rootfs.tar.gz&lt;br /&gt;
**For Neo 1973 the link is [http://buildhost.openmoko.org/daily/neo1973/ http://buildhost.openmoko.org/daily/neo1973/]&lt;br /&gt;
***Look for files of the form: openmoko-qtopia-x11-image-om-gta01.tar.gz&lt;br /&gt;
***and: Openmoko-openmoko-qtopia-x11-image-glibc-ipk-P1-Snapshot-YYYYMMDD-om-gta01.rootfs.tar.gz&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==FSO (FreeSmartPhone.org) Image==&lt;br /&gt;
Milestone 1 is here: [http://downloads.openmoko.org/framework/milestone1/ http://downloads.openmoko.org/framework/milestone1/]&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=toPe0S8QpJY Video of FSO Milestone 1]&lt;br /&gt;
&lt;br /&gt;
Milestone 2 is here: [http://downloads.openmoko.org/framework/milestone2/ http://downloads.openmoko.org/framework/milestone2/]&lt;br /&gt;
&lt;br /&gt;
Browse the source: [http://trac.freesmartphone.org:8000/trac-example/browser http://trac.freesmartphone.org:8000/trac-example/browser] &lt;br /&gt;
&lt;br /&gt;
Learn more at its wiki page: [[OpenmokoFramework]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Qtopia image from qtopia.net==&lt;br /&gt;
[http://www.qtopia.net/modules/mydownloads/index.php Qtopia.net images] for the &lt;br /&gt;
*Neo FreeRunner&lt;br /&gt;
**[http://www.qtopia.net/modules/mydownloads/visit.php?lid=67 Freerunner flash image] (qtopia-4.3.2-gta02-flash.tgz) &amp;lt;-- a tarball with both a rootfs and kernel&lt;br /&gt;
**and the [http://www.qtopia.net/modules/mydownloads/visit.php?lid=68 root file system (ficgta02-qtopia-developer-rootfs.tgz)]&lt;br /&gt;
*Neo 1973&lt;br /&gt;
**[http://qtopia.net/downloads/neo/qtopia-4.3.2-gta01-flash.tgz Neo 1973 flash image] (qtopia-4.3.2-gta01-flash.tgz) &amp;lt;-- a tarball with both a rootfs and kernel&lt;br /&gt;
**[http://www.qtopia.net/modules/mydownloads/visit.php?lid=39 Neo 1973 root file system] (Link temporarily broken.)&lt;br /&gt;
**A Neo 1973 image is also available from here [http://buildhost.automated.it/OM2007.2/openmoko-qtopia-image-om-gta01.tar.gz openmoko-qtopia-image-om-gta01.tar.gz]&lt;br /&gt;
*[http://www.qtopia.net/modules/mydownloads/viewcat.php?cid=6 Alternate download page]&lt;br /&gt;
*You might also try [http://trolltech.com/developer/downloads/qtopia/qtopia-source-gpl ftp.trolltech.com snapshots]&lt;br /&gt;
&lt;br /&gt;
Addtional packages can be added from the Trolltech feed for this image, found at&lt;br /&gt;
http://qtopia.net/packages/feed/4.3.2/neo/&lt;br /&gt;
To get to these packages, you need to add the feed as a source in the Qtopia package manager.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==SHR (Stable Hybrid Release) Image==&lt;br /&gt;
The Stable Hybrid Release (SHR) is intended to be a combination of the&lt;br /&gt;
FSO, some of the 2007.2 GTK software, and the ASU that provides all of&lt;br /&gt;
the functionality of the 2007.2 software, but with the stability of&lt;br /&gt;
the FSO and the new GUI toolkits provided by the ASU. It will probably&lt;br /&gt;
be based on an ASU build, with the FSO software and GTK end-user apps&lt;br /&gt;
added.&lt;br /&gt;
&lt;br /&gt;
The SHR doesn't exist anywhere but in a few people's heads at the moment (2008-07-05).  Hopefully, all the work in it will be integrated back into one of the other releases, and it will cease to exist.  The point is to get us a release with stable calls &amp;amp; suspend/resume, plus access to all those other nifty apps we had on 2007.2 and the ASU.&lt;br /&gt;
&lt;br /&gt;
Learn more at its wiki page: [[Stable_Hybrid_Release]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Debian==&lt;br /&gt;
See [[Debian]].&lt;br /&gt;
&lt;br /&gt;
==Copying a jffs2 image to ext2 to boot from microSD==&lt;br /&gt;
If you want to copy a rootfs jffs2 to a ext2 filesystem on an microSD card, see [[Userspace root image#Mounting the JFFS2 image on a loop back device (Block Memory MTD Emulation) | this]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:Openmoko]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Mac_OS_X</id>
		<title>Mac OS X</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Mac_OS_X"/>
				<updated>2008-07-30T22:15:59Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: fix closing tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the Openmoko page devoted to MacOS X users!&lt;br /&gt;
&lt;br /&gt;
Here you can find notes of using Neo1973 and Neo Freerunner with Mac.&lt;br /&gt;
&lt;br /&gt;
= Flashing to your device =&lt;br /&gt;
To operate the Phase 1 devices (Neo 1973), you need to flash a root file system first.&lt;br /&gt;
&lt;br /&gt;
== Graphical Flashing with Openmoko Flasher ==&lt;br /&gt;
Here is a detailed instruction:&lt;br /&gt;
# download Version 1.4 or later of Openmoko Flasher from http://www.dsitri.de/wiki.php?page=OpenMoko%20Flasher&lt;br /&gt;
# select the repository&lt;br /&gt;
# press the Refresh button (which loads the list of packages on the server)&lt;br /&gt;
# select and load the rootfs (takes some minutes for approx. 40 MByte)&lt;br /&gt;
# Now, on your Openmoko, hold the AUX button while pressing the Power button for 5 seconds&lt;br /&gt;
# the BOOT menu should appear&lt;br /&gt;
# connect the USB cable&lt;br /&gt;
# Press the Flash button&lt;br /&gt;
# the BOOT menu screen on the OM should show an indication that it has been switched to DFU mode&lt;br /&gt;
# (if it fails, unplug the Openmoko shortly and replug and try again (experience shows that it is needed up to three times)&lt;br /&gt;
# if it successfully flashed, you should be able to boot the Openmoko and continue configuring AJZaurusUSB&lt;br /&gt;
&lt;br /&gt;
A Universal Binary version of dfu-utils tool (and libusb) is included in the Openmoko Flasher application bundle. You can access it as ''Openmoko Flasher.app/Contents/MacOS/dfu-util''.&lt;br /&gt;
&lt;br /&gt;
== Compiling dfu-util ==&lt;br /&gt;
Alternatively, you can compile dfu-util manually as described at http://wiki.openmoko.org/wiki/User:SNMoore but you need libusb (e.g. through MacPorts).&lt;br /&gt;
&lt;br /&gt;
= Connecting a Mac and an Openmoko device =&lt;br /&gt;
&lt;br /&gt;
== USB Serial ==&lt;br /&gt;
&lt;br /&gt;
It is possible to access the U-Boot [[Bootloader]] serial console from a Mac.  You can use the Terminal application on Mac OS X, or &amp;lt;tt&amp;gt;minicom&amp;lt;/tt&amp;gt; from [http://finkproject.org/ Fink] or [http://www.macports.org/ MacPorts] (formerly Darwin Ports.)&lt;br /&gt;
&lt;br /&gt;
The USB driver creates cu and tty character devices, for example&lt;br /&gt;
 $ ls -la /dev/tty.usb*&lt;br /&gt;
 crw-rw-rw-   1 root  wheel   10,  18 Aug 23 14:10 /dev/tty.usbmodem00000001&lt;br /&gt;
 $ ls -la /dev/cu.usb*&lt;br /&gt;
 crw-rw-rw-   1 root  wheel   10,  19 Aug 23 14:10 /dev/cu.usbmodem00000001&lt;br /&gt;
&lt;br /&gt;
=== USB Serial with screen ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;screen&amp;lt;/code&amp;gt; program is included with Mac OS X, and can be used from the terminal command line to connect to the serial console.   To do this, simply get to a shell prompt in the terminal and invoke &amp;lt;code&amp;gt;screen&amp;lt;/code&amp;gt; as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% screen /dev/tty.usbmodem00000001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should find yourself at the U-boot serial console prompt.   To get out, type &amp;lt;code&amp;gt;control+a&amp;lt;/code&amp;gt; followed by &amp;lt;code&amp;gt;control+backslash&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== USB Serial with minicom ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;minicom&amp;lt;/tt&amp;gt; program from the [http://www.macports.org/ MacPorts] collection can be used to access the USB serial port &amp;lt;tt&amp;gt;/dev/cu.usbmodem00000001&amp;lt;/tt&amp;gt; (numbering may vary.)&lt;br /&gt;
&lt;br /&gt;
First install the program (assuming you already have MacPorts installed):&lt;br /&gt;
&lt;br /&gt;
 sudo port install minicom&lt;br /&gt;
&lt;br /&gt;
Then launch it in configuration mode (the -s flag):&lt;br /&gt;
&lt;br /&gt;
 sudo minicom -s&lt;br /&gt;
&lt;br /&gt;
Under &amp;quot;Serial Port Setup&amp;quot;, set the Device to &amp;quot;/dev/cu.usbmodem00000001&amp;quot; and set Bps to &amp;quot;115200 8N1&amp;quot;. Under &amp;quot;Modem and Dialing&amp;quot;, enter empty strings for &amp;quot;Init string&amp;quot;, &amp;quot;Reset string&amp;quot;, and &amp;quot;Hang-up string&amp;quot;. Save the setup as default (&amp;quot;dfl&amp;quot;) then Exit. &lt;br /&gt;
&lt;br /&gt;
You should now be able to access the bootloader console. You should exit from Minicom before disconnecting the smartphone, or else you will get an error about unplugging a USB device while it is in use.&lt;br /&gt;
&lt;br /&gt;
=== USB Serial with Terminal ===&lt;br /&gt;
&lt;br /&gt;
The built in Mac Terminal application &amp;lt;tt&amp;gt;Terminal.app&amp;lt;/tt&amp;gt; can be used to access the USB serial port &amp;lt;tt&amp;gt;/dev/tty.usbmodem00000001&amp;lt;/tt&amp;gt; (numbering may vary.)&lt;br /&gt;
&lt;br /&gt;
An easy way to do this is to configure the terminal with Script Editor, as described in the short article, [http://www.macosxhints.com/article.php?story=20061109133825654 ''Use 'screen' as a serial terminal emulator''](macosxhints.com).  Then,&lt;br /&gt;
&lt;br /&gt;
# Press and hold {{aux}} and then press and hold {{power}} for 5 seconds&lt;br /&gt;
# Press {{aux}} to select &amp;lt;tt&amp;gt;Set console to USB&amp;lt;/tt&amp;gt; in the U-Boot menu, and {{power}} to execute it&lt;br /&gt;
# Start the serial terminal application.  You should see a U-Boot command line prompt, such as&lt;br /&gt;
 In:    usbtty&lt;br /&gt;
 Out:   usbtty&lt;br /&gt;
 Err:   usbtty&lt;br /&gt;
 DEVICE_CONFIGURED: 1&lt;br /&gt;
 Enabling automatic fast charge&lt;br /&gt;
 GTA01Bv4 #&lt;br /&gt;
When you boot Linux on the smartphone, or if the smartphone powers down, Mac OS X will show a USB Device Unplug Notice, &amp;quot;The USB device has been unplugged while an application was still active. This can result in loss of data.&amp;quot; This error is probably harmless.&lt;br /&gt;
&lt;br /&gt;
== USB Networking ==&lt;br /&gt;
&lt;br /&gt;
There are two drivers you can use to talk to the RNDIS/Ethernet Gadget that the Neo1973 presents to its host system. The main difference between them is stability, but both have their own problems. Leopard needs further testing (Apple revised the driver and the Network System Settings).&lt;br /&gt;
&lt;br /&gt;
=== Apple CDC Ethernet driver 10.4.10 ===&lt;br /&gt;
MacOS X 10.4.10 and later includes a driver for RNDIS/Ethernet Gadget devices. Launch System Preferences -&amp;gt; Network and you should see &amp;quot;new interface detected enXX&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Issue&amp;lt;/b&amp;gt;: Each time you reboot the Neo, the interface will get a different Ethernet address. This in turn makes Mac OS X create a new configuration record. After a while you'll end up with a load of unusable enXX devices - if you don't periodically clean them out. Open System Preferences and go to Network -&amp;gt; Show(Network Port Configurations) -&amp;gt; Select an enXX -&amp;gt; Delete.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: this is not a problem to blame MacOSX for because it tries to make network configuration simpler based on the assumption of stable Ethernet addresses.&lt;br /&gt;
&lt;br /&gt;
Use this configuration on the new interface:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP-V4: manual&lt;br /&gt;
IP-Addr:  192.168.0.200 (you can use anything in 192.168.0.* but OM is configured by default to use 192.168.0.200 as the external gateway)&lt;br /&gt;
Subnet:   255.255.255.0 (should be the default - see tip below if have issue with these settings)&lt;br /&gt;
Router:   192.168.0.202 (not actually needed, OS X can figure this out for itself, unless you have other conflicting configurations)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Tip&amp;lt;/b&amp;gt;: If your Internet connection is also in the range 192.168.0.x then instead you might want to use:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Subnet:   255.255.255.248&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Test&amp;lt;/b&amp;gt;: You should be able to connect to your Neo! Try using ping 192.168.0.202 and the roundtrip time should be between 1 and 2 ms.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Test&amp;lt;/b&amp;gt;: run &amp;quot;ssh root@192.168.0.202&amp;quot; to get in, and try pinging (from the neo) the outside world (e.g. &amp;quot;ping google.com&amp;quot;). If that works then your Mac is routing the neo globally--congratulations!--if not.. &amp;lt;i&amp;gt;XXX fill in&amp;lt;/i&amp;gt;. You can also [[scp]] files back and forth. You can telnet, SSH, SMB or do whatever you want if you install software that enables you to set up TCP/IP network over your USB connection.&lt;br /&gt;
&lt;br /&gt;
=== Apple CDC Ethernet driver 10.5.x ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Issue&amp;lt;/b&amp;gt;:10.5 (Leopard) doesn't show a new ethernet interface for a Neo1973 running 2007.11. You'll only get the serial port, which is detected as a modem. The Ethernet device will show up in ifconfig though.&lt;br /&gt;
&lt;br /&gt;
It turns out that the AppleUSBCDC driver prefers to use the CDC-ACM interface of USB networking devices instead of CDC-ECM with the exception of a broadcom network card. You can download a patched AppleUSBCDC driver that will recognize the usb id/vendor pair of g_ether and force it to use CDC-ECM. You can obtain the OS X 10.5.X patched driver from: http://bugcommunity.com/downloads/usbcdc-g_ether.zip. Source code: http://bugcommunity.com/downloads/files/AppleUSBCDCDriver-g_ether.326.4.1.zip&lt;br /&gt;
&lt;br /&gt;
The issue of multiple network interfaces showing up whenever the device is rebooted/power-cycled is due to the g_ether driver randomly setting the host and device mac addresses. This problem is remedied by passing the same host and device mac addresses during the modprobe of g_ether.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 modprobe g_ether host_addr=46:0d:9e:67:69:eb dev_addr=46:0d:9e:67:69:ec&lt;br /&gt;
&lt;br /&gt;
=== AJZaurusUSB driver ===&lt;br /&gt;
&lt;br /&gt;
You can also use the open source driver from [http://www.dsitri.de/wiki.php?page=AJZaurusUSB]. It was developed for handheld devices like iPAQ, Sharp Zaurus and Motorola A760, but works for Openmoko as well. Download and install according to the manual found inside the package. The code is GPL'd (source available) and runs on both Intel and PPC Macs with 10.3, 10.4 and 10.5.&lt;br /&gt;
&lt;br /&gt;
After rebooting or loading the kernel extension by hand, you should have a new Ethernet interface in your System Preferences/Network.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: This driver does not have the same problem as the Apple driver does, where it constantly adds to the list of interfaces each time you reboot the neo, because the driver provides a constant ethernet address independently what the Neo says. Only flashing a new kernel might force you to update.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Issue&amp;lt;/b&amp;gt;: This driver is sometimes a bit flaky, and a reboot of the Mac seems to bring it back. It is especially critical about hot unplugging the OM and sleep modes of MacBooks. This may even result in a Kernel Panic.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth Networking ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
This approach is based on: &lt;br /&gt;
&lt;br /&gt;
http://wiki.openmoko.org/wiki/Bluetooth_Support#Networking&lt;br /&gt;
http://www.macosxhints.com/article.php?story=20051220221237711&lt;br /&gt;
&lt;br /&gt;
Unfortunately we can't use the pand (PAN daemon for BNEP) or dund (Dial Up Networking daemon for LAP) since neither service is available for the Mac.&lt;br /&gt;
&lt;br /&gt;
So, we configure a RFCOMM connection and a PPP gateway on the Mac. Finally, we connect the OM as a ppp client to the Mac.&lt;br /&gt;
&lt;br /&gt;
The reversed direction (OM as the Access Point and the Mac as the client) is described shortly in http://wiki.openmoko.org/wiki/Manually_using_Bluetooth#PPP_Networking&lt;br /&gt;
&lt;br /&gt;
=== Making the Mac a PPP over Bluetooth Access Point ===&lt;br /&gt;
&lt;br /&gt;
In the Bluetooth System Preferences (10.4.11)&lt;br /&gt;
* go to the Sharing pane&lt;br /&gt;
* add a new service &amp;quot;BluetoothAccessPoint&amp;quot; of type RS-232&lt;br /&gt;
* Enable that it is shown in the network preferences pane&lt;br /&gt;
* Apply&lt;br /&gt;
&lt;br /&gt;
In the Network System Preferences&lt;br /&gt;
* activate the new network configuration (BluetoothAccessPoint)&lt;br /&gt;
* go tot the Modem tab and change the modem to &amp;quot;Null Modem 115200&amp;quot;&lt;br /&gt;
* Apply&lt;br /&gt;
&lt;br /&gt;
In a Terminal, enter the following:&lt;br /&gt;
 $ sudo /usr/sbin/pppd /dev/tty.BluetoothAccessPoint 115200 noauth local passive proxyarp asyncmap 0 silent persist :172.16.140.14&lt;br /&gt;
&lt;br /&gt;
Here you see the 172.16.140.14 address, which makes it possible not to use natd, since it's in the same network as the Mac is. So the firewall knows where to sent it to -- no routing problems etc. Pick any free address in your private range. For instance, if you are using the following ... firewall: 192.168.1.1, Mac: 192.168.1.2, you can enter 192.168.1.3, assuming it's not used elsewhere on your network.&lt;br /&gt;
&lt;br /&gt;
If you want to be sure you did it right, open the system.log file on the Mac (tail -f /var/log/system.log), and you should see something like this:&lt;br /&gt;
 Jun 25 10:33:57 hostname pppd[679]:  pppd 2.4.2 (Apple version 229) started by username, uid 0&lt;br /&gt;
 Jun 25 10:33:57 hostname pppd[679]:  Connect: ppp0 &amp;lt;--&amp;gt; /dev/tty.BluetoothAccessPoint&lt;br /&gt;
&lt;br /&gt;
In Terminal, write&lt;br /&gt;
 sudo sysctl -w net.inet.ip.forwarding=1&lt;br /&gt;
which should give the following feedback:&lt;br /&gt;
 net.inet.ip.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
&lt;br /&gt;
In Terminal, write&lt;br /&gt;
 sudo ifconfig ppp0 up.&lt;br /&gt;
&lt;br /&gt;
=== Connecting the Openmoko as a Client to the Mac ===&lt;br /&gt;
&lt;br /&gt;
On the Openmoko do the following&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth&lt;br /&gt;
&lt;br /&gt;
 root@fic-gta01:~$ echo &amp;quot;1&amp;quot; &amp;gt; /sys/bus/platform/devices/gta01-pm-bt.0/power_on&lt;br /&gt;
&lt;br /&gt;
* Scan for the Mac&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
         00:0E:6D:C0:0l:6A       Sho&lt;br /&gt;
         00:20:E0:5A:FE:C8       MacBook&lt;br /&gt;
&lt;br /&gt;
* start the PPP client&lt;br /&gt;
&lt;br /&gt;
 pppd 115000 192.168.1.202:192.168.1.200 local defaultroute pty 'rfcomm connect 0 00:16:CB:2F:A0:46 1'&lt;br /&gt;
&lt;br /&gt;
* Enjoy&lt;br /&gt;
&lt;br /&gt;
== WiFi Networking ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
To Be Done.&lt;br /&gt;
&lt;br /&gt;
== Neo1973 as a Bluetooth GPRS modem ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
To Be Done.&lt;br /&gt;
&lt;br /&gt;
= Enabling the Mac as an Internet Router =&lt;br /&gt;
&lt;br /&gt;
Here is described how to enable your Mac to serve as a Internet Router for your Openmoko device.&lt;br /&gt;
&lt;br /&gt;
Note: you have to open all services you want to use from the Openmoko in the Mac Firewall.&lt;br /&gt;
&lt;br /&gt;
== USB connection ==&lt;br /&gt;
&lt;br /&gt;
In the Sharing System Preferences&lt;br /&gt;
* click the Internet tab&lt;br /&gt;
* Check all the ethernet (en) interfaces you want to enable Internet access for (i.e. the USB connection)&lt;br /&gt;
&lt;br /&gt;
SSH into your Neo and create /etc/resolv.conf, specify your Internet router IP address as the name server. You can simply copy the /etc/resolv.conf from your Mac.&lt;br /&gt;
 scp /etc/resolv.conf root@192.168.0.202:/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
 Example:&lt;br /&gt;
 nameserver 192.168.1.200    # replace by your real nameserver address&lt;br /&gt;
&lt;br /&gt;
Make sure your Neo routing table has entries so that all internet traffic is sent to your Mac (which will forward it to the outside world)&lt;br /&gt;
&lt;br /&gt;
 root@fic-gta01:~$ route&lt;br /&gt;
 Kernel IP routing table&lt;br /&gt;
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
 192.168.0.0     *               255.255.255.0   U     0      0        0 usb0&lt;br /&gt;
 default         192.168.0.200   0.0.0.0         UG    0      0        0 usb0&lt;br /&gt;
&lt;br /&gt;
Don't forget to enable your USB interface for Internet Sharing!&lt;br /&gt;
&lt;br /&gt;
== Bluetooth connection ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
= Accessing data and services on your device =&lt;br /&gt;
&lt;br /&gt;
== ssh ==&lt;br /&gt;
&lt;br /&gt;
After making the USB connection work, start ssh:&lt;br /&gt;
&lt;br /&gt;
ssh -l root 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
If you don't have installed the key, it will ask for a &amp;quot;yes&amp;quot; on the first connection. The root password is blank unless you change it.&lt;br /&gt;
&lt;br /&gt;
 MacBook-hns:~ hns$ ssh -l root 192.168.0.202&lt;br /&gt;
 root@192.168.0.202's password: &lt;br /&gt;
 root@fic-gta01:~$ hostname&lt;br /&gt;
 fic-gta01&lt;br /&gt;
 root@fic-gta01:~$&lt;br /&gt;
&lt;br /&gt;
NOTE: the ssh daemon (dropbear 0.49) on the Openmoko appears to have a bug when sending the exit status back to the client. From time to time you receive an exit status of 255.&lt;br /&gt;
&lt;br /&gt;
== SMB ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
To Be Done.&lt;br /&gt;
&lt;br /&gt;
== X11 ==&lt;br /&gt;
Launch Apple X11. xhost +192.168.0.202. On the Neo: export DISPLAY=192.168.0.200:0.0&lt;br /&gt;
&lt;br /&gt;
== Synchronizing ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
This is not done yet. Possible solutions are SyncML or ZMacSync http://www.dsitri.de/wiki.php?page=ZMacSync&lt;br /&gt;
&lt;br /&gt;
ZMacSync does not yet synchronize but allows more easy access to the Openmoko through Terminal/ssh.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Developing Openmoko software on a Mac =&lt;br /&gt;
&lt;br /&gt;
== Using virtualization software and MokoMakefile/OpenEmbedded ==&lt;br /&gt;
&lt;br /&gt;
You can use Parallels or VMWare to install your favourite Linux distribution and then develop just as on Linux.&lt;br /&gt;
&lt;br /&gt;
There are some drawback since AFAIK dfu-util may not work correctly in such environments. &lt;br /&gt;
&lt;br /&gt;
Don't bother with Parallels Desktop for Mac (&amp;lt;=3), the current USB support is terrible and USB storage keys don't even work so there was no way I would try dfu-util. USB keys work under VMWare Fusion for Mac though I have yet to try dfu-util in an VM under VMWare Fusion as there is Openmoko Flasher for Mac. -- [[User: Eric|Eric]]&lt;br /&gt;
&lt;br /&gt;
== Natively ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
There are some efforts to get through process of compiling OE and Openmoko under mac: [[Openmoko_under_QEMU_on_MacOSX]]&lt;br /&gt;
&lt;br /&gt;
== GNUstep/mySTEP SDK ==&lt;br /&gt;
&lt;br /&gt;
There is a [[QuantumSTEP]]/mySTEP project to port GNUstep to the Openmoko/Neo: [[http://www.quantum-step.com/wiki.php?page=OpenMoko-Edition More Info]]&lt;br /&gt;
An SDK for Xcode/Interface Builder is also available: [[http://www.versiontracker.com/dyn/moreinfo/macosx/20581 Entry at Version Tracker]] [[http://www.quantum-step.com/wiki.php?page=SDK More Info]]&lt;br /&gt;
&lt;br /&gt;
== Tools for Developers ==&lt;br /&gt;
&lt;br /&gt;
Some tools that run on MacOS X&lt;br /&gt;
&lt;br /&gt;
=== mkfs.jffs2 ===&lt;br /&gt;
[[http://www.quantum-step.com/download/OpenMoko-Edition/mkfs.jffs2.tgz mkfs.jffs2]] - make JFFS2 (root) file system (Universal Binary). Package includes sources and Xcode 2.4 project file to rebuild on MacOS X 10.4.11. NOT TESTED DEEPLY.&lt;br /&gt;
&lt;br /&gt;
  mkfs.jffs2 --pad=0x700000 -o rootfs.jffs2 -e 0x4000 -n -d/tmp/jffsroot/&lt;br /&gt;
&lt;br /&gt;
=== Crosscompiler Toolchain ===&lt;br /&gt;
&lt;br /&gt;
[[http://www.quantum-step.com/wiki.php?page=Compiler gcc 2.95.3]] - OABI cross compiler toolchain (C, C++, Obj-C) with Linux headers (PPC and Intel Macs)&lt;br /&gt;
&lt;br /&gt;
If someone has a newer one that works, please provide as an installable OSX Package.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Will the ones from MacPorts work? [[http://www.macports.org/ports.php?by=name&amp;amp;substr=gnueabi]] I'm still trying to get QEMU to work and haven't had a chance to test it yet.&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
&lt;br /&gt;
== Search Software Repositories ==&lt;br /&gt;
&lt;br /&gt;
[[http://www.versiontracker.com/php/qs.php?action=search&amp;amp;str=openmoko&amp;amp;srchArea=macosx Keyword Openmoko]] at VersionTracker&lt;br /&gt;
&lt;br /&gt;
== Discussion Fora ==&lt;br /&gt;
&lt;br /&gt;
[[http://www.oesf.org/forums/index.php?showforum=63 Mac Issues Forum]] at Open Embedded Software Foundation (was Zaurus User Group)&lt;br /&gt;
&lt;br /&gt;
[[Category:Flashing Openmoko]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Mac_OS_X</id>
		<title>Mac OS X</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Mac_OS_X"/>
				<updated>2008-07-30T22:15:17Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: added alternate subnet to resolve issues&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the Openmoko page devoted to MacOS X users!&lt;br /&gt;
&lt;br /&gt;
Here you can find notes of using Neo1973 and Neo Freerunner with Mac.&lt;br /&gt;
&lt;br /&gt;
= Flashing to your device =&lt;br /&gt;
To operate the Phase 1 devices (Neo 1973), you need to flash a root file system first.&lt;br /&gt;
&lt;br /&gt;
== Graphical Flashing with Openmoko Flasher ==&lt;br /&gt;
Here is a detailed instruction:&lt;br /&gt;
# download Version 1.4 or later of Openmoko Flasher from http://www.dsitri.de/wiki.php?page=OpenMoko%20Flasher&lt;br /&gt;
# select the repository&lt;br /&gt;
# press the Refresh button (which loads the list of packages on the server)&lt;br /&gt;
# select and load the rootfs (takes some minutes for approx. 40 MByte)&lt;br /&gt;
# Now, on your Openmoko, hold the AUX button while pressing the Power button for 5 seconds&lt;br /&gt;
# the BOOT menu should appear&lt;br /&gt;
# connect the USB cable&lt;br /&gt;
# Press the Flash button&lt;br /&gt;
# the BOOT menu screen on the OM should show an indication that it has been switched to DFU mode&lt;br /&gt;
# (if it fails, unplug the Openmoko shortly and replug and try again (experience shows that it is needed up to three times)&lt;br /&gt;
# if it successfully flashed, you should be able to boot the Openmoko and continue configuring AJZaurusUSB&lt;br /&gt;
&lt;br /&gt;
A Universal Binary version of dfu-utils tool (and libusb) is included in the Openmoko Flasher application bundle. You can access it as ''Openmoko Flasher.app/Contents/MacOS/dfu-util''.&lt;br /&gt;
&lt;br /&gt;
== Compiling dfu-util ==&lt;br /&gt;
Alternatively, you can compile dfu-util manually as described at http://wiki.openmoko.org/wiki/User:SNMoore but you need libusb (e.g. through MacPorts).&lt;br /&gt;
&lt;br /&gt;
= Connecting a Mac and an Openmoko device =&lt;br /&gt;
&lt;br /&gt;
== USB Serial ==&lt;br /&gt;
&lt;br /&gt;
It is possible to access the U-Boot [[Bootloader]] serial console from a Mac.  You can use the Terminal application on Mac OS X, or &amp;lt;tt&amp;gt;minicom&amp;lt;/tt&amp;gt; from [http://finkproject.org/ Fink] or [http://www.macports.org/ MacPorts] (formerly Darwin Ports.)&lt;br /&gt;
&lt;br /&gt;
The USB driver creates cu and tty character devices, for example&lt;br /&gt;
 $ ls -la /dev/tty.usb*&lt;br /&gt;
 crw-rw-rw-   1 root  wheel   10,  18 Aug 23 14:10 /dev/tty.usbmodem00000001&lt;br /&gt;
 $ ls -la /dev/cu.usb*&lt;br /&gt;
 crw-rw-rw-   1 root  wheel   10,  19 Aug 23 14:10 /dev/cu.usbmodem00000001&lt;br /&gt;
&lt;br /&gt;
=== USB Serial with screen ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;screen&amp;lt;/code&amp;gt; program is included with Mac OS X, and can be used from the terminal command line to connect to the serial console.   To do this, simply get to a shell prompt in the terminal and invoke &amp;lt;code&amp;gt;screen&amp;lt;/code&amp;gt; as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
% screen /dev/tty.usbmodem00000001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should find yourself at the U-boot serial console prompt.   To get out, type &amp;lt;code&amp;gt;control+a&amp;lt;/code&amp;gt; followed by &amp;lt;code&amp;gt;control+backslash&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== USB Serial with minicom ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;minicom&amp;lt;/tt&amp;gt; program from the [http://www.macports.org/ MacPorts] collection can be used to access the USB serial port &amp;lt;tt&amp;gt;/dev/cu.usbmodem00000001&amp;lt;/tt&amp;gt; (numbering may vary.)&lt;br /&gt;
&lt;br /&gt;
First install the program (assuming you already have MacPorts installed):&lt;br /&gt;
&lt;br /&gt;
 sudo port install minicom&lt;br /&gt;
&lt;br /&gt;
Then launch it in configuration mode (the -s flag):&lt;br /&gt;
&lt;br /&gt;
 sudo minicom -s&lt;br /&gt;
&lt;br /&gt;
Under &amp;quot;Serial Port Setup&amp;quot;, set the Device to &amp;quot;/dev/cu.usbmodem00000001&amp;quot; and set Bps to &amp;quot;115200 8N1&amp;quot;. Under &amp;quot;Modem and Dialing&amp;quot;, enter empty strings for &amp;quot;Init string&amp;quot;, &amp;quot;Reset string&amp;quot;, and &amp;quot;Hang-up string&amp;quot;. Save the setup as default (&amp;quot;dfl&amp;quot;) then Exit. &lt;br /&gt;
&lt;br /&gt;
You should now be able to access the bootloader console. You should exit from Minicom before disconnecting the smartphone, or else you will get an error about unplugging a USB device while it is in use.&lt;br /&gt;
&lt;br /&gt;
=== USB Serial with Terminal ===&lt;br /&gt;
&lt;br /&gt;
The built in Mac Terminal application &amp;lt;tt&amp;gt;Terminal.app&amp;lt;/tt&amp;gt; can be used to access the USB serial port &amp;lt;tt&amp;gt;/dev/tty.usbmodem00000001&amp;lt;/tt&amp;gt; (numbering may vary.)&lt;br /&gt;
&lt;br /&gt;
An easy way to do this is to configure the terminal with Script Editor, as described in the short article, [http://www.macosxhints.com/article.php?story=20061109133825654 ''Use 'screen' as a serial terminal emulator''](macosxhints.com).  Then,&lt;br /&gt;
&lt;br /&gt;
# Press and hold {{aux}} and then press and hold {{power}} for 5 seconds&lt;br /&gt;
# Press {{aux}} to select &amp;lt;tt&amp;gt;Set console to USB&amp;lt;/tt&amp;gt; in the U-Boot menu, and {{power}} to execute it&lt;br /&gt;
# Start the serial terminal application.  You should see a U-Boot command line prompt, such as&lt;br /&gt;
 In:    usbtty&lt;br /&gt;
 Out:   usbtty&lt;br /&gt;
 Err:   usbtty&lt;br /&gt;
 DEVICE_CONFIGURED: 1&lt;br /&gt;
 Enabling automatic fast charge&lt;br /&gt;
 GTA01Bv4 #&lt;br /&gt;
When you boot Linux on the smartphone, or if the smartphone powers down, Mac OS X will show a USB Device Unplug Notice, &amp;quot;The USB device has been unplugged while an application was still active. This can result in loss of data.&amp;quot; This error is probably harmless.&lt;br /&gt;
&lt;br /&gt;
== USB Networking ==&lt;br /&gt;
&lt;br /&gt;
There are two drivers you can use to talk to the RNDIS/Ethernet Gadget that the Neo1973 presents to its host system. The main difference between them is stability, but both have their own problems. Leopard needs further testing (Apple revised the driver and the Network System Settings).&lt;br /&gt;
&lt;br /&gt;
=== Apple CDC Ethernet driver 10.4.10 ===&lt;br /&gt;
MacOS X 10.4.10 and later includes a driver for RNDIS/Ethernet Gadget devices. Launch System Preferences -&amp;gt; Network and you should see &amp;quot;new interface detected enXX&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Issue&amp;lt;/b&amp;gt;: Each time you reboot the Neo, the interface will get a different Ethernet address. This in turn makes Mac OS X create a new configuration record. After a while you'll end up with a load of unusable enXX devices - if you don't periodically clean them out. Open System Preferences and go to Network -&amp;gt; Show(Network Port Configurations) -&amp;gt; Select an enXX -&amp;gt; Delete.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: this is not a problem to blame MacOSX for because it tries to make network configuration simpler based on the assumption of stable Ethernet addresses.&lt;br /&gt;
&lt;br /&gt;
Use this configuration on the new interface:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP-V4: manual&lt;br /&gt;
IP-Addr:  192.168.0.200 (you can use anything in 192.168.0.* but OM is configured by default to use 192.168.0.200 as the external gateway)&lt;br /&gt;
Subnet:   255.255.255.0 (should be the default - see tip below if have issue with these settings)&lt;br /&gt;
Router:   192.168.0.202 (not actually needed, OS X can figure this out for itself, unless you have other conflicting configurations)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Tip&amp;lt;/b&amp;gt;: If your Internet connection is also in the range 192.168.0.x then instead you might want to use:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Subnet:   255.255.255.248&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Test&amp;lt;/b&amp;gt;: You should be able to connect to your Neo! Try using ping 192.168.0.202 and the roundtrip time should be between 1 and 2 ms.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Test&amp;lt;/b&amp;gt;: run &amp;quot;ssh root@192.168.0.202&amp;quot; to get in, and try pinging (from the neo) the outside world (e.g. &amp;quot;ping google.com&amp;quot;). If that works then your Mac is routing the neo globally--congratulations!--if not.. &amp;lt;i&amp;gt;XXX fill in&amp;lt;/i&amp;gt;. You can also [[scp]] files back and forth. You can telnet, SSH, SMB or do whatever you want if you install software that enables you to set up TCP/IP network over your USB connection.&lt;br /&gt;
&lt;br /&gt;
=== Apple CDC Ethernet driver 10.5.x ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Issue&amp;lt;/b&amp;gt;:10.5 (Leopard) doesn't show a new ethernet interface for a Neo1973 running 2007.11. You'll only get the serial port, which is detected as a modem. The Ethernet device will show up in ifconfig though.&lt;br /&gt;
&lt;br /&gt;
It turns out that the AppleUSBCDC driver prefers to use the CDC-ACM interface of USB networking devices instead of CDC-ECM with the exception of a broadcom network card. You can download a patched AppleUSBCDC driver that will recognize the usb id/vendor pair of g_ether and force it to use CDC-ECM. You can obtain the OS X 10.5.X patched driver from: http://bugcommunity.com/downloads/usbcdc-g_ether.zip. Source code: http://bugcommunity.com/downloads/files/AppleUSBCDCDriver-g_ether.326.4.1.zip&lt;br /&gt;
&lt;br /&gt;
The issue of multiple network interfaces showing up whenever the device is rebooted/power-cycled is due to the g_ether driver randomly setting the host and device mac addresses. This problem is remedied by passing the same host and device mac addresses during the modprobe of g_ether.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 modprobe g_ether host_addr=46:0d:9e:67:69:eb dev_addr=46:0d:9e:67:69:ec&lt;br /&gt;
&lt;br /&gt;
=== AJZaurusUSB driver ===&lt;br /&gt;
&lt;br /&gt;
You can also use the open source driver from [http://www.dsitri.de/wiki.php?page=AJZaurusUSB]. It was developed for handheld devices like iPAQ, Sharp Zaurus and Motorola A760, but works for Openmoko as well. Download and install according to the manual found inside the package. The code is GPL'd (source available) and runs on both Intel and PPC Macs with 10.3, 10.4 and 10.5.&lt;br /&gt;
&lt;br /&gt;
After rebooting or loading the kernel extension by hand, you should have a new Ethernet interface in your System Preferences/Network.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note&amp;lt;/b&amp;gt;: This driver does not have the same problem as the Apple driver does, where it constantly adds to the list of interfaces each time you reboot the neo, because the driver provides a constant ethernet address independently what the Neo says. Only flashing a new kernel might force you to update.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Issue&amp;lt;/b&amp;gt;: This driver is sometimes a bit flaky, and a reboot of the Mac seems to bring it back. It is especially critical about hot unplugging the OM and sleep modes of MacBooks. This may even result in a Kernel Panic.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth Networking ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
This approach is based on: &lt;br /&gt;
&lt;br /&gt;
http://wiki.openmoko.org/wiki/Bluetooth_Support#Networking&lt;br /&gt;
http://www.macosxhints.com/article.php?story=20051220221237711&lt;br /&gt;
&lt;br /&gt;
Unfortunately we can't use the pand (PAN daemon for BNEP) or dund (Dial Up Networking daemon for LAP) since neither service is available for the Mac.&lt;br /&gt;
&lt;br /&gt;
So, we configure a RFCOMM connection and a PPP gateway on the Mac. Finally, we connect the OM as a ppp client to the Mac.&lt;br /&gt;
&lt;br /&gt;
The reversed direction (OM as the Access Point and the Mac as the client) is described shortly in http://wiki.openmoko.org/wiki/Manually_using_Bluetooth#PPP_Networking&lt;br /&gt;
&lt;br /&gt;
=== Making the Mac a PPP over Bluetooth Access Point ===&lt;br /&gt;
&lt;br /&gt;
In the Bluetooth System Preferences (10.4.11)&lt;br /&gt;
* go to the Sharing pane&lt;br /&gt;
* add a new service &amp;quot;BluetoothAccessPoint&amp;quot; of type RS-232&lt;br /&gt;
* Enable that it is shown in the network preferences pane&lt;br /&gt;
* Apply&lt;br /&gt;
&lt;br /&gt;
In the Network System Preferences&lt;br /&gt;
* activate the new network configuration (BluetoothAccessPoint)&lt;br /&gt;
* go tot the Modem tab and change the modem to &amp;quot;Null Modem 115200&amp;quot;&lt;br /&gt;
* Apply&lt;br /&gt;
&lt;br /&gt;
In a Terminal, enter the following:&lt;br /&gt;
 $ sudo /usr/sbin/pppd /dev/tty.BluetoothAccessPoint 115200 noauth local passive proxyarp asyncmap 0 silent persist :172.16.140.14&lt;br /&gt;
&lt;br /&gt;
Here you see the 172.16.140.14 address, which makes it possible not to use natd, since it's in the same network as the Mac is. So the firewall knows where to sent it to -- no routing problems etc. Pick any free address in your private range. For instance, if you are using the following ... firewall: 192.168.1.1, Mac: 192.168.1.2, you can enter 192.168.1.3, assuming it's not used elsewhere on your network.&lt;br /&gt;
&lt;br /&gt;
If you want to be sure you did it right, open the system.log file on the Mac (tail -f /var/log/system.log), and you should see something like this:&lt;br /&gt;
 Jun 25 10:33:57 hostname pppd[679]:  pppd 2.4.2 (Apple version 229) started by username, uid 0&lt;br /&gt;
 Jun 25 10:33:57 hostname pppd[679]:  Connect: ppp0 &amp;lt;--&amp;gt; /dev/tty.BluetoothAccessPoint&lt;br /&gt;
&lt;br /&gt;
In Terminal, write&lt;br /&gt;
 sudo sysctl -w net.inet.ip.forwarding=1&lt;br /&gt;
which should give the following feedback:&lt;br /&gt;
 net.inet.ip.forwarding: 0 -&amp;gt; 1&lt;br /&gt;
&lt;br /&gt;
In Terminal, write&lt;br /&gt;
 sudo ifconfig ppp0 up.&lt;br /&gt;
&lt;br /&gt;
=== Connecting the Openmoko as a Client to the Mac ===&lt;br /&gt;
&lt;br /&gt;
On the Openmoko do the following&lt;br /&gt;
&lt;br /&gt;
* Power on bluetooth&lt;br /&gt;
&lt;br /&gt;
 root@fic-gta01:~$ echo &amp;quot;1&amp;quot; &amp;gt; /sys/bus/platform/devices/gta01-pm-bt.0/power_on&lt;br /&gt;
&lt;br /&gt;
* Scan for the Mac&lt;br /&gt;
 root@fic-gta01:~$ hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
         00:0E:6D:C0:0l:6A       Sho&lt;br /&gt;
         00:20:E0:5A:FE:C8       MacBook&lt;br /&gt;
&lt;br /&gt;
* start the PPP client&lt;br /&gt;
&lt;br /&gt;
 pppd 115000 192.168.1.202:192.168.1.200 local defaultroute pty 'rfcomm connect 0 00:16:CB:2F:A0:46 1'&lt;br /&gt;
&lt;br /&gt;
* Enjoy&lt;br /&gt;
&lt;br /&gt;
== WiFi Networking ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
To Be Done.&lt;br /&gt;
&lt;br /&gt;
== Neo1973 as a Bluetooth GPRS modem ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
To Be Done.&lt;br /&gt;
&lt;br /&gt;
= Enabling the Mac as an Internet Router =&lt;br /&gt;
&lt;br /&gt;
Here is described how to enable your Mac to serve as a Internet Router for your Openmoko device.&lt;br /&gt;
&lt;br /&gt;
Note: you have to open all services you want to use from the Openmoko in the Mac Firewall.&lt;br /&gt;
&lt;br /&gt;
== USB connection ==&lt;br /&gt;
&lt;br /&gt;
In the Sharing System Preferences&lt;br /&gt;
* click the Internet tab&lt;br /&gt;
* Check all the ethernet (en) interfaces you want to enable Internet access for (i.e. the USB connection)&lt;br /&gt;
&lt;br /&gt;
SSH into your Neo and create /etc/resolv.conf, specify your Internet router IP address as the name server. You can simply copy the /etc/resolv.conf from your Mac.&lt;br /&gt;
 scp /etc/resolv.conf root@192.168.0.202:/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
 Example:&lt;br /&gt;
 nameserver 192.168.1.200    # replace by your real nameserver address&lt;br /&gt;
&lt;br /&gt;
Make sure your Neo routing table has entries so that all internet traffic is sent to your Mac (which will forward it to the outside world)&lt;br /&gt;
&lt;br /&gt;
 root@fic-gta01:~$ route&lt;br /&gt;
 Kernel IP routing table&lt;br /&gt;
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
 192.168.0.0     *               255.255.255.0   U     0      0        0 usb0&lt;br /&gt;
 default         192.168.0.200   0.0.0.0         UG    0      0        0 usb0&lt;br /&gt;
&lt;br /&gt;
Don't forget to enable your USB interface for Internet Sharing!&lt;br /&gt;
&lt;br /&gt;
== Bluetooth connection ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
= Accessing data and services on your device =&lt;br /&gt;
&lt;br /&gt;
== ssh ==&lt;br /&gt;
&lt;br /&gt;
After making the USB connection work, start ssh:&lt;br /&gt;
&lt;br /&gt;
ssh -l root 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
If you don't have installed the key, it will ask for a &amp;quot;yes&amp;quot; on the first connection. The root password is blank unless you change it.&lt;br /&gt;
&lt;br /&gt;
 MacBook-hns:~ hns$ ssh -l root 192.168.0.202&lt;br /&gt;
 root@192.168.0.202's password: &lt;br /&gt;
 root@fic-gta01:~$ hostname&lt;br /&gt;
 fic-gta01&lt;br /&gt;
 root@fic-gta01:~$&lt;br /&gt;
&lt;br /&gt;
NOTE: the ssh daemon (dropbear 0.49) on the Openmoko appears to have a bug when sending the exit status back to the client. From time to time you receive an exit status of 255.&lt;br /&gt;
&lt;br /&gt;
== SMB ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
To Be Done.&lt;br /&gt;
&lt;br /&gt;
== X11 ==&lt;br /&gt;
Launch Apple X11. xhost +192.168.0.202. On the Neo: export DISPLAY=192.168.0.200:0.0&lt;br /&gt;
&lt;br /&gt;
== Synchronizing ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
This is not done yet. Possible solutions are SyncML or ZMacSync http://www.dsitri.de/wiki.php?page=ZMacSync&lt;br /&gt;
&lt;br /&gt;
ZMacSync does not yet synchronize but allows more easy access to the Openmoko through Terminal/ssh.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Developing Openmoko software on a Mac =&lt;br /&gt;
&lt;br /&gt;
== Using virtualization software and MokoMakefile/OpenEmbedded ==&lt;br /&gt;
&lt;br /&gt;
You can use Parallels or VMWare to install your favourite Linux distribution and then develop just as on Linux.&lt;br /&gt;
&lt;br /&gt;
There are some drawback since AFAIK dfu-util may not work correctly in such environments. &lt;br /&gt;
&lt;br /&gt;
Don't bother with Parallels Desktop for Mac (&amp;lt;=3), the current USB support is terrible and USB storage keys don't even work so there was no way I would try dfu-util. USB keys work under VMWare Fusion for Mac though I have yet to try dfu-util in an VM under VMWare Fusion as there is Openmoko Flasher for Mac. -- [[User: Eric|Eric]]&lt;br /&gt;
&lt;br /&gt;
== Natively ==&lt;br /&gt;
{{InProgress}}&lt;br /&gt;
&lt;br /&gt;
There are some efforts to get through process of compiling OE and Openmoko under mac: [[Openmoko_under_QEMU_on_MacOSX]]&lt;br /&gt;
&lt;br /&gt;
== GNUstep/mySTEP SDK ==&lt;br /&gt;
&lt;br /&gt;
There is a [[QuantumSTEP]]/mySTEP project to port GNUstep to the Openmoko/Neo: [[http://www.quantum-step.com/wiki.php?page=OpenMoko-Edition More Info]]&lt;br /&gt;
An SDK for Xcode/Interface Builder is also available: [[http://www.versiontracker.com/dyn/moreinfo/macosx/20581 Entry at Version Tracker]] [[http://www.quantum-step.com/wiki.php?page=SDK More Info]]&lt;br /&gt;
&lt;br /&gt;
== Tools for Developers ==&lt;br /&gt;
&lt;br /&gt;
Some tools that run on MacOS X&lt;br /&gt;
&lt;br /&gt;
=== mkfs.jffs2 ===&lt;br /&gt;
[[http://www.quantum-step.com/download/OpenMoko-Edition/mkfs.jffs2.tgz mkfs.jffs2]] - make JFFS2 (root) file system (Universal Binary). Package includes sources and Xcode 2.4 project file to rebuild on MacOS X 10.4.11. NOT TESTED DEEPLY.&lt;br /&gt;
&lt;br /&gt;
  mkfs.jffs2 --pad=0x700000 -o rootfs.jffs2 -e 0x4000 -n -d/tmp/jffsroot/&lt;br /&gt;
&lt;br /&gt;
=== Crosscompiler Toolchain ===&lt;br /&gt;
&lt;br /&gt;
[[http://www.quantum-step.com/wiki.php?page=Compiler gcc 2.95.3]] - OABI cross compiler toolchain (C, C++, Obj-C) with Linux headers (PPC and Intel Macs)&lt;br /&gt;
&lt;br /&gt;
If someone has a newer one that works, please provide as an installable OSX Package.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Will the ones from MacPorts work? [[http://www.macports.org/ports.php?by=name&amp;amp;substr=gnueabi]] I'm still trying to get QEMU to work and haven't had a chance to test it yet.&lt;br /&gt;
&lt;br /&gt;
= Other Resources =&lt;br /&gt;
&lt;br /&gt;
== Search Software Repositories ==&lt;br /&gt;
&lt;br /&gt;
[[http://www.versiontracker.com/php/qs.php?action=search&amp;amp;str=openmoko&amp;amp;srchArea=macosx Keyword Openmoko]] at VersionTracker&lt;br /&gt;
&lt;br /&gt;
== Discussion Fora ==&lt;br /&gt;
&lt;br /&gt;
[[http://www.oesf.org/forums/index.php?showforum=63 Mac Issues Forum]] at Open Embedded Software Foundation (was Zaurus User Group)&lt;br /&gt;
&lt;br /&gt;
[[Category:Flashing Openmoko]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Getting_Started_with_your_Neo_FreeRunner</id>
		<title>Getting Started with your Neo FreeRunner</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Getting_Started_with_your_Neo_FreeRunner"/>
				<updated>2008-07-30T04:41:08Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: undo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Getting Started with your Neo FreeRunner}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;padding: 0%; margin:0em 0em 1em 0em; background:#eeeeee; width:100%;floating=&amp;quot;center&amp;quot;; &amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc; width:75% &amp;quot; |  &lt;br /&gt;
 &amp;lt;p align=&amp;quot;left&amp;quot;&amp;gt;&lt;br /&gt;
Thank you for purchasing this Developer release of Neo FreeRunner. The [[Neo FreeRunner]] phone is the second hardware platform to take advantage of [[Openmoko]]. This guide will help you get to know your Neo FreeRunner and how to start using your Neo FreeRunner.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;left&amp;quot;&amp;gt;&lt;br /&gt;
Some Frequently Asked Questions for new owners are featured in the [[Getting Started FAQ]].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Freerunner box.png|200px|thumb|Neo FreeRunner Package]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Package Contents ==&lt;br /&gt;
&lt;br /&gt;
[[Image:GTA02ALL.png|left|400px|thumb|Inside the package]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
: [[Image:Circle２.gif|10px]]  Neo FreeRunner&lt;br /&gt;
: [[Image:Circle２.gif|10px]]  Stylus&lt;br /&gt;
: [[Image:Circle２.gif|10px]]  Battery&lt;br /&gt;
: [[Image:Circle２.gif|10px]]  Charger&lt;br /&gt;
: [[Image:Circle２.gif|10px]]  USB Cable (A -&amp;gt; Mini-B 5-pole)&lt;br /&gt;
: [[Image:Circle２.gif|10px]]  microSD Card 512MB &amp;amp; SD adapter&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up the hardware, getting to know the Neo FreeRunner physically ==&lt;br /&gt;
&lt;br /&gt;
===Installing the Micro-SD card, the SIM card, and the Battery ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align-center&amp;gt;&lt;br /&gt;
&amp;lt;table width=&amp;quot;80%&amp;quot; style=&amp;quot;clear: both; border: 1px solid #ffffff; border-collapse: collapse; padding: 0.2em; margin: 0; font-size: 100%; margin: 0 1px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot; style=&amp;quot;background: #ffffff&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 50%; white-space: nowrap; padding: 4px 1em 0 0.5em; border-right: 1px solid #ffffff;&amp;quot;&amp;gt;[[Image:menu13.jpg|233px|thumb|Open the case like this.|center]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;padding: 1px 1em 0; background: #ffffff;&amp;quot;&amp;gt;[[Image:menu14.jpg|250px|thumb|Opening !|center]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot; style=&amp;quot;background: #ffffff&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;padding: 1px 1em 0; background: #ffffff;&amp;quot;&amp;gt;[[Image:menu11.jpg|260px|thumb|Put the SIM card and SD card here.|center]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 50%; white-space: nowrap; padding: 4px 1em 0 0.5em; border-right: 1px solid #ffffff;&amp;quot;&amp;gt;[[Image:menu12.jpg|233px|thumb|Finally, put in the battery.|center]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Remove the rear cover of the Neo FreeRunner by first holding the Neo FreeRunner on the side and then use your fingernail to prise off the rear cover at the slot on top of the device.&lt;br /&gt;
# Now you should be able to locate the combined SIM and Micro-SD card holder at the bottom of the battery compartment.&lt;br /&gt;
# Unlock the SIM card holder by sliding the metal clip down, towards the USB socket, with your fingernail. Use caution, as these parts are delicate and could be damaged by forcing them in the wrong direction.&lt;br /&gt;
# Lift up on the SIM card holder.&lt;br /&gt;
# The Micro-SD card holder is held in place by a latch on either side.  It is easiest to open the Micro-SD card holder by releasing these latches one at a time rather than by lifting from the middle, as lifting from the middle tends to increase the latching pressure.  A small screwdriver or knife can be used for this.&lt;br /&gt;
# Insert the Micro-SD card into the Micro-SD card holder. Note that on the inside of metal part of the holder there are little holding tabs for the card. Slide the card in these holders (on the metal part) before closing the card holder. Note that the electrical contacts should face down and towards the edge of the Neo Freerunner.&lt;br /&gt;
# Close the Micro-SD card holder, making sure that both latches of the holder are securely fastened.&lt;br /&gt;
# Insert the SIM card into the SIM card holder, taking care to slide inside the two metal tabs in the cover. Note that the electrical contacts should face down and that the cut corner should be closest to the external GPS Antenna Socket.&lt;br /&gt;
# Close the SIM card holder and lock it by sliding the metal clip towards the external GPS Antenna Socket on the FreeRunner.&lt;br /&gt;
# Insert the battery into the battery compartment, aligning the electrical contacts on the battery with the electrical contacts in the battery compartment.  Insert the side with the electrical contacts first.&lt;br /&gt;
# Replace the rear cover on the FreeRunner.&lt;br /&gt;
&lt;br /&gt;
[[Image:FR_SIM_SD_open.jpg|457px|thumb|SIM and SD holders open, with cards in place|center]]&lt;br /&gt;
&lt;br /&gt;
[[http://video.google.de/videoplay?docid=-8343770443102960945 A short video]] is also available. It was shot using the previous version of the Neo, but the installation procedures remains the same.&lt;br /&gt;
&lt;br /&gt;
===Charging the Neo FreeRunner===&lt;br /&gt;
&lt;br /&gt;
When using the Neo FreeRunner for the first time, you should charge the battery completely. The battery can be charged using the provided charger (at 1000mA) or from a powered USB port capable of providing 500mA worth of current.  Most computers will be able to charge the FreeRunner without any problems.&lt;br /&gt;
&lt;br /&gt;
Charging an empty battery at 100mA takes 12~15 hours, at 500mA takes 2,5~3,5 hours, and at 1000mA takes 1.5~2.5 hours. (90%~100%) [to be confirmed]&lt;br /&gt;
&lt;br /&gt;
Make sure that the battery never discharges completely. This is an issue because the internal charging circuitry can not be turned on until the FreeRunner has booted, and booting through USB power alone does not work. Should the battery become completely discharged, your options are:&lt;br /&gt;
- Use external stand-alone charger (compatible with the Nokia BL-5C battery)&lt;br /&gt;
- Boot the FreeRunner with an alternative battery, or with a spare GTA01 or GTA02 battery, plug USB power, then switch to the empty battery.&lt;br /&gt;
- Boot the FreeRunner with a 4.5VDC external power source (steady hand and great care involved), plug USB power, then insert the empty battery.&lt;br /&gt;
&lt;br /&gt;
===Buttons and connectors===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table width=&amp;quot;80%&amp;quot; style=&amp;quot;clear: both; border-collapse: collapse&amp;quot;  valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 25px&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 370px&amp;quot;&amp;gt;[[Image:menu9.jpg|370px|thumb|Power Button, USB and external GPS Antenna (left to right)|center]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 25px&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 370px&amp;quot;&amp;gt;[[Image:menu8.jpg|370px|thumb|AUX Button and phone jack (left to right)|center]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;'''Power'''&lt;br /&gt;
Tapping the power button exits the current application.&lt;br /&gt;
&lt;br /&gt;
Holding the power button brings up a menu allowing you to:&lt;br /&gt;
* Power on and off the GPS, wifi, GSM, and bluetooth antennae&lt;br /&gt;
* Change power management mode to:&lt;br /&gt;
** Dim first then lock&lt;br /&gt;
** Dim only, don't lock&lt;br /&gt;
** Disabled&lt;br /&gt;
* Lock the screen&lt;br /&gt;
* Shutdown the device.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;'''Aux'''&lt;br /&gt;
&lt;br /&gt;
Holding the Aux button brings up a menu allowing you to:&lt;br /&gt;
&lt;br /&gt;
* Hide and show the title bar (Fullscreen toggle)&lt;br /&gt;
* Alternate wide or tall display modes (Swap Orientation)&lt;br /&gt;
* Save the content of the screen as an image file (Screenshot)&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The phone jack is a 2.5mm connector with four contacts: stereo + MIC. It is compatible with the headsets used by Motorola smartphones (A780,A1200, ...) and the V-360.&lt;br /&gt;
&lt;br /&gt;
To plug regular (i.e. without microphone) headphones commonly used to listen to music, a compatible 2.5mm 4 rings jack to 3.5mm stereo jack adapter is needed. It has been reported that Nokia's 2.5mm -&amp;gt; 3.5mm adapters do not work, but that a 3.5mm Stereo Audio Adapter for Motorola MPx200/E398 works well. You will also want to switch from speaker output to headset, by restoring the appropriate alsa.state-file (usually the mediaplayer should do this for you) or via alsamixer (see below), to enable stereo output in there.&lt;br /&gt;
&lt;br /&gt;
===Unlocking the screen===&lt;br /&gt;
&lt;br /&gt;
When the screen is locked, you should see a Matrix-style green graphic with the Openmoko symbol in the middle of the bottom of the screen along with lock and unlock symbols.  If you drag the Openmoko symbol to the unlock symbol at the top then the screen will become unlocked.&lt;br /&gt;
&lt;br /&gt;
== Navigating menus and applications ==&lt;br /&gt;
&lt;br /&gt;
''Note:'' this section describes the interface used by the &amp;quot;2007.2&amp;quot; image, which is the current default image for Openmoko.&lt;br /&gt;
&lt;br /&gt;
====Today Page====&lt;br /&gt;
&lt;br /&gt;
[[Image:Todaypage_reduced_true.png|200px|right]] Openmoko starts by displaying the &amp;quot;Today&amp;quot; page, which is your home page. Icons in the top row indicate the status of the phone.  The bottom row consists of three tabs. The tab with a home on the left lead to the &amp;quot;Today&amp;quot; page you're viewing now. The central tab lead to the &amp;quot;Launch Task&amp;quot; page, which is the main menu used to start applications. The tab with gears on the right lead to the &amp;quot;Running Tasks&amp;quot; page, which is used to deal with currently open windows and applications.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Todaypage_reduced_false.png|right|200px|]] The &amp;quot;Today&amp;quot; page is empty, as shown above, when you first start Openmoko. We explain below how to turn on the &amp;quot;full view&amp;quot;, displayed to the right. In the full view, a second row of icons give quick links to commonly-used applications such as the dialer, the adressbook, mailbox and calendar. The main body of the screen displays a clock and other useful information.&lt;br /&gt;
&lt;br /&gt;
See [[Today/2007.2]] for more information about the Today page and customization. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Launch Task Page====&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
[[Image:LaunchTasks.png|right|200px]] This page displays a menu of available applications.  You may choose a category of applications to display to simplify the screen, or choose to display them all.&lt;br /&gt;
&lt;br /&gt;
Current categories are [[PIM Suite]], [[Applications]], [[Games]], [[Utilities]], and All.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Running Tasks Page====&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
[[Image:RunningTasks.png|right|200px]] This page displays currently-running tasks.  Any individual task may be terminated by selecting it and then clicking on the garbage-can icon to close it.  All tasks may be terminated by clicking on any one of them and then clicking on the &amp;quot;folder&amp;quot; icon in the upper right (expect this to change in future releases).  Any task may be rejoined by selecting it and then selecting the &amp;quot;return&amp;quot; icon at the middle top.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Exiting from and switching to an Application====&lt;br /&gt;
&lt;br /&gt;
Any time an application is running, you can simply click the device's power button and the application will exit, returning you to the Today page.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can cycle through active applications using the AUX button&lt;br /&gt;
&lt;br /&gt;
Clicking the top-left of the screen displays the drop down ''task menu''. This menu lists all active applications and allows to switch directly to any one. ''Note:'' If the task menu is not shown, click and hold the [[#Aux|Aux]] button to bring up the Aux menu, and select &amp;quot;Toggle Fullscreen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Using the terminal ==&lt;br /&gt;
&lt;br /&gt;
To start a console from &amp;quot;Today&amp;quot; page, click the middle tab at the bottom of the screen to display the &amp;quot;Launch applications&amp;quot; page, then select Terminal in the &amp;quot;Applications&amp;quot; submenu. The multitaps keyboard slides up (and down) from the bottom of the screen automatically when you touch the screen.&lt;br /&gt;
&lt;br /&gt;
===Setting date and time===&lt;br /&gt;
&lt;br /&gt;
From the terminal, type the following, but replace ''MM'' with the month (01-12); ''DD'' with the day (01-31); ''hhmm'' with the time (0000-2359); ''YYYY'' with the  year (optional); and ''.ss'' with the seconds (optional).&lt;br /&gt;
&lt;br /&gt;
 date -s ''MMDDhhmmYYYY.ss''&lt;br /&gt;
&lt;br /&gt;
To make the change persist between reboots, sync the hardware clock with the updated system time.&lt;br /&gt;
&lt;br /&gt;
 hwclock --systohc&lt;br /&gt;
&lt;br /&gt;
See [[Setting_Date_and_Time]] for more discussion, including synchronizing with an NTP server.&lt;br /&gt;
&lt;br /&gt;
===Adjusting the Volume===&lt;br /&gt;
&lt;br /&gt;
As of this writing, there is no way to adjust the volume from the screen.&lt;br /&gt;
&lt;br /&gt;
For now, run the terminal application or [[USB_Networking|log in via usb]], and run the [[Neo alsamixer]] application (to see all the options, including Mic2, you will need to run ''alsamixer -V all'').  The mixer is simpler than it looks.  Just use the left and right arrow keys to select &amp;quot;headphone&amp;quot; or &amp;quot;PCM&amp;quot; and use the up and down arrow keys to adjust the volume.  You can also adjust your microphone volume with the &amp;quot;mic2&amp;quot; adjustment.  Press ESC when finished.  Then exit the terminal application or log out of the USB login.&lt;br /&gt;
&lt;br /&gt;
You may need to update configuration files in /usr/share/openmoko/scenarios/ to make the microphone setting permanent.  Use&lt;br /&gt;
 alsactl -f ''path-to-statefile'' store&lt;br /&gt;
to do this.&lt;br /&gt;
&lt;br /&gt;
The default files are as follows (in /usr/share/openmoko/scenarios/): &lt;br /&gt;
:gsmhandset.state&lt;br /&gt;
:gsmheadset.state&lt;br /&gt;
:gsmspeakerout.state&lt;br /&gt;
:headset.state&lt;br /&gt;
:stereoout.state&lt;br /&gt;
&lt;br /&gt;
These correspond to the various Sound Profiles accessible in the Debug Tool under Applications.&lt;br /&gt;
&lt;br /&gt;
To manually restore one of the state files,&lt;br /&gt;
 alsactl -f ''path-to-statefile'' restore&lt;br /&gt;
&lt;br /&gt;
One way to increase the volume of the microphone is to do the following:&lt;br /&gt;
# ssh into your Freerunner&lt;br /&gt;
# vi /usr/share/openmoko/scenarios/gsmhandset.state&lt;br /&gt;
# search for &amp;quot;Mic2&amp;quot;&lt;br /&gt;
# change to &amp;quot;value 3&amp;quot;&lt;br /&gt;
If people report not being able to hear you when you call, then setting the Mic2 value to 2 or 3 should fix that.&lt;br /&gt;
&lt;br /&gt;
'''Question: I am using headphones but only the right speaker work the left don't work how can I fix this ?'''&lt;br /&gt;
&lt;br /&gt;
R: This should be set correctly by restoring gsmheadset.state.&lt;br /&gt;
Pull and replug the headset jack to make sure the correct state-file is restored.&lt;br /&gt;
To manually control the switch between Speaker and headset:&lt;br /&gt;
Start alsamixer, scroll along to the right until you find &amp;quot;Amp Spk&amp;quot; and mute it (m), the sound will then come out from both channels of the &lt;br /&gt;
headphones and not out of the speaker.&lt;br /&gt;
&lt;br /&gt;
[[Freerunner_Hardware_Issues]]&lt;br /&gt;
&lt;br /&gt;
=== Accessing the microSD card ===&lt;br /&gt;
&lt;br /&gt;
Mounted at /media/card by default.&lt;br /&gt;
&lt;br /&gt;
If you have multiple partitions on the card, the first (/dev/mmcblk0p1) will be mounted at /media/card, the second at /media/mmcblk0p2, the third at /media/mmcblk0p3 etc.&lt;br /&gt;
&lt;br /&gt;
== Set up USB-based networking and update ==&lt;br /&gt;
&lt;br /&gt;
===Connect with and log in the Neo FreeRunner===&lt;br /&gt;
&lt;br /&gt;
This is discussed in the [[USB_Networking|USB Networking]] section.&lt;br /&gt;
&lt;br /&gt;
===Use the package manager===&lt;br /&gt;
&lt;br /&gt;
There are three layers to the software on the FreeRunner:&lt;br /&gt;
&lt;br /&gt;
* uBoot: Think of u-boot as a combination of the BIOS and Grub on a PC.&lt;br /&gt;
* Kernel: The Linux kernel&lt;br /&gt;
* Root Filesystem: The rest of the system&lt;br /&gt;
&lt;br /&gt;
In order to keep the FreeRunner up-to-date with the latest features and bug-fixes, it is advisable update the software at regular intervals. There are two main methods of doing this: using the package manager opkg (discussed in this section) or [[Flashing the Neo FreeRunner|flashing  the device]].&lt;br /&gt;
&lt;br /&gt;
uboot, the kernel and the root filesystem can all be flashed to update them. For uboot, this is the only possibility. The advantage of flashing the kernel, rather than using opkg seems to be speed. The disadvantage of flashing the root file system is that it wipes out all local modifications, including /home. If /home is moved to the SD disk, this is no longer a problem.&lt;br /&gt;
&lt;br /&gt;
Assuming that your FreeRunner can access the internet (see above), the kernel and other packages can be updated with&lt;br /&gt;
&lt;br /&gt;
 # opkg update&lt;br /&gt;
 # opkg upgrade&lt;br /&gt;
&lt;br /&gt;
The first updates the repository information, telling opkg what packages are available. The second upgrades all packages for which a newer version is available. '''At the moment, some signature files are missing (404 errors), which opkg complains about, but this is cosmetic.'''  The repositories will still update with the missing signature files.  &lt;br /&gt;
&lt;br /&gt;
Note that running opkg upgrade on a factory-fresh phone will upgrade dropbear (the ssh software) and various xserver packages, and neither upgrades elegantly while in use, so either upgrade dropbear from the FreeRunner's terminal and then upgrade the rest via ssh, or upgrade the xserver packages via ssh and then upgrade the rest from the FreeRunner's terminal.  For example, go to the FreeRunner terminal and type:&lt;br /&gt;
&lt;br /&gt;
 # opkg upgrade dropbear&lt;br /&gt;
&lt;br /&gt;
which will upgrade it to the latest version.  Then connect to the FreeRunner via ssh and type:&lt;br /&gt;
&lt;br /&gt;
 # opkg upgrade&lt;br /&gt;
&lt;br /&gt;
If you do your first upgrade in two installments like this, it will go more smoothly.&lt;br /&gt;
&lt;br /&gt;
It will be possible in the future to update uboot with opkg, but this has not yet been implemented&lt;br /&gt;
&lt;br /&gt;
=== Installing multimedia, web browsing and other applications ===&lt;br /&gt;
&lt;br /&gt;
There are many applications you can install - check out the [[Repositories]] for a list of packages, an example of how to add a repository using scaredy cat as an example can also be found here. A list of pre-installed and available packages with descriptions can be found here - [[Available Packages]].&lt;br /&gt;
&lt;br /&gt;
The calendar can be installed with&lt;br /&gt;
&lt;br /&gt;
 opkg install openmoko-dates2&lt;br /&gt;
&lt;br /&gt;
For a Media Player:&lt;br /&gt;
&lt;br /&gt;
 opkg install openmoko-mediaplayer2&lt;br /&gt;
 wget http://abraxa.dyndns.org:81/random/openmoko-mediaplayer-theme.tar.bz2&lt;br /&gt;
 tar xjf openmoko-mediaplayer-theme.tar.bz2 -C /usr/share/themes/Moko/gtk-2.0&lt;br /&gt;
 rm openmoko-mediaplayer-theme.tar.bz2&lt;br /&gt;
&lt;br /&gt;
If you want a basic image viewer, have a look at the one from the gpe suite:&lt;br /&gt;
&lt;br /&gt;
 opkg install gpe-icons &lt;br /&gt;
 opkg install gpe-gallery&lt;br /&gt;
&lt;br /&gt;
To obtain the standard web browser, use:&lt;br /&gt;
&lt;br /&gt;
 opkg install openmoko-browser2&lt;br /&gt;
&lt;br /&gt;
An alternative browser, minimo, offers many more features.  &lt;br /&gt;
First download and unpack it on your GNU/Linux host:&lt;br /&gt;
&lt;br /&gt;
 wget http://www.ginguppin.de/files/minimo.tar.bz2&lt;br /&gt;
 tar jvxf minimo.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Copy it over to the FreeRunner:&lt;br /&gt;
 scp minimo_* root@192.168.0.202:/tmp&lt;br /&gt;
&lt;br /&gt;
Then on the FreeRunner:&lt;br /&gt;
 opkg install /tmp/minimo_0.02\+cvs20070626-r0_armv4t.ipk&lt;br /&gt;
&lt;br /&gt;
You'll probably also want to [[Switching Keyboards|change the keyboard]] including the [[Switching Keyboards#How_to_add_a_keyboard_toggle_button|keyboard toggle applet]]&lt;br /&gt;
&lt;br /&gt;
=== Importing contacts ===&lt;br /&gt;
&lt;br /&gt;
If you can export your contacts to VCard format, either multiple files or single file containing all of them, you may use the script on [[Import Vcf Contacts]] page to bring them to Neo.&lt;br /&gt;
&lt;br /&gt;
==The next steps==&lt;br /&gt;
&lt;br /&gt;
Congratulations for setting up your Neo FreeRunner. There are many more ressources to help free your phone: &lt;br /&gt;
&lt;br /&gt;
===Customize the interface: clock, keyboard...===&lt;br /&gt;
&lt;br /&gt;
The stock [[Openmoko2007.2]] image flashed onto the Neo FreeRunner is really just the bare bones. For example, you don't have the clock and the quick-launch icons showing. Here's how you can change that:&lt;br /&gt;
&lt;br /&gt;
 # dbus-launch gconftool-2 -t boolean -s /desktop/poky/interface/reduced false&lt;br /&gt;
 # /etc/init.d/xserver-nodm restart&lt;br /&gt;
&lt;br /&gt;
If you rather have a regular clock instead of the digital one, do this instead:&lt;br /&gt;
&lt;br /&gt;
 # dbus-launch gconftool-2 -t boolean -s /desktop/poky/interface/reduced false&lt;br /&gt;
 # dbus-launch gconftool-2 -t boolean -s /desktop/poky/interface/digital_clock false&lt;br /&gt;
 # /etc/init.d/xserver-nodm restart&lt;br /&gt;
&lt;br /&gt;
More information about today screen customization at [[Today/2007.2]].&lt;br /&gt;
&lt;br /&gt;
With either clock, you may wish to set the correct [[Date]] and [[Timezone]].&lt;br /&gt;
&lt;br /&gt;
Also, if you prefer having a full keyboard, using matchbox's qwerty keybord, see [[Switching_Keyboards#Matchbox_keyboard|these instructions]]. Then you may also see [http://lists.openmoko.org/pipermail/community/2008-July/021296.html these], which describe a way to add an applet allowing the showing/hiding of that keyboard.&lt;br /&gt;
&lt;br /&gt;
===WLAN, GPRS, Bluetooth and GPS===&lt;br /&gt;
&lt;br /&gt;
'''WLAN''': See [[GTA02 WLAN]]&lt;br /&gt;
&lt;br /&gt;
'''GPRS''': See [[Manually using GPRS]]&lt;br /&gt;
&lt;br /&gt;
'''Bluetooth''': See [[Manually using Bluetooth]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Simple guide to get going with '''GPS''':&lt;br /&gt;
&lt;br /&gt;
 # opkg install gpsd&lt;br /&gt;
 # echo &amp;quot;GPS_DEV=\&amp;quot;/dev/ttySAC1\&amp;quot;&amp;quot; &amp;gt; /etc/default/gpsd&lt;br /&gt;
&lt;br /&gt;
and restart gpsd, the gps daemon, with&lt;br /&gt;
&lt;br /&gt;
 # /etc/init.d/gpsd restart&lt;br /&gt;
&lt;br /&gt;
To test GPS, you can use agpsui:&lt;br /&gt;
&lt;br /&gt;
 # opkg install openmoko-agpsui&lt;br /&gt;
&lt;br /&gt;
For a nice map, try tangoGPS:&lt;br /&gt;
&lt;br /&gt;
 # opkg install http://www.tangogps.org/downloads/tangogps_0.9.2-r1_armv4t.ipk&lt;br /&gt;
&lt;br /&gt;
More information on [[GPS]] page.&lt;br /&gt;
&lt;br /&gt;
There were critical [[GPS Problems]] earlier that are largely fixed with newest kernel. To install the updates when they become available, you will probably want to learn about [[Booting the Neo FreeRunner]] and [[Flashing the Neo FreeRunner]].&lt;br /&gt;
&lt;br /&gt;
=== The community ===&lt;br /&gt;
==== Mailing lists ====&lt;br /&gt;
&lt;br /&gt;
There are several [[http://lists.openmoko.org/mailman/listinfo/ Mailing lists]]&lt;br /&gt;
&lt;br /&gt;
There is an active community mailing list.&lt;br /&gt;
You may ask for help on the support mailing list : more details at https://lists.openmoko.org/mailman/listinfo/support&lt;br /&gt;
&lt;br /&gt;
If you are more comfortable with a web-based approach, you can also read and post the lists with http://lists.openmoko.org/nabble.html&lt;br /&gt;
&lt;br /&gt;
An excellent tool for searching all the openmoko mailing lists is http://openmoko.markmail.org/&lt;br /&gt;
&lt;br /&gt;
==== The wiki ====&lt;br /&gt;
&lt;br /&gt;
If you want to know more about the Neo FreeRunner then you can get more information in the following topics:&lt;br /&gt;
&lt;br /&gt;
* [[GTA02 Openness]]&lt;br /&gt;
* [[Neo FreeRunner]]&lt;br /&gt;
* [[Neo FreeRunner GTA02 Hardware]]&lt;br /&gt;
* [[FreeRunner/Buttons and LEDs]]&lt;br /&gt;
* [[Latest Images]]&lt;br /&gt;
* [[Distributions]]&lt;br /&gt;
* [[GTA02_FAQ]]&lt;br /&gt;
&lt;br /&gt;
To search this wiki with Google, use the following search term:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;search term&amp;gt; site:http://wiki.openmoko.org/wiki/&lt;br /&gt;
&lt;br /&gt;
==== Blogs ====&lt;br /&gt;
&lt;br /&gt;
The [http://planet.openmoko.org/ collection of blogs on OpenMoko].&lt;br /&gt;
&lt;br /&gt;
==== Other documents ====&lt;br /&gt;
&lt;br /&gt;
* http://quickstart.openmoko.org/&lt;br /&gt;
&lt;br /&gt;
[[Category:GTA02 Hardware]]&lt;br /&gt;
[[Category:Guides]]&lt;br /&gt;
[[Category:User Guides]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Getting_Started_with_your_Neo_FreeRunner</id>
		<title>Getting Started with your Neo FreeRunner</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Getting_Started_with_your_Neo_FreeRunner"/>
				<updated>2008-07-30T04:37:06Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: add Mac reference&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Getting Started with your Neo FreeRunner}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;2&amp;quot; style=&amp;quot;padding: 0%; margin:0em 0em 1em 0em; background:#eeeeee; width:100%;floating=&amp;quot;center&amp;quot;; &amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc; width:75% &amp;quot; |  &lt;br /&gt;
 &amp;lt;p align=&amp;quot;left&amp;quot;&amp;gt;&lt;br /&gt;
Thank you for purchasing this Developer release of Neo FreeRunner. The [[Neo FreeRunner]] phone is the second hardware platform to take advantage of [[Openmoko]]. This guide will help you get to know your Neo FreeRunner and how to start using your Neo FreeRunner.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;left&amp;quot;&amp;gt;&lt;br /&gt;
Some Frequently Asked Questions for new owners are featured in the [[Getting Started FAQ]].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
! style=&amp;quot;background:#fcfcfc; width:25% &amp;quot; |&lt;br /&gt;
[[Image:Freerunner box.png|200px|thumb|Neo FreeRunner Package]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Package Contents ==&lt;br /&gt;
&lt;br /&gt;
[[Image:GTA02ALL.png|left|400px|thumb|Inside the package]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
: [[Image:Circle２.gif|10px]]  Neo FreeRunner&lt;br /&gt;
: [[Image:Circle２.gif|10px]]  Stylus&lt;br /&gt;
: [[Image:Circle２.gif|10px]]  Battery&lt;br /&gt;
: [[Image:Circle２.gif|10px]]  Charger&lt;br /&gt;
: [[Image:Circle２.gif|10px]]  USB Cable (A -&amp;gt; Mini-B 5-pole)&lt;br /&gt;
: [[Image:Circle２.gif|10px]]  microSD Card 512MB &amp;amp; SD adapter&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up the hardware, getting to know the Neo FreeRunner physically ==&lt;br /&gt;
&lt;br /&gt;
===Installing the Micro-SD card, the SIM card, and the Battery ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align-center&amp;gt;&lt;br /&gt;
&amp;lt;table width=&amp;quot;80%&amp;quot; style=&amp;quot;clear: both; border: 1px solid #ffffff; border-collapse: collapse; padding: 0.2em; margin: 0; font-size: 100%; margin: 0 1px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot; style=&amp;quot;background: #ffffff&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 50%; white-space: nowrap; padding: 4px 1em 0 0.5em; border-right: 1px solid #ffffff;&amp;quot;&amp;gt;[[Image:menu13.jpg|233px|thumb|Open the case like this.|center]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;padding: 1px 1em 0; background: #ffffff;&amp;quot;&amp;gt;[[Image:menu14.jpg|250px|thumb|Opening !|center]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot; style=&amp;quot;background: #ffffff&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;padding: 1px 1em 0; background: #ffffff;&amp;quot;&amp;gt;[[Image:menu11.jpg|260px|thumb|Put the SIM card and SD card here.|center]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 50%; white-space: nowrap; padding: 4px 1em 0 0.5em; border-right: 1px solid #ffffff;&amp;quot;&amp;gt;[[Image:menu12.jpg|233px|thumb|Finally, put in the battery.|center]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Remove the rear cover of the Neo FreeRunner by first holding the Neo FreeRunner on the side and then use your fingernail to prise off the rear cover at the slot on top of the device.&lt;br /&gt;
# Now you should be able to locate the combined SIM and Micro-SD card holder at the bottom of the battery compartment.&lt;br /&gt;
# Unlock the SIM card holder by sliding the metal clip down, towards the USB socket, with your fingernail. Use caution, as these parts are delicate and could be damaged by forcing them in the wrong direction.&lt;br /&gt;
# Lift up on the SIM card holder.&lt;br /&gt;
# The Micro-SD card holder is held in place by a latch on either side.  It is easiest to open the Micro-SD card holder by releasing these latches one at a time rather than by lifting from the middle, as lifting from the middle tends to increase the latching pressure.  A small screwdriver or knife can be used for this.&lt;br /&gt;
# Insert the Micro-SD card into the Micro-SD card holder. Note that on the inside of metal part of the holder there are little holding tabs for the card. Slide the card in these holders (on the metal part) before closing the card holder. Note that the electrical contacts should face down and towards the edge of the Neo Freerunner.&lt;br /&gt;
# Close the Micro-SD card holder, making sure that both latches of the holder are securely fastened.&lt;br /&gt;
# Insert the SIM card into the SIM card holder, taking care to slide inside the two metal tabs in the cover. Note that the electrical contacts should face down and that the cut corner should be closest to the external GPS Antenna Socket.&lt;br /&gt;
# Close the SIM card holder and lock it by sliding the metal clip towards the external GPS Antenna Socket on the FreeRunner.&lt;br /&gt;
# Insert the battery into the battery compartment, aligning the electrical contacts on the battery with the electrical contacts in the battery compartment.  Insert the side with the electrical contacts first.&lt;br /&gt;
# Replace the rear cover on the FreeRunner.&lt;br /&gt;
&lt;br /&gt;
[[Image:FR_SIM_SD_open.jpg|457px|thumb|SIM and SD holders open, with cards in place|center]]&lt;br /&gt;
&lt;br /&gt;
[[http://video.google.de/videoplay?docid=-8343770443102960945 A short video]] is also available. It was shot using the previous version of the Neo, but the installation procedures remains the same.&lt;br /&gt;
&lt;br /&gt;
===Charging the Neo FreeRunner===&lt;br /&gt;
&lt;br /&gt;
When using the Neo FreeRunner for the first time, you should charge the battery completely. The battery can be charged using the provided charger (at 1000mA) or from a powered USB port capable of providing 500mA worth of current.  Most computers will be able to charge the FreeRunner without any problems.&lt;br /&gt;
&lt;br /&gt;
Charging an empty battery at 100mA takes 12~15 hours, at 500mA takes 2,5~3,5 hours, and at 1000mA takes 1.5~2.5 hours. (90%~100%) [to be confirmed]&lt;br /&gt;
&lt;br /&gt;
Make sure that the battery never discharges completely. This is an issue because the internal charging circuitry can not be turned on until the FreeRunner has booted, and booting through USB power alone does not work. Should the battery become completely discharged, your options are:&lt;br /&gt;
- Use external stand-alone charger (compatible with the Nokia BL-5C battery)&lt;br /&gt;
- Boot the FreeRunner with an alternative battery, or with a spare GTA01 or GTA02 battery, plug USB power, then switch to the empty battery.&lt;br /&gt;
- Boot the FreeRunner with a 4.5VDC external power source (steady hand and great care involved), plug USB power, then insert the empty battery.&lt;br /&gt;
&lt;br /&gt;
===Buttons and connectors===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table width=&amp;quot;80%&amp;quot; style=&amp;quot;clear: both; border-collapse: collapse&amp;quot;  valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 25px&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 370px&amp;quot;&amp;gt;[[Image:menu9.jpg|370px|thumb|Power Button, USB and external GPS Antenna (left to right)|center]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 25px&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 370px&amp;quot;&amp;gt;[[Image:menu8.jpg|370px|thumb|AUX Button and phone jack (left to right)|center]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;'''Power'''&lt;br /&gt;
Tapping the power button exits the current application.&lt;br /&gt;
&lt;br /&gt;
Holding the power button brings up a menu allowing you to:&lt;br /&gt;
* Power on and off the GPS, wifi, GSM, and bluetooth antennae&lt;br /&gt;
* Change power management mode to:&lt;br /&gt;
** Dim first then lock&lt;br /&gt;
** Dim only, don't lock&lt;br /&gt;
** Disabled&lt;br /&gt;
* Lock the screen&lt;br /&gt;
* Shutdown the device.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;'''Aux'''&lt;br /&gt;
&lt;br /&gt;
Holding the Aux button brings up a menu allowing you to:&lt;br /&gt;
&lt;br /&gt;
* Hide and show the title bar (Fullscreen toggle)&lt;br /&gt;
* Alternate wide or tall display modes (Swap Orientation)&lt;br /&gt;
* Save the content of the screen as an image file (Screenshot)&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The phone jack is a 2.5mm connector with four contacts: stereo + MIC. It is compatible with the headsets used by Motorola smartphones (A780,A1200, ...) and the V-360.&lt;br /&gt;
&lt;br /&gt;
To plug regular (i.e. without microphone) headphones commonly used to listen to music, a compatible 2.5mm 4 rings jack to 3.5mm stereo jack adapter is needed. It has been reported that Nokia's 2.5mm -&amp;gt; 3.5mm adapters do not work, but that a 3.5mm Stereo Audio Adapter for Motorola MPx200/E398 works well. You will also want to switch from speaker output to headset, by restoring the appropriate alsa.state-file (usually the mediaplayer should do this for you) or via alsamixer (see below), to enable stereo output in there.&lt;br /&gt;
&lt;br /&gt;
===Unlocking the screen===&lt;br /&gt;
&lt;br /&gt;
When the screen is locked, you should see a Matrix-style green graphic with the Openmoko symbol in the middle of the bottom of the screen along with lock and unlock symbols.  If you drag the Openmoko symbol to the unlock symbol at the top then the screen will become unlocked.&lt;br /&gt;
&lt;br /&gt;
== Navigating menus and applications ==&lt;br /&gt;
&lt;br /&gt;
''Note:'' this section describes the interface used by the &amp;quot;2007.2&amp;quot; image, which is the current default image for Openmoko.&lt;br /&gt;
&lt;br /&gt;
====Today Page====&lt;br /&gt;
&lt;br /&gt;
[[Image:Todaypage_reduced_true.png|200px|right]] Openmoko starts by displaying the &amp;quot;Today&amp;quot; page, which is your home page. Icons in the top row indicate the status of the phone.  The bottom row consists of three tabs. The tab with a home on the left lead to the &amp;quot;Today&amp;quot; page you're viewing now. The central tab lead to the &amp;quot;Launch Task&amp;quot; page, which is the main menu used to start applications. The tab with gears on the right lead to the &amp;quot;Running Tasks&amp;quot; page, which is used to deal with currently open windows and applications.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Todaypage_reduced_false.png|right|200px|]] The &amp;quot;Today&amp;quot; page is empty, as shown above, when you first start Openmoko. We explain below how to turn on the &amp;quot;full view&amp;quot;, displayed to the right. In the full view, a second row of icons give quick links to commonly-used applications such as the dialer, the adressbook, mailbox and calendar. The main body of the screen displays a clock and other useful information.&lt;br /&gt;
&lt;br /&gt;
See [[Today/2007.2]] for more information about the Today page and customization. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Launch Task Page====&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
[[Image:LaunchTasks.png|right|200px]] This page displays a menu of available applications.  You may choose a category of applications to display to simplify the screen, or choose to display them all.&lt;br /&gt;
&lt;br /&gt;
Current categories are [[PIM Suite]], [[Applications]], [[Games]], [[Utilities]], and All.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Running Tasks Page====&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
[[Image:RunningTasks.png|right|200px]] This page displays currently-running tasks.  Any individual task may be terminated by selecting it and then clicking on the garbage-can icon to close it.  All tasks may be terminated by clicking on any one of them and then clicking on the &amp;quot;folder&amp;quot; icon in the upper right (expect this to change in future releases).  Any task may be rejoined by selecting it and then selecting the &amp;quot;return&amp;quot; icon at the middle top.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=all /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Exiting from and switching to an Application====&lt;br /&gt;
&lt;br /&gt;
Any time an application is running, you can simply click the device's power button and the application will exit, returning you to the Today page.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can cycle through active applications using the AUX button&lt;br /&gt;
&lt;br /&gt;
Clicking the top-left of the screen displays the drop down ''task menu''. This menu lists all active applications and allows to switch directly to any one. ''Note:'' If the task menu is not shown, click and hold the [[#Aux|Aux]] button to bring up the Aux menu, and select &amp;quot;Toggle Fullscreen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Using the terminal ==&lt;br /&gt;
&lt;br /&gt;
To start a console from &amp;quot;Today&amp;quot; page, click the middle tab at the bottom of the screen to display the &amp;quot;Launch applications&amp;quot; page, then select Terminal in the &amp;quot;Applications&amp;quot; submenu. The multitaps keyboard slides up (and down) from the bottom of the screen automatically when you touch the screen.&lt;br /&gt;
&lt;br /&gt;
===Setting date and time===&lt;br /&gt;
&lt;br /&gt;
From the terminal, type the following, but replace ''MM'' with the month (01-12); ''DD'' with the day (01-31); ''hhmm'' with the time (0000-2359); ''YYYY'' with the  year (optional); and ''.ss'' with the seconds (optional).&lt;br /&gt;
&lt;br /&gt;
 date -s ''MMDDhhmmYYYY.ss''&lt;br /&gt;
&lt;br /&gt;
To make the change persist between reboots, sync the hardware clock with the updated system time.&lt;br /&gt;
&lt;br /&gt;
 hwclock --systohc&lt;br /&gt;
&lt;br /&gt;
See [[Setting_Date_and_Time]] for more discussion, including synchronizing with an NTP server.&lt;br /&gt;
&lt;br /&gt;
===Adjusting the Volume===&lt;br /&gt;
&lt;br /&gt;
As of this writing, there is no way to adjust the volume from the screen.&lt;br /&gt;
&lt;br /&gt;
For now, run the terminal application or [[USB_Networking|log in via usb]], and run the [[Neo alsamixer]] application (to see all the options, including Mic2, you will need to run ''alsamixer -V all'').  The mixer is simpler than it looks.  Just use the left and right arrow keys to select &amp;quot;headphone&amp;quot; or &amp;quot;PCM&amp;quot; and use the up and down arrow keys to adjust the volume.  You can also adjust your microphone volume with the &amp;quot;mic2&amp;quot; adjustment.  Press ESC when finished.  Then exit the terminal application or log out of the USB login.&lt;br /&gt;
&lt;br /&gt;
You may need to update configuration files in /usr/share/openmoko/scenarios/ to make the microphone setting permanent.  Use&lt;br /&gt;
 alsactl -f ''path-to-statefile'' store&lt;br /&gt;
to do this.&lt;br /&gt;
&lt;br /&gt;
The default files are as follows (in /usr/share/openmoko/scenarios/): &lt;br /&gt;
:gsmhandset.state&lt;br /&gt;
:gsmheadset.state&lt;br /&gt;
:gsmspeakerout.state&lt;br /&gt;
:headset.state&lt;br /&gt;
:stereoout.state&lt;br /&gt;
&lt;br /&gt;
These correspond to the various Sound Profiles accessible in the Debug Tool under Applications.&lt;br /&gt;
&lt;br /&gt;
To manually restore one of the state files,&lt;br /&gt;
 alsactl -f ''path-to-statefile'' restore&lt;br /&gt;
&lt;br /&gt;
One way to increase the volume of the microphone is to do the following:&lt;br /&gt;
# ssh into your Freerunner&lt;br /&gt;
# vi /usr/share/openmoko/scenarios/gsmhandset.state&lt;br /&gt;
# search for &amp;quot;Mic2&amp;quot;&lt;br /&gt;
# change to &amp;quot;value 3&amp;quot;&lt;br /&gt;
If people report not being able to hear you when you call, then setting the Mic2 value to 2 or 3 should fix that.&lt;br /&gt;
&lt;br /&gt;
'''Question: I am using headphones but only the right speaker work the left don't work how can I fix this ?'''&lt;br /&gt;
&lt;br /&gt;
R: This should be set correctly by restoring gsmheadset.state.&lt;br /&gt;
Pull and replug the headset jack to make sure the correct state-file is restored.&lt;br /&gt;
To manually control the switch between Speaker and headset:&lt;br /&gt;
Start alsamixer, scroll along to the right until you find &amp;quot;Amp Spk&amp;quot; and mute it (m), the sound will then come out from both channels of the &lt;br /&gt;
headphones and not out of the speaker.&lt;br /&gt;
&lt;br /&gt;
[[Freerunner_Hardware_Issues]]&lt;br /&gt;
&lt;br /&gt;
=== Accessing the microSD card ===&lt;br /&gt;
&lt;br /&gt;
Mounted at /media/card by default.&lt;br /&gt;
&lt;br /&gt;
If you have multiple partitions on the card, the first (/dev/mmcblk0p1) will be mounted at /media/card, the second at /media/mmcblk0p2, the third at /media/mmcblk0p3 etc.&lt;br /&gt;
&lt;br /&gt;
== Set up USB-based networking and update ==&lt;br /&gt;
&lt;br /&gt;
===Connect with and log in the Neo FreeRunner===&lt;br /&gt;
&lt;br /&gt;
This is discussed in the [[USB_Networking|USB Networking]] section&lt;br /&gt;
and in the [[MacOS_X#USB_Networking|USB Networking with Mac OS X]] section.&lt;br /&gt;
&lt;br /&gt;
===Use the package manager===&lt;br /&gt;
&lt;br /&gt;
There are three layers to the software on the FreeRunner:&lt;br /&gt;
&lt;br /&gt;
* uBoot: Think of u-boot as a combination of the BIOS and Grub on a PC.&lt;br /&gt;
* Kernel: The Linux kernel&lt;br /&gt;
* Root Filesystem: The rest of the system&lt;br /&gt;
&lt;br /&gt;
In order to keep the FreeRunner up-to-date with the latest features and bug-fixes, it is advisable update the software at regular intervals. There are two main methods of doing this: using the package manager opkg (discussed in this section) or [[Flashing the Neo FreeRunner|flashing  the device]].&lt;br /&gt;
&lt;br /&gt;
uboot, the kernel and the root filesystem can all be flashed to update them. For uboot, this is the only possibility. The advantage of flashing the kernel, rather than using opkg seems to be speed. The disadvantage of flashing the root file system is that it wipes out all local modifications, including /home. If /home is moved to the SD disk, this is no longer a problem.&lt;br /&gt;
&lt;br /&gt;
Assuming that your FreeRunner can access the internet (see above), the kernel and other packages can be updated with&lt;br /&gt;
&lt;br /&gt;
 # opkg update&lt;br /&gt;
 # opkg upgrade&lt;br /&gt;
&lt;br /&gt;
The first updates the repository information, telling opkg what packages are available. The second upgrades all packages for which a newer version is available. '''At the moment, some signature files are missing (404 errors), which opkg complains about, but this is cosmetic.'''  The repositories will still update with the missing signature files.  &lt;br /&gt;
&lt;br /&gt;
Note that running opkg upgrade on a factory-fresh phone will upgrade dropbear (the ssh software) and various xserver packages, and neither upgrades elegantly while in use, so either upgrade dropbear from the FreeRunner's terminal and then upgrade the rest via ssh, or upgrade the xserver packages via ssh and then upgrade the rest from the FreeRunner's terminal.  For example, go to the FreeRunner terminal and type:&lt;br /&gt;
&lt;br /&gt;
 # opkg upgrade dropbear&lt;br /&gt;
&lt;br /&gt;
which will upgrade it to the latest version.  Then connect to the FreeRunner via ssh and type:&lt;br /&gt;
&lt;br /&gt;
 # opkg upgrade&lt;br /&gt;
&lt;br /&gt;
If you do your first upgrade in two installments like this, it will go more smoothly.&lt;br /&gt;
&lt;br /&gt;
It will be possible in the future to update uboot with opkg, but this has not yet been implemented&lt;br /&gt;
&lt;br /&gt;
=== Installing multimedia, web browsing and other applications ===&lt;br /&gt;
&lt;br /&gt;
There are many applications you can install - check out the [[Repositories]] for a list of packages, an example of how to add a repository using scaredy cat as an example can also be found here. A list of pre-installed and available packages with descriptions can be found here - [[Available Packages]].&lt;br /&gt;
&lt;br /&gt;
The calendar can be installed with&lt;br /&gt;
&lt;br /&gt;
 opkg install openmoko-dates2&lt;br /&gt;
&lt;br /&gt;
For a Media Player:&lt;br /&gt;
&lt;br /&gt;
 opkg install openmoko-mediaplayer2&lt;br /&gt;
 wget http://abraxa.dyndns.org:81/random/openmoko-mediaplayer-theme.tar.bz2&lt;br /&gt;
 tar xjf openmoko-mediaplayer-theme.tar.bz2 -C /usr/share/themes/Moko/gtk-2.0&lt;br /&gt;
 rm openmoko-mediaplayer-theme.tar.bz2&lt;br /&gt;
&lt;br /&gt;
If you want a basic image viewer, have a look at the one from the gpe suite:&lt;br /&gt;
&lt;br /&gt;
 opkg install gpe-icons &lt;br /&gt;
 opkg install gpe-gallery&lt;br /&gt;
&lt;br /&gt;
To obtain the standard web browser, use:&lt;br /&gt;
&lt;br /&gt;
 opkg install openmoko-browser2&lt;br /&gt;
&lt;br /&gt;
An alternative browser, minimo, offers many more features.  &lt;br /&gt;
First download and unpack it on your GNU/Linux host:&lt;br /&gt;
&lt;br /&gt;
 wget http://www.ginguppin.de/files/minimo.tar.bz2&lt;br /&gt;
 tar jvxf minimo.tar.bz2&lt;br /&gt;
&lt;br /&gt;
Copy it over to the FreeRunner:&lt;br /&gt;
 scp minimo_* root@192.168.0.202:/tmp&lt;br /&gt;
&lt;br /&gt;
Then on the FreeRunner:&lt;br /&gt;
 opkg install /tmp/minimo_0.02\+cvs20070626-r0_armv4t.ipk&lt;br /&gt;
&lt;br /&gt;
You'll probably also want to [[Switching Keyboards|change the keyboard]] including the [[Switching Keyboards#How_to_add_a_keyboard_toggle_button|keyboard toggle applet]]&lt;br /&gt;
&lt;br /&gt;
=== Importing contacts ===&lt;br /&gt;
&lt;br /&gt;
If you can export your contacts to VCard format, either multiple files or single file containing all of them, you may use the script on [[Import Vcf Contacts]] page to bring them to Neo.&lt;br /&gt;
&lt;br /&gt;
==The next steps==&lt;br /&gt;
&lt;br /&gt;
Congratulations for setting up your Neo FreeRunner. There are many more ressources to help free your phone: &lt;br /&gt;
&lt;br /&gt;
===Customize the interface: clock, keyboard...===&lt;br /&gt;
&lt;br /&gt;
The stock [[Openmoko2007.2]] image flashed onto the Neo FreeRunner is really just the bare bones. For example, you don't have the clock and the quick-launch icons showing. Here's how you can change that:&lt;br /&gt;
&lt;br /&gt;
 # dbus-launch gconftool-2 -t boolean -s /desktop/poky/interface/reduced false&lt;br /&gt;
 # /etc/init.d/xserver-nodm restart&lt;br /&gt;
&lt;br /&gt;
If you rather have a regular clock instead of the digital one, do this instead:&lt;br /&gt;
&lt;br /&gt;
 # dbus-launch gconftool-2 -t boolean -s /desktop/poky/interface/reduced false&lt;br /&gt;
 # dbus-launch gconftool-2 -t boolean -s /desktop/poky/interface/digital_clock false&lt;br /&gt;
 # /etc/init.d/xserver-nodm restart&lt;br /&gt;
&lt;br /&gt;
More information about today screen customization at [[Today/2007.2]].&lt;br /&gt;
&lt;br /&gt;
With either clock, you may wish to set the correct [[Date]] and [[Timezone]].&lt;br /&gt;
&lt;br /&gt;
Also, if you prefer having a full keyboard, using matchbox's qwerty keybord, see [[Switching_Keyboards#Matchbox_keyboard|these instructions]]. Then you may also see [http://lists.openmoko.org/pipermail/community/2008-July/021296.html these], which describe a way to add an applet allowing the showing/hiding of that keyboard.&lt;br /&gt;
&lt;br /&gt;
===WLAN, GPRS, Bluetooth and GPS===&lt;br /&gt;
&lt;br /&gt;
'''WLAN''': See [[GTA02 WLAN]]&lt;br /&gt;
&lt;br /&gt;
'''GPRS''': See [[Manually using GPRS]]&lt;br /&gt;
&lt;br /&gt;
'''Bluetooth''': See [[Manually using Bluetooth]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Simple guide to get going with '''GPS''':&lt;br /&gt;
&lt;br /&gt;
 # opkg install gpsd&lt;br /&gt;
 # echo &amp;quot;GPS_DEV=\&amp;quot;/dev/ttySAC1\&amp;quot;&amp;quot; &amp;gt; /etc/default/gpsd&lt;br /&gt;
&lt;br /&gt;
and restart gpsd, the gps daemon, with&lt;br /&gt;
&lt;br /&gt;
 # /etc/init.d/gpsd restart&lt;br /&gt;
&lt;br /&gt;
To test GPS, you can use agpsui:&lt;br /&gt;
&lt;br /&gt;
 # opkg install openmoko-agpsui&lt;br /&gt;
&lt;br /&gt;
For a nice map, try tangoGPS:&lt;br /&gt;
&lt;br /&gt;
 # opkg install http://www.tangogps.org/downloads/tangogps_0.9.2-r1_armv4t.ipk&lt;br /&gt;
&lt;br /&gt;
More information on [[GPS]] page.&lt;br /&gt;
&lt;br /&gt;
There were critical [[GPS Problems]] earlier that are largely fixed with newest kernel. To install the updates when they become available, you will probably want to learn about [[Booting the Neo FreeRunner]] and [[Flashing the Neo FreeRunner]].&lt;br /&gt;
&lt;br /&gt;
=== The community ===&lt;br /&gt;
==== Mailing lists ====&lt;br /&gt;
&lt;br /&gt;
There are several [[http://lists.openmoko.org/mailman/listinfo/ Mailing lists]]&lt;br /&gt;
&lt;br /&gt;
There is an active community mailing list.&lt;br /&gt;
You may ask for help on the support mailing list : more details at https://lists.openmoko.org/mailman/listinfo/support&lt;br /&gt;
&lt;br /&gt;
If you are more comfortable with a web-based approach, you can also read and post the lists with http://lists.openmoko.org/nabble.html&lt;br /&gt;
&lt;br /&gt;
An excellent tool for searching all the openmoko mailing lists is http://openmoko.markmail.org/&lt;br /&gt;
&lt;br /&gt;
==== The wiki ====&lt;br /&gt;
&lt;br /&gt;
If you want to know more about the Neo FreeRunner then you can get more information in the following topics:&lt;br /&gt;
&lt;br /&gt;
* [[GTA02 Openness]]&lt;br /&gt;
* [[Neo FreeRunner]]&lt;br /&gt;
* [[Neo FreeRunner GTA02 Hardware]]&lt;br /&gt;
* [[FreeRunner/Buttons and LEDs]]&lt;br /&gt;
* [[Latest Images]]&lt;br /&gt;
* [[Distributions]]&lt;br /&gt;
* [[GTA02_FAQ]]&lt;br /&gt;
&lt;br /&gt;
To search this wiki with Google, use the following search term:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;search term&amp;gt; site:http://wiki.openmoko.org/wiki/&lt;br /&gt;
&lt;br /&gt;
==== Blogs ====&lt;br /&gt;
&lt;br /&gt;
The [http://planet.openmoko.org/ collection of blogs on OpenMoko].&lt;br /&gt;
&lt;br /&gt;
==== Other documents ====&lt;br /&gt;
&lt;br /&gt;
* http://quickstart.openmoko.org/&lt;br /&gt;
&lt;br /&gt;
[[Category:GTA02 Hardware]]&lt;br /&gt;
[[Category:Guides]]&lt;br /&gt;
[[Category:User Guides]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Neo_FreeRunner_Hardware</id>
		<title>Neo FreeRunner Hardware</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Neo_FreeRunner_Hardware"/>
				<updated>2008-06-05T22:18:39Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: fixed manual reference&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Neo FreeRunner GTA02 Hardware}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
{{gta02menu}}&lt;br /&gt;
[[Openmoko]] is a software distribution stack that sits on top of a [[hardware]] platform.  The [[Neo FreeRunner]] phone is the second hardware platform to take advantage of Openmoko.  You can find specifications of the hardware by reviewing this introduction page and the pages in the category as shown at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- {{note|This page is about hardware that is currently in '''design/prototype''' phase, changes are frequent}} --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Gta02a5 pcba cs.JPG|thumb|400px|display (top) side NOTE: GTA02 A5 PCBA Component Side photo]]&lt;br /&gt;
[[Image:Gta02a5 pcba ps.JPG|thumb|400px|component (back) side NOTE: GTA02 A5 PCBA Print Side photo]]&lt;br /&gt;
[[Image:GTA02 A5 PCB CS.jpg|thumb|400px|component (back) side NOTE: GTA02 A5 PCB Component Side photo]]&lt;br /&gt;
[[Image:GTA02 A5 PCB PS.jpg|thumb|400px|component (back) side NOTE: GTA02 A5 PCB Print Side photo]]&lt;br /&gt;
[[Image:SimpleComponentDiagram.jpg|thumb|400px|Simplified Hardware Component Diagram]]&lt;br /&gt;
&lt;br /&gt;
=Summary=&lt;br /&gt;
FIC is building a Linux based smart phone with full GPL compatible firmware source code for Openmoko, project code named GTA02 (Neo FreeRunner).&lt;br /&gt;
&lt;br /&gt;
Detail hardware component selection can be found below.&lt;br /&gt;
&lt;br /&gt;
=Features=&lt;br /&gt;
*Display-   Topply o2.8, 480 x 640 pixels, VGA, 200 NIT minimum, resistance type touch &lt;br /&gt;
&lt;br /&gt;
*User Interface Navigation- Touch screen on LCD, 2 control “buttons”, 1 Power button, 1 Aux for 911 emergency call  &lt;br /&gt;
&lt;br /&gt;
*Built-in 802.11b/g Radio (Atheros chipset AR6001 Flash version) &lt;br /&gt;
&lt;br /&gt;
*Built-in Bluetooth 2.0 + EDR (CSR and support PCM audio , BC4 frimware version) &lt;br /&gt;
&lt;br /&gt;
*Built-in 2D/3D graphics acceleration chip (S-Media 3362) &lt;br /&gt;
&lt;br /&gt;
*2 built-in Tri-Axis sensor (ST accelerometer LIS302DL) &lt;br /&gt;
&lt;br /&gt;
*Built in GPS Radio – -130 dBm with internal antenna, -157 dBm tracking on chipset specification, TTFF under 40 seconds with -130 dBm signal strength, and tracking (u-Blox) &lt;br /&gt;
&lt;br /&gt;
*Antenna – Specialized antenna for best in hand hold GPS, GPRS and Wi-Fi/Bluetooth performance are required, -105dBm on receiving, Tx 30dbm+2 on GSM &lt;br /&gt;
&lt;br /&gt;
*External Antennae –   MMCX GPS connector &lt;br /&gt;
&lt;br /&gt;
*GPRS Radio –GSM/GPRS radio.  A Pre-PTCRB certified module will be preferred &lt;br /&gt;
&lt;br /&gt;
*Linux – Linux kernel 2.6.24 or later OpenMoko kernel &lt;br /&gt;
&lt;br /&gt;
*USB -  Client and Host mode switch-able (to be used for software downloading), provide host 5v power &lt;br /&gt;
&lt;br /&gt;
*Power- Normal mode power will be via 1200 mAh battery with built-in coulomb counter, could charge via specialized charger.  Internal Lithium Ion or Lithium Polymer battery will keep device in standby mode. Battery life (Approximation/Ideal Target) Standby time 150-200 Hrs (GSM) Talk time (Backlight off) Up to 3-4 hrs(GSM) &lt;br /&gt;
&lt;br /&gt;
*LED- LED indicator under Aux/Power button key&lt;br /&gt;
&lt;br /&gt;
=Hardware Specification=&lt;br /&gt;
===Hardware Electrical=== &lt;br /&gt;
&lt;br /&gt;
*400/500 MHz Samsung 2442B Processor/SOC (400 minimum) &lt;br /&gt;
*Boot code in NAND FLASH or 2MB NOR FLASH (optional design)&lt;br /&gt;
*128 MB SDRAM total, 64 MB CPU internal, 64 MB external &lt;br /&gt;
*256MB NAND Flash MCP package. &lt;br /&gt;
&lt;br /&gt;
=== Display ===  &lt;br /&gt;
*Topploy VGA ; 2.8” diagonal, 480 x 640 pixels, 16 bit color depth&lt;br /&gt;
*Transmissive display: good readability in high ambient light is essential &lt;br /&gt;
*White LED backlight.  Required brightness is 200 NIT minimum. &lt;br /&gt;
*Resistance type touch panel.&lt;br /&gt;
&lt;br /&gt;
=== WiFi 802.11 b/g transceiver ===  &lt;br /&gt;
*Must have GPL support source or GPL compatible policy&lt;br /&gt;
*TX power at 11 Mbps: 13 dBm minimum  &lt;br /&gt;
*RX sensitivity at 11 Mbps: -89 dBm desired, -83 dBm minimum &lt;br /&gt;
*AP mode desirable, not required &lt;br /&gt;
*WEP and WPA supported &lt;br /&gt;
*Atheros preferred because it's GPL policy&lt;br /&gt;
&lt;br /&gt;
=== Serial interfaces (UART) ===&lt;br /&gt;
*Three serial interfaces are required   &lt;br /&gt;
*Console  &lt;br /&gt;
*A-GPS or GPS&lt;br /&gt;
*GSM/GPRS&lt;br /&gt;
&lt;br /&gt;
=== Accelerometer ===&lt;br /&gt;
* 2x accelerometer required&lt;br /&gt;
* Could support interrupt while suspend or power save mode&lt;br /&gt;
* 3 axis sensing&lt;br /&gt;
&lt;br /&gt;
=== A-GPS === &lt;br /&gt;
*GPS chipset receiver and antenna &lt;br /&gt;
*Sensitivity at Antenna port: -157 dBm tracking on chipset specification&lt;br /&gt;
*LNA and SAW filter for maximum interference protection&lt;br /&gt;
*Cold start time to first fix: 40 sec typical at -130 dBm, 60 sec max&lt;br /&gt;
*Must support GPL for Assist-GPS function with open API&lt;br /&gt;
*Industry quality GPS &lt;br /&gt;
*Could fit in GTA01 GPS area on the PCB&lt;br /&gt;
&lt;br /&gt;
=== GPS Antenna Performance === &lt;br /&gt;
*Antenna is passive and internal; 15 mm x 15 mm ceramic patch is nominal design &lt;br /&gt;
*Antenna LNA and SAW filter are required to meet GPS performance &lt;br /&gt;
*15 mm square ground plane (minimum 1 mm ground border around patch) (TBA) &lt;br /&gt;
*There will be one external GPS antenna connector (MMCX)&lt;br /&gt;
*C/N ratio should higher than 35 on production testing&lt;br /&gt;
&lt;br /&gt;
=== Buttons === &lt;br /&gt;
*Touch screen over LCD is primary data entry mechanism &lt;br /&gt;
*Two “hard” buttons: Power button (on side of Neo1973) is a mechanical switch actuated by a plastic pushbutton in a hole in the housing.  Aux (911) button on the top of the device, All two of these buttons, when pushed by the operator, are binary inputs (on/off or pressed/not pressed) to the software.  The effect of each button is determined by the application software in the device  &lt;br /&gt;
*Buttons may need to be backlit&lt;br /&gt;
*50000 cycles on hardware specification &lt;br /&gt;
&lt;br /&gt;
=== Sound outputs === &lt;br /&gt;
*Speaker in box (need good volume and acoustic behavior in noisy environments)&lt;br /&gt;
*Audio is monophonic*Max volume: 100 dB at 5 cm to assure good performance in environment.&lt;br /&gt;
*Support earphone with mic by jack&lt;br /&gt;
&lt;br /&gt;
=== Power Design Requirements===&lt;br /&gt;
*Software based power management unit preferred&lt;br /&gt;
*NXP PCF series preferred&lt;br /&gt;
*Need support charge from USB function&lt;br /&gt;
*Need support powered by USB function&lt;br /&gt;
*Power switch:  Neo1973 will have a power switch, for power on/off and suspend &lt;br /&gt;
* Power/Aux switch must be backlit &lt;br /&gt;
*Switch controls whether device is running or suspended by presses of the switch &lt;br /&gt;
*Switch does not shut off the power; it only suspends/resumes the device &lt;br /&gt;
*Internal Li-Ion or Li-Polymer battery is included.  This battery supplies standby power to the device eliminates the rebooting of the device when local power is again reapplied.  Battery is 1200 ma-hr. &lt;br /&gt;
*Battery life (Approximation) Ideal/Target Standby time 150-200 Hrs (GSM) Talk time (Backlight off) Up to 4 hrs(GSM) &lt;br /&gt;
*Estimated current draw for the entire device when in suspend mode (and ALL peripherals are turned off or set for deep sleep) is &amp;lt;5 mA at 3.6 volts (Li-Ion terminal voltage).&lt;br /&gt;
*GSM module deep sleep(alive and keep contact with base station) stage should take less than 8mA&lt;br /&gt;
*Battery will reach half capacity (~600 mAh) with 500 charge-discharge cycles.  This will occur in less than 2 years of daily service. &lt;br /&gt;
*When powered continuously, Neo1973 must suspend (to low power mode) based either on observed low battery voltage condition or a configurable time delay. &lt;br /&gt;
*Neo1973 must monitor battery status while suspended and resume automatically if the charger is inserted.   &lt;br /&gt;
*Primary power connection: 1200mAh battery &lt;br /&gt;
*USB charger have ID pin 47.5k pull down for Openmoko identification  &lt;br /&gt;
*Indicators: an LED indicator visible from the side of the unit will illuminate when charging or have missing incoming call&lt;br /&gt;
&lt;br /&gt;
=== GSM/GPRS ===&lt;br /&gt;
*850/1800/1900 and 900/1800/1900 MHz bands must be supported &lt;br /&gt;
*Design should allow for multi-band version (850/900 MHz) &lt;br /&gt;
*Module based GPRS transceiver could meeting PTCRB and appropriate FCC certifications.  It preferred that the module be pre-certified with PTCRB or OTA test &lt;br /&gt;
*FCC/CE certification required for GSM/GPRS part &lt;br /&gt;
&lt;br /&gt;
=== GSM-GPRS Antenna Performance === &lt;br /&gt;
*-105 dBm receiving on each channel (GSM/PCS) &lt;br /&gt;
*30+2 dBm transmission on GSM channel &lt;br /&gt;
&lt;br /&gt;
=== Wi-Fi Modules ===&lt;br /&gt;
*Must support GPL driver&lt;br /&gt;
*Atheros AR6k preferred&lt;br /&gt;
*Flash version required&lt;br /&gt;
&lt;br /&gt;
=== Wi-Fi Antenna Performance === &lt;br /&gt;
*The  Wi-Fi antenna with TX 13 to 15 dBm&lt;br /&gt;
*RX -89 to -83 dBm @802.11b 11Mbps or an equivalent performance antenna &lt;br /&gt;
&lt;br /&gt;
=== Bluetooth ===&lt;br /&gt;
*CSR BC4 or later solutions&lt;br /&gt;
&lt;br /&gt;
=== USB === &lt;br /&gt;
*Neo FreeRunner GTA02 will have USB, client/host.  Using USB 1.1    &lt;br /&gt;
*Provides USB host 5v power&lt;br /&gt;
*Could be powered by USB&lt;br /&gt;
&lt;br /&gt;
=== Microphone === &lt;br /&gt;
1 microphone is in the device &lt;br /&gt;
&lt;br /&gt;
=== Firmware Image ===&lt;br /&gt;
*Using Linux 2.6.24 or later&lt;br /&gt;
*Could support boot from NAND or Boot from NOR&lt;br /&gt;
*Shipping image should come with basic phone function&lt;br /&gt;
*Could do full firmware upgrade by USB cable&lt;br /&gt;
&lt;br /&gt;
=== PSN ===&lt;br /&gt;
*Device will have a PSN (product serial number) printed on the product label and machine readable in system NAND memory&lt;br /&gt;
&lt;br /&gt;
=== IMEI ===&lt;br /&gt;
*Production phase should have IMEI code written&lt;br /&gt;
&lt;br /&gt;
= Package Specification = &lt;br /&gt;
*Weight: ~150 grams with battery. &lt;br /&gt;
*4 in 1 laser pen passed RoHs and safty regulation for laser equipment safty&lt;br /&gt;
*1x 512MB microSD Card (SanDisk/Transcend)&lt;br /&gt;
*1x USB cable Standard A to mini-B connector&lt;br /&gt;
*1x 1200mAh smart/gauge battery&lt;br /&gt;
*Quick start guide &lt;br /&gt;
*5v USB power cord w/100-240 switchable power plug &lt;br /&gt;
*Safety card, warranty card&lt;br /&gt;
*Package could pass 1m to 1.5m drop test&lt;br /&gt;
*AC USB charger,100v-240v, Passed UL and all required safety regulation&lt;br /&gt;
*Must pass FCC/CE certification&lt;br /&gt;
*Must pass NCC certification for Taiwan import regulation&lt;br /&gt;
*RoHS Compatible&lt;br /&gt;
*WEEE Report required&lt;br /&gt;
&lt;br /&gt;
= Life Cycle Specification = &lt;br /&gt;
&lt;br /&gt;
=== Product Life === &lt;br /&gt;
The product is designed to last a minimum of 2 years. &lt;br /&gt;
&lt;br /&gt;
=== Operating Temperature === &lt;br /&gt;
*Target operating range is –10°C to +60°C &lt;br /&gt;
&lt;br /&gt;
=== Storage Temperature === &lt;br /&gt;
*-15 deg C to +70 deg C  &lt;br /&gt;
&lt;br /&gt;
=== ESD === &lt;br /&gt;
The device can withstand a 4.0kV contact discharge and  8.0kV air  &lt;br /&gt;
&lt;br /&gt;
=== Drop test ===&lt;br /&gt;
Should pass 1m direct drop to concrete ground or 1.5m on slide with carpet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= GTA02 Hardware Component Selection =&lt;br /&gt;
&lt;br /&gt;
== Physical Dimensions ==&lt;br /&gt;
* 120.7 x 62 x 18.5 mm (4.75 x 2.44 x 0.728 inch)&lt;br /&gt;
* 110 +/- 5 g (4 ounces) without battery &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main components ==&lt;br /&gt;
=== Processor ===&lt;br /&gt;
The main Processor (CPU) of the Neo1973 GTA02 is a [[Samsung S3C2442B B54]] (running at 400 MHz)&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=SC32442 Samsung SC32442B]&lt;br /&gt;
* User Manual: [http://210.118.57.197/Products/Semiconductor/MobileSoC/ApplicationProcessor/ARM9Series/SC32442/um_s3c2442b_rev12.pdf Samsung SC32442B]&lt;br /&gt;
* Core: ARM920T&lt;br /&gt;
* Instruction Set: ARMv4 (Android ''currently'' requires ARMv5)&lt;br /&gt;
* Built-in 64MB SDRAM&lt;br /&gt;
* Built-in 256 MB NAND&lt;br /&gt;
* Could run at 500Mhz&lt;br /&gt;
* GPIO Assignments: https://svn.openmoko.org/trunk/doc/hardware/GTA02v4/gpio.txt&amp;lt;br&amp;gt;&lt;br /&gt;
* Evaluation board: [http://www.meritech.co.kr/products/product_view.php?num=52 S3C2442 EVB]&lt;br /&gt;
&lt;br /&gt;
=== Power Management ===&lt;br /&gt;
A NXP PCF50633 04 N3 is used for [[Neo1973_Power_Management|power management]].&lt;br /&gt;
&lt;br /&gt;
* NXP PMU index: [http://www.nxp.com/products/power_management/pmu/index.html NXP PMU index page]&amp;lt;br&amp;gt;&lt;br /&gt;
* Product Datasheet: [http://people.openmoko.org/tony_tu/GTA02/datasheet/PMU/PCF50633DS_02.pdf NXP PCF50633 Product Data Sheet]&amp;lt;br&amp;gt;&lt;br /&gt;
* Product User manual: [http://people.openmoko.org/tony_tu/GTA02/datasheet/PMU/PCF50633UM_6.pdf NXP PCF50633 User Manual]&amp;lt;br&amp;gt;&lt;br /&gt;
**Special thanks NXP provide full user manual and support openness for all developer&lt;br /&gt;
**Datasheet/User manual usage  [http://lists.openmoko.org/pipermail/community/2008-March/013898.html was legally authorized by NXP]&lt;br /&gt;
* Connected to: S3C2442 via I2C, client address is 0x08. &amp;lt;br&amp;gt;&lt;br /&gt;
* Driver Source: https://svn.openmoko.org/trunk/src/target/kernel/patches/pcf50633.patch&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Flash ===&lt;br /&gt;
==== NAND Flash ====&lt;br /&gt;
256MB integrated Samsung NAND flash inside the 2442 multi-chip package, attached to the S3C2442 NAND controller&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=SC32442 S3C2442]&lt;br /&gt;
* Data Sheet: S3C2442 B54 comes with 256 MB NAND MCP package&lt;br /&gt;
* Connected to: S3C2442 NAND controller&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== NOR Flash ====&lt;br /&gt;
&lt;br /&gt;
16MBit ST M58WR016KB706E NOR flash for 'unbrickable emergency boot' feature.&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.st.com/stonline/products/families/memories/fl_nor_mob/index.htm ST Mobile Flash NOR/Mobile Terminal]&lt;br /&gt;
* Data Sheet: [http://www.st.com/stonline/products/literature/ds/13023/m58wr032qb.pdf M58WR016]&lt;br /&gt;
* Connected to: S3C2442 NAND controller&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SDRAM ===&lt;br /&gt;
128MB SDRAM (64MB inside 2442 MCP, 1x Samsung K4M51323PC) attached to S3C2442 SDRAM controller&lt;br /&gt;
* Product Homepage: [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=136&amp;amp;partnum=K4M51323PC Samsung K4M51323PC]&lt;br /&gt;
* Data Sheet: [http://www.samsung.com/global/system/business/semiconductor/product/2007/6/11/MobileSDRAM/MobileSDRSDRAM/512Mbit/K4M51323PC/ds_k4m51323pc.pdf Samsung K4M51323PC]&lt;br /&gt;
* Connected to: S3C2442 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GSM/GPRS ==&lt;br /&gt;
The [[GSM]] (including GPRS) modem is Texas Instruments Calypso based.&lt;br /&gt;
&lt;br /&gt;
* Connected to: S3C2442 UART1 (full-uart, RxD, TxD, CTS, RTS), /dev/ttySAC0 in userspace&lt;br /&gt;
* PM Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-power_control.patch&lt;br /&gt;
* Accessible GSM/GPRS antenna jack (if battery cover is removed)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CALYPSO ASIC digital baseband ===&lt;br /&gt;
Unfortunately we cannot provide many details on the GSM chipset due to very tight [http://en.wikipedia.org/wiki/Non-disclosure_agreement NDA]s.  However, this is not neccessarily required, since it interfaces using a standard UART serial line with the S3C2442.  On that interface, [http://www.3gpp.org/ftp/Specs/archive/07_series/07.05/ GSM 07.05], [http://www.3gpp.org/ftp/Specs/archive/07_series/07.10/ GSM 07.10] and other standardized protocols are used.&lt;br /&gt;
&lt;br /&gt;
The NDAd documentation for the calypso, [http://cryptome.org/ti-calypso1.pdf register definition ] and [http://cryptome.org/ti-calypso2.pdf hardware definition ] was leaked onto a public forum on the 4th of March by persons or persons unknown.&lt;br /&gt;
The legality of reading these files may vary according to your local laws, as may generating code from them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Calypso D751992AZHH&amp;lt;br&amp;gt;&lt;br /&gt;
*The firmware within GTA02 should be moko6 or later (internal code name)&lt;br /&gt;
&lt;br /&gt;
=== TI TWL3025BZGMR analog baseband ===&lt;br /&gt;
*Product Homepage: [http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&amp;amp;navigationId=12295&amp;amp;contentId=4703 TWL3014]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TI TRF6151 (GSM/PCS) RF Transceiver ===&lt;br /&gt;
*Product Homepage: [http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&amp;amp;navigationId=12296&amp;amp;contentId=4701 TRF6151] &amp;lt;br&amp;gt;&lt;br /&gt;
GPRS Class12/CS4 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== AGPS ==&lt;br /&gt;
u-blox ANTARIS 4 chip&lt;br /&gt;
* Connected to: S3C2442 UART2, /dev/ttySAC1 in userspace&lt;br /&gt;
* Driver: none needed, talks standard NMEA&lt;br /&gt;
* u-blox Antaris 4 Protocol [http://www.u-blox.com/customersupport/antaris_doc.html Protocol download page]&lt;br /&gt;
* ATR0635 Datasheet: [http://www.u-blox.com/products/Data_Sheets/ATR0630_35_SglChip_Data_Sheet(GPS.G4-X-06009).pdf u-blox ATR0635]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Accelerometers ==&lt;br /&gt;
Two ST LIS302DL&lt;br /&gt;
* Homepage: http://www.st.com/stonline/products/literature/ds/12726/lis302dl.htm&lt;br /&gt;
* Datasheet: http://www.st.com/stonline/products/literature/ds/12726.pdf&lt;br /&gt;
* Connected to: S3C2442 via SPI interface&lt;br /&gt;
* S3C2442 SPI EINT interrupt inputs&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Graphics/3D Acceleration ==&lt;br /&gt;
&lt;br /&gt;
Smedia Glamo 3362.&lt;br /&gt;
* Homepage: http://www.smediatech.com/product3362.htm&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/smedia-glamo.patch&lt;br /&gt;
* Data sheet: This is not available, as it is under NDA. It will likely never be available. (Source: Raster - IRC)&lt;br /&gt;
* Connected to: S3C2442 Address/Data bus &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== microSD ===&lt;br /&gt;
The GTA02 has one microSD aka Transflash slot. Using the Glamo 3362 MMC/SD controller&lt;br /&gt;
&lt;br /&gt;
*It should support SDHC, and 4GB card has been tested. Anyone with 8GB card? MicroSD slot is [[Disassembling_Neo1973#Opening_back_cover|under battery]].&lt;br /&gt;
* Connected to: Glamo 3362 MMC/SD controller&lt;br /&gt;
* Driver: Check svn for the SMedia driver with SD implementation&lt;br /&gt;
* [[Supported microSD cards]]&lt;br /&gt;
* Specifications: [http://www.sdcard.org/about/memory_card/pls/ SD Simplified Specification], [http://www.mmca.org/compliance/buy_spec/AN_MMCA050419.pdf MMC (partial)], [http://www.sandisk.com/Assets/File/OEM/Manuals/manual-rs-mmcv1.0.pdf MMC (product manual)]&lt;br /&gt;
* SANDISK 128 MB/512 MB and some 4G SDHC card been verified could work on GTA02&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== LCD Module (LCM) ==&lt;br /&gt;
Toppoly (tpo) 2.8&amp;quot; diagonal (1.7&amp;quot; x 2.27&amp;quot; - 43mm x 58mm) 480x640 TD028TTEC1 module, using a Toshiba JBT6K74 TFT &lt;br /&gt;
LCD Driver Chipset.&amp;lt;br&amp;gt;&lt;br /&gt;
* Homepage: [http://www.tpo.biz/ENG/business-eng/Activer-Matrix-VGA.htm Activer-Matrix-VGA.htm]&lt;br /&gt;
* Specification: FIXME&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-jbt6k74.patch&lt;br /&gt;
* Backlight Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-backlight.patch&lt;br /&gt;
* Connected to: Glamo3362 LCM interface and Glamo3362 SPI Interface&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Touch Screen ====&lt;br /&gt;
* Connected to: S3C2442 TS controller&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/s3c2410_touchscreen.patch&lt;br /&gt;
&lt;br /&gt;
== Bluetooth Module==&lt;br /&gt;
Delta DFBM-CS320 Class2 Module, using CSR BlueCore4&lt;br /&gt;
&lt;br /&gt;
* Data Sheet: [http://www.delta.com.tw/product/cp/vco/BT/download/pdf/CS/2.DFBM-CS320.pdf 2.DFBM-CS320.pdf]&lt;br /&gt;
* CSR Data Sheet: [http://www.csrsupport.com/download/2302/CS-101564-DSP10%20BlueCore4-ROM%20Product%20Data%20Sheet.pdf CS-101564-DSP10 BlueCore4-ROM Product Data Sheet.pdf]&lt;br /&gt;
* Driver: Stock Linux Kernel BlueZ&lt;br /&gt;
* Connected to: S3C2442 USB Host controller (OHCI)&lt;br /&gt;
* PM Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-power_control.patch&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth Audio ===&lt;br /&gt;
This one is wired via PCM bus from the CSR Bluetooth chip to the Wolfson codec.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== WiFi Module==&lt;br /&gt;
&lt;br /&gt;
Accton (WLAN 802.11b/g SiP-M WM3236AQ(Flash Ver:2.0 Atheros AR6001GZ)&lt;br /&gt;
* Connected to: S3C2442 SDIO Host controller&amp;lt;br&amp;gt;&lt;br /&gt;
* Datasheet: [http://www.accton.com/products/Datasheet/WM3236A.AQ.pdf Accton 3236AQ datasheet]&amp;lt;br&amp;gt;&lt;br /&gt;
* Driver: http://svn.openmoko.org/developers/sameo/patches/&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vibrator ==&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-vibrator.patch&lt;br /&gt;
* Connected to: S3C2442 GPIO&lt;br /&gt;
&lt;br /&gt;
== USB Host ==&lt;br /&gt;
The USB Host controller is inside the S3C2442&lt;br /&gt;
* Driver: Stock Linux kernel ohci_hcd&lt;br /&gt;
* USB version 1.1&lt;br /&gt;
* Supply USB 5v in Host mode using usb power switch AAT1275IRN-5.0-T1&lt;br /&gt;
** http://www.analogictech.com/products/digitalfiles/AAT1275.pdf&lt;br /&gt;
* A net EN_USBHOST is controlled by PMU GPIO &amp;quot;GPO&amp;quot;, this one signal when asserted (high)&lt;br /&gt;
** enables generation of 5V for external device using a charge pump&lt;br /&gt;
** enables connection of 15K pulldowns to D+ and D- to allow device insertion and removal detection for host mode&lt;br /&gt;
** DISABLES the path for USB power to charge the battery&lt;br /&gt;
&lt;br /&gt;
It should also be possible to use host mode with externally-provided power. This will allow the FreeRunner to be connected to a USB device and be powered and charging the battery if present at the same time.&lt;br /&gt;
&lt;br /&gt;
* Connect 0V, d+, d-, +5 to your USB device&lt;br /&gt;
* Connect a 15k ohm resistor between d+ and ground&lt;br /&gt;
* Connect a 15k ohm resistor between d- and ground&lt;br /&gt;
* Connect 0V, +5 to your &amp;gt;1A power source&lt;br /&gt;
** If your power source was not the OpenMoko 1A charger, additionally connect a 47K ohm 5% resistor between the ID pin and ground to pretend to be the 1A charger.&lt;br /&gt;
&lt;br /&gt;
In addition you need to make sure EN_USBHOST signal that enables the physical Host mode power generation and disables the USB -&amp;gt; PMU charging path is deasserted.  This may be taken care of automatically shortly by detection of the 48K resistor on a USB insertion leading to forcing EN_USBHOST deasserted.  The charge pump that generates the 5V in host mode doesn't seem to mind getting external 5V given to it, but the real issue is that the battery will not be charged at all if we leave EN_USBHOST asserted since one of its jobs is to stop that happening.&lt;br /&gt;
&lt;br /&gt;
== USB Device ==&lt;br /&gt;
The USB Device controller is inside the S3C2442 &lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/s3c2410_udc.patch&lt;br /&gt;
* Please see [[USB Product IDs]] on information about which Vendor/Product IDs we use&lt;br /&gt;
* 1200mAh lithium battery charges when connected to powered host.&lt;br /&gt;
* Mini-AB connector similar to [http://www.cypressindustries.com/shoponline/proddetail.asp?prod=CCMUSBAB-32005-700&amp;amp;cat=34 this one].&lt;br /&gt;
&lt;br /&gt;
== I2C Devices ==&lt;br /&gt;
I2C is a simple communication standard intended to move small amounts of data a few inches between chips.&lt;br /&gt;
Please see [[I2C | Neo I2C Devices]] for more information &amp;amp; a list of devices &amp;amp; the addresses currently in use &amp;amp; documented for the Neo1973.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Audio ==&lt;br /&gt;
See also: [[Neo1973 Audio Subsystem]]&lt;br /&gt;
&lt;br /&gt;
=== Wolfson Codec ===&lt;br /&gt;
There's a [[WM8753]] Wolfson Microelectronics CODEC (This is not a 'smart' codec that can interpret MP3/... it is a simple dumb 'sound card'.&lt;br /&gt;
* Product Homepage: http://www.wolfsonmicro.com/products/WM8753/&lt;br /&gt;
* Data Sheet: [http://www.wolfsonmicro.com/uploads/documents/en/WM8753.pdf WM8753.pdf]&lt;br /&gt;
* Connected to: S3C2442 IIS interface (PCM data), S3C2442 I2C (Control)&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/asoc.patch&lt;br /&gt;
&lt;br /&gt;
=== Mono Amplifier ===&lt;br /&gt;
There's a National Semiconductor [[LM4853]] Mono Amplifier at the analog audio output of the WM8753&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.national.com/pf/LM/LM4853.html LM4853.html]&lt;br /&gt;
* Data Sheet: [http://www.national.com/ds.cgi/LM/LM4853.pdf LM4853.pdf]&lt;br /&gt;
* Connects to (LM4853 pin): &lt;br /&gt;
** S3C2442 GPIO: HP_IN, AMP_SHUT (shutdown); &lt;br /&gt;
** Wolfson WM8753: LOUTL (LEFTIN), LOUTR (RIGHTIN); &lt;br /&gt;
** speaker4102: (LEFTOUT/BLTOUT-, BLTOUT+);&lt;br /&gt;
** headset-jack: ring 2 (RIGHTOUT), ring 3 (LEFTOUT/BLTOUT-) via 1uF-33R each&lt;br /&gt;
&lt;br /&gt;
=== Analog wired Headset ===&lt;br /&gt;
There's a four-ring 2.5mm stereo jack which provides connectivity to old-fashioned wired headsets.&lt;br /&gt;
&lt;br /&gt;
The headsets used by Motorola smartphones (A780,A1200, ...) and the V-360 have a compatible configuration.&lt;br /&gt;
&lt;br /&gt;
ring&amp;lt;br&amp;gt;&lt;br /&gt;
1(base): GND&amp;lt;br&amp;gt;&lt;br /&gt;
2: right out&amp;lt;br&amp;gt;&lt;br /&gt;
3: left out&amp;lt;br&amp;gt;&lt;br /&gt;
4(tip): mic + HOLD-button(press:short to GND)&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
The Neo1973 GTA02 features two buttons:&lt;br /&gt;
* [[Neo1973 Power Button|The Power Button]]&lt;br /&gt;
* [[Neo1973 AUX Button|The &amp;quot;Aux&amp;quot; button]]&lt;br /&gt;
&lt;br /&gt;
== Case ==&lt;br /&gt;
The case for the FreeRunner is all black, as seen on the front page of the wiki.&lt;br /&gt;
&lt;br /&gt;
Openmoko has released the CAD files for the case schematics for the OpenMoko [[Neo1973]] (GTA01) and Neo FreeRunner. These are available in the original Pro/E (.asm/.prt) format and alternative formats created from the originals.&lt;br /&gt;
&lt;br /&gt;
We welcome your assistance in providing other formats. If you are able to convert CAD files from Pro/E format to other formats, please contact [mailto:michael@openmoko.org]. We are especially interested in the DXF format and in images rendered from these files.&lt;br /&gt;
&lt;br /&gt;
* [http://downloads.openmoko.org/CAD/NeoFreerunner_ProE.zip The original Pro/E (.asm/.prt) format]&lt;br /&gt;
&lt;br /&gt;
[http://downloads.openmoko.org/CAD/ Browse CAD directory]&lt;br /&gt;
&lt;br /&gt;
=Accessory=&lt;br /&gt;
&lt;br /&gt;
== Stylus ==&lt;br /&gt;
&lt;br /&gt;
Using 4 in 1 laser pen&lt;br /&gt;
*Vendor: [http://www.quarton.com/laser_pen.html Quarton XPII]&lt;br /&gt;
*GTA02 standard setup comes with [http://www.quarton.com.tw/laser_pen_infiniter_xp_2.html QUARTON XPII 4 in 1 laser pen]&lt;br /&gt;
&lt;br /&gt;
== Battery ==&lt;br /&gt;
The [[Neo FreeRunner (GTA02) Battery]] is mechanically and electrically compatible with the [[Neo1973 GTA01 Battery]], as well as limited compatibility with a Nokia BL6C battery.&lt;br /&gt;
According to [http://lists.openmoko.org/pipermail/community/2007-February/003758.html this] post on the mailinglist.&lt;br /&gt;
[http://wiki.openmoko.org/index.php?title=Image:Neo1973-with-BL5C-battery.png Photo] of the battery inside the Neo1973.&lt;br /&gt;
&lt;br /&gt;
* GTA02 using the smart battery based on TI bq27000 chipset&lt;br /&gt;
* SANYO UF653450S 1200mAh cell.&amp;lt;br&amp;gt;&lt;br /&gt;
* Battery schematics: [http://people.openmoko.org/tony_tu/GTA02/hardware/GTA02/CT-GTA02.pdf GTA02 Smart Battery Schematics]&lt;br /&gt;
&lt;br /&gt;
== microSD Card ==&lt;br /&gt;
&lt;br /&gt;
GTA02 should come with one of following microSD card&lt;br /&gt;
&lt;br /&gt;
* [http://www.transcendusa.com/ Transcend] 512MB microSD card&lt;br /&gt;
* [http://www.sandisk.com/ SanDisk] 512MB microSD card&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Charger ==&lt;br /&gt;
&lt;br /&gt;
AKII Technology Charger&lt;br /&gt;
&lt;br /&gt;
*Model: [http://www.ak2.com.tw/pd_main.asp?sg_id=11 A10P1-05MP]&lt;br /&gt;
*Input: 100-240v~ /0.3A&lt;br /&gt;
*Output: +5v up to 2.0A&lt;br /&gt;
*Add 47.5k 1% resistor between ID pin and ground for openmoko charger identification&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= History =&lt;br /&gt;
&lt;br /&gt;
== GTA02v1 ==&lt;br /&gt;
First generation of prototypes that was given to internal OpenMoko software developers. Total 30 pcs fabricated.&lt;br /&gt;
&lt;br /&gt;
*It is working just fine, but still based on 2440, with external NAND/SDRAM and no NOR flash&lt;br /&gt;
*Using the PCF50633 05 N3 due to 04 N3 not available, re-work power for basic schematics verification&lt;br /&gt;
*Using GTA01 SIM socket&lt;br /&gt;
*Add external debug port&lt;br /&gt;
*Still using Global locate A-GPS&lt;br /&gt;
* ATAG_REVISION: 0310&lt;br /&gt;
&lt;br /&gt;
== GTA02v2 ==&lt;br /&gt;
Second generation of prototypes, Total 50 pcs run at Taipei SMT factory MOUNT&lt;br /&gt;
&lt;br /&gt;
*Ideal is have 256 MB NAND on Samsung package, Due to chip availability Start using S3C2442 B43&lt;br /&gt;
*Using correct PMU PCF50633 04 N3&lt;br /&gt;
*Change new SIM socket&lt;br /&gt;
*Change to u-blox A-GPS&lt;br /&gt;
*Change LCM power from 3.3v to 1.8v&lt;br /&gt;
*USB power switch layout/pin assignment mistake, could not verify USB host supply 5v function&lt;br /&gt;
*GPS function verified ok with good sensitivity&lt;br /&gt;
* ATAG_REVISION: 0320&lt;br /&gt;
&lt;br /&gt;
== GTA02v3 ==&lt;br /&gt;
Production verification version, 2007/10/11 28 pcs fabricate at FIC SuZhou&lt;br /&gt;
&lt;br /&gt;
*Still using S3C2442 B43 for hardware verification&lt;br /&gt;
*Using control pilot run to verify S3C2442 B54 chips&amp;lt;br&amp;gt;&lt;br /&gt;
* ATAG_REVISION: 0330&lt;br /&gt;
&lt;br /&gt;
== GTA02v4 ==&lt;br /&gt;
Mass production release candidate version 1&lt;br /&gt;
&lt;br /&gt;
2 weeks after v3 gerber out, release the v4 gerber, and 2007/10/20 20 pcs fabricate at FIC SuZhou &lt;br /&gt;
&lt;br /&gt;
*Change LCM power from 1.8v to 3.3v for display stability issue&lt;br /&gt;
*fabricate another 200 pcs for yield rate/production verification&lt;br /&gt;
*fabricate 50 pcs with S3C2442 B43 (128 MB NAND) for quality comparsion&lt;br /&gt;
*USB host power chip have some output voltage stability issues with Vb/Vcc comes from different power source, need layout change to fix the issue&lt;br /&gt;
*Battery Coulomb design not working on A4&lt;br /&gt;
* ATAG_REVISION: 0340&lt;br /&gt;
&lt;br /&gt;
== GTA02v5 ==&lt;br /&gt;
Mass production candidate version 2/Mass production version&lt;br /&gt;
&lt;br /&gt;
* First batch fabricate 2008/1/14 at FIC SuZhou&lt;br /&gt;
* Mass production A5 trial run start from 2008 March, including some resistor/capacitor change compare with inital 100 pcs prototypes A5, and prototypes for GTA02 developers was tracked in the [[Prototypes| Prototypes Page]]&lt;br /&gt;
* Coulomb counter issue fixed&lt;br /&gt;
* USB host power switch fixed&lt;br /&gt;
* Need add capacitor for PMU Vbat input for stability issue, this could be done by direct SMT or hand rework&lt;br /&gt;
* Need rework (still using SMT in production) add capacitor for PMU Vbat input for PMU stability issue.&lt;br /&gt;
* Need manual rework GSM IR UART path a 100k pull down for better GSM deep sleep&lt;br /&gt;
* ATAG_REVISION: 0350&lt;br /&gt;
&lt;br /&gt;
===GTA02 mass Production version change list===&lt;br /&gt;
*PMU's LED power error: PMU potential damage issue&lt;br /&gt;
*NOR FLASH enable WP: User can write data into NOR FLASH.&lt;br /&gt;
*CE CS/RS fine tune: Audio's background noise too high&lt;br /&gt;
*I2C pull high resistor: The resistor is too high and signal is distorted &lt;br /&gt;
*GSM leakage current: TX_MODEM has a pull high resistor on IO_3V3&lt;br /&gt;
*Power consumption: Disable keep active function&lt;br /&gt;
*SDIO clock and esd protect resistor&lt;br /&gt;
*Refer to Datasheet: R1526 to 33K&lt;br /&gt;
*GSM modem on pin: The R1018 is too small and has some leakage current&lt;br /&gt;
*LED driving transistor: When GPIO is on, the transistor will be draw more current on LED. This is component change fix, do not need change PCB or re-work.&lt;br /&gt;
&lt;br /&gt;
== GTA02v6 ==&lt;br /&gt;
Mass production candidate version 3/Mass production version&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A6 will be fine tune version of A5, only minor schematic change for better product quality and version control. Capacitor and resistor change A6 also on mass production A5&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*First 100 pcs start from 2008 mid April, and factory make component placement mistake on GSM, second 100 pcs PCB arrive time TBD. &lt;br /&gt;
*Add capacitor space for Vbat, reduce the SMT effort&lt;br /&gt;
*Add GSM IR resistor for better GSM deep sleep&lt;br /&gt;
*Reserve 3 GPIO for hardware version control&lt;br /&gt;
*Fixed LEDs power usage (from about 150mW of v5 to about 25mW)&lt;br /&gt;
* ATAG_REVISION: 0360&lt;br /&gt;
&lt;br /&gt;
=== GTA02 A5 to A6 changes ===&lt;br /&gt;
*Power Glitch on VB_SYS: Add capacitor on layout, Mass production A5 also apply this change.&lt;br /&gt;
*G-sensor separate these interrupt pins: At A5, each accelerometer INT1/INT2 connected to same line, at A6 only INT1 was connected.&lt;br /&gt;
*GSM_modem power source  Reduce power's ripple when the phone is talking&lt;br /&gt;
*Keep active 	Disable keep active function, just fine tune&lt;br /&gt;
*GPIO for version control	&lt;br /&gt;
*GSM RX_IR has some noise  Add resistor and reduce GSM RX_IR noise and gsm can't enter suspend mode easily, apply on mass production A5.&lt;br /&gt;
*LED driving transistor	apply on mass production A5.&lt;br /&gt;
*LCM's VDDIO	We can totally power off LCM's power, save about extra 1mA.&lt;br /&gt;
&lt;br /&gt;
= Debug Board =&lt;br /&gt;
&lt;br /&gt;
== Debug Board Connector definition ==&lt;br /&gt;
&lt;br /&gt;
This is the connector used to connect the [[Debug Board]] and possibly other hardware.&lt;br /&gt;
&lt;br /&gt;
Connections are:&lt;br /&gt;
* 39 - GND&lt;br /&gt;
* 38 - STDI&lt;br /&gt;
* 37 - _RESET&lt;br /&gt;
* 36 - STMS&lt;br /&gt;
* 35 - STCK&lt;br /&gt;
* 34 - STDO&lt;br /&gt;
* 33 - GSM_EN&lt;br /&gt;
* 29 - _STRST&lt;br /&gt;
* 19 - X_I2C_SCL (H-TP4703)&lt;br /&gt;
* 18 - X_I2C_SDA (H-TP4704)&lt;br /&gt;
* 17 - SPI_CLK0&lt;br /&gt;
* 16 - SPI_MOSI0&lt;br /&gt;
* 15 - SPI-MISO0 &lt;br /&gt;
* 14 - SS0&lt;br /&gt;
* 13 - EINT3 (H-TP4705)&lt;br /&gt;
* 3 - CONSOLE_TXD (H-TP4701)&lt;br /&gt;
* 2 - CONSOLE_RXD (H-TP4702)&lt;br /&gt;
&lt;br /&gt;
Information from [http://people.openmoko.org/roh/Debugport_GTA01bv4.png].&lt;br /&gt;
&lt;br /&gt;
= Distinguishing hardware revisions =&lt;br /&gt;
== Inside the [[Bootloader]] ==&lt;br /&gt;
Every hardware revision has its own u-boot image type.  Thus, the bootloader has the revision hard-coded.&lt;br /&gt;
The hardware revision is passed on to the kernel via the ATAG mechanism (ATAG_REVISION)&lt;br /&gt;
&lt;br /&gt;
== Inside the [[Kernel]] ==&lt;br /&gt;
The kernel receives the ATAG_REVISION during bootup, and saves its contents in the &amp;quot;system_rev&amp;quot; global variable.&lt;br /&gt;
&lt;br /&gt;
== From Userspace ==&lt;br /&gt;
The kernel exports the system_rev variable in /proc/cpuinfo as &amp;quot;Revision :&amp;quot; line.&lt;br /&gt;
&lt;br /&gt;
= Certification =&lt;br /&gt;
&lt;br /&gt;
== FCC ==&lt;br /&gt;
*For US Import&lt;br /&gt;
** 850/1800/1900 Band, FCC ID: EUNGTA02&lt;br /&gt;
** 900/1800/1900 Band, FCC ID: EUNGTA02E&lt;br /&gt;
** [http://people.openmoko.org/tony_tu/GTA02/certificate/EUNGTA02_850_1800_1900/ FCC test report(GTA02)]&lt;br /&gt;
** [http://people.openmoko.org/tony_tu/GTA02/certificate/EUNGTA02E_900_1800_1900/ FCC test report(GTA02E)]&lt;br /&gt;
&lt;br /&gt;
== CE ==&lt;br /&gt;
*For Europe&lt;br /&gt;
**Registration number: M528583V-EO&lt;br /&gt;
**[http://people.openmoko.org/tony_tu/GTA02/certificate/CE/ CE report and certificate]&lt;br /&gt;
&lt;br /&gt;
== NCC ==&lt;br /&gt;
*For Taiwan Import&lt;br /&gt;
**NCC certification number: CCAF08DG0080T0 &lt;br /&gt;
**[http://people.openmoko.org/tony_tu/GTA02/certificate/NCC NCC report and certificate]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware ]]&lt;br /&gt;
[[Category:GTA02 Hardware]]&lt;br /&gt;
[[Category:Hardware Support]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Openmoko_Community_Applications</id>
		<title>Openmoko Community Applications</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Openmoko_Community_Applications"/>
				<updated>2008-05-07T19:14:44Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: /* Cool application name goes here */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
This page is intended for ordinary end users of [[OpenMoko]] smartphones.   It lists some of the cool applications provided by the Openmoko community that you can install and enjoy.   Freedom to share!    You can find many more applications here - http://projects.openmoko.org &lt;br /&gt;
&lt;br /&gt;
'''Please note that not all of these applications are in a finished format yet.   When they are complete you will be able to download them via a menu on the phone.    At the moment, following a recipe of commands in the console window may be needed to install.   This will of course improve with time :-) '''&lt;br /&gt;
&lt;br /&gt;
'''Please also note that there is &amp;quot;some risk&amp;quot; in installing developing software or software from an unknown source!    However, if the license for the code is an open source license then you have the comfort that anyone in the OpenMoko community has the power to check the operation of the software and thus malicious or vulernable code is minimised'''&lt;br /&gt;
&lt;br /&gt;
Any problems with the software below should be reported to the individual software developer rather than the OpenMoko core team.&lt;br /&gt;
&lt;br /&gt;
== Note to application developers ==&lt;br /&gt;
&lt;br /&gt;
No more than 8 featured OpenMoko Community Applications should be listed on this page at a time.     The main place for OpenMoko device owners to browse software remains http://projects.openmoko.org.      Applications listed here should have mass appeal as an advert of what the platform can do for Linux fans and ordinary smartphone users alike.&lt;br /&gt;
&lt;br /&gt;
Please provide&lt;br /&gt;
* a link to your project page&lt;br /&gt;
* a short video if possible&lt;br /&gt;
* screenshots&lt;br /&gt;
* indicate whether your application is stable or still under development &lt;br /&gt;
* state which models of OpenMoko phone the application is designed for.&lt;br /&gt;
* a short paragraph describing features&lt;br /&gt;
* the license the code is provided under&lt;br /&gt;
&lt;br /&gt;
Please add your application to the bottom of the list&lt;br /&gt;
&lt;br /&gt;
== TangoGPS ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |Project Homepage&lt;br /&gt;
 |http://www.tangogps.org&lt;br /&gt;
 |-&lt;br /&gt;
 |Video&lt;br /&gt;
 |http://www.youtube.com/watch?v=hn7wuxlTNvs &lt;br /&gt;
 |-&lt;br /&gt;
 |Screenshots&lt;br /&gt;
 |Add your screenshots here&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Status&lt;br /&gt;
 |Add your status notes here&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Description&lt;br /&gt;
 |gps and map program&lt;br /&gt;
 |-&lt;br /&gt;
 |Software License&lt;br /&gt;
 |Add your software license here&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Mokopedia ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |Project Homepage&lt;br /&gt;
 |http://mokopedia.projects.openmoko.org/&lt;br /&gt;
 |-&lt;br /&gt;
 |Video&lt;br /&gt;
 |http://www.rabenfrost.net/mokopedia_demo2.ogg&lt;br /&gt;
 |-&lt;br /&gt;
 |Screenshots&lt;br /&gt;
 |Add your screenshots here&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Status&lt;br /&gt;
 |Add your status notes here&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Description&lt;br /&gt;
 |Special compressed version of Wikipedia stored in your SD storage card.   Access to wikipedia wherever you are!&lt;br /&gt;
 |-&lt;br /&gt;
 |Software License&lt;br /&gt;
 |Add your software license here&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Thumbtribes ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |Project Homepage&lt;br /&gt;
 |http://thumbtribes.mobi/&lt;br /&gt;
 |-&lt;br /&gt;
 |Video&lt;br /&gt;
 |It's a D-Bus daemon...Doh!&lt;br /&gt;
 |-&lt;br /&gt;
 |Screenshots&lt;br /&gt;
 |See above&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Status&lt;br /&gt;
 |Funky&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Description&lt;br /&gt;
 |Low bandwidth distance calculation daemon&lt;br /&gt;
 |-&lt;br /&gt;
 |Software License&lt;br /&gt;
 |GPL&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Minimo ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |Wiki Link&lt;br /&gt;
 |[http://wiki.openmoko.org/wiki/Minimo Minimo for Moko]&lt;br /&gt;
 |-&lt;br /&gt;
 |-&lt;br /&gt;
 |Video&lt;br /&gt;
 |Add your video hyperlink here&lt;br /&gt;
 |-&lt;br /&gt;
 |Screenshots&lt;br /&gt;
 |[[Image:Minimo-slashdot.jpeg|thumb|left]]&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Status&lt;br /&gt;
 |Add your status notes here&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Description&lt;br /&gt;
 |Minimo is a Mozilla based web browser. It features full AJAX support and other goodies. It is listed as an alternative to standard Webkit based browser. &lt;br /&gt;
 |-&lt;br /&gt;
 |Software License&lt;br /&gt;
 |Add your software license here&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== orrery ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |Wiki Link&lt;br /&gt;
 |[http://wiki.openmoko.org/wiki/Orrery orrery for Moko]&lt;br /&gt;
 |-&lt;br /&gt;
 |-&lt;br /&gt;
 |Video&lt;br /&gt;
 |None available&lt;br /&gt;
 |-&lt;br /&gt;
 |Screenshots&lt;br /&gt;
 |[[Image:OrreryImage1.png|thumb|left]][[Image:OrreryImage2.png|thumb|right]]&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Status&lt;br /&gt;
 |It works, but is not neatly packaged yet.   Available as tarball.&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Description&lt;br /&gt;
 |Orrery displays the objects in the night (or day) sky.  It uses the GPS position, if available.&lt;br /&gt;
 |-&lt;br /&gt;
 |Software License&lt;br /&gt;
 |GPL&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
[[Category:Applications]]&lt;br /&gt;
[[Category:Openmoko]]&lt;br /&gt;
[[Category:Guides]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Openmoko_Community_Applications</id>
		<title>Openmoko Community Applications</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Openmoko_Community_Applications"/>
				<updated>2008-05-07T19:12:12Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: /* Note to application developers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
This page is intended for ordinary end users of [[OpenMoko]] smartphones.   It lists some of the cool applications provided by the Openmoko community that you can install and enjoy.   Freedom to share!    You can find many more applications here - http://projects.openmoko.org &lt;br /&gt;
&lt;br /&gt;
'''Please note that not all of these applications are in a finished format yet.   When they are complete you will be able to download them via a menu on the phone.    At the moment, following a recipe of commands in the console window may be needed to install.   This will of course improve with time :-) '''&lt;br /&gt;
&lt;br /&gt;
'''Please also note that there is &amp;quot;some risk&amp;quot; in installing developing software or software from an unknown source!    However, if the license for the code is an open source license then you have the comfort that anyone in the OpenMoko community has the power to check the operation of the software and thus malicious or vulernable code is minimised'''&lt;br /&gt;
&lt;br /&gt;
Any problems with the software below should be reported to the individual software developer rather than the OpenMoko core team.&lt;br /&gt;
&lt;br /&gt;
== Note to application developers ==&lt;br /&gt;
&lt;br /&gt;
No more than 8 featured OpenMoko Community Applications should be listed on this page at a time.     The main place for OpenMoko device owners to browse software remains http://projects.openmoko.org.      Applications listed here should have mass appeal as an advert of what the platform can do for Linux fans and ordinary smartphone users alike.&lt;br /&gt;
&lt;br /&gt;
Please provide&lt;br /&gt;
* a link to your project page&lt;br /&gt;
* a short video if possible&lt;br /&gt;
* screenshots&lt;br /&gt;
* indicate whether your application is stable or still under development &lt;br /&gt;
* state which models of OpenMoko phone the application is designed for.&lt;br /&gt;
* a short paragraph describing features&lt;br /&gt;
* the license the code is provided under&lt;br /&gt;
&lt;br /&gt;
Please add your application to the bottom of the list&lt;br /&gt;
&lt;br /&gt;
== TangoGPS ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |Project Homepage&lt;br /&gt;
 |http://www.tangogps.org&lt;br /&gt;
 |-&lt;br /&gt;
 |Video&lt;br /&gt;
 |http://www.youtube.com/watch?v=hn7wuxlTNvs &lt;br /&gt;
 |-&lt;br /&gt;
 |Screenshots&lt;br /&gt;
 |Add your screenshots here&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Status&lt;br /&gt;
 |Add your status notes here&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Description&lt;br /&gt;
 |gps and map program&lt;br /&gt;
 |-&lt;br /&gt;
 |Software License&lt;br /&gt;
 |Add your software license here&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Mokopedia ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |Project Homepage&lt;br /&gt;
 |http://mokopedia.projects.openmoko.org/&lt;br /&gt;
 |-&lt;br /&gt;
 |Video&lt;br /&gt;
 |http://www.rabenfrost.net/mokopedia_demo2.ogg&lt;br /&gt;
 |-&lt;br /&gt;
 |Screenshots&lt;br /&gt;
 |Add your screenshots here&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Status&lt;br /&gt;
 |Add your status notes here&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Description&lt;br /&gt;
 |Special compressed version of Wikipedia stored in your SD storage card.   Access to wikipedia wherever you are!&lt;br /&gt;
 |-&lt;br /&gt;
 |Software License&lt;br /&gt;
 |Add your software license here&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Thumbtribes ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |Project Homepage&lt;br /&gt;
 |http://thumbtribes.mobi/&lt;br /&gt;
 |-&lt;br /&gt;
 |Video&lt;br /&gt;
 |It's a D-Bus daemon...Doh!&lt;br /&gt;
 |-&lt;br /&gt;
 |Screenshots&lt;br /&gt;
 |See above&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Status&lt;br /&gt;
 |Funky&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Description&lt;br /&gt;
 |Low bandwidth distance calculation daemon&lt;br /&gt;
 |-&lt;br /&gt;
 |Software License&lt;br /&gt;
 |GPL&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Minimo ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |Wiki Link&lt;br /&gt;
 |[http://wiki.openmoko.org/wiki/Minimo Minimo for Moko]&lt;br /&gt;
 |-&lt;br /&gt;
 |-&lt;br /&gt;
 |Video&lt;br /&gt;
 |Add your video hyperlink here&lt;br /&gt;
 |-&lt;br /&gt;
 |Screenshots&lt;br /&gt;
 |[[Image:Minimo-slashdot.jpeg|thumb|left]]&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Status&lt;br /&gt;
 |Add your status notes here&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Description&lt;br /&gt;
 |Minimo is a Mozilla based web browser. It features full AJAX support and other goodies. It is listed as an alternative to standard Webkit based browser. &lt;br /&gt;
 |-&lt;br /&gt;
 |Software License&lt;br /&gt;
 |Add your software license here&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== orrery ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |Wiki Link&lt;br /&gt;
 |[http://wiki.openmoko.org/wiki/Orrery orrery for Moko]&lt;br /&gt;
 |-&lt;br /&gt;
 |-&lt;br /&gt;
 |Video&lt;br /&gt;
 |None available&lt;br /&gt;
 |-&lt;br /&gt;
 |Screenshots&lt;br /&gt;
 |[[Image:OrreryImage1.png|thumb|left]][[Image:OrreryImage2.png|thumb|right]]&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Status&lt;br /&gt;
 |It works, but is not neatly packaged yet.   Available as tarball.&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Description&lt;br /&gt;
 |Orrery displays the objects in the night (or day) sky.  It uses the GPS position, if available.&lt;br /&gt;
 |-&lt;br /&gt;
 |Software License&lt;br /&gt;
 |GPL&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cool application name goes here ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |Project Homepage&lt;br /&gt;
 |Add your project hyperlink here&lt;br /&gt;
 |-&lt;br /&gt;
 |Video&lt;br /&gt;
 |Add your video hyperlink here&lt;br /&gt;
 |-&lt;br /&gt;
 |Screenshots&lt;br /&gt;
 |Add your screenshots here&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Status&lt;br /&gt;
 |Add your status notes here&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Description&lt;br /&gt;
 |Add your status notes here&lt;br /&gt;
 |-&lt;br /&gt;
 |Software License&lt;br /&gt;
 |Add your software license here&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
[[Category:Applications]]&lt;br /&gt;
[[Category:Openmoko]]&lt;br /&gt;
[[Category:Guides]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Om_2007.2_Applications</id>
		<title>Om 2007.2 Applications</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Om_2007.2_Applications"/>
				<updated>2008-05-07T19:08:51Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
This page describes the set of core applications '''currently''' included in Openmoko.  Additional/Community Apps listed here is limited to popular apps under consideration for inclusion into the core.&lt;br /&gt;
&lt;br /&gt;
Additional apps are also accessible from the Terminal.  These '''will not''' be included here.  This list is aimed toward apps included in the GUI and Basic Use.  If an app gets a gui &amp;amp; is added to '''Launch Tasks''', then it can be added here.&lt;br /&gt;
&lt;br /&gt;
Community applications may be found on the [[Wish_List|Wish List]], [[OpenMoko_Community_Applications | Openmoko Featured Apps]], and on [http://projects.openmoko.org projects.openmoko.org]&lt;br /&gt;
&lt;br /&gt;
If interested in core applications planned for future development see [[Applications|Application Roadmap]]&lt;br /&gt;
&lt;br /&gt;
== Core Applications ==&lt;br /&gt;
&lt;br /&gt;
=== List / Description ===&lt;br /&gt;
&lt;br /&gt;
==== Home Applications ====&lt;br /&gt;
* Home / Clock&lt;br /&gt;
* [[Dialer/2007.2|Dialer]]:  Telephone Calls&lt;br /&gt;
* [[Contacts/2007.2|Contacts]]:  Address Book&lt;br /&gt;
* [[Today/2007.2|Today]]&lt;br /&gt;
* Launch Tasks: PIM/App/Game/Utility Menu&lt;br /&gt;
* Running Tasks: Switch to or close running tasks&lt;br /&gt;
* Keyboard: Open/Close virtual keyboard. Also opens automatically from widgets requiring input&lt;br /&gt;
&lt;br /&gt;
==== PIM Suite ====&lt;br /&gt;
All are currently included under Applications&lt;br /&gt;
&lt;br /&gt;
==== Applications ====&lt;br /&gt;
* Application Manager: Update, install and remove applications&lt;br /&gt;
* Calculator:  Perform Simple Calculations (also a PIM app)&lt;br /&gt;
* [[Contacts/2007.2|Contacts]]:  Address Book (also a PIM app)&lt;br /&gt;
* Dates:  Calendar (also a PIM app)&lt;br /&gt;
* [[Dialer/2007.2|Dialer]]:  Telephone Calls (also a PIM app)&lt;br /&gt;
* Feed Reader: Read From Your Favorite RSS Feed (also a PIM app)&lt;br /&gt;
* Media Player: Enjoy music and movies&lt;br /&gt;
* Take Screenshot: Save a screenshot or upload it to h...&lt;br /&gt;
* Tasks: What you need to do (also a PIM app)&lt;br /&gt;
* Terminal: Command Line Interface Terminal&lt;br /&gt;
* Web Browser: Conquer the net (also a PIM app)&lt;br /&gt;
&lt;br /&gt;
==== Games ====&lt;br /&gt;
Over 20 games including Sudoku and Mines.  Most are puzzle games of some form.&lt;br /&gt;
&lt;br /&gt;
see [[User's_Manual/Games]] for details&lt;br /&gt;
&lt;br /&gt;
==== Utilities ====&lt;br /&gt;
NONE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Screen Shots ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:System_boot.png|border|300px]] &amp;lt;br /&amp;gt; Power On&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:HomeClock.png|border|300px]] &amp;lt;br /&amp;gt;  Home / Clock&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:Contacts-main-double-height.png|border|300px]] &amp;lt;br /&amp;gt;  Contacts: Main&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:Contacts-info.png|border|300px]] &amp;lt;br /&amp;gt;  Contacts: Info&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:Contacts-edit.png|border|300px]] &amp;lt;br /&amp;gt;  Contacts: Edit&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:Contacts-history.png|border|300px]] &amp;lt;br /&amp;gt;  Contacts: History&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:Contacts-groups.png|border|300px]] &amp;lt;br /&amp;gt;  Contacts: Groups&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:MediaPlayer.png|border|300px]] &amp;lt;br /&amp;gt;  Media Player&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:LaunchTasks.png|border|300px]] &amp;lt;br /&amp;gt;  Launch Tasks&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:RunningTasks.png|border|300px]] &amp;lt;br /&amp;gt;  Running Tasks&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:Dialer.png|border|300px]] &amp;lt;br /&amp;gt;  Dialer&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:Dialer-History.png|border|300px]] &amp;lt;br /&amp;gt;  Dialer History&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:Calculator.png|border|300px]] &amp;lt;br /&amp;gt;  Calculator&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Additional/Community Applications ==&lt;br /&gt;
Only a few applications that appear to be under consideration for addition to the core apps will be listed here. Community applications may be found on the [[Wish_List|Wish List]] and on [http://projects.openmoko.org projects.openmoko.org]&lt;br /&gt;
&lt;br /&gt;
=== List / Description ===&lt;br /&gt;
* [[Display_Locker|Display Locker]]: Locks screen to prevent accidental triggering of events.&lt;br /&gt;
&lt;br /&gt;
=== Screen Shots ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:DisplayLocker_MokoClassic.png|border|300px]] &amp;lt;br /&amp;gt; Display Locker: Classic Orange&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:Moko classic blue.png|border|300px]] &amp;lt;br /&amp;gt;  Display Locker: Classic Blue&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:Mokopuzzle.png|border|300px]] &amp;lt;br /&amp;gt;  Display Locker: Puzzle&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:Openmokochoice.png|border|300px]] &amp;lt;br /&amp;gt;  Display Locker: Choice&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
[[Category:Applications]]&lt;br /&gt;
[[Category:Openmoko]]&lt;br /&gt;
[[Category:Guides]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Om_2007.2_Applications</id>
		<title>Om 2007.2 Applications</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Om_2007.2_Applications"/>
				<updated>2008-05-07T01:31:14Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: referenced to user manual page &amp;amp; removed redundant material&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
This page describes the set of core applications '''currently''' included in Openmoko.  Additional/Community Apps listed here is limited to popular apps under consideration for inclusion into the core.&lt;br /&gt;
&lt;br /&gt;
Additional apps are also accessible from the Terminal.  These '''will not''' be included here.  This list is aimed toward apps included in the GUI and Basic Use.  If an app gets a gui &amp;amp; is added to '''Launch Tasks''', then it can be added here.&lt;br /&gt;
&lt;br /&gt;
Community applications may be found on the [[Wish_List|Wish List]] and on [http://projects.openmoko.org projects.openmoko.org]&lt;br /&gt;
&lt;br /&gt;
If interested in core applications planned for future development see [[Applications|Application Roadmap]]&lt;br /&gt;
&lt;br /&gt;
== Core Applications ==&lt;br /&gt;
&lt;br /&gt;
=== List / Description ===&lt;br /&gt;
&lt;br /&gt;
==== Home Applications ====&lt;br /&gt;
* Home / Clock&lt;br /&gt;
* [[Dialer/2007.2|Dialer]]:  Telephone Calls&lt;br /&gt;
* [[Contacts/2007.2|Contacts]]:  Address Book&lt;br /&gt;
* [[Today/2007.2|Today]]&lt;br /&gt;
* Launch Tasks: PIM/App/Game/Utility Menu&lt;br /&gt;
* Running Tasks: Switch to or close running tasks&lt;br /&gt;
* Keyboard: Open/Close virtual keyboard. Also opens automatically from widgets requiring input&lt;br /&gt;
&lt;br /&gt;
==== PIM Suite ====&lt;br /&gt;
All are currently included under Applications&lt;br /&gt;
&lt;br /&gt;
==== Applications ====&lt;br /&gt;
* Application Manager: Update, install and remove applications&lt;br /&gt;
* Calculator:  Perform Simple Calculations (also a PIM app)&lt;br /&gt;
* [[Contacts/2007.2|Contacts]]:  Address Book (also a PIM app)&lt;br /&gt;
* Dates:  Calendar (also a PIM app)&lt;br /&gt;
* [[Dialer/2007.2|Dialer]]:  Telephone Calls (also a PIM app)&lt;br /&gt;
* Feed Reader: Read From Your Favorite RSS Feed (also a PIM app)&lt;br /&gt;
* Media Player: Enjoy music and movies&lt;br /&gt;
* Take Screenshot: Save a screenshot or upload it to h...&lt;br /&gt;
* Tasks: What you need to do (also a PIM app)&lt;br /&gt;
* Terminal: Command Line Interface Terminal&lt;br /&gt;
* Web Browser: Conquer the net (also a PIM app)&lt;br /&gt;
&lt;br /&gt;
==== Games ====&lt;br /&gt;
Over 20 games including Sudoku and Mines.  Most are puzzle games of some form.&lt;br /&gt;
&lt;br /&gt;
see [[User's_Manual/Games]] for details&lt;br /&gt;
&lt;br /&gt;
==== Utilities ====&lt;br /&gt;
NONE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Screen Shots ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:System_boot.png|border|300px]] &amp;lt;br /&amp;gt; Power On&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:HomeClock.png|border|300px]] &amp;lt;br /&amp;gt;  Home / Clock&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:Contacts-main-double-height.png|border|300px]] &amp;lt;br /&amp;gt;  Contacts: Main&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:Contacts-info.png|border|300px]] &amp;lt;br /&amp;gt;  Contacts: Info&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:Contacts-edit.png|border|300px]] &amp;lt;br /&amp;gt;  Contacts: Edit&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:Contacts-history.png|border|300px]] &amp;lt;br /&amp;gt;  Contacts: History&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:Contacts-groups.png|border|300px]] &amp;lt;br /&amp;gt;  Contacts: Groups&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:MediaPlayer.png|border|300px]] &amp;lt;br /&amp;gt;  Media Player&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:LaunchTasks.png|border|300px]] &amp;lt;br /&amp;gt;  Launch Tasks&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:RunningTasks.png|border|300px]] &amp;lt;br /&amp;gt;  Running Tasks&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:Dialer.png|border|300px]] &amp;lt;br /&amp;gt;  Dialer&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:Dialer-History.png|border|300px]] &amp;lt;br /&amp;gt;  Dialer History&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:Calculator.png|border|300px]] &amp;lt;br /&amp;gt;  Calculator&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Additional/Community Applications ==&lt;br /&gt;
Only a few applications that appear to be under consideration for addition to the core apps will be listed here. Community applications may be found on the [[Wish_List|Wish List]] and on [http://projects.openmoko.org projects.openmoko.org]&lt;br /&gt;
&lt;br /&gt;
=== List / Description ===&lt;br /&gt;
* [[Display_Locker|Display Locker]]: Locks screen to prevent accidental triggering of events.&lt;br /&gt;
&lt;br /&gt;
=== Screen Shots ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:DisplayLocker_MokoClassic.png|border|300px]] &amp;lt;br /&amp;gt; Display Locker: Classic Orange&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:Moko classic blue.png|border|300px]] &amp;lt;br /&amp;gt;  Display Locker: Classic Blue&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:Mokopuzzle.png|border|300px]] &amp;lt;br /&amp;gt;  Display Locker: Puzzle&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|[[Image:Openmokochoice.png|border|300px]] &amp;lt;br /&amp;gt;  Display Locker: Choice&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
[[Category:Applications]]&lt;br /&gt;
[[Category:Openmoko]]&lt;br /&gt;
[[Category:Guides]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Main_Page"/>
				<updated>2008-05-07T01:19:16Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: link to current userspace apps in default image - reduce jumble of kernel software, system daemons, retired 2007 apps, &amp;amp; new/updated apps&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Main Page}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;DIV ALIGN=CENTER&amp;gt;&amp;lt;big&amp;gt;'''[[Openmoko]]™ Open. Mobile. Free.'''&amp;lt;/big&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/DIV&amp;gt;&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==&amp;lt;font color=75d806&amp;gt;Introduction to Openmoko&amp;lt;/font&amp;gt;==&lt;br /&gt;
[[Image:GTA02.gif |100px|left|frontside]]&lt;br /&gt;
[[Openmoko]]™ born as an [http://en.wikipedia.org/wiki/Open_source Open Source] project under  [[License| GPL and LGPL license]] and dedicated to delivering an open software stack on mobile platforms, shipped its first product, the Neo 1973, on July 9 2007; and then, turned the project into a start-up company with one aim: create great mobile products using the Openmoko stack: Open. Mobile. Free.&lt;br /&gt;
&lt;br /&gt;
The Openmoko stack, which includes a full X server, allows users and developers to transform mobile hardware platforms into a unique products. Our licence gives developers and users freedom from the &amp;quot;iron to the eyeballs,&amp;quot; freedom to cosmetically customize their device or radically remix it;  change the wallpaper or rebuild the entire house! It grants them the freedom, for example, to transform a phone into a medical device or point of sale device or the freedom to simply install their own favorite software. Beyond freeing the software on our devices we have also released our CAD files under Creative Commons. By freeing the software under GPL, we enable the community of FOSS developers to &amp;quot;make it new.&amp;quot; By freeing the CAD files we give industrial designers and engineers this same opportunity.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=30% style=&amp;quot;background:#ff6600;border-left:0px solid white;border-right:0px solid white;border-top:0px solid white;&amp;quot; | &amp;lt;font color=white&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
! width=30% style=&amp;quot;background:#ff6600;border-left:0px solid white;border-right:0px solid white;border-top:0px solid white;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#333333;border-left:0px solid white;border-right:0px solid white;border-bottom:0px solid white;&amp;quot; | &lt;br /&gt;
:*[[Background]]&lt;br /&gt;
:*[[Meet_the_Core_Team|The Original Core Team]]&lt;br /&gt;
:*[[OpenmokoFramework|New Framework Initiative]]&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#333333;border-left:0px solid white;border-right:0px solid white;border-bottom:0px solid white;&amp;quot; |&lt;br /&gt;
*[[Trademark Policy]]&lt;br /&gt;
*[[License]]&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=75d806&amp;gt;Openmoko Products&amp;lt;/font&amp;gt;==&lt;br /&gt;
 [[image:FIC-neo1973 small.jpg|100px|left|frontside]]&lt;br /&gt;
&lt;br /&gt;
The first Openmoko product, the [[Neo1973]], sold exclusively through [https://direct.openmoko.com/ Openmoko Online Shop]. It sold out in early February 2008. &lt;br /&gt;
&lt;br /&gt;
Openmoko will ship Neo FreeRunner (GTA02), the second generation of Neo in the first half&lt;br /&gt;
of 2008.Add your nickname to those interested buying the Neo FreeRunner at [[Buying_Interest_List|Buying Interest List]].  Also, look for a group to buy with at [[GroupSales]] for a discount and extra goodies.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;4&amp;quot; cellpadding=&amp;quot;4&amp;quot; width=80%&lt;br /&gt;
! width=40% style=&amp;quot;background:#ff6600;border-left:5px solid white;border-right:5px solid white;border-top:0px solid white; border:1px solid #ff6600; &amp;quot; |&amp;lt;font color=white&amp;gt;GTA01 - Neo 1973&amp;lt;/font&amp;gt;&lt;br /&gt;
! width=40% style=&amp;quot;background:#ff6600;border-left:5px solid white;border-right:5px solid white;border-top:0px solid white; border:1px solid #ff6600;&amp;quot; |&amp;lt;font color=white&amp;gt;GTA02 - Neo FreeRunner&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#333333;border-left:5px solid white;border-right:5px solid white;border-bottom:0px solid white; border:1px solid #cccccc; &amp;quot; | &lt;br /&gt;
&amp;lt;div align=left&amp;gt;&lt;br /&gt;
*[[Neo1973]]&lt;br /&gt;
*[[Getting Started with your Neo1973]]&lt;br /&gt;
*[[Neo1973 hardware]]&lt;br /&gt;
=====&amp;lt;font color=white&amp;gt;Debug Board&amp;lt;/font&amp;gt;=====&lt;br /&gt;
*[[Neo1973 Debug Board v2]]&lt;br /&gt;
*[[Neo1973 Debug Board v3]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=white&amp;gt; ※&amp;lt;/font&amp;gt;[[: Category:Neo1973 Hardware |  See More About Neo 1973....]]&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#333333;border-left:5px solid white;border-right:5px solid white;border-bottom:0px solid white; border:1px solid #cccccc; &amp;quot; |&lt;br /&gt;
*[[Neo FreeRunner]]&lt;br /&gt;
*[[Getting Started with your Neo FreeRunner]]&lt;br /&gt;
*[[Neo FreeRunner GTA02 Hardware]]&lt;br /&gt;
*[[Neo1973: GTA01Bv4 versus GTA02 comparison]]&amp;lt;/div&amp;gt;&lt;br /&gt;
*[[GTA02 Openness]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=white&amp;gt; ※&amp;lt;/font&amp;gt;[[: Category: GTA02 Hardware |  See More About GTA02....]]&lt;br /&gt;
====&amp;lt;font color=white&amp;gt;Other Products&amp;lt;/font&amp;gt;====&lt;br /&gt;
*[[OpenMoko-supported hardware]]&lt;br /&gt;
*[[HXD8]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=white&amp;gt; ※&amp;lt;/font&amp;gt;[[:Category:Hardware Support | See More About Hardware Support...]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=75d806&amp;gt;Join Openmoko development&amp;lt;/font&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;4&amp;quot; cellpadding=&amp;quot;6&amp;quot; width=100%&lt;br /&gt;
! width=50% style=&amp;quot;background:#ff6600;border-left:5px solid white;border-right:5px solid white;border-top:0px solid white; border:1px solid #ff6600; &amp;quot; | &amp;lt;font color=&amp;quot;white&amp;quot; &amp;gt;Hardware Docs and Testing&amp;lt;/font&amp;gt;&lt;br /&gt;
! width=50% style=&amp;quot;background:#ff6600;border-left:5px solid white;border-right:5px solid white;border-top:0px solid white; border:1px solid #ff6600;&amp;quot; |&amp;lt;font color=&amp;quot;white&amp;quot; &amp;gt;Software Documentation&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#333333;border-left:5px solid white;border-right:5px solid white;border-bottom:0px solid white; border:1px solid #cccccc; &amp;quot; | &lt;br /&gt;
===&amp;lt;font color=white&amp;gt;Getting Started&amp;lt;/font&amp;gt;===&lt;br /&gt;
* [[Installation guide]]&lt;br /&gt;
* [[Customizing the Openmoko Distribution]]&lt;br /&gt;
* [[Getting Started with your Neo1973]]&lt;br /&gt;
* [[MokoMakefile|Building Openmoko using the MokoMakefile]]&lt;br /&gt;
* [[Building OpenMoko from scratch (pre-BBT)]]&lt;br /&gt;
* [[Migration to bad block tolerant builds]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=white&amp;gt; ※&amp;lt;/font&amp;gt; [[:Category:Guides|  See More About Guides...]]&lt;br /&gt;
===&amp;lt;font color=white&amp;gt; Hardware Reference Documentation&amp;lt;/font&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=white&amp;gt;Overview about the Components we use, PCB Photographs&amp;lt;/font&amp;gt;&lt;br /&gt;
** [[Disassembling Neo1973]] &amp;lt;font color=white&amp;gt;-A photo story about disassembling the hardware&amp;lt;/font&amp;gt;&lt;br /&gt;
* [[Debug Board]] &amp;lt;font color=white&amp;gt; -The Debug Board for the Neo1973&amp;lt;font&amp;gt;&lt;br /&gt;
** [[Connecting Neo1973 with Debug Board v2]]&lt;br /&gt;
** [[Neo1973 Debug Board v1]] &amp;lt;font color=white&amp;gt;-The old version of the Debug Board&amp;lt;/font&amp;gt;&lt;br /&gt;
* [[QT2410]] &amp;lt;font color=white&amp;gt;-A S3C2410 development board that we used during early development&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=white&amp;gt; ※&amp;lt;/font&amp;gt;[[:Category: Hardware |  See More About Hardware]]&lt;br /&gt;
===&amp;lt;font color=white&amp;gt;Test&amp;lt;/font&amp;gt;===&lt;br /&gt;
*[[GSM unit test]]&lt;br /&gt;
*[[GSM 850 test]]&lt;br /&gt;
*[[GSM unit test]]&lt;br /&gt;
*[[Test Plans]]&lt;br /&gt;
&amp;lt;font color=white&amp;gt; ※&amp;lt;/font&amp;gt; [[:Category: Test |  See More About Test]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;font color=white&amp;gt;Emulation&amp;lt;/font&amp;gt;===&lt;br /&gt;
*[[Getting OpenMoko working on host with Xephyr]]&lt;br /&gt;
*[[Test_Openmoko Emulation with chroot image]]&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#333333;border-left:5px solid white;border-right:5px solid white;border-bottom:0px solid white; border:1px solid #cccccc; &amp;quot; |&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;font color=white&amp;gt;Software Reference Documentation &amp;lt;/font&amp;gt;===&lt;br /&gt;
* &amp;lt;font color=white&amp;gt;Architectural&amp;lt;/font&amp;gt;&lt;br /&gt;
** [[OpenmokoFramework]] &amp;lt;font color=white&amp;gt;-The Openmoko Application Framework&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;font color=white&amp;gt;Host utilities&amp;lt;/font&amp;gt;&lt;br /&gt;
** [[sjf2410-linux]]  &amp;lt;font color=white&amp;gt;-a JTAG NAND flashing program, last-resort phone un-bricking&amp;lt;/font&amp;gt;&lt;br /&gt;
** [[s3c2410_boot_usb]]  &amp;lt;font color=white&amp;gt;-a program for transferring code to the RAM of QT2410 (not Neo1973)&amp;lt;/font&amp;gt;&lt;br /&gt;
** [[Toolchain]]  &amp;lt;font color=white&amp;gt;-The toolchain we use for compilation&amp;lt;/font&amp;gt;&lt;br /&gt;
** [[Neo1973 OpenOCD]]  &amp;lt;font color=white&amp;gt;-The On-Chip Debugger we use for development&amp;lt;/font&amp;gt;&lt;br /&gt;
** [[OpenEmbedded]] &amp;lt;font color=white&amp;gt; -The distribution building framework&amp;lt;/font&amp;gt;&lt;br /&gt;
* &amp;lt;font color=white&amp;gt;Device Software&amp;lt;/font&amp;gt;&lt;br /&gt;
** &amp;lt;font color=white&amp;gt;Low-Level&amp;lt;/font&amp;gt;&lt;br /&gt;
*** [[u-boot]]  &amp;lt;font color=white&amp;gt;-The bootloader we use, including docs to our modifications&amp;lt;/font&amp;gt;&lt;br /&gt;
*** [[kernel]]  &amp;lt;font color=white&amp;gt;-The Linux Kernel we use, including docs to our modifications&amp;lt;/font&amp;gt;&lt;br /&gt;
** &amp;lt;font color=white&amp;gt;Userspace&amp;lt;/font&amp;gt;&lt;br /&gt;
*** [[gsmd]] &amp;lt;font color=white&amp;gt; -the GSM daemon managing the GSM Modem&amp;lt;/font&amp;gt;&lt;br /&gt;
*** [[agpsd]] &amp;lt;font color=white&amp;gt;-the AGPS (Assisted GPS) daemon&amp;lt;/font&amp;gt;&lt;br /&gt;
*** [[OpenMoko]]  &amp;lt;font color=white&amp;gt;-The Openmoko distribution&amp;lt;/font&amp;gt;&lt;br /&gt;
**** [[Openmoko_Core_Applications | Included Applications]]&lt;br /&gt;
**** [[OpenMoko2007]] - &amp;lt;font color=white&amp;gt;The first intended release of it&amp;lt;/font&amp;gt;&lt;br /&gt;
**** [[Userspace root image]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=ffffff&amp;gt;※&amp;lt;/font&amp;gt;[[:Category: Software |  See More About Software ]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=75d806&amp;gt;Openmoko community&amp;lt;/font&amp;gt;==&lt;br /&gt;
Anyone can join the Openmoko project and contribute to designing open products.  Join us and collaborate through any of the [[Development resources | project resources]], including this Openmoko Wiki. See the [[Help:Contents | wiki editing help]]page for information on making contributions to this wiki. &lt;br /&gt;
&lt;br /&gt;
You can start by using the [[introduction]] page, photos, videos and Openmoko Wiki Official Index Page. As always, the usual [[FAQ | Frequently Asked Questions]] (FAQ) and [http://lists.openmoko.org/mailman/listinfo/| mailing list] pages are helpful. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;4&amp;quot; cellpadding=&amp;quot;6&amp;quot; width=100%&lt;br /&gt;
! width=50% style=&amp;quot;background:#ff6600;border-left:5px solid white;border-right:5px solid white;border-top:0px solid white; border:1px solid #ff6600; &amp;quot; | &amp;lt;font color=&amp;quot;white&amp;quot; &amp;gt;In News&amp;lt;/font&amp;gt;&lt;br /&gt;
! width=50% style=&amp;quot;background:#ff6600;border-left:5px solid white;border-right:5px solid white;border-top:0px solid white; border:1px solid #ff6600;&amp;quot; |&amp;lt;font color=&amp;quot;white&amp;quot; &amp;gt;Community &amp;amp; Events&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#333333;border-left:5px solid white;border-right:5px solid white;border-bottom:0px solid white; border:1px solid #cccccc; &amp;quot; | &lt;br /&gt;
==&amp;lt;font color=white&amp;gt;Getting Started &amp;lt;/font&amp;gt;==&lt;br /&gt;
*[[Getting Started with your Neo FreeRunner]]&lt;br /&gt;
*[[Getting Started with your Neo1973]]&lt;br /&gt;
==&amp;lt;font color=white&amp;gt;Snapshot&amp;lt;/font&amp;gt;==&lt;br /&gt;
*&amp;lt;font color=white&amp;gt;You can always download the   [http://buildhost.openmoko.org/daily/neo1973/deploy/glibc/images/neo1973/ latest build] here.&lt;br /&gt;
*Reviews of the daily snapshot build are [[Snapshot_review|here]] and the recommended kernel and root image from the review will always be available [http://downloads.openmoko.org/recommended/ here].&lt;br /&gt;
Note that the recommended set is not always the latest, but is the most stable, reliable, and functional.&amp;lt;/font&amp;gt;&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#333333;border-left:5px solid white;border-right:5px solid white;border-bottom:0px solid white; border:1px solid #cccccc; &amp;quot; |&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=white&amp;gt; Community Update&amp;lt;/font&amp;gt;==&lt;br /&gt;
&amp;lt;font color=white&amp;gt;For the latest status updates, see [[Community_Updates|Community Updates]]&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=ffffff&amp;gt; ※&amp;lt;/font&amp;gt;[[:Category:Community|  See More About Community...]]&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=white&amp;gt;Get the overview of wiki&amp;lt;/font&amp;gt;==&lt;br /&gt;
*&amp;lt;font color=white&amp;gt;To get the overview of Openmoko Wiki, see [[Openmoko Wiki Official Index Page]].&amp;lt;/font&amp;gt;&lt;br /&gt;
==&amp;lt;font color=white&amp;gt;Events&amp;lt;/font&amp;gt;==&lt;br /&gt;
*[[Summer of Code 2008]]&lt;br /&gt;
*[[OpenMoko Education/zh tw]]&lt;br /&gt;
*[[Events:FOSDEM 2008]]&lt;br /&gt;
*[[OpenLab]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=ffffff&amp;gt; ※&amp;lt;/font&amp;gt;[[:Category:Event|  See More About Event...]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;font color=75d806&amp;gt;Getting started with Openmoko Wiki&amp;lt;/font&amp;gt;==&lt;br /&gt;
The Openmoko Wiki is open. Everyone can join. You'll find information including: hardware and software documentation, bug lists, community news of Openmoko and much more. Join our wiki, edit the wiki, contribute valued content, and help others. For the full picture of Openmoko Wiki, please visit the [[Openmoko Wiki Official Index Page|Openmoko Wiki Official Index Page]].  &lt;br /&gt;
&lt;br /&gt;
* Please read our [[Openmoko Wiki Editing Guidelines]]&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Help:Configuration_settings Configuration settings list]&lt;br /&gt;
* [http://meta.wikimedia.org/wiki/Help:Wikitext_reference MediaWiki Wikitext Reference]&lt;br /&gt;
* If you add a new page, you can reference the [[Openmoko Wiki Categories Index Page|Openmoko Wiki Categories Index Page]] to put your page on the right category.&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Help:FAQ MediaWiki FAQ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=426fdc&amp;gt;※&amp;lt;/font&amp;gt;[[:Category: Help |  See More About Help ]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Information| ]]&lt;br /&gt;
[[Category:Categories| ]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Neo_FreeRunner_Openness</id>
		<title>Neo FreeRunner Openness</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Neo_FreeRunner_Openness"/>
				<updated>2008-05-06T22:35:20Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Many people are more interested in getting a completely (and openly) documented hardware platform than in getting one with &amp;quot;just&amp;quot; all drivers under GPL. Why is this so? Just imagine an open source kernel which is released under a copyleft license which is incompatible to the GPL (like the OpenSolaris kernel). These poor developers would have to reverse engineer a so called &amp;quot;open platform&amp;quot; as they cannot use the available drivers and header files. If you are a GPL-is-the-only-true-license guy/girl: Don't be offended by this, it's simply about choice. :)&lt;br /&gt;
&lt;br /&gt;
This page tries to give you an overview how open the GTA02 hardware is documented and where to get the documentation. Your help is needed! If you know anything which is missing just add it, if possible with a reference where the info is coming from.&lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
!Component&lt;br /&gt;
!Name&lt;br /&gt;
!Openness&lt;br /&gt;
|-&lt;br /&gt;
|CPU&lt;br /&gt;
|Samsung S3C2442&lt;br /&gt;
|Docs still missing on Samsungs site, but here is a copy: http://www.elektronika.opatnet.cz/datasheet/U/um_s3c2442b_rev12.pdf&lt;br /&gt;
|-&lt;br /&gt;
|NAND flash&lt;br /&gt;
|Samsung?&lt;br /&gt;
|Standard [[NAND]] command-set.&lt;br /&gt;
|-&lt;br /&gt;
|GSM modem&lt;br /&gt;
|TI Calypso?&lt;br /&gt;
|Speaks standard protocols with proprietary extensions. Most of the proprietary extensions are present also in some BenQ and/or Enfora Enabler modems which have open documentation available on internet. See also [[GTA01 gsm modem]]. No further documentation available?&lt;br /&gt;
|-&lt;br /&gt;
|Transceiver&lt;br /&gt;
|TRF6151?&lt;br /&gt;
|No interaction with software.&lt;br /&gt;
|-&lt;br /&gt;
|Analog baseband&lt;br /&gt;
|TWL3014?&lt;br /&gt;
|No interaction with software.&lt;br /&gt;
|-&lt;br /&gt;
|WiFi&lt;br /&gt;
|Atheros AR6K&lt;br /&gt;
|No documentation available! GPL'ed driver only.&lt;br /&gt;
|-&lt;br /&gt;
|Bluetooth&lt;br /&gt;
|Delta DFBM-CS320 Class2 Module using CSR BlueCore4?&lt;br /&gt;
|Documented at http://www.bluetooth.com/Bluetooth/Learn/Technology/Specifications/&lt;br /&gt;
|-&lt;br /&gt;
|GPS&lt;br /&gt;
|u-blox/atmel ATR0635&lt;br /&gt;
|http://www.u-blox.com/customersupport/gps.g3/ANTARIS_Protocol_Specification(GPS.G3-X-03002).chm &lt;br /&gt;
|-&lt;br /&gt;
|Graphic Accelerator&lt;br /&gt;
|SMedia 3362&lt;br /&gt;
|Documentation will be released in the future according to http://lists.openmoko.org/pipermail/community/2007-September/010175.html . Speaks OpenGL ES 1.2 according to vendor homepage.&lt;br /&gt;
|-&lt;br /&gt;
|MicroSDHC&lt;br /&gt;
|?&lt;br /&gt;
|Connected to the SMedia 3362&lt;br /&gt;
|-&lt;br /&gt;
|LCD&lt;br /&gt;
|TD028TTEC1 module using a Toshiba JBT6K74 TFT LCD Driver Chipset?&lt;br /&gt;
|No open documentation available! GPL'ed driver only.&lt;br /&gt;
|-&lt;br /&gt;
|Touch Screen&lt;br /&gt;
|?&lt;br /&gt;
|Connected to the s3c2442 similar to GTA01&lt;br /&gt;
|-&lt;br /&gt;
|Vibrator&lt;br /&gt;
|&lt;br /&gt;
|Simple motor attached to the PWM output of the s3c2442&lt;br /&gt;
|-&lt;br /&gt;
|Sound Codec&lt;br /&gt;
|Wolfson Codec&lt;br /&gt;
|Full data sheet available at http://www.wolfsonmicro.com/uploads/documents/en/WM8753.pdf&lt;br /&gt;
|-&lt;br /&gt;
|Sound Amplifier&lt;br /&gt;
|National Semiconductor LM4857&lt;br /&gt;
|Full data sheet available at http://www.national.com/ds.cgi/LM/LM4857.pdf&lt;br /&gt;
|-&lt;br /&gt;
|Power management&lt;br /&gt;
|Philips PCF50606&lt;br /&gt;
|Documented at http://www.rockbox.org/twiki/pub/Main/DataSheets/pcf50606.pdf&lt;br /&gt;
|-&lt;br /&gt;
|Battery&lt;br /&gt;
|Proprietary&lt;br /&gt;
|Thankfully it seems to be compatible with a widely used and cheap other one ;)&lt;br /&gt;
|-&lt;br /&gt;
|JTAG&lt;br /&gt;
|?&lt;br /&gt;
|Standardized, BSDL file for the CPU will hopefully become available&lt;br /&gt;
|-&lt;br /&gt;
|Case&lt;br /&gt;
|Proprietary&lt;br /&gt;
|Openmoko has released the CAD files for the case schematics. See the [http://downloads.openmoko.org/CAD/ CAD directory]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware Support]]&lt;br /&gt;
[[Category:GTA02 Hardware]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Neo_FreeRunner_Hardware</id>
		<title>Neo FreeRunner Hardware</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Neo_FreeRunner_Hardware"/>
				<updated>2008-05-05T00:16:34Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: Added CAD File links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Neo FreeRunner GTA02 Hardware}}&lt;br /&gt;
[[Openmoko]] is a software distribution stack that sits on top of a [[hardware]] platform.  The [[Neo FreeRunner]] phone is the second hardware platform to take advantage of Openmoko.  You can find specifications of the hardware by reviewing this introduction page and the pages in the category as shown at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- {{note|This page is about hardware that is currently in '''design/prototype''' phase, changes are frequent}} --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Gta02a5 pcba cs.JPG|thumb|400px|display (top) side NOTE: GTA02 A5 PCBA Component Side photo]]&lt;br /&gt;
[[Image:Gta02a5 pcba ps.JPG|thumb|400px|component (back) side NOTE: GTA02 A5 PCBA Print Side photo]]&lt;br /&gt;
[[Image:GTA02 A5 PCB CS.jpg|thumb|400px|component (back) side NOTE: GTA02 A5 PCB Component Side photo]]&lt;br /&gt;
[[Image:GTA02 A5 PCB PS.jpg|thumb|400px|component (back) side NOTE: GTA02 A5 PCB Print Side photo]]&lt;br /&gt;
&lt;br /&gt;
=Summary=&lt;br /&gt;
FIC is building a Linux based smart phone with full GPL compatible firmware source code for Openmoko, project code named GTA02 (Neo FreeRunner).&lt;br /&gt;
&lt;br /&gt;
Detail hardware component selection can be found below.&lt;br /&gt;
&lt;br /&gt;
=Features=&lt;br /&gt;
*Display-   Topply o2.8, 480 x 640 pixels, VGA, 200 NIT minimum, resistance type touch &lt;br /&gt;
&lt;br /&gt;
*User Interface Navigation- Touch screen on LCD, 2 control “buttons”, 1 Power button, 1 Aux for 911 emergency call  &lt;br /&gt;
&lt;br /&gt;
*Built-in 802.11b/g Radio (Atheros chipset AR6001 Flash version) &lt;br /&gt;
&lt;br /&gt;
*Built-in Bluetooth 2.0 + EDR (CSR and support PCM audio , BC4 frimware version) &lt;br /&gt;
&lt;br /&gt;
*Built-in 2D/3D graphics acceleration chip (S-Media 3362) &lt;br /&gt;
&lt;br /&gt;
*2 built-in Tri-Axis sensor (ST accelerometer LIS302DL) &lt;br /&gt;
&lt;br /&gt;
*Built in GPS Radio – -130 dBm with internal antenna, -157 dBm tracking on chipset specification, TTFF under 40 seconds with -130 dBm signal strength, and tracking (u-Blox) &lt;br /&gt;
&lt;br /&gt;
*Antenna – Specialized antenna for best in hand hold GPS, GPRS and Wi-Fi/Bluetooth performance are required, -105dBm on receiving, Tx 30dbm+2 on GSM &lt;br /&gt;
&lt;br /&gt;
*External Antennae –   MMCX GPS connector &lt;br /&gt;
&lt;br /&gt;
*GPRS Radio –GSM/GPRS radio.  A Pre-PTCRB certified module will be preferred &lt;br /&gt;
&lt;br /&gt;
*Linux – Linux kernel 2.6.24 or later OpenMoko kernel &lt;br /&gt;
&lt;br /&gt;
*USB -  Client and Host mode switch-able (to be used for software downloading), provide host 5v power &lt;br /&gt;
&lt;br /&gt;
*Power- Normal mode power will be via 1200 mAh battery with built-in coulomb counter, could charge via specialized charger.  Internal Lithium Ion or Lithium Polymer battery will keep device in standby mode. Battery life (Approximation/Ideal Target) Standby time 150-200 Hrs (GSM) Talk time (Backlight off) Up to 3-4 hrs(GSM) &lt;br /&gt;
&lt;br /&gt;
*LED- LED indicator under Aux/Power button key&lt;br /&gt;
&lt;br /&gt;
=Hardware Specification=&lt;br /&gt;
===Hardware Electrical=== &lt;br /&gt;
&lt;br /&gt;
*400/500 MHz Samsung 2442B Processor/SOC (400 minimum) &lt;br /&gt;
*Boot code in NAND FLASH or 2MB NOR FLASH (optional design)&lt;br /&gt;
*128 MB SDRAM total, 64 MB CPU internal, 64 MB external &lt;br /&gt;
*256MB NAND Flash MCP package. &lt;br /&gt;
&lt;br /&gt;
=== Display ===  &lt;br /&gt;
*Topploy VGA ; 2.8” diagonal, 480 x 640 pixels, 16 bit color depth&lt;br /&gt;
*Transmissive display: good readability in high ambient light is essential &lt;br /&gt;
*White LED backlight.  Required brightness is 200 NIT minimum. &lt;br /&gt;
*Resistance type touch panel.&lt;br /&gt;
&lt;br /&gt;
=== WiFi 802.11 b/g transceiver ===  &lt;br /&gt;
*Must have GPL support source or GPL compatible policy&lt;br /&gt;
*TX power at 11 Mbps: 13 dBm minimum  &lt;br /&gt;
*RX sensitivity at 11 Mbps: -89 dBm desired, -83 dBm minimum &lt;br /&gt;
*AP mode desirable, not required &lt;br /&gt;
*WEP and WPA supported &lt;br /&gt;
*Atheros preferred because it's GPL policy&lt;br /&gt;
&lt;br /&gt;
=== Serial interfaces (UART) ===&lt;br /&gt;
*Three serial interfaces are required   &lt;br /&gt;
*Console  &lt;br /&gt;
*A-GPS or GPS&lt;br /&gt;
*GSM/GPRS&lt;br /&gt;
&lt;br /&gt;
=== Accelerometer ===&lt;br /&gt;
* 2x accelerometer required&lt;br /&gt;
* Could support interrupt while suspend or power save mode&lt;br /&gt;
* 3 axis sensing&lt;br /&gt;
&lt;br /&gt;
=== A-GPS === &lt;br /&gt;
*GPS chipset receiver and antenna &lt;br /&gt;
*Sensitivity at Antenna port: -157 dBm tracking on chipset specification&lt;br /&gt;
*LNA and SAW filter for maximum interference protection&lt;br /&gt;
*Cold start time to first fix: 40 sec typical at -130 dBm, 60 sec max&lt;br /&gt;
*Must support GPL for Assist-GPS function with open API&lt;br /&gt;
*Industry quality GPS &lt;br /&gt;
*Could fit in GTA01 GPS area on the PCB&lt;br /&gt;
&lt;br /&gt;
=== GPS Antenna Performance === &lt;br /&gt;
*Antenna is passive and internal; 15 mm x 15 mm ceramic patch is nominal design &lt;br /&gt;
*Antenna LNA and SAW filter are required to meet GPS performance &lt;br /&gt;
*15 mm square ground plane (minimum 1 mm ground border around patch) (TBA) &lt;br /&gt;
*There will be one external GPS antenna connector (MMCX)&lt;br /&gt;
*C/N ratio should higher than 35 on production testing&lt;br /&gt;
&lt;br /&gt;
=== Buttons === &lt;br /&gt;
*Touch screen over LCD is primary data entry mechanism &lt;br /&gt;
*Two “hard” buttons: Power button (on side of Neo1973) is a mechanical switch actuated by a plastic pushbutton in a hole in the housing.  Aux (911) button on the top of the device, All two of these buttons, when pushed by the operator, are binary inputs (on/off or pressed/not pressed) to the software.  The effect of each button is determined by the application software in the device  &lt;br /&gt;
*Buttons may need to be backlit&lt;br /&gt;
*50000 cycles on hardware specification &lt;br /&gt;
&lt;br /&gt;
=== Sound outputs === &lt;br /&gt;
*Speaker in box (need good volume and acoustic behavior in noisy environments)&lt;br /&gt;
*Audio is monophonic*Max volume: 100 dB at 5 cm to assure good performance in environment.&lt;br /&gt;
*Support earphone with mic by jack&lt;br /&gt;
&lt;br /&gt;
=== Power Design Requirements===&lt;br /&gt;
*Software based power management unit preferred&lt;br /&gt;
*NXP PCF series preferred&lt;br /&gt;
*Need support charge from USB function&lt;br /&gt;
*Need support powered by USB function&lt;br /&gt;
*Power switch:  Neo1973 will have a power switch, for power on/off and suspend &lt;br /&gt;
* Power/Aux switch must be backlit &lt;br /&gt;
*Switch controls whether device is running or suspended by presses of the switch &lt;br /&gt;
*Switch does not shut off the power; it only suspends/resumes the device &lt;br /&gt;
*Internal Li-Ion or Li-Polymer battery is included.  This battery supplies standby power to the device eliminates the rebooting of the device when local power is again reapplied.  Battery is 1200 ma-hr. &lt;br /&gt;
*Battery life (Approximation) Ideal/Target Standby time 150-200 Hrs (GSM) Talk time (Backlight off) Up to 4 hrs(GSM) &lt;br /&gt;
*Estimated current draw for the entire device when in suspend mode (and ALL peripherals are turned off or set for deep sleep) is &amp;lt;5 mA at 3.6 volts (Li-Ion terminal voltage).&lt;br /&gt;
*GSM module deep sleep(alive and keep contact with base station) stage should take less than 8mA&lt;br /&gt;
*Battery will reach half capacity (~600 mAh) with 500 charge-discharge cycles.  This will occur in less than 2 years of daily service. &lt;br /&gt;
*When powered continuously, Neo1973 must suspend (to low power mode) based either on observed low battery voltage condition or a configurable time delay. &lt;br /&gt;
*Neo1973 must monitor battery status while suspended and resume automatically if the charger is inserted.   &lt;br /&gt;
*Primary power connection: 1200mAh battery &lt;br /&gt;
*USB charger have ID pin 47.5k pull down for Openmoko identification  &lt;br /&gt;
*Indicators: an LED indicator visible from the side of the unit will illuminate when charging or have missing incoming call&lt;br /&gt;
&lt;br /&gt;
=== GSM/GPRS ===&lt;br /&gt;
*850/1800/1900 and 900/1800/1900 MHz bands must be supported &lt;br /&gt;
*Design should allow for multi-band version (850/900 MHz) &lt;br /&gt;
*Module based GPRS transceiver could meeting PTCRB and appropriate FCC certifications.  It preferred that the module be pre-certified with PTCRB or OTA test &lt;br /&gt;
*FCC/CE certification required for GSM/GPRS part &lt;br /&gt;
&lt;br /&gt;
=== GSM-GPRS Antenna Performance === &lt;br /&gt;
*-105 dBm receiving on each channel (GSM/PCS) &lt;br /&gt;
*30+2 dBm transmission on GSM channel &lt;br /&gt;
&lt;br /&gt;
=== Wi-Fi Modules ===&lt;br /&gt;
*Must support GPL driver&lt;br /&gt;
*Atheros AR6k preferred&lt;br /&gt;
*Flash version required&lt;br /&gt;
&lt;br /&gt;
=== Wi-Fi Antenna Performance === &lt;br /&gt;
*The  Wi-Fi antenna with TX 13 to 15 dBm&lt;br /&gt;
*RX -89 to -83 dBm @802.11b 11Mbps or an equivalent performance antenna &lt;br /&gt;
&lt;br /&gt;
=== Bluetooth ===&lt;br /&gt;
*CSR BC4 or later solutions&lt;br /&gt;
&lt;br /&gt;
=== USB === &lt;br /&gt;
*Neo FreeRunner GTA02 will have USB, client/host.  Using USB 1.1    &lt;br /&gt;
*Could provide USB host 5v power&lt;br /&gt;
*Could be powered by USB&lt;br /&gt;
&lt;br /&gt;
=== Microphone === &lt;br /&gt;
1 microphone is in the device &lt;br /&gt;
&lt;br /&gt;
=== Firmware Image ===&lt;br /&gt;
*Using Linux 2.6.24 or later&lt;br /&gt;
*Could support boot from NAND or Boot from NOR&lt;br /&gt;
*Shipping image should come with basic phone function&lt;br /&gt;
*Could do full firmware upgrade by USB cable&lt;br /&gt;
&lt;br /&gt;
=== PSN ===&lt;br /&gt;
*Device will have a PSN (product serial number) printed on the product label and machine readable in system NAND memory&lt;br /&gt;
&lt;br /&gt;
=== IMEI ===&lt;br /&gt;
*Production phase should have IMEI code written&lt;br /&gt;
&lt;br /&gt;
= Package Specification = &lt;br /&gt;
*Weight: ~150 grams with battery. &lt;br /&gt;
*4 in 1 laser pen passed RoHs and safty regulation for laser equipment safty&lt;br /&gt;
*1x 512MB microSD Card (SanDisk/Transcend)&lt;br /&gt;
*1x USB cable Standard A to mini-B connector&lt;br /&gt;
*1x 1200mAh smart/gauge battery&lt;br /&gt;
*Quick start guide &lt;br /&gt;
*5v USB power cord w/100-240 switchable power plug &lt;br /&gt;
*Safety card, warranty card&lt;br /&gt;
*Package could pass 1m to 1.5m drop test&lt;br /&gt;
*AC USB charger,100v-240v, Passed UL and all required safety regulation&lt;br /&gt;
*Must pass FCC/CE certification&lt;br /&gt;
*Must pass NCC certification for Taiwan import regulation&lt;br /&gt;
*RoHS Compatible&lt;br /&gt;
*WEEE Report required&lt;br /&gt;
&lt;br /&gt;
= Life Cycle Specification = &lt;br /&gt;
&lt;br /&gt;
=== Product Life === &lt;br /&gt;
The product is designed to last a minimum of 2 years. &lt;br /&gt;
&lt;br /&gt;
=== Operating Temperature === &lt;br /&gt;
*Target operating range is –10°C to +60°C &lt;br /&gt;
&lt;br /&gt;
=== Storage Temperature === &lt;br /&gt;
*-15 deg C to +70 deg C  &lt;br /&gt;
&lt;br /&gt;
=== ESD === &lt;br /&gt;
The device can withstand a 4.0kV contact discharge and  8.0kV air  &lt;br /&gt;
&lt;br /&gt;
=== Drop test ===&lt;br /&gt;
Should pass 1m direct drop to concrete ground or 1.5m on slide with carpet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= GTA02 Hardware Component Selection =&lt;br /&gt;
&lt;br /&gt;
== Physical Dimensions ==&lt;br /&gt;
* 120.7 x 62 x 18.5 mm (4.75 x 2.44 x 0.728 inch)&lt;br /&gt;
* 110 +/- 5 g (4 ounces) without battery &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main components ==&lt;br /&gt;
=== Processor ===&lt;br /&gt;
The main Processor (CPU) of the Neo1973 GTA02 is a [[Samsung S3C2442B B54]] (running at 400 MHz)&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=SC32442 Samsung SC32442B]&lt;br /&gt;
* User Manual: FIXME&lt;br /&gt;
* Core: ARM920T&lt;br /&gt;
* Instruction Set: ARMv4 (Android ''currently'' requires ARMv5)&lt;br /&gt;
* Built-in 64MB SDRAM&lt;br /&gt;
* Built-in 256 MB NAND&lt;br /&gt;
* Could run at 500Mhz&lt;br /&gt;
* GPIO Assignments: https://svn.openmoko.org/trunk/doc/hardware/GTA02v4/gpio.txt&amp;lt;br&amp;gt;&lt;br /&gt;
* Evaluation board: [http://www.meritech.co.kr/products/product_view.php?num=52 S3C2442 EVB]&lt;br /&gt;
&lt;br /&gt;
=== Power Management ===&lt;br /&gt;
A NXP PCF50633 04 N3 is used for [[Neo1973_Power_Management|power management]].&lt;br /&gt;
&lt;br /&gt;
* NXP PMU index: [http://www.nxp.com/products/power_management/pmu/index.html NXP PMU index page]&amp;lt;br&amp;gt;&lt;br /&gt;
* Product Datasheet: [http://people.openmoko.org/tony_tu/GTA02/datasheet/PMU/PCF50633DS_02.pdf NXP PCF50633 Product Data Sheet]&amp;lt;br&amp;gt;&lt;br /&gt;
* Product User manual: [http://people.openmoko.org/tony_tu/GTA02/datasheet/PMU/PCF50633UM_6.pdf NXP PCF50633 User Manual]&amp;lt;br&amp;gt;&lt;br /&gt;
**Special thanks NXP provide full user manual and support openness for all developer&lt;br /&gt;
**Datasheet/User manual usage  [http://lists.openmoko.org/pipermail/community/2008-March/013898.html was legally authorized by NXP]&lt;br /&gt;
* Connected to: S3C2442 via I2C, client address is 0x08. &amp;lt;br&amp;gt;&lt;br /&gt;
* Driver Source: https://svn.openmoko.org/trunk/src/target/kernel/patches/pcf50633.patch&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Flash ===&lt;br /&gt;
==== NAND Flash ====&lt;br /&gt;
256MB integrated Samsung NAND flash inside the 2442 multi-chip package, attached to the S3C2442 NAND controller&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=SC32442 S3C2442]&lt;br /&gt;
* Data Sheet: S3C2442 B54 comes with 256 MB NAND MCP package&lt;br /&gt;
* Connected to: S3C2442 NAND controller&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== NOR Flash ====&lt;br /&gt;
&lt;br /&gt;
16MBit ST M58WR016KB706E NOR flash for 'unbrickable emergency boot' feature.&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.st.com/stonline/products/families/memories/fl_nor_mob/index.htm ST Mobile Flash NOR/Mobile Terminal]&lt;br /&gt;
* Data Sheet: [http://www.st.com/stonline/products/literature/ds/13023/m58wr032qb.pdf M58WR016]&lt;br /&gt;
* Connected to: S3C2442 NAND controller&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SDRAM ===&lt;br /&gt;
128MB SDRAM (64MB inside 2442 MCP, 1x Samsung K4M51323PC) attached to S3C2442 SDRAM controller&lt;br /&gt;
* Product Homepage: [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=136&amp;amp;partnum=K4M51323PC Samsung K4M51323PC]&lt;br /&gt;
* Data Sheet: [http://www.samsung.com/global/system/business/semiconductor/product/2007/6/11/MobileSDRAM/MobileSDRSDRAM/512Mbit/K4M51323PC/ds_k4m51323pc.pdf Samsung K4M51323PC]&lt;br /&gt;
* Connected to: S3C2442 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GSM/GPRS ==&lt;br /&gt;
The [[GSM]] (including GPRS) modem is Texas Instruments Calypso based.&lt;br /&gt;
&lt;br /&gt;
* Connected to: S3C2442 UART1 (full-uart, RxD, TxD, CTS, RTS), /dev/ttySAC0 in userspace&lt;br /&gt;
* PM Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-power_control.patch&lt;br /&gt;
* Accessible GSM/GPRS antenna jack (if battery cover is removed)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== CALYPSO ASIC digital baseband ===&lt;br /&gt;
Unfortunately we cannot provide many details on the GSM chipset due to very tight [http://en.wikipedia.org/wiki/Non-disclosure_agreement NDA]s.  However, this is not neccessarily required, since it interfaces using a standard UART serial line with the S3C2442.  On that interface, [http://www.3gpp.org/ftp/Specs/archive/07_series/07.05/ GSM 07.05], [http://www.3gpp.org/ftp/Specs/archive/07_series/07.10/ GSM 07.10] and other standardized protocols are used.&lt;br /&gt;
&lt;br /&gt;
The NDAd documentation for the calypso, [http://cryptome.org/ti-calypso1.pdf register definition ] and [http://cryptome.org/ti-calypso2.pdf hardware definition ] was leaked onto a public forum on the 4th of March by persons or persons unknown.&lt;br /&gt;
The legality of reading these files may vary according to your local laws, as may generating code from them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Calypso D751992AZHH&amp;lt;br&amp;gt;&lt;br /&gt;
*The firmware within GTA02 should be moko6 or later (internal code name)&lt;br /&gt;
&lt;br /&gt;
=== TI TWL3025BZGMR analog baseband ===&lt;br /&gt;
*Product Homepage: [http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&amp;amp;navigationId=12295&amp;amp;contentId=4703 TWL3014]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TI TRF6151 (GSM/PCS) RF Transceiver ===&lt;br /&gt;
*Product Homepage: [http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&amp;amp;navigationId=12296&amp;amp;contentId=4701 TRF6151] &amp;lt;br&amp;gt;&lt;br /&gt;
GPRS Class12/CS4 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== AGPS ==&lt;br /&gt;
u-blox ANTARIS 4 chip&lt;br /&gt;
* Connected to: S3C2442 UART2, /dev/ttySAC1 in userspace&lt;br /&gt;
* Driver: none needed, talks standard NMEA&lt;br /&gt;
* u-blox Antaris 4 Protocol [http://www.u-blox.com/customersupport/antaris_doc.html Protocol download page]&lt;br /&gt;
* ATR0635 Datasheet: [http://www.u-blox.com/products/Data_Sheets/ATR0630_35_SglChip_Data_Sheet(GPS.G4-X-06009).pdf u-blox ATR0635]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Accelerometers ==&lt;br /&gt;
Two ST LIS302DL&lt;br /&gt;
* Homepage: http://www.st.com/stonline/products/literature/ds/12726/lis302dl.htm&lt;br /&gt;
* Datasheet: http://www.st.com/stonline/products/literature/ds/12726.pdf&lt;br /&gt;
* Connected to: S3C2442 via SPI interface&lt;br /&gt;
* S3C2442 SPI EINT interrupt inputs&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Graphics/3D Acceleration ==&lt;br /&gt;
&lt;br /&gt;
Smedia Glamo 3362.&lt;br /&gt;
* Homepage: http://www.smediatech.com/product3362.htm&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/smedia-glamo.patch&lt;br /&gt;
* Data sheet: This is not available, as it is under NDA. It will likely never be available. (Source: Raster - IRC)&lt;br /&gt;
* Connected to: S3C2442 Address/Data bus &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== microSD ===&lt;br /&gt;
The GTA02 has one microSD aka Transflash slot. Using the Glamo 3362 MMC/SD controller&lt;br /&gt;
&lt;br /&gt;
*It should support SDHC, and 4GB card has been tested. Anyone with 8GB card? MicroSD slot is [[Disassembling_Neo1973#Opening_back_cover|under battery]].&lt;br /&gt;
* Connected to: Glamo 3362 MMC/SD controller&lt;br /&gt;
* Driver: Check svn for the SMedia driver with SD implementation&lt;br /&gt;
* [[Supported microSD cards]]&lt;br /&gt;
* Specifications: [http://www.sdcard.org/about/memory_card/pls/ SD Simplified Specification], [http://www.mmca.org/compliance/buy_spec/AN_MMCA050419.pdf MMC (partial)], [http://www.sandisk.com/Assets/File/OEM/Manuals/manual-rs-mmcv1.0.pdf MMC (product manual)]&lt;br /&gt;
* SANDISK 128 MB/512 MB and some 4G SDHC card been verified could work on GTA02&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== LCD Module (LCM) ==&lt;br /&gt;
Toppoly (tpo) 2.8&amp;quot; diagonal (1.7&amp;quot; x 2.27&amp;quot; - 43mm x 58mm) 480x640 TD028TTEC1 module, using a Toshiba JBT6K74 TFT &lt;br /&gt;
LCD Driver Chipset.&amp;lt;br&amp;gt;&lt;br /&gt;
* Homepage: [http://www.tpo.biz/ENG/business-eng/Activer-Matrix-VGA.htm Activer-Matrix-VGA.htm]&lt;br /&gt;
* Specification: FIXME&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-jbt6k74.patch&lt;br /&gt;
* Backlight Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-backlight.patch&lt;br /&gt;
* Connected to: Glamo3362 LCM interface and Glamo3362 SPI Interface&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Touch Screen ====&lt;br /&gt;
* Connected to: S3C2442 TS controller&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/s3c2410_touchscreen.patch&lt;br /&gt;
&lt;br /&gt;
== Bluetooth Module==&lt;br /&gt;
Delta DFBM-CS320 Class2 Module, using CSR BlueCore4&lt;br /&gt;
&lt;br /&gt;
* Data Sheet: [http://www.delta.com.tw/product/cp/vco/BT/download/pdf/CS/2.DFBM-CS320.pdf 2.DFBM-CS320.pdf]&lt;br /&gt;
* CSR Data Sheet: [http://www.csrsupport.com/download/2302/CS-101564-DSP10%20BlueCore4-ROM%20Product%20Data%20Sheet.pdf CS-101564-DSP10 BlueCore4-ROM Product Data Sheet.pdf]&lt;br /&gt;
* Driver: Stock Linux Kernel BlueZ&lt;br /&gt;
* Connected to: S3C2442 USB Host controller (OHCI)&lt;br /&gt;
* PM Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-power_control.patch&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth Audio ===&lt;br /&gt;
This one is wired via PCM bus from the CSR Bluetooth chip to the Wolfson codec.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== WiFi Module==&lt;br /&gt;
&lt;br /&gt;
Accton (WLAN 802.11b/g SiP-M WM3236AQ(Flash Ver:2.0 Atheros AR6001GZ)&lt;br /&gt;
* Connected to: S3C2442 SDIO Host controller&amp;lt;br&amp;gt;&lt;br /&gt;
* Datasheet: [http://www.accton.com/products/Datasheet/WM3236A.AQ.pdf Accton 3236AQ datasheet]&amp;lt;br&amp;gt;&lt;br /&gt;
* Driver: http://svn.openmoko.org/developers/sameo/patches/&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vibrator ==&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-vibrator.patch&lt;br /&gt;
* Connected to: S3C2442 GPIO&lt;br /&gt;
&lt;br /&gt;
== USB Host ==&lt;br /&gt;
The USB Host controller is inside the S3C2442&lt;br /&gt;
* Driver: Stock Linux kernel ohci_hcd&lt;br /&gt;
* USB version 1.1&lt;br /&gt;
* Supply USB 5v in Host mode using usb power switch AAT1275IRN-5.0-T1&lt;br /&gt;
** http://www.analogictech.com/products/digitalfiles/AAT1275.pdf&lt;br /&gt;
* A net EN_USBHOST is controlled by PMU GPIO &amp;quot;GPO&amp;quot;, this one signal when asserted (high)&lt;br /&gt;
** enables generation of 5V for external device using a charge pump&lt;br /&gt;
** enables connection of 15K pulldowns to D+ and D- to allow device insertion and removal detection for host mode&lt;br /&gt;
** DISABLES the path for USB power to charge the battery&lt;br /&gt;
&lt;br /&gt;
It should also be possible to use host mode with externally-provided power. This will allow the FreeRunner to be connected to a USB device and be powered and charging the battery if present at the same time.&lt;br /&gt;
&lt;br /&gt;
* Connect 0V, d+, d-, +5 to your USB device&lt;br /&gt;
* Connect a 15k ohm resistor between d+ and ground&lt;br /&gt;
* Connect a 15k ohm resistor between d- and ground&lt;br /&gt;
* Connect 0V, +5 to your &amp;gt;1A power source&lt;br /&gt;
** If your power source was not the OpenMoko 1A charger, additionally connect a 47K ohm 5% resistor between the ID pin and ground to pretend to be the 1A charger.&lt;br /&gt;
&lt;br /&gt;
In addition you need to make sure EN_USBHOST signal that enables the physical Host mode power generation and disables the USB -&amp;gt; PMU charging path is deasserted.  This may be taken care of automatically shortly by detection of the 48K resistor on a USB insertion leading to forcing EN_USBHOST deasserted.  The charge pump that generates the 5V in host mode doesn't seem to mind getting external 5V given to it, but the real issue is that the battery will not be charged at all if we leave EN_USBHOST asserted since one of its jobs is to stop that happening.&lt;br /&gt;
&lt;br /&gt;
== USB Device ==&lt;br /&gt;
The USB Device controller is inside the S3C2442 &lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/s3c2410_udc.patch&lt;br /&gt;
* Please see [[USB Product IDs]] on information about which Vendor/Product IDs we use&lt;br /&gt;
* 1200mAh lithium battery charges when connected to powered host.&lt;br /&gt;
* Mini-AB connector similar to [http://www.cypressindustries.com/shoponline/proddetail.asp?prod=CCMUSBAB-32005-700&amp;amp;cat=34 this one].&lt;br /&gt;
&lt;br /&gt;
== I2C Devices ==&lt;br /&gt;
I2C is a simple communication standard intended to move small amounts of data a few inches between chips.&lt;br /&gt;
Please see [[I2C | Neo I2C Devices]] for more information &amp;amp; a list of devices &amp;amp; the addresses currently in use &amp;amp; documented for the Neo1973.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Audio ==&lt;br /&gt;
See also: [[Neo1973 Audio Subsystem]]&lt;br /&gt;
&lt;br /&gt;
=== Wolfson Codec ===&lt;br /&gt;
There's a [[WM8753]] Wolfson Microelectronics CODEC (This is not a 'smart' codec that can interpret MP3/... it is a simple dumb 'sound card'.&lt;br /&gt;
* Product Homepage: http://www.wolfsonmicro.com/products/WM8753/&lt;br /&gt;
* Data Sheet: [http://www.wolfsonmicro.com/uploads/documents/en/WM8753.pdf WM8753.pdf]&lt;br /&gt;
* Connected to: S3C2442 IIS interface (PCM data), S3C2442 I2C (Control)&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/asoc.patch&lt;br /&gt;
&lt;br /&gt;
=== Mono Amplifier ===&lt;br /&gt;
There's a National Semiconductor [[LM4853]] Mono Amplifier at the analog audio output of the WM8753&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.national.com/pf/LM/LM4853.html LM4853.html]&lt;br /&gt;
* Data Sheet: [http://www.national.com/ds.cgi/LM/LM4853.pdf LM4853.pdf]&lt;br /&gt;
* Connects to (LM4853 pin): &lt;br /&gt;
** S3C2442 GPIO: HP_IN, AMP_SHUT (shutdown); &lt;br /&gt;
** Wolfson WM8753: LOUTL (LEFTIN), LOUTR (RIGHTIN); &lt;br /&gt;
** speaker4102: (LEFTOUT/BLTOUT-, BLTOUT+);&lt;br /&gt;
** headset-jack: ring 2 (RIGHTOUT), ring 3 (LEFTOUT/BLTOUT-) via 1uF-33R each&lt;br /&gt;
&lt;br /&gt;
=== Analog wired Headset ===&lt;br /&gt;
There's a four-ring 2.5mm stereo jack which provides connectivity to old-fashioned wired headsets.&lt;br /&gt;
&lt;br /&gt;
The headsets used by Motorola smartphones (A780,A1200, ...) and the V-360 have a compatible configuration.&lt;br /&gt;
&lt;br /&gt;
ring&amp;lt;br&amp;gt;&lt;br /&gt;
1(base): GND&amp;lt;br&amp;gt;&lt;br /&gt;
2: right out&amp;lt;br&amp;gt;&lt;br /&gt;
3: left out&amp;lt;br&amp;gt;&lt;br /&gt;
4(tip): mic + HOLD-button(press:short to GND)&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
The Neo1973 GTA02 features two buttons:&lt;br /&gt;
* [[Neo1973 Power Button|The Power Button]]&lt;br /&gt;
* [[Neo1973 AUX Button|The &amp;quot;Aux&amp;quot; button]]&lt;br /&gt;
&lt;br /&gt;
== Case ==&lt;br /&gt;
The case for the FreeRunner is all black, as seen on the front page of the wiki.&lt;br /&gt;
&lt;br /&gt;
Openmoko has released the CAD files for the case schematics for the OpenMoko [[Neo1973]] (GTA01) and Neo FreeRunner. These are available in the original Pro/E (.asm/.prt) format and alternative formats created from the originals.&lt;br /&gt;
&lt;br /&gt;
We welcome your assistance in providing other formats. If you are able to convert CAD files from Pro/E format to other formats, please contact [mailto:michael@openmoko.org]. We are especially interested in the DXF format and in images rendered from these files.&lt;br /&gt;
&lt;br /&gt;
* [http://downloads.openmoko.org/CAD/NeoFreerunner_ProE.zip The original Pro/E (.asm/.prt) format]&lt;br /&gt;
&lt;br /&gt;
[http://downloads.openmoko.org/CAD/ Browse CAD directory]&lt;br /&gt;
&lt;br /&gt;
=Accessory=&lt;br /&gt;
&lt;br /&gt;
== Stylus ==&lt;br /&gt;
&lt;br /&gt;
Using 4 in 1 laser pen&lt;br /&gt;
*Vendor: [http://www.quarton.com/laser_pen.html Quarton XPII]&lt;br /&gt;
*GTA02 standard setup comes with [http://www.quarton.com.tw/laser_pen_infiniter_xp_2.html QUARTON XPII 4 in 1 laser pen]&lt;br /&gt;
&lt;br /&gt;
== Battery ==&lt;br /&gt;
The [[Neo FreeRunner (GTA02) Battery]] is mechanically and electrically compatible with the [[Neo1973 GTA01 Battery]], as well as limited compatibility with a Nokia BL6C battery.&lt;br /&gt;
According to [http://lists.openmoko.org/pipermail/community/2007-February/003758.html this] post on the mailinglist.&lt;br /&gt;
[http://wiki.openmoko.org/index.php?title=Image:Neo1973-with-BL5C-battery.png Photo] of the battery inside the Neo1973.&lt;br /&gt;
&lt;br /&gt;
* GTA02 using the smart battery based on TI bq27000 chipset&lt;br /&gt;
* SANYO UF653450S 1200mAh cell.&amp;lt;br&amp;gt;&lt;br /&gt;
* Battery schematics: [http://people.openmoko.org/tony_tu/GTA02/hardware/GTA02/CT-GTA02.pdf GTA02 Smart Battery Schematics]&lt;br /&gt;
&lt;br /&gt;
== microSD Card ==&lt;br /&gt;
&lt;br /&gt;
GTA02 should come with one of following microSD card&lt;br /&gt;
&lt;br /&gt;
* [http://www.transcendusa.com/ Transcend] 512MB microSD card&lt;br /&gt;
* [http://www.sandisk.com/ SanDisk] 512MB microSD card&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Charger ==&lt;br /&gt;
&lt;br /&gt;
AKII Technology Charger&lt;br /&gt;
&lt;br /&gt;
*Model: [http://www.ak2.com.tw/pd_main.asp?sg_id=11 A10P1-05MP]&lt;br /&gt;
*Input: 100-240v~ /0.3A&lt;br /&gt;
*Output: +5v up to 2.0A&lt;br /&gt;
*Add 47.5k 1% resistor between ID pin and ground for openmoko charger identification&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= History =&lt;br /&gt;
&lt;br /&gt;
== GTA02v1 ==&lt;br /&gt;
First generation of prototypes that was given to internal OpenMoko software developers. Total 30 pcs fabricated.&lt;br /&gt;
&lt;br /&gt;
*It is working just fine, but still based on 2440, with external NAND/SDRAM and no NOR flash&lt;br /&gt;
*Using the PCF50633 05 N3 due to 04 N3 not available, re-work power for basic schematics verification&lt;br /&gt;
*Using GTA01 SIM socket&lt;br /&gt;
*Add external debug port&lt;br /&gt;
*Still using Global locate A-GPS&lt;br /&gt;
* ATAG_REVISION: 0310&lt;br /&gt;
&lt;br /&gt;
== GTA02v2 ==&lt;br /&gt;
Second generation of prototypes, Total 50 pcs run at Taipei SMT factory MOUNT&lt;br /&gt;
&lt;br /&gt;
*Ideal is have 256 MB NAND on Samsung package, Due to chip availability Start using S3C2442 B43&lt;br /&gt;
*Using correct PMU PCF50633 04 N3&lt;br /&gt;
*Change new SIM socket&lt;br /&gt;
*Change to u-blox A-GPS&lt;br /&gt;
*Change LCM power from 3.3v to 1.8v&lt;br /&gt;
*USB power switch layout/pin assignment mistake, could not verify USB host supply 5v function&lt;br /&gt;
*GPS function verified ok with good sensitivity&lt;br /&gt;
* ATAG_REVISION: 0320&lt;br /&gt;
&lt;br /&gt;
== GTA02v3 ==&lt;br /&gt;
Production verification version, 2007/10/11 28 pcs fabricate at FIC SuZhou&lt;br /&gt;
&lt;br /&gt;
*Still using S3C2442 B43 for hardware verification&lt;br /&gt;
*Using control pilot run to verify S3C2442 B54 chips&amp;lt;br&amp;gt;&lt;br /&gt;
* ATAG_REVISION: 0330&lt;br /&gt;
&lt;br /&gt;
== GTA02v4 ==&lt;br /&gt;
Mass production release candidate version 1&lt;br /&gt;
&lt;br /&gt;
2 weeks after v3 gerber out, release the v4 gerber, and 2007/10/20 20 pcs fabricate at FIC SuZhou &lt;br /&gt;
&lt;br /&gt;
*Change LCM power from 1.8v to 3.3v for display stability issue&lt;br /&gt;
*fabricate another 200 pcs for yield rate/production verification&lt;br /&gt;
*fabricate 50 pcs with S3C2442 B43 (128 MB NAND) for quality comparsion&lt;br /&gt;
*USB host power chip have some output voltage stability issues with Vb/Vcc comes from different power source, need layout change to fix the issue&lt;br /&gt;
*Battery Coulomb design not working on A4&lt;br /&gt;
* ATAG_REVISION: 0340&lt;br /&gt;
&lt;br /&gt;
== GTA02v5 ==&lt;br /&gt;
Mass production candidate version 2/Mass production version&lt;br /&gt;
&lt;br /&gt;
* First batch fabricate 2008/1/14 at FIC SuZhou&lt;br /&gt;
* Mass production A5 trial run start from 2008 March, including some resistor/capacitor change compare with inital 100 pcs prototypes A5, and prototypes for GTA02 developers was tracked in the [[Prototypes| Prototypes Page]]&lt;br /&gt;
* Coulomb counter issue fixed&lt;br /&gt;
* USB host power switch fixed&lt;br /&gt;
* Need add capacitor for PMU Vbat input for stability issue, this could be done by direct SMT or hand rework&lt;br /&gt;
* Need rework (still using SMT in production) add capacitor for PMU Vbat input for PMU stability issue.&lt;br /&gt;
* Need manual rework GSM IR UART path a 100k pull down for better GSM deep sleep&lt;br /&gt;
* ATAG_REVISION: 0350&lt;br /&gt;
&lt;br /&gt;
===GTA02 mass Production version change list===&lt;br /&gt;
*PMU's LED power error: PMU potential damage issue&lt;br /&gt;
*NOR FLASH enable WP: User can write data into NOR FLASH.&lt;br /&gt;
*CE CS/RS fine tune: Audio's background noise too high&lt;br /&gt;
*I2C pull high resistor: The resistor is too high and signal is distorted &lt;br /&gt;
*GSM leakage current: TX_MODEM has a pull high resistor on IO_3V3&lt;br /&gt;
*Power consumption: Disable keep active function&lt;br /&gt;
*SDIO clock and esd protect resistor&lt;br /&gt;
*Refer to Datasheet: R1526 to 33K&lt;br /&gt;
*GSM modem on pin: The R1018 is too small and has some leakage current&lt;br /&gt;
*LED driving transistor: When GPIO is on, the transistor will be draw more current on LED. This is component change fix, do not need change PCB or re-work.&lt;br /&gt;
&lt;br /&gt;
== GTA02v6 ==&lt;br /&gt;
Mass production candidate version 3/Mass production version&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A6 will be fine tune version of A5, only minor schematic change for better product quality and version control. Capacitor and resistor change A6 also on mass production A5&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*First 100 pcs start from 2008 mid April, and factory make component placement mistake on GSM, second 100 pcs PCB arrive time TBD. &lt;br /&gt;
*Add capacitor space for Vbat, reduce the SMT effort&lt;br /&gt;
*Add GSM IR resistor for better GSM deep sleep&lt;br /&gt;
*Reserve 3 GPIO for hardware version control&lt;br /&gt;
*Fixed LEDs power usage (from about 150mW of v5 to about 25mW)&lt;br /&gt;
* ATAG_REVISION: 0360&lt;br /&gt;
&lt;br /&gt;
=== GTA02 A5 to A6 changes ===&lt;br /&gt;
*Power Glitch on VB_SYS: Add capacitor on layout, Mass production A5 also apply this change.&lt;br /&gt;
*G-sensor separate these interrupt pins: At A5, each accelerometer INT1/INT2 connected to same line, at A6 only INT1 was connected.&lt;br /&gt;
*GSM_modem power source  Reduce power's ripple when the phone is talking&lt;br /&gt;
*Keep active 	Disable keep active function, just fine tune&lt;br /&gt;
*GPIO for version control	&lt;br /&gt;
*GSM RX_IR has some noise  Add resistor and reduce GSM RX_IR noise and gsm can't enter suspend mode easily, apply on mass production A5.&lt;br /&gt;
*LED driving transistor	apply on mass production A5.&lt;br /&gt;
*LCM's VDDIO	We can totally power off LCM's power, save about extra 1mA.&lt;br /&gt;
&lt;br /&gt;
= Debug Board =&lt;br /&gt;
&lt;br /&gt;
== Debug Board Connector definition ==&lt;br /&gt;
&lt;br /&gt;
This is the connector used to connect the [[Debug Board]] and possibly other hardware.&lt;br /&gt;
&lt;br /&gt;
Connections are:&lt;br /&gt;
* 39 - GND&lt;br /&gt;
* 38 - STDI&lt;br /&gt;
* 37 - _RESET&lt;br /&gt;
* 36 - STMS&lt;br /&gt;
* 35 - STCK&lt;br /&gt;
* 34 - STDO&lt;br /&gt;
* 33 - GSM_EN&lt;br /&gt;
* 29 - _STRST&lt;br /&gt;
* 19 - X_I2C_SCL (H-TP4703)&lt;br /&gt;
* 18 - X_I2C_SDA (H-TP4704)&lt;br /&gt;
* 17 - SPI_CLK0&lt;br /&gt;
* 16 - SPI_MOSI0&lt;br /&gt;
* 15 - SPI-MISO0 &lt;br /&gt;
* 14 - SS0&lt;br /&gt;
* 13 - EINT3 (H-TP4705)&lt;br /&gt;
* 3 - CONSOLE_TXD (H-TP4701)&lt;br /&gt;
* 2 - CONSOLE_RXD (H-TP4702)&lt;br /&gt;
&lt;br /&gt;
Information from [http://people.openmoko.org/roh/Debugport_GTA01bv4.png].&lt;br /&gt;
&lt;br /&gt;
= Distinguishing hardware revisions =&lt;br /&gt;
== Inside the [[Bootloader]] ==&lt;br /&gt;
Every hardware revision has its own u-boot image type.  Thus, the bootloader has the revision hard-coded.&lt;br /&gt;
The hardware revision is passed on to the kernel via the ATAG mechanism (ATAG_REVISION)&lt;br /&gt;
&lt;br /&gt;
== Inside the [[Kernel]] ==&lt;br /&gt;
The kernel receives the ATAG_REVISION during bootup, and saves its contents in the &amp;quot;system_rev&amp;quot; global variable.&lt;br /&gt;
&lt;br /&gt;
== From Userspace ==&lt;br /&gt;
The kernel exports the system_rev variable in /proc/cpuinfo as &amp;quot;Revision :&amp;quot; line.&lt;br /&gt;
&lt;br /&gt;
= Certification =&lt;br /&gt;
&lt;br /&gt;
== FCC ==&lt;br /&gt;
*For US Import&lt;br /&gt;
** 850/1800/1900 Band, FCC ID: EUNGTA02&lt;br /&gt;
** 900/1800/1900 Band, FCC ID: EUNGTA02E&lt;br /&gt;
** [http://people.openmoko.org/tony_tu/GTA02/certificate/EUNGTA02_850_1800_1900/ FCC test report(GTA02)]&lt;br /&gt;
** [http://people.openmoko.org/tony_tu/GTA02/certificate/EUNGTA02E_900_1800_1900/ FCC test report(GTA02E)]&lt;br /&gt;
&lt;br /&gt;
== NCC ==&lt;br /&gt;
*For Taiwan Import&lt;br /&gt;
**NCC certification number: CCAF08DG0080T0 &lt;br /&gt;
**[http://people.openmoko.org/tony_tu/GTA02/certificate/NCC NCC test report]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware ]]&lt;br /&gt;
[[Category:GTA02 Hardware]]&lt;br /&gt;
[[Category:Hardware Support]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/OpenMoko_Community_Applications</id>
		<title>OpenMoko Community Applications</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/OpenMoko_Community_Applications"/>
				<updated>2008-02-29T04:12:10Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: /* Minimo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
This page is intended for ordinary end users of [[OpenMoko]] smartphones.   It lists some of the cool applications provided by the Openmoko community that you can install and enjoy.   Freedom to share!    You can find many more applications here - http://projects.openmoko.org &lt;br /&gt;
&lt;br /&gt;
'''Please note that not all of these applications are in a finished format yet.   When they are complete you will be able to download them via a menu on the phone.    At the moment, following a recipe of commands in the console window may be needed to install.   This will of course improve with time :-) '''&lt;br /&gt;
&lt;br /&gt;
'''Please also note that there is &amp;quot;some risk&amp;quot; in installing developing software or software from an unknown source!    However, if the license for the code is an open source license then you have the comfort that anyone in the OpenMoko community has the power to check the operation of the software and thus malicious or vulernable code is minimised'''&lt;br /&gt;
&lt;br /&gt;
Any problems with the software below should be reported to the individual software developer rather than the OpenMoko core team.&lt;br /&gt;
&lt;br /&gt;
== Note to application developers ==&lt;br /&gt;
&lt;br /&gt;
No more than 8 of the best OpenMoko Community Applications should be listed on this page.     The main place for OpenMoko device owners to browse software remains http://projects.openmoko.org.      Applications listed here should have mass appeal as an advert of what the platform can do for Linux fans and ordinary smartphone users alike.&lt;br /&gt;
&lt;br /&gt;
Please provide&lt;br /&gt;
* a link to your project page&lt;br /&gt;
* a short video if possible&lt;br /&gt;
* screenshots&lt;br /&gt;
* indicate whether your application is stable or still under development &lt;br /&gt;
* state which models of OpenMoko phone the application is designed for.&lt;br /&gt;
* a short paragraph describing features&lt;br /&gt;
* the license the code is provided under&lt;br /&gt;
&lt;br /&gt;
Please add your application to the bottom of the list&lt;br /&gt;
&lt;br /&gt;
== TangoGPS ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |Project Homepage&lt;br /&gt;
 |http://www.tangogps.org&lt;br /&gt;
 |-&lt;br /&gt;
 |Video&lt;br /&gt;
 |http://www.youtube.com/watch?v=hn7wuxlTNvs &lt;br /&gt;
 |-&lt;br /&gt;
 |Screenshots&lt;br /&gt;
 |Add your screenshots here&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Status&lt;br /&gt;
 |Add your status notes here&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Description&lt;br /&gt;
 |gps and map program&lt;br /&gt;
 |-&lt;br /&gt;
 |Software License&lt;br /&gt;
 |Add your software license here&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Mokopedia ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |Project Homepage&lt;br /&gt;
 |http://mokopedia.projects.openmoko.org/&lt;br /&gt;
 |-&lt;br /&gt;
 |Video&lt;br /&gt;
 |http://www.rabenfrost.net/mokopedia_demo2.ogg&lt;br /&gt;
 |-&lt;br /&gt;
 |Screenshots&lt;br /&gt;
 |Add your screenshots here&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Status&lt;br /&gt;
 |Add your status notes here&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Description&lt;br /&gt;
 |Special compressed version of Wikipedia stored in your SD storage card.   Access to wikipedia wherever you are!&lt;br /&gt;
 |-&lt;br /&gt;
 |Software License&lt;br /&gt;
 |Add your software license here&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== thumbtribes ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |Project Homepage&lt;br /&gt;
 |http://thumbtribes.mobi/&lt;br /&gt;
 |-&lt;br /&gt;
 |Video&lt;br /&gt;
 |Need a new one!&lt;br /&gt;
 |-&lt;br /&gt;
 |Screenshots&lt;br /&gt;
 |In a state of flux&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Status&lt;br /&gt;
 |Highly experimental&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Description&lt;br /&gt;
 |Low bandwidth location-aware blogging and messaging&lt;br /&gt;
 |-&lt;br /&gt;
 |Software License&lt;br /&gt;
 |GPL&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Minimo ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |Wiki Link&lt;br /&gt;
 |[[Minimo for Moko]]&lt;br /&gt;
 |-&lt;br /&gt;
 |Screenshots&lt;br /&gt;
 |[[Image:Minimo-slashdot.jpeg|thumb|left]]&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Description&lt;br /&gt;
 |Minimo is a Mozilla based web browser. It features full AJAX support and other goodies. It is listed as an alternative to standard Webkit based browser. &lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Cool application name goes here ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |Project Homepage&lt;br /&gt;
 |Add your project hyperlink here&lt;br /&gt;
 |-&lt;br /&gt;
 |Video&lt;br /&gt;
 |Add your video hyperlink here&lt;br /&gt;
 |-&lt;br /&gt;
 |Screenshots&lt;br /&gt;
 |Add your screenshots here&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Status&lt;br /&gt;
 |Add your status notes here&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Description&lt;br /&gt;
 |Add your cool features here&lt;br /&gt;
 |-&lt;br /&gt;
 |Software License&lt;br /&gt;
 |Add your software license here&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/OpenMoko_Community_Applications</id>
		<title>OpenMoko Community Applications</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/OpenMoko_Community_Applications"/>
				<updated>2008-02-29T04:11:13Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: /* Cool application name goes here */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
This page is intended for ordinary end users of [[OpenMoko]] smartphones.   It lists some of the cool applications provided by the Openmoko community that you can install and enjoy.   Freedom to share!    You can find many more applications here - http://projects.openmoko.org &lt;br /&gt;
&lt;br /&gt;
'''Please note that not all of these applications are in a finished format yet.   When they are complete you will be able to download them via a menu on the phone.    At the moment, following a recipe of commands in the console window may be needed to install.   This will of course improve with time :-) '''&lt;br /&gt;
&lt;br /&gt;
'''Please also note that there is &amp;quot;some risk&amp;quot; in installing developing software or software from an unknown source!    However, if the license for the code is an open source license then you have the comfort that anyone in the OpenMoko community has the power to check the operation of the software and thus malicious or vulernable code is minimised'''&lt;br /&gt;
&lt;br /&gt;
Any problems with the software below should be reported to the individual software developer rather than the OpenMoko core team.&lt;br /&gt;
&lt;br /&gt;
== Note to application developers ==&lt;br /&gt;
&lt;br /&gt;
No more than 8 of the best OpenMoko Community Applications should be listed on this page.     The main place for OpenMoko device owners to browse software remains http://projects.openmoko.org.      Applications listed here should have mass appeal as an advert of what the platform can do for Linux fans and ordinary smartphone users alike.&lt;br /&gt;
&lt;br /&gt;
Please provide&lt;br /&gt;
* a link to your project page&lt;br /&gt;
* a short video if possible&lt;br /&gt;
* screenshots&lt;br /&gt;
* indicate whether your application is stable or still under development &lt;br /&gt;
* state which models of OpenMoko phone the application is designed for.&lt;br /&gt;
* a short paragraph describing features&lt;br /&gt;
* the license the code is provided under&lt;br /&gt;
&lt;br /&gt;
Please add your application to the bottom of the list&lt;br /&gt;
&lt;br /&gt;
== TangoGPS ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |Project Homepage&lt;br /&gt;
 |http://www.tangogps.org&lt;br /&gt;
 |-&lt;br /&gt;
 |Video&lt;br /&gt;
 |http://www.youtube.com/watch?v=hn7wuxlTNvs &lt;br /&gt;
 |-&lt;br /&gt;
 |Screenshots&lt;br /&gt;
 |Add your screenshots here&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Status&lt;br /&gt;
 |Add your status notes here&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Description&lt;br /&gt;
 |gps and map program&lt;br /&gt;
 |-&lt;br /&gt;
 |Software License&lt;br /&gt;
 |Add your software license here&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Mokopedia ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |Project Homepage&lt;br /&gt;
 |http://mokopedia.projects.openmoko.org/&lt;br /&gt;
 |-&lt;br /&gt;
 |Video&lt;br /&gt;
 |http://www.rabenfrost.net/mokopedia_demo2.ogg&lt;br /&gt;
 |-&lt;br /&gt;
 |Screenshots&lt;br /&gt;
 |Add your screenshots here&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Status&lt;br /&gt;
 |Add your status notes here&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Description&lt;br /&gt;
 |Special compressed version of Wikipedia stored in your SD storage card.   Access to wikipedia wherever you are!&lt;br /&gt;
 |-&lt;br /&gt;
 |Software License&lt;br /&gt;
 |Add your software license here&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== thumbtribes ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |Project Homepage&lt;br /&gt;
 |http://thumbtribes.mobi/&lt;br /&gt;
 |-&lt;br /&gt;
 |Video&lt;br /&gt;
 |Need a new one!&lt;br /&gt;
 |-&lt;br /&gt;
 |Screenshots&lt;br /&gt;
 |In a state of flux&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Status&lt;br /&gt;
 |Highly experimental&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Description&lt;br /&gt;
 |Low bandwidth location-aware blogging and messaging&lt;br /&gt;
 |-&lt;br /&gt;
 |Software License&lt;br /&gt;
 |GPL&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Minimo ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |Wiki Link&lt;br /&gt;
 |[[Minimo for Moko]]&lt;br /&gt;
 |-&lt;br /&gt;
 |Screenshots&lt;br /&gt;
 |[[Image:Minimo-slashdot.jpeg|thumb|left]]&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Description&lt;br /&gt;
 |Minimo is a Mozilla based web browser. It features full AJAX support and other goodies. It is listetd as an alternative to standard Webkit based browser. &lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Cool application name goes here ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 |Project Homepage&lt;br /&gt;
 |Add your project hyperlink here&lt;br /&gt;
 |-&lt;br /&gt;
 |Video&lt;br /&gt;
 |Add your video hyperlink here&lt;br /&gt;
 |-&lt;br /&gt;
 |Screenshots&lt;br /&gt;
 |Add your screenshots here&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Status&lt;br /&gt;
 |Add your status notes here&lt;br /&gt;
 |-&lt;br /&gt;
 |Application Description&lt;br /&gt;
 |Add your cool features here&lt;br /&gt;
 |-&lt;br /&gt;
 |Software License&lt;br /&gt;
 |Add your software license here&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Openmoko_Local_Groups:_Denver</id>
		<title>Openmoko Local Groups: Denver</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Openmoko_Local_Groups:_Denver"/>
				<updated>2008-02-29T04:02:58Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Are there any other OpenMoko community members here?&lt;br /&gt;
&lt;br /&gt;
{|border=1&lt;br /&gt;
!Name&lt;br /&gt;
!Skills&lt;br /&gt;
!Interest&lt;br /&gt;
!Location&lt;br /&gt;
! Has Device&lt;br /&gt;
|-&lt;br /&gt;
|[[User:mike|Mike Welter]]&lt;br /&gt;
|Programming/Hardware&lt;br /&gt;
|Location-based apps.&lt;br /&gt;
|Evergreen, CO (Denver)&lt;br /&gt;
|Yes (and debug board)&lt;br /&gt;
|-&lt;br /&gt;
|[[User:Flerchjj|Jeremiah Flerchinger]]&lt;br /&gt;
|Programming/Hardware&lt;br /&gt;
|Using as VOIP phone, random app development&lt;br /&gt;
|Colorado Springs, CO&lt;br /&gt;
|No, waiting for GTA02&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Community]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Neo_1973_hardware</id>
		<title>Neo 1973 hardware</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Neo_1973_hardware"/>
				<updated>2008-02-28T21:11:21Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: added core &amp;amp; instruction set&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OpenMoko]] is a software distribution stack that sits on top of a [[hardware]] platform.  The [[Neo1973]] phone is the first hardware platform to take advantage of OpenMoko.  You can find specifics of the [[:Category:Neo1973 Hardware | Neo1973 Hardware]] by reviewing this introduction page and the pages in the category as shown at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
'''Note that this page is about the first OpenMoko phone which is now discontinued. See details on the second OpenMoko phone at this page - [[Neo FreeRunner GTA02 Hardware]].'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Gta01b v3 top.jpg|thumb|400px|display (top) side]]&lt;br /&gt;
[[Image:Gta01b v3 bottom.jpg|thumb|400px|component (back) side]]&lt;br /&gt;
&lt;br /&gt;
==User experiences of Phase 0 hardware==&lt;br /&gt;
[[Wishlist:Neo1973_P0_Review]]&lt;br /&gt;
&lt;br /&gt;
==User reports of robustness==&lt;br /&gt;
User experiences - drops onto concrete - ... [[Neo1973 Robustness]]&lt;br /&gt;
&lt;br /&gt;
== Physical Dimensions ==&lt;br /&gt;
* 120.7 x 62 x 18.5 mm (4.75 x 2.44 x 0.728 inch)&lt;br /&gt;
* 184 +/- 5 g (6.5 ounces)&lt;br /&gt;
* For the purposes of acquiring/cutting a properly sized screen protector, the display hole of the case is about 45 x 59 mm, while the top cover internal frame can house up to a 53 x 74 mm protector; sizes much larger than the display hole would obviously necessitate removing the front cover for installation.&lt;br /&gt;
* A Useful size comparison between the Neo1973, iPhone, Motorola A1200 and the SEM600i can be seen at [http://www.sizeasy.com/page/size_comparison/5512-Neo1973-vs-Apple-iPhone-vs-M600i-2-vs-A-1200 sizeasy]&lt;br /&gt;
&lt;br /&gt;
== Main components ==&lt;br /&gt;
=== Processor ===&lt;br /&gt;
The main Processor (CPU) of the Neo1973 is a Samsung S3C2410AL-26 (Capable of running up to 266 MHz)&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=S3C2410 S3C2410.htm]&lt;br /&gt;
* User Manual: [http://www.samsung.com/global/business/semiconductor/productRightMenuDown.do?doc_file=26537 2410UserManual.pdf]&lt;br /&gt;
* Core: ARM920T&lt;br /&gt;
* Instruction Set: ARMv4 (Android ''currently'' requires ARMv5)&lt;br /&gt;
* BSDL File: [http://www.samsung.com/global/business/semiconductor/productRightMenuDown.do?doc_file=26554 S3C2410_BGA_BSDLJTAGFILE.bsd]&lt;br /&gt;
* GPIO Assignments: https://svn.openmoko.org/trunk/doc/hardware/GTA01Bv4/gpio.txt&lt;br /&gt;
&lt;br /&gt;
=== Flash ===&lt;br /&gt;
64MB Samsung NAND flash (K9F1208U0B) attached to S3C2410 NAND controller.&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=158&amp;amp;partnum=K9F1208U0B]&lt;br /&gt;
* Data Sheet: [http://www.samsung.com/global/system/business/semiconductor/product/2007/6/11/NANDFlash/SLC_SmallBlock/512Mbit/K9F1208U0B/ds_k9f1208x0b_rev03.pdf]&lt;br /&gt;
* Connected to: S3C2410 NAND controller&lt;br /&gt;
&lt;br /&gt;
This is the only flash memory in the device.  The S3C2410 boots directly from nand, using the [[S3C2410 Steppingstone]].&lt;br /&gt;
&lt;br /&gt;
We only use free software, no proprietary flash file systems.  For a full description of how it is used, see [[NAND bad blocks]]&lt;br /&gt;
&lt;br /&gt;
=== RAM ===&lt;br /&gt;
128MB SDRAM (2x Samsung K4M511633C) attached to S3C2410 SDRAM controller&lt;br /&gt;
* Product Homepage: [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=136&amp;amp;partnum=K4M511633C]&lt;br /&gt;
* Data Sheet: [http://www.samsung.com/global/system/business/semiconductor/product/2007/6/11/MobileSDRAM/MobileSDRSDRAM/512Mbit/K4M511633C/ds_k4m511633c.pdf]&lt;br /&gt;
* Connected to: S3C2410 &lt;br /&gt;
&lt;br /&gt;
=== GSM/GPRS ===&lt;br /&gt;
The [[GSM]] (including GPRS) modem is Texas Instruments Calypso based.&lt;br /&gt;
&lt;br /&gt;
* Connected to: S3C2410 UART1 (full-uart, RxD, TxD, CTS, RTS), /dev/ttySAC0 in userspace&lt;br /&gt;
* PM Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-power_control.patch&lt;br /&gt;
* Accessible GSM/GPRS antenna jack (if battery cover is removed)&lt;br /&gt;
&lt;br /&gt;
==== CALYPSO digital baseband ====&lt;br /&gt;
Unfortunately we cannot provide many details on the GSM chipset due to very tight NDAs.  However, this is not neccessarily required, since it interfaces using a standard UART serial line with the S3C2410.  On that interface, [http://www.3gpp.org/ftp/Specs/archive/07_series/07.05/ GSM 07.05], [http://www.3gpp.org/ftp/Specs/archive/07_series/07.10/ GSM 07.10] and other standardized protocols are used.&lt;br /&gt;
&lt;br /&gt;
==== TWL3014 analog baseband ====&lt;br /&gt;
Product Homepage: [http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&amp;amp;navigationId=12295&amp;amp;contentId=4703 TWL3014]&lt;br /&gt;
&lt;br /&gt;
==== TRF6151 RF Transceiver ====&lt;br /&gt;
Product Homepage: [http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&amp;amp;navigationId=12296&amp;amp;contentId=4701 TRF6151] &amp;lt;br&amp;gt;&lt;br /&gt;
GPRS Class12/CS4 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Hardware:AGPS|AGPS]] ===&lt;br /&gt;
Hammerhead PMB 2520 AGPS from Global Locate.&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.globalocate.com/SEMICONDUCTORS/SEMI_HAMMER_Frameset.htm Hammerhead]&lt;br /&gt;
* Connected to: S3C2410 UART2 (full-uart, RxD, TxD, CTS, RTS) /dev/ttySAC1 in userspace&lt;br /&gt;
* Driver: Implemented as a binary with NMEA output suitable for the gpsd daemon ([[gpsd]])&lt;br /&gt;
* PM Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-power_control.patch&lt;br /&gt;
* Externally-accessible GPS antenna connector of type MMCX&lt;br /&gt;
&lt;br /&gt;
The binary driver is available - see [[GLLIN]]. &lt;br /&gt;
Efforts to reverse engineer the protocol are partially detailed in [[Hammerhead/Protocol]], these have stalled since the announcement that [[FreeRunner]] will use a different GPS.&lt;br /&gt;
&lt;br /&gt;
=== microSD-Card ===&lt;br /&gt;
The Neo1973 has one microSD aka Transflash slot.&lt;br /&gt;
It supports SDHC.  MicroSD slot is [[Disassembling_Neo1973#Opening_back_cover|under battery]].&lt;br /&gt;
* Connected to: S3C2410 MMC/SD controller&lt;br /&gt;
* Mounted to: /media/card&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/s3c_mci.patch&lt;br /&gt;
* [[Supported microSD cards]]&lt;br /&gt;
* Specifications: [http://www.sdcard.org/confirm/confirm_memorycard.aspx SD Simplified Specification], [http://www.mmca.org/compliance/buy_spec/AN_MMCA050419.pdf MMC (partial)], [http://www.sandisk.com/Assets/File/OEM/Manuals/manual-rs-mmcv1.0.pdf MMC (product manual)]&lt;br /&gt;
&lt;br /&gt;
=== LCD Module (LCM) ===&lt;br /&gt;
This is a 2.8&amp;quot; diagonal (1.7&amp;quot; x 2.27&amp;quot; - 43mm x 58mm) 480x640 toppoly (tpo) TD028TTEC1 module (283 DPI), using a Toshiba JBT6K74 TFT LCD Driver Chipset.&lt;br /&gt;
* Homepage: [http://www.tpo.biz/ENG/business-eng/Activer-Matrix-VGA.htm Activer-Matrix-VGA.htm]&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-jbt6k74.patch&lt;br /&gt;
* Backlight Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-backlight.patch&lt;br /&gt;
* Connected to: S3C2410 Display Controller and S3C2410 SPI Interface channel 1&lt;br /&gt;
* Backlight controllable via /sys/class/backlight/gta01-bl&lt;br /&gt;
&lt;br /&gt;
==== Touch Screen ====&lt;br /&gt;
* Connected to: S3C2410 TS controller&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/s3c2410_touchscreen.patch&lt;br /&gt;
&lt;br /&gt;
==== Stylus ====&lt;br /&gt;
&lt;br /&gt;
Seemingly identical to [http://cgi.ebay.com/4in1-PDA-Stylus-LED-Light-Torch-Laser-Pointer-Pen-h7_W0QQitemZ280089656134QQihZ018QQcategoryZ48677QQrdZ1QQcmdZViewItem this one on ebay]&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth ===&lt;br /&gt;
Delta DFBM-CS320 Class2 Module, using CSR BlueCore4 (V2.0+EDR).&lt;br /&gt;
&lt;br /&gt;
* Data Sheet: [http://www.delta.com.tw/product/cp/vco/BT/download/pdf/CS/2.DFBM-CS320.pdf 2.DFBM-CS320.pdf]&lt;br /&gt;
* CSR Data Sheet: [http://www.csrsupport.com/download/2302/CS-101564-DSP10%20BlueCore4-ROM%20Product%20Data%20Sheet.pdf CS-101564-DSP10 BlueCore4-ROM Product Data Sheet.pdf]&lt;br /&gt;
* Driver: Stock Linux Kernel BlueZ&lt;br /&gt;
* Connected to: S3C2410 USB Host controller (OHCI)&lt;br /&gt;
* PM Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-power_control.patch&lt;br /&gt;
&lt;br /&gt;
=== Vibrator ===&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-vibrator.patch&lt;br /&gt;
* Connected to: S3C2410 GPIO&lt;br /&gt;
* Controllable via /sys/class/leds/gta01:vibrator&lt;br /&gt;
&lt;br /&gt;
=== USB Host ===&lt;br /&gt;
The USB Host controller is inside the S3C2410&lt;br /&gt;
* Driver: Stock Linux kernel ohci_hcd&lt;br /&gt;
&lt;br /&gt;
=== USB Device ===&lt;br /&gt;
The USB Device controller is inside the S3C2410 &lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/s3c2410_udc.patch&lt;br /&gt;
* Please see [[USB Product IDs]] on information about which Vendor/Product IDs we use&lt;br /&gt;
* 1200mAh lithium battery charges when connected to powered host.&lt;br /&gt;
* Mini-B connector [http://www.cypressindustries.com/enlarge.asp?Img=products/images/ccmusbb-32005-601.gif this one].&lt;br /&gt;
* This can be used as a USB host: [[Neo1973_USB_host]]&lt;br /&gt;
&lt;br /&gt;
=== I2C Devices ===&lt;br /&gt;
The I2C is a simple communication standard intended to move small amounts of data a few inches between chips.&lt;br /&gt;
Please see [[I2C | Neo I2C Devices]] for more information &amp;amp; a list of devices &amp;amp; the addresses currently in use &amp;amp; documented for the Neo1973.&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
See also: [[Neo1973 Audio Subsystem]]&lt;br /&gt;
&lt;br /&gt;
==== Wolfson Codec ====&lt;br /&gt;
&lt;br /&gt;
''Main article: [[WM8753]]''&lt;br /&gt;
&lt;br /&gt;
There's a [[WM8753]] Wolfson Microelectronics ''codec'' (This is not a &amp;quot;smart&amp;quot; codec that can interpret MP3/... it is a simple dumb &amp;quot;sound card&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Stereo Amplifier ====&lt;br /&gt;
There's a National Semiconductor [[LM4857]] Stereo Amplifier at the analog audio output of the WM8753&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.national.com/pf/LM/LM4857.html LM4857.html]&lt;br /&gt;
* Data Sheet: [http://www.national.com/ds.cgi/LM/LM4857.pdf LM4857.pdf]&lt;br /&gt;
* Connects to: S3C2410 I2C (Control)&lt;br /&gt;
&lt;br /&gt;
==== Analog wired Headset ====&lt;br /&gt;
There's a four-ring 2.5mm stereo jack which provides connectivity to old-fashioned wired headsets.&lt;br /&gt;
&lt;br /&gt;
The headsets used by Motorola smartphones (A780,A1200, ...) and the V-360 have a compatible configuration.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth Headset ====&lt;br /&gt;
This one is wired via PCM bus from the CSR Bluetooth chip to the Wolfson codec.&lt;br /&gt;
&lt;br /&gt;
=== Power Management ===&lt;br /&gt;
A Philips PCF50606 is used for [[Neo1973_Power_Management|power management]].&lt;br /&gt;
&lt;br /&gt;
* Data Sheet: [http://www.nxp.com/acrobat/literature/9397/75009763.pdf PCF50606/605]&lt;br /&gt;
* User Manual: [http://www.rockbox.org/twiki/pub/Main/DataSheets/pcf50606.pdf pcf50606.pdf]&lt;br /&gt;
* Connected to: S3C2410 via I2C, client address is 0x08. &lt;br /&gt;
* Driver Source: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-pcf50606.patch&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
The [[Neo1973 Battery]] is compatible with a Nokia BL5C battery.&lt;br /&gt;
According to [http://lists.openmoko.org/pipermail/community/2007-February/003758.html this] post on the mailinglist.&lt;br /&gt;
[http://wiki.openmoko.org/index.php?title=Image:Neo1973-with-BL5C-battery.png Photo] of the battery inside the Neo1973.&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
The Neo1973 features two buttons:&lt;br /&gt;
# [[Neo1973 Power Button|The Power Button]]&lt;br /&gt;
# [[Neo1973 AUX Button|The &amp;quot;Aux&amp;quot; button]]&lt;br /&gt;
&lt;br /&gt;
=== Alternate cases ===&lt;br /&gt;
A number of alternate case designs have been suggested and requested.&lt;br /&gt;
&lt;br /&gt;
[[Neo1973 case schematics]]&lt;br /&gt;
&lt;br /&gt;
[[Alternate Neo1973 case designs]]&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
=== GTA01 ===&lt;br /&gt;
This is the most simple, non-bluetooth version of the prototype.&lt;br /&gt;
&lt;br /&gt;
==== GTA01v3 ====&lt;br /&gt;
First generation of prototypes that was given to internal OpenMoko software developers.&lt;br /&gt;
&lt;br /&gt;
Unfortunately not useful at all due to non-working touchscreen.&lt;br /&gt;
&lt;br /&gt;
* ATAG_REVISION: 0x0000130&lt;br /&gt;
&lt;br /&gt;
==== GTA01v4 ====&lt;br /&gt;
Second generation of prototypes that was given to [[User:HaraldWelte|Harald]] +[[User:Mickey|Mickey]].&lt;br /&gt;
&lt;br /&gt;
Unfortunately still not useful due to half-working touchscreen.&lt;br /&gt;
&lt;br /&gt;
* ATAG_REVISION: 0x00000140&lt;br /&gt;
&lt;br /&gt;
=== GTA01B ===&lt;br /&gt;
This is the bluetooth-enabled fork of GTA01&lt;br /&gt;
&lt;br /&gt;
==== GTA01Bv2 ====&lt;br /&gt;
This is the first produced version of the bluetooth-enabled version.&lt;br /&gt;
&lt;br /&gt;
* ATAG_REVISION: 0x00000220&lt;br /&gt;
&lt;br /&gt;
==== GTA01Bv3 ====&lt;br /&gt;
This is the second produced version of the bluetooth-enabled version. It contains mainly GPS-related fixes.&lt;br /&gt;
&lt;br /&gt;
* ATAG_REVISION: 0x00000230&lt;br /&gt;
&lt;br /&gt;
This is the version that is shipped in [[Neo1973#Phase_0_.28GTA01Bv3.29|Phase 0]].&lt;br /&gt;
&lt;br /&gt;
===== GTA01Bv3 Errata =====&lt;br /&gt;
====== PMU unable to resume from suspend ======&lt;br /&gt;
Due to use of wrong GPIO/EINT pin, the PMU cannot wake-up the phone after suspend.  This means, specifically, '''the following events can not bring the phone back from suspend-to-ram''':&lt;br /&gt;
* PMU RTC Alarm&lt;br /&gt;
* Power button press&lt;br /&gt;
* Charger events (charger insertion/removal/error)&lt;br /&gt;
* Low battery&lt;br /&gt;
&lt;br /&gt;
====== Stand-by time extremely low ======&lt;br /&gt;
This is due to a design bug resulting in at least 30mA additional standby current, since we cannot properly switch off the power supply to the S3C2410 PLL's.  There is nothing we can do to change this with post-production fixes.  GTA01Bv4 will address this issue.&lt;br /&gt;
&lt;br /&gt;
====== GSM doesn't resume phone from suspend ======&lt;br /&gt;
The GSM modem currently doesn't signalize a wakeup interrupt to the S3C2410 in case there's some noteworthy event, such as incoming call, loss of network, incoming SMS or the like.&lt;br /&gt;
&lt;br /&gt;
This is a serious issue, but can be fixed with a GSM Modem Firmware update.&lt;br /&gt;
&lt;br /&gt;
====== GSM Sidetone too loud ======&lt;br /&gt;
The local feedback sidetone (see [http://en.wikipedia.org/wiki/Sidetone]) is too loud.  This will be addressed in a GSM firmware update&lt;br /&gt;
&lt;br /&gt;
====== Bad block ======&lt;br /&gt;
Due to an error in the production process, the factory-programmed NAND bad block information has been lost.  This means that some blocks in the flash will wear out rapidly, which might become as bad as rendering the device unusable.&lt;br /&gt;
&lt;br /&gt;
==== GTA01Bv4 ====&lt;br /&gt;
This is the version that is being shipped in [[Neo1973#Phase_1_.28GTA01Bv4.29|Phase 1]]&lt;br /&gt;
&lt;br /&gt;
===== Looks =====&lt;br /&gt;
This is what the GTA01Bv4 PCB looks like without the shielding cans, which will be fitted later.&lt;br /&gt;
[[Image:Gta01b_v4_front.jpg|thumb|400px|Component side]]&lt;br /&gt;
[[Image:Gta01b_v4_back.jpg|thumb|400px|Display side]]&lt;br /&gt;
&lt;br /&gt;
===== Errata =====&lt;br /&gt;
&lt;br /&gt;
There were two versions of GTA01Bv4: some were given away (red mainboard), and some were sold (green mainboard). The given-away have [[one transistor too many]].&lt;br /&gt;
&lt;br /&gt;
===== Changes from GTA01Bv3 =====&lt;br /&gt;
# Fix all Errata items from GTA01Bv3&lt;br /&gt;
# Add I2C, SPI and one irq and wakeup capable GPIO pin to debug port plus have test pads for all these signals (for soldering wires directly on the pcb)&lt;br /&gt;
# Fix a number of production related details and minor hardware details that are not user-visible&lt;br /&gt;
&lt;br /&gt;
===GTA02===&lt;br /&gt;
The [[GTA02#.22Phase_2.22_.28GTA02.2C_.22Mass_Market.22.29|GTA02]] is now called the Neo FreeRunner and shipped within the &amp;quot;Mass Market launch&amp;quot; (see [http://wiki.openmoko.org/wiki/Neo1973#.22Phase_2.22_.28GTA02.2C_.22Mass_Market.22.29|timeline]).&lt;br /&gt;
It is a new main release with [[Neo1973:_GTA01Bv4_versus_GTA02_comparison|features added]]&lt;br /&gt;
&lt;br /&gt;
===Debug Connector===&lt;br /&gt;
This is the connector used to connect the [[Debug Board]] and possibly other hardware.&lt;br /&gt;
&lt;br /&gt;
Connections are:&lt;br /&gt;
* 39 - GND&lt;br /&gt;
* 38 - STDI&lt;br /&gt;
* 37 - _RESET&lt;br /&gt;
* 36 - STMS&lt;br /&gt;
* 35 - STCK&lt;br /&gt;
* 34 - STDO&lt;br /&gt;
* 33 - GSM_EN&lt;br /&gt;
* 29 - _STRST&lt;br /&gt;
* 19 - X_I2C_SCL (H-TP4703)&lt;br /&gt;
* 18 - X_I2C_SDA (H-TP4704)&lt;br /&gt;
* 17 - SPI_CLK0&lt;br /&gt;
* 16 - SPI_MOSI0&lt;br /&gt;
* 15 - SPI-MISO0 &lt;br /&gt;
* 14 - SS0&lt;br /&gt;
* 13 - EINT3 (H-TP4705)&lt;br /&gt;
* 3 - MODEM_TXD (H-TP4701)&lt;br /&gt;
* 2 - MODEM_RXD (H-TP4702)&lt;br /&gt;
&lt;br /&gt;
Information from [http://people.openmoko.org/roh/Debugport_GTA01bv4.png].&lt;br /&gt;
&lt;br /&gt;
== Distinguishing hardware revisions ==&lt;br /&gt;
=== Inside the [[Bootloader]] ===&lt;br /&gt;
Every hardware revision has its own u-boot image type.  Thus, the bootloader has the revision hard-coded.&lt;br /&gt;
The hardware revision is passed on to the kernel via the ATAG mechanism (ATAG_REVISION)&lt;br /&gt;
&lt;br /&gt;
=== Inside the [[Kernel]] ===&lt;br /&gt;
The kernel receives the ATAG_REVISION during bootup, and saves its contents in the &amp;quot;system_rev&amp;quot; global variable.&lt;br /&gt;
&lt;br /&gt;
=== From Userspace ===&lt;br /&gt;
The kernel exports the system_rev variable in /proc/cpuinfo as &amp;quot;Revision :&amp;quot; line.&lt;br /&gt;
&lt;br /&gt;
??? So does GTA01Bv4 equal the cat /proc/cpuinfo output of&lt;br /&gt;
 Hardware        : GTA01&lt;br /&gt;
 Revision        : 0240&lt;br /&gt;
&lt;br /&gt;
== Approval ==&lt;br /&gt;
*CE compliance is needed before a product can be sold in the EU. The CE mark indicates that a product complies to the relevant legislation, defined in the  [http://ec.europa.eu/enterprise/newapproach/standardization/harmstds/reflist.html harmonised standards]. This refers also to the most relevant, for the Neo1973,  [http://ec.europa.eu/enterprise/newapproach/standardization/harmstds/reflist/emc.html Directive 89/336/EEC on electromagnetic compatibility] (EMC is the art of assuring [http://en.wikipedia.org/wiki/Electromagnetic_compatibility electromagnetic compatibility] between products). The standards are defined by [http://www.cenelec.org CENELEC] (European Committee for Electrotechnical Standardization), but not verified by any authority. It is the responsibilty of the manufacturer to convince himself that a product is in compliance, and is obligated to be able to prove this (with relevant technical documentation) for a specific product to the authorities on request. Whether the current Phase 1 devices are actually tested against the directives are unknown, no documentation has been disclosed, other than the fact that the devices bear the CE mark.&lt;br /&gt;
&lt;br /&gt;
*[http://www.fcc.gov/ FCC]&lt;br /&gt;
&lt;br /&gt;
{{Languages|Neo1973 Hardware}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Neo1973 Hardware| ]]&lt;br /&gt;
[[Category:Hardware ]]&lt;br /&gt;
[[Category:Supported Phone| ]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Neo_FreeRunner_Hardware</id>
		<title>Neo FreeRunner Hardware</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Neo_FreeRunner_Hardware"/>
				<updated>2008-02-28T21:08:52Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: added core &amp;amp; instruction set&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OpenMoko]] is a software distribution stack that sits on top of a [[hardware]] platform.  The [[Neo FreeRunner]] phone is the second hardware platform to take advantage of OpenMoko.  You can find specifics of the hardware by reviewing this introduction page and the pages in the category as shown at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
You could find more high level definition in [[Neo_FreeRunner_GTA02_Hardware_Specification]]&lt;br /&gt;
&lt;br /&gt;
{{note|This page is about hardware that is currently in '''design/prototype''' phase, changes are frequent}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Gta02a5 pcba cs.JPG|thumb|400px|display (top) side NOTE: GTA02 A5 Component Side photo]]&lt;br /&gt;
[[Image:Gta02a5 pcba ps.JPG|thumb|400px|component (back) side NOTE: GTA02 A5 Print Side photo]]&lt;br /&gt;
&lt;br /&gt;
== Physical Dimensions ==&lt;br /&gt;
* 120.7 x 62 x 18.5 mm (4.75 x 2.44 x 0.728 inch)&lt;br /&gt;
* 110 +/- 5 g (4 ounces) without battery &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main components ==&lt;br /&gt;
=== Processor ===&lt;br /&gt;
The main Processor (CPU) of the Neo1973 GTA02 is a [[Samsung S3C2442B B54]] (running at 400 MHz)&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=SC32442 Samsung SC32442B]&lt;br /&gt;
* User Manual: FIXME&lt;br /&gt;
* Core: ARM920T&lt;br /&gt;
* Instruction Set: ARMv4 (Android ''currently'' requires ARMv5)&lt;br /&gt;
* Built-in 64MB SDRAM&lt;br /&gt;
* Built-in 256 MB NAND&lt;br /&gt;
* Could run at 500Mhz&lt;br /&gt;
* GPIO Assignments: https://svn.openmoko.org/trunk/doc/hardware/GTA02v4/gpio.txt&amp;lt;br&amp;gt;&lt;br /&gt;
* Evaluation board: [http://www.meritech.co.kr/products/product_view.php?num=52 S3C2442 EVB]&lt;br /&gt;
&lt;br /&gt;
=== Power Management ===&lt;br /&gt;
A NXP PCF50633 04 N3 is used for [[Neo1973_Power_Management|power management]].&lt;br /&gt;
&lt;br /&gt;
* Data Sheet: FIXME&lt;br /&gt;
* User Manual: [http://www.nxp.com/products/power_management/pmu/index.html NXP PMU index page]&lt;br /&gt;
* Connected to: S3C2442 via I2C, client address is 0x08. &lt;br /&gt;
* Driver Source: https://svn.openmoko.org/trunk/src/target/kernel/patches/pcf50633.patch&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Flash ===&lt;br /&gt;
==== NAND Flash ====&lt;br /&gt;
256MB integrated Samsung NAND flash inside the 2442 multi-chip package, attached to the S3C2442 NAND controller&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=SC32442 S3C2442]&lt;br /&gt;
* Data Sheet: S3C2442 B54 comes with 256 MB NAND MCP package&lt;br /&gt;
* Connected to: S3C2442 NAND controller&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== NOR Flash ====&lt;br /&gt;
&lt;br /&gt;
16MBit ST M58WR016KB706E NOR flash for 'unbrickable emergency boot' feature.&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.st.com/stonline/products/families/memories/fl_nor_mob/index.htm ST Mobile Flash NOR/Mobile Terminal]&lt;br /&gt;
* Data Sheet: FIXME&lt;br /&gt;
* Connected to: S3C2442 NAND controller&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SDRAM ===&lt;br /&gt;
128MB SDRAM (64MB inside 2442 MCP, 1x Samsung K4M51323PC) attached to S3C2442 SDRAM controller&lt;br /&gt;
* Product Homepage: [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=136&amp;amp;partnum=K4M51323PC Samsung K4M51323PC]&lt;br /&gt;
* Data Sheet: [http://www.samsung.com/global/system/business/semiconductor/product/2007/6/11/MobileSDRAM/MobileSDRSDRAM/512Mbit/K4M51323PC/ds_k4m51323pc.pdf Samsung K4M51323PC]&lt;br /&gt;
* Connected to: S3C2442 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== GSM/GPRS ===&lt;br /&gt;
The [[GSM]] (including GPRS) modem is Texas Instruments Calypso based.&lt;br /&gt;
&lt;br /&gt;
* Connected to: S3C2442 UART1 (full-uart, RxD, TxD, CTS, RTS), /dev/ttySAC0 in userspace&lt;br /&gt;
* PM Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-power_control.patch&lt;br /&gt;
* Accessible GSM/GPRS antenna jack (if battery cover is removed)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== CALYPSO ASIC digital baseband ====&lt;br /&gt;
Unfortunately we cannot provide many details on the GSM chipset due to very tight [http://en.wikipedia.org/wiki/Non-disclosure_agreement NDA]s.  However, this is not neccessarily required, since it interfaces using a standard UART serial line with the S3C2442.  On that interface, [http://www.3gpp.org/ftp/Specs/archive/07_series/07.05/ GSM 07.05], [http://www.3gpp.org/ftp/Specs/archive/07_series/07.10/ GSM 07.10] and other standardized protocols are used.&lt;br /&gt;
&lt;br /&gt;
*Calypso D751992AZHH&amp;lt;br&amp;gt;&lt;br /&gt;
*The firmware within GTA02 should be moko6 or later (internal code name)&lt;br /&gt;
&lt;br /&gt;
==== TI TWL3025BZGMR analog baseband ====&lt;br /&gt;
*Product Homepage: [http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&amp;amp;navigationId=12295&amp;amp;contentId=4703 TWL3014]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== TI TRF6151 (GSM/PCS) RF Transceiver ====&lt;br /&gt;
*Product Homepage: [http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&amp;amp;navigationId=12296&amp;amp;contentId=4701 TRF6151] &amp;lt;br&amp;gt;&lt;br /&gt;
GPRS Class12/CS4 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== AGPS ===&lt;br /&gt;
u-blox ANTARIS 4 chip&lt;br /&gt;
* Connected to: S3C2442 UART2, /dev/ttySAC1 in userspace&lt;br /&gt;
* Driver: none needed, talks standard NMEA&lt;br /&gt;
* u-blox Antaris 4 Protocol [http://www.u-blox.com/customersupport/antaris_doc.html Protocol download page]&lt;br /&gt;
* ATR0635 Datasheet: [http://www.u-blox.com/products/Data_Sheets/ATR0630_35_SglChip_Data_Sheet(GPS.G4-X-06009).pdf u-blox ATR0635]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Accelerometers ===&lt;br /&gt;
Two ST LIS302DL&lt;br /&gt;
* Homepage: http://www.st.com/stonline/products/literature/ds/12726/lis302dl.htm&lt;br /&gt;
* Datasheet: http://www.st.com/stonline/products/literature/ds/12726.pdf&lt;br /&gt;
* Connected to: S3C2442 via SPI interface&lt;br /&gt;
* S3C2442 SPI EINT interrupt inputs&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphics/3D Acceleration ===&lt;br /&gt;
&lt;br /&gt;
Smedia Glamo 3362.&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/smedia-glamo.patch&lt;br /&gt;
* Data sheet: TBD&lt;br /&gt;
* Connected to: S3C2442 Address/Data bus &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== microSD ===&lt;br /&gt;
The GTA02 has one microSD aka Transflash slot. Using the Glamo 3362 MMC/SD controller&lt;br /&gt;
&lt;br /&gt;
*It should support SDHC, and 4GB card has been tested. Anyone with 8GB card? MicroSD slot is [[Disassembling_Neo1973#Opening_back_cover|under battery]].&lt;br /&gt;
* Connected to: Glamo 3362 MMC/SD controller&lt;br /&gt;
* Driver: Check svn for the SMedia driver with SD implementation&lt;br /&gt;
* [[Supported microSD cards]]&lt;br /&gt;
* Specifications: [http://www.sdcard.org/about/memory_card/pls/ SD Simplified Specification], [http://www.mmca.org/compliance/buy_spec/AN_MMCA050419.pdf MMC (partial)], [http://www.sandisk.com/Assets/File/OEM/Manuals/manual-rs-mmcv1.0.pdf MMC (product manual)]&lt;br /&gt;
* SANDISK 128 MB/512 MB and some 4G SDHC card been verified could work on GTA02&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LCD Module (LCM) ===&lt;br /&gt;
Toppoly (tpo) 2.8&amp;quot; diagonal (1.7&amp;quot; x 2.27&amp;quot; - 43mm x 58mm) 480x640 TD028TTEC1 module, using a Toshiba JBT6K74 TFT &lt;br /&gt;
LCD Driver Chipset.&amp;lt;br&amp;gt;&lt;br /&gt;
* Homepage: [http://www.tpo.biz/ENG/business-eng/Activer-Matrix-VGA.htm Activer-Matrix-VGA.htm]&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-jbt6k74.patch&lt;br /&gt;
* Backlight Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-backlight.patch&lt;br /&gt;
* Connected to: Glamo3362 LCM interface and Glamo3362 SPI Interface&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Touch Screen ====&lt;br /&gt;
* Connected to: S3C2442 TS controller&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/s3c2410_touchscreen.patch&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth Module===&lt;br /&gt;
Delta DFBM-CS320 Class2 Module, using CSR BlueCore4&lt;br /&gt;
&lt;br /&gt;
* Data Sheet: [http://www.delta.com.tw/product/cp/vco/BT/download/pdf/CS/2.DFBM-CS320.pdf 2.DFBM-CS320.pdf]&lt;br /&gt;
* CSR Data Sheet: [http://www.csrsupport.com/download/2302/CS-101564-DSP10%20BlueCore4-ROM%20Product%20Data%20Sheet.pdf CS-101564-DSP10 BlueCore4-ROM Product Data Sheet.pdf]&lt;br /&gt;
* Driver: Stock Linux Kernel BlueZ&lt;br /&gt;
* Connected to: S3C2442 USB Host controller (OHCI)&lt;br /&gt;
* PM Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-power_control.patch&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== WiFi Module===&lt;br /&gt;
&lt;br /&gt;
Accton (WLAN 802.11b/g SiP-M WM3236AQ(Flash Ver:2.0 Atheros AR6001GZ)&lt;br /&gt;
* Connected to: S3C2442 SDIO Host controller&amp;lt;br&amp;gt;&lt;br /&gt;
* Datasheet: [http://www.accton.com/products/Datasheet/WM3236A.AQ.pdf Accton 3236AQ datasheet]&amp;lt;br&amp;gt;&lt;br /&gt;
* Driver: http://svn.openmoko.org/developers/sameo/patches/&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vibrator ===&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-vibrator.patch&lt;br /&gt;
* Connected to: S3C2442 GPIO&lt;br /&gt;
&lt;br /&gt;
=== USB Host ===&lt;br /&gt;
The USB Host controller is inside the S3C2442&lt;br /&gt;
* Driver: Stock Linux kernel ohci_hcd&lt;br /&gt;
* USB version 1.1&lt;br /&gt;
* Supply USB 5v in Host mode using usb power switch AAT1275IRN-5.0-T1&lt;br /&gt;
* http://www.analogictech.com/products/digitalfiles/AAT1275.pdf&lt;br /&gt;
&lt;br /&gt;
=== USB Device ===&lt;br /&gt;
The USB Device controller is inside the S3C2442 &lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/s3c2410_udc.patch&lt;br /&gt;
* Please see [[USB Product IDs]] on information about which Vendor/Product IDs we use&lt;br /&gt;
* 1200mAh lithium battery charges when connected to powered host.&lt;br /&gt;
* Mini-AB connector similar to [http://www.cypressindustries.com/shoponline/proddetail.asp?prod=CCMUSBAB-32005-700&amp;amp;cat=34 this one].&lt;br /&gt;
&lt;br /&gt;
=== I2C Devices ===&lt;br /&gt;
The I2C is a simple communication standard intended to move small amounts of data a few inches between chips.&lt;br /&gt;
Please see [[I2C | Neo I2C Devices]] for more information &amp;amp; a list of devices &amp;amp; the addresses currently in use &amp;amp; documented for the Neo1973.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
See also: [[Neo1973 Audio Subsystem]]&lt;br /&gt;
&lt;br /&gt;
==== Wolfson Codec ====&lt;br /&gt;
There's a [[WM8753]] Wolfson Microelectronics CODEC (This is not a 'smart' codec that can interpret MP3/... it is a simple dumb 'sound card'.&lt;br /&gt;
* Product Homepage: http://www.wolfsonmicro.com/products/WM8753/&lt;br /&gt;
* Data Sheet: [http://www.wolfsonmicro.com/uploads/documents/en/WM8753.pdf WM8753.pdf]&lt;br /&gt;
* Connected to: S3C2442 IIS interface (PCM data), S3C2442 I2C (Control)&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/asoc.patch&lt;br /&gt;
&lt;br /&gt;
==== Mono Amplifier ====&lt;br /&gt;
There's a National Semiconductor [[LM4853]] Mono Amplifier at the analog audio output of the WM8753&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.national.com/pf/LM/LM4853.html LM4853.html]&lt;br /&gt;
* Data Sheet: [http://www.national.com/ds.cgi/LM/LM4853.pdf LM4853.pdf]&lt;br /&gt;
* Connects to: S3C2442 I2C (Control)&lt;br /&gt;
&lt;br /&gt;
==== Analog wired Headset ====&lt;br /&gt;
There's a four-ring 2.5mm stereo jack which provides connectivity to old-fashioned wired headsets.&lt;br /&gt;
&lt;br /&gt;
The headsets used by Motorola smartphones (A780,A1200, ...) and the V-360 have a compatible configuration.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth Headset ====&lt;br /&gt;
This one is wired via PCM bus from the CSR Bluetooth chip to the Wolfson codec.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
The Neo1973 GTA02 features two buttons:&lt;br /&gt;
* [[Neo1973 Power Button|The Power Button]]&lt;br /&gt;
* [[Neo1973 AUX Button|The &amp;quot;Aux&amp;quot; button]]&lt;br /&gt;
&lt;br /&gt;
===Accessory===&lt;br /&gt;
&lt;br /&gt;
==== Stylus ====&lt;br /&gt;
&lt;br /&gt;
Using 4 in 1 laser pen&lt;br /&gt;
*Vendor: [http://www.quarton.com/laser_pen.html Quarton XPII]&lt;br /&gt;
*GTA02 standard setup comes with QUARTON XPII 4 in 1 laser pen&lt;br /&gt;
&lt;br /&gt;
==== Battery ====&lt;br /&gt;
The [[Neo FreeRunner (GTA02) Battery]] is mechanically and electrically compatible with the [[Neo1973 GTA01 Battery]], as well as limited compatibility with a Nokia BL6C battery.&lt;br /&gt;
According to [http://lists.openmoko.org/pipermail/community/2007-February/003758.html this] post on the mailinglist.&lt;br /&gt;
[http://wiki.openmoko.org/index.php?title=Image:Neo1973-with-BL5C-battery.png Photo] of the battery inside the Neo1973.&lt;br /&gt;
&lt;br /&gt;
* GTA02 using the smart battery based on TI bq27000 chipset&lt;br /&gt;
* Default using SANYO 1200mAh cell.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== microSD Card ====&lt;br /&gt;
&lt;br /&gt;
GTA02 should comes with one of following microSD card&lt;br /&gt;
&lt;br /&gt;
* Trendsend 512MB microSD card&lt;br /&gt;
* SanDisk 512MB microSD card&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Charger ====&lt;br /&gt;
&lt;br /&gt;
AKII Technology Charger&lt;br /&gt;
&lt;br /&gt;
*Model: A10P1-05MP&lt;br /&gt;
*Input: 100-240v~ /0.3A&lt;br /&gt;
*Output: +5v up to 2.0A&lt;br /&gt;
*Add 47.5k 1% resistor between ID pin and ground for openmoko charger identification&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
=== GTA02v1 ===&lt;br /&gt;
First generation of prototypes that was given to internal OpenMoko software developers. Total 30 pcs fabricated.&lt;br /&gt;
&lt;br /&gt;
*It is working just fine, but still based on 2440, with external NAND/SDRAM and no NOR flash&lt;br /&gt;
*Using the PCF50633 05 N3 due to 04 N3 not available, re-work power for basic schematics verification&lt;br /&gt;
*Using GTA01 SIM socket&lt;br /&gt;
*Add external debug port&lt;br /&gt;
*Still using Global locate A-GPS&lt;br /&gt;
&lt;br /&gt;
* ATAG_REVISION: FIXME&lt;br /&gt;
&lt;br /&gt;
=== GTA02v2 ===&lt;br /&gt;
Second generation of prototypes, Total 50 pcs run at Taipei SMT factory MOUNT&lt;br /&gt;
&lt;br /&gt;
*Ideal is have 256 MB NAND on Samsung package, Due to chip availability Start using S3C2442 B43&lt;br /&gt;
*Using correct PMU PCF50633 04 N3&lt;br /&gt;
*Change new SIM socket&lt;br /&gt;
*Change to u-blox A-GPS&lt;br /&gt;
*Change LCM power from 3.3v to 1.8v&lt;br /&gt;
*USB power switch layout/pin assignment mistake, could not verify USB host supply 5v function&lt;br /&gt;
*GPS function verified ok with good senstivity&lt;br /&gt;
&lt;br /&gt;
=== GTA02v3 ===&lt;br /&gt;
Production verification version, 2007/10/11 28 pcs fabricate at FIC SuZhou&lt;br /&gt;
&lt;br /&gt;
*Still using S3C2442 B43 for hardware verification&lt;br /&gt;
*Using control pilot run to verify S3C2442 B54 chips&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== GTA02v4 ===&lt;br /&gt;
Mass production release candicate version 1&lt;br /&gt;
&lt;br /&gt;
2 weeks after v3 gerber out, release the v4 gerber, and 2007/10/20 20 pcs fabricate at FIC SuZhou &lt;br /&gt;
&lt;br /&gt;
*Change LCM power from 1.8v to 3.3v for display stability issue&lt;br /&gt;
*fabricate another 200 pcs for yield rate/production verification&lt;br /&gt;
*fabricate 50 pcs with S3C2442 B43 (128 MB NAND) for quality comparsion&lt;br /&gt;
*USB host power chip have some output voltage stability issues with Vb/Vcc comes from different power source, need layout change to fix the issue&lt;br /&gt;
*Battery Coulomb design not working on A4&lt;br /&gt;
&lt;br /&gt;
=== GTA02v5 ===&lt;br /&gt;
Mass production candicate version 2/Mass production version&lt;br /&gt;
&lt;br /&gt;
*First batch fabricate 2008/1/14 at FIC SuZhou&lt;br /&gt;
*Coulomb counter issue fixed&lt;br /&gt;
*USB host power switch fixed&lt;br /&gt;
*Need add capacitor for PMU Vbat input for stability issue, this could be done by direct SMT or hand rework&lt;br /&gt;
* First batch of prototypes for GTA02 developers was tracked in the [[Prototypes| Prototypes Page]]&lt;br /&gt;
&lt;br /&gt;
=== Debug Connector ===&lt;br /&gt;
&lt;br /&gt;
This is the connector used to connect the [[Debug Board]] and possibly other hardware.&lt;br /&gt;
&lt;br /&gt;
Connections are:&lt;br /&gt;
* 39 - GND&lt;br /&gt;
* 38 - STDI&lt;br /&gt;
* 37 - _RESET&lt;br /&gt;
* 36 - STMS&lt;br /&gt;
* 35 - STCK&lt;br /&gt;
* 34 - STDO&lt;br /&gt;
* 33 - GSM_EN&lt;br /&gt;
* 29 - _STRST&lt;br /&gt;
* 19 - X_I2C_SCL (H-TP4703)&lt;br /&gt;
* 18 - X_I2C_SDA (H-TP4704)&lt;br /&gt;
* 17 - SPI_CLK0&lt;br /&gt;
* 16 - SPI_MOSI0&lt;br /&gt;
* 15 - SPI-MISO0 &lt;br /&gt;
* 14 - SS0&lt;br /&gt;
* 13 - EINT3 (H-TP4705)&lt;br /&gt;
* 3 - CONSOLE_TXD (H-TP4701)&lt;br /&gt;
* 2 - CONSOLE_RXD (H-TP4702)&lt;br /&gt;
&lt;br /&gt;
Information from [http://people.openmoko.org/roh/Debugport_GTA01bv4.png].&lt;br /&gt;
&lt;br /&gt;
== Distinguishing hardware revisions ==&lt;br /&gt;
=== Inside the [[Bootloader]] ===&lt;br /&gt;
Every hardware revision has its own u-boot image type.  Thus, the bootloader has the revision hard-coded.&lt;br /&gt;
The hardware revision is passed on to the kernel via the ATAG mechanism (ATAG_REVISION)&lt;br /&gt;
&lt;br /&gt;
=== Inside the [[Kernel]] ===&lt;br /&gt;
The kernel receives the ATAG_REVISION during bootup, and saves its contents in the &amp;quot;system_rev&amp;quot; global variable.&lt;br /&gt;
&lt;br /&gt;
=== From Userspace ===&lt;br /&gt;
The kernel exports the system_rev variable in /proc/cpuinfo as &amp;quot;Revision :&amp;quot; line.&lt;br /&gt;
&lt;br /&gt;
=== Certification ===&lt;br /&gt;
&lt;br /&gt;
*FCC&lt;br /&gt;
** 850/1800/1900 Band, FCC ID: EUNGTA02&lt;br /&gt;
** 900/1800/1900 Band, FCC ID: EUNGTA02E&lt;br /&gt;
&lt;br /&gt;
*NCC (for Taiwan Import)&lt;br /&gt;
&lt;br /&gt;
{{Languages|Neo1973 GTA02 Hardware}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Neo1973 Phase 2 related| ]]&lt;br /&gt;
[[Category:Neo1973 Hardware| ]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Neo_FreeRunner_Hardware</id>
		<title>Neo FreeRunner Hardware</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Neo_FreeRunner_Hardware"/>
				<updated>2008-02-28T03:29:52Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: reorg to better mirror layout in gta01&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OpenMoko]] is a software distribution stack that sits on top of a [[hardware]] platform.  The [[Neo FreeRunner]] phone is the second hardware platform to take advantage of OpenMoko.  You can find specifics of the hardware by reviewing this introduction page and the pages in the category as shown at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
You could find more high level definition in [[Neo_FreeRunner_GTA02_Hardware_Specification]]&lt;br /&gt;
&lt;br /&gt;
{{note|This page is about hardware that is currently in '''design/prototype''' phase, changes are frequent}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Gta02a5 pcba cs.JPG|thumb|400px|display (top) side NOTE: GTA02 A5 Component Side photo]]&lt;br /&gt;
[[Image:Gta02a5 pcba ps.JPG|thumb|400px|component (back) side NOTE: GTA02 A5 Print Side photo]]&lt;br /&gt;
&lt;br /&gt;
== Physical Dimensions ==&lt;br /&gt;
* 120.7 x 62 x 18.5 mm (4.75 x 2.44 x 0.728 inch)&lt;br /&gt;
* 110 +/- 5 g (4 ounces) without battery &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main components ==&lt;br /&gt;
=== Processor ===&lt;br /&gt;
The main Processor (CPU) of the Neo1973 GTA02 is a [[Samsung S3C2442B B54]] (running at 400 MHz)&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=SC32442 Samsung SC32442B]&lt;br /&gt;
* User Manual: FIXME&lt;br /&gt;
* Built-in 64MB SDRAM&lt;br /&gt;
* Built-in 256 MB NAND&lt;br /&gt;
* Could run at 500Mhz&lt;br /&gt;
* GPIO Assignments: https://svn.openmoko.org/trunk/doc/hardware/GTA02v4/gpio.txt&amp;lt;br&amp;gt;&lt;br /&gt;
* Evaluation board: [http://www.meritech.co.kr/products/product_view.php?num=52 S3C2442 EVB]&lt;br /&gt;
&lt;br /&gt;
=== Power Management ===&lt;br /&gt;
A NXP PCF50633 04 N3 is used for [[Neo1973_Power_Management|power management]].&lt;br /&gt;
&lt;br /&gt;
* Data Sheet: FIXME&lt;br /&gt;
* User Manual: [http://www.nxp.com/products/power_management/pmu/index.html NXP PMU index page]&lt;br /&gt;
* Connected to: S3C2442 via I2C, client address is 0x08. &lt;br /&gt;
* Driver Source: https://svn.openmoko.org/trunk/src/target/kernel/patches/pcf50633.patch&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Flash ===&lt;br /&gt;
==== NAND Flash ====&lt;br /&gt;
256MB integrated Samsung NAND flash inside the 2442 multi-chip package, attached to the S3C2442 NAND controller&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=SC32442 S3C2442]&lt;br /&gt;
* Data Sheet: S3C2442 B54 comes with 256 MB NAND MCP package&lt;br /&gt;
* Connected to: S3C2442 NAND controller&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== NOR Flash ====&lt;br /&gt;
&lt;br /&gt;
16MBit ST M58WR016KB706E NOR flash for 'unbrickable emergency boot' feature.&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.st.com/stonline/products/families/memories/fl_nor_mob/index.htm ST Mobile Flash NOR/Mobile Terminal]&lt;br /&gt;
* Data Sheet: FIXME&lt;br /&gt;
* Connected to: S3C2442 NAND controller&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SDRAM ===&lt;br /&gt;
128MB SDRAM (64MB inside 2442 MCP, 1x Samsung K4M51323PC) attached to S3C2442 SDRAM controller&lt;br /&gt;
* Product Homepage: [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=136&amp;amp;partnum=K4M51323PC Samsung K4M51323PC]&lt;br /&gt;
* Data Sheet: [http://www.samsung.com/global/system/business/semiconductor/product/2007/6/11/MobileSDRAM/MobileSDRSDRAM/512Mbit/K4M51323PC/ds_k4m51323pc.pdf Samsung K4M51323PC]&lt;br /&gt;
* Connected to: S3C2442 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== GSM/GPRS ===&lt;br /&gt;
The [[GSM]] (including GPRS) modem is Texas Instruments Calypso based.&lt;br /&gt;
&lt;br /&gt;
* Connected to: S3C2442 UART1 (full-uart, RxD, TxD, CTS, RTS), /dev/ttySAC0 in userspace&lt;br /&gt;
* PM Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-power_control.patch&lt;br /&gt;
* Accessible GSM/GPRS antenna jack (if battery cover is removed)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== CALYPSO ASIC digital baseband ====&lt;br /&gt;
Unfortunately we cannot provide many details on the GSM chipset due to very tight [http://en.wikipedia.org/wiki/Non-disclosure_agreement NDA]s.  However, this is not neccessarily required, since it interfaces using a standard UART serial line with the S3C2442.  On that interface, [http://www.3gpp.org/ftp/Specs/archive/07_series/07.05/ GSM 07.05], [http://www.3gpp.org/ftp/Specs/archive/07_series/07.10/ GSM 07.10] and other standardized protocols are used.&lt;br /&gt;
&lt;br /&gt;
*Calypso D751992AZHH&amp;lt;br&amp;gt;&lt;br /&gt;
*The firmware within GTA02 should be moko6 or later (internal code name)&lt;br /&gt;
&lt;br /&gt;
==== TI TWL3025BZGMR analog baseband ====&lt;br /&gt;
*Product Homepage: [http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&amp;amp;navigationId=12295&amp;amp;contentId=4703 TWL3014]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== TI TRF6151 (GSM/PCS) RF Transceiver ====&lt;br /&gt;
*Product Homepage: [http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&amp;amp;navigationId=12296&amp;amp;contentId=4701 TRF6151] &amp;lt;br&amp;gt;&lt;br /&gt;
GPRS Class12/CS4 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== AGPS ===&lt;br /&gt;
u-blox ANTARIS 4 chip&lt;br /&gt;
* Connected to: S3C2442 UART2, /dev/ttySAC1 in userspace&lt;br /&gt;
* Driver: none needed, talks standard NMEA&lt;br /&gt;
* u-blox Antaris 4 Protocol [http://www.u-blox.com/customersupport/antaris_doc.html Protocol download page]&lt;br /&gt;
* ATR0635 Datasheet: [http://www.u-blox.com/products/Data_Sheets/ATR0630_35_SglChip_Data_Sheet(GPS.G4-X-06009).pdf u-blox ATR0635]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Accelerometers ===&lt;br /&gt;
Two ST LIS302DL&lt;br /&gt;
* Homepage: http://www.st.com/stonline/products/literature/ds/12726/lis302dl.htm&lt;br /&gt;
* Datasheet: http://www.st.com/stonline/products/literature/ds/12726.pdf&lt;br /&gt;
* Connected to: S3C2442 via SPI interface&lt;br /&gt;
* S3C2442 SPI EINT interrupt inputs&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Graphics/3D Acceleration ===&lt;br /&gt;
&lt;br /&gt;
Smedia Glamo 3362.&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/smedia-glamo.patch&lt;br /&gt;
* Data sheet: TBD&lt;br /&gt;
* Connected to: S3C2442 Address/Data bus &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== microSD ===&lt;br /&gt;
The GTA02 has one microSD aka Transflash slot. Using the Glamo 3362 MMC/SD controller&lt;br /&gt;
&lt;br /&gt;
*It should support SDHC, and 4GB card has been tested. Anyone with 8GB card? MicroSD slot is [[Disassembling_Neo1973#Opening_back_cover|under battery]].&lt;br /&gt;
* Connected to: Glamo 3362 MMC/SD controller&lt;br /&gt;
* Driver: Check svn for the SMedia driver with SD implementation&lt;br /&gt;
* [[Supported microSD cards]]&lt;br /&gt;
* Specifications: [http://www.sdcard.org/about/memory_card/pls/ SD Simplified Specification], [http://www.mmca.org/compliance/buy_spec/AN_MMCA050419.pdf MMC (partial)], [http://www.sandisk.com/Assets/File/OEM/Manuals/manual-rs-mmcv1.0.pdf MMC (product manual)]&lt;br /&gt;
* SANDISK 128 MB/512 MB and some 4G SDHC card been verified could work on GTA02&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LCD Module (LCM) ===&lt;br /&gt;
Toppoly (tpo) 2.8&amp;quot; diagonal (1.7&amp;quot; x 2.27&amp;quot; - 43mm x 58mm) 480x640 TD028TTEC1 module, using a Toshiba JBT6K74 TFT &lt;br /&gt;
LCD Driver Chipset.&amp;lt;br&amp;gt;&lt;br /&gt;
* Homepage: [http://www.tpo.biz/ENG/business-eng/Activer-Matrix-VGA.htm Activer-Matrix-VGA.htm]&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-jbt6k74.patch&lt;br /&gt;
* Backlight Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-backlight.patch&lt;br /&gt;
* Connected to: Glamo3362 LCM interface and Glamo3362 SPI Interface&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Touch Screen ====&lt;br /&gt;
* Connected to: S3C2442 TS controller&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/s3c2410_touchscreen.patch&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth Module===&lt;br /&gt;
Delta DFBM-CS320 Class2 Module, using CSR BlueCore4&lt;br /&gt;
&lt;br /&gt;
* Data Sheet: [http://www.delta.com.tw/product/cp/vco/BT/download/pdf/CS/2.DFBM-CS320.pdf 2.DFBM-CS320.pdf]&lt;br /&gt;
* CSR Data Sheet: [http://www.csrsupport.com/download/2302/CS-101564-DSP10%20BlueCore4-ROM%20Product%20Data%20Sheet.pdf CS-101564-DSP10 BlueCore4-ROM Product Data Sheet.pdf]&lt;br /&gt;
* Driver: Stock Linux Kernel BlueZ&lt;br /&gt;
* Connected to: S3C2442 USB Host controller (OHCI)&lt;br /&gt;
* PM Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-power_control.patch&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== WiFi Module===&lt;br /&gt;
&lt;br /&gt;
Accton (WLAN 802.11b/g SiP-M WM3236AQ(Flash Ver:2.0 Atheros AR6001GZ)&lt;br /&gt;
* Connected to: S3C2442 SDIO Host controller&amp;lt;br&amp;gt;&lt;br /&gt;
* Datasheet: [http://www.accton.com/products/Datasheet/WM3236A.AQ.pdf Accton 3236AQ datasheet]&amp;lt;br&amp;gt;&lt;br /&gt;
* Driver: http://svn.openmoko.org/developers/sameo/patches/&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vibrator ===&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-vibrator.patch&lt;br /&gt;
* Connected to: S3C2442 GPIO&lt;br /&gt;
&lt;br /&gt;
=== USB Host ===&lt;br /&gt;
The USB Host controller is inside the S3C2442&lt;br /&gt;
* Driver: Stock Linux kernel ohci_hcd&lt;br /&gt;
* USB version 1.1&lt;br /&gt;
* Supply USB 5v in Host mode using usb power switch AAT1275IRN-5.0-T1&lt;br /&gt;
* http://www.analogictech.com/products/digitalfiles/AAT1275.pdf&lt;br /&gt;
&lt;br /&gt;
=== USB Device ===&lt;br /&gt;
The USB Device controller is inside the S3C2442 &lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/s3c2410_udc.patch&lt;br /&gt;
* Please see [[USB Product IDs]] on information about which Vendor/Product IDs we use&lt;br /&gt;
* 1200mAh lithium battery charges when connected to powered host.&lt;br /&gt;
* Mini-AB connector similar to [http://www.cypressindustries.com/shoponline/proddetail.asp?prod=CCMUSBAB-32005-700&amp;amp;cat=34 this one].&lt;br /&gt;
&lt;br /&gt;
=== I2C Devices ===&lt;br /&gt;
The I2C is a simple communication standard intended to move small amounts of data a few inches between chips.&lt;br /&gt;
Please see [[I2C | Neo I2C Devices]] for more information &amp;amp; a list of devices &amp;amp; the addresses currently in use &amp;amp; documented for the Neo1973.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
See also: [[Neo1973 Audio Subsystem]]&lt;br /&gt;
&lt;br /&gt;
==== Wolfson Codec ====&lt;br /&gt;
There's a [[WM8753]] Wolfson Microelectronics CODEC (This is not a 'smart' codec that can interpret MP3/... it is a simple dumb 'sound card'.&lt;br /&gt;
* Product Homepage: http://www.wolfsonmicro.com/products/WM8753/&lt;br /&gt;
* Data Sheet: [http://www.wolfsonmicro.com/uploads/documents/en/WM8753.pdf WM8753.pdf]&lt;br /&gt;
* Connected to: S3C2442 IIS interface (PCM data), S3C2442 I2C (Control)&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/asoc.patch&lt;br /&gt;
&lt;br /&gt;
==== Mono Amplifier ====&lt;br /&gt;
There's a National Semiconductor [[LM4853]] Mono Amplifier at the analog audio output of the WM8753&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.national.com/pf/LM/LM4853.html LM4853.html]&lt;br /&gt;
* Data Sheet: [http://www.national.com/ds.cgi/LM/LM4853.pdf LM4853.pdf]&lt;br /&gt;
* Connects to: S3C2442 I2C (Control)&lt;br /&gt;
&lt;br /&gt;
==== Analog wired Headset ====&lt;br /&gt;
There's a four-ring 2.5mm stereo jack which provides connectivity to old-fashioned wired headsets.&lt;br /&gt;
&lt;br /&gt;
The headsets used by Motorola smartphones (A780,A1200, ...) and the V-360 have a compatible configuration.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth Headset ====&lt;br /&gt;
This one is wired via PCM bus from the CSR Bluetooth chip to the Wolfson codec.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
The Neo1973 GTA02 features two buttons:&lt;br /&gt;
* [[Neo1973 Power Button|The Power Button]]&lt;br /&gt;
* [[Neo1973 AUX Button|The &amp;quot;Aux&amp;quot; button]]&lt;br /&gt;
&lt;br /&gt;
===Accessory===&lt;br /&gt;
&lt;br /&gt;
==== Stylus ====&lt;br /&gt;
&lt;br /&gt;
Using 4 in 1 laser pen&lt;br /&gt;
*Vendor: [http://www.quarton.com/laser_pen.html Quarton XPII]&lt;br /&gt;
*GTA02 standard setup comes with QUARTON XPII 4 in 1 laser pen&lt;br /&gt;
&lt;br /&gt;
==== Battery ====&lt;br /&gt;
The [[Neo FreeRunner (GTA02) Battery]] is mechanically and electrically compatible with the [[Neo1973 GTA01 Battery]], as well as limited compatibility with a Nokia BL6C battery.&lt;br /&gt;
According to [http://lists.openmoko.org/pipermail/community/2007-February/003758.html this] post on the mailinglist.&lt;br /&gt;
[http://wiki.openmoko.org/index.php?title=Image:Neo1973-with-BL5C-battery.png Photo] of the battery inside the Neo1973.&lt;br /&gt;
&lt;br /&gt;
* GTA02 using the smart battery based on TI bq27000 chipset&lt;br /&gt;
* Default using SANYO 1200mAh cell.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== microSD Card ====&lt;br /&gt;
&lt;br /&gt;
GTA02 should comes with one of following microSD card&lt;br /&gt;
&lt;br /&gt;
* Trendsend 512MB microSD card&lt;br /&gt;
* SanDisk 512MB microSD card&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Charger ====&lt;br /&gt;
&lt;br /&gt;
AKII Technology Charger&lt;br /&gt;
&lt;br /&gt;
*Model: A10P1-05MP&lt;br /&gt;
*Input: 100-240v~ /0.3A&lt;br /&gt;
*Output: +5v up to 2.0A&lt;br /&gt;
*Add 47.5k 1% resistor between ID pin and ground for openmoko charger identification&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
=== GTA02v1 ===&lt;br /&gt;
First generation of prototypes that was given to internal OpenMoko software developers. Total 30 pcs fabricated.&lt;br /&gt;
&lt;br /&gt;
*It is working just fine, but still based on 2440, with external NAND/SDRAM and no NOR flash&lt;br /&gt;
*Using the PCF50633 05 N3 due to 04 N3 not available, re-work power for basic schematics verification&lt;br /&gt;
*Using GTA01 SIM socket&lt;br /&gt;
*Add external debug port&lt;br /&gt;
*Still using Global locate A-GPS&lt;br /&gt;
&lt;br /&gt;
* ATAG_REVISION: FIXME&lt;br /&gt;
&lt;br /&gt;
=== GTA02v2 ===&lt;br /&gt;
Second generation of prototypes, Total 50 pcs run at Taipei SMT factory MOUNT&lt;br /&gt;
&lt;br /&gt;
*Ideal is have 256 MB NAND on Samsung package, Due to chip availability Start using S3C2442 B43&lt;br /&gt;
*Using correct PMU PCF50633 04 N3&lt;br /&gt;
*Change new SIM socket&lt;br /&gt;
*Change to u-blox A-GPS&lt;br /&gt;
*Change LCM power from 3.3v to 1.8v&lt;br /&gt;
*USB power switch layout/pin assignment mistake, could not verify USB host supply 5v function&lt;br /&gt;
*GPS function verified ok with good senstivity&lt;br /&gt;
&lt;br /&gt;
=== GTA02v3 ===&lt;br /&gt;
Production verification version, 2007/10/11 28 pcs fabricate at FIC SuZhou&lt;br /&gt;
&lt;br /&gt;
*Still using S3C2442 B43 for hardware verification&lt;br /&gt;
*Using control pilot run to verify S3C2442 B54 chips&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== GTA02v4 ===&lt;br /&gt;
Mass production release candicate version 1&lt;br /&gt;
&lt;br /&gt;
2 weeks after v3 gerber out, release the v4 gerber, and 2007/10/20 20 pcs fabricate at FIC SuZhou &lt;br /&gt;
&lt;br /&gt;
*Change LCM power from 1.8v to 3.3v for display stability issue&lt;br /&gt;
*fabricate another 200 pcs for yield rate/production verification&lt;br /&gt;
*fabricate 50 pcs with S3C2442 B43 (128 MB NAND) for quality comparsion&lt;br /&gt;
*USB host power chip have some output voltage stability issues with Vb/Vcc comes from different power source, need layout change to fix the issue&lt;br /&gt;
*Battery Coulomb design not working on A4&lt;br /&gt;
&lt;br /&gt;
=== GTA02v5 ===&lt;br /&gt;
Mass production candicate version 2/Mass production version&lt;br /&gt;
&lt;br /&gt;
*First batch fabricate 2008/1/14 at FIC SuZhou&lt;br /&gt;
*Coulomb counter issue fixed&lt;br /&gt;
*USB host power switch fixed&lt;br /&gt;
*Need add capacitor for PMU Vbat input for stability issue, this could be done by direct SMT or hand rework&lt;br /&gt;
* First batch of prototypes for GTA02 developers was tracked in the [[Prototypes| Prototypes Page]]&lt;br /&gt;
&lt;br /&gt;
=== Debug Connector ===&lt;br /&gt;
&lt;br /&gt;
This is the connector used to connect the [[Debug Board]] and possibly other hardware.&lt;br /&gt;
&lt;br /&gt;
Connections are:&lt;br /&gt;
* 39 - GND&lt;br /&gt;
* 38 - STDI&lt;br /&gt;
* 37 - _RESET&lt;br /&gt;
* 36 - STMS&lt;br /&gt;
* 35 - STCK&lt;br /&gt;
* 34 - STDO&lt;br /&gt;
* 33 - GSM_EN&lt;br /&gt;
* 29 - _STRST&lt;br /&gt;
* 19 - X_I2C_SCL (H-TP4703)&lt;br /&gt;
* 18 - X_I2C_SDA (H-TP4704)&lt;br /&gt;
* 17 - SPI_CLK0&lt;br /&gt;
* 16 - SPI_MOSI0&lt;br /&gt;
* 15 - SPI-MISO0 &lt;br /&gt;
* 14 - SS0&lt;br /&gt;
* 13 - EINT3 (H-TP4705)&lt;br /&gt;
* 3 - CONSOLE_TXD (H-TP4701)&lt;br /&gt;
* 2 - CONSOLE_RXD (H-TP4702)&lt;br /&gt;
&lt;br /&gt;
Information from [http://people.openmoko.org/roh/Debugport_GTA01bv4.png].&lt;br /&gt;
&lt;br /&gt;
== Distinguishing hardware revisions ==&lt;br /&gt;
=== Inside the [[Bootloader]] ===&lt;br /&gt;
Every hardware revision has its own u-boot image type.  Thus, the bootloader has the revision hard-coded.&lt;br /&gt;
The hardware revision is passed on to the kernel via the ATAG mechanism (ATAG_REVISION)&lt;br /&gt;
&lt;br /&gt;
=== Inside the [[Kernel]] ===&lt;br /&gt;
The kernel receives the ATAG_REVISION during bootup, and saves its contents in the &amp;quot;system_rev&amp;quot; global variable.&lt;br /&gt;
&lt;br /&gt;
=== From Userspace ===&lt;br /&gt;
The kernel exports the system_rev variable in /proc/cpuinfo as &amp;quot;Revision :&amp;quot; line.&lt;br /&gt;
&lt;br /&gt;
=== Certification ===&lt;br /&gt;
&lt;br /&gt;
*FCC&lt;br /&gt;
** 850/1800/1900 Band, FCC ID: EUNGTA02&lt;br /&gt;
** 900/1800/1900 Band, FCC ID: EUNGTA02E&lt;br /&gt;
&lt;br /&gt;
*NCC (for Taiwan Import)&lt;br /&gt;
&lt;br /&gt;
{{Languages|Neo1973 GTA02 Hardware}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Neo1973 Phase 2 related| ]]&lt;br /&gt;
[[Category:Neo1973 Hardware| ]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Main_Page"/>
				<updated>2008-02-28T00:05:39Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: Made system specs &amp;amp; software more obvious&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Main_Page}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{| cellspacing=&amp;quot;5&amp;quot; cellpadding=&amp;quot;0&amp;quot; style=&amp;quot;padding: 2%; margin:0em 0em 1em 0em; border:1px solid #F9D163; background:#FCE9B4; width:100%&amp;quot; &lt;br /&gt;
| &amp;lt;big&amp;gt;'''Welcome to the [[OpenMoko]]&amp;amp;trade; public Wiki'''&amp;lt;/big&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Image:GTA02.jpg |200px|right|frontside]]&lt;br /&gt;
OpenMoko&amp;amp;trade; is an [http://en.wikipedia.org/wiki/Open_source Open Source] project to create the world's first free mobile phone operating system which runs a full X server and can therefore run most X applications.  The [[OpenMoko]] project is a community that anyone can join, to help design their ideal phone.&lt;br /&gt;
&lt;br /&gt;
You can install any [[OpenMoko]] software over the whole range of [[OpenMoko-supported hardware|supported phones]], and if you upgrade your phone, you won't lose that software. Bugs fixed on any phone are fixed on all. &lt;br /&gt;
&lt;br /&gt;
The [[Neo1973 | Neo 1973 (GTA01)]] from [[FIC]] is the first of many phones that OpenMoko may be used on and has now sold out (Feb 11 2008) as can be seen here - [https://direct.openmoko.com/ Openmoko Online Shop].   &lt;br /&gt;
&lt;br /&gt;
The [[Neo FreeRunner  | Neo FreeRunner (GTA02)]] is not yet available - see further down this page for info on the development status and further information.  You can add your nickname to those interested buying the Neo FreeRunner [[Buying_Interest_List|here]].&lt;br /&gt;
&lt;br /&gt;
Please join us in collaborating on the OpenMoko project through any of the [[Development resources | project resources]] including this OpenMoko wiki. Please see the [[Help:Contents | wiki editing help]] page for information on making contributions to this wiki. A [[Meet the Core Team | core team]] of developers funded by FIC, Inc. leads the project.&lt;br /&gt;
&lt;br /&gt;
An [[introduction]] page and [[OPENMOKO WIKI Official Index Page |index page]] is available, with [[Introduction#Photos|photos]],  [[Introduction#Videos|videos]] and index of wiki .   Moreover, the usual [[FAQ | Frequently Asked Questions]] (FAQ)  and  [[OPENMOKO WIKI Official Index Page |index page]] pages might be helpful. Developers may find the [[ChangeLog | change log]] an important resource.  &lt;br /&gt;
&lt;br /&gt;
{{warning|'''The OpenMoko GUI applications are not suitable for end users yet.''' They are still in beta. Do not expect to always and reliably make and receive calls from the OpenMoko GUI. Thanks to the openness of the FIC Neo1973 hardware, there is also an alternative to the OpenMoko GUI: Qtopia 4.3.x is released under GPL and is at the edge of being usable for phone use.}}&lt;br /&gt;
&lt;br /&gt;
'''OpenMoko Open Source Engineering and Schedule Policy'''&lt;br /&gt;
As an extension of the Open Source attitude towards source code, OpenMoko attempts to be open about as much of the engineering process as possible. Obviously this is not always possible, and because this is a fairly new notion, we are still learning how to do this properly. Our current policy is to attempt to tell you as much as possible about what we are doing, but never to attempt any schedule prediction. This is not due to secrecy, but rather is due to the large number of dependencies that are out of our control. For the latest status updates, see [[Community_Updates|Community Updates]]&lt;br /&gt;
&lt;br /&gt;
'''FUTURE MODELS DEVELOPMENT STATUS''' &lt;br /&gt;
[[Neo FreeRunner]] is still under development, and we are still testing the hardware. Since this is happening at the kernel and driver level, progress can be monitored on the openmoko-kernel mailing list, which is public. Once we complete this we will build a few more for further testing within the company. If this testing is successful, then we will start manufacturing units for sale. For the latest status updates, see [[Community_Updates|Community Updates]]&lt;br /&gt;
&lt;br /&gt;
Status on the U-Boot and Kernel side can be found at [[Kernel-dev-status|Kernel-dev-status]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=100%&lt;br /&gt;
! width=100% colspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#F9D163;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | Latest status&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; width=&amp;quot;50%&amp;quot; style=&amp;quot;background:#FCE9B4;border-left:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* The latest Qtopia snapshot can now be successfully used to make and receive calls, to send and receive SMS and use Contacts for both. However, if you do not enable suspend, one battery will only last 3-5 hours, but in suspend, incoming calls do not wake up Qtopia! See [[Qtopia on Neo 1973]] for instructions.&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; width=&amp;quot;50%&amp;quot; style=&amp;quot;background:#FCE9B4;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* The [http://downloads.openmoko.org/snapshots/2007.11/ OpenMoko 2007.11 Snapshot] can make and receive calls most of the time. Power management (suspend, standby time) are still experiencing problems.     Reports on the new snapshots built daily (will break sometimes) are [[Snapshot_review|here]]&lt;br /&gt;
* For the latest status updates, see [[Community_Updates|Community Updates]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=100%&lt;br /&gt;
! width=100% colspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#F9D163;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | What's Your Interest?&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; width=&amp;quot;50%&amp;quot; style=&amp;quot;background:#FCE9B4;border-left:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* [[Basic End-user]] - Information for end users who want basic functionality and no surprises&lt;br /&gt;
* [[Advanced End-user]] - Information for advanced end-users who want advanced and experimental functionality but who are not programmers&lt;br /&gt;
* [[Business Development]] - Exchange of commercial opportunities for promoting widespread end-user acceptance.&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; width=&amp;quot;50%&amp;quot; style=&amp;quot;background:#FCE9B4;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* [[Application Developer]] - Information for application developers, including ideas and specifications for applications, and tools to build them&lt;br /&gt;
* [[System Developer]] - Information for system developers, including bootloader, kernel, and libraries&lt;br /&gt;
* [[Hardware Developer]] - Information for hardware developers, including hardware specs and debug board&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=100%&lt;br /&gt;
! width=100% colspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#F9D163;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | System Specs&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; width=&amp;quot;50%&amp;quot; style=&amp;quot;background:#FCE9B4;border-left:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* [[Neo1973_hardware|Neo 1973 (GTA01)]] - Specs of original Neo 1973 (GTA01) Hardware&lt;br /&gt;
* [[Neo_FreeRunner_GTA02_Hardware|FreeRunner (GTA02)]] - Specs of Neo FreeRunner (GTA02) Hardware&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; width=&amp;quot;50%&amp;quot; style=&amp;quot;background:#FCE9B4;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* [[OpenMoko Core Applications]] - Applications included in the core build of OpenMoko&lt;br /&gt;
* [[OpenMoko Community Applications]] - Featured downloadable applications from the OpenMoko community&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=100%&lt;br /&gt;
! width=33% style=&amp;quot;background:#d1d1d1;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | General&lt;br /&gt;
! width=33% style=&amp;quot;background:#C5FDAF;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | Developer Guides&lt;br /&gt;
! width=33% style=&amp;quot;background:#FDAFAF;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | Developer Reference Documentation&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#ebebeb;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; |&lt;br /&gt;
* [[Development resources | Project Resources]] - Provides a centralized location of all resources such as [[Development resources#Mailing_Lists|mailing lists]], [[Development resources#IRC | IRC]], and other software development oriented resources.&lt;br /&gt;
 &lt;br /&gt;
* [[Current events]] - Information on both past and future events where FIC or OpenMoko had or will have a presence.&lt;br /&gt;
* [http://forums.makeopensource.com/ Unofficial OpenMoko Forums] - Everyone is invited to collaborate with OpenMoko users and developers on the forums.&lt;br /&gt;
* Most of the documentation and Wiki assumes you are using Linux; here are some notes for users of [[Other OSes]].&lt;br /&gt;
* [[MacOS_X|Mac OS X]] - Information specific for those who use Mac OS X&lt;br /&gt;
* [[OpenLab]] - A physical area where OpenMoko can interact with FOSS community&lt;br /&gt;
&lt;br /&gt;
'''Administrative + Organizational'''&lt;br /&gt;
* [[Shipping Notes]] - Information to help FIC figure out how to ship products to you, and how much it might cost.&lt;br /&gt;
* [[My Account]] - Ideas for what sort of account-based services FIC should provide with the phone.&lt;br /&gt;
* [[Hear Me FIC]] - Information to help FIC know what the community wants.&lt;br /&gt;
* [[Listen Up Community]] - Community's To-Do-List&lt;br /&gt;
* [[Wiki Issues]] - problems/requests regarding this Wiki&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#E8FFDF;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* [[Getting Started with your Neo1973]]&lt;br /&gt;
* [[installation_guide|A guide for flashing and emulating the openmoko software]] (In progress, this should replace the following options)&lt;br /&gt;
** [[Flashing_openmoko|Flashing Neo1973 with the kernel, the root filesystem and optionally u-boot.]]&lt;br /&gt;
** [[MokoMakefile|Building OpenMoko using the MokoMakefile]]&lt;br /&gt;
** [[Application Development Crash Course]] -A very basic how-to for the new people. &lt;br /&gt;
** [[OpenMoko2007.2|Building OpenMoko 2007.2]]&lt;br /&gt;
** [[Building OpenMoko 2007.1 from scratch]]&lt;br /&gt;
*** [[Building a hello world application]]&lt;br /&gt;
*** Old [[Building OpenMoko from scratch (pre-BBT)]]&lt;br /&gt;
** [[Running OpenMoko on PC]]&lt;br /&gt;
*** [[Getting OpenMoko working on host with Xoo]]&lt;br /&gt;
*** [[Getting OpenMoko working on host with Xephyr]]&lt;br /&gt;
*** [[How to run OpenMoko Apps on PC]]&lt;br /&gt;
*** [[OpenMoko under QEMU]]&lt;br /&gt;
*** [[Test Openmoko Emulation with chroot image|Test Openmoko Emulation with a Prebuilt chroot Image]]&lt;br /&gt;
* [[Migration to bad block tolerant builds]]&lt;br /&gt;
* [[Booting from SD]]&lt;br /&gt;
* [[DailyBuiltImages|Getting daily built images]]&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#FFDADA;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;&amp;quot;| &lt;br /&gt;
'''Hardware Reference Documentation'''&lt;br /&gt;
* All [[:Category:Hardware|Hardware]] related documentation and specifications are found on the [[:Category:Hardware|Hardware page]].&lt;br /&gt;
* The [[Neo1973 Hardware]] page provides an overview of the hardware components used by the [[:Category:Neo1973 Hardware|Neo1973 hardware platform]]. PCB photographs are also included. A [[Disassembling Neo1973 | photo disassembly story]] may be an interesting starting place.&lt;br /&gt;
* [[:Category:Neo1973 Hardware Debugging | Neo1973 Hardware Debugging]] is assisted with the [[Debug Board | Neo1973 debug board]].   A page discussing [[Connecting Neo1973 with Debug Board v2 | debug board and Neo1973 configurations]] is also provided.&lt;br /&gt;
&lt;br /&gt;
'''Software Reference Documentation'''&lt;br /&gt;
* Architectural&lt;br /&gt;
** [[OpenMokoFramework]] - The OpenMoko Application Framework&lt;br /&gt;
* [[Neo1973 host software]]&lt;br /&gt;
* Device Software&lt;br /&gt;
** Low-Level&lt;br /&gt;
*** [[u-boot]] - The bootloader we use, including documentation for our modifications&lt;br /&gt;
*** [[kernel]] - The Linux kernel we use, including documentation for our modifications&lt;br /&gt;
** Userspace&lt;br /&gt;
*** [[binary compatibility]]&lt;br /&gt;
*** [[gsmd]] - the GSM daemon managing the GSM Modem&lt;br /&gt;
*** [[gpsd]] - the AGPS (Assisted GPS) daemon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=100%&lt;br /&gt;
! width=33% style=&amp;quot;background:#FCC6FF;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | OpenMoko-specific Development&lt;br /&gt;
! width=33% style=&amp;quot;background:#B3DDF4;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | OpenMoko Miscellaneous Development&lt;br /&gt;
! width=33% style=&amp;quot;background:#F5FC7F;border-left:5px solid white;border-right:5px solid white;border-top:5px solid white;&amp;quot; | Miscellaneous&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#FEE9FF;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* [[Roadmap]] - Roadmap for further OpenMoko development&lt;br /&gt;
* [[OpenEmbedded]] - The distribution-building framework&lt;br /&gt;
* [[Toolchain]] - The toolchain we use for compilation&lt;br /&gt;
* [[OpenMoko]] - The OpenMoko distribution&lt;br /&gt;
** [[OpenMoko2007]] - The first intended release of it&lt;br /&gt;
** [[OpenMoko2007.2]] - An improved release with more formalized style guidelines.&lt;br /&gt;
** [[Userspace root image]]&lt;br /&gt;
* [[Test Plans]] - How we test our phones&lt;br /&gt;
* [[Prototypes]] - Tracking prototypes&lt;br /&gt;
&lt;br /&gt;
'''User Interface Related'''&lt;br /&gt;
* [[GUI Style Guidelines]] -- New for [[OpenMoko2007.2]]&lt;br /&gt;
* [[Look &amp;amp; Feel]]&lt;br /&gt;
** [[Artwork]]&lt;br /&gt;
* [[Applications|Application Roadmap]]&lt;br /&gt;
* [[Widgets]]&lt;br /&gt;
** [[Widget Inheritance Graph]]&lt;br /&gt;
* [[Application UI Design Recommendations]]&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#D4EDFB;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; |&lt;br /&gt;
* [[Thesis work]] &lt;br /&gt;
* [[Freshman todo]]&lt;br /&gt;
* [[Templates]]&lt;br /&gt;
* [[PIM Storage]]&lt;br /&gt;
* [[Coding Guidelines]]&lt;br /&gt;
* [[OpenMoko#Setting_up_an_OpenMoko_SDK|How to setup the OpenMoko SDK]]&lt;br /&gt;
* Alternative distributions for [[Neo1973]] GTA01: [[Angstrom on Neo1973]], [http://pokylinux.org Poky] [http://www.usome.com](instructions needed!)&lt;br /&gt;
* [[License]] - How we license our code&lt;br /&gt;
* [[Development resources]] - Describes resources for developers (lists, svn, ...)&lt;br /&gt;
* [[Neo1973 Phase 0]] - Information for Phase 0 device owners&lt;br /&gt;
* [[Wishlist:Neo1973 P0 Review]] - Impressions of the Phase 0 hardware device, also the Phase 0 FAQ&lt;br /&gt;
* [[Neo1973 Phase 1]] - Information for Phase 1 device owners&lt;br /&gt;
* [[Wishlist:Neo1973 P1 Review]] - Impressions of the Phase 1 hardware device&lt;br /&gt;
* [[External Feeds]] - List of feeds from people blogging about OpenMoko&lt;br /&gt;
&lt;br /&gt;
|valign=&amp;quot;TOP&amp;quot; style=&amp;quot;background:#FCFFCD;border-left:5px solid white;border-right:5px solid white;border-bottom:5px solid white;&amp;quot; | &lt;br /&gt;
* [[WiFi support in OpenMoko]]&lt;br /&gt;
* [[Neo1973 and Windows]]&lt;br /&gt;
* [[Press Coverage]] - What the press says about the OpenMoko project&lt;br /&gt;
* [[mFAQ]] - The OpenMoko Misinformation FAQ ('''mFAQ''') - What the press '''''incorrectly''''' says about the OpenMoko project&lt;br /&gt;
* [[OpenMoko Core Applications]] - Applications (GUI based) currently included in the main/core build of OpenMoko &lt;br /&gt;
* [[Wish List]]s: [[Wish List - Hardware|Hardware]], [[Wishlist:BuiltInScriptingLanguage|Scripting Languages]], [[Wish List - OpenMoko Ringtones and Sounds|ringtones and sounds]]&lt;br /&gt;
* [[Media Content]] - What types of media on the device can we use (that is non-software)?&lt;br /&gt;
* [[Testimonials]] - How did you get to OpenMoko?&lt;br /&gt;
* [[Buying Interest List]] - (Not official and not a pre-order page) Have you put money aside for Neo1973? Put your nick here.&lt;br /&gt;
* Comparison with the [[iPhone]]&lt;br /&gt;
* [[Translation]] of OpenMoko&lt;br /&gt;
* Project applications for Google's [[Summer of code]]&lt;br /&gt;
* Purchase OpenMoko [[SWAG]] T-Shirts!&lt;br /&gt;
* The OpenMoko [[Trademark Policy]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The members of the OpenMoko community would like to thank FIC Inc. for their continued leadership of the OpenMoko project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;bottom&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Information| ]]&lt;br /&gt;
[[Category:Categories| ]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/CAD_models</id>
		<title>CAD models</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/CAD_models"/>
				<updated>2008-02-06T15:05:39Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: /* Official case schematics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Official case schematics==&lt;br /&gt;
&lt;br /&gt;
OpenMoko has released the CAD files for the case schematics for the OpenMoko [[Neo1973]] (GTA01). These are available in the original Pro/E (.asm/.prt) format and alternative formats that have been converted to from the originals.&lt;br /&gt;
&lt;br /&gt;
We welcome your assistance in providing other formats. If you are able to convert CAD files from Pro/E format to other formats, please contact michael@openmoko.org. We are especially interested in the DXF format and in images rendered from these files.&lt;br /&gt;
&lt;br /&gt;
* [http://downloads.openmoko.org/CAD/GTA01_ProE.zip The original Pro/E (.asm/.prt) format]&lt;br /&gt;
* [http://downloads.openmoko.org/CAD/GTA01_IGES_STEP.zip IGES &amp;amp; STEP formats]&lt;br /&gt;
&lt;br /&gt;
[http://downloads.openmoko.org/CAD/ Browse CAD directory]&lt;br /&gt;
&lt;br /&gt;
[[Category:Neo1973_Hardware]]&lt;br /&gt;
&lt;br /&gt;
==Artistic Renderings==&lt;br /&gt;
&lt;br /&gt;
A basic 3D rendering has been created for ''artistic'' use.  It has also been used to make a short *.mov animation in '''Art of Illusion'''.  Feel free to edit it to conceptually illustrate case ideas or provide more exact measurements so we can refine the model.&lt;br /&gt;
&lt;br /&gt;
[http://www.likeasecret.com/Neo1973/Neo1973.aoi Neo1973 Art of Illusion 3D Model] - Not fully accurate, please provide full dimensions if you have them&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.likeasecret.com/Neo1973/Neo1973.mov Neo1973 Art of Illusion 3D Quicktime rendering]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Neo1973.png]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/CAD_models</id>
		<title>CAD models</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/CAD_models"/>
				<updated>2008-01-24T17:56:49Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: /* Conversions of schematics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Schematics of the existing case/internals have been requested from FIC, but this will take some time, so for the time being the existing case will need to be measured and schematics uploaded here by an owner of a Neo1973.&lt;br /&gt;
&lt;br /&gt;
Even though we don't have schematics or accurate dimensions, a basic 3D rendering has been created for ''artistic'' use.  It has also been used to make a short *.mov animation in '''Art of Illusion'''.  Feel free to edit it to conceptually illustrate case ideas or provide more exact measurements so we can refine the model.&lt;br /&gt;
&lt;br /&gt;
[http://www.likeasecret.com/Neo1973/Neo1973.aoi Neo1973 Art of Illusion 3D Model] - Not fully accurate, please provide full dimensions if you have them&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.likeasecret.com/Neo1973/Neo1973.mov Neo1973 Art of Illusion 3D Quicktime rendering]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Neo1973.png]]&lt;br /&gt;
&lt;br /&gt;
==Official case schematics==&lt;br /&gt;
The schematics for the FIC [[Neo1973]] GTA01, have been initially released in Pro/E (.asm/.prt) format at [http://downloads.openmoko.org/CAD/GTA01_dimensions.zip a temporary place]. Renderings and conversions of the content are encouraged.&lt;br /&gt;
&lt;br /&gt;
=== Conversions of schematics ===&lt;br /&gt;
Converted versions of official have started to appear in the [http://downloads.openmoko.org/CAD CAD Folder].&lt;br /&gt;
&lt;br /&gt;
Some Conversions include the following:&lt;br /&gt;
* [http://downloads.openmoko.org/CAD/GTA01_IGES_STEP.zip IGES &amp;amp; STEP formats]&lt;br /&gt;
* DXF &amp;amp; others soon to come!&lt;br /&gt;
&lt;br /&gt;
[[Category:Neo1973_Hardware]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/CAD_models</id>
		<title>CAD models</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/CAD_models"/>
				<updated>2008-01-24T17:53:59Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: /* Official case schematics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Schematics of the existing case/internals have been requested from FIC, but this will take some time, so for the time being the existing case will need to be measured and schematics uploaded here by an owner of a Neo1973.&lt;br /&gt;
&lt;br /&gt;
Even though we don't have schematics or accurate dimensions, a basic 3D rendering has been created for ''artistic'' use.  It has also been used to make a short *.mov animation in '''Art of Illusion'''.  Feel free to edit it to conceptually illustrate case ideas or provide more exact measurements so we can refine the model.&lt;br /&gt;
&lt;br /&gt;
[http://www.likeasecret.com/Neo1973/Neo1973.aoi Neo1973 Art of Illusion 3D Model] - Not fully accurate, please provide full dimensions if you have them&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.likeasecret.com/Neo1973/Neo1973.mov Neo1973 Art of Illusion 3D Quicktime rendering]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Neo1973.png]]&lt;br /&gt;
&lt;br /&gt;
==Official case schematics==&lt;br /&gt;
The schematics for the FIC [[Neo1973]] GTA01, have been initially released in Pro/E (.asm/.prt) format at [http://downloads.openmoko.org/CAD/GTA01_dimensions.zip a temporary place]. Renderings and conversions of the content are encouraged.&lt;br /&gt;
&lt;br /&gt;
=== Conversions of schematics ===&lt;br /&gt;
Converted versions of official have started to appear in the [http://downloads.openmoko.org/CAD | CAD Folder].&lt;br /&gt;
&lt;br /&gt;
[[Category:Neo1973_Hardware]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Wish_List_-_Hardware</id>
		<title>Wish List - Hardware</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Wish_List_-_Hardware"/>
				<updated>2008-01-24T15:47:19Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: /* Internal Communication Bus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details hardware features which some would like to go into future phones similar to the [[Neo1973]].&lt;br /&gt;
&lt;br /&gt;
Related pages are:&lt;br /&gt;
*[[Wishlist - Hardware - Novel Devices]] - openmoko will run on a large number of devices in the future, some of which may be DVD players, cameras, or convergance devices.  &lt;br /&gt;
*[[Wishlist:Unlikely]] - Hardware that is unlikely to appear in any OpenMoko device, due to it being impossible to fabricate with near-term technology, or for other reasons.&lt;br /&gt;
*[[Wishlist:Accessories]] - Accessories that people would like, that connect easily to the phone - initially primarily for the Neo1973 &lt;br /&gt;
*[[Wishlist:Expansion]] - add-ons to the phone, maybe involving hardware changes, and software and hardware protocols to implement these.&lt;br /&gt;
&lt;br /&gt;
This page is rather long. Before adding a new idea, please read through this page and the above pages, to make sure your idea has not been suggested before.&lt;br /&gt;
==Processor==&lt;br /&gt;
===A FPGA===&lt;br /&gt;
A FPGA is a general purpose reconfigurable logic device.&lt;br /&gt;
See [[Wish List - Hardware:FPGA]] for more details.&lt;br /&gt;
&lt;br /&gt;
===Samsung S3C2443===&lt;br /&gt;
*[http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=S3C2443&amp;amp;&amp;amp;ppmi=1427 Samsung S3C2443] Up to 533 MHz, can act as a USB 2.0 device.&lt;br /&gt;
&lt;br /&gt;
==Internal Memory==&lt;br /&gt;
===RAM===&lt;br /&gt;
128MB Dedicated for open files, running software etc., not for storage, or 256MB at all would be really nice and enough for any future software.&lt;br /&gt;
&lt;br /&gt;
===ROM===&lt;br /&gt;
Enough to Hold O/S and a fair number of applications and their settings. Persistent Storage with XIP capability. About 128 MB.&lt;br /&gt;
&lt;br /&gt;
===Storage===&lt;br /&gt;
An internal Micro SDHC should be used for users' files and additional software&lt;br /&gt;
&lt;br /&gt;
==Wireless data networking==&lt;br /&gt;
&lt;br /&gt;
===WiMAX support===&lt;br /&gt;
[http://en.wikipedia.org/wiki/Wimax WiMAX] is a high-speed data service, similar to wifi, though longer range and newer. Where service is available, this would complement WiFi. Unfortunately, unlike wifi, frequencies vary worldwide, so global usage may be complex. In South Korea, 2.3Ghz is available for WiMAX, known as WiBro. WiMAX Forum sets heart on 2.5 GHz for global use.&lt;br /&gt;
----&lt;br /&gt;
Two campuses of the University of California have just completed a deal with a WiMAX service provider to lease UC's ITFS/EBS spectrum to provide WiMAX in the SF Bay Area. Bidding was aggressive between Nextwave, Sprint-Nextel, and Clearwire. Other UC campuses have awarded other contracts throughout California to various of the three contenders. The point here is: these three companies are competing aggressively for spectrum in the 2.5-2.7 GHz range, and it's not limited to CA. At a National ITFS Association meeting in 2005, representatives from Intel said they would be ready to release a WiMAX chipset compatible with these frequencies in 2007, for inclusion in laptops. I assume the folks at [[FIC]] know much more about it that I do! Based on these and other clues, I think WiMAX is coming in the 2.5-2.7 GHz band in the near future... I'll be surprised if I do not see some offerings by early 2009. &lt;br /&gt;
&lt;br /&gt;
-[[User:Tzf|Tzf]] 21:54, 24 November 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===LTE support===&lt;br /&gt;
[http://en.wikipedia.org/wiki/3GPP_Long_Term_Evolution Long Term Evolution (LTE)] is a high-speed data service, similar to WiMax, but designed to be more compatible with existing GSM systems.  While Sprint &amp;amp; Clearwire are currently testing WiMax deployment in the US, AT&amp;amp;T and Verizon appear to be in preference of LTE.&lt;br /&gt;
&lt;br /&gt;
While the project is ongoing and general in scope, it has set itself some specific goals, many of which are oriented around upgrading UMTS to a so-called fourth generation mobile communications technology, essentially a wireless broadband Internet system with voice and other services built on top.&lt;br /&gt;
&lt;br /&gt;
===Emerging Protocols===&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Near_Field_Communication Near Field Communication] has a few centimeter range, useable for keys, ID badges, pairing bluetooth devices and similar uses. Mentioned in newer bluetooth and SD standards. (No products.)&lt;br /&gt;
*[http://en.wikipedia.org/wiki/ZigBee ZigBee] is designed for connecting sensors and switches in buildings, with many options including mesh networks and aggressive power saving compared to bluetooth. (Almost no products available.)&lt;br /&gt;
*The [http://en.wikipedia.org/wiki/ANT_%28network%29 ANT network] is for connecting worn devices. Similar to ZigBee, but much simpler and maybe lower power. ([http://www.thisisant.com/?section=9 Short list] of products.)&lt;br /&gt;
&lt;br /&gt;
==Camera==&lt;br /&gt;
&lt;br /&gt;
* A camera that can take reasonable quality video and pictures is something many want. Applications vary from simple snapping, to gesture interfaces, video conferencing, barcode reading, buisness card reading, healthcare, servicing, and more.&lt;br /&gt;
&lt;br /&gt;
* Some people can't take cameras into work - a model without the camera, or some way of removing the camera would be useful or leave the camera chip in place and have a removable lens assembly and replacement backcover.&lt;br /&gt;
*See [[Hardware:Neo1973:Alternate_Cases:Camera | Alternate Cases:Camera]] for phone casing suggestions.&lt;br /&gt;
&lt;br /&gt;
* See [[Wishlist:Camera]] for a more detailed wishlist.&lt;br /&gt;
&lt;br /&gt;
==Display==&lt;br /&gt;
===Multitouch screen===&lt;br /&gt;
&lt;br /&gt;
''Main article: [[Wishlist:Spell_weaving|Spell weaving]]''&lt;br /&gt;
&lt;br /&gt;
See also [http://pogue.blogs.nytimes.com/2007/03/27/the-multi-touch-screen/ this page] containing a link to a video demonstration.&lt;br /&gt;
&lt;br /&gt;
A history of multitouch implementations is [http://billbuxton.com/multitouchOverview.html here] ([http://google.com/search?q=cache:billbuxton.com/multitouchOverview.html google cache version])&lt;br /&gt;
&lt;br /&gt;
*Use examples: [http://www.youtube.com/watch?v=UcKqyn-gUbY&amp;amp;mode=related&amp;amp;search= Multi-touch interface (from Adobe TED)], [http://www.youtube.com/watch?v=1ftJhDBZqss&amp;amp;mode=related&amp;amp;search= Multi Touch (new touchscreen technology)]&lt;br /&gt;
&lt;br /&gt;
===Bigger and better screen===&lt;br /&gt;
2.8&amp;quot; widescreen (like in [http://etencorp.com E-ten] PDA/smartphones), or 3.5&amp;quot; widescreen (like in [http://www.expansys.ie/d.aspx?i=134944 Fujitsu Siemens LOOX N560]).&lt;br /&gt;
&lt;br /&gt;
262k or 16.7M colurs for displaying images and especially videos.&lt;br /&gt;
&lt;br /&gt;
OLED for better contrast, more rich colours, and less energy consumption.&lt;br /&gt;
&lt;br /&gt;
Maybe the [http://www.sharpsme.com/Page.aspx/europe/en/part/LS037V7DW01/ LS037V7DW01] by Sharp could be a solution. It has nearly the same specs as the currently used, but 3,7&amp;quot; -- [[User:Wedge | Wedge]]&lt;br /&gt;
&lt;br /&gt;
===Distance sensing touchscreen===&lt;br /&gt;
{{Main|Hardware:NearlyTouchScreen}}&lt;br /&gt;
TouchKo's (now Wacom Company Ltd.) spatial capacitive &amp;quot;touchscreen&amp;quot;, can sense fingers at a small distance, so you do not get your display greasy, and can unlike some touchscreens, be operated with gloves.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;s&amp;gt;Video acceleration&amp;lt;/s&amp;gt;===&lt;br /&gt;
Hardware acceleration for video playback and 2D/3D accelleration will be present in [[Neo1973 GTA02]].&lt;br /&gt;
&lt;br /&gt;
===EPD===&lt;br /&gt;
Or electronic paper display, EPD is used in many new devices such as the new Motorola motofone, sonys new e-reader and Irex's iliad. The technology provides thin, lightweight, power saving screens using new eink technology. This technology could cut the weight of the phone and its power usage. For more info see: [http://www.eink.com eink's website].&lt;br /&gt;
&lt;br /&gt;
Pro: laserprinter like quality, glossy, very stable image, easy on the eyes. Electronics are similar to TFT. Very low power consumption. &lt;br /&gt;
&lt;br /&gt;
Con: Black and grey only (like a newspaper, but glossy), although there were already color prototypes in 2005. low framerate (5fps). Can reflect light (like paper), backlight is impossible.&lt;br /&gt;
&lt;br /&gt;
===Transreflective===&lt;br /&gt;
It would be nice to have (the option of) a transreflective display, which while being less bright, is readable without needing to power the backlight. Then again, it depends on how much power the backlight uses compared to everything else...&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Slightly&amp;quot; Larger Screen===&lt;br /&gt;
43mm x 57mm (2.8inch diagonal) is tiny.  A 53mm x 71mm (3.5 inch diagonal) like on the TD035STEE1 would be a nice improvement.  A widescreen format at about 53mm x 82.5mm instead of the 3:4 aspect ratio would be even cooler (if one could be found).&lt;br /&gt;
&lt;br /&gt;
===Second Display===&lt;br /&gt;
A 32x32 OLED display possibly on the back for camera framing or on an edge so it can be viewed like a pager.&lt;br /&gt;
This could be used to display any number of alerts (from any installed software) the alerts could have a dynamic prioritisation which means during the work day a message from the boss has high priority but lower at home (could be GPS/Time controlled?) multiple alerts shrink the icons to a 3x3 grid higher priority messages get more space.&lt;br /&gt;
&lt;br /&gt;
===Micro Projector===&lt;br /&gt;
[http://www.engadget.com/media/2006/02/digismartphone2.jpg Like the one shown here], new cellphones are now coming out with a small, low power projector. This can be used to show movies from your cell phone with 0.5m high image on a while wall for example...&lt;br /&gt;
&lt;br /&gt;
==Input devices==&lt;br /&gt;
&lt;br /&gt;
===No Dependence on Stylus===&lt;br /&gt;
The Neo's basic functionality should be completely usable without a stylus, Like the iPhone but with stylus use for precision work.&lt;br /&gt;
&lt;br /&gt;
===A laser projection keyboard===&lt;br /&gt;
Similar to [http://www.thinkgeek.com/computing/input/8193/ this], except the device would be integrated into the phone itself.  Setting the Neo up on a stand on a flat surface (perhaps a stand could be built into the back of the Neo itself, or into a case) would turn the Neo into a micro-laptop.  There may be several issues with the inclusion of this technology, including patents, the space required to project the laser grids, and the power consumption.  If possible, however, it would make text input a breeze.&lt;br /&gt;
&lt;br /&gt;
===Just a few more Buttons===&lt;br /&gt;
&lt;br /&gt;
2 buttons more, 3 buttons total, mounted sideways would be enough. You could use them for play/pause and loudness controll while the phone remains in your pocket (display locked, ...), reading mails, rss, ebooks,... without wasting display space and so on.&lt;br /&gt;
&lt;br /&gt;
With 5 buttons in total you could possibly emulate a keyboard (2^5 = 32 combinations) for those who know how to play a flute. Useable onehanded, not wasting display space and faster than t9. (It's not faster than T9 - I've used this system with the microwriter agenda --[[User:Speedevil|Speedevil]] 00:00, 2 July 2007 (CEST)) Hopefully this is not patented already.&lt;br /&gt;
&lt;br /&gt;
===D-Pad and Buttons===&lt;br /&gt;
*Adding a D-pad (to the bottom of the phone) and 2 to 4 buttons (to the top) would provide some tactile input controls, in addition to the touchscreen. They could be used as shortcut keys in the menu, or playback control when playing media. When the phone is held sideways, they can be used as games controls. (With touchscreen alone, gameplay options are limited)&lt;br /&gt;
&lt;br /&gt;
Game buttons would be best on both sides of the screen. The larger the buttons, the better. 2x 4 buttons in up-down-left-right configuration + some extra buttons separately a bit lower on the device would be good for many for emulation games. &lt;br /&gt;
&lt;br /&gt;
Here is a concept drawing of a possible neo1973 gaming version: &lt;br /&gt;
(This has a 4-way direction pad, 8 way may be better for gaming)&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Neogame90.jpg]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Shoulder buttons would be a great addition, too. It would be interesting if there was a total 4 of them, one for every corner. It would make the phone very flexible for rotating and 2 to 6 players playing on one device.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
:''Note'' : The [http://en.wikipedia.org/wiki/Tapwave_Zodiac Tapwave Zodiac] Palm PDA / Game console hybrid had a similar setup - with an analog stick on the left (also used for quick selection using a radial main menu when working as a PDA), 4 buttons on the right (also configurable for shortcuts when using the device as PDA), and 2 shoulder buttons. Also it had and still has an enthusiastic scene of homebrew development (almost any console emulator for PalmOS can also take advantage of the additional buttons and graphic power of the device). If we also take into account the success encountered by the [http://en.wikipedia.org/wiki/GP32 GP32] in the past and the [http://en.wikipedia.org/wiki/GP2X GP2X] currently on the homebrew scene, it's not unreasonable to plan a future OpenMoko device with both a SmartPhone/PDA functionnality ''and'' hand-held console targeting homebrew development.&lt;br /&gt;
&lt;br /&gt;
===Thumb keyboard or keyboard attachment accessory===&lt;br /&gt;
*Could be slide out or clamshell (hinge on long side) design with an external OLED. The keyboard should be protected when not in use.&lt;br /&gt;
*Could be a clip on keyboard that attaches to the serial port or communicates by bluetooth (not preferred for permanent keyboard users).&lt;br /&gt;
*Cheap clippable miniusb keyboard&lt;br /&gt;
*One of the layouts proposed in [[Hardware:Keyboards]]&lt;br /&gt;
* What about virtual keyboard? [[http://www.extremetech.com/article2/0,3973,539778,00.asp Keyboard]]&lt;br /&gt;
&lt;br /&gt;
===Analogue Controllers===&lt;br /&gt;
&lt;br /&gt;
====Trackball====&lt;br /&gt;
A trackball would provide an efficient mouse-like interface in a very compact package.  As exemplified in the newer Blackberry&amp;amp;reg; models.&lt;br /&gt;
Maybe instead an optical sensor as are used in mice could be used so that the whole phone can be moved over a surface just like a mouse. (It could function as a Bluetooth mouse for other devices like laptop computers: see [[Bluetooth_Support#Acting_as_HID_device]]. Adding one other two-axis analogue input (possibly just the screen) would make the Neo usable as a TrackPoint or scroll-and-tilt mouse.) The same sensor might be usable as a barcode reader.&lt;br /&gt;
&lt;br /&gt;
====Analog Joystick====&lt;br /&gt;
A joystick, or [http://www.extremetech.com/article2/0,1697,1772689,00.asp Rollermouse]-like device would provide additional control, compared with touchscreen only.&lt;br /&gt;
*A standard [http://en.wikipedia.org/wiki/Pointing_stick pointing stick (ie. TrackPoint)] might serve well. As a fairly standard part, might they be quite inexpensive?&lt;br /&gt;
&lt;br /&gt;
====Dual analogues====&lt;br /&gt;
Dual analogue controllers (one trackball or joystick above, one below the screen, most likely) might even be feasible. That might be overkill since the accelerometers or touchscreen can be used to provide a second analogue input. But it would be nice to have four axes of analogue control without having to tilt the screen away from you or partly cover it with your hand.&lt;br /&gt;
&lt;br /&gt;
===TV/radio receiver===&lt;br /&gt;
[[Digital Television]], [[Digital Radio]] or even normal analogue TV/radio is widely available in the world, though unfortunately in various different forms. In markets where one standard is widespread, and hardware is suitable, it would be a great extension of the phone to a general entertainment device for when you're away from home. Multi standard devices would be ideal, but may not be small, low-power, or cheap.&lt;br /&gt;
A good start would be an FM tuner, since it's one of the most widely used formats of radio broadcasting in the world.&lt;br /&gt;
&lt;br /&gt;
Here's a selection of chips, though it's not clear if the drivers are open source. http://www.sigmatel.com/products/portable/wireless/fmtuner.aspx#fragment-14&lt;br /&gt;
http://www.st.com/stonline/products/families/automotive/am_fm_tuners.htm&lt;br /&gt;
&lt;br /&gt;
===Accelerometer=== &lt;br /&gt;
This enables the phone to sense which direction 'down' is, and to sense any movements the phone makes.&lt;br /&gt;
&lt;br /&gt;
See [[Accelerometer Fundamentals]] for more information on accelerometers as they may be used in phones.&lt;br /&gt;
&lt;br /&gt;
In some cases integrated gyroscopes may also be needed. A [[#Digital compass]] can even be of more use since it gives absolute rotation so slow rotations could also be measured. A 3D compass would be nicest, but a simple 2D compass already is a helpful addition to the accelerometers.&lt;br /&gt;
&lt;br /&gt;
*[[Wishlist:3D Viewport|3D Viewport]]&lt;br /&gt;
*[[Wishlist:Computer Mouse|Computer Mouse]]&lt;br /&gt;
*[[Wishlist:Determine Position|Determine Position]]&lt;br /&gt;
*[[Wishlist:Dynamic Screen Orientation|Dynamic Screen Orientation]]&lt;br /&gt;
*Change media player playlist when jogging vs walking. &lt;br /&gt;
*Attempt to use to stabilise any future camera.&lt;br /&gt;
&lt;br /&gt;
This feature is scheduled for inclusion in the phase 2 Neo1973, GTA02.&lt;br /&gt;
&lt;br /&gt;
===Side-Mounted Touch Strip===&lt;br /&gt;
Add a &amp;quot;touch strip&amp;quot; sensor onto the side of the phone which can be used to scroll. By having it on the side you can use your thumb to scroll comfortably while holding the phone one-handed. An 8-element capacitive sensor would work wonderfully and be easy to fab using either a Quantum QT411 (http://www.qprox.com/products/qslide_qt411.php) or Analog Devices AD7143 (http://www.analog.com/en/prod/0,2877,AD7143,00.html) controller. The Analog Devices chip seems better suited due to it's smaller allowable element size.&lt;br /&gt;
*With the AD7143 you can have an 8-element (128-position) 25mm long strip - Perfect!.&lt;br /&gt;
*With a few OLED screens beneath the strip it could be used as dynamic configurable buttons/alerts eg. zoom/flash/shutter with a camera application and SMS/Email/Voicemail alerts in standby&lt;br /&gt;
&lt;br /&gt;
===Heart Rate Compatibility=== &lt;br /&gt;
&lt;br /&gt;
An RF interface to receive data from popular heart rate straps (Polar, Garmin, Sigma, Suunto, etc.). This would go along well with the existing GPS functionality and possible future Accelerometer functionality to make for a full-blown workout tool.&lt;br /&gt;
&lt;br /&gt;
Software can be written to track heart rate along a running, cycling, skiing, swimming loop, to monitor max and min heart rate, to match heart rate data to GPS coordinates and print map data w/ relevant data.&lt;br /&gt;
&lt;br /&gt;
===Digital compass=== &lt;br /&gt;
A digital compass is useful for orienting maps to the terrain and other location/direction/orientation based applications (... is 300 meter that way) when the user is standing still (regardless of GPS reception) and for following a bearing when GPS reception is poor or speed is low. Also could be used to make the accelerometer data more exact.&lt;br /&gt;
&lt;br /&gt;
Very small [[I2C]] sensors like [http://www.ssec.honeywell.com/magnetic/hmc6352.html Honeywell's HMC6352 2-Axis Digital Integrated Compass] (6.5 x 6.5 x 1.5 mm) are very appropriate for this.&lt;br /&gt;
&lt;br /&gt;
*[[Wishlist:Auto Align Map]]&lt;br /&gt;
&lt;br /&gt;
See [[Wishlist - Hardware: Digital compass]] for more information&lt;br /&gt;
&lt;br /&gt;
===Thermometer===&lt;br /&gt;
An electronic thermometer might become handy for some users.&lt;br /&gt;
&lt;br /&gt;
There are very small [[I2C]] devices available, that could easily integrate to the existing bus. For example [http://focus.ti.com/docs/prod/folders/print/tmp100.html this one from ti].&lt;br /&gt;
(Could just be cheap and use the thermometer from the battery, thats how they did it in the nokia 5140's). Also is integrated in a barometer/altimeter like the SMD500 mentioned in [[Wish List - Hardware - Atmospheric]].&lt;br /&gt;
::But if you carry it in you pocket it is unlikely to show the correct air temperature anyway. [[User:AudriusA|AudriusA]] 17:12, 12 January 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
===Barometer and Variometer (Altimeter)===&lt;br /&gt;
&lt;br /&gt;
A Barometer measures air pressure. This can be used to give weather information, and also as a variometer, to sense relative altitude. Variometers are commonly used in flying microlight and ultralight aircraft, to get accurate relative altitude.&lt;br /&gt;
&lt;br /&gt;
These are also common on high end GPS units. This is a great feature for walkers as you can tell how far you have got on any ascent/decent.&lt;br /&gt;
&lt;br /&gt;
See [[Wish List - Hardware - Atmospheric]] for more information.&lt;br /&gt;
&lt;br /&gt;
===Finger print sensor===&lt;br /&gt;
A fingerprint sensor gives easy and fast access to the phone, could lock the touchscreen etc. An example of this device can be found at [http://www.sonystyle.com/is-bin/INTERSHOP.enfinity/eCS/Store/en/-/USD/SY_BrowseCatalog-Start?CategoryName=cpu_VAIONotebookComputers_UX_Series&amp;amp;Dept=computers Sony UX17].&lt;br /&gt;
&lt;br /&gt;
Most fingerprint sensors in the embedded market include a navigation mode, where they work similar to either a touch-stick or touch-pad of a laptop.&lt;br /&gt;
&lt;br /&gt;
===Barcode Scanner===&lt;br /&gt;
*less cpu intensive and more reliable than camera+ocr&lt;br /&gt;
*though, bluetooth-enabled readers are already available.&lt;br /&gt;
&lt;br /&gt;
===Light Sensor===&lt;br /&gt;
Ability to sense ambient light, and act accordingly. i.e if it's 3am and LightValue&amp;lt;.1 then Ring Quietly.&lt;br /&gt;
&lt;br /&gt;
===Wheel===&lt;br /&gt;
A navigation wheel like on a sony/ericsson 810i would be nice.&lt;br /&gt;
&lt;br /&gt;
===Proximity Sensor===&lt;br /&gt;
Switch off backlight when you place the phone to your ear. Prevent accidental activation of speakerphone or other sounds when the phone is near the ear (prevent hearing damage). Possibly switch the speakerphone on or off automatically depending on if the phone is by your head or not.&lt;br /&gt;
&lt;br /&gt;
=== Make ''all'' unlocking of phone, password protected===&lt;br /&gt;
&lt;br /&gt;
When my (current non-neophone) phone is in my pocket and I have it locked, it sometimes accidentally unlocks itself since only two keystrokes in the correct order are necessary to unlock it. When it's unlocked and still in my pocket it sometimes calls someone without my knowledge. All phones I've seen today have a press-just-one-button bypass to answer an incoming call even when the phone is locked. I suggest making the locking mechanism let the user configure it so that the user has to enter a password even for answering incoming calls. The likeliness of the phone accidentally runbbing against my car keys, hitting a ten character long password, unlocking the phone without my knowledge and consent is low enough even for us most unlucky users.&lt;br /&gt;
&lt;br /&gt;
==Expansion==&lt;br /&gt;
===Positioning of Buttons, Connections and ports===&lt;br /&gt;
&lt;br /&gt;
Ideally any cable ports such as charging, USB, audio, docking should not get in the way of your hand or fingers when holding it in it's normal orientation. For the sake of SDIO cards an external SD slot should be on the top edge. IR for remote control software and ease of inter-device communication should be on the corner so that it is facing away from you for both orientations. Buttons obviously are positioned for finger control. An example of how '''not''' to do this would be the HTC Universal&lt;br /&gt;
&lt;br /&gt;
===Storage===&lt;br /&gt;
&lt;br /&gt;
====MMC/SD/SDIO slot (rather than?) miniSD or microSD====&lt;br /&gt;
*Cheaper, more durable cards in a widely accepted format.&lt;br /&gt;
*Much much larger storage capacity, [http://blog.scifi.com/tech/archives/2007/08/23/toshiba_unleash_1.html even 32GB]&lt;br /&gt;
*Cards are harder to lose&lt;br /&gt;
*Wider selection of accessories, including SDIO accessories.&lt;br /&gt;
*Make externally available so that larger length SDIO cards can be used (thinking about SDIO WLAN here)&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Secure_Digital_card#SDHC SDHC] compatible. It seems to already have the right hardware for it - see [[Neo1973_Hardware#microSD-Card]].&lt;br /&gt;
&lt;br /&gt;
====Two SD slots====&lt;br /&gt;
*Micro SDHC for /home partition. Keep like current design underneath SIM card&lt;br /&gt;
*Hot swappable externally accessible normal size SDHC/SDIO slot&lt;br /&gt;
&lt;br /&gt;
=== Internal Communication Bus ===&lt;br /&gt;
*A standard and/or documented internal communication bus of some sort could simplify adding new hardware modules.&lt;br /&gt;
*Serial USB or I2C connector internal to case towards the top&lt;br /&gt;
*Several digital I/O pins that operate at TTL levels&lt;br /&gt;
*A few analogue I/O pins attached to a A/D converter&lt;br /&gt;
*Documentation of Debug board connector could provide some of this functionality.&lt;br /&gt;
&lt;br /&gt;
I2C is used on the Neo with some details of resources already in use documented!&lt;br /&gt;
Please see [[I2C | Neo I2C Devices]] for more information &amp;amp; a list of devices &amp;amp; the addresses currently in use &amp;amp; documented for the Neo1973.&lt;br /&gt;
&lt;br /&gt;
===Local Communication===&lt;br /&gt;
&lt;br /&gt;
====USB====&lt;br /&gt;
* 5V Powered, to avoid having to carry around a hub for when you want to occasionally plug in a memory stick. Many powered hubs will not recognize a totally unpowered host. Provide a maximum current to drive a basic USB keyboard/memory stick/mouse/webcam/astrowebcam. This could be done by adding a small cheap power converter like the [http://www.national.com/pf/LM/LM2753.html LM2753]&lt;br /&gt;
* USB 2.0 &lt;br /&gt;
* Standard type A socket for quick &amp;amp; easy insertion of memory sticks etc.&lt;br /&gt;
* OTG, to be able connect usb keyboard like [http://www.mobile-review.com/pda/review/cherry-kb-en.shtml Cherry G84-4321 SUNRG]&lt;br /&gt;
* Bootable USB device emulation: the possibility to boot any computer on a bootable flagged partition of the transflash.&lt;br /&gt;
* Protection against incorrectly wired USB ports: some USB ports are wired incorrectly; if the +5V and GND are swapped, the device would get -5V when it's expecting +5V, which could burn some chips. A reverse-biased diode between +5V and GND, D+ and GND, D- and GND, and (if used) ID and GND, with a low enough forward voltage drop (to limite the negative voltages to what the chips can withstand), would protect the device by tripping the port's short circuit protection.&lt;br /&gt;
&lt;br /&gt;
====Wireless USB support====&lt;br /&gt;
[http://en.wikipedia.org/wiki/Wireless_USB Wireless USB] is the wireless version of USB offering data-rates up to 480 Mbit/s over short distances (&amp;lt;3 meter). Chipsets suitable for a phone are likely to take some time to be available.&lt;br /&gt;
&lt;br /&gt;
====SIR/FIR transceiver (Serial Infrared) / IR remote control====&lt;br /&gt;
*An infrared transceiver is cheap, small, and useful for sync with many laptops and mobile phones. &lt;br /&gt;
*Replace/emulate all IR-based remote controls used for your tv, vcr, etc on your neo cell phone.&lt;br /&gt;
** replaces multiple 'dumb' devices with a single intelligent device (your neo) that you will probably carry with you at all times anyway. &lt;br /&gt;
**Command sets should be retrieved from a database or learned from other less intelligent remote control devices with macros. &lt;br /&gt;
**reduces clutter, particularly in the living room.&lt;br /&gt;
**inceases the neo's practical status as an 'always-have' device. &lt;br /&gt;
&lt;br /&gt;
Other uses.&lt;br /&gt;
*Detecting reflections from inside of a caddy, and switching from active mode.&lt;br /&gt;
*FIR would be a nice option, as it's some 40 times faster than SIR.&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
&lt;br /&gt;
====Video Out====&lt;br /&gt;
*Through a docking port&lt;br /&gt;
**S-Video/Composite Out&lt;br /&gt;
**DVI Out&lt;br /&gt;
**HDMI Out&lt;br /&gt;
**Display Port&lt;br /&gt;
&lt;br /&gt;
==Output devices==&lt;br /&gt;
&lt;br /&gt;
===LED===&lt;br /&gt;
*The Neo1973 GTA02 will have LEDs of some sort behind at least one button. [http://lists.openmoko.org/pipermail/community/2007-July/008458.html]&lt;br /&gt;
*A blinking LED would be a cheap, low power way to inform the user of new SMS/Email....&lt;br /&gt;
**An alternative to this would be for one small part of the LCD to be separately backlit.&lt;br /&gt;
**This requires the CPU and LCD to be somewhat active, to keep the LCD refreshed, but gives much more information.&lt;br /&gt;
**A Small OLED Screen could be used and display much more information than a LED with minimal power usage.&lt;br /&gt;
&lt;br /&gt;
*For example a multicolor LED which pulses yellow for GSM/GPRS transmit, blue for Bluetooth/Wifi, green to indicate non-urgent information - missed call etc, red to indicate battery low or other urgent notices.&lt;br /&gt;
&lt;br /&gt;
**The LED and button ideas could be combined: illuminated buttons.&lt;br /&gt;
**It must be possible to completely disable the LED to save power or other personal preferences.&lt;br /&gt;
&lt;br /&gt;
=== Flashlight ===&lt;br /&gt;
For finding keys, or any other application. May also optionally pulse in time with ring, to make phone more visible.&lt;br /&gt;
This is really well done in Nokia 5500.&lt;br /&gt;
&lt;br /&gt;
-I second this one. The most used feature in my Nokia 5140 after the calling and sms features is the flashlight. It's just one simple LED, but powerful enough to see with if it's really dark. If it ain't dark, you won't need the light anyway. :)&lt;br /&gt;
&lt;br /&gt;
Also, Who hasn't lost their keys and opened up their cell phone to use as a flashlight?&lt;br /&gt;
&lt;br /&gt;
=== FM transmitter ===&lt;br /&gt;
Small FM transmitter to output to car, and other nearby radios.&lt;br /&gt;
&lt;br /&gt;
Fix the biggest flaw in the iPod before Apple does!&lt;br /&gt;
&lt;br /&gt;
=== Infrared Transmitter w/ universal remote software ===&lt;br /&gt;
Infrared LED on top of device with universal remote software so you can control televisions, DVDs etc.&lt;br /&gt;
[http://www.novii.tv/ Here] is an example of universal remote software.&lt;br /&gt;
===HAC Compliance===&lt;br /&gt;
[http://quux.wiki.zoho.com/WhereAreHACphones.html Here] is some summary/discussion of how hearing aid compliance rules work in the US. Specifically it would be nice to see the phone include a [http://www.hearingresearch.org/Dr.Ross/telecoil_and_telephones.htm telecoil], which allows the phone to connect wirelessly to many standard hearing aids.&lt;br /&gt;
&lt;br /&gt;
==Mobile Communication options==&lt;br /&gt;
&lt;br /&gt;
===Generic Access Network / Unlicensed Mobile Access===&lt;br /&gt;
This technology requires cooperation from the cellular provider, but [http://en.wikipedia.org/wiki/Unlicensed_Mobile_Access UMA/GAN] is already offered by T-Mobile in the United States, and perhaps others in other countries.  Allowing the user to roam from GSM to wifi, this technology can save the end user a significant amount of money, and also allow the user to deploy coverage where there was none before.  There are only a few UMA capable phones currently, but it would be great if this could be made to work on a phase 2 type OpenMoko device.&lt;br /&gt;
&lt;br /&gt;
Note that this features requires more advanced access to the GSM modem. &lt;br /&gt;
Special messages needs to be exchanged with the network.&lt;br /&gt;
&lt;br /&gt;
===Faster/better mobile connectivity.===&lt;br /&gt;
[http://en.wikipedia.org/wiki/Gsm GSM]/[http://en.wikipedia.org/wiki/GPRS GPRS] is at best slow. An incremental improvement would be a radio with [http://en.wikipedia.org/wiki/EDGE EDGE ] support. EDGE is an evolved GSM standard and, like GPRS, it operates on the same frequency as voice. This means a quad-band EDGE radio will have near-complete worldwide coverage. &lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/UMTS UMTS] - which is widespread in Europe and being deployed in the US, [http://en.wikipedia.org/wiki/HSDPA HSDPA] (asia) and any other mobile standards would be nice for faster data connectivity and coverage.&lt;br /&gt;
It is unlikely that all of these will be supported initially, but it is a goal. These faster standards operate in different frequencies from GSM/GPRS/EDGE. Which frequency exactly will depend on the carrier and country. For UMTS in the US, AT&amp;amp;T uses 850/1900 MHz but T-Mobile will use 2100/1700 MHz for example.&lt;br /&gt;
&lt;br /&gt;
Until that goal is reached, it is likely that some phones will be brought out for various specific markets - Europe, Asia, US.&lt;br /&gt;
&lt;br /&gt;
===Ability to use multiple SIMs/networks===&lt;br /&gt;
* External SIM sockets are widely available in China, a dual external socket would be a very good solution.&lt;br /&gt;
* [http://www.fonefunshop.co.uk/dualsim/digital.htm Dual SIM card kit] - two SIMs are trimmed and combined, software supportwould be needed, and both can't be used at once...&lt;br /&gt;
* Some networks support multiple numbers on one SIM. Unfortunately this won't allow split networks.&lt;br /&gt;
* A second/dual GSM module would allow full use of both sims at all times.&lt;br /&gt;
* As a hack, [http://wiki.openmoko.org/wiki/Wish_List#Bluetooth_powered_Multi-SIM_support use another mobile via BT].&lt;br /&gt;
** As many as three SIM slots would be genuinely useful, especially for a 3G phone - some 3G data tariffs are only available on data-only SIMs. A user could quite reasonably have one SIM for data, once SIM for his personal voice calls, and a third SIM for his business number.&lt;br /&gt;
&lt;br /&gt;
===PMR446/FRS Radio===&lt;br /&gt;
* Include a PMR/FRS Radio.&lt;br /&gt;
* A two-way walkie talkie lets you use the phone to communicate with friends without requiring a GSM connection (crowded networks at festivals, at locations with no GSM coverage).&lt;br /&gt;
&lt;br /&gt;
===[[DECT]]===&lt;br /&gt;
* Include a [[DECT]] GAP/CAT-iq transceiver so you can use your home and/or office PSTN line&lt;br /&gt;
** Ability to use Alcatel phonebook stuff (like provided by the eventphone.de phone equipment) would be very nice too&lt;br /&gt;
&lt;br /&gt;
===[[SIP phone]]===&lt;br /&gt;
Make stripped down (and thus cheaper) version of the Neo1973 phone for use as a SIP phone. Remove GPS, GSM, accelerometers, stylus.&lt;br /&gt;
&lt;br /&gt;
Addition of an centimeters-precise location system [http://en.wikipedia.org/wiki/Real_Time_Location_Systems RTLS] would be nice, as it will allow highly sensible indoor context detection. Imagine putting the phone next to your mirror (where you shave daily) and watch it automatically switch to news radio channel. Or put it next to your bed and see it automatically switch to &amp;quot;sleeping&amp;quot; mode, when only calls from predefined numbers are accepted.&lt;br /&gt;
&lt;br /&gt;
=='''Casing'''==&lt;br /&gt;
See also: [[Alternate Neo1973 case designs]] for a list of cases being considered for design/manufacture by the community.&lt;br /&gt;
&lt;br /&gt;
=== [[Hardware:Neo1973:Alternate_Cases:Expansion_Module_Casing | Expansion Module Casing]] ===&lt;br /&gt;
Longer case (150-160mm+) with space in the top to put expansion modules, including test &amp;amp; hobby hardware.  Would require use of a standard internal power &amp;amp; communications bus. Could be left empty with blank cover or house cameras, solar panels, a crank powered charger, special transmitters/recievers, or anything else imaginable.&lt;br /&gt;
&lt;br /&gt;
[http://www.likeasecret.com/Neo1973/Neo1973-Exp.mov Neo1973 Expansion Module Quicktime rendering]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Neo1973-Exp.png]]&lt;br /&gt;
&lt;br /&gt;
=== Expansion Back Casing ===&lt;br /&gt;
Replacement backs with additional features ranging from solar power, larger batteries, extra hardware, ...&lt;br /&gt;
&lt;br /&gt;
===[[Hardware:Neo1973:Alternate_Cases:Expansion_Front_Casing|Expansion Front Casing]]===&lt;br /&gt;
Replacement fronts with e.g. extra buttons.&lt;br /&gt;
&lt;br /&gt;
=== Space efficient Lanyard ===&lt;br /&gt;
The hole at the bottom of the phone takes a lot of space. A [http://en.wikipedia.org/wiki/Kensington_Security_Slot Kensington Security Slot] could be used instead.&lt;br /&gt;
&lt;br /&gt;
=== Rugged version ===&lt;br /&gt;
We need something you can drop from 4 feet in to a puddle of dirty water on construction site. Sunlight readable display, maybe aluminium case. The big ugly pseudo military version.&lt;br /&gt;
&lt;br /&gt;
=== Transparent ===&lt;br /&gt;
Make a transparent, see-through casing. Why do we need a closed casing for open hardware and open software? Show the world it is a truly Free/Open source phone.&lt;br /&gt;
&lt;br /&gt;
That makes sense to me. I second that idea!&lt;br /&gt;
&lt;br /&gt;
=== Blank ===&lt;br /&gt;
Even though the transparent case would work too, I would like to see a blank case of pure black or white so people could have the option of air-brushing,painting or even drawing on the case.&lt;br /&gt;
&lt;br /&gt;
==Misc==&lt;br /&gt;
===Galileo/GLONASS/GPS receiver===&lt;br /&gt;
*A multi-standard satellite positioning module would be nice eventually, it does not seem to be near-term due to chipset availability problems. Galileo is the to be launched (2011) European positioning system. GLONASS is the already existing Russian one.&lt;br /&gt;
&lt;br /&gt;
===X10 RF Remote===&lt;br /&gt;
Many PC-based media centers are being equipped with an RF (433 MHz) / X10-based remote control. The [http://en.wikipedia.org/wiki/X10_(industry_standard) X10] protocol also facilitates home automation to control lamps, switches, etc.&lt;br /&gt;
The advantages of using RF for control instead of Infra-red this that it also works when furniture, walls, or doors are blocking the path between RF remote and the equipment or device. [http://www.lirc.org/ Lirc] supports X10-based RF remotes (but expects having an USB RF receiver attached to the media center).&lt;br /&gt;
&lt;br /&gt;
===RFID tag/RFID Reader===&lt;br /&gt;
* Implementation/Cooperation with: [http://www.rfidguardian.org/ RFID-Guardian]&lt;br /&gt;
*An enable-able tag would be of use - for example being able to use the phone to open doors, or cars. Unfortunately, it's moderately hard to do secure programmable tags that are compatible with existing systems, for obvious reasons.&lt;br /&gt;
* Say you have RFID tags on your personal belongings: cellphone, keys... Neo could be programmed to remember the last recorded GPS location before it lost contact with the respective RFIDs. It'd be trivial to check where you left your cellphone, get directions from a map...or beep when the phone gets out of RFID range.&lt;br /&gt;
&lt;br /&gt;
*I agree with this idea, a great idea and you have to do it (Jackcday)&lt;br /&gt;
&lt;br /&gt;
===NFC chip===&lt;br /&gt;
*A Near Field Communication chip, with this chip it will be possible to pay with your phone (like a credit card)in the near future, see [http://www.nokia.com/A4305081 Nokia]for details&lt;br /&gt;
*NXP is a chip fabricator which provides NFC chips [http://nxp.com NXP] direct link&amp;gt;&amp;gt; www.nxp.com/#/pip/cb=[type=product,path=/53420/53424]|pip=[pfp=53424][0] their chips also support the above RFID reading&lt;br /&gt;
&lt;br /&gt;
===Less weight===&lt;br /&gt;
* Work on the weight of the Neo1973 and following devices. At the present time the Neo1973 is just a moderate / normal business or multimedia phone. The ordinary &amp;quot;user&amp;quot; may want something lighter. Take a look at the following table, that's the Neo1973 compared with other common bussiness or multimedia phones.&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
| Neo1973 || Fujitsu-Siemens LOOX N560 || E-Ten Glofiish X500+ || Sony Ericsson P990i || iPhone || Nokia E65 &lt;br /&gt;
|- &lt;br /&gt;
|  184 g  ||            160 g          ||         146 g        ||        150 g        ||  135 g ||   115 g   &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Make it smaller===&lt;br /&gt;
* To stay within physical matters: Maybe the Neo1973 is also just a normal business/multimedia phone when looking at the size. It would be great the shrink it a bit. Especially the thickness of 18.5 mm could be worked on!&lt;br /&gt;
&lt;br /&gt;
===Standard 3.5mm headphone jack===&lt;br /&gt;
The Neo1973 uses a 4-conductor 2.5mm jack for stereo headphones and a microphone. A 2.5mm jack is the most common for headsets. &lt;br /&gt;
&lt;br /&gt;
There is an emerging convention used in the Nokia N800 and some other devices. A 4-conductor 3.5mm jack that can use a microphone with special headsets, but can also be used with off-the-shelf 3.5mm stereo headphones. Adapters to 2.5mm are of course available and this 3.5mm jack is much more robust.&lt;br /&gt;
&lt;br /&gt;
Neglecting space limitations, multiple sockets - 2.5mm and 3.5mm would be nice. Probably not practical in a phone. Other expanded plugs might allow remote controls.&lt;br /&gt;
&lt;br /&gt;
Other uses might be better met using bluetooth, or USB audio.&lt;br /&gt;
&lt;br /&gt;
===Laser Pointer===&lt;br /&gt;
Include a built in laser pointer.  Everything is better with lasers.&lt;br /&gt;
&lt;br /&gt;
===Completely free hardware===&lt;br /&gt;
Consider selling one device with absolutely no non-free components in it, even if that means dropping the GSM support.  I believe having one such device available would be good, because then it could be recommended by organizations like the FSF which typically never recommends anything if it has even a little non-free code in it.&lt;br /&gt;
&lt;br /&gt;
=== Consider economy / inexpensive / less featured edition ===&lt;br /&gt;
Some people want less features, because they do not need them. Leaving out some features either lets the phone get smaller or possibly enhances battery live.&lt;br /&gt;
&lt;br /&gt;
One big suggestion in this area is a b/w lower res display instead of the big color display.&lt;br /&gt;
&lt;br /&gt;
=== Inductive Charger ===&lt;br /&gt;
&lt;br /&gt;
It would be nice if it was possible to charge the phone without having to connect a cable. I'd like to have a simple docking station with an inductive charger like the type that's used for electric toothbrushes [http://home.howstuffworks.com/question292.htm ]. The charger itself could get its power from a standard wall-wart power supply, or it could be USB/Firewire powered.&lt;br /&gt;
&lt;br /&gt;
=== Solarpanel/dynamo Charger===&lt;br /&gt;
&lt;br /&gt;
It would be very nice to be able to charge the phone outside of the electric grid (for example on hikes and boating trips). A combined solarpanel and muscle empowered (rotational etc.) charger would do the trick nicely.&lt;br /&gt;
&lt;br /&gt;
'''some mobile Solarpanels'''&lt;br /&gt;
 	&lt;br /&gt;
[http://www.globetrotter.de/de/shop/detail.php?mod_nr=off01011&amp;amp;k_id=1400&amp;amp;hot=0 Off-Grid Systems Sunbag L]&lt;br /&gt;
&lt;br /&gt;
[http://www.globetrotter.de/de/shop/detail.php?mod_nr=off01001&amp;amp;k_id=1400&amp;amp;hot=0 Off-Grid Systems Sunbag S]&lt;br /&gt;
&lt;br /&gt;
[http://www.globetrotter.de/de/shop/detail.php?mod_nr=sv_01011&amp;amp;k_id=1400&amp;amp;hot=0 Silva Solar I]&lt;br /&gt;
&lt;br /&gt;
[http://www.globetrotter.de/de/shop/detail.php?mod_nr=sv_01012&amp;amp;k_id=1400&amp;amp;hot=0 Silva Solar II]&lt;br /&gt;
&lt;br /&gt;
[http://www.globetrotter.de/de/shop/detail.php?mod_nr=sol01011&amp;amp;k_id=1400&amp;amp;hot=0 Solarc e-Go Professional]&lt;br /&gt;
&lt;br /&gt;
[http://www.heise.de/mobil/suche/ergebnis?rm=result;q=solar;url=/mobil/artikel/74142/;words=solar Solarc e-Go *] &lt;br /&gt;
&lt;br /&gt;
[http://www.heise.de/newsticker/suche/ergebnis?rm=result;words=Solar%20solar;q=solar;url=/newsticker/meldung/91536/ Solar JKT]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- I think a dynamo charger (&amp;quot;share charger&amp;quot;, rotational, ...) would be more practical as a peripheral, connected through the USB-interface using the same principle cellphones now charge when connected to an USB-port. You could very easily hack this together. [http://www.metacafe.com/watch/449950/hack_a_flashlight_to_power_your/ flashligh recharge hack]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Random thought; Why not create some merchandise toys with a small lithium battery which charge through centrifugal force allowing to recharge the phone with a small &amp;quot;general&amp;quot; connector.&lt;br /&gt;
&lt;br /&gt;
[http://www.heise.de/mobil/artikel/61368/0 Article about aome mobile power-sources]&lt;br /&gt;
&lt;br /&gt;
=== Plastic Solar/Back side on the Neo===&lt;br /&gt;
&lt;br /&gt;
Sollar cells from Plastic, on the reverse side of the Neo 1973&lt;br /&gt;
modified and intergreated in the batery backcover/flap,&lt;br /&gt;
like an energy source when the display is in standby mode.&lt;br /&gt;
Thats can be use also as alternate charge method's and also helps in emergency.&lt;br /&gt;
&lt;br /&gt;
==Related Hardware==&lt;br /&gt;
See [[Related Hardware]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware ideas| ]]&lt;br /&gt;
[[Category:User]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Neo_1973_hardware</id>
		<title>Neo 1973 hardware</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Neo_1973_hardware"/>
				<updated>2008-01-24T15:42:41Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: /* Main components */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OpenMoko]] is a software distribution stack that sits on top of a [[hardware]] platform.  The [[Neo1973]] phone is the first hardware platform to take advantage of OpenMoko.  You can find specifics of the [[:Category:Neo1973 Hardware | Neo1973 Hardware]] by reviewing this introduction page and the pages in the category as shown at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
'''Note that this page is about the first version of Neo1973 hardware, which may be discontinued. The future one is GTA02 of which there is an own page: [[Neo1973 GTA02 Hardware]].'''&lt;br /&gt;
&lt;br /&gt;
[[Image:Gta01b v3 top.jpg|thumb|400px|display (top) side]]&lt;br /&gt;
[[Image:Gta01b v3 bottom.jpg|thumb|400px|component (back) side]]&lt;br /&gt;
&lt;br /&gt;
==User experiences of Phase 0 hardware==&lt;br /&gt;
[[Wishlist:Neo1973_P0_Review]]&lt;br /&gt;
&lt;br /&gt;
==User reports of robustness==&lt;br /&gt;
User experiences - drops onto concrete - ... [[Neo1973 Robustness]]&lt;br /&gt;
&lt;br /&gt;
== Physical Dimensions ==&lt;br /&gt;
* 120.7 x 62 x 18.5 mm (4.75 x 2.44 x 0.728 inch)&lt;br /&gt;
* 184 +/- 5 g (6.5 ounces)&lt;br /&gt;
* For the purposes of acquiring/cutting a properly sized screen protector, the display hole of the case is about 45 x 59 mm, while the top cover internal frame can house up to a 53 x 74 mm protector; sizes much larger than the display hole would obviously necessitate removing the front cover for installation.&lt;br /&gt;
* A Useful size comparison between the Neo1973, iPhone, Motorola A1200 and the SEM600i can be seen at [http://www.sizeasy.com/page/size_comparison/5512-Neo1973-vs-Apple-iPhone-vs-M600i-2-vs-A-1200 sizeasy]&lt;br /&gt;
&lt;br /&gt;
== Main components ==&lt;br /&gt;
=== Processor ===&lt;br /&gt;
The main Processor (CPU) of the Neo1973 is a Samsung S3C2410AL-26 (Capable of running up to 266 MHz)&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=S3C2410 S3C2410.htm]&lt;br /&gt;
* User Manual: [http://www.samsung.com/global/business/semiconductor/productRightMenuDown.do?doc_file=26537 2410UserManual.pdf]&lt;br /&gt;
* BSDL File: [http://www.samsung.com/global/business/semiconductor/productRightMenuDown.do?doc_file=26554 S3C2410_BGA_BSDLJTAGFILE.bsd]&lt;br /&gt;
* GPIO Assignments: https://svn.openmoko.org/trunk/doc/hardware/GTA01Bv4/gpio.txt&lt;br /&gt;
&lt;br /&gt;
=== Flash ===&lt;br /&gt;
64MB Samsung NAND flash (K9F1208U0B) attached to S3C2410 NAND controller.&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=158&amp;amp;partnum=K9F1208U0B]&lt;br /&gt;
* Data Sheet: [http://www.samsung.com/global/system/business/semiconductor/product/2007/6/11/NANDFlash/SLC_SmallBlock/512Mbit/K9F1208U0B/ds_k9f1208x0b_rev03.pdf]&lt;br /&gt;
* Connected to: S3C2410 NAND controller&lt;br /&gt;
&lt;br /&gt;
This is the only flash memory in the device.  The S3C2410 boots directly from nand, using the [[S3C2410 Steppingstone]].&lt;br /&gt;
&lt;br /&gt;
We only use free software, no proprietary flash file systems.  For a full description of how it is used, see [[NAND bad blocks]]&lt;br /&gt;
&lt;br /&gt;
=== RAM ===&lt;br /&gt;
128MB SDRAM (2x Samsung K4M511633C) attached to S3C2410 SDRAM controller&lt;br /&gt;
* Product Homepage: [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=136&amp;amp;partnum=K4M511633C]&lt;br /&gt;
* Data Sheet: [http://www.samsung.com/global/system/business/semiconductor/product/2007/6/11/MobileSDRAM/MobileSDRSDRAM/512Mbit/K4M511633C/ds_k4m511633c.pdf]&lt;br /&gt;
* Connected to: S3C2410 &lt;br /&gt;
&lt;br /&gt;
=== GSM/GPRS ===&lt;br /&gt;
The [[GSM]] (including GPRS) modem is Texas Instruments Calypso based.&lt;br /&gt;
&lt;br /&gt;
* Connected to: S3C2410 UART1 (full-uart, RxD, TxD, CTS, RTS), /dev/ttySAC0 in userspace&lt;br /&gt;
* PM Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-power_control.patch&lt;br /&gt;
* Accessible GSM/GPRS antenna jack (if battery cover is removed)&lt;br /&gt;
&lt;br /&gt;
==== CALYPSO digital baseband ====&lt;br /&gt;
Unfortunately we cannot provide many details on the GSM chipset due to very tight NDAs.  However, this is not neccessarily required, since it interfaces using a standard UART serial line with the S3C2410.  On that interface, [http://www.3gpp.org/ftp/Specs/archive/07_series/07.05/ GSM 07.05], [http://www.3gpp.org/ftp/Specs/archive/07_series/07.10/ GSM 07.10] and other standardized protocols are used.&lt;br /&gt;
&lt;br /&gt;
==== TWL3014 analog baseband ====&lt;br /&gt;
Product Homepage: [http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&amp;amp;navigationId=12295&amp;amp;contentId=4703 TWL3014]&lt;br /&gt;
&lt;br /&gt;
==== TRF6151 RF Transceiver ====&lt;br /&gt;
Product Homepage: [http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&amp;amp;navigationId=12296&amp;amp;contentId=4701 TRF6151] &amp;lt;br&amp;gt;&lt;br /&gt;
GPRS Class12/CS4 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Hardware:AGPS|AGPS]] ===&lt;br /&gt;
Hammerhead PMB 2520 AGPS from Global Locate.&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.globalocate.com/SEMICONDUCTORS/SEMI_HAMMER_Frameset.htm Hammerhead]&lt;br /&gt;
* Connected to: S3C2410 UART2 (full-uart, RxD, TxD, CTS, RTS) /dev/ttySAC1 in userspace&lt;br /&gt;
* Driver: Implemented as a binary with NMEA output suitable for the gpsd daemon ([[gpsd]])&lt;br /&gt;
* PM Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-power_control.patch&lt;br /&gt;
* Externally-accessible GPS antenna connector of type MMCX&lt;br /&gt;
&lt;br /&gt;
The binary driver is available - see [[GLLIN]]. &lt;br /&gt;
Efforts to reverse engineer the protocol are partially detailed in [[Hammerhead/Protocol]], these have stalled since the announcement that [[FreeRunner]] will use a different GPS.&lt;br /&gt;
&lt;br /&gt;
=== microSD-Card ===&lt;br /&gt;
The Neo1973 has one microSD aka Transflash slot.&lt;br /&gt;
It supports SDHC.  MicroSD slot is [[Disassembling_Neo1973#Opening_back_cover|under battery]].&lt;br /&gt;
* Connected to: S3C2410 MMC/SD controller&lt;br /&gt;
* Mounted to: /media/card&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/s3c_mci.patch&lt;br /&gt;
* [[Supported microSD cards]]&lt;br /&gt;
* Specifications: [http://www.sdcard.org/confirm/confirm_memorycard.aspx SD Simplified Specification], [http://www.mmca.org/compliance/buy_spec/AN_MMCA050419.pdf MMC (partial)], [http://www.sandisk.com/Assets/File/OEM/Manuals/manual-rs-mmcv1.0.pdf MMC (product manual)]&lt;br /&gt;
&lt;br /&gt;
=== LCD Module (LCM) ===&lt;br /&gt;
This is a 2.8&amp;quot; diagonal (1.7&amp;quot; x 2.27&amp;quot; - 43mm x 58mm) 480x640 toppoly (tpo) TD028TTEC1 module (283 DPI), using a Toshiba JBT6K74 TFT LCD Driver Chipset.&lt;br /&gt;
* Homepage: [http://www.tpo.biz/ENG/business-eng/Activer-Matrix-VGA.htm Activer-Matrix-VGA.htm]&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-jbt6k74.patch&lt;br /&gt;
* Backlight Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-backlight.patch&lt;br /&gt;
* Connected to: S3C2410 Display Controller and S3C2410 SPI Interface channel 1&lt;br /&gt;
* Backlight controllable via /sys/class/backlight/gta01-bl&lt;br /&gt;
&lt;br /&gt;
==== Touch Screen ====&lt;br /&gt;
* Connected to: S3C2410 TS controller&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/s3c2410_touchscreen.patch&lt;br /&gt;
&lt;br /&gt;
==== Stylus ====&lt;br /&gt;
&lt;br /&gt;
Seemingly identical to [http://cgi.ebay.com/4in1-PDA-Stylus-LED-Light-Torch-Laser-Pointer-Pen-h7_W0QQitemZ280089656134QQihZ018QQcategoryZ48677QQrdZ1QQcmdZViewItem this one on ebay]&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth ===&lt;br /&gt;
Delta DFBM-CS320 Class2 Module, using CSR BlueCore4 (V2.0+EDR).&lt;br /&gt;
&lt;br /&gt;
* Data Sheet: [http://www.delta.com.tw/product/cp/vco/BT/download/pdf/CS/2.DFBM-CS320.pdf 2.DFBM-CS320.pdf]&lt;br /&gt;
* CSR Data Sheet: [http://www.csrsupport.com/download/2302/CS-101564-DSP10%20BlueCore4-ROM%20Product%20Data%20Sheet.pdf CS-101564-DSP10 BlueCore4-ROM Product Data Sheet.pdf]&lt;br /&gt;
* Driver: Stock Linux Kernel BlueZ&lt;br /&gt;
* Connected to: S3C2410 USB Host controller (OHCI)&lt;br /&gt;
* PM Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-power_control.patch&lt;br /&gt;
&lt;br /&gt;
=== Vibrator ===&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-vibrator.patch&lt;br /&gt;
* Connected to: S3C2410 GPIO&lt;br /&gt;
* Controllable via /sys/class/leds/gta01:vibrator&lt;br /&gt;
&lt;br /&gt;
=== USB Host ===&lt;br /&gt;
The USB Host controller is inside the S3C2410&lt;br /&gt;
* Driver: Stock Linux kernel ohci_hcd&lt;br /&gt;
&lt;br /&gt;
=== USB Device ===&lt;br /&gt;
The USB Device controller is inside the S3C2410 &lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/s3c2410_udc.patch&lt;br /&gt;
* Please see [[USB Product IDs]] on information about which Vendor/Product IDs we use&lt;br /&gt;
* 1200mAh lithium battery charges when connected to powered host.&lt;br /&gt;
* Mini-B connector [http://www.cypressindustries.com/enlarge.asp?Img=products/images/ccmusbb-32005-601.gif this one].&lt;br /&gt;
* This can be used as a USB host: [[Neo1973_USB_host]]&lt;br /&gt;
&lt;br /&gt;
=== I2C Devices ===&lt;br /&gt;
The I2C is a simple communication standard intended to move small amounts of data a few inches between chips.&lt;br /&gt;
Please see [[I2C | Neo I2C Devices]] for more information &amp;amp; a list of devices &amp;amp; the addresses currently in use &amp;amp; documented for the Neo1973.&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
See also: [[Neo1973 Audio Subsystem]]&lt;br /&gt;
&lt;br /&gt;
==== Wolfson Codec ====&lt;br /&gt;
&lt;br /&gt;
''Main article: [[WM8753]]''&lt;br /&gt;
&lt;br /&gt;
There's a [[WM8753]] Wolfson Microelectronics ''codec'' (This is not a &amp;quot;smart&amp;quot; codec that can interpret MP3/... it is a simple dumb &amp;quot;sound card&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Stereo Amplifier ====&lt;br /&gt;
There's a National Semiconductor [[LM4857]] Stereo Amplifier at the analog audio output of the WM8753&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.national.com/pf/LM/LM4857.html LM4857.html]&lt;br /&gt;
* Data Sheet: [http://www.national.com/ds.cgi/LM/LM4857.pdf LM4857.pdf]&lt;br /&gt;
* Connects to: S3C2410 I2C (Control)&lt;br /&gt;
&lt;br /&gt;
==== Analog wired Headset ====&lt;br /&gt;
There's a four-ring 2.5mm stereo jack which provides connectivity to old-fashioned wired headsets.&lt;br /&gt;
&lt;br /&gt;
The headsets used by Motorola smartphones (A780,A1200, ...) and the V-360 have a compatible configuration.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth Headset ====&lt;br /&gt;
This one is wired via PCM bus from the CSR Bluetooth chip to the Wolfson codec.&lt;br /&gt;
&lt;br /&gt;
=== Power Management ===&lt;br /&gt;
A Philips PCF50606 is used for [[Neo1973_Power_Management|power management]].&lt;br /&gt;
&lt;br /&gt;
* Data Sheet: [http://www.nxp.com/acrobat/literature/9397/75009763.pdf PCF50606/605]&lt;br /&gt;
* User Manual: [http://www.rockbox.org/twiki/pub/Main/DataSheets/pcf50606.pdf pcf50606.pdf]&lt;br /&gt;
* Connected to: S3C2410 via I2C, client address is 0x08. &lt;br /&gt;
* Driver Source: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-pcf50606.patch&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
The [[Neo1973 Battery]] is compatible with a Nokia BL5C battery.&lt;br /&gt;
According to [http://lists.openmoko.org/pipermail/community/2007-February/003758.html this] post on the mailinglist.&lt;br /&gt;
[http://wiki.openmoko.org/index.php?title=Image:Neo1973-with-BL5C-battery.png Photo] of the battery inside the Neo1973.&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
The Neo1973 features two buttons:&lt;br /&gt;
# [[Neo1973 Power Button|The Power Button]]&lt;br /&gt;
# [[Neo1973 AUX Button|The &amp;quot;Aux&amp;quot; button]]&lt;br /&gt;
&lt;br /&gt;
=== Alternate cases ===&lt;br /&gt;
A number of alternate case designs have been suggested and requested.&lt;br /&gt;
&lt;br /&gt;
[[Neo1973 case schematics]]&lt;br /&gt;
&lt;br /&gt;
[[Alternate Neo1973 case designs]]&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
=== GTA01 ===&lt;br /&gt;
This is the most simple, non-bluetooth version of the prototype.&lt;br /&gt;
&lt;br /&gt;
==== GTA01v3 ====&lt;br /&gt;
First generation of prototypes that was given to internal OpenMoko software developers.&lt;br /&gt;
&lt;br /&gt;
Unfortunately not useful at all due to non-working touchscreen.&lt;br /&gt;
&lt;br /&gt;
* ATAG_REVISION: 0x0000130&lt;br /&gt;
&lt;br /&gt;
==== GTA01v4 ====&lt;br /&gt;
Second generation of prototypes that was given to [[User:HaraldWelte|Harald]] +[[User:Mickey|Mickey]].&lt;br /&gt;
&lt;br /&gt;
Unfortunately still not useful due to half-working touchscreen.&lt;br /&gt;
&lt;br /&gt;
* ATAG_REVISION: 0x00000140&lt;br /&gt;
&lt;br /&gt;
=== GTA01B ===&lt;br /&gt;
This is the bluetooth-enabled fork of GTA01&lt;br /&gt;
&lt;br /&gt;
==== GTA01Bv2 ====&lt;br /&gt;
This is the first produced version of the bluetooth-enabled version.&lt;br /&gt;
&lt;br /&gt;
* ATAG_REVISION: 0x00000220&lt;br /&gt;
&lt;br /&gt;
==== GTA01Bv3 ====&lt;br /&gt;
This is the second produced version of the bluetooth-enabled version. It contains mainly GPS-related fixes.&lt;br /&gt;
&lt;br /&gt;
* ATAG_REVISION: 0x00000230&lt;br /&gt;
&lt;br /&gt;
This is the version that is shipped in [[Neo1973#Phase_0_.28GTA01Bv3.29|Phase 0]].&lt;br /&gt;
&lt;br /&gt;
===== GTA01Bv3 Errata =====&lt;br /&gt;
====== PMU unable to resume from suspend ======&lt;br /&gt;
Due to use of wrong GPIO/EINT pin, the PMU cannot wake-up the phone after suspend.  This means, specifically, '''the following events can not bring the phone back from suspend-to-ram''':&lt;br /&gt;
* PMU RTC Alarm&lt;br /&gt;
* Power button press&lt;br /&gt;
* Charger events (charger insertion/removal/error)&lt;br /&gt;
* Low battery&lt;br /&gt;
&lt;br /&gt;
====== Stand-by time extremely low ======&lt;br /&gt;
This is due to a design bug resulting in at least 30mA additional standby current, since we cannot properly switch off the power supply to the S3C2410 PLL's.  There is nothing we can do to change this with post-production fixes.  GTA01Bv4 will address this issue.&lt;br /&gt;
&lt;br /&gt;
====== GSM doesn't resume phone from suspend ======&lt;br /&gt;
The GSM modem currently doesn't signalize a wakeup interrupt to the S3C2410 in case there's some noteworthy event, such as incoming call, loss of network, incoming SMS or the like.&lt;br /&gt;
&lt;br /&gt;
This is a serious issue, but can be fixed with a GSM Modem Firmware update.&lt;br /&gt;
&lt;br /&gt;
====== GSM Sidetone too loud ======&lt;br /&gt;
The local feedback sidetone (see [http://en.wikipedia.org/wiki/Sidetone]) is too loud.  This will be addressed in a GSM firmware update&lt;br /&gt;
&lt;br /&gt;
====== Bad block ======&lt;br /&gt;
Due to an error in the production process, the factory-programmed NAND bad block information has been lost.  This means that some blocks in the flash will wear out rapidly, which might become as bad as rendering the device unusable.&lt;br /&gt;
&lt;br /&gt;
==== GTA01Bv4 ====&lt;br /&gt;
This is the version that is being shipped in [[Neo1973#Phase_1_.28GTA01Bv4.29|Phase 1]]&lt;br /&gt;
&lt;br /&gt;
===== Looks =====&lt;br /&gt;
This is what the GTA01Bv4 PCB looks like without the shielding cans, which will be fitted later.&lt;br /&gt;
[[Image:Gta01b_v4_front.jpg|thumb|400px|Component side]]&lt;br /&gt;
[[Image:Gta01b_v4_back.jpg|thumb|400px|Display side]]&lt;br /&gt;
&lt;br /&gt;
===== Errata =====&lt;br /&gt;
&lt;br /&gt;
There were two versions of GTA01Bv4: some were given away (red mainboard), and some were sold (green mainboard). The given-away have [[one transistor too many]].&lt;br /&gt;
&lt;br /&gt;
===== Changes from GTA01Bv3 =====&lt;br /&gt;
# Fix all Errata items from GTA01Bv3&lt;br /&gt;
# Add I2C, SPI and one irq and wakeup capable GPIO pin to debug port plus have test pads for all these signals (for soldering wires directly on the pcb)&lt;br /&gt;
# Fix a number of production related details and minor hardware details that are not user-visible&lt;br /&gt;
&lt;br /&gt;
===GTA02===&lt;br /&gt;
The [[GTA02#.22Phase_2.22_.28GTA02.2C_.22Mass_Market.22.29|GTA02]] is now called FreeRunner and shipped within the &amp;quot;Mass Market launch&amp;quot; (see [http://wiki.openmoko.org/wiki/Neo1973#.22Phase_2.22_.28GTA02.2C_.22Mass_Market.22.29|timeline]).&lt;br /&gt;
It is a new main release with [[Neo1973:_GTA01Bv4_versus_GTA02_comparison|features added]]&lt;br /&gt;
&lt;br /&gt;
===Debug Connector===&lt;br /&gt;
This is the connector used to connect the [[Debug Board]] and possibly other hardware.&lt;br /&gt;
&lt;br /&gt;
Connections are:&lt;br /&gt;
* 39 - GND&lt;br /&gt;
* 38 - STDI&lt;br /&gt;
* 37 - _RESET&lt;br /&gt;
* 36 - STMS&lt;br /&gt;
* 35 - STCK&lt;br /&gt;
* 34 - STDO&lt;br /&gt;
* 33 - GSM_EN&lt;br /&gt;
* 29 - _STRST&lt;br /&gt;
* 19 - X_I2C_SCL (H-TP4703)&lt;br /&gt;
* 18 - X_I2C_SDA (H-TP4704)&lt;br /&gt;
* 17 - SPI_CLK0&lt;br /&gt;
* 16 - SPI_MOSI0&lt;br /&gt;
* 15 - SPI-MISO0 &lt;br /&gt;
* 14 - SS0&lt;br /&gt;
* 13 - EINT3 (H-TP4705)&lt;br /&gt;
* 3 - MODEM_TXD (H-TP4701)&lt;br /&gt;
* 2 - MODEM_RXD (H-TP4702)&lt;br /&gt;
&lt;br /&gt;
Information from [http://people.openmoko.org/roh/Debugport_GTA01bv4.png].&lt;br /&gt;
&lt;br /&gt;
== Distinguishing hardware revisions ==&lt;br /&gt;
=== Inside the [[Bootloader]] ===&lt;br /&gt;
Every hardware revision has its own u-boot image type.  Thus, the bootloader has the revision hard-coded.&lt;br /&gt;
The hardware revision is passed on to the kernel via the ATAG mechanism (ATAG_REVISION)&lt;br /&gt;
&lt;br /&gt;
=== Inside the [[Kernel]] ===&lt;br /&gt;
The kernel receives the ATAG_REVISION during bootup, and saves its contents in the &amp;quot;system_rev&amp;quot; global variable.&lt;br /&gt;
&lt;br /&gt;
=== From Userspace ===&lt;br /&gt;
The kernel exports the system_rev variable in /proc/cpuinfo as &amp;quot;Revision :&amp;quot; line.&lt;br /&gt;
&lt;br /&gt;
??? So does GTA01Bv4 equal the cat /proc/cpuinfo output of&lt;br /&gt;
 Hardware        : GTA01&lt;br /&gt;
 Revision        : 0240&lt;br /&gt;
&lt;br /&gt;
== Approval ==&lt;br /&gt;
*CE compliance is needed before a product can be sold in the EU. The CE mark indicates that a product complies to the relevant legislation, defined in the  [http://ec.europa.eu/enterprise/newapproach/standardization/harmstds/reflist.html harmonised standards]. This refers also to the most relevant, for the Neo1973,  [http://ec.europa.eu/enterprise/newapproach/standardization/harmstds/reflist/emc.html Directive 89/336/EEC on electromagnetic compatibility] (EMC is the art of assuring [http://en.wikipedia.org/wiki/Electromagnetic_compatibility electromagnetic compatibility] between products). The standards are defined by [http://www.cenelec.org CENELEC] (European Committee for Electrotechnical Standardization), but not verified by any authority. It is the responsibilty of the manufacturer to convince himself that a product is in compliance, and is obligated to be able to prove this (with relevant technical documentation) for a specific product to the authorities on request. Whether the current Phase 1 devices are actually tested against the directives are unknown, no documentation has been disclosed, other than the fact that the devices bear the CE mark.&lt;br /&gt;
&lt;br /&gt;
*[http://www.fcc.gov/ FCC]&lt;br /&gt;
&lt;br /&gt;
{{Languages|Neo1973 Hardware}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Neo1973 Hardware| ]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Neo_FreeRunner_Hardware</id>
		<title>Neo FreeRunner Hardware</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Neo_FreeRunner_Hardware"/>
				<updated>2008-01-24T15:41:26Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: /* I2C Devices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OpenMoko]] is a software distribution stack that sits on top of a [[hardware]] platform.  The [[Neo1973|Neo1973 GTA02]] phone is the first hardware platform to take advantage of OpenMoko.  You can find specifics of the [[:Category:Neo1973 Hardware | Neo1973 Hardware]] by reviewing this introduction page and the pages in the category as shown at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
{{note|This page is about hardware that is currently in '''design/prototype''' phase, changes are frequent}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Gta01b v3 top.jpg|thumb|400px|display (top) side NOTE: old GTA01 photo]]&lt;br /&gt;
[[Image:Gta01b v3 bottom.jpg|thumb|400px|component (back) side NOTE: old GTA01 photo]]&lt;br /&gt;
&lt;br /&gt;
== Physical Dimensions ==&lt;br /&gt;
* 120.7 x 62 x 18.5 mm (4.75 x 2.44 x 0.728 inch)&lt;br /&gt;
* 184 +/- 5 g (6.5 ounces)&lt;br /&gt;
&lt;br /&gt;
== Main components ==&lt;br /&gt;
=== Processor ===&lt;br /&gt;
The main Processor (CPU) of the Neo1973 GTA02 is a [[Samsung S3C2442B]] (running at 400 MHz)&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=SC32442 Samsung SC32442B]&lt;br /&gt;
* User Manual: FIXME&lt;br /&gt;
* BSDL File: FIXME&lt;br /&gt;
* GPIO Assignments: https://svn.openmoko.org/trunk/doc/hardware/GTA02v4/gpio.txt&lt;br /&gt;
&lt;br /&gt;
=== Flash ===&lt;br /&gt;
256MB integrated Samsung NAND flash inside the 2442 multi-chip package, attached to the S3C2442 NAND controller&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: FIXME&lt;br /&gt;
* Data Sheet: FIXE&lt;br /&gt;
* Connected to: S3C2442 NAND controller&lt;br /&gt;
&lt;br /&gt;
12MBit NOR flash for 'unbrickable emergency boot' feature.&lt;br /&gt;
&lt;br /&gt;
=== RAM ===&lt;br /&gt;
128MB SDRAM (64MB inside 2442 MCP, 1x Samsung K4M51323PC) attached to S3C2442 SDRAM controller&lt;br /&gt;
* Product Homepage: [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=136&amp;amp;partnum=K4M51323PC Samsung K4M51323PC]&lt;br /&gt;
* Data Sheet: [http://www.samsung.com/global/system/business/semiconductor/product/2007/6/11/MobileSDRAM/MobileSDRSDRAM/512Mbit/K4M51323PC/ds_k4m51323pc.pdf Samsung K4M51323PC]&lt;br /&gt;
* Connected to: S3C2442 &lt;br /&gt;
&lt;br /&gt;
=== GSM/GPRS ===&lt;br /&gt;
The [[GSM]] (including GPRS) modem is Texas Instruments Calypso based.&lt;br /&gt;
&lt;br /&gt;
* Connected to: S3C2442 UART1 (full-uart, RxD, TxD, CTS, RTS), /dev/ttySAC0 in userspace&lt;br /&gt;
* PM Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-power_control.patch&lt;br /&gt;
* Accessible GSM/GPRS antenna jack (if battery cover is removed)&lt;br /&gt;
&lt;br /&gt;
==== CALYPSO digital baseband ====&lt;br /&gt;
Unfortunately we cannot provide many details on the GSM chipset due to very tight NDAs.  However, this is not neccessarily required, since it interfaces using a standard UART serial line with the S3C2442.  On that interface, [http://www.3gpp.org/ftp/Specs/archive/07_series/07.05/ GSM 07.05], [http://www.3gpp.org/ftp/Specs/archive/07_series/07.10/ GSM 07.10] and other standardized protocols are used.&lt;br /&gt;
&lt;br /&gt;
==== TWL3014 analog baseband ====&lt;br /&gt;
Product Homepage: [http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&amp;amp;navigationId=12295&amp;amp;contentId=4703 TWL3014]&lt;br /&gt;
&lt;br /&gt;
==== TRF6151 RF Transceiver ====&lt;br /&gt;
Product Homepage: [http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&amp;amp;navigationId=12296&amp;amp;contentId=4701 TRF6151] &amp;lt;br&amp;gt;&lt;br /&gt;
GPRS Class12/CS4 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Hardware:AGPS|GPS]] ===&lt;br /&gt;
&lt;br /&gt;
U-blox ANTARIS 4 chip&lt;br /&gt;
* Connected to: S3C2442 UART2, /dev/ttySAC1 in userspace&lt;br /&gt;
* Driver: none needed, talks standard NMEA&lt;br /&gt;
* Datasheet: [http://atmel.com/dyn/resources/prod_documents/doc4928.pdf Atmel ATR0635]&lt;br /&gt;
&lt;br /&gt;
=== microSD-Card ===&lt;br /&gt;
The Neo1973 has one microSD aka Transflash slot.&lt;br /&gt;
It should support SDHC, and 4GB card has been tested. Anyone with 8GB card? MicroSD slot is [[Disassembling_Neo1973#Opening_back_cover|under battery]].&lt;br /&gt;
* Connected to: Glamo 3362 MMC/SD controller&lt;br /&gt;
* Driver: TBD&lt;br /&gt;
* [[Supported microSD cards]]&lt;br /&gt;
* Specifications: [http://www.sdcard.org/about/memory_card/pls/ SD Simplified Specification], [http://www.mmca.org/compliance/buy_spec/AN_MMCA050419.pdf MMC (partial)], [http://www.sandisk.com/Assets/File/OEM/Manuals/manual-rs-mmcv1.0.pdf MMC (product manual)]&lt;br /&gt;
&lt;br /&gt;
=== LCD Module (LCM) ===&lt;br /&gt;
This is a 2.8&amp;quot; diagonal (1.7&amp;quot; x 2.27&amp;quot; - 43mm x 58mm) 480x640 toppoly (tpo) TD028TTEC1 module, using a Toshiba JBT6K74 TFT LCD Driver Chipset.&lt;br /&gt;
* Homepage: [http://www.tpo.biz/ENG/business-eng/Activer-Matrix-VGA.htm Activer-Matrix-VGA.htm]&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-jbt6k74.patch&lt;br /&gt;
* Backlight Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-backlight.patch&lt;br /&gt;
* Connected to: Glamo3362 LCM interface and Glamo3362 SPI Interface&lt;br /&gt;
&lt;br /&gt;
==== Touch Screen ====&lt;br /&gt;
* Connected to: S3C2442 TS controller&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/s3c2410_touchscreen.patch&lt;br /&gt;
&lt;br /&gt;
==== Stylus ====&lt;br /&gt;
&lt;br /&gt;
Seemingly identical to [http://search.ebay.com/4in1-PDA-Stylus-LED-Light-Torch-Laser-Pointer-Pen this one on ebay]&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth ===&lt;br /&gt;
Delta DFBM-CS320 Class2 Module, using CSR BlueCore4&lt;br /&gt;
&lt;br /&gt;
* Data Sheet: [http://www.delta.com.tw/product/cp/vco/BT/download/pdf/CS/2.DFBM-CS320.pdf 2.DFBM-CS320.pdf]&lt;br /&gt;
* CSR Data Sheet: [http://www.csrsupport.com/download/2302/CS-101564-DSP10%20BlueCore4-ROM%20Product%20Data%20Sheet.pdf CS-101564-DSP10 BlueCore4-ROM Product Data Sheet.pdf]&lt;br /&gt;
* Driver: Stock Linux Kernel BlueZ&lt;br /&gt;
* Connected to: S3C2442 USB Host controller (OHCI)&lt;br /&gt;
* PM Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-power_control.patch&lt;br /&gt;
&lt;br /&gt;
=== Vibrator ===&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-vibrator.patch&lt;br /&gt;
* Connected to: S3C2442 GPIO&lt;br /&gt;
&lt;br /&gt;
=== USB Host ===&lt;br /&gt;
The USB Host controller is inside the S3C2442&lt;br /&gt;
* Driver: Stock Linux kernel ohci_hcd&lt;br /&gt;
* USB version 1.1&lt;br /&gt;
&lt;br /&gt;
=== USB Device ===&lt;br /&gt;
The USB Device controller is inside the S3C2442 &lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/s3c2410_udc.patch&lt;br /&gt;
* Please see [[USB Product IDs]] on information about which Vendor/Product IDs we use&lt;br /&gt;
* 1200mAh lithium battery charges when connected to powered host.&lt;br /&gt;
* Mini-AB connector similar to [http://www.cypressindustries.com/shoponline/proddetail.asp?prod=CCMUSBAB-32005-700&amp;amp;cat=34 this one].&lt;br /&gt;
&lt;br /&gt;
=== I2C Devices ===&lt;br /&gt;
The I2C is a simple communication standard intended to move small amounts of data a few inches between chips.&lt;br /&gt;
Please see [[I2C | Neo I2C Devices]] for more information &amp;amp; a list of devices &amp;amp; the addresses currently in use &amp;amp; documented for the Neo1973.&lt;br /&gt;
&lt;br /&gt;
=== Graphics ===&lt;br /&gt;
&lt;br /&gt;
Smedia Glamo 3362.&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/smedia-glamo.patch&lt;br /&gt;
* Data sheet: TBD&lt;br /&gt;
* Connected to: S3C2442 Address/Data bus&lt;br /&gt;
&lt;br /&gt;
=== WiFi ===&lt;br /&gt;
&lt;br /&gt;
TBD (Atheros AR6001 based)&lt;br /&gt;
* Connected to: S3C2442 SDIO controller&lt;br /&gt;
* Driver: http://svn.openmoko.org/developers/sameo/patches/&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
See also: [[Neo1973 Audio Subsystem]]&lt;br /&gt;
&lt;br /&gt;
==== Wolfson Codec ====&lt;br /&gt;
There's a WM8753 Wolfson Microelectronics CODEC (This is not a 'smart' codec that can interpret MP3/... it is a simple dumb 'sound card'.&lt;br /&gt;
* Product Homepage: http://www.wolfsonmicro.com/products/WM8753/&lt;br /&gt;
* Data Sheet: [http://www.wolfsonmicro.com/uploads/documents/en/WM8753.pdf WM8753.pdf]&lt;br /&gt;
* Connected to: S3C2442 IIS interface (PCM data), S3C2442 I2C (Control)&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/asoc.patch&lt;br /&gt;
&lt;br /&gt;
==== Stereo Amplifier ====&lt;br /&gt;
There's a National Semiconductor [[LM4857]] Stereo Amplifier at the analog audio output of the WM8753&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.national.com/pf/LM/LM4857.html LM4857.html]&lt;br /&gt;
* Data Sheet: [http://www.national.com/ds.cgi/LM/LM4857.pdf LM4857.pdf]&lt;br /&gt;
* Connects to: S3C2442 I2C (Control)&lt;br /&gt;
&lt;br /&gt;
==== Analog wired Headset ====&lt;br /&gt;
There's a four-ring 2.5mm stereo jack which provides connectivity to old-fashioned wired headsets.&lt;br /&gt;
&lt;br /&gt;
The headsets used by Motorola smartphones (A780,A1200, ...) and the V-360 have a compatible configuration.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth Headset ====&lt;br /&gt;
This one is wired via PCM bus from the CSR Bluetooth chip to the Wolfson codec.&lt;br /&gt;
&lt;br /&gt;
=== Power Management ===&lt;br /&gt;
A Philips PCF50633 is used for [[Neo1973_Power_Management|power management]].&lt;br /&gt;
&lt;br /&gt;
* Data Sheet: FIXME&lt;br /&gt;
* User Manual: FIXME&lt;br /&gt;
* Connected to: S3C2442 via I2C, client address is 0x08. &lt;br /&gt;
* Driver Source: https://svn.openmoko.org/trunk/src/target/kernel/patches/pcf50633.patch&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
The [[Neo1973 GTA02 Battery]] is mechanically and electrically compatible with the [[Neo1973 GTA01 Battery]], as well as limited compatibility with a Nokia BL5C battery.&lt;br /&gt;
According to [http://lists.openmoko.org/pipermail/community/2007-February/003758.html this] post on the mailinglist.&lt;br /&gt;
[http://wiki.openmoko.org/index.php?title=Image:Neo1973-with-BL5C-battery.png Photo] of the battery inside the Neo1973.&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
The Neo1973 GTA02 features two buttons:&lt;br /&gt;
# [[Neo1973 Power Button|The Power Button]]&lt;br /&gt;
# [[Neo1973 AUX Button|The &amp;quot;Aux&amp;quot; button]]&lt;br /&gt;
&lt;br /&gt;
=== Accelerometers ===&lt;br /&gt;
&lt;br /&gt;
Two ST LIS302DL&lt;br /&gt;
* Homepage: http://www.st.com/stonline/products/literature/ds/12726/lis302dl.htm&lt;br /&gt;
* Datasheet: http://www.st.com/stonline/products/literature/ds/12726.pdf&lt;br /&gt;
* Connected to: S3C2442 via I2C, client addresses FIXME, S3C2442 EINT interrupt inputs.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
=== GTA02v1 ===&lt;br /&gt;
First generation of prototypes that was given to internal OpenMoko software developers.&lt;br /&gt;
&lt;br /&gt;
It is working just fine, but still based on 2440, with external NAND/SDRAM and no NOR flash&lt;br /&gt;
&lt;br /&gt;
* ATAG_REVISION: FIXME&lt;br /&gt;
&lt;br /&gt;
=== GTA02v2 ===&lt;br /&gt;
Second generation of prototypes&lt;br /&gt;
&lt;br /&gt;
FIXME&lt;br /&gt;
&lt;br /&gt;
=== Debug Connector ===&lt;br /&gt;
&lt;br /&gt;
This is the connector used to connect the [[Debug Board]] and possibly other hardware.&lt;br /&gt;
&lt;br /&gt;
Connections are:&lt;br /&gt;
* 39 - GND&lt;br /&gt;
* 38 - STDI&lt;br /&gt;
* 37 - _RESET&lt;br /&gt;
* 36 - STMS&lt;br /&gt;
* 35 - STCK&lt;br /&gt;
* 34 - STDO&lt;br /&gt;
* 33 - GSM_EN&lt;br /&gt;
* 29 - _STRST&lt;br /&gt;
* 19 - X_I2C_SCL (H-TP4703)&lt;br /&gt;
* 18 - X_I2C_SDA (H-TP4704)&lt;br /&gt;
* 17 - SPI_CLK0&lt;br /&gt;
* 16 - SPI_MOSI0&lt;br /&gt;
* 15 - SPI-MISO0 &lt;br /&gt;
* 14 - SS0&lt;br /&gt;
* 13 - EINT3 (H-TP4705)&lt;br /&gt;
* 3 - CONSOLE_TXD (H-TP4701)&lt;br /&gt;
* 2 - CONSOLE_RXD (H-TP4702)&lt;br /&gt;
&lt;br /&gt;
Information from [http://people.openmoko.org/roh/Debugport_GTA01bv4.png].&lt;br /&gt;
&lt;br /&gt;
== Distinguishing hardware revisions ==&lt;br /&gt;
=== Inside the [[Bootloader]] ===&lt;br /&gt;
Every hardware revision has its own u-boot image type.  Thus, the bootloader has the revision hard-coded.&lt;br /&gt;
The hardware revision is passed on to the kernel via the ATAG mechanism (ATAG_REVISION)&lt;br /&gt;
&lt;br /&gt;
=== Inside the [[Kernel]] ===&lt;br /&gt;
The kernel receives the ATAG_REVISION during bootup, and saves its contents in the &amp;quot;system_rev&amp;quot; global variable.&lt;br /&gt;
&lt;br /&gt;
=== From Userspace ===&lt;br /&gt;
The kernel exports the system_rev variable in /proc/cpuinfo as &amp;quot;Revision :&amp;quot; line.&lt;br /&gt;
&lt;br /&gt;
== Approval ==&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
{{Languages|Neo1973 GTA02 Hardware}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Neo1973 Phase 2 related| ]]&lt;br /&gt;
[[Category:Neo1973 Hardware| ]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Neo_FreeRunner_Hardware</id>
		<title>Neo FreeRunner Hardware</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Neo_FreeRunner_Hardware"/>
				<updated>2008-01-24T15:40:25Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: /* Main components */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[OpenMoko]] is a software distribution stack that sits on top of a [[hardware]] platform.  The [[Neo1973|Neo1973 GTA02]] phone is the first hardware platform to take advantage of OpenMoko.  You can find specifics of the [[:Category:Neo1973 Hardware | Neo1973 Hardware]] by reviewing this introduction page and the pages in the category as shown at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
{{note|This page is about hardware that is currently in '''design/prototype''' phase, changes are frequent}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Gta01b v3 top.jpg|thumb|400px|display (top) side NOTE: old GTA01 photo]]&lt;br /&gt;
[[Image:Gta01b v3 bottom.jpg|thumb|400px|component (back) side NOTE: old GTA01 photo]]&lt;br /&gt;
&lt;br /&gt;
== Physical Dimensions ==&lt;br /&gt;
* 120.7 x 62 x 18.5 mm (4.75 x 2.44 x 0.728 inch)&lt;br /&gt;
* 184 +/- 5 g (6.5 ounces)&lt;br /&gt;
&lt;br /&gt;
== Main components ==&lt;br /&gt;
=== Processor ===&lt;br /&gt;
The main Processor (CPU) of the Neo1973 GTA02 is a [[Samsung S3C2442B]] (running at 400 MHz)&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=SC32442 Samsung SC32442B]&lt;br /&gt;
* User Manual: FIXME&lt;br /&gt;
* BSDL File: FIXME&lt;br /&gt;
* GPIO Assignments: https://svn.openmoko.org/trunk/doc/hardware/GTA02v4/gpio.txt&lt;br /&gt;
&lt;br /&gt;
=== Flash ===&lt;br /&gt;
256MB integrated Samsung NAND flash inside the 2442 multi-chip package, attached to the S3C2442 NAND controller&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: FIXME&lt;br /&gt;
* Data Sheet: FIXE&lt;br /&gt;
* Connected to: S3C2442 NAND controller&lt;br /&gt;
&lt;br /&gt;
12MBit NOR flash for 'unbrickable emergency boot' feature.&lt;br /&gt;
&lt;br /&gt;
=== RAM ===&lt;br /&gt;
128MB SDRAM (64MB inside 2442 MCP, 1x Samsung K4M51323PC) attached to S3C2442 SDRAM controller&lt;br /&gt;
* Product Homepage: [http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=136&amp;amp;partnum=K4M51323PC Samsung K4M51323PC]&lt;br /&gt;
* Data Sheet: [http://www.samsung.com/global/system/business/semiconductor/product/2007/6/11/MobileSDRAM/MobileSDRSDRAM/512Mbit/K4M51323PC/ds_k4m51323pc.pdf Samsung K4M51323PC]&lt;br /&gt;
* Connected to: S3C2442 &lt;br /&gt;
&lt;br /&gt;
=== GSM/GPRS ===&lt;br /&gt;
The [[GSM]] (including GPRS) modem is Texas Instruments Calypso based.&lt;br /&gt;
&lt;br /&gt;
* Connected to: S3C2442 UART1 (full-uart, RxD, TxD, CTS, RTS), /dev/ttySAC0 in userspace&lt;br /&gt;
* PM Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-power_control.patch&lt;br /&gt;
* Accessible GSM/GPRS antenna jack (if battery cover is removed)&lt;br /&gt;
&lt;br /&gt;
==== CALYPSO digital baseband ====&lt;br /&gt;
Unfortunately we cannot provide many details on the GSM chipset due to very tight NDAs.  However, this is not neccessarily required, since it interfaces using a standard UART serial line with the S3C2442.  On that interface, [http://www.3gpp.org/ftp/Specs/archive/07_series/07.05/ GSM 07.05], [http://www.3gpp.org/ftp/Specs/archive/07_series/07.10/ GSM 07.10] and other standardized protocols are used.&lt;br /&gt;
&lt;br /&gt;
==== TWL3014 analog baseband ====&lt;br /&gt;
Product Homepage: [http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&amp;amp;navigationId=12295&amp;amp;contentId=4703 TWL3014]&lt;br /&gt;
&lt;br /&gt;
==== TRF6151 RF Transceiver ====&lt;br /&gt;
Product Homepage: [http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&amp;amp;navigationId=12296&amp;amp;contentId=4701 TRF6151] &amp;lt;br&amp;gt;&lt;br /&gt;
GPRS Class12/CS4 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Hardware:AGPS|GPS]] ===&lt;br /&gt;
&lt;br /&gt;
U-blox ANTARIS 4 chip&lt;br /&gt;
* Connected to: S3C2442 UART2, /dev/ttySAC1 in userspace&lt;br /&gt;
* Driver: none needed, talks standard NMEA&lt;br /&gt;
* Datasheet: [http://atmel.com/dyn/resources/prod_documents/doc4928.pdf Atmel ATR0635]&lt;br /&gt;
&lt;br /&gt;
=== microSD-Card ===&lt;br /&gt;
The Neo1973 has one microSD aka Transflash slot.&lt;br /&gt;
It should support SDHC, and 4GB card has been tested. Anyone with 8GB card? MicroSD slot is [[Disassembling_Neo1973#Opening_back_cover|under battery]].&lt;br /&gt;
* Connected to: Glamo 3362 MMC/SD controller&lt;br /&gt;
* Driver: TBD&lt;br /&gt;
* [[Supported microSD cards]]&lt;br /&gt;
* Specifications: [http://www.sdcard.org/about/memory_card/pls/ SD Simplified Specification], [http://www.mmca.org/compliance/buy_spec/AN_MMCA050419.pdf MMC (partial)], [http://www.sandisk.com/Assets/File/OEM/Manuals/manual-rs-mmcv1.0.pdf MMC (product manual)]&lt;br /&gt;
&lt;br /&gt;
=== LCD Module (LCM) ===&lt;br /&gt;
This is a 2.8&amp;quot; diagonal (1.7&amp;quot; x 2.27&amp;quot; - 43mm x 58mm) 480x640 toppoly (tpo) TD028TTEC1 module, using a Toshiba JBT6K74 TFT LCD Driver Chipset.&lt;br /&gt;
* Homepage: [http://www.tpo.biz/ENG/business-eng/Activer-Matrix-VGA.htm Activer-Matrix-VGA.htm]&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-jbt6k74.patch&lt;br /&gt;
* Backlight Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-backlight.patch&lt;br /&gt;
* Connected to: Glamo3362 LCM interface and Glamo3362 SPI Interface&lt;br /&gt;
&lt;br /&gt;
==== Touch Screen ====&lt;br /&gt;
* Connected to: S3C2442 TS controller&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/s3c2410_touchscreen.patch&lt;br /&gt;
&lt;br /&gt;
==== Stylus ====&lt;br /&gt;
&lt;br /&gt;
Seemingly identical to [http://search.ebay.com/4in1-PDA-Stylus-LED-Light-Torch-Laser-Pointer-Pen this one on ebay]&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth ===&lt;br /&gt;
Delta DFBM-CS320 Class2 Module, using CSR BlueCore4&lt;br /&gt;
&lt;br /&gt;
* Data Sheet: [http://www.delta.com.tw/product/cp/vco/BT/download/pdf/CS/2.DFBM-CS320.pdf 2.DFBM-CS320.pdf]&lt;br /&gt;
* CSR Data Sheet: [http://www.csrsupport.com/download/2302/CS-101564-DSP10%20BlueCore4-ROM%20Product%20Data%20Sheet.pdf CS-101564-DSP10 BlueCore4-ROM Product Data Sheet.pdf]&lt;br /&gt;
* Driver: Stock Linux Kernel BlueZ&lt;br /&gt;
* Connected to: S3C2442 USB Host controller (OHCI)&lt;br /&gt;
* PM Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-power_control.patch&lt;br /&gt;
&lt;br /&gt;
=== Vibrator ===&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/gta01-vibrator.patch&lt;br /&gt;
* Connected to: S3C2442 GPIO&lt;br /&gt;
&lt;br /&gt;
=== USB Host ===&lt;br /&gt;
The USB Host controller is inside the S3C2442&lt;br /&gt;
* Driver: Stock Linux kernel ohci_hcd&lt;br /&gt;
* USB version 1.1&lt;br /&gt;
&lt;br /&gt;
=== USB Device ===&lt;br /&gt;
The USB Device controller is inside the S3C2442 &lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/s3c2410_udc.patch&lt;br /&gt;
* Please see [[USB Product IDs]] on information about which Vendor/Product IDs we use&lt;br /&gt;
* 1200mAh lithium battery charges when connected to powered host.&lt;br /&gt;
* Mini-AB connector similar to [http://www.cypressindustries.com/shoponline/proddetail.asp?prod=CCMUSBAB-32005-700&amp;amp;cat=34 this one].&lt;br /&gt;
&lt;br /&gt;
=== U2C Devices ===&lt;br /&gt;
The I2C is a simple communication standard intended to move small amounts of data a few inches between chips.&lt;br /&gt;
Please see [[I2C | Neo I2C Devices]] for more information &amp;amp; a list of devices &amp;amp; the addresses currently in use &amp;amp; documented for the Neo1973.&lt;br /&gt;
&lt;br /&gt;
=== Graphics ===&lt;br /&gt;
&lt;br /&gt;
Smedia Glamo 3362.&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/smedia-glamo.patch&lt;br /&gt;
* Data sheet: TBD&lt;br /&gt;
* Connected to: S3C2442 Address/Data bus&lt;br /&gt;
&lt;br /&gt;
=== WiFi ===&lt;br /&gt;
&lt;br /&gt;
TBD (Atheros AR6001 based)&lt;br /&gt;
* Connected to: S3C2442 SDIO controller&lt;br /&gt;
* Driver: http://svn.openmoko.org/developers/sameo/patches/&lt;br /&gt;
&lt;br /&gt;
=== Audio ===&lt;br /&gt;
See also: [[Neo1973 Audio Subsystem]]&lt;br /&gt;
&lt;br /&gt;
==== Wolfson Codec ====&lt;br /&gt;
There's a WM8753 Wolfson Microelectronics CODEC (This is not a 'smart' codec that can interpret MP3/... it is a simple dumb 'sound card'.&lt;br /&gt;
* Product Homepage: http://www.wolfsonmicro.com/products/WM8753/&lt;br /&gt;
* Data Sheet: [http://www.wolfsonmicro.com/uploads/documents/en/WM8753.pdf WM8753.pdf]&lt;br /&gt;
* Connected to: S3C2442 IIS interface (PCM data), S3C2442 I2C (Control)&lt;br /&gt;
* Driver: https://svn.openmoko.org/trunk/src/target/kernel/patches/asoc.patch&lt;br /&gt;
&lt;br /&gt;
==== Stereo Amplifier ====&lt;br /&gt;
There's a National Semiconductor [[LM4857]] Stereo Amplifier at the analog audio output of the WM8753&lt;br /&gt;
&lt;br /&gt;
* Product Homepage: [http://www.national.com/pf/LM/LM4857.html LM4857.html]&lt;br /&gt;
* Data Sheet: [http://www.national.com/ds.cgi/LM/LM4857.pdf LM4857.pdf]&lt;br /&gt;
* Connects to: S3C2442 I2C (Control)&lt;br /&gt;
&lt;br /&gt;
==== Analog wired Headset ====&lt;br /&gt;
There's a four-ring 2.5mm stereo jack which provides connectivity to old-fashioned wired headsets.&lt;br /&gt;
&lt;br /&gt;
The headsets used by Motorola smartphones (A780,A1200, ...) and the V-360 have a compatible configuration.&lt;br /&gt;
&lt;br /&gt;
==== Bluetooth Headset ====&lt;br /&gt;
This one is wired via PCM bus from the CSR Bluetooth chip to the Wolfson codec.&lt;br /&gt;
&lt;br /&gt;
=== Power Management ===&lt;br /&gt;
A Philips PCF50633 is used for [[Neo1973_Power_Management|power management]].&lt;br /&gt;
&lt;br /&gt;
* Data Sheet: FIXME&lt;br /&gt;
* User Manual: FIXME&lt;br /&gt;
* Connected to: S3C2442 via I2C, client address is 0x08. &lt;br /&gt;
* Driver Source: https://svn.openmoko.org/trunk/src/target/kernel/patches/pcf50633.patch&lt;br /&gt;
&lt;br /&gt;
=== Battery ===&lt;br /&gt;
The [[Neo1973 GTA02 Battery]] is mechanically and electrically compatible with the [[Neo1973 GTA01 Battery]], as well as limited compatibility with a Nokia BL5C battery.&lt;br /&gt;
According to [http://lists.openmoko.org/pipermail/community/2007-February/003758.html this] post on the mailinglist.&lt;br /&gt;
[http://wiki.openmoko.org/index.php?title=Image:Neo1973-with-BL5C-battery.png Photo] of the battery inside the Neo1973.&lt;br /&gt;
&lt;br /&gt;
=== Buttons ===&lt;br /&gt;
The Neo1973 GTA02 features two buttons:&lt;br /&gt;
# [[Neo1973 Power Button|The Power Button]]&lt;br /&gt;
# [[Neo1973 AUX Button|The &amp;quot;Aux&amp;quot; button]]&lt;br /&gt;
&lt;br /&gt;
=== Accelerometers ===&lt;br /&gt;
&lt;br /&gt;
Two ST LIS302DL&lt;br /&gt;
* Homepage: http://www.st.com/stonline/products/literature/ds/12726/lis302dl.htm&lt;br /&gt;
* Datasheet: http://www.st.com/stonline/products/literature/ds/12726.pdf&lt;br /&gt;
* Connected to: S3C2442 via I2C, client addresses FIXME, S3C2442 EINT interrupt inputs.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
=== GTA02v1 ===&lt;br /&gt;
First generation of prototypes that was given to internal OpenMoko software developers.&lt;br /&gt;
&lt;br /&gt;
It is working just fine, but still based on 2440, with external NAND/SDRAM and no NOR flash&lt;br /&gt;
&lt;br /&gt;
* ATAG_REVISION: FIXME&lt;br /&gt;
&lt;br /&gt;
=== GTA02v2 ===&lt;br /&gt;
Second generation of prototypes&lt;br /&gt;
&lt;br /&gt;
FIXME&lt;br /&gt;
&lt;br /&gt;
=== Debug Connector ===&lt;br /&gt;
&lt;br /&gt;
This is the connector used to connect the [[Debug Board]] and possibly other hardware.&lt;br /&gt;
&lt;br /&gt;
Connections are:&lt;br /&gt;
* 39 - GND&lt;br /&gt;
* 38 - STDI&lt;br /&gt;
* 37 - _RESET&lt;br /&gt;
* 36 - STMS&lt;br /&gt;
* 35 - STCK&lt;br /&gt;
* 34 - STDO&lt;br /&gt;
* 33 - GSM_EN&lt;br /&gt;
* 29 - _STRST&lt;br /&gt;
* 19 - X_I2C_SCL (H-TP4703)&lt;br /&gt;
* 18 - X_I2C_SDA (H-TP4704)&lt;br /&gt;
* 17 - SPI_CLK0&lt;br /&gt;
* 16 - SPI_MOSI0&lt;br /&gt;
* 15 - SPI-MISO0 &lt;br /&gt;
* 14 - SS0&lt;br /&gt;
* 13 - EINT3 (H-TP4705)&lt;br /&gt;
* 3 - CONSOLE_TXD (H-TP4701)&lt;br /&gt;
* 2 - CONSOLE_RXD (H-TP4702)&lt;br /&gt;
&lt;br /&gt;
Information from [http://people.openmoko.org/roh/Debugport_GTA01bv4.png].&lt;br /&gt;
&lt;br /&gt;
== Distinguishing hardware revisions ==&lt;br /&gt;
=== Inside the [[Bootloader]] ===&lt;br /&gt;
Every hardware revision has its own u-boot image type.  Thus, the bootloader has the revision hard-coded.&lt;br /&gt;
The hardware revision is passed on to the kernel via the ATAG mechanism (ATAG_REVISION)&lt;br /&gt;
&lt;br /&gt;
=== Inside the [[Kernel]] ===&lt;br /&gt;
The kernel receives the ATAG_REVISION during bootup, and saves its contents in the &amp;quot;system_rev&amp;quot; global variable.&lt;br /&gt;
&lt;br /&gt;
=== From Userspace ===&lt;br /&gt;
The kernel exports the system_rev variable in /proc/cpuinfo as &amp;quot;Revision :&amp;quot; line.&lt;br /&gt;
&lt;br /&gt;
== Approval ==&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
{{Languages|Neo1973 GTA02 Hardware}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Neo1973 Phase 2 related| ]]&lt;br /&gt;
[[Category:Neo1973 Hardware| ]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Hardware:Neo_1973:Alternate_Cases</id>
		<title>Hardware:Neo 1973:Alternate Cases</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Hardware:Neo_1973:Alternate_Cases"/>
				<updated>2008-01-17T03:26:09Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: /* Manufacture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is a repository for alternate case designs for the [[Neo1973]], intended to be designed, built and fitted by the community/the phone's owner.  Many specific suggestions can be found in [[Wish List - Hardware#Casing]] and corresponding links.&lt;br /&gt;
&lt;br /&gt;
Each alternate case design suggestion needs some or all of: a description, intended uses, design options, a 3D model in an open format (e.g. [http://en.wikipedia.org/wiki/STL_(file_format) .stl], .blend (Blender), .obj (Wavefront), [http://en.wikipedia.org/wiki/Art_of_Illusion .aoi (Art of Illusion)] ), rendered images of the intended design, materials, components and information regarding interfacing electronically to components within the phone.&lt;br /&gt;
&lt;br /&gt;
== Manufacture ==&lt;br /&gt;
&lt;br /&gt;
There are numerous rapid prototyping companies that will very cheaply make small run components from various polymers, including:&lt;br /&gt;
&lt;br /&gt;
[http://www.absprototypes.net ABS Protytpes] - Invalid website name&lt;br /&gt;
&lt;br /&gt;
[http://ponoko.com Ponoko] - requires EPS files (makes 2D flat cut-outs)&lt;br /&gt;
&lt;br /&gt;
[http://rapidobject.com Rapid Object] - requires STL or VRML (for extra detailed models) files&lt;br /&gt;
&lt;br /&gt;
[http://www.rapidprototyping.co.nz Rapid Prototyping New Zealand] - 3D powder based printer, not particularly well suited to this application.&lt;br /&gt;
&lt;br /&gt;
[http://www.redeyerpm.com/Default.aspx Red Eye RPM] - requires STL files&lt;br /&gt;
&lt;br /&gt;
Other materials may require traditional manufacturing techniques including milling, forging, injection-moulding, either by the user or short-run companies such as:&lt;br /&gt;
&lt;br /&gt;
[http://emachineshop.com/ eMachine Shop] - Requires companies own MS Windows based drawing software&lt;br /&gt;
&lt;br /&gt;
[http://www.msersen.net/msgme.php?p={$pagef}&amp;amp;c={$setcount}/ (4 axis) gantry style cnc router for hire.  Click for inquiries]&lt;br /&gt;
&lt;br /&gt;
[http://techshop.ws Techshop]&lt;br /&gt;
&lt;br /&gt;
==Cost Example==&lt;br /&gt;
Rapid Object charge from 1.9 Euros per cm^3 of material (photosensitive polymer) used, plus postage. The case for the Neo looks to be about 1.5mm thick, so conservatively, the back of the case will be approximately:&amp;lt;br&amp;gt;&lt;br /&gt;
120 x 60 x 1.5&amp;lt;br&amp;gt;&lt;br /&gt;
+ 120 x 9 x 1.5 x 2 (2 sides)&amp;lt;br&amp;gt;&lt;br /&gt;
= 10,800&amp;lt;br&amp;gt;&lt;br /&gt;
+ 3,240&lt;br /&gt;
&lt;br /&gt;
= 14,040 mm^3&lt;br /&gt;
&lt;br /&gt;
~ 14 cm^3&lt;br /&gt;
&lt;br /&gt;
~ 26 Euros&lt;br /&gt;
&lt;br /&gt;
and the front will be (allowing for the screen hole):&amp;lt;br&amp;gt;&lt;br /&gt;
(120 x 60 - 43 x 58) x 1.5&amp;lt;br&amp;gt;&lt;br /&gt;
+ 120 x 9 x 1.5 x 2 (2 sides)&amp;lt;br&amp;gt;&lt;br /&gt;
= 7,059&amp;lt;br&amp;gt;&lt;br /&gt;
+ 3,240&lt;br /&gt;
&lt;br /&gt;
= 10,299 mm^3&lt;br /&gt;
&lt;br /&gt;
~ 10cm^3&lt;br /&gt;
&lt;br /&gt;
~ 19 Euros&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
None of this can be accomplished without the dimensions of existing phones - if FIC are unable/unwilling to release precise dimensions, a user of a Neo1973 will need to measure their phone and upload the information to [[Neo1973 case schematics]] in the form of a 3D CAD model.&lt;br /&gt;
&lt;br /&gt;
Some users may want combinations of the variants listed - popular/simple options such as Stylus Mount/Different speaker orientation/Extra battery/Extra storage may be combined into one model.&lt;br /&gt;
&lt;br /&gt;
== Design Variant Suggestions ==&lt;br /&gt;
Some of these are a copy of requests in [[Wish List - Hardware#Casing]], some are from ideas thrown up in the community mailing list.&lt;br /&gt;
&lt;br /&gt;
Many of these cannot be implemented without some design changes to the phone PCB. As mentioned in [[Expansion Back]]&lt;br /&gt;
&lt;br /&gt;
=== Alternate Case Suggestion Format ===&lt;br /&gt;
* 1 Rendered images&lt;br /&gt;
** Images &amp;amp; any videos&lt;br /&gt;
** [[Image:Neo1973.png]]&lt;br /&gt;
* 2 3D model&lt;br /&gt;
** Open format, as suggested previously.&lt;br /&gt;
** See [[Neo1973 case schematics]] for standard Neo1973 case design&lt;br /&gt;
* 3 Etching templates&lt;br /&gt;
* 4 Materials&lt;br /&gt;
* 5 Processes&lt;br /&gt;
* 6 Interest&lt;br /&gt;
** who's interested in this design&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Languages|:Category:Neo1973 alternate cases}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Neo1973 alternate cases| ]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Hardware:Neo_1973:Alternate_Cases</id>
		<title>Hardware:Neo 1973:Alternate Cases</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Hardware:Neo_1973:Alternate_Cases"/>
				<updated>2008-01-17T02:44:08Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: /* Manufacture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is a repository for alternate case designs for the [[Neo1973]], intended to be designed, built and fitted by the community/the phone's owner.  Many specific suggestions can be found in [[Wish List - Hardware#Casing]] and corresponding links.&lt;br /&gt;
&lt;br /&gt;
Each alternate case design suggestion needs some or all of: a description, intended uses, design options, a 3D model in an open format (e.g. [http://en.wikipedia.org/wiki/STL_(file_format) .stl], .blend (Blender), .obj (Wavefront), [http://en.wikipedia.org/wiki/Art_of_Illusion .aoi (Art of Illusion)] ), rendered images of the intended design, materials, components and information regarding interfacing electronically to components within the phone.&lt;br /&gt;
&lt;br /&gt;
== Manufacture ==&lt;br /&gt;
&lt;br /&gt;
There are numerous rapid prototyping companies that will very cheaply make small run components from various polymers, including:&lt;br /&gt;
&lt;br /&gt;
[http://www.absprototypes.net ABS Protytpes] - Invalid website name&lt;br /&gt;
&lt;br /&gt;
[http://ponoko.com Ponoko] - requires EPS files (makes 2D flat cut-outs)&lt;br /&gt;
&lt;br /&gt;
[http://rapidobject.com Rapid Object] - requires STL or VRML (for extra detailed models) files&lt;br /&gt;
&lt;br /&gt;
[http://www.rapidprototyping.co.nz Rapid Prototyping New Zealand]&lt;br /&gt;
&lt;br /&gt;
[http://www.redeyerpm.com/Default.aspx Red Eye RPM] - requires STL files&lt;br /&gt;
&lt;br /&gt;
Other materials may require traditional manufacturing techniques including milling, forging, injection-moulding, either by the user or short-run companies such as:&lt;br /&gt;
&lt;br /&gt;
[http://emachineshop.com/ eMachine Shop] - Requires companies own MS Windows based drawing software&lt;br /&gt;
&lt;br /&gt;
[http://www.msersen.net/msgme.php?p={$pagef}&amp;amp;c={$setcount}/ (4 axis) gantry style cnc router for hire.  Click for inquiries]&lt;br /&gt;
&lt;br /&gt;
[http://techshop.ws Techshop]&lt;br /&gt;
&lt;br /&gt;
==Cost Example==&lt;br /&gt;
Rapid Object charge from 1.9 Euros per cm^3 of material (photosensitive polymer) used, plus postage. The case for the Neo looks to be about 1.5mm thick, so conservatively, the back of the case will be approximately:&amp;lt;br&amp;gt;&lt;br /&gt;
120 x 60 x 1.5&amp;lt;br&amp;gt;&lt;br /&gt;
+ 120 x 9 x 1.5 x 2 (2 sides)&amp;lt;br&amp;gt;&lt;br /&gt;
= 10,800&amp;lt;br&amp;gt;&lt;br /&gt;
+ 3,240&lt;br /&gt;
&lt;br /&gt;
= 14,040 mm^3&lt;br /&gt;
&lt;br /&gt;
~ 14 cm^3&lt;br /&gt;
&lt;br /&gt;
~ 26 Euros&lt;br /&gt;
&lt;br /&gt;
and the front will be (allowing for the screen hole):&amp;lt;br&amp;gt;&lt;br /&gt;
(120 x 60 - 43 x 58) x 1.5&amp;lt;br&amp;gt;&lt;br /&gt;
+ 120 x 9 x 1.5 x 2 (2 sides)&amp;lt;br&amp;gt;&lt;br /&gt;
= 7,059&amp;lt;br&amp;gt;&lt;br /&gt;
+ 3,240&lt;br /&gt;
&lt;br /&gt;
= 10,299 mm^3&lt;br /&gt;
&lt;br /&gt;
~ 10cm^3&lt;br /&gt;
&lt;br /&gt;
~ 19 Euros&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
None of this can be accomplished without the dimensions of existing phones - if FIC are unable/unwilling to release precise dimensions, a user of a Neo1973 will need to measure their phone and upload the information to [[Neo1973 case schematics]] in the form of a 3D CAD model.&lt;br /&gt;
&lt;br /&gt;
Some users may want combinations of the variants listed - popular/simple options such as Stylus Mount/Different speaker orientation/Extra battery/Extra storage may be combined into one model.&lt;br /&gt;
&lt;br /&gt;
== Design Variant Suggestions ==&lt;br /&gt;
Some of these are a copy of requests in [[Wish List - Hardware#Casing]], some are from ideas thrown up in the community mailing list.&lt;br /&gt;
&lt;br /&gt;
Many of these cannot be implemented without some design changes to the phone PCB. As mentioned in [[Expansion Back]]&lt;br /&gt;
&lt;br /&gt;
=== Alternate Case Suggestion Format ===&lt;br /&gt;
* 1 Rendered images&lt;br /&gt;
** Images &amp;amp; any videos&lt;br /&gt;
** [[Image:Neo1973.png]]&lt;br /&gt;
* 2 3D model&lt;br /&gt;
** Open format, as suggested previously.&lt;br /&gt;
** See [[Neo1973 case schematics]] for standard Neo1973 case design&lt;br /&gt;
* 3 Etching templates&lt;br /&gt;
* 4 Materials&lt;br /&gt;
* 5 Processes&lt;br /&gt;
* 6 Interest&lt;br /&gt;
** who's interested in this design&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Languages|:Category:Neo1973 alternate cases}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Neo1973 alternate cases| ]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Hardware:Neo_1973:Alternate_Cases</id>
		<title>Hardware:Neo 1973:Alternate Cases</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Hardware:Neo_1973:Alternate_Cases"/>
				<updated>2008-01-17T02:28:57Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: /* Manufacture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is a repository for alternate case designs for the [[Neo1973]], intended to be designed, built and fitted by the community/the phone's owner.  Many specific suggestions can be found in [[Wish List - Hardware#Casing]] and corresponding links.&lt;br /&gt;
&lt;br /&gt;
Each alternate case design suggestion needs some or all of: a description, intended uses, design options, a 3D model in an open format (e.g. [http://en.wikipedia.org/wiki/STL_(file_format) .stl], .blend (Blender), .obj (Wavefront), [http://en.wikipedia.org/wiki/Art_of_Illusion .aoi (Art of Illusion)] ), rendered images of the intended design, materials, components and information regarding interfacing electronically to components within the phone.&lt;br /&gt;
&lt;br /&gt;
== Manufacture ==&lt;br /&gt;
&lt;br /&gt;
There are numerous rapid prototyping companies that will very cheaply make small run components from various polymers, including:&lt;br /&gt;
&lt;br /&gt;
[http://www.absprototypes.net ABS Protytpes]&lt;br /&gt;
&lt;br /&gt;
[http://ponoko.com Ponoko]&lt;br /&gt;
&lt;br /&gt;
[http://rapidobject.com Rapid Object]&lt;br /&gt;
&lt;br /&gt;
[http://www.rapidprototyping.co.nz Rapid Prototyping New Zealand]&lt;br /&gt;
&lt;br /&gt;
[http://www.redeyerpm.com/Default.aspx Red Eye RPM] - requires STL files&lt;br /&gt;
&lt;br /&gt;
Other materials may require traditional manufacturing techniques including milling, forging, injection-moulding, either by the user or short-run companies such as:&lt;br /&gt;
&lt;br /&gt;
[http://emachineshop.com/ eMachine Shop] - Requires companies own MS Windows based drawing software&lt;br /&gt;
&lt;br /&gt;
[http://www.msersen.net/msgme.php?p={$pagef}&amp;amp;c={$setcount}/ (4 axis) gantry style cnc router for hire.  Click for inquiries]&lt;br /&gt;
&lt;br /&gt;
[http://techshop.ws Techshop]&lt;br /&gt;
&lt;br /&gt;
==Cost Example==&lt;br /&gt;
Rapid Object charge from 1.9 Euros per cm^3 of material (photosensitive polymer) used, plus postage. The case for the Neo looks to be about 1.5mm thick, so conservatively, the back of the case will be approximately:&amp;lt;br&amp;gt;&lt;br /&gt;
120 x 60 x 1.5&amp;lt;br&amp;gt;&lt;br /&gt;
+ 120 x 9 x 1.5 x 2 (2 sides)&amp;lt;br&amp;gt;&lt;br /&gt;
= 10,800&amp;lt;br&amp;gt;&lt;br /&gt;
+ 3,240&lt;br /&gt;
&lt;br /&gt;
= 14,040 mm^3&lt;br /&gt;
&lt;br /&gt;
~ 14 cm^3&lt;br /&gt;
&lt;br /&gt;
~ 26 Euros&lt;br /&gt;
&lt;br /&gt;
and the front will be (allowing for the screen hole):&amp;lt;br&amp;gt;&lt;br /&gt;
(120 x 60 - 43 x 58) x 1.5&amp;lt;br&amp;gt;&lt;br /&gt;
+ 120 x 9 x 1.5 x 2 (2 sides)&amp;lt;br&amp;gt;&lt;br /&gt;
= 7,059&amp;lt;br&amp;gt;&lt;br /&gt;
+ 3,240&lt;br /&gt;
&lt;br /&gt;
= 10,299 mm^3&lt;br /&gt;
&lt;br /&gt;
~ 10cm^3&lt;br /&gt;
&lt;br /&gt;
~ 19 Euros&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
None of this can be accomplished without the dimensions of existing phones - if FIC are unable/unwilling to release precise dimensions, a user of a Neo1973 will need to measure their phone and upload the information to [[Neo1973 case schematics]] in the form of a 3D CAD model.&lt;br /&gt;
&lt;br /&gt;
Some users may want combinations of the variants listed - popular/simple options such as Stylus Mount/Different speaker orientation/Extra battery/Extra storage may be combined into one model.&lt;br /&gt;
&lt;br /&gt;
== Design Variant Suggestions ==&lt;br /&gt;
Some of these are a copy of requests in [[Wish List - Hardware#Casing]], some are from ideas thrown up in the community mailing list.&lt;br /&gt;
&lt;br /&gt;
Many of these cannot be implemented without some design changes to the phone PCB. As mentioned in [[Expansion Back]]&lt;br /&gt;
&lt;br /&gt;
=== Alternate Case Suggestion Format ===&lt;br /&gt;
* 1 Rendered images&lt;br /&gt;
** Images &amp;amp; any videos&lt;br /&gt;
** [[Image:Neo1973.png]]&lt;br /&gt;
* 2 3D model&lt;br /&gt;
** Open format, as suggested previously.&lt;br /&gt;
** See [[Neo1973 case schematics]] for standard Neo1973 case design&lt;br /&gt;
* 3 Etching templates&lt;br /&gt;
* 4 Materials&lt;br /&gt;
* 5 Processes&lt;br /&gt;
* 6 Interest&lt;br /&gt;
** who's interested in this design&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Languages|:Category:Neo1973 alternate cases}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Neo1973 alternate cases| ]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Hardware:Neo_1973:Alternate_Cases</id>
		<title>Hardware:Neo 1973:Alternate Cases</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Hardware:Neo_1973:Alternate_Cases"/>
				<updated>2008-01-17T02:22:14Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: /* Manufacture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is a repository for alternate case designs for the [[Neo1973]], intended to be designed, built and fitted by the community/the phone's owner.  Many specific suggestions can be found in [[Wish List - Hardware#Casing]] and corresponding links.&lt;br /&gt;
&lt;br /&gt;
Each alternate case design suggestion needs some or all of: a description, intended uses, design options, a 3D model in an open format (e.g. [http://en.wikipedia.org/wiki/STL_(file_format) .stl], .blend (Blender), .obj (Wavefront), [http://en.wikipedia.org/wiki/Art_of_Illusion .aoi (Art of Illusion)] ), rendered images of the intended design, materials, components and information regarding interfacing electronically to components within the phone.&lt;br /&gt;
&lt;br /&gt;
== Manufacture ==&lt;br /&gt;
&lt;br /&gt;
There are numerous rapid prototyping companies that will very cheaply make small run components from various polymers, including:&lt;br /&gt;
&lt;br /&gt;
[http://www.absprototypes.net ABS Protytpes]&lt;br /&gt;
&lt;br /&gt;
[http://ponoko.com Ponoko]&lt;br /&gt;
&lt;br /&gt;
[http://rapidobject.com Rapid Object]&lt;br /&gt;
&lt;br /&gt;
[http://www.rapidprototyping.co.nz Rapid Prototyping New Zealand]&lt;br /&gt;
&lt;br /&gt;
[http://www.redeyerpm.com/Default.aspx Red Eye RPM]&lt;br /&gt;
&lt;br /&gt;
Other materials may require traditional manufacturing techniques including milling, forging, injection-moulding, either by the user or short-run companies such as:&lt;br /&gt;
&lt;br /&gt;
[http://emachineshop.com/ eMachine Shop] - Requires companies own MS Windows based drawing software&lt;br /&gt;
&lt;br /&gt;
[http://www.msersen.net/msgme.php?p={$pagef}&amp;amp;c={$setcount}/ (4 axis) gantry style cnc router for hire.  Click for inquiries]&lt;br /&gt;
&lt;br /&gt;
[http://techshop.ws Techshop]&lt;br /&gt;
&lt;br /&gt;
==Cost Example==&lt;br /&gt;
Rapid Object charge from 1.9 Euros per cm^3 of material (photosensitive polymer) used, plus postage. The case for the Neo looks to be about 1.5mm thick, so conservatively, the back of the case will be approximately:&amp;lt;br&amp;gt;&lt;br /&gt;
120 x 60 x 1.5&amp;lt;br&amp;gt;&lt;br /&gt;
+ 120 x 9 x 1.5 x 2 (2 sides)&amp;lt;br&amp;gt;&lt;br /&gt;
= 10,800&amp;lt;br&amp;gt;&lt;br /&gt;
+ 3,240&lt;br /&gt;
&lt;br /&gt;
= 14,040 mm^3&lt;br /&gt;
&lt;br /&gt;
~ 14 cm^3&lt;br /&gt;
&lt;br /&gt;
~ 26 Euros&lt;br /&gt;
&lt;br /&gt;
and the front will be (allowing for the screen hole):&amp;lt;br&amp;gt;&lt;br /&gt;
(120 x 60 - 43 x 58) x 1.5&amp;lt;br&amp;gt;&lt;br /&gt;
+ 120 x 9 x 1.5 x 2 (2 sides)&amp;lt;br&amp;gt;&lt;br /&gt;
= 7,059&amp;lt;br&amp;gt;&lt;br /&gt;
+ 3,240&lt;br /&gt;
&lt;br /&gt;
= 10,299 mm^3&lt;br /&gt;
&lt;br /&gt;
~ 10cm^3&lt;br /&gt;
&lt;br /&gt;
~ 19 Euros&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
None of this can be accomplished without the dimensions of existing phones - if FIC are unable/unwilling to release precise dimensions, a user of a Neo1973 will need to measure their phone and upload the information to [[Neo1973 case schematics]] in the form of a 3D CAD model.&lt;br /&gt;
&lt;br /&gt;
Some users may want combinations of the variants listed - popular/simple options such as Stylus Mount/Different speaker orientation/Extra battery/Extra storage may be combined into one model.&lt;br /&gt;
&lt;br /&gt;
== Design Variant Suggestions ==&lt;br /&gt;
Some of these are a copy of requests in [[Wish List - Hardware#Casing]], some are from ideas thrown up in the community mailing list.&lt;br /&gt;
&lt;br /&gt;
Many of these cannot be implemented without some design changes to the phone PCB. As mentioned in [[Expansion Back]]&lt;br /&gt;
&lt;br /&gt;
=== Alternate Case Suggestion Format ===&lt;br /&gt;
* 1 Rendered images&lt;br /&gt;
** Images &amp;amp; any videos&lt;br /&gt;
** [[Image:Neo1973.png]]&lt;br /&gt;
* 2 3D model&lt;br /&gt;
** Open format, as suggested previously.&lt;br /&gt;
** See [[Neo1973 case schematics]] for standard Neo1973 case design&lt;br /&gt;
* 3 Etching templates&lt;br /&gt;
* 4 Materials&lt;br /&gt;
* 5 Processes&lt;br /&gt;
* 6 Interest&lt;br /&gt;
** who's interested in this design&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Languages|:Category:Neo1973 alternate cases}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Neo1973 alternate cases| ]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Wish_List_-_Hardware</id>
		<title>Wish List - Hardware</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Wish_List_-_Hardware"/>
				<updated>2008-01-15T20:36:17Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: /* Wireless data networking */ LTE added by WiMax&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page details hardware features which some would like to go into future phones similar to the [[Neo1973]].&lt;br /&gt;
&lt;br /&gt;
Related pages are:&lt;br /&gt;
*[[Wishlist - Hardware - Novel Devices]] - openmoko will run on a large number of devices in the future, some of which may be DVD players, cameras, or convergance devices.  &lt;br /&gt;
*[[Wishlist:Unlikely]] - Hardware that is unlikely to appear in any OpenMoko device, due to it being impossible to fabricate with near-term technology, or for other reasons.&lt;br /&gt;
*[[Wishlist:Accessories]] - Accessories that people would like, that connect easily to the phone - initially primarily for the Neo1973 &lt;br /&gt;
*[[Wishlist:Expansion]] - add-ons to the phone, maybe involving hardware changes, and software and hardware protocols to implement these.&lt;br /&gt;
&lt;br /&gt;
This page is rather long. Before adding a new idea, please read through this page and the above pages, to make sure your idea has not been suggested before.&lt;br /&gt;
==Processor==&lt;br /&gt;
===A FPGA===&lt;br /&gt;
A FPGA is a general purpose reconfigurable logic device.&lt;br /&gt;
See [[Wish List - Hardware:FPGA]] for more details.&lt;br /&gt;
&lt;br /&gt;
===Samsung S3C2443===&lt;br /&gt;
*[http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&amp;amp;partnum=S3C2443&amp;amp;&amp;amp;ppmi=1427 Samsung S3C2443] Up to 533 MHz, can act as a USB 2.0 device.&lt;br /&gt;
&lt;br /&gt;
==Internal Memory==&lt;br /&gt;
===RAM===&lt;br /&gt;
128MB Dedicated for open files, running software etc., not for storage, or 256MB at all would be really nice and enough for any future software.&lt;br /&gt;
&lt;br /&gt;
===ROM===&lt;br /&gt;
Enough to Hold O/S and a fair number of applications and their settings. Persistent Storage with XIP capability. About 128 MB.&lt;br /&gt;
&lt;br /&gt;
===Storage===&lt;br /&gt;
An internal Micro SDHC should be used for users' files and additional software&lt;br /&gt;
&lt;br /&gt;
==Wireless data networking==&lt;br /&gt;
&lt;br /&gt;
===WiMAX support===&lt;br /&gt;
[http://en.wikipedia.org/wiki/Wimax WiMAX] is a high-speed data service, similar to wifi, though longer range and newer. Where service is available, this would complement WiFi. Unfortunately, unlike wifi, frequencies vary worldwide, so global usage may be complex. In South Korea, 2.3Ghz is available for WiMAX, known as WiBro. WiMAX Forum sets heart on 2.5 GHz for global use.&lt;br /&gt;
----&lt;br /&gt;
Two campuses of the University of California have just completed a deal with a WiMAX service provider to lease UC's ITFS/EBS spectrum to provide WiMAX in the SF Bay Area. Bidding was aggressive between Nextwave, Sprint-Nextel, and Clearwire. Other UC campuses have awarded other contracts throughout California to various of the three contenders. The point here is: these three companies are competing aggressively for spectrum in the 2.5-2.7 GHz range, and it's not limited to CA. At a National ITFS Association meeting in 2005, representatives from Intel said they would be ready to release a WiMAX chipset compatible with these frequencies in 2007, for inclusion in laptops. I assume the folks at [[FIC]] know much more about it that I do! Based on these and other clues, I think WiMAX is coming in the 2.5-2.7 GHz band in the near future... I'll be surprised if I do not see some offerings by early 2009. &lt;br /&gt;
&lt;br /&gt;
-[[User:Tzf|Tzf]] 21:54, 24 November 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===LTE support===&lt;br /&gt;
[http://en.wikipedia.org/wiki/3GPP_Long_Term_Evolution Long Term Evolution (LTE)] is a high-speed data service, similar to WiMax, but designed to be more compatible with existing GSM systems.  While Sprint &amp;amp; Clearwire are currently testing WiMax deployment in the US, AT&amp;amp;T and Verizon appear to be in preference of LTE.&lt;br /&gt;
&lt;br /&gt;
While the project is ongoing and general in scope, it has set itself some specific goals, many of which are oriented around upgrading UMTS to a so-called fourth generation mobile communications technology, essentially a wireless broadband Internet system with voice and other services built on top.&lt;br /&gt;
&lt;br /&gt;
===Emerging Protocols===&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Near_Field_Communication Near Field Communication] has a few centimeter range, useable for keys, ID badges, pairing bluetooth devices and similar uses. Mentioned in newer bluetooth and SD standards. (No products.)&lt;br /&gt;
*[http://en.wikipedia.org/wiki/ZigBee ZigBee] is designed for connecting sensors and switches in buildings, with many options including mesh networks and aggressive power saving compared to bluetooth. (Almost no products available.)&lt;br /&gt;
*The [http://en.wikipedia.org/wiki/ANT_%28network%29 ANT network] is for connecting worn devices. Similar to ZigBee, but much simpler and maybe lower power. ([http://www.thisisant.com/?section=9 Short list] of products.)&lt;br /&gt;
&lt;br /&gt;
==Camera==&lt;br /&gt;
&lt;br /&gt;
* A camera that can take reasonable quality video and pictures is something many want. Applications vary from simple snapping, to gesture interfaces, video conferencing, barcode reading, buisness card reading, healthcare, servicing, and more.&lt;br /&gt;
&lt;br /&gt;
* Some people can't take cameras into work - a model without the camera, or some way of removing the camera would be useful or leave the camera chip in place and have a removable lens assembly and replacement backcover.&lt;br /&gt;
*See [[Hardware:Neo1973:Alternate_Cases:Camera | Alternate Cases:Camera]] for phone casing suggestions.&lt;br /&gt;
&lt;br /&gt;
* See [[Wishlist:Camera]] for a more detailed wishlist.&lt;br /&gt;
&lt;br /&gt;
==Display==&lt;br /&gt;
===Multitouch screen===&lt;br /&gt;
&lt;br /&gt;
''Main article: [[Wishlist:Spell_weaving|Spell weaving]]''&lt;br /&gt;
&lt;br /&gt;
See also [http://pogue.blogs.nytimes.com/2007/03/27/the-multi-touch-screen/ this page] containing a link to a video demonstration.&lt;br /&gt;
&lt;br /&gt;
A history of multitouch implementations is [http://billbuxton.com/multitouchOverview.html here] ([http://google.com/search?q=cache:billbuxton.com/multitouchOverview.html google cache version])&lt;br /&gt;
&lt;br /&gt;
*Use examples: [http://www.youtube.com/watch?v=UcKqyn-gUbY&amp;amp;mode=related&amp;amp;search= Multi-touch interface (from Adobe TED)], [http://www.youtube.com/watch?v=1ftJhDBZqss&amp;amp;mode=related&amp;amp;search= Multi Touch (new touchscreen technology)]&lt;br /&gt;
&lt;br /&gt;
===Bigger and better screen===&lt;br /&gt;
2.8&amp;quot; widescreen (like in [http://etencorp.com E-ten] PDA/smartphones), or 3.5&amp;quot; widescreen (like in [http://www.expansys.ie/d.aspx?i=134944 Fujitsu Siemens LOOX N560]).&lt;br /&gt;
&lt;br /&gt;
262k or 16.7M colurs for displaying images and especially videos.&lt;br /&gt;
&lt;br /&gt;
OLED for better contrast, more rich colours, and less energy consumption.&lt;br /&gt;
&lt;br /&gt;
Maybe the [http://www.sharpsme.com/Page.aspx/europe/en/part/LS037V7DW01/ LS037V7DW01] by Sharp could be a solution. It has nearly the same specs as the currently used, but 3,7&amp;quot; -- [[User:Wedge | Wedge]]&lt;br /&gt;
&lt;br /&gt;
===Distance sensing touchscreen===&lt;br /&gt;
{{Main|Hardware:NearlyTouchScreen}}&lt;br /&gt;
TouchKo's (now Wacom Company Ltd.) spatial capacitive &amp;quot;touchscreen&amp;quot;, can sense fingers at a small distance, so you do not get your display greasy, and can unlike some touchscreens, be operated with gloves.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;s&amp;gt;Video acceleration&amp;lt;/s&amp;gt;===&lt;br /&gt;
Hardware acceleration for video playback and 2D/3D accelleration will be present in [[Neo1973 GTA02]].&lt;br /&gt;
&lt;br /&gt;
===EPD===&lt;br /&gt;
Or electronic paper display, EPD is used in many new devices such as the new Motorola motofone, sonys new e-reader and Irex's iliad. The technology provides thin, lightweight, power saving screens using new eink technology. This technology could cut the weight of the phone and its power usage. For more info see: [http://www.eink.com eink's website].&lt;br /&gt;
&lt;br /&gt;
Pro: laserprinter like quality, glossy, very stable image, easy on the eyes. Electronics are similar to TFT. Very low power consumption. &lt;br /&gt;
&lt;br /&gt;
Con: Black and grey only (like a newspaper, but glossy), although there were already color prototypes in 2005. low framerate (5fps). Can reflect light (like paper), backlight is impossible.&lt;br /&gt;
&lt;br /&gt;
===Transreflective===&lt;br /&gt;
It would be nice to have (the option of) a transreflective display, which while being less bright, is readable without needing to power the backlight. Then again, it depends on how much power the backlight uses compared to everything else...&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Slightly&amp;quot; Larger Screen===&lt;br /&gt;
43mm x 57mm (2.8inch diagonal) is tiny.  A 53mm x 71mm (3.5 inch diagonal) like on the TD035STEE1 would be a nice improvement.  A widescreen format at about 53mm x 82.5mm instead of the 3:4 aspect ratio would be even cooler (if one could be found).&lt;br /&gt;
&lt;br /&gt;
===Second Display===&lt;br /&gt;
A 32x32 OLED display possibly on the back for camera framing or on an edge so it can be viewed like a pager.&lt;br /&gt;
This could be used to display any number of alerts (from any installed software) the alerts could have a dynamic prioritisation which means during the work day a message from the boss has high priority but lower at home (could be GPS/Time controlled?) multiple alerts shrink the icons to a 3x3 grid higher priority messages get more space.&lt;br /&gt;
&lt;br /&gt;
===Micro Projector===&lt;br /&gt;
[http://www.engadget.com/media/2006/02/digismartphone2.jpg Like the one shown here], new cellphones are now coming out with a small, low power projector. This can be used to show movies from your cell phone with 0.5m high image on a while wall for example...&lt;br /&gt;
&lt;br /&gt;
==Input devices==&lt;br /&gt;
&lt;br /&gt;
===No Dependence on Stylus===&lt;br /&gt;
The Neo's basic functionality should be completely usable without a stylus, Like the iPhone but with stylus use for precision work.&lt;br /&gt;
&lt;br /&gt;
===A laser projection keyboard===&lt;br /&gt;
Similar to [http://www.thinkgeek.com/computing/input/8193/ this], except the device would be integrated into the phone itself.  Setting the Neo up on a stand on a flat surface (perhaps a stand could be built into the back of the Neo itself, or into a case) would turn the Neo into a micro-laptop.  There may be several issues with the inclusion of this technology, including patents, the space required to project the laser grids, and the power consumption.  If possible, however, it would make text input a breeze.&lt;br /&gt;
&lt;br /&gt;
===Just a few more Buttons===&lt;br /&gt;
&lt;br /&gt;
2 buttons more, 3 buttons total, mounted sideways would be enough. You could use them for play/pause and loudness controll while the phone remains in your pocket (display locked, ...), reading mails, rss, ebooks,... without wasting display space and so on.&lt;br /&gt;
&lt;br /&gt;
With 5 buttons in total you could possibly emulate a keyboard (2^5 = 32 combinations) for those who know how to play a flute. Useable onehanded, not wasting display space and faster than t9. (It's not faster than T9 - I've used this system with the microwriter agenda --[[User:Speedevil|Speedevil]] 00:00, 2 July 2007 (CEST)) Hopefully this is not patented already.&lt;br /&gt;
&lt;br /&gt;
===D-Pad and Buttons===&lt;br /&gt;
*Adding a D-pad (to the bottom of the phone) and 2 to 4 buttons (to the top) would provide some tactile input controls, in addition to the touchscreen. They could be used as shortcut keys in the menu, or playback control when playing media. When the phone is held sideways, they can be used as games controls. (With touchscreen alone, gameplay options are limited)&lt;br /&gt;
&lt;br /&gt;
Game buttons would be best on both sides of the screen. The larger the buttons, the better. 2x 4 buttons in up-down-left-right configuration + some extra buttons separately a bit lower on the device would be good for many for emulation games. &lt;br /&gt;
&lt;br /&gt;
Here is a concept drawing of a possible neo1973 gaming version: &lt;br /&gt;
(This has a 4-way direction pad, 8 way may be better for gaming)&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Neogame90.jpg]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Shoulder buttons would be a great addition, too. It would be interesting if there was a total 4 of them, one for every corner. It would make the phone very flexible for rotating and 2 to 6 players playing on one device.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
:''Note'' : The [http://en.wikipedia.org/wiki/Tapwave_Zodiac Tapwave Zodiac] Palm PDA / Game console hybrid had a similar setup - with an analog stick on the left (also used for quick selection using a radial main menu when working as a PDA), 4 buttons on the right (also configurable for shortcuts when using the device as PDA), and 2 shoulder buttons. Also it had and still has an enthusiastic scene of homebrew development (almost any console emulator for PalmOS can also take advantage of the additional buttons and graphic power of the device). If we also take into account the success encountered by the [http://en.wikipedia.org/wiki/GP32 GP32] in the past and the [http://en.wikipedia.org/wiki/GP2X GP2X] currently on the homebrew scene, it's not unreasonable to plan a future OpenMoko device with both a SmartPhone/PDA functionnality ''and'' hand-held console targeting homebrew development.&lt;br /&gt;
&lt;br /&gt;
===Thumb keyboard or keyboard attachment accessory===&lt;br /&gt;
*Could be slide out or clamshell (hinge on long side) design with an external OLED. The keyboard should be protected when not in use.&lt;br /&gt;
*Could be a clip on keyboard that attaches to the serial port or communicates by bluetooth (not preferred for permanent keyboard users).&lt;br /&gt;
*Cheap clippable miniusb keyboard&lt;br /&gt;
*One of the layouts proposed in [[Hardware:Keyboards]]&lt;br /&gt;
* What about virtual keyboard? [[http://www.extremetech.com/article2/0,3973,539778,00.asp Keyboard]]&lt;br /&gt;
&lt;br /&gt;
===Analogue Controllers===&lt;br /&gt;
&lt;br /&gt;
====Trackball====&lt;br /&gt;
A trackball would provide an efficient mouse-like interface in a very compact package.  As exemplified in the newer Blackberry&amp;amp;reg; models.&lt;br /&gt;
Maybe instead an optical sensor as are used in mice could be used so that the whole phone can be moved over a surface just like a mouse. (It could function as a Bluetooth mouse for other devices like laptop computers: see [[Bluetooth_Support#Acting_as_HID_device]]. Adding one other two-axis analogue input (possibly just the screen) would make the Neo usable as a TrackPoint or scroll-and-tilt mouse.) The same sensor might be usable as a barcode reader.&lt;br /&gt;
&lt;br /&gt;
====Analog Joystick====&lt;br /&gt;
A joystick, or [http://www.extremetech.com/article2/0,1697,1772689,00.asp Rollermouse]-like device would provide additional control, compared with touchscreen only.&lt;br /&gt;
*A standard [http://en.wikipedia.org/wiki/Pointing_stick pointing stick (ie. TrackPoint)] might serve well. As a fairly standard part, might they be quite inexpensive?&lt;br /&gt;
&lt;br /&gt;
====Dual analogues====&lt;br /&gt;
Dual analogue controllers (one trackball or joystick above, one below the screen, most likely) might even be feasible. That might be overkill since the accelerometers or touchscreen can be used to provide a second analogue input. But it would be nice to have four axes of analogue control without having to tilt the screen away from you or partly cover it with your hand.&lt;br /&gt;
&lt;br /&gt;
===TV/radio receiver===&lt;br /&gt;
[[Digital Television]], [[Digital Radio]] or even normal analogue TV/radio is widely available in the world, though unfortunately in various different forms. In markets where one standard is widespread, and hardware is suitable, it would be a great extension of the phone to a general entertainment device for when you're away from home. Multi standard devices would be ideal, but may not be small, low-power, or cheap.&lt;br /&gt;
A good start would be an FM tuner, since it's one of the most widely used formats of radio broadcasting in the world.&lt;br /&gt;
&lt;br /&gt;
Here's a selection of chips, though it's not clear if the drivers are open source. http://www.sigmatel.com/products/portable/wireless/fmtuner.aspx#fragment-14&lt;br /&gt;
http://www.st.com/stonline/products/families/automotive/am_fm_tuners.htm&lt;br /&gt;
&lt;br /&gt;
===Accelerometer=== &lt;br /&gt;
This enables the phone to sense which direction 'down' is, and to sense any movements the phone makes.&lt;br /&gt;
&lt;br /&gt;
See [[Accelerometer Fundamentals]] for more information on accelerometers as they may be used in phones.&lt;br /&gt;
&lt;br /&gt;
In some cases integrated gyroscopes may also be needed. A [[#Digital compass]] can even be of more use since it gives absolute rotation so slow rotations could also be measured. A 3D compass would be nicest, but a simple 2D compass already is a helpful addition to the accelerometers.&lt;br /&gt;
&lt;br /&gt;
*[[Wishlist:3D Viewport|3D Viewport]]&lt;br /&gt;
*[[Wishlist:Computer Mouse|Computer Mouse]]&lt;br /&gt;
*[[Wishlist:Determine Position|Determine Position]]&lt;br /&gt;
*[[Wishlist:Dynamic Screen Orientation|Dynamic Screen Orientation]]&lt;br /&gt;
*Change media player playlist when jogging vs walking. &lt;br /&gt;
*Attempt to use to stabilise any future camera.&lt;br /&gt;
&lt;br /&gt;
This feature is scheduled for inclusion in the phase 2 Neo1973, GTA02.&lt;br /&gt;
&lt;br /&gt;
===Side-Mounted Touch Strip===&lt;br /&gt;
Add a &amp;quot;touch strip&amp;quot; sensor onto the side of the phone which can be used to scroll. By having it on the side you can use your thumb to scroll comfortably while holding the phone one-handed. An 8-element capacitive sensor would work wonderfully and be easy to fab using either a Quantum QT411 (http://www.qprox.com/products/qslide_qt411.php) or Analog Devices AD7143 (http://www.analog.com/en/prod/0,2877,AD7143,00.html) controller. The Analog Devices chip seems better suited due to it's smaller allowable element size.&lt;br /&gt;
*With the AD7143 you can have an 8-element (128-position) 25mm long strip - Perfect!.&lt;br /&gt;
*With a few OLED screens beneath the strip it could be used as dynamic configurable buttons/alerts eg. zoom/flash/shutter with a camera application and SMS/Email/Voicemail alerts in standby&lt;br /&gt;
&lt;br /&gt;
===Heart Rate Compatibility=== &lt;br /&gt;
&lt;br /&gt;
An RF interface to receive data from popular heart rate straps (Polar, Garmin, Sigma, Suunto, etc.). This would go along well with the existing GPS functionality and possible future Accelerometer functionality to make for a full-blown workout tool.&lt;br /&gt;
&lt;br /&gt;
Software can be written to track heart rate along a running, cycling, skiing, swimming loop, to monitor max and min heart rate, to match heart rate data to GPS coordinates and print map data w/ relevant data.&lt;br /&gt;
&lt;br /&gt;
===Digital compass=== &lt;br /&gt;
A digital compass is useful for orienting maps to the terrain and other location/direction/orientation based applications (... is 300 meter that way) when the user is standing still (regardless of GPS reception) and for following a bearing when GPS reception is poor or speed is low. Also could be used to make the accelerometer data more exact.&lt;br /&gt;
&lt;br /&gt;
Very small [[I2C]] sensors like [http://www.ssec.honeywell.com/magnetic/hmc6352.html Honeywell's HMC6352 2-Axis Digital Integrated Compass] (6.5 x 6.5 x 1.5 mm) are very appropriate for this.&lt;br /&gt;
&lt;br /&gt;
*[[Wishlist:Auto Align Map]]&lt;br /&gt;
&lt;br /&gt;
See [[Wishlist - Hardware: Digital compass]] for more information&lt;br /&gt;
&lt;br /&gt;
===Thermometer===&lt;br /&gt;
An electronic thermometer might become handy for some users.&lt;br /&gt;
&lt;br /&gt;
There are very small [[I2C]] devices available, that could easily integrate to the existing bus. For example [http://focus.ti.com/docs/prod/folders/print/tmp100.html this one from ti].&lt;br /&gt;
(Could just be cheap and use the thermometer from the battery, thats how they did it in the nokia 5140's). Also is integrated in a barometer/altimeter like the SMD500 mentioned in [[Wish List - Hardware - Atmospheric]].&lt;br /&gt;
::But if you carry it in you pocket it is unlikely to show the correct air temperature anyway. [[User:AudriusA|AudriusA]] 17:12, 12 January 2008 (CET)&lt;br /&gt;
&lt;br /&gt;
===Barometer and Variometer (Altimeter)===&lt;br /&gt;
&lt;br /&gt;
A Barometer measures air pressure. This can be used to give weather information, and also as a variometer, to sense relative altitude. Variometers are commonly used in flying microlight and ultralight aircraft, to get accurate relative altitude.&lt;br /&gt;
&lt;br /&gt;
These are also common on high end GPS units. This is a great feature for walkers as you can tell how far you have got on any ascent/decent.&lt;br /&gt;
&lt;br /&gt;
See [[Wish List - Hardware - Atmospheric]] for more information.&lt;br /&gt;
&lt;br /&gt;
===Finger print sensor===&lt;br /&gt;
A fingerprint sensor gives easy and fast access to the phone, could lock the touchscreen etc. An example of this device can be found at [http://www.sonystyle.com/is-bin/INTERSHOP.enfinity/eCS/Store/en/-/USD/SY_BrowseCatalog-Start?CategoryName=cpu_VAIONotebookComputers_UX_Series&amp;amp;Dept=computers Sony UX17].&lt;br /&gt;
&lt;br /&gt;
Most fingerprint sensors in the embedded market include a navigation mode, where they work similar to either a touch-stick or touch-pad of a laptop.&lt;br /&gt;
&lt;br /&gt;
===Barcode Scanner===&lt;br /&gt;
*less cpu intensive and more reliable than camera+ocr&lt;br /&gt;
*though, bluetooth-enabled readers are already available.&lt;br /&gt;
&lt;br /&gt;
===Light Sensor===&lt;br /&gt;
Ability to sense ambient light, and act accordingly. i.e if it's 3am and LightValue&amp;lt;.1 then Ring Quietly.&lt;br /&gt;
&lt;br /&gt;
===Wheel===&lt;br /&gt;
A navigation wheel like on a sony/ericsson 810i would be nice.&lt;br /&gt;
&lt;br /&gt;
===Proximity Sensor===&lt;br /&gt;
Switch off backlight when you place the phone to your ear. Prevent accidental activation of speakerphone or other sounds when the phone is near the ear (prevent hearing damage). Possibly switch the speakerphone on or off automatically depending on if the phone is by your head or not.&lt;br /&gt;
&lt;br /&gt;
=== Make ''all'' unlocking of phone, password protected===&lt;br /&gt;
&lt;br /&gt;
When my (current non-neophone) phone is in my pocket and I have it locked, it sometimes accidentally unlocks itself since only two keystrokes in the correct order are necessary to unlock it. When it's unlocked and still in my pocket it sometimes calls someone without my knowledge. All phones I've seen today have a press-just-one-button bypass to answer an incoming call even when the phone is locked. I suggest making the locking mechanism let the user configure it so that the user has to enter a password even for answering incoming calls. The likeliness of the phone accidentally runbbing against my car keys, hitting a ten character long password, unlocking the phone without my knowledge and consent is low enough even for us most unlucky users.&lt;br /&gt;
&lt;br /&gt;
==Expansion==&lt;br /&gt;
===Positioning of Buttons, Connections and ports===&lt;br /&gt;
&lt;br /&gt;
Ideally any cable ports such as charging, USB, audio, docking should not get in the way of your hand or fingers when holding it in it's normal orientation. For the sake of SDIO cards an external SD slot should be on the top edge. IR for remote control software and ease of inter-device communication should be on the corner so that it is facing away from you for both orientations. Buttons obviously are positioned for finger control. An example of how '''not''' to do this would be the HTC Universal&lt;br /&gt;
&lt;br /&gt;
===Storage===&lt;br /&gt;
&lt;br /&gt;
====MMC/SD/SDIO slot (rather than?) miniSD or microSD====&lt;br /&gt;
*Cheaper, more durable cards in a widely accepted format.&lt;br /&gt;
*Much much larger storage capacity, [http://blog.scifi.com/tech/archives/2007/08/23/toshiba_unleash_1.html even 32GB]&lt;br /&gt;
*Cards are harder to lose&lt;br /&gt;
*Wider selection of accessories, including SDIO accessories.&lt;br /&gt;
*Make externally available so that larger length SDIO cards can be used (thinking about SDIO WLAN here)&lt;br /&gt;
*[http://en.wikipedia.org/wiki/Secure_Digital_card#SDHC SDHC] compatible. It seems to already have the right hardware for it - see [[Neo1973_Hardware#microSD-Card]].&lt;br /&gt;
&lt;br /&gt;
====Two SD slots====&lt;br /&gt;
*Micro SDHC for /home partition. Keep like current design underneath SIM card&lt;br /&gt;
*Hot swappable externally accessible normal size SDHC/SDIO slot&lt;br /&gt;
&lt;br /&gt;
=== Internal Communication Bus ===&lt;br /&gt;
*A standard and/or documented internal communication bus of some sort could simplify adding new hardware modules.&lt;br /&gt;
*Serial USB or I2C connector internal to case towards the top&lt;br /&gt;
*Several digital I/O pins that operate at TTL levels&lt;br /&gt;
*A few analogue I/O pins attached to a A/D converter&lt;br /&gt;
*Documentation of Debug board connector could provide some of this functionality.&lt;br /&gt;
&lt;br /&gt;
===Local Communication===&lt;br /&gt;
&lt;br /&gt;
====USB====&lt;br /&gt;
* 5V Powered, to avoid having to carry around a hub for when you want to occasionally plug in a memory stick. Many powered hubs will not recognize a totally unpowered host. Provide a maximum current to drive a basic USB keyboard/memory stick/mouse/webcam/astrowebcam. This could be done by adding a small cheap power converter like the [http://www.national.com/pf/LM/LM2753.html LM2753]&lt;br /&gt;
* USB 2.0 &lt;br /&gt;
* Standard type A socket for quick &amp;amp; easy insertion of memory sticks etc.&lt;br /&gt;
* OTG, to be able connect usb keyboard like [http://www.mobile-review.com/pda/review/cherry-kb-en.shtml Cherry G84-4321 SUNRG]&lt;br /&gt;
* Bootable USB device emulation: the possibility to boot any computer on a bootable flagged partition of the transflash.&lt;br /&gt;
* Protection against incorrectly wired USB ports: some USB ports are wired incorrectly; if the +5V and GND are swapped, the device would get -5V when it's expecting +5V, which could burn some chips. A reverse-biased diode between +5V and GND, D+ and GND, D- and GND, and (if used) ID and GND, with a low enough forward voltage drop (to limite the negative voltages to what the chips can withstand), would protect the device by tripping the port's short circuit protection.&lt;br /&gt;
&lt;br /&gt;
====Wireless USB support====&lt;br /&gt;
[http://en.wikipedia.org/wiki/Wireless_USB Wireless USB] is the wireless version of USB offering data-rates up to 480 Mbit/s over short distances (&amp;lt;3 meter). Chipsets suitable for a phone are likely to take some time to be available.&lt;br /&gt;
&lt;br /&gt;
====SIR/FIR transceiver (Serial Infrared) / IR remote control====&lt;br /&gt;
*An infrared transceiver is cheap, small, and useful for sync with many laptops and mobile phones. &lt;br /&gt;
*Replace/emulate all IR-based remote controls used for your tv, vcr, etc on your neo cell phone.&lt;br /&gt;
** replaces multiple 'dumb' devices with a single intelligent device (your neo) that you will probably carry with you at all times anyway. &lt;br /&gt;
**Command sets should be retrieved from a database or learned from other less intelligent remote control devices with macros. &lt;br /&gt;
**reduces clutter, particularly in the living room.&lt;br /&gt;
**inceases the neo's practical status as an 'always-have' device. &lt;br /&gt;
&lt;br /&gt;
Other uses.&lt;br /&gt;
*Detecting reflections from inside of a caddy, and switching from active mode.&lt;br /&gt;
*FIR would be a nice option, as it's some 40 times faster than SIR.&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
&lt;br /&gt;
====Video Out====&lt;br /&gt;
*Through a docking port&lt;br /&gt;
**S-Video/Composite Out&lt;br /&gt;
**DVI Out&lt;br /&gt;
**HDMI Out&lt;br /&gt;
**Display Port&lt;br /&gt;
&lt;br /&gt;
==Output devices==&lt;br /&gt;
&lt;br /&gt;
===LED===&lt;br /&gt;
*The Neo1973 GTA02 will have LEDs of some sort behind at least one button. [http://lists.openmoko.org/pipermail/community/2007-July/008458.html]&lt;br /&gt;
*A blinking LED would be a cheap, low power way to inform the user of new SMS/Email....&lt;br /&gt;
**An alternative to this would be for one small part of the LCD to be separately backlit.&lt;br /&gt;
**This requires the CPU and LCD to be somewhat active, to keep the LCD refreshed, but gives much more information.&lt;br /&gt;
**A Small OLED Screen could be used and display much more information than a LED with minimal power usage.&lt;br /&gt;
&lt;br /&gt;
*For example a multicolor LED which pulses yellow for GSM/GPRS transmit, blue for Bluetooth/Wifi, green to indicate non-urgent information - missed call etc, red to indicate battery low or other urgent notices.&lt;br /&gt;
&lt;br /&gt;
**The LED and button ideas could be combined: illuminated buttons.&lt;br /&gt;
**It must be possible to completely disable the LED to save power or other personal preferences.&lt;br /&gt;
&lt;br /&gt;
=== Flashlight ===&lt;br /&gt;
For finding keys, or any other application. May also optionally pulse in time with ring, to make phone more visible.&lt;br /&gt;
This is really well done in Nokia 5500.&lt;br /&gt;
&lt;br /&gt;
-I second this one. The most used feature in my Nokia 5140 after the calling and sms features is the flashlight. It's just one simple LED, but powerful enough to see with if it's really dark. If it ain't dark, you won't need the light anyway. :)&lt;br /&gt;
&lt;br /&gt;
Also, Who hasn't lost their keys and opened up their cell phone to use as a flashlight?&lt;br /&gt;
&lt;br /&gt;
=== FM transmitter ===&lt;br /&gt;
Small FM transmitter to output to car, and other nearby radios.&lt;br /&gt;
&lt;br /&gt;
Fix the biggest flaw in the iPod before Apple does!&lt;br /&gt;
&lt;br /&gt;
=== Infrared Transmitter w/ universal remote software ===&lt;br /&gt;
Infrared LED on top of device with universal remote software so you can control televisions, DVDs etc.&lt;br /&gt;
[http://www.novii.tv/ Here] is an example of universal remote software.&lt;br /&gt;
===HAC Compliance===&lt;br /&gt;
[http://quux.wiki.zoho.com/WhereAreHACphones.html Here] is some summary/discussion of how hearing aid compliance rules work in the US. Specifically it would be nice to see the phone include a [http://www.hearingresearch.org/Dr.Ross/telecoil_and_telephones.htm telecoil], which allows the phone to connect wirelessly to many standard hearing aids.&lt;br /&gt;
&lt;br /&gt;
==Mobile Communication options==&lt;br /&gt;
&lt;br /&gt;
===Generic Access Network / Unlicensed Mobile Access===&lt;br /&gt;
This technology requires cooperation from the cellular provider, but [http://en.wikipedia.org/wiki/Unlicensed_Mobile_Access UMA/GAN] is already offered by T-Mobile in the United States, and perhaps others in other countries.  Allowing the user to roam from GSM to wifi, this technology can save the end user a significant amount of money, and also allow the user to deploy coverage where there was none before.  There are only a few UMA capable phones currently, but it would be great if this could be made to work on a phase 2 type OpenMoko device.&lt;br /&gt;
&lt;br /&gt;
Note that this features requires more advanced access to the GSM modem. &lt;br /&gt;
Special messages needs to be exchanged with the network.&lt;br /&gt;
&lt;br /&gt;
===Faster/better mobile connectivity.===&lt;br /&gt;
[http://en.wikipedia.org/wiki/Gsm GSM]/[http://en.wikipedia.org/wiki/GPRS GPRS] is at best slow. An incremental improvement would be a radio with [http://en.wikipedia.org/wiki/EDGE EDGE ] support. EDGE is an evolved GSM standard and, like GPRS, it operates on the same frequency as voice. This means a quad-band EDGE radio will have near-complete worldwide coverage. &lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/UMTS UMTS] - which is widespread in Europe and being deployed in the US, [http://en.wikipedia.org/wiki/HSDPA HSDPA] (asia) and any other mobile standards would be nice for faster data connectivity and coverage.&lt;br /&gt;
It is unlikely that all of these will be supported initially, but it is a goal. These faster standards operate in different frequencies from GSM/GPRS/EDGE. Which frequency exactly will depend on the carrier and country. For UMTS in the US, AT&amp;amp;T uses 850/1900 MHz but T-Mobile will use 2100/1700 MHz for example.&lt;br /&gt;
&lt;br /&gt;
Until that goal is reached, it is likely that some phones will be brought out for various specific markets - Europe, Asia, US.&lt;br /&gt;
&lt;br /&gt;
===Ability to use multiple SIMs/networks===&lt;br /&gt;
* External SIM sockets are widely available in China, a dual external socket would be a very good solution.&lt;br /&gt;
* [http://www.fonefunshop.co.uk/dualsim/digital.htm Dual SIM card kit] - two SIMs are trimmed and combined, software supportwould be needed, and both can't be used at once...&lt;br /&gt;
* Some networks support multiple numbers on one SIM. Unfortunately this won't allow split networks.&lt;br /&gt;
* A second/dual GSM module would allow full use of both sims at all times.&lt;br /&gt;
* As a hack, [http://wiki.openmoko.org/wiki/Wish_List#Bluetooth_powered_Multi-SIM_support use another mobile via BT].&lt;br /&gt;
** As many as three SIM slots would be genuinely useful, especially for a 3G phone - some 3G data tariffs are only available on data-only SIMs. A user could quite reasonably have one SIM for data, once SIM for his personal voice calls, and a third SIM for his business number.&lt;br /&gt;
&lt;br /&gt;
===PMR446/FRS Radio===&lt;br /&gt;
* Include a PMR/FRS Radio.&lt;br /&gt;
* A two-way walkie talkie lets you use the phone to communicate with friends without requiring a GSM connection (crowded networks at festivals, at locations with no GSM coverage).&lt;br /&gt;
&lt;br /&gt;
===[[DECT]]===&lt;br /&gt;
* Include a [[DECT]] GAP/CAT-iq transceiver so you can use your home and/or office PSTN line&lt;br /&gt;
** Ability to use Alcatel phonebook stuff (like provided by the eventphone.de phone equipment) would be very nice too&lt;br /&gt;
&lt;br /&gt;
===[[SIP phone]]===&lt;br /&gt;
Make stripped down (and thus cheaper) version of the Neo1973 phone for use as a SIP phone. Remove GPS, GSM, accelerometers, stylus.&lt;br /&gt;
&lt;br /&gt;
Addition of an centimeters-precise location system [http://en.wikipedia.org/wiki/Real_Time_Location_Systems RTLS] would be nice, as it will allow highly sensible indoor context detection. Imagine putting the phone next to your mirror (where you shave daily) and watch it automatically switch to news radio channel. Or put it next to your bed and see it automatically switch to &amp;quot;sleeping&amp;quot; mode, when only calls from predefined numbers are accepted.&lt;br /&gt;
&lt;br /&gt;
=='''Casing'''==&lt;br /&gt;
See also: [[Alternate Neo1973 case designs]] for a list of cases being considered for design/manufacture by the community.&lt;br /&gt;
&lt;br /&gt;
=== [[Hardware:Neo1973:Alternate_Cases:Expansion_Module_Casing | Expansion Module Casing]] ===&lt;br /&gt;
Longer case (150-160mm+) with space in the top to put expansion modules, including test &amp;amp; hobby hardware.  Would require use of a standard internal power &amp;amp; communications bus. Could be left empty with blank cover or house cameras, solar panels, a crank powered charger, special transmitters/recievers, or anything else imaginable.&lt;br /&gt;
&lt;br /&gt;
[http://www.likeasecret.com/Neo1973/Neo1973-Exp.mov Neo1973 Expansion Module Quicktime rendering]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Neo1973-Exp.png]]&lt;br /&gt;
&lt;br /&gt;
=== Expansion Back Casing ===&lt;br /&gt;
Replacement backs with additional features ranging from solar power, larger batteries, extra hardware, ...&lt;br /&gt;
&lt;br /&gt;
===[[Hardware:Neo1973:Alternate_Cases:Expansion_Front_Casing|Expansion Front Casing]]===&lt;br /&gt;
Replacement fronts with e.g. extra buttons.&lt;br /&gt;
&lt;br /&gt;
=== Space efficient Lanyard ===&lt;br /&gt;
The hole at the bottom of the phone takes a lot of space. A [http://en.wikipedia.org/wiki/Kensington_Security_Slot Kensington Security Slot] could be used instead.&lt;br /&gt;
&lt;br /&gt;
=== Rugged version ===&lt;br /&gt;
We need something you can drop from 4 feet in to a puddle of dirty water on construction site. Sunlight readable display, maybe aluminium case. The big ugly pseudo military version.&lt;br /&gt;
&lt;br /&gt;
=== Transparent ===&lt;br /&gt;
Make a transparent, see-through casing. Why do we need a closed casing for open hardware and open software? Show the world it is a truly Free/Open source phone.&lt;br /&gt;
&lt;br /&gt;
That makes sense to me. I second that idea!&lt;br /&gt;
&lt;br /&gt;
=== Blank ===&lt;br /&gt;
Even though the transparent case would work too, I would like to see a blank case of pure black or white so people could have the option of air-brushing,painting or even drawing on the case.&lt;br /&gt;
&lt;br /&gt;
==Misc==&lt;br /&gt;
===Galileo/GLONASS/GPS receiver===&lt;br /&gt;
*A multi-standard satellite positioning module would be nice eventually, it does not seem to be near-term due to chipset availability problems. Galileo is the to be launched (2011) European positioning system. GLONASS is the already existing Russian one.&lt;br /&gt;
&lt;br /&gt;
===X10 RF Remote===&lt;br /&gt;
Many PC-based media centers are being equipped with an RF (433 MHz) / X10-based remote control. The [http://en.wikipedia.org/wiki/X10_(industry_standard) X10] protocol also facilitates home automation to control lamps, switches, etc.&lt;br /&gt;
The advantages of using RF for control instead of Infra-red this that it also works when furniture, walls, or doors are blocking the path between RF remote and the equipment or device. [http://www.lirc.org/ Lirc] supports X10-based RF remotes (but expects having an USB RF receiver attached to the media center).&lt;br /&gt;
&lt;br /&gt;
===RFID tag/RFID Reader===&lt;br /&gt;
* Implementation/Cooperation with: [http://www.rfidguardian.org/ RFID-Guardian]&lt;br /&gt;
*An enable-able tag would be of use - for example being able to use the phone to open doors, or cars. Unfortunately, it's moderately hard to do secure programmable tags that are compatible with existing systems, for obvious reasons.&lt;br /&gt;
* Say you have RFID tags on your personal belongings: cellphone, keys... Neo could be programmed to remember the last recorded GPS location before it lost contact with the respective RFIDs. It'd be trivial to check where you left your cellphone, get directions from a map...or beep when the phone gets out of RFID range.&lt;br /&gt;
&lt;br /&gt;
*I agree with this idea, a great idea and you have to do it (Jackcday)&lt;br /&gt;
&lt;br /&gt;
===NFC chip===&lt;br /&gt;
*A Near Field Communication chip, with this chip it will be possible to pay with your phone (like a credit card)in the near future, see [http://www.nokia.com/A4305081 Nokia]for details&lt;br /&gt;
*NXP is a chip fabricator which provides NFC chips [http://nxp.com NXP] direct link&amp;gt;&amp;gt; www.nxp.com/#/pip/cb=[type=product,path=/53420/53424]|pip=[pfp=53424][0] their chips also support the above RFID reading&lt;br /&gt;
&lt;br /&gt;
===Less weight===&lt;br /&gt;
* Work on the weight of the Neo1973 and following devices. At the present time the Neo1973 is just a moderate / normal business or multimedia phone. The ordinary &amp;quot;user&amp;quot; may want something lighter. Take a look at the following table, that's the Neo1973 compared with other common bussiness or multimedia phones.&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
| Neo1973 || Fujitsu-Siemens LOOX N560 || E-Ten Glofiish X500+ || Sony Ericsson P990i || iPhone || Nokia E65 &lt;br /&gt;
|- &lt;br /&gt;
|  184 g  ||            160 g          ||         146 g        ||        150 g        ||  135 g ||   115 g   &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Make it smaller===&lt;br /&gt;
* To stay within physical matters: Maybe the Neo1973 is also just a normal business/multimedia phone when looking at the size. It would be great the shrink it a bit. Especially the thickness of 18.5 mm could be worked on!&lt;br /&gt;
&lt;br /&gt;
===Standard 3.5mm headphone jack===&lt;br /&gt;
The Neo1973 uses a 4-conductor 2.5mm jack for stereo headphones and a microphone. A 2.5mm jack is the most common for headsets. &lt;br /&gt;
&lt;br /&gt;
There is an emerging convention used in the Nokia N800 and some other devices. A 4-conductor 3.5mm jack that can use a microphone with special headsets, but can also be used with off-the-shelf 3.5mm stereo headphones. Adapters to 2.5mm are of course available and this 3.5mm jack is much more robust.&lt;br /&gt;
&lt;br /&gt;
Neglecting space limitations, multiple sockets - 2.5mm and 3.5mm would be nice. Probably not practical in a phone. Other expanded plugs might allow remote controls.&lt;br /&gt;
&lt;br /&gt;
Other uses might be better met using bluetooth, or USB audio.&lt;br /&gt;
&lt;br /&gt;
===Laser Pointer===&lt;br /&gt;
Include a built in laser pointer.  Everything is better with lasers.&lt;br /&gt;
&lt;br /&gt;
===Completely free hardware===&lt;br /&gt;
Consider selling one device with absolutely no non-free components in it, even if that means dropping the GSM support.  I believe having one such device available would be good, because then it could be recommended by organizations like the FSF which typically never recommends anything if it has even a little non-free code in it.&lt;br /&gt;
&lt;br /&gt;
=== Consider economy / inexpensive / less featured edition ===&lt;br /&gt;
Some people want less features, because they do not need them. Leaving out some features either lets the phone get smaller or possibly enhances battery live.&lt;br /&gt;
&lt;br /&gt;
One big suggestion in this area is a b/w lower res display instead of the big color display.&lt;br /&gt;
&lt;br /&gt;
=== Inductive Charger ===&lt;br /&gt;
&lt;br /&gt;
It would be nice if it was possible to charge the phone without having to connect a cable. I'd like to have a simple docking station with an inductive charger like the type that's used for electric toothbrushes [http://home.howstuffworks.com/question292.htm ]. The charger itself could get its power from a standard wall-wart power supply, or it could be USB/Firewire powered.&lt;br /&gt;
&lt;br /&gt;
=== Solarpanel/dynamo Charger===&lt;br /&gt;
&lt;br /&gt;
It would be very nice to be able to charge the phone outside of the electric grid (for example on hikes and boating trips). A combined solarpanel and muscle empowered (rotational etc.) charger would do the trick nicely.&lt;br /&gt;
&lt;br /&gt;
'''some mobile Solarpanels'''&lt;br /&gt;
 	&lt;br /&gt;
[http://www.globetrotter.de/de/shop/detail.php?mod_nr=off01011&amp;amp;k_id=1400&amp;amp;hot=0 Off-Grid Systems Sunbag L]&lt;br /&gt;
&lt;br /&gt;
[http://www.globetrotter.de/de/shop/detail.php?mod_nr=off01001&amp;amp;k_id=1400&amp;amp;hot=0 Off-Grid Systems Sunbag S]&lt;br /&gt;
&lt;br /&gt;
[http://www.globetrotter.de/de/shop/detail.php?mod_nr=sv_01011&amp;amp;k_id=1400&amp;amp;hot=0 Silva Solar I]&lt;br /&gt;
&lt;br /&gt;
[http://www.globetrotter.de/de/shop/detail.php?mod_nr=sv_01012&amp;amp;k_id=1400&amp;amp;hot=0 Silva Solar II]&lt;br /&gt;
&lt;br /&gt;
[http://www.globetrotter.de/de/shop/detail.php?mod_nr=sol01011&amp;amp;k_id=1400&amp;amp;hot=0 Solarc e-Go Professional]&lt;br /&gt;
&lt;br /&gt;
[http://www.heise.de/mobil/suche/ergebnis?rm=result;q=solar;url=/mobil/artikel/74142/;words=solar Solarc e-Go *] &lt;br /&gt;
&lt;br /&gt;
[http://www.heise.de/newsticker/suche/ergebnis?rm=result;words=Solar%20solar;q=solar;url=/newsticker/meldung/91536/ Solar JKT]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- I think a dynamo charger (&amp;quot;share charger&amp;quot;, rotational, ...) would be more practical as a peripheral, connected through the USB-interface using the same principle cellphones now charge when connected to an USB-port. You could very easily hack this together. [http://www.metacafe.com/watch/449950/hack_a_flashlight_to_power_your/ flashligh recharge hack]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Random thought; Why not create some merchandise toys with a small lithium battery which charge through centrifugal force allowing to recharge the phone with a small &amp;quot;general&amp;quot; connector.&lt;br /&gt;
&lt;br /&gt;
[http://www.heise.de/mobil/artikel/61368/0 Article about aome mobile power-sources]&lt;br /&gt;
&lt;br /&gt;
=== Plastic Solar/Back side on the Neo===&lt;br /&gt;
&lt;br /&gt;
Sollar cells from Plastic, on the reverse side of the Neo 1973&lt;br /&gt;
modified and intergreated in the batery backcover/flap,&lt;br /&gt;
like an energy source when the display is in standby mode.&lt;br /&gt;
Thats can be use also as alternate charge method's and also helps in emergency.&lt;br /&gt;
&lt;br /&gt;
==Related Hardware==&lt;br /&gt;
See [[Related Hardware]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware ideas| ]]&lt;br /&gt;
[[Category:User]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/CAD_models</id>
		<title>CAD models</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/CAD_models"/>
				<updated>2007-12-27T16:09:32Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: broke up big text blurb into paragraphs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Schematics of the existing case/internals have been requested from FIC, but this will take some time, so for the time being the existing case will need to be measured and schematics uploaded here by an owner of a Neo1973.&lt;br /&gt;
&lt;br /&gt;
Even though we don't have schematics or accurate dimensions, a basic 3D rendering has been created for ''artistic'' use.  It has also been used to make a short *.mov animation in '''Art of Illusion'''.  Feel free to edit it to conceptually illustrate case ideas or provide more exact measurements so we can refine the model.&lt;br /&gt;
&lt;br /&gt;
[http://www.likeasecret.com/Neo1973/Neo1973.aoi Neo1973 Art of Illusion 3D Model] - Not fully accurate, please provide full dimensions if you have them&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.likeasecret.com/Neo1973/Neo1973.mov Neo1973 Art of Illusion 3D Quicktime rendering]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Neo1973.png]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Neo1973_Hardware]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Hardware:Neo_1973:Alternate_Cases</id>
		<title>Hardware:Neo 1973:Alternate Cases</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Hardware:Neo_1973:Alternate_Cases"/>
				<updated>2007-12-27T16:04:32Z</updated>
		
		<summary type="html">&lt;p&gt;Flerchjj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is a repository for alternate case designs for the [[Neo1973]], intended to be designed, built and fitted by the community/the phone's owner.  Many specific suggestions can be found in [[Wish List - Hardware#Casing]] and corresponding links.&lt;br /&gt;
&lt;br /&gt;
Each alternate case design suggestion needs some or all of: a description, intended uses, design options, a 3D model in an open format (e.g. [http://en.wikipedia.org/wiki/STL_(file_format) .stl], .blend (Blender), .obj (Wavefront), [http://en.wikipedia.org/wiki/Art_of_Illusion .aoi (Art of Illusion)] ), rendered images of the intended design, materials, components and information regarding interfacing electronically to components within the phone.&lt;br /&gt;
&lt;br /&gt;
== Manufacture ==&lt;br /&gt;
&lt;br /&gt;
There are numerous rapid prototyping companies that will very cheaply make small run components from various polymers, including:&lt;br /&gt;
&lt;br /&gt;
[http://www.absprototypes.net ABS Protytpes]&lt;br /&gt;
&lt;br /&gt;
[http://ponoko.com Ponoko]&lt;br /&gt;
&lt;br /&gt;
[http://rapidobject.com Rapid Object]&lt;br /&gt;
&lt;br /&gt;
[http://www.rapidprototyping.co.nz Rapid Prototyping New Zealand]&lt;br /&gt;
&lt;br /&gt;
[http://www.redeyerpm.com/Default.aspx Red Eye RPM]&lt;br /&gt;
&lt;br /&gt;
Other materials may require traditional manufacturing techniques including milling, forging, injection-moulding, either by the user or short-run companies such as:&lt;br /&gt;
&lt;br /&gt;
[http://emachineshop.com/ eMachine Shop]&lt;br /&gt;
&lt;br /&gt;
[http://www.msersen.net/msgme.php?p={$pagef}&amp;amp;c={$setcount}/ (4 axis) gantry style cnc router for hire.  Click for inquiries]&lt;br /&gt;
&lt;br /&gt;
[http://techshop.ws Techshop]&lt;br /&gt;
&lt;br /&gt;
==Cost Example==&lt;br /&gt;
Rapid Object charge from 1.9 Euros per cm^3 of material (photosensitive polymer) used, plus postage. The case for the Neo looks to be about 1.5mm thick, so conservatively, the back of the case will be approximately:&amp;lt;br&amp;gt;&lt;br /&gt;
120 x 60 x 1.5&amp;lt;br&amp;gt;&lt;br /&gt;
+ 120 x 9 x 1.5 x 2 (2 sides)&amp;lt;br&amp;gt;&lt;br /&gt;
= 10,800&amp;lt;br&amp;gt;&lt;br /&gt;
+ 3,240&lt;br /&gt;
&lt;br /&gt;
= 14,040 mm^3&lt;br /&gt;
&lt;br /&gt;
~ 14 cm^3&lt;br /&gt;
&lt;br /&gt;
~ 26 Euros&lt;br /&gt;
&lt;br /&gt;
and the front will be (allowing for the screen hole):&amp;lt;br&amp;gt;&lt;br /&gt;
(120 x 60 - 43 x 58) x 1.5&amp;lt;br&amp;gt;&lt;br /&gt;
+ 120 x 9 x 1.5 x 2 (2 sides)&amp;lt;br&amp;gt;&lt;br /&gt;
= 7,059&amp;lt;br&amp;gt;&lt;br /&gt;
+ 3,240&lt;br /&gt;
&lt;br /&gt;
= 10,299 mm^3&lt;br /&gt;
&lt;br /&gt;
~ 10cm^3&lt;br /&gt;
&lt;br /&gt;
~ 19 Euros&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
None of this can be accomplished without the dimensions of existing phones - if FIC are unable/unwilling to release precise dimensions, a user of a Neo1973 will need to measure their phone and upload the information to [[Neo1973 case schematics]] in the form of a 3D CAD model.&lt;br /&gt;
&lt;br /&gt;
Some users may want combinations of the variants listed - popular/simple options such as Stylus Mount/Different speaker orientation/Extra battery/Extra storage may be combined into one model.&lt;br /&gt;
&lt;br /&gt;
== Design Variant Suggestions ==&lt;br /&gt;
Some of these are a copy of requests in [[Wish List - Hardware#Casing]], some are from ideas thrown up in the community mailing list.&lt;br /&gt;
&lt;br /&gt;
Many of these cannot be implemented without some design changes to the phone PCB. As mentioned in [[Expansion Back]]&lt;br /&gt;
&lt;br /&gt;
=== Alternate Case Suggestion Format ===&lt;br /&gt;
* 1 Rendered images&lt;br /&gt;
** Images &amp;amp; any videos&lt;br /&gt;
** [[Image:Neo1973.png]]&lt;br /&gt;
* 2 3D model&lt;br /&gt;
** Open format, as suggested previously.&lt;br /&gt;
** See [[Neo1973 case schematics]] for standard Neo1973 case design&lt;br /&gt;
* 3 Etching templates&lt;br /&gt;
* 4 Materials&lt;br /&gt;
* 5 Processes&lt;br /&gt;
* 6 Interest&lt;br /&gt;
** who's interested in this design&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Languages|:Category:Neo1973 alternate cases}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Neo1973 alternate cases| ]]&lt;/div&gt;</summary>
		<author><name>Flerchjj</name></author>	</entry>

	</feed>