<?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=Airon90&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=Airon90&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Special:Contributions/Airon90"/>
		<updated>2013-05-25T22:52:33Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.6</generator>

	<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>2011-09-18T22:31:53Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: /* The more advanced way */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:USB software]]&lt;br /&gt;
[[Category:Implemented]]&lt;br /&gt;
&lt;br /&gt;
{{Languages|USB_Networking}}&lt;br /&gt;
&lt;br /&gt;
{|align=left&lt;br /&gt;
|__TOC__&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&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 e.g. 192.168.1.(something) might save you a lot of troubleshooting later. A discussion of this is [http://lists.openmoko.org/pipermail/support/2008-August/thread.html#1277 here].&lt;br /&gt;
&lt;br /&gt;
== Things to keep in mind ==&lt;br /&gt;
&lt;br /&gt;
=== Suspend ===&lt;br /&gt;
&lt;br /&gt;
When the FreeRunner suspends it disables its USB networking interface. Therefore it is a good idea to turn off the FreeRunners suspend function when using USB networking.&lt;br /&gt;
&lt;br /&gt;
=== So is it &amp;quot;usb0&amp;quot; or is it &amp;quot;eth1&amp;quot;? ===&lt;br /&gt;
&lt;br /&gt;
* The documentation below refers to the network interface name on the host side as &amp;quot;usb0&amp;quot;. However, the actual name is determined by your host system, and many host systems will rename the interface based on the mac (or hardware) address presented by the Neo or Freerunner. Use the &amp;lt;code&amp;gt;ifconfig -a&amp;lt;/code&amp;gt; command, or use &amp;lt;code&amp;gt;dmesg&amp;lt;/code&amp;gt; to examine the output from your host's kernel, to find which interface name was actually assigned to your device. If it wasn't &amp;quot;usb0&amp;quot;, it will almost always be the next available &amp;quot;eth''n''&amp;quot; name.&lt;br /&gt;
&lt;br /&gt;
In all the steps below where you see the interface referred to as &amp;quot;usb0&amp;quot;, you may need to substitute the interface name that your host assigned.&lt;br /&gt;
&lt;br /&gt;
For those interested in the technical details, the &amp;quot;usb0&amp;quot; interface name is used on the host system when the mac (hardware) address presented by the Freerunner or Neo is a locally-generated (random) address. Because the address is random, the ability to easily manage the interface with network managment tools is somewhat compromised. In fact, the Freerunner has been assigned official mac addresses, including addresses for the USB network interface. When these addresses are correctly used on the Freerunner (which is the case with the Qi bootloader, and with certain of the distros for the Freerunner), then the host system sees official mac addresses, and responds by configuring a permanent network interface for that device. By convention, this permanent interface is one of the &amp;quot;eth&amp;quot; interfaces. The specific interface name chosen will be remembered, and will be used each time that specific Freerunner is connected, and used only for that Freerunner. This is a particularly useful feature for users who have multiple USB-networked devices.&lt;br /&gt;
&lt;br /&gt;
As of the time of this writing, the Android and SHR distros will correctly pass the official mac address to the host, and will appear as &amp;quot;eth''n''&amp;quot; interfaces on the host.&lt;br /&gt;
&lt;br /&gt;
=== My distro ===&lt;br /&gt;
&lt;br /&gt;
There are many differences between distributions, both on the phone and an the desktop. Also within a single distribution there can be big changes over time, so remember that solutions provided here might not always exactly match your situation.&lt;br /&gt;
&lt;br /&gt;
If all your approaches fail, you might want to consider using [http://knopper.net/knoppix/index-en.html Knoppix] (6.3 WorkedForMe(tm)) or another [http://distrowatch.com/dwres.php?resource=cd live distribution].&lt;br /&gt;
&lt;br /&gt;
= Simple Manual Linux Configuration =&lt;br /&gt;
Try this first (as root on your desktop, with FreeRunner attached via USB cable and booted properly, not at the Boot Menu).  If it works, then you can add permanent configuration or use more sophisticated setups below.&lt;br /&gt;
=== The shortest way ===&lt;br /&gt;
This simple way has been tested with many Linux distributions (Fedora, SuSE, Red Hat, Debian and others) and network configurations. It was even successfully applied to connect another Linux based handhelds like TDS Nomad and surely can be recommended as the first attempt. The way assumes that you have the recent Linux distribution with USB networking enabled and also rather typical network setup. &lt;br /&gt;
&lt;br /&gt;
With the device connected configure usb0 interface (as root or via sudo like in this example):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo ip address add 192.168.0.200/24 dev usb0&lt;br /&gt;
sudo ip link set dev usb0 up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
or (deprecated)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo ifconfig usb0 192.168.0.200 netmask 255.255.255.0 up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If your eth0 interface is also in the same 'range' (e.g. 192.168.0.105) then you can do the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo route add -host 192.168.0.202 dev usb0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The login ===&lt;br /&gt;
&lt;br /&gt;
Log in to the Neo (you do not need to be a root on the desktop host just to log in).&lt;br /&gt;
 $ ssh root@192.168.0.202&lt;br /&gt;
&lt;br /&gt;
On some SHR Version the default root password is blank.&lt;br /&gt;
&lt;br /&gt;
'''If you get an error like: &amp;quot;Permission denied, please try again.&amp;quot; try to set a new password on the phone:'''&lt;br /&gt;
&lt;br /&gt;
open a terminal on the phone and type:&lt;br /&gt;
&lt;br /&gt;
 passwd&lt;br /&gt;
&lt;br /&gt;
then enter a new password and establish a new ssh connection.&lt;br /&gt;
&lt;br /&gt;
Note that an '''empty passwords''' won't work on some SHR releases!&lt;br /&gt;
&lt;br /&gt;
Do not forget to allow ssh (open the port 22) on your firewall so that you can connect to the device. If you suspect any firewall issues, the simplest way is to unplug the main Internet cable leaving only Neo connected and then temporary turn the firewall off.&lt;br /&gt;
&lt;br /&gt;
Also, some old or narrowly configured Linux distributions may not have USB networking support. For such cases the simple way might be just to upgrade.&lt;br /&gt;
&lt;br /&gt;
=== The more advanced way ===&lt;br /&gt;
If the previously described simple approach does not work, you may try the more complex one.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
sudo sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
sudo ip addr add 192.168.0.200/24 dev usb0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&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 only:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo ip addr add 192.168.0.200/28 dev usb0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(This will just map the net from 192.168.0.192 to 192.168.0.207 onto usb0. If you get the error 'Cannot find device &amp;quot;usb0&amp;quot;', double-check that your FreeRunner is turned on and connected by USB. Ensure also that the uhci_hcd module is loaded on your PC. If that doesn't work, try unplugging and replugging the USB cable.)&lt;br /&gt;
&lt;br /&gt;
And in this case you should enable ARP proxy on internet facing interface INSTEAD of using iptables:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo sysctl net.ipv4.conf.eth2.proxy_arp=1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This assuming that eth2 is connected to ISP.&lt;br /&gt;
&lt;br /&gt;
Then&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo ip link set usb0 up&amp;lt;/pre&amp;gt;&lt;br /&gt;
or (deprecated)&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo ifconfig usb0 up&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then (ideally, not as root):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh root@192.168.0.202&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default password is blank.&lt;br /&gt;
&lt;br /&gt;
Due to the fact that in most cases your Neo will use the same dns servers as your computer uses, you can automate the process of writing dns servers to your phone:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
/sbin/route add -host 192.168.0.202/32 dev usb0&lt;br /&gt;
iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
iptables -P FORWARD ACCEPT&lt;br /&gt;
sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
scp /etc/resolv.conf root@192.168.0.202:/etc/resolv.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again if your net already is 192.168.0.0, replace the POSTROUTING statement with&lt;br /&gt;
&amp;lt;pre&amp;gt;iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/28&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This simple script will set up routing for your Freerunner and than copy resolv.conf with dns addresses straight to the phone.&lt;br /&gt;
All you have to do is connect phone to the computer, run the script and enjoy internet connection from your phone.&lt;br /&gt;
&lt;br /&gt;
=== Changing the Neo IP address ===&lt;br /&gt;
&lt;br /&gt;
Like mentioned above, if the default Neo subnet 192.168.0.X is already used, it might be necessary to change the&lt;br /&gt;
Neo [http://en.wikipedia.org/wiki/IP_address IP adress] and subnet.&lt;br /&gt;
To achieve this, edit /etc/network/interfaces on the Neo (and reboot /etc/init.d/networking).&lt;br /&gt;
In the following example the Neo will use the IP address 192.168.100.1 (instead of the default 192.168.0.202)&lt;br /&gt;
within the network 192.168.100.X (instead of 192.168.0.X),&lt;br /&gt;
another [http://en.wikipedia.org/wiki/Private_network private] class C network.&lt;br /&gt;
(The [http://en.wikipedia.org/wiki/Subnetwork#Binary_subnet_masks netmask] indicates that the first 3 bytes (all bits set) are used to determine the subnet&lt;br /&gt;
and the last byte (no bits set) to determine the machine.)&lt;br /&gt;
The gateway (the computer, the Neo is attached to) also has to be part of the subnet and is expected to be 192.168.100.200 (instead of 192.168.0.200) here.&lt;br /&gt;
&lt;br /&gt;
Modifications for /etc/network/interfaces:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto usb0&lt;br /&gt;
iface usb0 inet static&lt;br /&gt;
        address 192.168.100.1&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        network 192.168.100.0&lt;br /&gt;
        gateway 192.168.100.200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(The network entry seems to be redundant information, since it can be derived from address and netmask?)&lt;br /&gt;
Note that wiki articles usually expect default settings and you have to adjust the IP adress, gateway, etc entries according to your changes.&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 USB networking and masquerading support in the kernel. For default kernels in many Linux distributions this will already be the case.&lt;br /&gt;
&lt;br /&gt;
== USB Networking support ==&lt;br /&gt;
&lt;br /&gt;
The following options need to be enabled:&lt;br /&gt;
&lt;br /&gt;
* CONFIG_USB_USBNET (''Multi-purpose USB Networking Framework''. Module will be called &amp;lt;tt&amp;gt;usbnet&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* CONFIG_USB_NET_CDCETHER (''CDC Ethernet support''. Module will be called &amp;lt;tt&amp;gt;cdc_ether&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
These options are available in ''Device Drivers -&amp;gt; USB support -&amp;gt; USB Network Adapters'' or ''Device Drivers -&amp;gt; Network Device Support -&amp;gt; USB Network Adapters.&lt;br /&gt;
&lt;br /&gt;
In order for USB networking to work you need to load the &amp;lt;tt&amp;gt;cdc_ether&amp;lt;/tt&amp;gt; module (when loading &amp;lt;tt&amp;gt;cdc_ether&amp;lt;/tt&amp;gt; the module &amp;lt;tt&amp;gt;usbnet&amp;lt;/tt&amp;gt; will be loaded automatically). For more info see the [http://www.linux-usb.org/usbnet/ usbnet driver homepage].&lt;br /&gt;
&lt;br /&gt;
Olamba&lt;br /&gt;
&lt;br /&gt;
== Masquerading support ==&lt;br /&gt;
&lt;br /&gt;
Masquerading options are found in ''Networking ---&amp;gt; Networking options ---&amp;gt;'' (tested on Linux 2.6.26.3).&lt;br /&gt;
&lt;br /&gt;
To enable the needed options you first have to enable:&lt;br /&gt;
&lt;br /&gt;
* CONFIG_NETFILTER (''Network packet filtering framework (Netfilter)'')&lt;br /&gt;
&lt;br /&gt;
Then, from&lt;br /&gt;
&lt;br /&gt;
''Networking ---&amp;gt;&lt;br /&gt;
Networking options ---&amp;gt;&lt;br /&gt;
[*] Network packet filtering framework (Netfilter) ---&amp;gt;&lt;br /&gt;
Core Netfilter Configuration ---&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
You need at least following options enabled as modules:&lt;br /&gt;
&lt;br /&gt;
* CONFIG_NF_CONNTRACK (''Netfilter connection tracking support'')&lt;br /&gt;
* CONFIG_NF_CONNTRACK_FTP (''FTP protocol support'')&lt;br /&gt;
* CONFIG_NETFILTER_XTABLES (''Netfilter Xtables support'')&lt;br /&gt;
&lt;br /&gt;
Rest of the needed options are found from&lt;br /&gt;
&lt;br /&gt;
''Networking ---&amp;gt;&lt;br /&gt;
Networking options ---&amp;gt;&lt;br /&gt;
[*] Network packet filtering framework (Netfilter) ---&amp;gt;&lt;br /&gt;
IP: Netfilter Configuration ---&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
You need to enable (again, as modules is fine):&lt;br /&gt;
&lt;br /&gt;
* CONFIG_NF_CONNTRACK_IPV4 (''IPv4 connection tracking support (required for NAT)'')&lt;br /&gt;
* CONFIG_IP_NF_IPTABLES (''IP tables support (required for filtering/masq/NAT)'')&lt;br /&gt;
* CONFIG_NF_NAT (''Full NAT'')&lt;br /&gt;
* CONFIG_IP_NF_TARGET_MASQUERADE (''MASQUERADE target support'')&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;
&lt;br /&gt;
= Other Issues =&lt;br /&gt;
&lt;br /&gt;
In case the Freerunner was recognized and you could assign the IP address to the device, but you get after trying to connect with 'ssh root@192.168.0.202' an error like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; ssh: connect to host 192.168.0.202 port 22: No route to host &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then your USB cable could be broken. Try to connect with another cable.&lt;br /&gt;
&lt;br /&gt;
== Regular drop-outs ==&lt;br /&gt;
If you've connected, and your connection keeps dropping and then coming back up, make sure that you don't have automatic wireless network connections - in some distros, the the wireless connection scripts automatically disable the usb network interface.&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.&lt;br /&gt;
&lt;br /&gt;
You should add the IP address of the DNS servers as provided by your ISP. Check your router's or PC's network status for the nameserver IP addresses.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo nameserver xxx.xxx.xxx.xxx &amp;gt; /etc/resolv.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also add the public DNS server called openDNS:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo nameserver 208.67.222.222 &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo nameserver 208.67.220.220 &amp;gt;&amp;gt; /etc/resolv.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These settings will be lost on reboot. You can set the DNS for the next connect, by adding the following to the end of the usb0 setting in /etc/network/interfaces, right above the bluetooth networking section:&lt;br /&gt;
&amp;lt;pre&amp;gt;up echo nameserver 208.67.222.222 &amp;gt; /etc/resolv.conf&lt;br /&gt;
up echo nameserver 208.67.220.220 &amp;gt;&amp;gt; /etc/resolv.conf&amp;lt;/pre&amp;gt;&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;
&amp;lt;pre&amp;gt;udpf-elf -p=53-f=`awk '$1 == &amp;quot;nameserver&amp;quot;{print $2; exit(0);}' /etc/resolv.conf`:53&amp;lt;/pre&amp;gt;&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;
&amp;lt;pre&amp;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&amp;lt;/pre&amp;gt;&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;
&amp;lt;pre&amp;gt;ping www.google.com&amp;lt;/pre&amp;gt;&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;
== Connection script ==&lt;br /&gt;
With the contents of this page [[User:Cristianpark|I]] made [http://www.mediafire.com/download.php?zm0gtz2tyjq this script] to easily get your FreeRunner connected with your PC.&lt;br /&gt;
&lt;br /&gt;
All you have to do is run the script (after connect the FR to the PC):&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo sh usb_networking.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
You have to:&lt;br /&gt;
# Disconnect FreeRunner&lt;br /&gt;
# Connect it again&lt;br /&gt;
# Re-run the script and voila the connection is there!&lt;br /&gt;
&lt;br /&gt;
; Notes &lt;br /&gt;
* It needs root privileges to be executed for the iptables and sysctl commands (if you don't like sudo, login as root instead)&lt;br /&gt;
* It uses the eth1 interface so on OM and other distros different from SHR, you have to put usb0&lt;br /&gt;
* Thanks to Tony Berth: if the first time you run the script you can't ping/access 192.168.0.202.&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;
There is also a very helpful tutorial for connecting with Vista at [http://sam.curren.ws/index.cfm/2008/7/14/Using-the-Neo-FreeRunner-with-Windows-XPVista].&lt;br /&gt;
&lt;br /&gt;
== FreeBSD ==&lt;br /&gt;
You need to load the cdce kernel module (if it is not already linked into your kernel). As root do:&lt;br /&gt;
&lt;br /&gt;
 # kldload cdce&lt;br /&gt;
&lt;br /&gt;
The Neo should then show up as cdce0 interface and you can handle the cdce0 interface just like the usb0 device under Linux. For more information see the cdce manpage. An easy way to assign the IP address to the cdce0 interface is using the devd(8) daemon. Create the following two files,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/usr/local/etc/devd/cdce.conf&amp;lt;/tt&amp;gt; as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
notify 1 {&lt;br /&gt;
match &amp;quot;system&amp;quot;          &amp;quot;IFNET&amp;quot;;&lt;br /&gt;
match &amp;quot;subsystem&amp;quot;       &amp;quot;cdce0&amp;quot;;&lt;br /&gt;
match &amp;quot;type&amp;quot;            &amp;quot;ATTACH&amp;quot;;&lt;br /&gt;
action &amp;quot;/usr/local/etc/devd/cdce.sh $subsystem $type&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and &amp;lt;tt&amp;gt;/usr/local/etc/devd/cdce.sh&amp;lt;/tt&amp;gt; as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
case $2 in&lt;br /&gt;
'ATTACH')&lt;br /&gt;
ifconfig cdce0 192.168.0.200 netmask 255.255.255.0&lt;br /&gt;
exit 0 ;&lt;br /&gt;
;;&lt;br /&gt;
esac&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then restart the devd(8) daemon with:&lt;br /&gt;
&lt;br /&gt;
 # /etc/rc.d/devd restart&lt;br /&gt;
&lt;br /&gt;
If you now plugin the FreeRunner into the USB port the cdce0 interface gets created and the IP addr will be assigned.&lt;br /&gt;
&lt;br /&gt;
== FreeBSD8 ==&lt;br /&gt;
If your kernel report &lt;br /&gt;
kernel: ugen5.2: &amp;lt;Linux 2.6.29-20100118.gita15608&amp;gt; at usbus5&lt;br /&gt;
&lt;br /&gt;
add to /etc/devd.conf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
attach 100 {&lt;br /&gt;
        device-name &amp;quot;ugen[0-9]+&amp;quot;;&lt;br /&gt;
        match &amp;quot;vendor&amp;quot; &amp;quot;0x1457&amp;quot;;&lt;br /&gt;
        match &amp;quot;product&amp;quot; &amp;quot;0x5122&amp;quot;;&lt;br /&gt;
        action &amp;quot;perl /usr/local/etc/neo_if.pl /dev/$device-name&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your kernel report &lt;br /&gt;
kernel: ugen1.2: &amp;lt;Linux 2.6.34.x.y.z&amp;gt; at usbus5 (it happens for QtMokov28)&lt;br /&gt;
&lt;br /&gt;
add to /etc/devd.conf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
attach 100 {&lt;br /&gt;
        device-name &amp;quot;ugen[0-9]+&amp;quot;;&lt;br /&gt;
        match &amp;quot;vendor&amp;quot; &amp;quot;0x0525&amp;quot;;&lt;br /&gt;
        match &amp;quot;product&amp;quot; &amp;quot;0xa4a2&amp;quot;;&lt;br /&gt;
        action &amp;quot;perl /usr/local/etc/neo_if.pl /dev/$device-name&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The two entryes in /etc/devd.con can coexists, so it's a good idea to have both inserted. &lt;br /&gt;
Anyway you can collect all the required information for your actual distribution with usbconfig. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# usbconfig | grep -i linux&lt;br /&gt;
ugen1.2: &amp;lt;RNDIS/Ethernet Gadget Linux 2.6.34.2-v28 with s3c2410_udc&amp;gt; at usbus1, cfg=1 md=HOST spd=FULL (12Mbps) pwr=ON&lt;br /&gt;
&lt;br /&gt;
#usbconfig -d ugen1.2 dump_device_desc&lt;br /&gt;
ugen1.2: &amp;lt;RNDIS/Ethernet gadget Linux 2.6.34.2-v28 with s3c2410_udc&amp;gt; at usbus1, cfg=1 md=HOST spd=FULL (12Mbps) pwr=ON&lt;br /&gt;
&lt;br /&gt;
  bLength = 0x0012 &lt;br /&gt;
  bDescriptorType = 0x0001 &lt;br /&gt;
  bcdUSB = 0x0200 &lt;br /&gt;
  bDeviceClass = 0x0002 &lt;br /&gt;
  bDeviceSubClass = 0x0000 &lt;br /&gt;
  bDeviceProtocol = 0x0000 &lt;br /&gt;
  bMaxPacketSize0 = 0x0008 &lt;br /&gt;
  idVendor = 0x0525 &lt;br /&gt;
  idProduct = 0xa4a2 &lt;br /&gt;
  bcdDevice = 0x0312 &lt;br /&gt;
  iManufacturer = 0x0001  &amp;lt;Linux 2.6.34.2-v28 with s3c2410_udc&amp;gt;&lt;br /&gt;
  iProduct = 0x0002  &amp;lt;RNDIS/Ethernet Gadget&amp;gt;&lt;br /&gt;
  iSerialNumber = 0x0000  &amp;lt;no string&amp;gt;&lt;br /&gt;
  bNumConfigurations = 0x0002 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create /usr/local/etc/neo_if.pl:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
my ($u, $ad) = $ARGV[0] =~ /(\d+)\.(\d+)$/;&lt;br /&gt;
print (&amp;quot;usage: $0 /dev/ugen4.2\n&amp;quot;), exit unless (length $u and length $ad);&lt;br /&gt;
print `usbconfig -u $u -a $ad set_config 1&lt;br /&gt;
#ifconfig ue0 link 00:1f:11:01:71:62 # uncomment if moko reports: usb0: duplicate address detected!&lt;br /&gt;
ifconfig ue0 192.168.0.200/24`;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debian, Ubuntu and others ==&lt;br /&gt;
&lt;br /&gt;
There are two systems which deal with hotplugginng devices, which is what you do when you plug in Freerunner in an USB port. '''udev''' and the older '''Hotplug''' system.&lt;br /&gt;
 &lt;br /&gt;
=== Systems using '''udev''' ===&lt;br /&gt;
&lt;br /&gt;
There are 2 common ways the USB networking device can be handled by your systems.&lt;br /&gt;
&lt;br /&gt;
If there is a definition for the USB networking device in /etc/network/interfaces, it is handled by the '''ifupdown''' system. If not, it is handled by '''NetworkManager'''.&lt;br /&gt;
&lt;br /&gt;
It is possible to use network-manager to automatically connect to the Freerunner using udev. The process uses udev to run a script when the Freerunner is plugged in.&lt;br /&gt;
&lt;br /&gt;
==== For devices showing as usb0 ====&lt;br /&gt;
&lt;br /&gt;
The script uses the ip command to set the mac address of the usb network interface.&lt;br /&gt;
&lt;br /&gt;
To begin, create /etc/udev/rules.d/80-freerunner.rules :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This file causes programs to be run on device insertion.&lt;br /&gt;
# See udev(7) for syntax.&lt;br /&gt;
# rule to assign a fixed mac address specified in /&lt;br /&gt;
KERNEL==&amp;quot;usb[0-9]*&amp;quot;, DRIVERS==&amp;quot;cdc_ether&amp;quot;, ACTION==&amp;quot;add&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/freerunner-usb-add.sh %k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, create the /usr/local/sbin/freerunner-usb-add.sh :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
(&lt;br /&gt;
busNum=$( printf %.2d $( expr match &amp;quot;$1&amp;quot; &amp;quot;usb\([0-9]*\)&amp;quot;) )&lt;br /&gt;
ip link set &amp;quot;$1&amp;quot; address 00:00:22:55:bb:$busNum &amp;amp;&amp;gt; /dev/null&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;
iptables -P FORWARD ACCEPT&lt;br /&gt;
) &amp;amp;&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== For devices showing as eth1 ====&lt;br /&gt;
&lt;br /&gt;
This script allows ipforwarding so your device can access the internet through your pc.&lt;br /&gt;
&lt;br /&gt;
To begin, create /etc/udev/rules.d/80-freerunner.rules replacing the mac address with the one from your device (run ifconfig on the pc, or use udevinfo, note that it must match udev's case):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This file causes programs to be run on device insertion.&lt;br /&gt;
# See udev(7) for syntax.&lt;br /&gt;
# http://www.reactivated.net/writing_udev_rules.html#example-netif&lt;br /&gt;
KERNEL==&amp;quot;eth*&amp;quot;, ATTR{address}==&amp;quot;00:1f:11:01:28:d6&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/freerunner-usb-add.sh&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, create the /usr/local/sbin/freerunner-usb-add.sh :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
(&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;
iptables -P FORWARD ACCEPT&lt;br /&gt;
) &amp;amp;&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== For all devices ====&lt;br /&gt;
Finally run &lt;br /&gt;
  chmod +x /usr/local/sbin/freerunner-usb-add.sh&lt;br /&gt;
to make it executable. Now you can use network-manager with '''mac-address specific settings''' and get it to automatically connect.&lt;br /&gt;
&lt;br /&gt;
* Plug your phone into your computer's usb port.&lt;br /&gt;
* Note the mac address from &amp;quot;ifconfig usb0&amp;quot; (or eth1)&lt;br /&gt;
* Right-click the network manager icon in the panel.&lt;br /&gt;
* Click &amp;quot;Edit Connections...&amp;quot;&lt;br /&gt;
* Delete the &amp;quot;Auto usb0&amp;quot; entry. (or eth1)&lt;br /&gt;
* Add a new connection named 'freerunner' (or whatever you fancy) &lt;br /&gt;
* Tick &amp;quot;System setting&amp;quot;&lt;br /&gt;
* Enter the mac address from above.&lt;br /&gt;
* Click the &amp;quot;IPv4 Settings&amp;quot; tab.&lt;br /&gt;
* Change &amp;quot;Method&amp;quot; to &amp;quot;Manual&amp;quot;&lt;br /&gt;
* Add an address of 192.168.0.200, 255.255.255.0 (address and netmask respectively).&lt;br /&gt;
* Click &amp;quot;Ok&amp;quot;&lt;br /&gt;
* Enter your system password (if prompted) to allow changing of this system setting.&lt;br /&gt;
&lt;br /&gt;
(watch out for this bug: https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/284298 )&lt;br /&gt;
&lt;br /&gt;
You should now be able to ping/ssh your phone.&lt;br /&gt;
&lt;br /&gt;
===Systems using''' hotplug''' - Using the interfaces file ===&lt;br /&gt;
Edit /etc/network/interfaces and add:&lt;br /&gt;
&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.0&lt;br /&gt;
        up iptables -A POSTROUTING -t nat -s 192.168.0.0/24 -j MASQUERADE&lt;br /&gt;
        up echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        down iptables -D POSTROUTING -t nat -s 192.168.0.0/24 -j MASQUERADE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is more sophisticated than the manual setup.  The 'auto usb' stanza ties into the Linux hotplug system so that when the device appears and vanishes, as happens when the FreeRunner 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;
Another possible configuration that adds DNS forward and removes&lt;br /&gt;
the iptables changes after unplugging:&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=$(awk '$1 == &amp;quot;nameserver&amp;quot;{print $2; exit(0);}' /etc/resolv.conf)&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 9.10 - the Karmic Koala ===&lt;br /&gt;
&lt;br /&gt;
Karmic has a bug in one of the upstart scripts, that makes it fail to properly bring down an unplugged network device (not just USB networking).&lt;br /&gt;
&lt;br /&gt;
Edit &amp;lt;tt&amp;gt;/etc/init/network-interface.conf&amp;lt;/tt&amp;gt; and replace this line&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;stop on net-device-removed INTERFACE=$INTERFACE&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... with this&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;stop on net-device-remove INTERFACE=$INTERFACE&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use &amp;lt;tt&amp;gt;/etc/network/interfaces&amp;lt;/tt&amp;gt;, make sure the device is marked 'auto'. Plugging and unplugging will then work automatically. &lt;br /&gt;
&lt;br /&gt;
('allow-hotplug' doesn't work, because upstart on ubuntu doesn't support 'allow-hotplug' defined devices)&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 9.04 - the Jaunty Jackalope === &lt;br /&gt;
&lt;br /&gt;
One can see /etc/udev/rules.d that a device plugged in on USB will be called '''eth1''' (or '''eth2''' etc.). Go to System-&amp;gt;Administration-&amp;gt;Network (or edit /etc/network/interfaces) and add the parameters for eth1; static ip 192.168.0.200, netmask 255.255.255.192&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 8.10 - Easy Way === &lt;br /&gt;
&lt;br /&gt;
:1. Connect Neo to PC and wait about a minute when NetworkManager stops scanning usb for dhcp (wait when icon in the tray switches to normal).&lt;br /&gt;
&lt;br /&gt;
:2. Open &amp;quot;nm-connection-editor&amp;quot;, select &amp;quot;Auto usb0&amp;quot;, click &amp;quot;Edit&amp;quot;, then &amp;quot;IPv4 Settings&amp;quot;. Set &amp;quot;Method&amp;quot; - &amp;quot;Manual&amp;quot;, click &amp;quot;Add&amp;quot;. In the &amp;quot;Address&amp;quot; field write &amp;quot;192.168.0.200&amp;quot;, &amp;quot;Netmask&amp;quot; - &amp;quot;255.255.255.0&amp;quot;, leave &amp;quot;Gateway&amp;quot; field empty (or 0.0.0.0). Change the &amp;quot;Connection name&amp;quot; and click &amp;quot;Apply&amp;quot;, then &amp;quot;Close&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
:3. Now you can connect via ssh to 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Note: After reflashing the Neo you have to copy the &amp;quot;MAC Address&amp;quot; from &amp;quot;Auto usb0&amp;quot; into your new connection.&lt;br /&gt;
&lt;br /&gt;
Then, based on [http://sebastian-bergmann.de/index.php?url=archives/801-OpenMoko-Freerunner-and-Ubuntu.html#feedback these instructions], you should be able to setup masquerading by running the following commands on your Ubuntu PC: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
sudo iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
sudo iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
sudo bash -c 'echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward'&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu Issues ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 8.10 doesn't work as expected if you used /etc/network/interfaces to automate the connection.&amp;lt;br&amp;gt;&lt;br /&gt;
Network manager likes to latch onto the network device and add a default route through 192.168.0.202, breaking your network connection.&lt;br /&gt;
Network manager also says you can't edit or remove this connection from its list. I'm going back to making the connection manually.&amp;lt;br&amp;gt;&lt;br /&gt;
Using the /usr/local/sbin/freerunner-usb-add.sh script for some automatism can be a workaround:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
(&lt;br /&gt;
ip address add 192.168.0.200/26 netmask dev usb0 &amp;gt; /dev/null&lt;br /&gt;
ip link set usb0 up &amp;gt; /dev/null&lt;br /&gt;
/etc/network/freerunner start&lt;br /&gt;
) &amp;amp;&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&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. Moving the DRIVERS==&amp;quot;*?&amp;quot; out of the top GOTO, to ACTION==&amp;quot;add&amp;quot; line fixes the problem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;net&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;, DRIVERS==&amp;quot;?*&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;
ck&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;
LABEL=&amp;quot;net_end&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The bug is that the DRIVERS variable isn't set at all when the device is unplugged.&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;
:Actually it appears that it's not fixed, but patching that file and disconnecting and reconnecting the phone works perfectly. --[[User:Johndoesacc|Johndoesacc]] 18:37, 20 August 2008 (UTC)&lt;br /&gt;
:Well, yes, it must be fixed because it worked for me out-of-the-box without tweaking the udev rule on 8.04 --[[User:EtienneG|EtienneG]] November 26th, 2008&lt;br /&gt;
:It wasn't solved in my case, as of 3. February 2009 in 8.04 (AMD64), the patch above solved my problem thou. --[[User:VilleWitt|VilleWitt]] February 3td, 2009.&lt;br /&gt;
&lt;br /&gt;
====Iptables Configuration with GUI====&lt;br /&gt;
&lt;br /&gt;
Firestarter can be used to allow the freerunner to connect to the internet without manually running iptables commands. Firestarter is in the ubuntu repositories and can be installed with a &lt;br /&gt;
&amp;lt;pre&amp;gt;sudo aptitude install firestarter&amp;lt;/pre&amp;gt;&lt;br /&gt;
Once installed, the firestarter go to&lt;br /&gt;
* Edit &amp;gt; preferences dialog &amp;gt; network setting section, &lt;br /&gt;
* choose internet connection device (e.g. &amp;lt;tt&amp;gt;eth0&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* choose loacl area network device your Freerunner (generally &amp;lt;tt&amp;gt;usb0&amp;lt;/tt&amp;gt;). You can select the device with a drop-down box, which  is labeled  &amp;quot;Local network connected device.&amp;quot; Select the freerunner, generally &amp;quot;Unknown device(usb0)&amp;quot; &lt;br /&gt;
* check the &amp;quot;Enable internet connection sharing&amp;quot; box. Uncheck local network DHCP and the freerunner should be able to access the internet.&lt;br /&gt;
Tested in &lt;br /&gt;
* Ubuntu 8.10--[[User:makito|Makito]] February 26, 2009&lt;br /&gt;
* Ubuntu 9:04--[[User:chrestomanci|David]] September 2009&lt;br /&gt;
* Ubuntu 10.04 LTS, [[User:Niebert|Niebert]] July 2010&lt;br /&gt;
{{Note|Firestarter needs to run as root. Be aware that when firestarter is running it by default blocks all incoming connections, so if you where using your linux box as a mail-server, web-server or whatever those connections will be blocked. It is quick and easy to add exceptions for whatever protocol you are using in the policy tab of firestarter.}}&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu Workaround ===&lt;br /&gt;
Use [http://wicd.sourceforge.net/ wicd] instead of networkmanager:&lt;br /&gt;
It is much further in development than networkmanager yet and doesn't make any problems with USB networking. You can use the &amp;quot;normal&amp;quot; settings in /network/interfaces.&lt;br /&gt;
;Note: Because of it's dependencies it deinstalls networkmanager.&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu and QI ===&lt;br /&gt;
If you have trouble connecting to the freerunner after installing qi, check to see if the address has changed to eth&amp;lt;n&amp;gt;. Many host systems will assign eth&amp;lt;n&amp;gt; addresses when they detect an official (non-locally-generated) mac address on the usb network connection.  Qi passes in the official Openmoko USB mac address; u-boot does not.&lt;br /&gt;
&lt;br /&gt;
== Mandriva ==&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;
&amp;lt;tt&amp;gt;/etc/sysconfig/network-scripts/ifcfg-usb0&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;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.0&lt;br /&gt;
NETWORK=192.168.0.0&lt;br /&gt;
BROADCAST=192.168.0.255&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;
&amp;lt;/pre&amp;gt;&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;
&amp;lt;tt&amp;gt;/etc/sysconfig/network-scripts/usb0-routes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ADDRESS0=192.168.0.200&lt;br /&gt;
NETMASK0=255.255.255.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&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;
&lt;br /&gt;
This didn't work for me (Mandriva 2008.1), giving errors from Shorewall. However, simply using MCC, Network-&amp;gt;Sharing Internet Access worked fine. You need to connect Neo when starting it. --[[User:Alih|Alih]] 18:50, 22 September 2008 (UTC)&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 FC9, FC8 &amp;amp; FC5 ===&lt;br /&gt;
&lt;br /&gt;
edit file &amp;lt;tt&amp;gt;/etc/sysconfig/network-scripts/ifcfg-usb0&amp;lt;/tt&amp;gt; to look like this:&lt;br /&gt;
&lt;br /&gt;
 # USB configuration for PDAs (openmoko)&lt;br /&gt;
 # from &amp;lt;nowiki&amp;gt;http://www.handhelds.org/moin/moin.cgi/UsbNet&amp;lt;/nowiki&amp;gt;&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;
and restart networking service by typing:&lt;br /&gt;
&lt;br /&gt;
 service network restart&lt;br /&gt;
&lt;br /&gt;
if your '''openmoko''' is connected when you restart network you should see system message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Bringing up interface usb0      [OK]&amp;lt;/code&amp;gt;&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;
 ./etc/init.d/functions&lt;br /&gt;
 cd /etc/sysconfig/network-scripts&lt;br /&gt;
 ../network-functions&lt;br /&gt;
 [ -f ../network ] &amp;amp;&amp;amp; . ../network&lt;br /&gt;
 CONFIG=${1}&lt;br /&gt;
 need_config ${CONFIG}&lt;br /&gt;
 source_config&lt;br /&gt;
 NETBITS=`ipcalc -p ${IPADDR} ${NETMASK} | awk -F'=' '{print $2;}'`&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;
 /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;
 ./etc/init.d/functions&lt;br /&gt;
 cd /etc/sysconfig/network-scripts&lt;br /&gt;
 ../network-functions&lt;br /&gt;
 [ -f ../network ] &amp;amp;&amp;amp; . ../network&lt;br /&gt;
 CONFIG=${1}&lt;br /&gt;
 need_config ${CONFIG}&lt;br /&gt;
 source_config&lt;br /&gt;
 NETBITS=`ipcalc -p ${IPADDR} ${NETMASK} | awk -F'=' '{print $2;}'`&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;
 /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;
=== Option C - tested on FC8, FC9 and F10 ===&lt;br /&gt;
&lt;br /&gt;
Plug in the usb cable. NetworkManager should detect the phone automatically but you should ignore it.&lt;br /&gt;
Open Network Configuration tool (System -&amp;gt; Administration -&amp;gt; Network) and perform following steps:&lt;br /&gt;
# Click '''New''' button on top bar&lt;br /&gt;
# Click '''Forward'''&lt;br /&gt;
# Select OpenMoko from device list&lt;br /&gt;
# Click '''Forward'''&lt;br /&gt;
# Select 'Statically set IP address:' and enter address: 192.168.0.200, netmask 255.255.255.0 (or use 255.255.255.240 if you want only route ip range 192.168.0.192-192.168.0.207). Leave gateway empty.&lt;br /&gt;
# Click '''Forward'''&lt;br /&gt;
# Click '''Apply''' to close add dialog&lt;br /&gt;
# Select newly added usb0 device from the device list.&lt;br /&gt;
# Click '''Edit''' button on top bar&lt;br /&gt;
# You might want to remove a tick from 'Activate device when computer starts' check box.&lt;br /&gt;
# Click '''Ok''' to close window  dialog.&lt;br /&gt;
Save settings and close the window.&lt;br /&gt;
&lt;br /&gt;
Open Firewall Configuration (System -&amp;gt; Administration -&amp;gt; Firewall) and enable masquerading:&lt;br /&gt;
# Select '''Masquerading''' from left panel&lt;br /&gt;
# Check device(s) which you'd like to share internet connection. Typically eth0 or wlan0.&lt;br /&gt;
# Click '''Apply''' and close application&lt;br /&gt;
&lt;br /&gt;
Open terminal and perform (as root user):&lt;br /&gt;
# ifdown usb0&lt;br /&gt;
# ifup usb0&lt;br /&gt;
The first command will remove any existing settings given by the NetworkManager and second command brings the device up with appropriate settings.&lt;br /&gt;
&lt;br /&gt;
Now you should be able to ping e.g. 74.125.39.99 [www.google.com] from OpenMoko. Configure /etc/resolv.conf and you should have full a internet access.&lt;br /&gt;
&lt;br /&gt;
==== Troubleshooting ====&lt;br /&gt;
If Network Configuration tool cannot see the the usb0 try to unplug the usb cable for a few seconds and wait until the NetworkManager finds it again.&lt;br /&gt;
&lt;br /&gt;
NetworkManager will assign a new ip address for the OpenMoko if link goes down for a while. You can fix this by issuing '''ifup usb0''' again.&lt;br /&gt;
&lt;br /&gt;
=== Option D - tested on Fedora 11 (Leonidas), Fedora 12 (Unite) and Fedora 13 (Goddard) ===&lt;br /&gt;
&lt;br /&gt;
Plug in the usb cable. NetworkManager should detect the phone automatically. Perform following steps:&lt;br /&gt;
# Rightclick NetworkManager Icon&lt;br /&gt;
## Click '''Edit Connections ...'''&lt;br /&gt;
## Type root password when requested&lt;br /&gt;
## Select first entry in List (eg. Auto eth1)&lt;br /&gt;
## Click '''Edit'''&lt;br /&gt;
## Change '''Connectionname''' to '''neo freerunner'''&lt;br /&gt;
## Chose tab '''IPv4 Properties'''&lt;br /&gt;
## Choose '''manual''' in Drop-Down-Box '''Method'''&lt;br /&gt;
## Click '''Add''' at '''Adresses'''&lt;br /&gt;
## Enter this values:&lt;br /&gt;
### Address: 192.168.0.200&lt;br /&gt;
### Netmask: 255.255.255.0&lt;br /&gt;
### Gateway: 0.0.0.0&lt;br /&gt;
## Click '''Apply'''&lt;br /&gt;
## Click '''Close''' on dialog &amp;quot;network connections&amp;quot;&lt;br /&gt;
# Open Shell (as root)&lt;br /&gt;
## Enter '''iptables -I FORWARD -j ACCEPT -d 192.168.0.202/32'''&lt;br /&gt;
## Enter '''iptables -I FORWARD -j ACCEPT -s 192.168.0.202/32'''&lt;br /&gt;
## Enter '''iptables -I POSTROUTING -t nat -j MASQUERADE -s 192.168.0.202/32'''&lt;br /&gt;
## Enter '''/etc/init.d/iptables save'''&lt;br /&gt;
## Enter '''chkconfig iptables on'''&lt;br /&gt;
## Enter '''sed -i -e 's/net.ipv4.ip_forward =.*/net.ipv4.ip_forward = 1/'  /etc/sysctl.conf'''&lt;br /&gt;
## Enter '''sysctl -p'''&lt;br /&gt;
Done!&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;
&amp;lt;pre&amp;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;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a new init script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /etc/init.d&lt;br /&gt;
ln -s net.lo net.usb0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Manual Configuration ===&lt;br /&gt;
&lt;br /&gt;
Put iptables into use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;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;
&amp;lt;/pre&amp;gt;&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;
=== Automatic Configuration ===&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;
Therefore the net.usb0 service must be hotpluggable (/etc/rc.conf or /etc/conf.d/rc).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;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;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Slackware (tested with 12.1) ==&lt;br /&gt;
&lt;br /&gt;
Following is based on [http://www.enricozini.org/2008/tips/autodock-freerunner.html Enrico Zini's solution].&lt;br /&gt;
&lt;br /&gt;
Create a new udev rules file &amp;lt;tt&amp;gt;/etc/udev/rules.d/91-openmoko.rules&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;net&amp;quot;, ACTION==&amp;quot;add&amp;quot;, ATTRS{idVendor}==&amp;quot;1457&amp;quot;, ATTRS{idProduct}==&amp;quot;5122&amp;quot;, RUN+=&amp;quot;/sbin/om-usb $env{INTERFACE} start&amp;quot;&lt;br /&gt;
SUBSYSTEM==&amp;quot;net&amp;quot;, ACTION==&amp;quot;remove&amp;quot;, ENV{INTERFACE}==&amp;quot;usb[0-9]&amp;quot;, RUN+=&amp;quot;/sbin/om-usb $env{INTERFACE} stop&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then create the script &amp;lt;tt&amp;gt;/sbin/om-usb&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
INTERFACE=$1&lt;br /&gt;
ACTION=$2&lt;br /&gt;
&lt;br /&gt;
# udev fails silently when the script fails, e.g. due to commands not&lt;br /&gt;
# being found&lt;br /&gt;
PATH=/usr/sbin:/sbin:/usr/bin:/bin&lt;br /&gt;
&lt;br /&gt;
case $ACTION in&lt;br /&gt;
'start')&lt;br /&gt;
# Put all your setup here&lt;br /&gt;
;;&lt;br /&gt;
'stop')&lt;br /&gt;
# Put all your tear down here&lt;br /&gt;
;;&lt;br /&gt;
*)&lt;br /&gt;
echo &amp;quot;Usage: $0 {start|stop}&amp;quot;&lt;br /&gt;
exit 1&lt;br /&gt;
;;&lt;br /&gt;
esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;INTERFACE&amp;lt;/tt&amp;gt; will be &amp;lt;tt&amp;gt;usb0&amp;lt;/tt&amp;gt; in most cases.&lt;br /&gt;
&lt;br /&gt;
== Archlinux ==&lt;br /&gt;
Following is based on [http://xenos.altervista.org/blogs/index.php?blog=3&amp;amp;title=openmoko-usb-networking-su-archlinux furester's solution].&lt;br /&gt;
&lt;br /&gt;
Install package [http://aur.archlinux.org/packages.php?ID=20220 openmoko-usb-networking] from AUR:&lt;br /&gt;
&lt;br /&gt;
$ yaourt -S openmoko-usb-networking&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 adding a new line for every ssh host-key to your known_hosts you can add the following to the phone section in ~/.ssh/config (or see the snippet at : [[USB Networking#Changing_host_keys]] bellow)&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;
 user@host$ 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;
 root@phone# 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;
 user@host$ scp ~/.ssh/id_rsa.pub root@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 using a command like 'ssh root@phone' from the account user@host because the public key in the file user@host:~/.ssh/id_rsa.pub is contained in the list of keys which have access in the file root@phone:~/.ssh/authorized_keys (since scp is used, only one key exists, but you can grant access to the phone from more than one account, for example user@host, user@laptop).&lt;br /&gt;
&lt;br /&gt;
To make ssh login as root by default, add the following lines to ~/.ssh/config:&lt;br /&gt;
&lt;br /&gt;
 Host phone&lt;br /&gt;
 User root&lt;br /&gt;
&lt;br /&gt;
Replace ''phone'' with the hostname or ip of your phone. You should now be able to ssh into the phone without having to type ''root@'' every time.&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). Now you have set this, you can issue the following command to connect to your moko (the usual &amp;quot;root@&amp;quot; isn't required as it's set by the user section in the config file) :&lt;br /&gt;
&lt;br /&gt;
 ssh moko&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 (execute on desktop):&lt;br /&gt;
&lt;br /&gt;
 xhost +&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;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&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;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
&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;
&lt;br /&gt;
 ps auxwwwwe | grep -m 1 DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
&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;
&lt;br /&gt;
 env DBUS_SESSION_BUS_ADDRESS=''dbus_address'' ''process'' #(isn't the &amp;quot;env&amp;quot; redundant here?)&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;
== sftp ==&lt;br /&gt;
After you get the SSH connection working, it is possible to use Konqueror, Nautilus or another sftp - enabled tool to browse the phone filesystem and deploy the test applications. Just enter sftp://root@192.168.0.202 into address bar.&lt;br /&gt;
&lt;br /&gt;
== sshfs ==&lt;br /&gt;
You can use sshfs to mount the phones filesystem into the hosts filesystem. Make sure that fuse-sshfs is installed and that you are allowed to use fuse. Now run:&lt;br /&gt;
&lt;br /&gt;
  sshfs 192.168.0.202:REMOTE_PATH LOCAL_MOUNT_POINT&lt;br /&gt;
&lt;br /&gt;
REMOTE_PATH can now be accessed through LOCAL_PATH.&lt;br /&gt;
&lt;br /&gt;
E.g. you create copy audio files to SD card create a directory  on your desktop computer and mount the card via sshfs&lt;br /&gt;
  desktop# mkdir /mnt/freerunner&lt;br /&gt;
  desktop# mkdir /mnt/freerunner/card&lt;br /&gt;
  desktop# sshfs 192.168.0.202:/media/card /mnt/freerunner/card&lt;br /&gt;
No the content of card of your FR can be access via /mnt/freerunner/card.&lt;br /&gt;
&lt;br /&gt;
==Automated setup network and mounting partitions==&lt;br /&gt;
&lt;br /&gt;
See [https://bugs.launchpad.net/ubuntu/+bug/289548 Ubuntu bug report in launchpad].&lt;br /&gt;
&lt;br /&gt;
== other similar tutorials ==&lt;br /&gt;
* http://left.subtree.org/category/freerunner/&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/VisualBoyAdvance_Games</id>
		<title>VisualBoyAdvance Games</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/VisualBoyAdvance_Games"/>
				<updated>2011-09-15T22:03:25Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: dead link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;all Gameboy/Gameboy Color games are working (theoretically)&lt;br /&gt;
&lt;br /&gt;
Problem is input. On Freerunner is only usable input touchscreen, which is unfortunately single-touch. &lt;br /&gt;
&lt;br /&gt;
What we need is make a list of games playable with just one button pressed at the time.&lt;br /&gt;
&lt;br /&gt;
== Playable games ==&lt;br /&gt;
turn-based strategies/RPG, adventures, platform games&lt;br /&gt;
* Battletoads&lt;br /&gt;
* Bust-a-Move 2 - ala frozen bubble&lt;br /&gt;
* Buster Brothers &lt;br /&gt;
* Croc &lt;br /&gt;
* Croc 2&lt;br /&gt;
* Flintstones, The &lt;br /&gt;
* Gameboy Gallery &lt;br /&gt;
* Kung-Fu Master&lt;br /&gt;
* Lock 'N Chase&lt;br /&gt;
* Looney Tunes&lt;br /&gt;
* Mortal Kombat&lt;br /&gt;
* Pac-Man &amp;amp; Pac-Attack SCE &lt;br /&gt;
* Pac-Man&lt;br /&gt;
* Pokemon Red/Blue/Green/Yellow&lt;br /&gt;
* Pokemon Gold/Silver&lt;br /&gt;
* Yoshi (U)&lt;br /&gt;
* Brick Breaker DX (PD) [C]&lt;br /&gt;
* Color Collapse (PD)&lt;br /&gt;
&lt;br /&gt;
== Not playable games ==&lt;br /&gt;
Action, FPS, Arcade&lt;br /&gt;
* Lemmings&lt;br /&gt;
* Supermario&lt;br /&gt;
* Rayman&lt;br /&gt;
* Monsters Inc.&lt;br /&gt;
&lt;br /&gt;
== Don't work ==&lt;br /&gt;
Can't be played (practically)&lt;br /&gt;
* Invasion DX (Bung) (PD) [C]&lt;br /&gt;
&lt;br /&gt;
[[Category:Gaming]]&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Gamerunner</id>
		<title>Gamerunner</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Gamerunner"/>
				<updated>2011-09-11T22:44:48Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: Redirecting to GameRunner&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[GameRunner]]&lt;/div&gt;</summary>
		<author><name>Airon90</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>2011-09-11T22:42:12Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: /* So is it &amp;quot;usb0&amp;quot; or is it &amp;quot;eth1&amp;quot;? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:USB software]]&lt;br /&gt;
[[Category:Implemented]]&lt;br /&gt;
&lt;br /&gt;
{{Languages|USB_Networking}}&lt;br /&gt;
&lt;br /&gt;
{|align=left&lt;br /&gt;
|__TOC__&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&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 e.g. 192.168.1.(something) might save you a lot of troubleshooting later. A discussion of this is [http://lists.openmoko.org/pipermail/support/2008-August/thread.html#1277 here].&lt;br /&gt;
&lt;br /&gt;
== Things to keep in mind ==&lt;br /&gt;
&lt;br /&gt;
=== Suspend ===&lt;br /&gt;
&lt;br /&gt;
When the FreeRunner suspends it disables its USB networking interface. Therefore it is a good idea to turn off the FreeRunners suspend function when using USB networking.&lt;br /&gt;
&lt;br /&gt;
=== So is it &amp;quot;usb0&amp;quot; or is it &amp;quot;eth1&amp;quot;? ===&lt;br /&gt;
&lt;br /&gt;
* The documentation below refers to the network interface name on the host side as &amp;quot;usb0&amp;quot;. However, the actual name is determined by your host system, and many host systems will rename the interface based on the mac (or hardware) address presented by the Neo or Freerunner. Use the &amp;lt;code&amp;gt;ifconfig -a&amp;lt;/code&amp;gt; command, or use &amp;lt;code&amp;gt;dmesg&amp;lt;/code&amp;gt; to examine the output from your host's kernel, to find which interface name was actually assigned to your device. If it wasn't &amp;quot;usb0&amp;quot;, it will almost always be the next available &amp;quot;eth''n''&amp;quot; name.&lt;br /&gt;
&lt;br /&gt;
In all the steps below where you see the interface referred to as &amp;quot;usb0&amp;quot;, you may need to substitute the interface name that your host assigned.&lt;br /&gt;
&lt;br /&gt;
For those interested in the technical details, the &amp;quot;usb0&amp;quot; interface name is used on the host system when the mac (hardware) address presented by the Freerunner or Neo is a locally-generated (random) address. Because the address is random, the ability to easily manage the interface with network managment tools is somewhat compromised. In fact, the Freerunner has been assigned official mac addresses, including addresses for the USB network interface. When these addresses are correctly used on the Freerunner (which is the case with the Qi bootloader, and with certain of the distros for the Freerunner), then the host system sees official mac addresses, and responds by configuring a permanent network interface for that device. By convention, this permanent interface is one of the &amp;quot;eth&amp;quot; interfaces. The specific interface name chosen will be remembered, and will be used each time that specific Freerunner is connected, and used only for that Freerunner. This is a particularly useful feature for users who have multiple USB-networked devices.&lt;br /&gt;
&lt;br /&gt;
As of the time of this writing, the Android and SHR distros will correctly pass the official mac address to the host, and will appear as &amp;quot;eth''n''&amp;quot; interfaces on the host.&lt;br /&gt;
&lt;br /&gt;
=== My distro ===&lt;br /&gt;
&lt;br /&gt;
There are many differences between distributions, both on the phone and an the desktop. Also within a single distribution there can be big changes over time, so remember that solutions provided here might not always exactly match your situation.&lt;br /&gt;
&lt;br /&gt;
If all your approaches fail, you might want to consider using [http://knopper.net/knoppix/index-en.html Knoppix] (6.3 WorkedForMe(tm)) or another [http://distrowatch.com/dwres.php?resource=cd live distribution].&lt;br /&gt;
&lt;br /&gt;
= Simple Manual Linux Configuration =&lt;br /&gt;
Try this first (as root on your desktop, with FreeRunner attached via USB cable and booted properly, not at the Boot Menu).  If it works, then you can add permanent configuration or use more sophisticated setups below.&lt;br /&gt;
=== The shortest way ===&lt;br /&gt;
This simple way has been tested with many Linux distributions (Fedora, SuSE, Red Hat, Debian and others) and network configurations. It was even successfully applied to connect another Linux based handhelds like TDS Nomad and surely can be recommended as the first attempt. The way assumes that you have the recent Linux distribution with USB networking enabled and also rather typical network setup. &lt;br /&gt;
&lt;br /&gt;
With the device connected configure usb0 interface (as root or via sudo like in this example):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo ip address add 192.168.0.200/24 dev usb0&lt;br /&gt;
sudo ip link set dev usb0 up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
or (deprecated)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo ifconfig usb0 192.168.0.200 netmask 255.255.255.0 up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If your eth0 interface is also in the same 'range' (e.g. 192.168.0.105) then you can do the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo route add -host 192.168.0.202 dev usb0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The login ===&lt;br /&gt;
&lt;br /&gt;
Log in to the Neo (you do not need to be a root on the desktop host just to log in).&lt;br /&gt;
 $ ssh root@192.168.0.202&lt;br /&gt;
&lt;br /&gt;
On some SHR Version the default root password is blank.&lt;br /&gt;
&lt;br /&gt;
'''If you get an error like: &amp;quot;Permission denied, please try again.&amp;quot; try to set a new password on the phone:'''&lt;br /&gt;
&lt;br /&gt;
open a terminal on the phone and type:&lt;br /&gt;
&lt;br /&gt;
 passwd&lt;br /&gt;
&lt;br /&gt;
then enter a new password and establish a new ssh connection.&lt;br /&gt;
&lt;br /&gt;
Note that an '''empty passwords''' won't work on some SHR releases!&lt;br /&gt;
&lt;br /&gt;
Do not forget to allow ssh (open the port 22) on your firewall so that you can connect to the device. If you suspect any firewall issues, the simplest way is to unplug the main Internet cable leaving only Neo connected and then temporary turn the firewall off.&lt;br /&gt;
&lt;br /&gt;
Also, some old or narrowly configured Linux distributions may not have USB networking support. For such cases the simple way might be just to upgrade.&lt;br /&gt;
&lt;br /&gt;
=== The more advanced way ===&lt;br /&gt;
If the previously described simple approach does not work, you may try the more complex one.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;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;
ip addr add 192.168.0.200/24 dev usb0&amp;lt;/pre&amp;gt;&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 only:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ip addr add 192.168.0.200/28 dev usb0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(This will just map the net from 192.168.0.192 to 192.168.0.207 onto usb0. If you get the error 'Cannot find device &amp;quot;usb0&amp;quot;', double-check that your FreeRunner is turned on and connected by USB. Ensure also that the uhci_hcd module is loaded on your PC. If that doesn't work, try unplugging and replugging the USB cable.)&lt;br /&gt;
&lt;br /&gt;
And in this case you should enable ARP proxy on internet facing interface INSTEAD of using iptables:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sysctl net.ipv4.conf.eth2.proxy_arp=1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This assuming that eth2 is connected to ISP.&lt;br /&gt;
&lt;br /&gt;
Then&lt;br /&gt;
&amp;lt;pre&amp;gt;ip link set usb0 up&amp;lt;/pre&amp;gt;&lt;br /&gt;
or (deprecated)&lt;br /&gt;
&amp;lt;pre&amp;gt;ifconfig usb0 up&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then (ideally, not as root):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh root@192.168.0.202&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default password is blank.&lt;br /&gt;
&lt;br /&gt;
Due to the fact that in most cases your Neo will use the same dns servers as your computer uses, you can automate the process of writing dns servers to your phone:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
/sbin/route add -host 192.168.0.202/32 dev usb0&lt;br /&gt;
iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
iptables -P FORWARD ACCEPT&lt;br /&gt;
sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
scp /etc/resolv.conf root@192.168.0.202:/etc/resolv.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again if your net already is 192.168.0.0, replace the POSTROUTING statement with&lt;br /&gt;
&amp;lt;pre&amp;gt;iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/28&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This simple script will set up routing for your Freerunner and than copy resolv.conf with dns addresses straight to the phone.&lt;br /&gt;
All you have to do is connect phone to the computer, run the script and enjoy internet connection from your phone.&lt;br /&gt;
&lt;br /&gt;
=== Changing the Neo IP address ===&lt;br /&gt;
&lt;br /&gt;
Like mentioned above, if the default Neo subnet 192.168.0.X is already used, it might be necessary to change the&lt;br /&gt;
Neo [http://en.wikipedia.org/wiki/IP_address IP adress] and subnet.&lt;br /&gt;
To achieve this, edit /etc/network/interfaces on the Neo (and reboot /etc/init.d/networking).&lt;br /&gt;
In the following example the Neo will use the IP address 192.168.100.1 (instead of the default 192.168.0.202)&lt;br /&gt;
within the network 192.168.100.X (instead of 192.168.0.X),&lt;br /&gt;
another [http://en.wikipedia.org/wiki/Private_network private] class C network.&lt;br /&gt;
(The [http://en.wikipedia.org/wiki/Subnetwork#Binary_subnet_masks netmask] indicates that the first 3 bytes (all bits set) are used to determine the subnet&lt;br /&gt;
and the last byte (no bits set) to determine the machine.)&lt;br /&gt;
The gateway (the computer, the Neo is attached to) also has to be part of the subnet and is expected to be 192.168.100.200 (instead of 192.168.0.200) here.&lt;br /&gt;
&lt;br /&gt;
Modifications for /etc/network/interfaces:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto usb0&lt;br /&gt;
iface usb0 inet static&lt;br /&gt;
        address 192.168.100.1&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        network 192.168.100.0&lt;br /&gt;
        gateway 192.168.100.200&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(The network entry seems to be redundant information, since it can be derived from address and netmask?)&lt;br /&gt;
Note that wiki articles usually expect default settings and you have to adjust the IP adress, gateway, etc entries according to your changes.&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 USB networking and masquerading support in the kernel. For default kernels in many Linux distributions this will already be the case.&lt;br /&gt;
&lt;br /&gt;
== USB Networking support ==&lt;br /&gt;
&lt;br /&gt;
The following options need to be enabled:&lt;br /&gt;
&lt;br /&gt;
* CONFIG_USB_USBNET (''Multi-purpose USB Networking Framework''. Module will be called &amp;lt;tt&amp;gt;usbnet&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* CONFIG_USB_NET_CDCETHER (''CDC Ethernet support''. Module will be called &amp;lt;tt&amp;gt;cdc_ether&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
These options are available in ''Device Drivers -&amp;gt; USB support -&amp;gt; USB Network Adapters'' or ''Device Drivers -&amp;gt; Network Device Support -&amp;gt; USB Network Adapters.&lt;br /&gt;
&lt;br /&gt;
In order for USB networking to work you need to load the &amp;lt;tt&amp;gt;cdc_ether&amp;lt;/tt&amp;gt; module (when loading &amp;lt;tt&amp;gt;cdc_ether&amp;lt;/tt&amp;gt; the module &amp;lt;tt&amp;gt;usbnet&amp;lt;/tt&amp;gt; will be loaded automatically). For more info see the [http://www.linux-usb.org/usbnet/ usbnet driver homepage].&lt;br /&gt;
&lt;br /&gt;
Olamba&lt;br /&gt;
&lt;br /&gt;
== Masquerading support ==&lt;br /&gt;
&lt;br /&gt;
Masquerading options are found in ''Networking ---&amp;gt; Networking options ---&amp;gt;'' (tested on Linux 2.6.26.3).&lt;br /&gt;
&lt;br /&gt;
To enable the needed options you first have to enable:&lt;br /&gt;
&lt;br /&gt;
* CONFIG_NETFILTER (''Network packet filtering framework (Netfilter)'')&lt;br /&gt;
&lt;br /&gt;
Then, from&lt;br /&gt;
&lt;br /&gt;
''Networking ---&amp;gt;&lt;br /&gt;
Networking options ---&amp;gt;&lt;br /&gt;
[*] Network packet filtering framework (Netfilter) ---&amp;gt;&lt;br /&gt;
Core Netfilter Configuration ---&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
You need at least following options enabled as modules:&lt;br /&gt;
&lt;br /&gt;
* CONFIG_NF_CONNTRACK (''Netfilter connection tracking support'')&lt;br /&gt;
* CONFIG_NF_CONNTRACK_FTP (''FTP protocol support'')&lt;br /&gt;
* CONFIG_NETFILTER_XTABLES (''Netfilter Xtables support'')&lt;br /&gt;
&lt;br /&gt;
Rest of the needed options are found from&lt;br /&gt;
&lt;br /&gt;
''Networking ---&amp;gt;&lt;br /&gt;
Networking options ---&amp;gt;&lt;br /&gt;
[*] Network packet filtering framework (Netfilter) ---&amp;gt;&lt;br /&gt;
IP: Netfilter Configuration ---&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
You need to enable (again, as modules is fine):&lt;br /&gt;
&lt;br /&gt;
* CONFIG_NF_CONNTRACK_IPV4 (''IPv4 connection tracking support (required for NAT)'')&lt;br /&gt;
* CONFIG_IP_NF_IPTABLES (''IP tables support (required for filtering/masq/NAT)'')&lt;br /&gt;
* CONFIG_NF_NAT (''Full NAT'')&lt;br /&gt;
* CONFIG_IP_NF_TARGET_MASQUERADE (''MASQUERADE target support'')&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;
&lt;br /&gt;
= Other Issues =&lt;br /&gt;
&lt;br /&gt;
In case the Freerunner was recognized and you could assign the IP address to the device, but you get after trying to connect with 'ssh root@192.168.0.202' an error like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; ssh: connect to host 192.168.0.202 port 22: No route to host &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then your USB cable could be broken. Try to connect with another cable.&lt;br /&gt;
&lt;br /&gt;
== Regular drop-outs ==&lt;br /&gt;
If you've connected, and your connection keeps dropping and then coming back up, make sure that you don't have automatic wireless network connections - in some distros, the the wireless connection scripts automatically disable the usb network interface.&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.&lt;br /&gt;
&lt;br /&gt;
You should add the IP address of the DNS servers as provided by your ISP. Check your router's or PC's network status for the nameserver IP addresses.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo nameserver xxx.xxx.xxx.xxx &amp;gt; /etc/resolv.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also add the public DNS server called openDNS:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo nameserver 208.67.222.222 &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo nameserver 208.67.220.220 &amp;gt;&amp;gt; /etc/resolv.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These settings will be lost on reboot. You can set the DNS for the next connect, by adding the following to the end of the usb0 setting in /etc/network/interfaces, right above the bluetooth networking section:&lt;br /&gt;
&amp;lt;pre&amp;gt;up echo nameserver 208.67.222.222 &amp;gt; /etc/resolv.conf&lt;br /&gt;
up echo nameserver 208.67.220.220 &amp;gt;&amp;gt; /etc/resolv.conf&amp;lt;/pre&amp;gt;&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;
&amp;lt;pre&amp;gt;udpf-elf -p=53-f=`awk '$1 == &amp;quot;nameserver&amp;quot;{print $2; exit(0);}' /etc/resolv.conf`:53&amp;lt;/pre&amp;gt;&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;
&amp;lt;pre&amp;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&amp;lt;/pre&amp;gt;&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;
&amp;lt;pre&amp;gt;ping www.google.com&amp;lt;/pre&amp;gt;&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;
== Connection script ==&lt;br /&gt;
With the contents of this page [[User:Cristianpark|I]] made [http://www.mediafire.com/download.php?zm0gtz2tyjq this script] to easily get your FreeRunner connected with your PC.&lt;br /&gt;
&lt;br /&gt;
All you have to do is run the script (after connect the FR to the PC):&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo sh usb_networking.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
You have to:&lt;br /&gt;
# Disconnect FreeRunner&lt;br /&gt;
# Connect it again&lt;br /&gt;
# Re-run the script and voila the connection is there!&lt;br /&gt;
&lt;br /&gt;
; Notes &lt;br /&gt;
* It needs root privileges to be executed for the iptables and sysctl commands (if you don't like sudo, login as root instead)&lt;br /&gt;
* It uses the eth1 interface so on OM and other distros different from SHR, you have to put usb0&lt;br /&gt;
* Thanks to Tony Berth: if the first time you run the script you can't ping/access 192.168.0.202.&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;
There is also a very helpful tutorial for connecting with Vista at [http://sam.curren.ws/index.cfm/2008/7/14/Using-the-Neo-FreeRunner-with-Windows-XPVista].&lt;br /&gt;
&lt;br /&gt;
== FreeBSD ==&lt;br /&gt;
You need to load the cdce kernel module (if it is not already linked into your kernel). As root do:&lt;br /&gt;
&lt;br /&gt;
 # kldload cdce&lt;br /&gt;
&lt;br /&gt;
The Neo should then show up as cdce0 interface and you can handle the cdce0 interface just like the usb0 device under Linux. For more information see the cdce manpage. An easy way to assign the IP address to the cdce0 interface is using the devd(8) daemon. Create the following two files,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/usr/local/etc/devd/cdce.conf&amp;lt;/tt&amp;gt; as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
notify 1 {&lt;br /&gt;
match &amp;quot;system&amp;quot;          &amp;quot;IFNET&amp;quot;;&lt;br /&gt;
match &amp;quot;subsystem&amp;quot;       &amp;quot;cdce0&amp;quot;;&lt;br /&gt;
match &amp;quot;type&amp;quot;            &amp;quot;ATTACH&amp;quot;;&lt;br /&gt;
action &amp;quot;/usr/local/etc/devd/cdce.sh $subsystem $type&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and &amp;lt;tt&amp;gt;/usr/local/etc/devd/cdce.sh&amp;lt;/tt&amp;gt; as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
case $2 in&lt;br /&gt;
'ATTACH')&lt;br /&gt;
ifconfig cdce0 192.168.0.200 netmask 255.255.255.0&lt;br /&gt;
exit 0 ;&lt;br /&gt;
;;&lt;br /&gt;
esac&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then restart the devd(8) daemon with:&lt;br /&gt;
&lt;br /&gt;
 # /etc/rc.d/devd restart&lt;br /&gt;
&lt;br /&gt;
If you now plugin the FreeRunner into the USB port the cdce0 interface gets created and the IP addr will be assigned.&lt;br /&gt;
&lt;br /&gt;
== FreeBSD8 ==&lt;br /&gt;
If your kernel report &lt;br /&gt;
kernel: ugen5.2: &amp;lt;Linux 2.6.29-20100118.gita15608&amp;gt; at usbus5&lt;br /&gt;
&lt;br /&gt;
add to /etc/devd.conf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
attach 100 {&lt;br /&gt;
        device-name &amp;quot;ugen[0-9]+&amp;quot;;&lt;br /&gt;
        match &amp;quot;vendor&amp;quot; &amp;quot;0x1457&amp;quot;;&lt;br /&gt;
        match &amp;quot;product&amp;quot; &amp;quot;0x5122&amp;quot;;&lt;br /&gt;
        action &amp;quot;perl /usr/local/etc/neo_if.pl /dev/$device-name&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your kernel report &lt;br /&gt;
kernel: ugen1.2: &amp;lt;Linux 2.6.34.x.y.z&amp;gt; at usbus5 (it happens for QtMokov28)&lt;br /&gt;
&lt;br /&gt;
add to /etc/devd.conf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
attach 100 {&lt;br /&gt;
        device-name &amp;quot;ugen[0-9]+&amp;quot;;&lt;br /&gt;
        match &amp;quot;vendor&amp;quot; &amp;quot;0x0525&amp;quot;;&lt;br /&gt;
        match &amp;quot;product&amp;quot; &amp;quot;0xa4a2&amp;quot;;&lt;br /&gt;
        action &amp;quot;perl /usr/local/etc/neo_if.pl /dev/$device-name&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The two entryes in /etc/devd.con can coexists, so it's a good idea to have both inserted. &lt;br /&gt;
Anyway you can collect all the required information for your actual distribution with usbconfig. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# usbconfig | grep -i linux&lt;br /&gt;
ugen1.2: &amp;lt;RNDIS/Ethernet Gadget Linux 2.6.34.2-v28 with s3c2410_udc&amp;gt; at usbus1, cfg=1 md=HOST spd=FULL (12Mbps) pwr=ON&lt;br /&gt;
&lt;br /&gt;
#usbconfig -d ugen1.2 dump_device_desc&lt;br /&gt;
ugen1.2: &amp;lt;RNDIS/Ethernet Gadget Linux 2.6.34.2-v28 with s3c2410_udc&amp;gt; at usbus1, cfg=1 md=HOST spd=FULL (12Mbps) pwr=ON&lt;br /&gt;
&lt;br /&gt;
  bLength = 0x0012 &lt;br /&gt;
  bDescriptorType = 0x0001 &lt;br /&gt;
  bcdUSB = 0x0200 &lt;br /&gt;
  bDeviceClass = 0x0002 &lt;br /&gt;
  bDeviceSubClass = 0x0000 &lt;br /&gt;
  bDeviceProtocol = 0x0000 &lt;br /&gt;
  bMaxPacketSize0 = 0x0008 &lt;br /&gt;
  idVendor = 0x0525 &lt;br /&gt;
  idProduct = 0xa4a2 &lt;br /&gt;
  bcdDevice = 0x0312 &lt;br /&gt;
  iManufacturer = 0x0001  &amp;lt;Linux 2.6.34.2-v28 with s3c2410_udc&amp;gt;&lt;br /&gt;
  iProduct = 0x0002  &amp;lt;RNDIS/Ethernet Gadget&amp;gt;&lt;br /&gt;
  iSerialNumber = 0x0000  &amp;lt;no string&amp;gt;&lt;br /&gt;
  bNumConfigurations = 0x0002 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create /usr/local/etc/neo_if.pl:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
my ($u, $ad) = $ARGV[0] =~ /(\d+)\.(\d+)$/;&lt;br /&gt;
print (&amp;quot;usage: $0 /dev/ugen4.2\n&amp;quot;), exit unless (length $u and length $ad);&lt;br /&gt;
print `usbconfig -u $u -a $ad set_config 1&lt;br /&gt;
#ifconfig ue0 link 00:1f:11:01:71:62 # uncomment if moko reports: usb0: duplicate address detected!&lt;br /&gt;
ifconfig ue0 192.168.0.200/24`;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debian, Ubuntu and others ==&lt;br /&gt;
&lt;br /&gt;
There are two systems which deal with hotplugginng devices, which is what you do when you plug in Freerunner in an USB port. '''udev''' and the older '''Hotplug''' system.&lt;br /&gt;
 &lt;br /&gt;
=== Systems using '''udev''' ===&lt;br /&gt;
&lt;br /&gt;
There are 2 common ways the USB networking device can be handled by your systems.&lt;br /&gt;
&lt;br /&gt;
If there is a definition for the USB networking device in /etc/network/interfaces, it is handled by the '''ifupdown''' system. If not, it is handled by '''NetworkManager'''.&lt;br /&gt;
&lt;br /&gt;
It is possible to use network-manager to automatically connect to the Freerunner using udev. The process uses udev to run a script when the Freerunner is plugged in.&lt;br /&gt;
&lt;br /&gt;
==== For devices showing as usb0 ====&lt;br /&gt;
&lt;br /&gt;
The script uses the ip command to set the mac address of the usb network interface.&lt;br /&gt;
&lt;br /&gt;
To begin, create /etc/udev/rules.d/80-freerunner.rules :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This file causes programs to be run on device insertion.&lt;br /&gt;
# See udev(7) for syntax.&lt;br /&gt;
# rule to assign a fixed mac address specified in /&lt;br /&gt;
KERNEL==&amp;quot;usb[0-9]*&amp;quot;, DRIVERS==&amp;quot;cdc_ether&amp;quot;, ACTION==&amp;quot;add&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/freerunner-usb-add.sh %k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, create the /usr/local/sbin/freerunner-usb-add.sh :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
(&lt;br /&gt;
busNum=$( printf %.2d $( expr match &amp;quot;$1&amp;quot; &amp;quot;usb\([0-9]*\)&amp;quot;) )&lt;br /&gt;
ip link set &amp;quot;$1&amp;quot; address 00:00:22:55:bb:$busNum &amp;amp;&amp;gt; /dev/null&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;
iptables -P FORWARD ACCEPT&lt;br /&gt;
) &amp;amp;&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== For devices showing as eth1 ====&lt;br /&gt;
&lt;br /&gt;
This script allows ipforwarding so your device can access the internet through your pc.&lt;br /&gt;
&lt;br /&gt;
To begin, create /etc/udev/rules.d/80-freerunner.rules replacing the mac address with the one from your device (run ifconfig on the pc, or use udevinfo, note that it must match udev's case):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This file causes programs to be run on device insertion.&lt;br /&gt;
# See udev(7) for syntax.&lt;br /&gt;
# http://www.reactivated.net/writing_udev_rules.html#example-netif&lt;br /&gt;
KERNEL==&amp;quot;eth*&amp;quot;, ATTR{address}==&amp;quot;00:1f:11:01:28:d6&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/freerunner-usb-add.sh&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, create the /usr/local/sbin/freerunner-usb-add.sh :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
(&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;
iptables -P FORWARD ACCEPT&lt;br /&gt;
) &amp;amp;&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== For all devices ====&lt;br /&gt;
Finally run &lt;br /&gt;
  chmod +x /usr/local/sbin/freerunner-usb-add.sh&lt;br /&gt;
to make it executable. Now you can use network-manager with '''mac-address specific settings''' and get it to automatically connect.&lt;br /&gt;
&lt;br /&gt;
* Plug your phone into your computer's usb port.&lt;br /&gt;
* Note the mac address from &amp;quot;ifconfig usb0&amp;quot; (or eth1)&lt;br /&gt;
* Right-click the network manager icon in the panel.&lt;br /&gt;
* Click &amp;quot;Edit Connections...&amp;quot;&lt;br /&gt;
* Delete the &amp;quot;Auto usb0&amp;quot; entry. (or eth1)&lt;br /&gt;
* Add a new connection named 'freerunner' (or whatever you fancy) &lt;br /&gt;
* Tick &amp;quot;System setting&amp;quot;&lt;br /&gt;
* Enter the mac address from above.&lt;br /&gt;
* Click the &amp;quot;IPv4 Settings&amp;quot; tab.&lt;br /&gt;
* Change &amp;quot;Method&amp;quot; to &amp;quot;Manual&amp;quot;&lt;br /&gt;
* Add an address of 192.168.0.200, 255.255.255.0 (address and netmask respectively).&lt;br /&gt;
* Click &amp;quot;Ok&amp;quot;&lt;br /&gt;
* Enter your system password (if prompted) to allow changing of this system setting.&lt;br /&gt;
&lt;br /&gt;
(watch out for this bug: https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/284298 )&lt;br /&gt;
&lt;br /&gt;
You should now be able to ping/ssh your phone.&lt;br /&gt;
&lt;br /&gt;
===Systems using''' hotplug''' - Using the interfaces file ===&lt;br /&gt;
Edit /etc/network/interfaces and add:&lt;br /&gt;
&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.0&lt;br /&gt;
        up iptables -A POSTROUTING -t nat -s 192.168.0.0/24 -j MASQUERADE&lt;br /&gt;
        up echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        down iptables -D POSTROUTING -t nat -s 192.168.0.0/24 -j MASQUERADE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is more sophisticated than the manual setup.  The 'auto usb' stanza ties into the Linux hotplug system so that when the device appears and vanishes, as happens when the FreeRunner 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;
Another possible configuration that adds DNS forward and removes&lt;br /&gt;
the iptables changes after unplugging:&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=$(awk '$1 == &amp;quot;nameserver&amp;quot;{print $2; exit(0);}' /etc/resolv.conf)&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 9.10 - the Karmic Koala ===&lt;br /&gt;
&lt;br /&gt;
Karmic has a bug in one of the upstart scripts, that makes it fail to properly bring down an unplugged network device (not just USB networking).&lt;br /&gt;
&lt;br /&gt;
Edit &amp;lt;tt&amp;gt;/etc/init/network-interface.conf&amp;lt;/tt&amp;gt; and replace this line&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;stop on net-device-removed INTERFACE=$INTERFACE&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
... with this&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;stop on net-device-remove INTERFACE=$INTERFACE&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you use &amp;lt;tt&amp;gt;/etc/network/interfaces&amp;lt;/tt&amp;gt;, make sure the device is marked 'auto'. Plugging and unplugging will then work automatically. &lt;br /&gt;
&lt;br /&gt;
('allow-hotplug' doesn't work, because upstart on ubuntu doesn't support 'allow-hotplug' defined devices)&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 9.04 - the Jaunty Jackalope === &lt;br /&gt;
&lt;br /&gt;
One can see /etc/udev/rules.d that a device plugged in on USB will be called '''eth1''' (or '''eth2''' etc.). Go to System-&amp;gt;Administration-&amp;gt;Network (or edit /etc/network/interfaces) and add the parameters for eth1; static ip 192.168.0.200, netmask 255.255.255.192&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 8.10 - Easy Way === &lt;br /&gt;
&lt;br /&gt;
:1. Connect Neo to PC and wait about a minute when NetworkManager stops scanning usb for dhcp (wait when icon in the tray switches to normal).&lt;br /&gt;
&lt;br /&gt;
:2. Open &amp;quot;nm-connection-editor&amp;quot;, select &amp;quot;Auto usb0&amp;quot;, click &amp;quot;Edit&amp;quot;, then &amp;quot;IPv4 Settings&amp;quot;. Set &amp;quot;Method&amp;quot; - &amp;quot;Manual&amp;quot;, click &amp;quot;Add&amp;quot;. In the &amp;quot;Address&amp;quot; field write &amp;quot;192.168.0.200&amp;quot;, &amp;quot;Netmask&amp;quot; - &amp;quot;255.255.255.0&amp;quot;, leave &amp;quot;Gateway&amp;quot; field empty (or 0.0.0.0). Change the &amp;quot;Connection name&amp;quot; and click &amp;quot;Apply&amp;quot;, then &amp;quot;Close&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
:3. Now you can connect via ssh to 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Note: After reflashing the Neo you have to copy the &amp;quot;MAC Address&amp;quot; from &amp;quot;Auto usb0&amp;quot; into your new connection.&lt;br /&gt;
&lt;br /&gt;
Then, based on [http://sebastian-bergmann.de/index.php?url=archives/801-OpenMoko-Freerunner-and-Ubuntu.html#feedback these instructions], you should be able to setup masquerading by running the following commands on your Ubuntu PC: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
sudo iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
sudo iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
sudo bash -c 'echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward'&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu Issues ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 8.10 doesn't work as expected if you used /etc/network/interfaces to automate the connection.&amp;lt;br&amp;gt;&lt;br /&gt;
Network manager likes to latch onto the network device and add a default route through 192.168.0.202, breaking your network connection.&lt;br /&gt;
Network manager also says you can't edit or remove this connection from its list. I'm going back to making the connection manually.&amp;lt;br&amp;gt;&lt;br /&gt;
Using the /usr/local/sbin/freerunner-usb-add.sh script for some automatism can be a workaround:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
(&lt;br /&gt;
ip address add 192.168.0.200/26 netmask dev usb0 &amp;gt; /dev/null&lt;br /&gt;
ip link set usb0 up &amp;gt; /dev/null&lt;br /&gt;
/etc/network/freerunner start&lt;br /&gt;
) &amp;amp;&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&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. Moving the DRIVERS==&amp;quot;*?&amp;quot; out of the top GOTO, to ACTION==&amp;quot;add&amp;quot; line fixes the problem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;net&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;, DRIVERS==&amp;quot;?*&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;
ck&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;
LABEL=&amp;quot;net_end&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The bug is that the DRIVERS variable isn't set at all when the device is unplugged.&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;
:Actually it appears that it's not fixed, but patching that file and disconnecting and reconnecting the phone works perfectly. --[[User:Johndoesacc|Johndoesacc]] 18:37, 20 August 2008 (UTC)&lt;br /&gt;
:Well, yes, it must be fixed because it worked for me out-of-the-box without tweaking the udev rule on 8.04 --[[User:EtienneG|EtienneG]] November 26th, 2008&lt;br /&gt;
:It wasn't solved in my case, as of 3. February 2009 in 8.04 (AMD64), the patch above solved my problem thou. --[[User:VilleWitt|VilleWitt]] February 3td, 2009.&lt;br /&gt;
&lt;br /&gt;
====Iptables Configuration with GUI====&lt;br /&gt;
&lt;br /&gt;
Firestarter can be used to allow the freerunner to connect to the internet without manually running iptables commands. Firestarter is in the ubuntu repositories and can be installed with a &lt;br /&gt;
&amp;lt;pre&amp;gt;sudo aptitude install firestarter&amp;lt;/pre&amp;gt;&lt;br /&gt;
Once installed, the firestarter go to&lt;br /&gt;
* Edit &amp;gt; preferences dialog &amp;gt; network setting section, &lt;br /&gt;
* choose internet connection device (e.g. &amp;lt;tt&amp;gt;eth0&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* choose loacl area network device your Freerunner (generally &amp;lt;tt&amp;gt;usb0&amp;lt;/tt&amp;gt;). You can select the device with a drop-down box, which  is labeled  &amp;quot;Local network connected device.&amp;quot; Select the freerunner, generally &amp;quot;Unknown device(usb0)&amp;quot; &lt;br /&gt;
* check the &amp;quot;Enable internet connection sharing&amp;quot; box. Uncheck local network DHCP and the freerunner should be able to access the internet.&lt;br /&gt;
Tested in &lt;br /&gt;
* Ubuntu 8.10--[[User:makito|Makito]] February 26, 2009&lt;br /&gt;
* Ubuntu 9:04--[[User:chrestomanci|David]] September 2009&lt;br /&gt;
* Ubuntu 10.04 LTS, [[User:Niebert|Niebert]] July 2010&lt;br /&gt;
{{Note|Firestarter needs to run as root. Be aware that when firestarter is running it by default blocks all incoming connections, so if you where using your linux box as a mail-server, web-server or whatever those connections will be blocked. It is quick and easy to add exceptions for whatever protocol you are using in the policy tab of firestarter.}}&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu Workaround ===&lt;br /&gt;
Use [http://wicd.sourceforge.net/ wicd] instead of networkmanager:&lt;br /&gt;
It is much further in development than networkmanager yet and doesn't make any problems with USB networking. You can use the &amp;quot;normal&amp;quot; settings in /network/interfaces.&lt;br /&gt;
;Note: Because of it's dependencies it deinstalls networkmanager.&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu and QI ===&lt;br /&gt;
If you have trouble connecting to the freerunner after installing qi, check to see if the address has changed to eth&amp;lt;n&amp;gt;. Many host systems will assign eth&amp;lt;n&amp;gt; addresses when they detect an official (non-locally-generated) mac address on the usb network connection.  Qi passes in the official Openmoko USB mac address; u-boot does not.&lt;br /&gt;
&lt;br /&gt;
== Mandriva ==&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;
&amp;lt;tt&amp;gt;/etc/sysconfig/network-scripts/ifcfg-usb0&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;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.0&lt;br /&gt;
NETWORK=192.168.0.0&lt;br /&gt;
BROADCAST=192.168.0.255&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;
&amp;lt;/pre&amp;gt;&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;
&amp;lt;tt&amp;gt;/etc/sysconfig/network-scripts/usb0-routes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ADDRESS0=192.168.0.200&lt;br /&gt;
NETMASK0=255.255.255.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&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;
&lt;br /&gt;
This didn't work for me (Mandriva 2008.1), giving errors from Shorewall. However, simply using MCC, Network-&amp;gt;Sharing Internet Access worked fine. You need to connect Neo when starting it. --[[User:Alih|Alih]] 18:50, 22 September 2008 (UTC)&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 FC9, FC8 &amp;amp; FC5 ===&lt;br /&gt;
&lt;br /&gt;
edit file &amp;lt;tt&amp;gt;/etc/sysconfig/network-scripts/ifcfg-usb0&amp;lt;/tt&amp;gt; to look like this:&lt;br /&gt;
&lt;br /&gt;
 # USB configuration for PDAs (openmoko)&lt;br /&gt;
 # from &amp;lt;nowiki&amp;gt;http://www.handhelds.org/moin/moin.cgi/UsbNet&amp;lt;/nowiki&amp;gt;&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;
and restart networking service by typing:&lt;br /&gt;
&lt;br /&gt;
 service network restart&lt;br /&gt;
&lt;br /&gt;
if your '''openmoko''' is connected when you restart network you should see system message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Bringing up interface usb0      [OK]&amp;lt;/code&amp;gt;&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;
 ./etc/init.d/functions&lt;br /&gt;
 cd /etc/sysconfig/network-scripts&lt;br /&gt;
 ../network-functions&lt;br /&gt;
 [ -f ../network ] &amp;amp;&amp;amp; . ../network&lt;br /&gt;
 CONFIG=${1}&lt;br /&gt;
 need_config ${CONFIG}&lt;br /&gt;
 source_config&lt;br /&gt;
 NETBITS=`ipcalc -p ${IPADDR} ${NETMASK} | awk -F'=' '{print $2;}'`&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;
 /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;
 ./etc/init.d/functions&lt;br /&gt;
 cd /etc/sysconfig/network-scripts&lt;br /&gt;
 ../network-functions&lt;br /&gt;
 [ -f ../network ] &amp;amp;&amp;amp; . ../network&lt;br /&gt;
 CONFIG=${1}&lt;br /&gt;
 need_config ${CONFIG}&lt;br /&gt;
 source_config&lt;br /&gt;
 NETBITS=`ipcalc -p ${IPADDR} ${NETMASK} | awk -F'=' '{print $2;}'`&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;
 /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;
=== Option C - tested on FC8, FC9 and F10 ===&lt;br /&gt;
&lt;br /&gt;
Plug in the usb cable. NetworkManager should detect the phone automatically but you should ignore it.&lt;br /&gt;
Open Network Configuration tool (System -&amp;gt; Administration -&amp;gt; Network) and perform following steps:&lt;br /&gt;
# Click '''New''' button on top bar&lt;br /&gt;
# Click '''Forward'''&lt;br /&gt;
# Select OpenMoko from device list&lt;br /&gt;
# Click '''Forward'''&lt;br /&gt;
# Select 'Statically set IP address:' and enter address: 192.168.0.200, netmask 255.255.255.0 (or use 255.255.255.240 if you want only route ip range 192.168.0.192-192.168.0.207). Leave gateway empty.&lt;br /&gt;
# Click '''Forward'''&lt;br /&gt;
# Click '''Apply''' to close add dialog&lt;br /&gt;
# Select newly added usb0 device from the device list.&lt;br /&gt;
# Click '''Edit''' button on top bar&lt;br /&gt;
# You might want to remove a tick from 'Activate device when computer starts' check box.&lt;br /&gt;
# Click '''Ok''' to close window  dialog.&lt;br /&gt;
Save settings and close the window.&lt;br /&gt;
&lt;br /&gt;
Open Firewall Configuration (System -&amp;gt; Administration -&amp;gt; Firewall) and enable masquerading:&lt;br /&gt;
# Select '''Masquerading''' from left panel&lt;br /&gt;
# Check device(s) which you'd like to share internet connection. Typically eth0 or wlan0.&lt;br /&gt;
# Click '''Apply''' and close application&lt;br /&gt;
&lt;br /&gt;
Open terminal and perform (as root user):&lt;br /&gt;
# ifdown usb0&lt;br /&gt;
# ifup usb0&lt;br /&gt;
The first command will remove any existing settings given by the NetworkManager and second command brings the device up with appropriate settings.&lt;br /&gt;
&lt;br /&gt;
Now you should be able to ping e.g. 74.125.39.99 [www.google.com] from OpenMoko. Configure /etc/resolv.conf and you should have full a internet access.&lt;br /&gt;
&lt;br /&gt;
==== Troubleshooting ====&lt;br /&gt;
If Network Configuration tool cannot see the the usb0 try to unplug the usb cable for a few seconds and wait until the NetworkManager finds it again.&lt;br /&gt;
&lt;br /&gt;
NetworkManager will assign a new ip address for the OpenMoko if link goes down for a while. You can fix this by issuing '''ifup usb0''' again.&lt;br /&gt;
&lt;br /&gt;
=== Option D - tested on Fedora 11 (Leonidas), Fedora 12 (Unite) and Fedora 13 (Goddard) ===&lt;br /&gt;
&lt;br /&gt;
Plug in the usb cable. NetworkManager should detect the phone automatically. Perform following steps:&lt;br /&gt;
# Rightclick NetworkManager Icon&lt;br /&gt;
## Click '''Edit Connections ...'''&lt;br /&gt;
## Type root password when requested&lt;br /&gt;
## Select first entry in List (eg. Auto eth1)&lt;br /&gt;
## Click '''Edit'''&lt;br /&gt;
## Change '''Connectionname''' to '''neo freerunner'''&lt;br /&gt;
## Chose tab '''IPv4 Properties'''&lt;br /&gt;
## Choose '''manual''' in Drop-Down-Box '''Method'''&lt;br /&gt;
## Click '''Add''' at '''Adresses'''&lt;br /&gt;
## Enter this values:&lt;br /&gt;
### Address: 192.168.0.200&lt;br /&gt;
### Netmask: 255.255.255.0&lt;br /&gt;
### Gateway: 0.0.0.0&lt;br /&gt;
## Click '''Apply'''&lt;br /&gt;
## Click '''Close''' on dialog &amp;quot;network connections&amp;quot;&lt;br /&gt;
# Open Shell (as root)&lt;br /&gt;
## Enter '''iptables -I FORWARD -j ACCEPT -d 192.168.0.202/32'''&lt;br /&gt;
## Enter '''iptables -I FORWARD -j ACCEPT -s 192.168.0.202/32'''&lt;br /&gt;
## Enter '''iptables -I POSTROUTING -t nat -j MASQUERADE -s 192.168.0.202/32'''&lt;br /&gt;
## Enter '''/etc/init.d/iptables save'''&lt;br /&gt;
## Enter '''chkconfig iptables on'''&lt;br /&gt;
## Enter '''sed -i -e 's/net.ipv4.ip_forward =.*/net.ipv4.ip_forward = 1/'  /etc/sysctl.conf'''&lt;br /&gt;
## Enter '''sysctl -p'''&lt;br /&gt;
Done!&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;
&amp;lt;pre&amp;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;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a new init script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /etc/init.d&lt;br /&gt;
ln -s net.lo net.usb0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Manual Configuration ===&lt;br /&gt;
&lt;br /&gt;
Put iptables into use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;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;
&amp;lt;/pre&amp;gt;&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;
=== Automatic Configuration ===&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;
Therefore the net.usb0 service must be hotpluggable (/etc/rc.conf or /etc/conf.d/rc).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;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;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Slackware (tested with 12.1) ==&lt;br /&gt;
&lt;br /&gt;
Following is based on [http://www.enricozini.org/2008/tips/autodock-freerunner.html Enrico Zini's solution].&lt;br /&gt;
&lt;br /&gt;
Create a new udev rules file &amp;lt;tt&amp;gt;/etc/udev/rules.d/91-openmoko.rules&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;net&amp;quot;, ACTION==&amp;quot;add&amp;quot;, ATTRS{idVendor}==&amp;quot;1457&amp;quot;, ATTRS{idProduct}==&amp;quot;5122&amp;quot;, RUN+=&amp;quot;/sbin/om-usb $env{INTERFACE} start&amp;quot;&lt;br /&gt;
SUBSYSTEM==&amp;quot;net&amp;quot;, ACTION==&amp;quot;remove&amp;quot;, ENV{INTERFACE}==&amp;quot;usb[0-9]&amp;quot;, RUN+=&amp;quot;/sbin/om-usb $env{INTERFACE} stop&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then create the script &amp;lt;tt&amp;gt;/sbin/om-usb&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
INTERFACE=$1&lt;br /&gt;
ACTION=$2&lt;br /&gt;
&lt;br /&gt;
# udev fails silently when the script fails, e.g. due to commands not&lt;br /&gt;
# being found&lt;br /&gt;
PATH=/usr/sbin:/sbin:/usr/bin:/bin&lt;br /&gt;
&lt;br /&gt;
case $ACTION in&lt;br /&gt;
'start')&lt;br /&gt;
# Put all your setup here&lt;br /&gt;
;;&lt;br /&gt;
'stop')&lt;br /&gt;
# Put all your tear down here&lt;br /&gt;
;;&lt;br /&gt;
*)&lt;br /&gt;
echo &amp;quot;Usage: $0 {start|stop}&amp;quot;&lt;br /&gt;
exit 1&lt;br /&gt;
;;&lt;br /&gt;
esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;INTERFACE&amp;lt;/tt&amp;gt; will be &amp;lt;tt&amp;gt;usb0&amp;lt;/tt&amp;gt; in most cases.&lt;br /&gt;
&lt;br /&gt;
== Archlinux ==&lt;br /&gt;
Following is based on [http://xenos.altervista.org/blogs/index.php?blog=3&amp;amp;title=openmoko-usb-networking-su-archlinux furester's solution].&lt;br /&gt;
&lt;br /&gt;
Install package [http://aur.archlinux.org/packages.php?ID=20220 openmoko-usb-networking] from AUR:&lt;br /&gt;
&lt;br /&gt;
$ yaourt -S openmoko-usb-networking&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 adding a new line for every ssh host-key to your known_hosts you can add the following to the phone section in ~/.ssh/config (or see the snippet at : [[USB Networking#Changing_host_keys]] bellow)&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;
 user@host$ 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;
 root@phone# 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;
 user@host$ scp ~/.ssh/id_rsa.pub root@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 using a command like 'ssh root@phone' from the account user@host because the public key in the file user@host:~/.ssh/id_rsa.pub is contained in the list of keys which have access in the file root@phone:~/.ssh/authorized_keys (since scp is used, only one key exists, but you can grant access to the phone from more than one account, for example user@host, user@laptop).&lt;br /&gt;
&lt;br /&gt;
To make ssh login as root by default, add the following lines to ~/.ssh/config:&lt;br /&gt;
&lt;br /&gt;
 Host phone&lt;br /&gt;
 User root&lt;br /&gt;
&lt;br /&gt;
Replace ''phone'' with the hostname or ip of your phone. You should now be able to ssh into the phone without having to type ''root@'' every time.&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). Now you have set this, you can issue the following command to connect to your moko (the usual &amp;quot;root@&amp;quot; isn't required as it's set by the user section in the config file) :&lt;br /&gt;
&lt;br /&gt;
 ssh moko&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 (execute on desktop):&lt;br /&gt;
&lt;br /&gt;
 xhost +&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;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&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;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
&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;
&lt;br /&gt;
 ps auxwwwwe | grep -m 1 DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
&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;
&lt;br /&gt;
 env DBUS_SESSION_BUS_ADDRESS=''dbus_address'' ''process'' #(isn't the &amp;quot;env&amp;quot; redundant here?)&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;
== sftp ==&lt;br /&gt;
After you get the SSH connection working, it is possible to use Konqueror, Nautilus or another sftp - enabled tool to browse the phone filesystem and deploy the test applications. Just enter sftp://root@192.168.0.202 into address bar.&lt;br /&gt;
&lt;br /&gt;
== sshfs ==&lt;br /&gt;
You can use sshfs to mount the phones filesystem into the hosts filesystem. Make sure that fuse-sshfs is installed and that you are allowed to use fuse. Now run:&lt;br /&gt;
&lt;br /&gt;
  sshfs 192.168.0.202:REMOTE_PATH LOCAL_MOUNT_POINT&lt;br /&gt;
&lt;br /&gt;
REMOTE_PATH can now be accessed through LOCAL_PATH.&lt;br /&gt;
&lt;br /&gt;
E.g. you create copy audio files to SD card create a directory  on your desktop computer and mount the card via sshfs&lt;br /&gt;
  desktop# mkdir /mnt/freerunner&lt;br /&gt;
  desktop# mkdir /mnt/freerunner/card&lt;br /&gt;
  desktop# sshfs 192.168.0.202:/media/card /mnt/freerunner/card&lt;br /&gt;
No the content of card of your FR can be access via /mnt/freerunner/card.&lt;br /&gt;
&lt;br /&gt;
==Automated setup network and mounting partitions==&lt;br /&gt;
&lt;br /&gt;
See [https://bugs.launchpad.net/ubuntu/+bug/289548 Ubuntu bug report in launchpad].&lt;br /&gt;
&lt;br /&gt;
== other similar tutorials ==&lt;br /&gt;
* http://left.subtree.org/category/freerunner/&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/GameRunner</id>
		<title>GameRunner</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/GameRunner"/>
				<updated>2011-09-09T09:01:24Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|GameRunner}}&lt;br /&gt;
{{Works on GameRunner}}&lt;br /&gt;
[[Image:Gr56.png|thumb|GameRunner]]&lt;br /&gt;
'''GameRunner''' is an Openmoko Linux distribution. It aims convert the [[Freerunner]] open mobile phone in a Linux-based handheld game console.&lt;br /&gt;
&lt;br /&gt;
It is simple, and contains cool and suitable open source games for Linux mobile devices.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
There are two installation ways: through MicroSD or flashing &lt;br /&gt;
&lt;br /&gt;
=== MicroSD ===&lt;br /&gt;
You need a 1GB MicroSD and to download the following files:&lt;br /&gt;
* [http://sourceforge.net/projects/gamerunner/files/0.3/uImage.bin/download kernel]&lt;br /&gt;
* [http://sourceforge.net/projects/gamerunner/files/0.3/gamerunner-rootfs-full-0.3.tar.gz/download full root filesystem]&lt;br /&gt;
If your MicroSD is less than 1GB then you can install the minimal rootfs and specific games manually.&lt;br /&gt;
&lt;br /&gt;
* If you use uBoot, you need to create two partitions. First partition, not so big, in FAT16 or ext2 where you have to place the kernel file (uImage.bin) and second partition in ext2 where you have to uncompress the filesystem file (gamerunner-rootfs-X.Y.tar.gz). Some uBoot version reads the &amp;quot;uimage&amp;quot; kernel image file (yes, without .bin and &amp;quot;i&amp;quot;, no &amp;quot;I&amp;quot;).&lt;br /&gt;
* If you use Qi, you only need an ext2 partition into your µSD Card where you uncompress the filesystem image file (gamerunner-rootfs-X.Y.tar.gz).&lt;br /&gt;
&lt;br /&gt;
=== Flashing ===&lt;br /&gt;
# Download the following files:&lt;br /&gt;
#* [http://sourceforge.net/projects/gamerunner/files/0.3/uImage.bin-for-NAND/download kernel]&lt;br /&gt;
#* [http://sourceforge.net/projects/gamerunner/files/0.3/gamerunner-rootfs-full-0.3.jffs2/download full root filesystem]&lt;br /&gt;
# Press AUX button first, hold it and press Power button&lt;br /&gt;
# Attach your Freerunner to the USB cable&lt;br /&gt;
# Type in the terminal the following commands&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo dfu-util -a kernel -R -D /path/to/uImage.bin-for-NAND&lt;br /&gt;
dfu-util -a rootfs -R -D /path/to/gamerunner-rootfs-full-0.3.jffs2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ported applications ==&lt;br /&gt;
* The Battle of Wesnoth&lt;br /&gt;
* Free Heroes II&lt;br /&gt;
* XGalaga&lt;br /&gt;
* Road Fighter&lt;br /&gt;
* Gnu Boy&lt;br /&gt;
* XVier&lt;br /&gt;
* Block Rage&lt;br /&gt;
* GNURobbo&lt;br /&gt;
* Mplayer&lt;br /&gt;
* Super Nintendo Emulator&lt;br /&gt;
* Grafx2&lt;br /&gt;
* Quake 1&lt;br /&gt;
* Teend Ball Z&lt;br /&gt;
* Powermanga&lt;br /&gt;
* POWDER&lt;br /&gt;
* OpenTyrian&lt;br /&gt;
* MokoMaze&lt;br /&gt;
* Duke Nukem 3D&lt;br /&gt;
* Doom&lt;br /&gt;
* OpenTTD&lt;br /&gt;
* ScummVM&lt;br /&gt;
* Numptyphysics&lt;br /&gt;
* Pingus&lt;br /&gt;
* Linball&lt;br /&gt;
* Acceleroids&lt;br /&gt;
* Xmahjongg&lt;br /&gt;
* FatFingerShell&lt;br /&gt;
* Xboard &lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://gamerunner.sourceforge.net/ Official website]&lt;br /&gt;
* [http://gamerunner.sourceforge.net/download_installation.html Download link]&lt;br /&gt;
* [http://jlime.com/forum/viewforum.php?f=117 Official forum]&lt;br /&gt;
&lt;br /&gt;
[[Category:GameRunner| ]]&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Template:Works_on_GameRunner</id>
		<title>Template:Works on GameRunner</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Template:Works_on_GameRunner"/>
				<updated>2011-09-08T12:21:20Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Works&lt;br /&gt;
|Neo1973={{unknown}}&lt;br /&gt;
|FreeRunner={{yes}}&lt;br /&gt;
|GTA04={{unknown}}&lt;br /&gt;
|HTC-Dream={{unknown}}&lt;br /&gt;
|Other={{unknown}}&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Templates|{{PAGENAME}}]]&lt;br /&gt;
[[Category:GameRunner|!]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/GameRunner</id>
		<title>GameRunner</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/GameRunner"/>
				<updated>2011-09-08T12:20:25Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|GameRunner}}&lt;br /&gt;
{{Works on GameRunner}}&lt;br /&gt;
[[Image:Gr56.png|thumb|GameRunner]]&lt;br /&gt;
'''GameRunner''' is an Openmoko Linux distribution. It aims convert the [[Freerunner]] open mobile phone in a Linux-based handheld game console.&lt;br /&gt;
&lt;br /&gt;
It is simple, and contains cool and suitable open source games for Linux mobile devices.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://gamerunner.sourceforge.net/ Official website]&lt;br /&gt;
* [http://gamerunner.sourceforge.net/download_installation.html Download link]&lt;br /&gt;
&lt;br /&gt;
[[Category:GameRunner| ]]&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Airon90/SHR</id>
		<title>User:Airon90/SHR</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Airon90/SHR"/>
				<updated>2011-09-07T11:31:29Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: /* A file manager */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;usermessage&amp;quot;&amp;gt;Please don't edit this page. If you want to comment something, please do it in the [[{{TALKPAGENAME}}|talk page]]&amp;lt;/div&amp;gt;&lt;br /&gt;
'''[[SHR]]''' should contain:&lt;br /&gt;
&lt;br /&gt;
* An SMS/MMS/email application&lt;br /&gt;
* A call application&lt;br /&gt;
* An adressbook&lt;br /&gt;
* A log for calls&lt;br /&gt;
* A software center&lt;br /&gt;
* A browser&lt;br /&gt;
* A file manager&lt;br /&gt;
* GPS apps&lt;br /&gt;
* An Empathy-like chat software&lt;br /&gt;
* A Gwibber-like program&lt;br /&gt;
* A terminal&lt;br /&gt;
* A calulator&lt;br /&gt;
* A notepad&lt;br /&gt;
* A picture visualizator&lt;br /&gt;
* A multimedia player&lt;br /&gt;
* An alarm&lt;br /&gt;
* A chronometer&lt;br /&gt;
* A TODO-list&lt;br /&gt;
&lt;br /&gt;
All this applications must be [[Elementary]]-based.&lt;br /&gt;
&lt;br /&gt;
I don't use Openmoko in order to call and send SMSes because it is broken, so maybe some functions are already implemented.&lt;br /&gt;
&lt;br /&gt;
Drawn by hand images will come soon.&lt;br /&gt;
&lt;br /&gt;
== An SMS/MMS/email application ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A call application ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== An adressbook ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A log for calls ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A software center ==&lt;br /&gt;
Software center should be able to both update and manage packages.&lt;br /&gt;
&lt;br /&gt;
So I divide this app into three part (when other apps will be developed it's possible to create a fourth part about featured apps):&lt;br /&gt;
* Upgrade SHR&lt;br /&gt;
* Manage packages&lt;br /&gt;
* Settings&lt;br /&gt;
&lt;br /&gt;
A scrollable bar will contain the buttons to select the part. &lt;br /&gt;
&lt;br /&gt;
=== Upgrade SHR ===&lt;br /&gt;
The first thing to do is to update repository (&amp;lt;code&amp;gt;opkg update&amp;lt;/code&amp;gt;). A bar should be shown in order to show that repository are being updated.&lt;br /&gt;
&lt;br /&gt;
Then, there will be the list of the package which will be upgraded, installed or removed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both; width:200px; margin-bottom:3px; margin-top:3px; padding-right:8px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;height:150px; overflow:auto; border:1px solid #AAAAAA; padding-left:0.5em; background:transparent;&amp;quot;&amp;gt;&lt;br /&gt;
The following packages&lt;br /&gt;
will be upgraded:&lt;br /&gt;
&lt;br /&gt;
---------------------&lt;br /&gt;
| [x] gedit         |&lt;br /&gt;
---------------------&lt;br /&gt;
| [x] iliwi         |&lt;br /&gt;
---------------------&lt;br /&gt;
| [ ] pysol         |&lt;br /&gt;
---------------------&lt;br /&gt;
&lt;br /&gt;
The following package&lt;br /&gt;
will be removed:&lt;br /&gt;
&lt;br /&gt;
---------------------&lt;br /&gt;
| [x] numberx       |&lt;br /&gt;
---------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The two buttons will be &amp;quot;Update&amp;quot; in order to update repository and &amp;quot;Upgrade&amp;quot; in order to upgrade SHR.&lt;br /&gt;
&lt;br /&gt;
If you tap on the button you can select or deselect the package. If you tap on the name of the package you can see:&lt;br /&gt;
* Name of the program&lt;br /&gt;
* Name of the package&lt;br /&gt;
* Dimension&lt;br /&gt;
* Date&lt;br /&gt;
* Description&lt;br /&gt;
* Changelog (hidden or obtainable)&lt;br /&gt;
&lt;br /&gt;
The two buttons will be &amp;quot;Back&amp;quot; in order to go back and &amp;quot;(Un)select&amp;quot; in order to (un)select it.&lt;br /&gt;
&lt;br /&gt;
=== Manage packages ===&lt;br /&gt;
The first thing is to search packages. It should be possible by searching a keyword in its name or description or browsing the categories.&lt;br /&gt;
&lt;br /&gt;
When result is shown you can select packages by tapping on it or by checking its description before, as for [[#Upgrade SHR|upgrading packages]]&lt;br /&gt;
&lt;br /&gt;
Buttons are &amp;quot;Search&amp;quot; in order to search a package and &amp;quot;Proceed&amp;quot; in order to proceed in (un)installing packages.&lt;br /&gt;
&lt;br /&gt;
=== Settings ===&lt;br /&gt;
Setting section should contain some settings. By now I would add the possibility to add and to remove repository and how to run this application (suddenly, every X days, ...).&lt;br /&gt;
&lt;br /&gt;
== A browser ==&lt;br /&gt;
Browser engine should be Webkit. Base feature will be:&lt;br /&gt;
* Zoom&lt;br /&gt;
* Bookmarks&lt;br /&gt;
* Storing password&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
== A file manager ==&lt;br /&gt;
File manager should list files and directories. By default, hidden files should not be seen. If you right click on a file or directory (or if you hold the file for some seconds) a menu is shown:&lt;br /&gt;
&lt;br /&gt;
* Open&lt;br /&gt;
* Copy&lt;br /&gt;
* Cut&lt;br /&gt;
* Paste&lt;br /&gt;
* Rename&lt;br /&gt;
* Delete&lt;br /&gt;
* Properties&lt;br /&gt;
* New file&lt;br /&gt;
* New directory&lt;br /&gt;
&lt;br /&gt;
In order to go to the parent directory you have to select the first &amp;quot;directory&amp;quot; &amp;quot;..&amp;quot; (like the command &amp;lt;code&amp;gt;cd ..&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== GPS apps ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== An Empathy-like chat software ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A Gwibber-like program ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A terminal ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A calulator ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A notepad ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A picture visualizator ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A multimedia player ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== An alarm ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A chronometer ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A TODO-list ==&lt;br /&gt;
...&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Airon90/SHR</id>
		<title>User:Airon90/SHR</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Airon90/SHR"/>
				<updated>2011-09-06T18:27:54Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: /* Manage packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;usermessage&amp;quot;&amp;gt;Please don't edit this page. If you want to comment something, please do it in the [[{{TALKPAGENAME}}|talk page]]&amp;lt;/div&amp;gt;&lt;br /&gt;
'''[[SHR]]''' should contain:&lt;br /&gt;
&lt;br /&gt;
* An SMS/MMS/email application&lt;br /&gt;
* A call application&lt;br /&gt;
* An adressbook&lt;br /&gt;
* A log for calls&lt;br /&gt;
* A software center&lt;br /&gt;
* A browser&lt;br /&gt;
* A file manager&lt;br /&gt;
* GPS apps&lt;br /&gt;
* An Empathy-like chat software&lt;br /&gt;
* A Gwibber-like program&lt;br /&gt;
* A terminal&lt;br /&gt;
* A calulator&lt;br /&gt;
* A notepad&lt;br /&gt;
* A picture visualizator&lt;br /&gt;
* A multimedia player&lt;br /&gt;
* An alarm&lt;br /&gt;
* A chronometer&lt;br /&gt;
* A TODO-list&lt;br /&gt;
&lt;br /&gt;
All this applications must be [[Elementary]]-based.&lt;br /&gt;
&lt;br /&gt;
I don't use Openmoko in order to call and send SMSes because it is broken, so maybe some functions are already implemented.&lt;br /&gt;
&lt;br /&gt;
Drawn by hand images will come soon.&lt;br /&gt;
&lt;br /&gt;
== An SMS/MMS/email application ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A call application ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== An adressbook ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A log for calls ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A software center ==&lt;br /&gt;
Software center should be able to both update and manage packages.&lt;br /&gt;
&lt;br /&gt;
So I divide this app into three part (when other apps will be developed it's possible to create a fourth part about featured apps):&lt;br /&gt;
* Upgrade SHR&lt;br /&gt;
* Manage packages&lt;br /&gt;
* Settings&lt;br /&gt;
&lt;br /&gt;
A scrollable bar will contain the buttons to select the part. &lt;br /&gt;
&lt;br /&gt;
=== Upgrade SHR ===&lt;br /&gt;
The first thing to do is to update repository (&amp;lt;code&amp;gt;opkg update&amp;lt;/code&amp;gt;). A bar should be shown in order to show that repository are being updated.&lt;br /&gt;
&lt;br /&gt;
Then, there will be the list of the package which will be upgraded, installed or removed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both; width:200px; margin-bottom:3px; margin-top:3px; padding-right:8px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;height:150px; overflow:auto; border:1px solid #AAAAAA; padding-left:0.5em; background:transparent;&amp;quot;&amp;gt;&lt;br /&gt;
The following packages&lt;br /&gt;
will be upgraded:&lt;br /&gt;
&lt;br /&gt;
---------------------&lt;br /&gt;
| [x] gedit         |&lt;br /&gt;
---------------------&lt;br /&gt;
| [x] iliwi         |&lt;br /&gt;
---------------------&lt;br /&gt;
| [ ] pysol         |&lt;br /&gt;
---------------------&lt;br /&gt;
&lt;br /&gt;
The following package&lt;br /&gt;
will be removed:&lt;br /&gt;
&lt;br /&gt;
---------------------&lt;br /&gt;
| [x] numberx       |&lt;br /&gt;
---------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The two buttons will be &amp;quot;Update&amp;quot; in order to update repository and &amp;quot;Upgrade&amp;quot; in order to upgrade SHR.&lt;br /&gt;
&lt;br /&gt;
If you tap on the button you can select or deselect the package. If you tap on the name of the package you can see:&lt;br /&gt;
* Name of the program&lt;br /&gt;
* Name of the package&lt;br /&gt;
* Dimension&lt;br /&gt;
* Date&lt;br /&gt;
* Description&lt;br /&gt;
* Changelog (hidden or obtainable)&lt;br /&gt;
&lt;br /&gt;
The two buttons will be &amp;quot;Back&amp;quot; in order to go back and &amp;quot;(Un)select&amp;quot; in order to (un)select it.&lt;br /&gt;
&lt;br /&gt;
=== Manage packages ===&lt;br /&gt;
The first thing is to search packages. It should be possible by searching a keyword in its name or description or browsing the categories.&lt;br /&gt;
&lt;br /&gt;
When result is shown you can select packages by tapping on it or by checking its description before, as for [[#Upgrade SHR|upgrading packages]]&lt;br /&gt;
&lt;br /&gt;
Buttons are &amp;quot;Search&amp;quot; in order to search a package and &amp;quot;Proceed&amp;quot; in order to proceed in (un)installing packages.&lt;br /&gt;
&lt;br /&gt;
=== Settings ===&lt;br /&gt;
Setting section should contain some settings. By now I would add the possibility to add and to remove repository and how to run this application (suddenly, every X days, ...).&lt;br /&gt;
&lt;br /&gt;
== A browser ==&lt;br /&gt;
Browser engine should be Webkit. Base feature will be:&lt;br /&gt;
* Zoom&lt;br /&gt;
* Bookmarks&lt;br /&gt;
* Storing password&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
== A file manager ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== GPS apps ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== An Empathy-like chat software ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A Gwibber-like program ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A terminal ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A calulator ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A notepad ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A picture visualizator ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A multimedia player ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== An alarm ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A chronometer ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A TODO-list ==&lt;br /&gt;
...&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Airon90/SHR</id>
		<title>User:Airon90/SHR</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Airon90/SHR"/>
				<updated>2011-09-06T16:10:17Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: /* Upgrade SHR */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;usermessage&amp;quot;&amp;gt;Please don't edit this page. If you want to comment something, please do it in the [[{{TALKPAGENAME}}|talk page]]&amp;lt;/div&amp;gt;&lt;br /&gt;
'''[[SHR]]''' should contain:&lt;br /&gt;
&lt;br /&gt;
* An SMS/MMS/email application&lt;br /&gt;
* A call application&lt;br /&gt;
* An adressbook&lt;br /&gt;
* A log for calls&lt;br /&gt;
* A software center&lt;br /&gt;
* A browser&lt;br /&gt;
* A file manager&lt;br /&gt;
* GPS apps&lt;br /&gt;
* An Empathy-like chat software&lt;br /&gt;
* A Gwibber-like program&lt;br /&gt;
* A terminal&lt;br /&gt;
* A calulator&lt;br /&gt;
* A notepad&lt;br /&gt;
* A picture visualizator&lt;br /&gt;
* A multimedia player&lt;br /&gt;
* An alarm&lt;br /&gt;
* A chronometer&lt;br /&gt;
* A TODO-list&lt;br /&gt;
&lt;br /&gt;
All this applications must be [[Elementary]]-based.&lt;br /&gt;
&lt;br /&gt;
I don't use Openmoko in order to call and send SMSes because it is broken, so maybe some functions are already implemented.&lt;br /&gt;
&lt;br /&gt;
Drawn by hand images will come soon.&lt;br /&gt;
&lt;br /&gt;
== An SMS/MMS/email application ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A call application ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== An adressbook ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A log for calls ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A software center ==&lt;br /&gt;
Software center should be able to both update and manage packages.&lt;br /&gt;
&lt;br /&gt;
So I divide this app into three part (when other apps will be developed it's possible to create a fourth part about featured apps):&lt;br /&gt;
* Upgrade SHR&lt;br /&gt;
* Manage packages&lt;br /&gt;
* Settings&lt;br /&gt;
&lt;br /&gt;
A scrollable bar will contain the buttons to select the part. &lt;br /&gt;
&lt;br /&gt;
=== Upgrade SHR ===&lt;br /&gt;
The first thing to do is to update repository (&amp;lt;code&amp;gt;opkg update&amp;lt;/code&amp;gt;). A bar should be shown in order to show that repository are being updated.&lt;br /&gt;
&lt;br /&gt;
Then, there will be the list of the package which will be upgraded, installed or removed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear:both; width:200px; margin-bottom:3px; margin-top:3px; padding-right:8px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;height:150px; overflow:auto; border:1px solid #AAAAAA; padding-left:0.5em; background:transparent;&amp;quot;&amp;gt;&lt;br /&gt;
The following packages&lt;br /&gt;
will be upgraded:&lt;br /&gt;
&lt;br /&gt;
---------------------&lt;br /&gt;
| [x] gedit         |&lt;br /&gt;
---------------------&lt;br /&gt;
| [x] iliwi         |&lt;br /&gt;
---------------------&lt;br /&gt;
| [ ] pysol         |&lt;br /&gt;
---------------------&lt;br /&gt;
&lt;br /&gt;
The following package&lt;br /&gt;
will be removed:&lt;br /&gt;
&lt;br /&gt;
---------------------&lt;br /&gt;
| [x] numberx       |&lt;br /&gt;
---------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The two buttons will be &amp;quot;Update&amp;quot; in order to update repository and &amp;quot;Upgrade&amp;quot; in order to upgrade SHR.&lt;br /&gt;
&lt;br /&gt;
If you tap on the button you can select or deselect the package. If you tap on the name of the package you can see:&lt;br /&gt;
* Name of the program&lt;br /&gt;
* Name of the package&lt;br /&gt;
* Dimension&lt;br /&gt;
* Date&lt;br /&gt;
* Description&lt;br /&gt;
* Changelog (hidden or obtainable)&lt;br /&gt;
&lt;br /&gt;
The two buttons will be &amp;quot;Back&amp;quot; in order to go back and &amp;quot;(Un)select&amp;quot; in order to (un)select it.&lt;br /&gt;
&lt;br /&gt;
=== Manage packages ===&lt;br /&gt;
The first thing is to search packages. It should be possible by searching a keyword in its name or description or browsing the categories.&lt;br /&gt;
&lt;br /&gt;
When result is shown you can select packages by tapping on it or by checking its description before, as for [[#Upgrade SHR|upgrading packages]]&lt;br /&gt;
&lt;br /&gt;
Buttons are &amp;quot;Search&amp;quot; in order to search a package and &amp;quot;Proceed&amp;quot; in order to proceed in (un)installing packages.&lt;br /&gt;
&lt;br /&gt;
== A browser ==&lt;br /&gt;
Browser engine should be Webkit. Base feature will be:&lt;br /&gt;
* Zoom&lt;br /&gt;
* Bookmarks&lt;br /&gt;
* Storing password&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
== A file manager ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== GPS apps ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== An Empathy-like chat software ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A Gwibber-like program ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A terminal ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A calulator ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A notepad ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A picture visualizator ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A multimedia player ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== An alarm ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A chronometer ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A TODO-list ==&lt;br /&gt;
...&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Airon90/SHR</id>
		<title>User:Airon90/SHR</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Airon90/SHR"/>
				<updated>2011-09-06T16:04:06Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: New page: &amp;lt;div class=&amp;quot;usermessage&amp;quot;&amp;gt;Please don't edit this page. If you want to comment something, please do it in the talk page&amp;lt;/div&amp;gt; '''SHR''' should contain:  * An SMS/MMS...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;usermessage&amp;quot;&amp;gt;Please don't edit this page. If you want to comment something, please do it in the [[{{TALKPAGENAME}}|talk page]]&amp;lt;/div&amp;gt;&lt;br /&gt;
'''[[SHR]]''' should contain:&lt;br /&gt;
&lt;br /&gt;
* An SMS/MMS/email application&lt;br /&gt;
* A call application&lt;br /&gt;
* An adressbook&lt;br /&gt;
* A log for calls&lt;br /&gt;
* A software center&lt;br /&gt;
* A browser&lt;br /&gt;
* A file manager&lt;br /&gt;
* GPS apps&lt;br /&gt;
* An Empathy-like chat software&lt;br /&gt;
* A Gwibber-like program&lt;br /&gt;
* A terminal&lt;br /&gt;
* A calulator&lt;br /&gt;
* A notepad&lt;br /&gt;
* A picture visualizator&lt;br /&gt;
* A multimedia player&lt;br /&gt;
* An alarm&lt;br /&gt;
* A chronometer&lt;br /&gt;
* A TODO-list&lt;br /&gt;
&lt;br /&gt;
All this applications must be [[Elementary]]-based.&lt;br /&gt;
&lt;br /&gt;
I don't use Openmoko in order to call and send SMSes because it is broken, so maybe some functions are already implemented.&lt;br /&gt;
&lt;br /&gt;
Drawn by hand images will come soon.&lt;br /&gt;
&lt;br /&gt;
== An SMS/MMS/email application ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A call application ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== An adressbook ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A log for calls ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A software center ==&lt;br /&gt;
Software center should be able to both update and manage packages.&lt;br /&gt;
&lt;br /&gt;
So I divide this app into three part (when other apps will be developed it's possible to create a fourth part about featured apps):&lt;br /&gt;
* Upgrade SHR&lt;br /&gt;
* Manage packages&lt;br /&gt;
* Settings&lt;br /&gt;
&lt;br /&gt;
A scrollable bar will contain the buttons to select the part. &lt;br /&gt;
&lt;br /&gt;
=== Upgrade SHR ===&lt;br /&gt;
The first thing to do is to update repository (&amp;lt;code&amp;gt;opkg update&amp;lt;/code&amp;gt;). A bar should be shown in order to show that repository are being updated.&lt;br /&gt;
&lt;br /&gt;
Then, there will be the list of the package which will be upgraded, installed or removed:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The following packages&lt;br /&gt;
will be updated:&lt;br /&gt;
&lt;br /&gt;
---------------&lt;br /&gt;
| [x] gedit   |&lt;br /&gt;
---------------&lt;br /&gt;
| [x] iliwi   |&lt;br /&gt;
---------------&lt;br /&gt;
| [ ] pysol   |&lt;br /&gt;
---------------&lt;br /&gt;
&lt;br /&gt;
The following package&lt;br /&gt;
will be removed:&lt;br /&gt;
&lt;br /&gt;
---------------&lt;br /&gt;
| [x] numberx |&lt;br /&gt;
---------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The two buttons will be &amp;quot;Update&amp;quot; in order to update repository and &amp;quot;Upgrade&amp;quot; in order to upgrade SHR.&lt;br /&gt;
&lt;br /&gt;
If you tap on the button you can select or deselect the package. If you tap on the name of the package you can see:&lt;br /&gt;
* Name of the program&lt;br /&gt;
* Name of the package&lt;br /&gt;
* Dimension&lt;br /&gt;
* Date&lt;br /&gt;
* Description&lt;br /&gt;
* Changelog (hidden or obtainable)&lt;br /&gt;
&lt;br /&gt;
The two buttons will be &amp;quot;Back&amp;quot; in order to go back and &amp;quot;(Un)select&amp;quot; in order to (un)select it.&lt;br /&gt;
&lt;br /&gt;
=== Manage packages ===&lt;br /&gt;
The first thing is to search packages. It should be possible by searching a keyword in its name or description or browsing the categories.&lt;br /&gt;
&lt;br /&gt;
When result is shown you can select packages by tapping on it or by checking its description before, as for [[#Upgrade SHR|upgrading packages]]&lt;br /&gt;
&lt;br /&gt;
Buttons are &amp;quot;Search&amp;quot; in order to search a package and &amp;quot;Proceed&amp;quot; in order to proceed in (un)installing packages.&lt;br /&gt;
&lt;br /&gt;
== A browser ==&lt;br /&gt;
Browser engine should be Webkit. Base feature will be:&lt;br /&gt;
* Zoom&lt;br /&gt;
* Bookmarks&lt;br /&gt;
* Storing password&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
== A file manager ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== GPS apps ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== An Empathy-like chat software ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A Gwibber-like program ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A terminal ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A calulator ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A notepad ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A picture visualizator ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A multimedia player ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== An alarm ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A chronometer ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
== A TODO-list ==&lt;br /&gt;
...&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Valos</id>
		<title>User:Valos</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Valos"/>
				<updated>2010-06-11T09:56:55Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Valéry Febvre&lt;br /&gt;
&lt;br /&gt;
Emails:&lt;br /&gt;
*&amp;lt;vfebvre at easter-eggs dot com&amp;gt;&lt;br /&gt;
*&amp;lt;vfebvre at gmail dot com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I am author of several applications, all written in Python / [http://enlightenment.org/ EFL] and targeted especially for [http://www.freesmartphone.org FSO] based distributions like [http://www.shr-project.org SHR].&lt;br /&gt;
&lt;br /&gt;
* [[Neon]]: an image viewer&lt;br /&gt;
* [[Podboy]]: a podcast aggregator / player&lt;br /&gt;
* [[Chroneo]]: a Stopwatch and Timer&lt;br /&gt;
* [[NeoLight]]: an application to turn your phone into a flashlight&lt;br /&gt;
* [[Minneo]]: a classic Memory game&lt;br /&gt;
* [[NumberX]]: a mathematical puzzle game that will challenge your mental math abilities!&lt;br /&gt;
* [[Neomis]]: a computer version of the well-known electronic game named Simon&lt;br /&gt;
* [http://code.google.com/p/neote/ Neote]: a note taking application (unmaintained)&lt;br /&gt;
* [http://projects.openmoko.org/projects/pygtk-rotate/ pygtk-rotate]: an application to rotate screen ala Qt Extended&lt;br /&gt;
&lt;br /&gt;
Other Applications but ONLY in French:&lt;br /&gt;
&lt;br /&gt;
* [http://code.google.com/p/freezaptv FreeZapTV]: an application to turn your phone into a Freebox HD remote (The Freebox HD is the TV box that the French internet service provider named Free provides to its ADSL subscribers). &lt;br /&gt;
* [http://code.google.com/p/mangersain MangerSain]: a food additives application&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Airon90/App_ideas</id>
		<title>User:Airon90/App ideas</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Airon90/App_ideas"/>
				<updated>2010-06-08T12:35:26Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NEWSECTIONLINK__&lt;br /&gt;
== Reader ==&lt;br /&gt;
=== Block notes ===&lt;br /&gt;
Three buttons:&lt;br /&gt;
* FILE: Save, open, new (delete?),&lt;br /&gt;
* EDIT: undo, redo, font&lt;br /&gt;
* TEXT: cut, copy, paste&lt;br /&gt;
&lt;br /&gt;
=== PDF reader ===&lt;br /&gt;
Open, Search, Zoom, ← →, Go to, show index, full screen?&lt;br /&gt;
&lt;br /&gt;
== Plotter ==&lt;br /&gt;
* FILE: New → Enter function: y = [&amp;lt;u&amp;gt;¯¯¯¯¯&amp;lt;/u&amp;gt;], Save image&lt;br /&gt;
* EDIT: Another function, Undo, redo&lt;br /&gt;
* OPTION: Show derivative, integer ...&lt;br /&gt;
&lt;br /&gt;
== Mail reader ==&lt;br /&gt;
&lt;br /&gt;
== Pydance ==&lt;br /&gt;
[http://icculus.org/pyddr/ Porting] but using touchscreen&lt;br /&gt;
&lt;br /&gt;
== [[Mokometeo]] ==&lt;br /&gt;
Running as a gadget, like in GNOME: auomatically updated&lt;br /&gt;
&lt;br /&gt;
== Filesearch ==&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Airon90/App_ideas</id>
		<title>User:Airon90/App ideas</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Airon90/App_ideas"/>
				<updated>2010-06-06T10:45:34Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Reader ==&lt;br /&gt;
=== Block notes ===&lt;br /&gt;
Three buttons:&lt;br /&gt;
* FILE: Save, open, new (delete?),&lt;br /&gt;
* EDIT: undo, redo, font&lt;br /&gt;
* TEXT: cut, copy, paste&lt;br /&gt;
&lt;br /&gt;
=== PDF reader ===&lt;br /&gt;
Open, Search, Zoom, ← →, Go to, show index, full screen?&lt;br /&gt;
&lt;br /&gt;
== Plotter ==&lt;br /&gt;
* FILE: New → Enter function: y = [&amp;lt;u&amp;gt;¯¯¯¯¯&amp;lt;/u&amp;gt;], Save image&lt;br /&gt;
* EDIT: Another function, Undo, redo&lt;br /&gt;
* OPTION: Show derivative, integer ...&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Talk:ElementaryApplications/SHR</id>
		<title>Talk:ElementaryApplications/SHR</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Talk:ElementaryApplications/SHR"/>
				<updated>2010-06-06T10:42:05Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: /* Other apps */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Neon ==&lt;br /&gt;
&lt;br /&gt;
Why don't we add [[neon]] to our SHR apps? It is an image viewer written in elementary. --&amp;lt;small style=&amp;quot;background:#f00&amp;quot;&amp;gt;'''[[User:Airon90|&amp;lt;span style=&amp;quot;color:#000&amp;quot;&amp;gt;→ A&amp;lt;/span&amp;gt;]][[Special:Contributions/Airon90|&amp;lt;span style=&amp;quot;color:#f00;background:#000&amp;quot;&amp;gt;ir&amp;lt;/span&amp;gt;]][[User talk:Airon90|&amp;lt;span style=&amp;quot;color:#000&amp;quot;&amp;gt;on&amp;lt;/span&amp;gt;]]'''&amp;lt;/small&amp;gt; 12:20, 18 February 2010 (UTC)&lt;br /&gt;
: No, [[Neon]] is written with EFL but it don't use Elementary widget toolkit. It uses only Evas, Ecore and Edje. -- [[User:Valos]] 12:58, 18 February 2010 (UTC)&lt;br /&gt;
:: Why don't you used python-elementary? --&amp;lt;small style=&amp;quot;background:#f00&amp;quot;&amp;gt;'''[[User:Airon90|&amp;lt;span style=&amp;quot;color:#000&amp;quot;&amp;gt;→ A&amp;lt;/span&amp;gt;]][[Special:Contributions/Airon90|&amp;lt;span style=&amp;quot;color:#f00;background:#000&amp;quot;&amp;gt;ir&amp;lt;/span&amp;gt;]][[User talk:Airon90|&amp;lt;span style=&amp;quot;color:#000&amp;quot;&amp;gt;on&amp;lt;/span&amp;gt;]]'''&amp;lt;/small&amp;gt; 13:03, 18 February 2010 (UTC)&lt;br /&gt;
::: Elementary didn't exist when I started to write [[Neon]] in December 2008. -- [[User:Valos]] 14:10, 18 February 2010 (UTC)&lt;br /&gt;
:::: I am not clear myself what the difference between EFL and Elementary is, but IMHO [[Neon]] would perfectly fit SHR E look idea. --[[User:Vanous|Vanous]] 12:12, 19 February 2010 (UTC)&lt;br /&gt;
:::::Adding [[Neon]] to the image by default. --[[User:Vanous|Vanous]] 13:03, 21 February 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Linphone ==&lt;br /&gt;
&lt;br /&gt;
I see there isn't a VOIP client on SHR. What do you think about adding Linphone to SHR image? [[User:Zaffo80]] 07:21, 02 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Please feel free to provide a [http://shr-project.org/trac/wiki/Howto%20get%20my%20application%20in%20the%20SHR%20feed bitbake recipe] to the [http://shr-project.org/trac/wiki/How%20to%20join SHR Team]. As for this list, it concerns proposals for Elementary/EFL based apps for the sake of uniform look and feel.--[[User:Vanous|Vanous]] 07:48, 2 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Other apps ==&lt;br /&gt;
&lt;br /&gt;
What abaout Minneo and Iliwi? --&amp;lt;small style=&amp;quot;background:#f00&amp;quot;&amp;gt;'''[[User:Airon90|&amp;lt;span style=&amp;quot;color:#000&amp;quot;&amp;gt;→ A&amp;lt;/span&amp;gt;]][[Special:Contributions/Airon90|&amp;lt;span style=&amp;quot;color:#f00;background:#000&amp;quot;&amp;gt;ir&amp;lt;/span&amp;gt;]][[User talk:Airon90|&amp;lt;span style=&amp;quot;color:#000&amp;quot;&amp;gt;on&amp;lt;/span&amp;gt;]]'''&amp;lt;/small&amp;gt; 10:42, 6 June 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Airon90/App_ideas</id>
		<title>User:Airon90/App ideas</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Airon90/App_ideas"/>
				<updated>2010-06-06T10:41:06Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: /* Plotter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Block notes ==&lt;br /&gt;
Three buttons:&lt;br /&gt;
* FILE: Save, open, new (delete?),&lt;br /&gt;
* EDIT: undo, redo, font&lt;br /&gt;
* TEXT: cut, copy, paste&lt;br /&gt;
&lt;br /&gt;
== Plotter ==&lt;br /&gt;
* FILE: New → Enter function: y = [&amp;lt;u&amp;gt;¯¯¯¯¯&amp;lt;/u&amp;gt;], Save image&lt;br /&gt;
* EDIT: Another function, Undo, redo&lt;br /&gt;
* OPTION: Show derivative, integer ...&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Airon90/App_ideas</id>
		<title>User:Airon90/App ideas</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Airon90/App_ideas"/>
				<updated>2010-06-06T10:40:26Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: New page: == Block notes == Three buttons: * FILE: Save, open, new (delete?), * EDIT: undo, redo, font * TEXT: cut, copy, paste  == Plotter == * FILE: New → Enter function: y = [&amp;lt;u&amp;gt;¯¯¯¯¯&amp;lt;/u&amp;gt;]...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Block notes ==&lt;br /&gt;
Three buttons:&lt;br /&gt;
* FILE: Save, open, new (delete?),&lt;br /&gt;
* EDIT: undo, redo, font&lt;br /&gt;
* TEXT: cut, copy, paste&lt;br /&gt;
&lt;br /&gt;
== Plotter ==&lt;br /&gt;
* FILE: New → Enter function: y = [&amp;lt;u&amp;gt;¯¯¯¯¯&amp;lt;/u&amp;gt;], Save image&lt;br /&gt;
* EDIT: Another function, Undo, redo&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Comparison_of_operating_systems</id>
		<title>Comparison of operating systems</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Comparison_of_operating_systems"/>
				<updated>2010-03-11T14:31:00Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: New page:  === Hardware Support === {|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100% ! width=10%| !! width=8%|Om 2009 !! width=8%|Om 2008 !! width=8%|Om 2007.2 !! wi...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=== Hardware Support ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| GTA01 || ??        || ??        || ??       || {{Yes}}    || {{Yes}} || {{Yes}} || ??       || ??&lt;br /&gt;
|-&lt;br /&gt;
| GTA02 || {{Yes}}   || {{Yes}}   || {{Yes}}  || {{Yes}}    || {{Yes}} || {{Yes}} || {{Yes}}  || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Connectivity ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| Telephony || {{Yes}}        || {{Yes}}        || {{Yes}}       || {{Yes}}        || {{Yes}}     || {{Yes}} (1) || {{Yes}}    || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| SMS       || {{Yes}}        || {{Yes}}        || {{Yes}}       || {{Yes}}        || {{Yes}}     || {{Yes}} (1) || {{Yes}}    || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| [[GPRS]]  || {{Yes}}?       || Not through UI || Not through UI|| {{Yes}}        || {{Yes}}     || {{Yes}} (1) || Not through UI    || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| [[WiFi]]  || {{Yes}}?       || {{Yes}} (*)    || {{Yes}}       || {{Yes}}        || {{Yes}}     || {{Yes}}     || Not through UI    || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| VoIP      || {{no}}         || ??             || ??            || ??             || {{Yes}} (1) || {{Yes}}     || ??         || {{no}}&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || {{no}}         || {{Yes}} (*)    || {{Yes}} (*)   || {{Yes}}  (*)   || {{Yes}} (*) || {{Yes}} (*) || {{Yes}}    || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| GPS       || {{Yes}} (1)    || {{Yes}} (1)    || {{Yes}}       || {{Yes}}        || {{Yes}} || {{Yes}} (1) || {{Yes}} (1) || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Power ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| Suspend                || {{Yes}} || {{Yes}} || ?? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Resumes on Event       || {{Yes}} || ??      || ?? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ??&lt;br /&gt;
|-&lt;br /&gt;
| Functions after Resume || {{Yes}} || {{Yes}} || ?? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===  User Interaction ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| Finger friendly || {{Yes}}       || Partially      || Partially     || {{Yes}}      || {{Yes}}          || {{Yes}} [[Illume|(1)]]  || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer   ||  {{Yes}} (1)  || {{Yes}} [[Rotate|(1)]][[Gestures|(1)]] || {{No}} ||  {{Yes}}        || {{No}}  || {{Yes}} || ?? || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Applications ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| Terminal     || {{Yes}} || {{Yes}} (1)            || Basic (2)   || {{Yes}}     || {{Yes}} || {{Yes}}          || {{Yes}} (1) || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| PIM          || {{No}}  || {{Yes}}                || {{Yes}}     || {{Yes}} (1) || {{Yes}} || {{Yes}} (1)      || ?? || ??&lt;br /&gt;
|-&lt;br /&gt;
| Phonebook    || {{Yes}} || {{Yes}}                || {{Yes}}     || {{Yes}}     || {{Yes}} || {{Yes}} (1)      || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Dialer       || {{Yes}} || {{Yes}}                || {{Yes}}     || {{Yes}}     || {{Yes}} || {{Yes}} (1)      || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Web Browser  || {{Yes}} (1) || {{Yes}} (1)        || {{Yes}} (1) || {{Yes}}     || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Mail Client  || {{Yes}} (1) || {{Yes}}            || ?           || {{Yes}}     || {{Yes}} || {{Yes}} (1)      || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| XMPP Client  || {{Yes}} (1) || {{Yes}} [[Pidgin|(1)]] || {{Yes}} (1) || {{Yes}} || {{Yes}}  || {{Yes}} (1)      ||  || ??&lt;br /&gt;
|-&lt;br /&gt;
| Media Player || {{Yes}} (1) || {{Yes}} (1)        || {{Yes}}     || {{Yes}}     || {{Yes}} || {{Yes}} (1)      || ?? || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Toolkits / Runtimes ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| GTK+           || {{Yes}}        || {{Yes}}        || {{Yes}}        || {{Yes}}  || {{No}}      || {{Yes}}                || {{Yes}} || ??&lt;br /&gt;
|-&lt;br /&gt;
| Qt/Qt Extended || {{Yes}}        || {{Yes}}        || {{No}}         || {{Yes}}? || {{Yes}}     || {{Yes}}                || {{Yes}} || ??&lt;br /&gt;
|-&lt;br /&gt;
| Middleware     || FSO            || qtopia-x11     || gsmd/neod      || FSO      || Qt Extended || FSO                    || FSO || ??&lt;br /&gt;
|-&lt;br /&gt;
| [[Java]]       || ??             || {{Yes|Jalimo}} || {{Yes|Jalimo}} || {{Yes|Jalimo}}          || ??          || {{Yes|CacaoVM, JamVM}} || ?? || ??&lt;br /&gt;
|-&lt;br /&gt;
| [[Python]]     || {{Yes}}        || {{Yes}}        || {{Yes}}        || {{yes}}  || {{Yes}}     || {{Yes}}                || {{Yes}} || ??&lt;br /&gt;
|-&lt;br /&gt;
| [[Mono]]       || ??             || {{Yes}} (1)    || {{Yes}} (1)    || {{no}}   || ??          || {{Yes}} (1)            || ?? || ??&lt;br /&gt;
|-&lt;br /&gt;
| [[Ruby]]       || ??             || {{Yes}}        || ??             || ??       || ??          || {{Yes}} (1)            || {{Yes}} (1) || ??&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Footnotes:&lt;br /&gt;
&lt;br /&gt;
(1) works, but need additional software to be installed&lt;br /&gt;
&lt;br /&gt;
(2) unusable due to lack of certain keyboard characters. [[Switching_Keyboards#Matchbox_keyboard|Various fixes available.]]&lt;br /&gt;
&lt;br /&gt;
(*) unstable&lt;br /&gt;
&lt;br /&gt;
[[Category:Distributions| ]]&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Distributions</id>
		<title>Distributions</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Distributions"/>
				<updated>2010-03-11T14:26:38Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: /* Features by distribution/release target */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Distributions}}&lt;br /&gt;
{{TOC|left}}&lt;br /&gt;
{{Distros}}&lt;br /&gt;
&lt;br /&gt;
== About distributions ==&lt;br /&gt;
Openmoko distributions are designed to run on various mobile devices, with the primary aim of supporting Openmoko Inc.'s [[GTA01:Neo 1973|Neo 1973]] and [[Neo FreeRunner]] phones. They are GNU/Linux distributions -- complete operating systems including user applications. You can install any of them on your phone or even have a dualboot system with two distributions installed. For downloads see [[Download]], for installation instructions see [[Flashing the Neo FreeRunner]].&lt;br /&gt;
&lt;br /&gt;
Besides, Openmoko distributions also run on [[Supported devices|other]] mobile devices and some other software distributions also run on the phones of Openmoko Inc.&lt;br /&gt;
&lt;br /&gt;
=== Popularity ===&lt;br /&gt;
&lt;br /&gt;
According to a survey from March 2010 [[SHR]] is by far the most used distribution (59%), followed by [[Debian]] (10%), [[QtMoko]] (9%), [[Android]] (8%), [[Hackable:1]] (5%) and [[Qt Extended Improved]] (4%).&lt;br /&gt;
&lt;br /&gt;
=== Please note ===&lt;br /&gt;
&lt;br /&gt;
* Stable in the FreeRunner world does not mean the same thing as stable in the Debian world.&lt;br /&gt;
* Most distributions use the same bootloader, kernel, drivers and hardware. Therefore, the same low level bugs are commonly found in all distributions. The latest and greatest software usually has most bug fixes, plus a whole set of new fresh bugs.&lt;br /&gt;
* Most of these distributions also have package repositories. It is a BAD idea to feed from another distribution's repository. E.g. see [[installing alien package]]s.&lt;br /&gt;
* Upgrade path between these distributions are mostly not tested, thus updating by changing the feeds will most likely end in broken packages or even an unbootable system. It is advisable to reflash the whole filesystem with [[dfu-util]] to switch between the different distributions, with the reminder that a dual-boot setup (e.g. via [[Booting from SD|MicroSD]] or [[Booting from NFS|NFS]]) can be used.&lt;br /&gt;
* [[Marketing Mistakes]] and pre-installed distributions.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
=== Android ===&lt;br /&gt;
{{Template:Works on Android}}&lt;br /&gt;
[http://code.google.com/android/ Android] is a software stack for mobile devices developed by the [http://www.openhandsetalliance.com/ The Open Handset Alliance.] Openmoko is fully supporting Android running on the Freerunner.&lt;br /&gt;
&lt;br /&gt;
Android has now reached a point where it is usable on the FreeRunner as an everyday phone, there are, however, still some caveats. Check out the main Android section of the wiki for more info.&lt;br /&gt;
&lt;br /&gt;
{{Main|Android}}You can also visit the user web page for [http://wiki.openmoko.org/wiki/User:Seanmcneil3 Sean McNeil] for some more info.&lt;br /&gt;
&lt;br /&gt;
=== Debian ===&lt;br /&gt;
{{Template:Works on Debian}}&lt;br /&gt;
[[Debian]] is &amp;quot;the universal operating system&amp;quot;. It comes with thousands and thousands of packages (most of them designed for desktops or servers so far). So in the words of Joachim &amp;quot;nomeata&amp;quot; Breitner from the [http://wiki.debian.org/Teams/DebianFSO pkg-fso] team, this is not really a distribution in the Openmoko sense of the word, but rather a different underlying system for Openmoko distributions. At the moment, we ship the software from the FSO stack, but hopefully we’ll also have, for example, the SHR software in our archive. So for now, Debian is a different way of installing FSO, which takes more space and provides more programs :-)&lt;br /&gt;
&lt;br /&gt;
{{Main|Debian}}&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
{{Template:Works on Gentoo}}&lt;br /&gt;
[[Gentoo]] is all about choices. When installing Gentoo, this is made clear to you several times -- you can choose how much you want to compile yourself, how to install Gentoo, what system logger you want, etc. Gentoo is a fast, modern metadistribution with a clean and flexible design. Gentoo is built around free software and doesn't hide from its users what is beneath the hood. Portage, the package maintenance system which Gentoo uses, is written in Python, meaning you can easily view and modify the source code. Gentoo's packaging system uses source code (although support for precompiled packages is included too) and configuring Gentoo happens through regular textfiles. In other words, openness everywhere.&lt;br /&gt;
&lt;br /&gt;
{{Main|Gentoo}}&lt;br /&gt;
&lt;br /&gt;
=== Hackable:1 ===&lt;br /&gt;
{{Template:Works on Hackable:1}}&lt;br /&gt;
Hackable1 is a community distribution for hackable devices like the Neo Freerunner. It is based on Debian and 2007.2 userland which has been abandoned by Openmoko. It follows the GNOME mobile platform. &lt;br /&gt;
{{Main|Hackable:1}}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mer ===&lt;br /&gt;
{{Template:Works on Mer}}&lt;br /&gt;
[[Mer]] is a distribution based on [[Maemo]].&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mokotouch ===&lt;br /&gt;
{{Template:Works on Mokotouch}}&lt;br /&gt;
[[MokoTouch]] wants to be a replacement for the OM Distribution. It will contain apps for system settings and other useful apps like, mail client, Photo and Maps Viewer and maybe other fun things. It's fully written in C++ using Qt 4.5 Embedded. and it runs using Framebuffer, so no X11 Required. &lt;br /&gt;
&lt;br /&gt;
* http://th30z.netsons.org/mokotouch/index.html &lt;br /&gt;
* http://code.google.com/p/mokotouch/ &lt;br /&gt;
* [http://www.youtube.com/watch?v=yr821OgnvYc Video]&lt;br /&gt;
&lt;br /&gt;
=== neovento ===&lt;br /&gt;
{{Template:Works on noevento}}&lt;br /&gt;
[[neovento]] (ex FYP) is a [[Debian|Debian on Freerunner]] based [[Distributions|distribution]] which uses [http://lxde.org/ LXDE] and [[Zhone]] on top. It is a [http://freeyourphone.de FreeYourPhone.de] community project. &lt;br /&gt;
&lt;br /&gt;
{{Main|neovento}}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenWrt ===&lt;br /&gt;
{{Template:Works on OpenWrt}}&lt;br /&gt;
[[OpenWrt]] is described as a Linux distribution for embedded devices.&lt;br /&gt;
&lt;br /&gt;
Instead of trying to create a single, static firmware, [[OpenWrt]] provides a fully writable filesystem with package management. This frees you from the application selection and configuration provided by the vendor and allows you to customize the device through the use of packages to suit any application. For developer, [[OpenWrt]] is the framework to build an application without having to build a complete firmware around it; for users this means the ability for full customization, to use the device in ways never envisioned.&lt;br /&gt;
&lt;br /&gt;
[[OpenWrt]] development trunk now supports s3c24xx, CPU used in [[Freerunner]].&lt;br /&gt;
&lt;br /&gt;
Mainly due to the usage of uClibc instead of glibc as libc implementation, OpenWrt can boot from NAND with enlightenment window manager within 1 minute 7 seconds using u-boot (NOR) bootloader.&lt;br /&gt;
&lt;br /&gt;
* [http://www.openwrt.org OpenWrt website]&lt;br /&gt;
* [http://dev.openwrt.org OpenWrt development site]&lt;br /&gt;
&lt;br /&gt;
{{Main|OpenWrt}}&lt;br /&gt;
&lt;br /&gt;
=== Qalee ===&lt;br /&gt;
{{Works on Qalee}}&lt;br /&gt;
[[Qalee]] is a phone environment developed in Qt4 above the fso stack. It works on the freerunner under any distribution that supports Qt4. It's not finished yet but you can test a preview version with the official Qalee distributon. This release includes no new features, but many fixes for things that didn’t work or were incomplete in 0.0.2. You can read full [http://think-free.homelinux.org/wordpress/ announcement], or take a look at some of changes:&lt;br /&gt;
* Qalee is now based on shr instead of debian.&lt;br /&gt;
* clock widget now shows a calendar when clicked.&lt;br /&gt;
* status panel widget shows gsm network name and power and internet connection status while on wifi or gprs.&lt;br /&gt;
* screen menu : you can now choose the background picture with a cover-flow effect, letting the backlight always on now works.&lt;br /&gt;
* network menu : all entries work, gsm one is a little buggy though.&lt;br /&gt;
* Wifi works despite the the bug in the kernel 2.6.29 opened for 4 month.&lt;br /&gt;
* application menu : to launch application just click on it :) when launched the button becomes green, to close it, press the close button which becomes red and click on the application you want to close&lt;br /&gt;
* power button supports suspend on short press, or menu on longer press.&lt;br /&gt;
* phone application is now litephone modified to use Qalee’s buttons.&lt;br /&gt;
* GorshPlayer is broken, if you have Qt4.5.2 librairies with phonon working on shr, tell me (?)//FIXME&lt;br /&gt;
* keyboard is still literky.&lt;br /&gt;
* Themable interface allows you to change some colours of the interface.&lt;br /&gt;
WARNING: Qalee is in pre-alpha stage, a lot of thinks are not coded yet, other are broken, some may be changed. It's just a preview version of the current work!&lt;br /&gt;
&lt;br /&gt;
=== Qt Extended Improved ===&lt;br /&gt;
Qt Extended has had several names. The current name is &amp;lt;b&amp;gt;Qt Extended Improved&amp;lt;/b&amp;gt;. An Openmoko-based community develops Qt Extended Improved as a Free Software project. Qt Extended Improved builds on the foundation of Qt Extended/Qtopia/Qt by Qt Software/Trolltech. Qt Extended Improved provides a robust telephony stack, a webkit based browser and other smartphone features.&lt;br /&gt;
&lt;br /&gt;
On 5th March 2009 Qt Software released Qt Extended 4.4.3. On 3rd March 2009 Qt Software announced that Qt Extended 4.4.3 would be the last release of the Qt Extended product. Prior to version 4.3, Qt Extended was known as Qtopia.&lt;br /&gt;
&lt;br /&gt;
{{Main|Qt Extended Improved}}&lt;br /&gt;
&lt;br /&gt;
=== QtMoko ===&lt;br /&gt;
&lt;br /&gt;
{{Template:Works on QtMoko}}&lt;br /&gt;
The most active distribution based on Qt Extended is [http://activationrecord.net/radekp/qtmoko/ QT Moko].  Special  feature are:&lt;br /&gt;
* actively maintained&lt;br /&gt;
* many bug-fixes applied&lt;br /&gt;
* very decent speed with nodebug-kernel&lt;br /&gt;
* X-Server support so you can use any X-application like [http://www.tangogps.org/gps/articles/7-Installation.html#extended TangoGPS].&lt;br /&gt;
&lt;br /&gt;
{{Main|QT Moko}}&lt;br /&gt;
&lt;br /&gt;
=== SHR ===&lt;br /&gt;
{{Template:Works on SHR}}&lt;br /&gt;
SHR is a community driven distribution. It contains some basic EFL based applications which make use of the FSO. There currently is an [[EFL_Documentation|EFL]] (with elementary) dialer, messages and contacts application programmed in C, as well as a nice Settings-GUI in Python. As of April 12th, 2009, there is no stable release of this distribution yet, as the SHR team doesn't feel it to be good enough. You can find images though on the [http://shr.bearstech.com/shr-testing SHR buildhost].&lt;br /&gt;
&lt;br /&gt;
{{Main|SHR}}&lt;br /&gt;
&lt;br /&gt;
=== Slackware ===&lt;br /&gt;
{{Template:Works on Slackware}}&lt;br /&gt;
As of release 12.2, Slackware is now officially supported on the Neo Freerunner&lt;br /&gt;
[http://armedslack.org/]&lt;br /&gt;
--[[User:Djdas|djdas]] 15:54, 13 June 2009 (UTC)There aren't any confirmations of ArmedSlack running on Freerunner either on the website or the official ML, do you have any link pointing on that?&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Abandoned ===&lt;br /&gt;
&lt;br /&gt;
==== FDOM (FAT and Dirty Openmoko) ====&lt;br /&gt;
{{Template:Works on FDOM}}&lt;br /&gt;
[[FDOM]] was a distribution based on [[Om 2008]], updated with many ready-to-use applications and with fixes posted in the mailing lists. &lt;br /&gt;
&lt;br /&gt;
{{Main|FDOM}}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Om series ====&lt;br /&gt;
* '''[[Om 2009]]''' was intended to be the new distro; it is not a simple follow-on from [[Om 2008]]. It is based on the [http://freesmartphone.org freesmartphone.org] milestone 5.5 framework. Development of Om 2009 was ended and developers moved on to work on other distros instead.&lt;br /&gt;
&lt;br /&gt;
{{Main|Om2009}}&lt;br /&gt;
&lt;br /&gt;
* '''[[Om 2008]]''' was released on August 8, 2008, to replace 2007.2. Prior to that, its codename was ASU (April/August Software Update). This is still the name of the branch in the version control system. This distribution integrates the [http://trolltech.com/products/qtopia Qtopia] phone stack with a set of new Openmoko applications based on the Enlightenment Foundation Libraries ([[EFL_Documentation|EFL]]). Qtopia being a more mature product than the GNOME Mobile stack, the standard phone applications (dialer, contacts, calculator, calendar) work better than in 2007.2. The Qtopia used in 2008.8 was ported to run on X11, contrary to standard Qtopia which uses the framebuffer. This allows non-Qt applications to safely share the screen with Qt applications. &lt;br /&gt;
&lt;br /&gt;
{{Main|Om 2008}}&lt;br /&gt;
&lt;br /&gt;
* '''[[Om 2007.2]]''' was the first distribution created by Openmoko. The interface was totally finger-oriented,  optimized for 285ppi, and very orange. It used the GTK+ stack, which is part of the [http://www.gnome.org/mobile/ GNOME Mobile] platform. This distribution is now considered obsolete and not being worked on by Openmoko Inc or by OpenedHand. &lt;br /&gt;
&lt;br /&gt;
{{Main|Om 2007.2}}&lt;br /&gt;
&lt;br /&gt;
=== Others / unreleased ===&lt;br /&gt;
* The [http://www.neopwn.com/software.php NeoPwn] network auditng system's core is a modified Linux 2.6.24 kernel, with cross-compiled module driver support for the numerous compatible addon devices running on a FULL Debian (ARMEL) operating system. The filesystem has been optimized for performance and size and includes the NeoPwn menu system and several GUI dialogs for hardware control and attack automation. ''Status: Unknown, the GPL requires source code to be distributed only to customers''.&lt;br /&gt;
* [http://runningbear.org/trac RunningBear] is an innovative, yet free and open-source Operating System for hackable devices driven by Bearstech. Lightweight, Portable, Secure, Friendly and Useful. ''Status: In development''.&lt;br /&gt;
* [http://pokylinux.org/ Poky] and Sato, by OpenedHand/Intel. An open source platform build tool derived from OE. It is a complete software development environment for the creation of Linux devices. It enables you to design, develop, build, debug, and test a complete, modern, software stack using Linux, the X Window System and GNOME Mobile based application frameworks for both ARM and x86 based platforms. ''Status: The &amp;quot;Nightly Build&amp;quot; Image works fine on Neo Freerunner, but phone functionality doesn't.''&lt;br /&gt;
* [http://pyneo.org/ PyNeo] pyneo is a stack for mobile devices excessivly using dbus, glib and evas. Pyneo is NO distribution but a middleware or framework like FSO which itself developed from a very early version of pyneo. Current pyneo images are entirely based on debian instead of oe. ''Status: still active and in development! ask around on #pyneo.org ''&lt;br /&gt;
* [http://www.quantum-step.com/ mySTEP] by Openmoko distributor Golden Delicious Computers is based on GNUstep and brings a Objective-C API to the Neo. Core GUI frameworks are &amp;quot;Foundation&amp;quot; &amp;amp; &amp;quot;AppKit&amp;quot;. It has been shown on FOSDEM 2008, LinuxTag 2008 and SYSTEMS 2008 to run on the Neo 1973. If someone reengineers UIKit, (open) source code compatibility to iPhone apps appears achievable. ''Status: slow progress behind the scenes''&lt;br /&gt;
* [http://www.archmobile.org/ Archlinux] is a distribution that follows the KISS principle.&lt;br /&gt;
&lt;br /&gt;
== Features by distribution/release target ==&lt;br /&gt;
{{Main|Comparison of operating systems}}&lt;br /&gt;
Generally, distributions can differ on one or more of the following components:&lt;br /&gt;
* The bootsplash screen image. This is purely decorative.&lt;br /&gt;
* The bootloader. Theoretically, any version of ''uboot'' could be used with any distribution. In the future ''Qi'' will replace ''uboot''.&lt;br /&gt;
* The kernel. GNU/Linux kernels versions 2.6.24, 2.6.26 or 2.6.28 can be found. Some have modules compiled in, others have modules compiled separately. If compiled separately, modules can be distributed in the same package file as the kernel or separately.&lt;br /&gt;
* Middleware: daemons to handle GSM calls or GPS, sound system, personal information storage and so on. Qt and Android have their own subsystems, FreeSmartphone.Org (FSO) is working towards a standard-based Free Software one.&lt;br /&gt;
* Display driver. The original ''Qt Extended'' uses the framebuffer, most other distributions today use ''X11''.&lt;br /&gt;
* Libraries and application framework (widget toolkit and  and graphical environment) : EFL, Qt, Gtk+ or Java ?&lt;br /&gt;
* Basic telephony applications: voice calls, SMS, alarm clock...&lt;br /&gt;
* Smartphone applications: GPS, media player, simple games, web browser...&lt;br /&gt;
* Open source applications: more games, scientific, you name it...&lt;br /&gt;
&lt;br /&gt;
== Quick download page ==&lt;br /&gt;
* [[Download]]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* Mickey Lauer's post &amp;quot;[http://www.vanille-media.de/site/index.php/2008/06/28/gtk-asu-fso-tmtla/ GTK, ASU, FSO, TMTLA!]&amp;quot; describes the differences between distributions 2007.2, ASU and FSO.&lt;br /&gt;
&lt;br /&gt;
* Latest news and tips are in [[Community Updates]]&lt;br /&gt;
&lt;br /&gt;
* [[Kustomizer]] is a script to change your Om 2009 or Om 2008.12 to a usable phone&lt;br /&gt;
&lt;br /&gt;
[[Category:Distributions| ]]&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Wiki_Issues</id>
		<title>Wiki Issues</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Wiki_Issues"/>
				<updated>2010-02-22T21:19:24Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: /* Wiki engine issues */ Adding some req&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you think something is wrong with a Wiki page, please fix it. If the problem is larger with this Wiki in general, please add your thoughts on this page and mail the openmoko [http://lists.openmoko.org/mailman/listinfo/documentation documentation mailing list]. You may just want to read existing proposals and put your vote on them, [[Wiki Maintainers]] will appreciate. [[Wiki Maintenance Agenda]].&lt;br /&gt;
&lt;br /&gt;
When adding an issue please&lt;br /&gt;
&lt;br /&gt;
* Provide a reason&lt;br /&gt;
* Provide your name as vote for the action to be taken (you can automatically enter your username by typing &amp;quot;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;~~~&amp;lt;/nowiki&amp;gt; &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
{{Warning|Comments without name might be deleted without consideration. We may need to ask for more information before implementing a proposal. Thanks for understanding.}}&lt;br /&gt;
&lt;br /&gt;
Accepted and implemented requests should be deleted. Rejected requests should be moved to the bottom of the page to avoid requesting them again.&lt;br /&gt;
&lt;br /&gt;
==Wiki Pages==&lt;br /&gt;
&lt;br /&gt;
I think that we should use specific &amp;quot;editor's notes templates&amp;quot; rather that nominate individual pages here. We can make automatic list of pages using a given template by having a Category:X tag inside the template. See for example the [[:Category:ToDo]] . [[User:MinhHaDuong|MinhHaDuong]] 09:44, 7 October 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
===Pages capable of development===&lt;br /&gt;
* [[Community Resources]]&lt;br /&gt;
* [[AR6K]] (Needs more info)&lt;br /&gt;
* [[GTA02 partitions]]: seems to be about the GTA01; could someone with a GTA02 please correct the partition sizes and names?&lt;br /&gt;
* [[Advanced_End-user]], [[Basic_End-user]], [[System_Developer]]: These are not up to the standard we set for List Pages on [[Openmoko_Wiki_Editing_Guidelines#List_pages]] [[User:Kempelen|Kempelen]]&lt;br /&gt;
&lt;br /&gt;
===Redundant Pages===&lt;br /&gt;
* There are several pages concerning Openmoko compatible service providers:&lt;br /&gt;
** [[Carriers]], most up-to-date, confirmed service providers.&lt;br /&gt;
*** [[Carriers/ATT]]&lt;br /&gt;
*** [[Carriers/TMobile]]&lt;br /&gt;
*** [[Carriers/Fido]]&lt;br /&gt;
*** [[Carriers/Rogers]]&lt;br /&gt;
** [[Neo1973 compatible cellphone providers]]&lt;br /&gt;
&lt;br /&gt;
*I suggest merging the editing help pages:&lt;br /&gt;
**[[Help:Editing]]&lt;br /&gt;
**[[Edit Wiki]]&lt;br /&gt;
&lt;br /&gt;
*pages about GPS:&lt;br /&gt;
**[[Hardware:AGPS]]&lt;br /&gt;
**[[Gpsd]]&lt;br /&gt;
**[[Neo 1973 GPS]]&lt;br /&gt;
**[[Neo FreeRunner GPS]]&lt;br /&gt;
&lt;br /&gt;
*applications:&lt;br /&gt;
**[[Applications]]&lt;br /&gt;
**[[Om 2007.2 Applications]]&lt;br /&gt;
&lt;br /&gt;
===Tidy up===&lt;br /&gt;
* [[Wishlist:Text Input]] - tidy up/sort, give short feedback to each method&lt;br /&gt;
* [[Booting_from_SD]] - tidy up and a rewrite&lt;br /&gt;
&lt;br /&gt;
=== Pages proposed for deletion ===&lt;br /&gt;
&lt;br /&gt;
This is a place for proposing pages of this wiki for deletion and discussing the proposal. See [[Openmoko Wiki Editing Guidelines#Deleting pages]] for details. &lt;br /&gt;
&lt;br /&gt;
====Old proposals====&lt;br /&gt;
&lt;br /&gt;
These pages were proposed for deletion before the new policy was introduced. Please continue the discussion in the appropriate sections below&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellspacing=0&lt;br /&gt;
!Page&lt;br /&gt;
!Reason&lt;br /&gt;
!Yes kill it votes&lt;br /&gt;
!No keep it votes&lt;br /&gt;
|-&lt;br /&gt;
| [[gsmd]] || outdated (according to Mickey), not updated for over a year || [[User:Marko Knöbl|Marko Knöbl]],(I vote &amp;quot;yes&amp;quot;, if it is for sure, not used anymore.How can we check it?-[[User:Leadman|LeadMan]]) ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Migration to bad block tolerant builds]] || Outdated, not relevant anymore. || [[User:Marko Knöbl|Marko Knöbl]],[[User:Leadman|LeadMan]] ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Building Openmoko from scratch (pre-BBT)]] || Outdated, not relevant anymore. || [[User:Marko Knöbl|Marko Knöbl]],[[User:Leadman|LeadMan]] ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Application UI Design Recommendations]] || Outdated || [[User:Marko Knöbl|Marko Knöbl]],[[User:Leadman|LeadMan]] ||&lt;br /&gt;
|-&lt;br /&gt;
| [[SMSTool]] || Outdated || [[User:Marko Knöbl|Marko Knöbl]] || [[User:Leadman|LeadMan]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Om 2009 get active]] || Outdated || [[User:Marko Knöbl|Marko Knöbl]],[[User:Leadman|LeadMan]] ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Summer of Code 2007]] || Old ideas, some parts already implemented. Content not modified since ~2007 (only minor fixes)|| [[User:Leadman|LeadMan]] ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Summer of Code 2008]] || Old ideas, some parts already implemented. Content not modified since ~2008 (only minor fixes)|| [[User:Leadman|LeadMan]] ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Openmoko 2008 Summer Intern Program/zh tw]] || No English version, looks like connected with [[Summer of Code 2008]]-so maybe not needed anymore, might be wise to contact with authors before deletion, content not modified since ~2008 (only minor fixes)--[[User:Leadman|LeadMan]]|| [[User:Leadman|LeadMan]] ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Personas]] || Outdated, this was intended to help the Openmoko team develop the right products. || [[User:Leadman|LeadMan]] ||&lt;br /&gt;
|-&lt;br /&gt;
| [[Hardware:Neo1973:Alternate Cases:Ruggedized]] || Only raw idea, outdated, not updated for long time || [[User:Leadman|LeadMan]] ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== gsmd ====&lt;br /&gt;
&lt;br /&gt;
==== missing bad block table support ====&lt;br /&gt;
The earliest software for the Neo 1973 did not support bad block tables. As this issue is not present anymore I think the associated pages can be deleted: [[Migration to bad block tolerant builds]], [[Building Openmoko from scratch (pre-BBT)]] --[[User:Marko Knöbl|Marko Knöbl]] 19:12, 11 February 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==== [[Application UI Design Recommendations]] ====&lt;br /&gt;
This comes from the time when there was only one official Openmoko distribution. These recommendations are not relevant anymore. --[[User:Marko Knöbl|Marko Knöbl]] 19:23, 11 February 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==== [[SMSTool]] ====&lt;br /&gt;
* This is a very old, unfinished program. --[[User:Marko Knöbl|Marko Knöbl]] 19:44, 11 February 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
* We should take care for [http://mput.de/~kristian/.openmoko/SMSTool-0.3c.tar.bz2 source code] of [[SMSTool]] before deleting this page. I know it is python, but it would be waste to loose the code. --[[User:Leadman|LeadMan]]&lt;br /&gt;
&lt;br /&gt;
:Thank you for pointing this out. I just updated the page to make it clear that this program is not developed anymore, and I think we can keep the page in this state now so the download link won't be lost --[[User:Marko Knöbl|Marko Knöbl]] 15:12, 13 February 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==== [[Om 2009 get active]] ====&lt;br /&gt;
Outdated, Om 2009 is not developed anymore --[[User:Marko Knöbl|Marko Knöbl]] 19:53, 11 February 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==== outdated translations ====&lt;br /&gt;
Many translated pages are very old. Even though the [[Translation HOWTO]] suggests that &amp;quot;It's better to have some translation than nothing&amp;quot; I think those translations in which the [[Neo 1973]] is presented as the only Openmoko phone should be deleted. Therefore I propose the deletion of these pages: [[Main Page/bg]], [[Main Page/ee]], [[introduction/ee]], [[FAQ/ee]], [[Main Page/gr]], [[Main Page/kr]], [[Main Page/ro]], [[Main Page/sk]] --[[User:Marko Knöbl|Marko Knöbl]] 16:02, 13 February 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==== [[Problems with Vodafone Italia SIM]] ====&lt;br /&gt;
This page was used by an editor to ask a question. The right place for this is the mailing list.--[[User:Marko Knöbl|Marko Knöbl]] 21:51, 16 February 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==== Group sales pages ====&lt;br /&gt;
Most of the group sales pages are unused now (see [[:Category:Group Sales]]) and haven't changed for a long time. I propose deleting all pages from that category except the [[Group sales]] page which is still receiving some attention. However I think we can remove all entries which are older than one year from that page as well.--[[User:Marko Knöbl|Marko Knöbl]] 20:04, 22 February 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== Pages that especially need work ===&lt;br /&gt;
&lt;br /&gt;
* [[Special:Lonelypages]] - Orphaned pages&lt;br /&gt;
* [[Special:DoubleRedirects]] - Pages that redirect to a redirected page&lt;br /&gt;
* [[Special:Popularpages]] - Pages that get viewed a lot&lt;br /&gt;
* [[Special:Ancientpages]] - Old pages&lt;br /&gt;
* [[Special:Newpages]] - New pages&lt;br /&gt;
* [[Special:Wantedpages]] - Wanted pages&lt;br /&gt;
* [[Special:Uncategorizedpages]]&lt;br /&gt;
* [[Special:Shortpages]] - Informationally light pages&lt;br /&gt;
* [[Special:BrokenRedirects]] - Broken redirects&lt;br /&gt;
&lt;br /&gt;
=== Application pages ===&lt;br /&gt;
&lt;br /&gt;
Maturity level ideas from the documentation list copied by [[User:Kempelen|Kempelen]] 19:05, 1 October 2008 (UTC):&lt;br /&gt;
&lt;br /&gt;
* It might be nice to have a single word stating the code maturity, perhaps only 3 simple options like prototype, functional, mature&lt;br /&gt;
* Why not stick with pre-alpha, alpha, beta, stable, mature&lt;br /&gt;
&lt;br /&gt;
Decision postponed. :-) (Feel free to vote here anyway.)&lt;br /&gt;
&lt;br /&gt;
== Categories ==&lt;br /&gt;
&lt;br /&gt;
{{Main|:Category talk:Categories}}&lt;br /&gt;
&lt;br /&gt;
== CSS ==&lt;br /&gt;
&lt;br /&gt;
We have discussed design on the mailing list, with the conclusion that revising was not a big priority. However, the wiki should be skinnable from user-space by editing : http://wiki.openmoko.org/wiki/MediaWiki:Common.css . And for development, each user can have his/her own CSS to eat his own dogfood. But I can't seem to make this feature work here.&lt;br /&gt;
Reference: http://en.wikipedia.org/wiki/Help:Monobook&lt;br /&gt;
[[User:MinhHaDuong|MinhHaDuong]] 12:26, 12 September 2008 (UTC).&lt;br /&gt;
&lt;br /&gt;
* The gutter is too wide&lt;br /&gt;
* Too much footer's padding&lt;br /&gt;
* Could shave 1 or 2 em of vertical space in the header&lt;br /&gt;
* The tabbed navigation layout is non-standard (no framing effect)&lt;br /&gt;
* The search box is below the fold (depends on window height of course)&lt;br /&gt;
* The toolbox (bottom left) has no border&lt;br /&gt;
* Mediawiki's user personal toolbox is prohibited&lt;br /&gt;
* Too many links in the navbar that belongs to the home page but not to every page&lt;br /&gt;
&lt;br /&gt;
== Portals ==&lt;br /&gt;
&lt;br /&gt;
We should explore another wiki organization tool: [http://en.wikipedia.org/wiki/Portal:Contents/Portals portals]. A portal is an introductory page for a given topic. It complements the main article of the subject by introducing the reader to key articles, images, and categories that further describe the subject. Portals also help editors find related projects and things they can do to help. [[User:MinhHaDuong|MinhHaDuong]] 13:53, 20 September 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Navigation templates ==&lt;br /&gt;
&lt;br /&gt;
(FYI Description moved to [[Openmoko_Wiki_Editing_Guidelines#Navigation_templates]], [[User:Kempelen|Kempelen]])&lt;br /&gt;
&lt;br /&gt;
* The [[Distributions]] page feature a non-templated navigation box&lt;br /&gt;
* We should name these templates distinctly. I suggest using a prefix like &amp;quot;NavBox:&amp;quot;.&lt;br /&gt;
* Visual design is by hand (not CSS), and not beautiful&lt;br /&gt;
* Need to test positioning at bottom of article.&lt;br /&gt;
&lt;br /&gt;
'''References'''&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Wikipedia:Navigation_templates&lt;br /&gt;
http://en.wikipedia.org/wiki/Wikipedia:Categories,_lists,_and_series_boxes&lt;br /&gt;
&lt;br /&gt;
[http://lists.openmoko.org/pipermail/documentation/2008-August/000405.html First discussion in the mailing list] (Note: in the middle of a thread about left navboxes)&lt;br /&gt;
&lt;br /&gt;
* '''Yes votes''': [[User:Kempelen|Kempelen]] (For real wikipedia like navigation templates at the bottom, not at TOC position, we should move this section to editing guidelines as soon as template implementation improves a bit. Do not delete this please!)&lt;br /&gt;
&lt;br /&gt;
== DolfjeBot1 proposals ==&lt;br /&gt;
Their is a bot on the openmoko wiki that's controlled by [[User:Dolfje]]. If you have tasks for the bot, please put them [[User:DolfjeBot1|here]].&lt;br /&gt;
A request has been made to tag DolfjeBot1 user account with the 'bot' flag. [[Special:Listusers/bureaucrat| Here is the lists of users]] with permissions at the necessary `bureaucrat' level.&lt;br /&gt;
&lt;br /&gt;
== Wiki engine issues ==&lt;br /&gt;
&lt;br /&gt;
Can we please install/fix the following features for this wiki:&lt;br /&gt;
* '''Math''' - the Tex math markup does not work currently. Test:&lt;br /&gt;
** &amp;lt;math&amp;gt; z =\left (1-\left(\frac{P_{ind}}{101.325}\right)^{0.190263} \right ) \times \frac{87.828}{0.00198122} &amp;lt;/math&amp;gt;&lt;br /&gt;
** &amp;lt;math&amp;gt; P_{ind} &amp;lt;/math&amp;gt;&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi '''Syntax''' Highlighting - makes code much more readable]&lt;br /&gt;
: Report to Openmoko IT on 26,Dec 2008. You can check https://admin-trac.openmoko.org/trac/ticket/1695 for detail.&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Extension:GraphViz GraphViz] works with the commonly known dot language - it allows us to draw '''graphs''' using easy markup.&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Extension:AnyWikiDraw AnyWikiDraw] allows us to draw svg '''diagrams''' directly on the wiki page.&lt;br /&gt;
* Make '''visited links''' a different color.&lt;br /&gt;
** Sysop should edit [[MediaWiki:Common.css|this page]]&lt;br /&gt;
* Updating MediaWiki to [http://download.wikimedia.org/mediawiki/1.15/mediawiki-1.15.1.tar.gz v. 15.1]&lt;br /&gt;
* Adding some extensions: [http://www.mediawiki.org/wiki/Extension:Cite/Cite.php Cite], [http://www.mediawiki.org/wiki/Extension:ParserFunctions Parser function] (!), [http://www.mediawiki.org/wiki/Extension:Poem Poem tag] and [http://www.mediawiki.org/wiki/Extension:CentralNotice Central Notice] --&amp;lt;small style=&amp;quot;background:#f00&amp;quot;&amp;gt;'''[[User:Airon90|&amp;lt;span style=&amp;quot;color:#000&amp;quot;&amp;gt;→ A&amp;lt;/span&amp;gt;]][[Special:Contributions/Airon90|&amp;lt;span style=&amp;quot;color:#f00;background:#000&amp;quot;&amp;gt;ir&amp;lt;/span&amp;gt;]][[User talk:Airon90|&amp;lt;span style=&amp;quot;color:#000&amp;quot;&amp;gt;on&amp;lt;/span&amp;gt;]]'''&amp;lt;/small&amp;gt; 21:19, 22 February 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Change Sitename ==&lt;br /&gt;
&lt;br /&gt;
The name of this wiki is currently &amp;quot;Openmoko&amp;quot;. I think it should be &amp;quot;Openmoko Wiki&amp;quot; for the following reasons:&lt;br /&gt;
&lt;br /&gt;
* The other parts of this site (Planet, Projects, Docs) have similar names&lt;br /&gt;
* Media Wiki automatically creates a [http://www.mediawiki.org/wiki/Manual:Namespace namespace] for the Sitename (currently &amp;quot;Openmoko&amp;quot;). This means that content of pages beginning with &amp;quot;Openmoko:&amp;quot; cannot be found through the normal search function of this wiki. (At the moment there are four pages of this kind: [[Openmoko:About]], [[Openmoko:Current events]], [[Openmoko:Searching]], [[Openmoko:Privacy policy]])--[[User:Marko Knöbl|Marko Knöbl]] 18:33, 8 August 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
'''Yes votes''': [[User:Marko Knöbl|Marko Knöbl]], [[User:MinhHaDuong|Minh]]&lt;br /&gt;
&lt;br /&gt;
'''No votes''':&lt;br /&gt;
&lt;br /&gt;
::OpenmokoIT still do some research now. [[User:Coolcat|coolcat]]&lt;br /&gt;
&lt;br /&gt;
::Then fix the search function (by restoring the standard MediaWiki search function). Anyway they are [[Special:Allpages/Openmoko:]]. Anyway, any links like [[Special:Allpages/Openmoko:]] will break, unless you use [[Special:Allpages/Project:]]. Furthermore, the longer the name of the Project ($wgSitename) becomes, the longer the UTF-8 translations of it will become, and as e.g., for Chinese UTF-8 at 3*3=9 ASCII %XX%XX%XX per character, you'll end up with mile long URLs before long, that is if one day the site becomes fully translated. [[User:Jidanni|Jidanni]] 01:04, 22 November 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Organize translations ==&lt;br /&gt;
&lt;br /&gt;
I suggest moving the translations to sub-wikis, like the way wikipedia does it. Currently all translations show up in searches and under category-lists. --[[User:Johndoesacc|Johndoesacc]] 12:03, 25 August 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
+1. See issues and solutions for a multilingual mediawiki at:&lt;br /&gt;
http://www.mediawiki.org/wiki/Multilingual_MediaWiki&lt;br /&gt;
Also, the correspondence between translation should be maintained with tags:&lt;br /&gt;
http://en.wikipedia.org/wiki/Help:Interlanguage_links&lt;br /&gt;
The request [http://lists.openmoko.org/pipermail/documentation/2008-September/000557.html has been heard] but maybe not in the right places. What is the best operational frequency to ping the hosting engineers for that ? [[User:MinhHaDuong|MinhHaDuong]] 13:02, 10 September 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
After discussion on the Documentation ML, sub-wikis are out. We want to try namespaces. [[User:MinhHaDuong|MinhHaDuong]] 09:31, 7 October 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
&lt;br /&gt;
=== Symlinks in download directories ===&lt;br /&gt;
&lt;br /&gt;
This is not strictly Wiki issue, but discussed on the documentation list as being a serious usability disadvantage. Symlinks and .tar.gz files should be removed from the release directories because they confuse users. Ref: [http://lists.openmoko.org/pipermail/documentation/2008-September/000808.html]&lt;br /&gt;
&lt;br /&gt;
=== Improve README.html ===&lt;br /&gt;
&lt;br /&gt;
Example: http://downloads.openmoko.org/distro/releases/Om2008.9/README.html&lt;br /&gt;
&lt;br /&gt;
It should at least link to: [[Om_2008.9_Update#Download_and_Flashing]]&lt;br /&gt;
&lt;br /&gt;
== Rejected requests ==&lt;br /&gt;
&lt;br /&gt;
When a requested Wiki Issue is voted for not to be done, it must be moved here, to make sure it won't get continously requested again.&lt;br /&gt;
&lt;br /&gt;
* '''Don't translate the wiki - rejected''' proposed by [[User:Minime|Minime]] August 2007, moved to rejected by [[User:Kempelen|Kempelen]] August 2008: the Documentation Team looks to support the idea.&lt;br /&gt;
* '''Use namespaces to separate user-oriented and developper-oriented content'''. Assuming the default namespace is user-oriented that would exclude developper-oriented pages from searches (unless the user ticks the box, but who does ?). And it can't be done purely in the wiki, it needs admin time. Better to use categories and a prefix in the page name (like BlendeWiki). [[:User:MinhHaDuong|MinhHaDuong]]&lt;br /&gt;
* '''Use category pages instead List Pages''' Good list pages are allowed and encouraged, as the documentation team today agreed on the mailing list. [[User:Kempelen|Kempelen]] 21:27, 30 August 2008 (UTC)&lt;br /&gt;
&lt;br /&gt;
[[Category:Wiki Editing]]&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Template:Distributions</id>
		<title>Template:Distributions</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Template:Distributions"/>
				<updated>2010-02-22T20:29:52Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''{{{1|{{PAGENAME}}}}}''' is one of the many distributions that currently work on the Openmoko phones. You can compare a distribution with an Operating System on normal computers. It gives the phone all the software needed for operating. For more information about the different flavors, see [[distributions]].&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Templates|Distributions]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Template:Distributions</id>
		<title>Template:Distributions</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Template:Distributions"/>
				<updated>2010-02-22T20:21:49Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{{1|{{PAGENAME}}}}} is one of the many distributions that currently work on the Openmoko phones. You can compare a distribution with an Operating System on normal computers. It gives the phone all the software needed for operating. For more information about the different flavors, see [[distributions]].&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Templates|Distributions]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Distributions</id>
		<title>Distributions</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Distributions"/>
				<updated>2010-02-22T20:20:50Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: /* Choosing a distribution */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Distributions}}&lt;br /&gt;
{{TOC|left}}&lt;br /&gt;
{{Distros}}&lt;br /&gt;
&lt;br /&gt;
== About distributions ==&lt;br /&gt;
Openmoko distributions are designed to run on various mobile devices, with the primary aim of supporting Openmoko Inc.'s [[GTA01:Neo 1973|Neo 1973]] and [[Neo FreeRunner]] phones. They are GNU/Linux distributions -- complete operating systems including user applications. You can install any of them on your phone or even have a dualboot system with two distributions installed. For downloads see [[Download]], for installation instructions see [[Flashing the Neo FreeRunner]].&lt;br /&gt;
&lt;br /&gt;
Besides, Openmoko distributions also run on [[Supported devices|other]] mobile devices and some other software distributions also run on the phones of Openmoko Inc.&lt;br /&gt;
&lt;br /&gt;
=== Choosing a distribution ===&lt;br /&gt;
&lt;br /&gt;
According to a survey from August 2009 [[SHR]] is by far the most used distribution (60%), followed by Om (15%, [[Om 2007]], [[Om 2008]] and [[Om 2009]] counted as one distribution), [[Debian]] (6%), the Debian-based [[Hackable:1]] (6%), [[Qt Extended Improved]] (5%) and [[Android]] (4%). [http://doodle.com/sd2c8d8snr23eeqq] As the development of Om 2009 basically stopped after this poll even more people might switch to [[SHR]].&lt;br /&gt;
&lt;br /&gt;
[http://doodle.com/mkuv2uhn66e83mxw Vote for the new survey]!&lt;br /&gt;
&lt;br /&gt;
=== Please note ===&lt;br /&gt;
&lt;br /&gt;
* Stable in the FreeRunner world does not mean the same thing as stable in the Debian world.&lt;br /&gt;
* Most distributions use the same bootloader, kernel, drivers and hardware. Therefore, the same low level bugs are commonly found in all distributions. The latest and greatest software usually has most bug fixes, plus a whole set of new fresh bugs.&lt;br /&gt;
* Most of these distributions also have package repositories. It is a BAD idea to feed from another distribution's repository. E.g. see [[installing alien package]]s.&lt;br /&gt;
* Upgrade path between these distributions are mostly not tested, thus updating by changing the feeds will most likely end in broken packages or even an unbootable system. It is advisable to reflash the whole filesystem with [[dfu-util]] to switch between the different distributions, with the reminder that a dual-boot setup (e.g. via [[Booting from SD|MicroSD]] or [[Booting from NFS|NFS]]) can be used.&lt;br /&gt;
* [[Marketing Mistakes]] and pre-installed distributions.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
=== Android ===&lt;br /&gt;
{{Template:Works on Android}}&lt;br /&gt;
[http://code.google.com/android/ Android] is a software stack for mobile devices developed by the [http://www.openhandsetalliance.com/ The Open Handset Alliance.] Openmoko is fully supporting Android running on the Freerunner.&lt;br /&gt;
&lt;br /&gt;
Android has now reached a point where it is usable on the FreeRunner as an everyday phone, there are, however, still some caveats. Check out the main Android section of the wiki for more info.&lt;br /&gt;
&lt;br /&gt;
{{Main|Android}}You can also visit the user web page for [http://wiki.openmoko.org/wiki/User:Seanmcneil3 Sean McNeil] for some more info.&lt;br /&gt;
&lt;br /&gt;
=== Debian ===&lt;br /&gt;
{{Template:Works on Debian}}&lt;br /&gt;
[[Debian]] is &amp;quot;the universal operating system&amp;quot;. It comes with thousands and thousands of packages (most of them designed for desktops or servers so far). So in the words of Joachim &amp;quot;nomeata&amp;quot; Breitner from the [http://wiki.debian.org/Teams/DebianFSO pkg-fso] team, this is not really a distribution in the Openmoko sense of the word, but rather a different underlying system for Openmoko distributions. At the moment, we ship the software from the FSO stack, but hopefully we’ll also have, for example, the SHR software in our archive. So for now, Debian is a different way of installing FSO, which takes more space and provides more programs :-)&lt;br /&gt;
&lt;br /&gt;
{{Main|Debian}}&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
{{Template:Works on Gentoo}}&lt;br /&gt;
[[Gentoo]] is all about choices. When installing Gentoo, this is made clear to you several times -- you can choose how much you want to compile yourself, how to install Gentoo, what system logger you want, etc. Gentoo is a fast, modern metadistribution with a clean and flexible design. Gentoo is built around free software and doesn't hide from its users what is beneath the hood. Portage, the package maintenance system which Gentoo uses, is written in Python, meaning you can easily view and modify the source code. Gentoo's packaging system uses source code (although support for precompiled packages is included too) and configuring Gentoo happens through regular textfiles. In other words, openness everywhere.&lt;br /&gt;
&lt;br /&gt;
{{Main|Gentoo}}&lt;br /&gt;
&lt;br /&gt;
=== Hackable:1 ===&lt;br /&gt;
{{Template:Works on Hackable:1}}&lt;br /&gt;
Hackable1 is a community distribution for hackable devices like the Neo Freerunner. It is based on Debian and 2007.2 userland which has been abandoned by Openmoko. It follows the GNOME mobile platform. &lt;br /&gt;
{{Main|Hackable:1}}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mer ===&lt;br /&gt;
{{Template:Works on Mer}}&lt;br /&gt;
[[Mer]] is a distribution based on [[Maemo]].&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mokotouch ===&lt;br /&gt;
{{Template:Works on Mokotouch}}&lt;br /&gt;
[[MokoTouch]] wants to be a replacement for the OM Distribution. It will contain apps for system settings and other useful apps like, mail client, Photo and Maps Viewer and maybe other fun things. It's fully written in C++ using Qt 4.5 Embedded. and it runs using Framebuffer, so no X11 Required. &lt;br /&gt;
&lt;br /&gt;
* http://th30z.netsons.org/mokotouch/index.html &lt;br /&gt;
* http://code.google.com/p/mokotouch/ &lt;br /&gt;
* [http://www.youtube.com/watch?v=yr821OgnvYc Video]&lt;br /&gt;
&lt;br /&gt;
=== neovento ===&lt;br /&gt;
{{Template:Works on noevento}}&lt;br /&gt;
[[neovento]] (ex FYP) is a [[Debian|Debian on Freerunner]] based [[Distributions|distribution]] which uses [http://lxde.org/ LXDE] and [[Zhone]] on top. It is a [http://freeyourphone.de FreeYourPhone.de] community project. &lt;br /&gt;
&lt;br /&gt;
{{Main|neovento}}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenWrt ===&lt;br /&gt;
{{Template:Works on OpenWrt}}&lt;br /&gt;
[[OpenWrt]] is described as a Linux distribution for embedded devices.&lt;br /&gt;
&lt;br /&gt;
Instead of trying to create a single, static firmware, [[OpenWrt]] provides a fully writable filesystem with package management. This frees you from the application selection and configuration provided by the vendor and allows you to customize the device through the use of packages to suit any application. For developer, [[OpenWrt]] is the framework to build an application without having to build a complete firmware around it; for users this means the ability for full customization, to use the device in ways never envisioned.&lt;br /&gt;
&lt;br /&gt;
[[OpenWrt]] development trunk now supports s3c24xx, CPU used in [[Freerunner]].&lt;br /&gt;
&lt;br /&gt;
Mainly due to the usage of uClibc instead of glibc as libc implementation, OpenWrt can boot from NAND with enlightenment window manager within 1 minute 7 seconds using u-boot (NOR) bootloader.&lt;br /&gt;
&lt;br /&gt;
* [http://www.openwrt.org OpenWrt website]&lt;br /&gt;
* [http://dev.openwrt.org OpenWrt development site]&lt;br /&gt;
&lt;br /&gt;
{{Main|OpenWrt}}&lt;br /&gt;
&lt;br /&gt;
=== Qalee ===&lt;br /&gt;
{{Works on Qalee}}&lt;br /&gt;
[[Qalee]] is a phone environment developed in Qt4 above the fso stack. It works on the freerunner under any distribution that supports Qt4. It's not finished yet but you can test a preview version with the official Qalee distributon. This release includes no new features, but many fixes for things that didn’t work or were incomplete in 0.0.2. You can read full [http://think-free.homelinux.org/wordpress/ announcement], or take a look at some of changes:&lt;br /&gt;
* Qalee is now based on shr instead of debian.&lt;br /&gt;
* clock widget now shows a calendar when clicked.&lt;br /&gt;
* status panel widget shows gsm network name and power and internet connection status while on wifi or gprs.&lt;br /&gt;
* screen menu : you can now choose the background picture with a cover-flow effect, letting the backlight always on now works.&lt;br /&gt;
* network menu : all entries work, gsm one is a little buggy though.&lt;br /&gt;
* Wifi works despite the the bug in the kernel 2.6.29 opened for 4 month.&lt;br /&gt;
* application menu : to launch application just click on it :) when launched the button becomes green, to close it, press the close button which becomes red and click on the application you want to close&lt;br /&gt;
* power button supports suspend on short press, or menu on longer press.&lt;br /&gt;
* phone application is now litephone modified to use Qalee’s buttons.&lt;br /&gt;
* GorshPlayer is broken, if you have Qt4.5.2 librairies with phonon working on shr, tell me (?)//FIXME&lt;br /&gt;
* keyboard is still literky.&lt;br /&gt;
* Themable interface allows you to change some colours of the interface.&lt;br /&gt;
WARNING: Qalee is in pre-alpha stage, a lot of thinks are not coded yet, other are broken, some may be changed. It's just a preview version of the current work!&lt;br /&gt;
&lt;br /&gt;
=== Qt Extended Improved ===&lt;br /&gt;
Qt Extended has had several names. The current name is &amp;lt;b&amp;gt;Qt Extended Improved&amp;lt;/b&amp;gt;. An Openmoko-based community develops Qt Extended Improved as a Free Software project. Qt Extended Improved builds on the foundation of Qt Extended/Qtopia/Qt by Qt Software/Trolltech. Qt Extended Improved provides a robust telephony stack, a webkit based browser and other smartphone features.&lt;br /&gt;
&lt;br /&gt;
On 5th March 2009 Qt Software released Qt Extended 4.4.3. On 3rd March 2009 Qt Software announced that Qt Extended 4.4.3 would be the last release of the Qt Extended product. Prior to version 4.3, Qt Extended was known as Qtopia.&lt;br /&gt;
&lt;br /&gt;
{{Main|Qt Extended Improved}}&lt;br /&gt;
&lt;br /&gt;
=== QtMoko ===&lt;br /&gt;
&lt;br /&gt;
{{Template:Works on QtMoko}}&lt;br /&gt;
The most active distribution based on Qt Extended is [http://activationrecord.net/radekp/qtmoko/ QT Moko].  Special  feature are:&lt;br /&gt;
* actively maintained&lt;br /&gt;
* many bug-fixes applied&lt;br /&gt;
* very decent speed with nodebug-kernel&lt;br /&gt;
* X-Server support so you can use any X-application like [http://www.tangogps.org/gps/articles/7-Installation.html#extended TangoGPS].&lt;br /&gt;
&lt;br /&gt;
{{Main|QT Moko}}&lt;br /&gt;
&lt;br /&gt;
=== SHR ===&lt;br /&gt;
{{Template:Works on SHR}}&lt;br /&gt;
SHR is a community driven distribution. It contains some basic EFL based applications which make use of the FSO. There currently is an [[EFL_Documentation|EFL]] (with elementary) dialer, messages and contacts application programmed in C, as well as a nice Settings-GUI in Python. As of April 12th, 2009, there is no stable release of this distribution yet, as the SHR team doesn't feel it to be good enough. You can find images though on the [http://shr.bearstech.com/shr-testing SHR buildhost].&lt;br /&gt;
&lt;br /&gt;
{{Main|SHR}}&lt;br /&gt;
&lt;br /&gt;
=== Slackware ===&lt;br /&gt;
{{Template:Works on Slackware}}&lt;br /&gt;
As of release 12.2, Slackware is now officially supported on the Neo Freerunner&lt;br /&gt;
[http://armedslack.org/]&lt;br /&gt;
--[[User:Djdas|djdas]] 15:54, 13 June 2009 (UTC)There aren't any confirmations of ArmedSlack running on Freerunner either on the website or the official ML, do you have any link pointing on that?&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Abandoned ===&lt;br /&gt;
&lt;br /&gt;
==== FDOM (FAT and Dirty Openmoko) ====&lt;br /&gt;
{{Template:Works on FDOM}}&lt;br /&gt;
[[FDOM]] was a distribution based on [[Om 2008]], updated with many ready-to-use applications and with fixes posted in the mailing lists. &lt;br /&gt;
&lt;br /&gt;
{{Main|FDOM}}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Om series ====&lt;br /&gt;
* '''[[Om 2009]]''' was intended to be the new distro; it is not a simple follow-on from [[Om 2008]]. It is based on the [http://freesmartphone.org freesmartphone.org] milestone 5.5 framework. Development of Om 2009 was ended and developers moved on to work on other distros instead.&lt;br /&gt;
&lt;br /&gt;
{{Main|Om2009}}&lt;br /&gt;
&lt;br /&gt;
* '''[[Om 2008]]''' was released on August 8, 2008, to replace 2007.2. Prior to that, its codename was ASU (April/August Software Update). This is still the name of the branch in the version control system. This distribution integrates the [http://trolltech.com/products/qtopia Qtopia] phone stack with a set of new Openmoko applications based on the Enlightenment Foundation Libraries ([[EFL_Documentation|EFL]]). Qtopia being a more mature product than the GNOME Mobile stack, the standard phone applications (dialer, contacts, calculator, calendar) work better than in 2007.2. The Qtopia used in 2008.8 was ported to run on X11, contrary to standard Qtopia which uses the framebuffer. This allows non-Qt applications to safely share the screen with Qt applications. &lt;br /&gt;
&lt;br /&gt;
{{Main|Om 2008}}&lt;br /&gt;
&lt;br /&gt;
* '''[[Om 2007.2]]''' was the first distribution created by Openmoko. The interface was totally finger-oriented,  optimized for 285ppi, and very orange. It used the GTK+ stack, which is part of the [http://www.gnome.org/mobile/ GNOME Mobile] platform. This distribution is now considered obsolete and not being worked on by Openmoko Inc or by OpenedHand. &lt;br /&gt;
&lt;br /&gt;
{{Main|Om 2007.2}}&lt;br /&gt;
&lt;br /&gt;
=== Others / unreleased ===&lt;br /&gt;
* The [http://www.neopwn.com/software.php NeoPwn] network auditng system's core is a modified Linux 2.6.24 kernel, with cross-compiled module driver support for the numerous compatible addon devices running on a FULL Debian (ARMEL) operating system. The filesystem has been optimized for performance and size and includes the NeoPwn menu system and several GUI dialogs for hardware control and attack automation. ''Status: Unknown, the GPL requires source code to be distributed only to customers''.&lt;br /&gt;
* [http://runningbear.org/trac RunningBear] is an innovative, yet free and open-source Operating System for hackable devices driven by Bearstech. Lightweight, Portable, Secure, Friendly and Useful. ''Status: In development''.&lt;br /&gt;
* [http://pokylinux.org/ Poky] and Sato, by OpenedHand/Intel. An open source platform build tool derived from OE. It is a complete software development environment for the creation of Linux devices. It enables you to design, develop, build, debug, and test a complete, modern, software stack using Linux, the X Window System and GNOME Mobile based application frameworks for both ARM and x86 based platforms. ''Status: The &amp;quot;Nightly Build&amp;quot; Image works fine on Neo Freerunner, but phone functionality doesn't.''&lt;br /&gt;
* [http://pyneo.org/ PyNeo] pyneo is a stack for mobile devices excessivly using dbus, glib and evas. Pyneo is NO distribution but a middleware or framework like FSO which itself developed from a very early version of pyneo. Current pyneo images are entirely based on debian instead of oe. ''Status: still active and in development! ask around on #pyneo.org ''&lt;br /&gt;
* [http://www.quantum-step.com/ mySTEP] by Openmoko distributor Golden Delicious Computers is based on GNUstep and brings a Objective-C API to the Neo. Core GUI frameworks are &amp;quot;Foundation&amp;quot; &amp;amp; &amp;quot;AppKit&amp;quot;. It has been shown on FOSDEM 2008, LinuxTag 2008 and SYSTEMS 2008 to run on the Neo 1973. If someone reengineers UIKit, (open) source code compatibility to iPhone apps appears achievable. ''Status: slow progress behind the scenes''&lt;br /&gt;
* [http://www.archmobile.org/ Archlinux] is a distribution that follows the KISS principle.&lt;br /&gt;
&lt;br /&gt;
== Features by distribution/release target ==&lt;br /&gt;
&lt;br /&gt;
Generally, distributions can differ on one or more of the following components:&lt;br /&gt;
* The bootsplash screen image. This is purely decorative.&lt;br /&gt;
* The bootloader. Theoretically, any version of ''uboot'' could be used with any distribution. In the future ''Qi'' will replace ''uboot''.&lt;br /&gt;
* The kernel. GNU/Linux kernels versions 2.6.24, 2.6.26 or 2.6.28 can be found. Some have modules compiled in, others have modules compiled separately. If compiled separately, modules can be distributed in the same package file as the kernel or separately.&lt;br /&gt;
* Middleware: daemons to handle GSM calls or GPS, sound system, personal information storage and so on. Qt and Android have their own subsystems, FreeSmartphone.Org (FSO) is working towards a standard-based Free Software one.&lt;br /&gt;
* Display driver. The original ''Qt Extended'' uses the framebuffer, most other distributions today use ''X11''.&lt;br /&gt;
* Libraries and application framework (widget toolkit and  and graphical environment) : EFL, Qt, Gtk+ or Java ?&lt;br /&gt;
* Basic telephony applications: voice calls, SMS, alarm clock...&lt;br /&gt;
* Smartphone applications: GPS, media player, simple games, web browser...&lt;br /&gt;
* Open source applications: more games, scientific, you name it...&lt;br /&gt;
&lt;br /&gt;
=== Hardware Support ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| GTA01 || ??        || ??        || ??       || {{Yes}}    || {{Yes}} || {{Yes}} || ??       || ??&lt;br /&gt;
|-&lt;br /&gt;
| GTA02 || {{Yes}}   || {{Yes}}   || {{Yes}}  || {{Yes}}    || {{Yes}} || {{Yes}} || {{Yes}}  || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Connectivity ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| Telephony || {{Yes}}        || {{Yes}}        || {{Yes}}       || {{Yes}}        || {{Yes}}     || {{Yes}} (1) || {{Yes}}    || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| SMS       || {{Yes}}        || {{Yes}}        || {{Yes}}       || {{Yes}}        || {{Yes}}     || {{Yes}} (1) || {{Yes}}    || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| [[GPRS]]  || {{Yes}}?       || Not through UI || Not through UI|| {{Yes}}        || {{Yes}}     || {{Yes}} (1) || Not through UI    || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| [[WiFi]]  || {{Yes}}?       || {{Yes}} (*)    || {{Yes}}       || {{Yes}}        || {{Yes}}     || {{Yes}}     || Not through UI    || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| VoIP      || {{no}}         || ??             || ??            || ??             || {{Yes}} (1) || {{Yes}}     || ??         || {{no}}&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || {{no}}         || {{Yes}} (*)    || {{Yes}} (*)   || {{Yes}}  (*)   || {{Yes}} (*) || {{Yes}} (*) || {{Yes}}    || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| GPS       || {{Yes}} (1)    || {{Yes}} (1)    || {{Yes}}       || {{Yes}}        || {{Yes}} || {{Yes}} (1) || {{Yes}} (1) || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Power ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| Suspend                || {{Yes}} || {{Yes}} || ?? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Resumes on Event       || {{Yes}} || ??      || ?? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ??&lt;br /&gt;
|-&lt;br /&gt;
| Functions after Resume || {{Yes}} || {{Yes}} || ?? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===  User Interaction ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| Finger friendly || {{Yes}}       || Partially      || Partially     || {{Yes}}      || {{Yes}}          || {{Yes}} [[Illume|(1)]]  || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer   ||  {{Yes}} (1)  || {{Yes}} [[Rotate|(1)]][[Gestures|(1)]] || {{No}} ||  {{Yes}}        || {{No}}  || {{Yes}} || ?? || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Applications ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| Terminal     || {{Yes}} || {{Yes}} (1)            || Basic (2)   || {{Yes}}     || {{Yes}} || {{Yes}}          || {{Yes}} (1) || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| PIM          || {{No}}  || {{Yes}}                || {{Yes}}     || {{Yes}} (1) || {{Yes}} || {{Yes}} (1)      || ?? || ??&lt;br /&gt;
|-&lt;br /&gt;
| Phonebook    || {{Yes}} || {{Yes}}                || {{Yes}}     || {{Yes}}     || {{Yes}} || {{Yes}} (1)      || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Dialer       || {{Yes}} || {{Yes}}                || {{Yes}}     || {{Yes}}     || {{Yes}} || {{Yes}} (1)      || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Web Browser  || {{Yes}} (1) || {{Yes}} (1)        || {{Yes}} (1) || {{Yes}}     || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Mail Client  || {{Yes}} (1) || {{Yes}}            || ?           || {{Yes}}     || {{Yes}} || {{Yes}} (1)      || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| XMPP Client  || {{Yes}} (1) || {{Yes}} [[Pidgin|(1)]] || {{Yes}} (1) || {{Yes}} || {{Yes}}  || {{Yes}} (1)      ||  || ??&lt;br /&gt;
|-&lt;br /&gt;
| Media Player || {{Yes}} (1) || {{Yes}} (1)        || {{Yes}}     || {{Yes}}     || {{Yes}} || {{Yes}} (1)      || ?? || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Toolkits / Runtimes ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| GTK+           || {{Yes}}        || {{Yes}}        || {{Yes}}        || {{Yes}}  || {{No}}      || {{Yes}}                || {{Yes}} || ??&lt;br /&gt;
|-&lt;br /&gt;
| Qt/Qt Extended || {{Yes}}        || {{Yes}}        || {{No}}         || {{Yes}}? || {{Yes}}     || {{Yes}}                || {{Yes}} || ??&lt;br /&gt;
|-&lt;br /&gt;
| Middleware     || FSO            || qtopia-x11     || gsmd/neod      || FSO      || Qt Extended || FSO                    || FSO || ??&lt;br /&gt;
|-&lt;br /&gt;
| [[Java]]       || ??             || {{Yes|Jalimo}} || {{Yes|Jalimo}} || {{Yes|Jalimo}}          || ??          || {{Yes|CacaoVM, JamVM}} || ?? || ??&lt;br /&gt;
|-&lt;br /&gt;
| [[Python]]     || {{Yes}}        || {{Yes}}        || {{Yes}}        || {{yes}}  || {{Yes}}     || {{Yes}}                || {{Yes}} || ??&lt;br /&gt;
|-&lt;br /&gt;
| [[Mono]]       || ??             || {{Yes}} (1)    || {{Yes}} (1)    || {{no}}   || ??          || {{Yes}} (1)            || ?? || ??&lt;br /&gt;
|-&lt;br /&gt;
| [[Ruby]]       || ??             || {{Yes}}        || ??             || ??       || ??          || {{Yes}} (1)            || {{Yes}} (1) || ??&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Footnotes:&lt;br /&gt;
&lt;br /&gt;
(1) works, but need additional software to be installed&lt;br /&gt;
&lt;br /&gt;
(2) unusable due to lack of certain keyboard characters. [[Switching_Keyboards#Matchbox_keyboard|Various fixes available.]]&lt;br /&gt;
&lt;br /&gt;
(*) unstable&lt;br /&gt;
&lt;br /&gt;
== Quick download page ==&lt;br /&gt;
* [[Download]]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* Mickey Lauer's post &amp;quot;[http://www.vanille-media.de/site/index.php/2008/06/28/gtk-asu-fso-tmtla/ GTK, ASU, FSO, TMTLA!]&amp;quot; describes the differences between distributions 2007.2, ASU and FSO.&lt;br /&gt;
&lt;br /&gt;
* Latest news and tips are in [[Community Updates]]&lt;br /&gt;
&lt;br /&gt;
* [[Kustomizer]] is a script to change your Om 2009 or Om 2008.12 to a usable phone&lt;br /&gt;
&lt;br /&gt;
[[Category:Distributions| ]]&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Distributions</id>
		<title>Distributions</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Distributions"/>
				<updated>2010-02-22T19:48:03Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: /* Quick download page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Distributions}}&lt;br /&gt;
{{TOC|left}}&lt;br /&gt;
{{Distros}}&lt;br /&gt;
&lt;br /&gt;
== About distributions ==&lt;br /&gt;
Openmoko distributions are designed to run on various mobile devices, with the primary aim of supporting Openmoko Inc.'s [[GTA01:Neo 1973|Neo 1973]] and [[Neo FreeRunner]] phones. They are GNU/Linux distributions -- complete operating systems including user applications. You can install any of them on your phone or even have a dualboot system with two distributions installed. For downloads see [[Download]], for installation instructions see [[Flashing the Neo FreeRunner]].&lt;br /&gt;
&lt;br /&gt;
Besides, Openmoko distributions also run on [[Supported devices|other]] mobile devices and some other software distributions also run on the phones of Openmoko Inc.&lt;br /&gt;
&lt;br /&gt;
=== Choosing a distribution ===&lt;br /&gt;
&lt;br /&gt;
According to a survey from August 2009 [[SHR]] is by far the most used distribution (60%), followed by Om (15%, [[Om 2007]], [[Om 2008]] and [[Om 2009]] counted as one distribution), [[Debian]] (6%), the Debian-based [[Hackable:1]] (6%), [[Qt Extended Improved]] (5%) and [[Android]] (4%).[http://doodle.com/sd2c8d8snr23eeqq] As the development of Om 2009 basically stopped after this poll even more people might switch to [[SHR]].&lt;br /&gt;
&lt;br /&gt;
=== Please note ===&lt;br /&gt;
&lt;br /&gt;
* Stable in the FreeRunner world does not mean the same thing as stable in the Debian world.&lt;br /&gt;
* Most distributions use the same bootloader, kernel, drivers and hardware. Therefore, the same low level bugs are commonly found in all distributions. The latest and greatest software usually has most bug fixes, plus a whole set of new fresh bugs.&lt;br /&gt;
* Most of these distributions also have package repositories. It is a BAD idea to feed from another distribution's repository. E.g. see [[installing alien package]]s.&lt;br /&gt;
* Upgrade path between these distributions are mostly not tested, thus updating by changing the feeds will most likely end in broken packages or even an unbootable system. It is advisable to reflash the whole filesystem with [[dfu-util]] to switch between the different distributions, with the reminder that a dual-boot setup (e.g. via [[Booting from SD|MicroSD]] or [[Booting from NFS|NFS]]) can be used.&lt;br /&gt;
* [[Marketing Mistakes]] and pre-installed distributions.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
=== Android ===&lt;br /&gt;
{{Template:Works on Android}}&lt;br /&gt;
[http://code.google.com/android/ Android] is a software stack for mobile devices developed by the [http://www.openhandsetalliance.com/ The Open Handset Alliance.] Openmoko is fully supporting Android running on the Freerunner.&lt;br /&gt;
&lt;br /&gt;
Android has now reached a point where it is usable on the FreeRunner as an everyday phone, there are, however, still some caveats. Check out the main Android section of the wiki for more info.&lt;br /&gt;
&lt;br /&gt;
{{Main|Android}}You can also visit the user web page for [http://wiki.openmoko.org/wiki/User:Seanmcneil3 Sean McNeil] for some more info.&lt;br /&gt;
&lt;br /&gt;
=== Debian ===&lt;br /&gt;
{{Template:Works on Debian}}&lt;br /&gt;
[[Debian]] is &amp;quot;the universal operating system&amp;quot;. It comes with thousands and thousands of packages (most of them designed for desktops or servers so far). So in the words of Joachim &amp;quot;nomeata&amp;quot; Breitner from the [http://wiki.debian.org/Teams/DebianFSO pkg-fso] team, this is not really a distribution in the Openmoko sense of the word, but rather a different underlying system for Openmoko distributions. At the moment, we ship the software from the FSO stack, but hopefully we’ll also have, for example, the SHR software in our archive. So for now, Debian is a different way of installing FSO, which takes more space and provides more programs :-)&lt;br /&gt;
&lt;br /&gt;
{{Main|Debian}}&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
{{Template:Works on Gentoo}}&lt;br /&gt;
[[Gentoo]] is all about choices. When installing Gentoo, this is made clear to you several times -- you can choose how much you want to compile yourself, how to install Gentoo, what system logger you want, etc. Gentoo is a fast, modern metadistribution with a clean and flexible design. Gentoo is built around free software and doesn't hide from its users what is beneath the hood. Portage, the package maintenance system which Gentoo uses, is written in Python, meaning you can easily view and modify the source code. Gentoo's packaging system uses source code (although support for precompiled packages is included too) and configuring Gentoo happens through regular textfiles. In other words, openness everywhere.&lt;br /&gt;
&lt;br /&gt;
{{Main|Gentoo}}&lt;br /&gt;
&lt;br /&gt;
=== Hackable:1 ===&lt;br /&gt;
{{Template:Works on Hackable:1}}&lt;br /&gt;
Hackable1 is a community distribution for hackable devices like the Neo Freerunner. It is based on Debian and 2007.2 userland which has been abandoned by Openmoko. It follows the GNOME mobile platform. &lt;br /&gt;
{{Main|Hackable:1}}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mer ===&lt;br /&gt;
{{Template:Works on Mer}}&lt;br /&gt;
[[Mer]] is a distribution based on [[Maemo]].&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mokotouch ===&lt;br /&gt;
{{Template:Works on Mokotouch}}&lt;br /&gt;
[[MokoTouch]] wants to be a replacement for the OM Distribution. It will contain apps for system settings and other useful apps like, mail client, Photo and Maps Viewer and maybe other fun things. It's fully written in C++ using Qt 4.5 Embedded. and it runs using Framebuffer, so no X11 Required. &lt;br /&gt;
&lt;br /&gt;
* http://th30z.netsons.org/mokotouch/index.html &lt;br /&gt;
* http://code.google.com/p/mokotouch/ &lt;br /&gt;
* [http://www.youtube.com/watch?v=yr821OgnvYc Video]&lt;br /&gt;
&lt;br /&gt;
=== neovento ===&lt;br /&gt;
{{Template:Works on noevento}}&lt;br /&gt;
[[neovento]] (ex FYP) is a [[Debian|Debian on Freerunner]] based [[Distributions|distribution]] which uses [http://lxde.org/ LXDE] and [[Zhone]] on top. It is a [http://freeyourphone.de FreeYourPhone.de] community project. &lt;br /&gt;
&lt;br /&gt;
{{Main|neovento}}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenWrt ===&lt;br /&gt;
{{Template:Works on OpenWrt}}&lt;br /&gt;
[[OpenWrt]] is described as a Linux distribution for embedded devices.&lt;br /&gt;
&lt;br /&gt;
Instead of trying to create a single, static firmware, [[OpenWrt]] provides a fully writable filesystem with package management. This frees you from the application selection and configuration provided by the vendor and allows you to customize the device through the use of packages to suit any application. For developer, [[OpenWrt]] is the framework to build an application without having to build a complete firmware around it; for users this means the ability for full customization, to use the device in ways never envisioned.&lt;br /&gt;
&lt;br /&gt;
[[OpenWrt]] development trunk now supports s3c24xx, CPU used in [[Freerunner]].&lt;br /&gt;
&lt;br /&gt;
Mainly due to the usage of uClibc instead of glibc as libc implementation, OpenWrt can boot from NAND with enlightenment window manager within 1 minute 7 seconds using u-boot (NOR) bootloader.&lt;br /&gt;
&lt;br /&gt;
* [http://www.openwrt.org OpenWrt website]&lt;br /&gt;
* [http://dev.openwrt.org OpenWrt development site]&lt;br /&gt;
&lt;br /&gt;
{{Main|OpenWrt}}&lt;br /&gt;
&lt;br /&gt;
=== Qalee ===&lt;br /&gt;
{{Works on Qalee}}&lt;br /&gt;
[[Qalee]] is a phone environment developed in Qt4 above the fso stack. It works on the freerunner under any distribution that supports Qt4. It's not finished yet but you can test a preview version with the official Qalee distributon. This release includes no new features, but many fixes for things that didn’t work or were incomplete in 0.0.2. You can read full [http://think-free.homelinux.org/wordpress/ announcement], or take a look at some of changes:&lt;br /&gt;
* Qalee is now based on shr instead of debian.&lt;br /&gt;
* clock widget now shows a calendar when clicked.&lt;br /&gt;
* status panel widget shows gsm network name and power and internet connection status while on wifi or gprs.&lt;br /&gt;
* screen menu : you can now choose the background picture with a cover-flow effect, letting the backlight always on now works.&lt;br /&gt;
* network menu : all entries work, gsm one is a little buggy though.&lt;br /&gt;
* Wifi works despite the the bug in the kernel 2.6.29 opened for 4 month.&lt;br /&gt;
* application menu : to launch application just click on it :) when launched the button becomes green, to close it, press the close button which becomes red and click on the application you want to close&lt;br /&gt;
* power button supports suspend on short press, or menu on longer press.&lt;br /&gt;
* phone application is now litephone modified to use Qalee’s buttons.&lt;br /&gt;
* GorshPlayer is broken, if you have Qt4.5.2 librairies with phonon working on shr, tell me (?)//FIXME&lt;br /&gt;
* keyboard is still literky.&lt;br /&gt;
* Themable interface allows you to change some colours of the interface.&lt;br /&gt;
WARNING: Qalee is in pre-alpha stage, a lot of thinks are not coded yet, other are broken, some may be changed. It's just a preview version of the current work!&lt;br /&gt;
&lt;br /&gt;
=== Qt Extended Improved ===&lt;br /&gt;
Qt Extended has had several names. The current name is &amp;lt;b&amp;gt;Qt Extended Improved&amp;lt;/b&amp;gt;. An Openmoko-based community develops Qt Extended Improved as a Free Software project. Qt Extended Improved builds on the foundation of Qt Extended/Qtopia/Qt by Qt Software/Trolltech. Qt Extended Improved provides a robust telephony stack, a webkit based browser and other smartphone features.&lt;br /&gt;
&lt;br /&gt;
On 5th March 2009 Qt Software released Qt Extended 4.4.3. On 3rd March 2009 Qt Software announced that Qt Extended 4.4.3 would be the last release of the Qt Extended product. Prior to version 4.3, Qt Extended was known as Qtopia.&lt;br /&gt;
&lt;br /&gt;
{{Main|Qt Extended Improved}}&lt;br /&gt;
&lt;br /&gt;
=== QtMoko ===&lt;br /&gt;
&lt;br /&gt;
{{Template:Works on QtMoko}}&lt;br /&gt;
The most active distribution based on Qt Extended is [http://activationrecord.net/radekp/qtmoko/ QT Moko].  Special  feature are:&lt;br /&gt;
* actively maintained&lt;br /&gt;
* many bug-fixes applied&lt;br /&gt;
* very decent speed with nodebug-kernel&lt;br /&gt;
* X-Server support so you can use any X-application like [http://www.tangogps.org/gps/articles/7-Installation.html#extended TangoGPS].&lt;br /&gt;
&lt;br /&gt;
{{Main|QT Moko}}&lt;br /&gt;
&lt;br /&gt;
=== SHR ===&lt;br /&gt;
{{Template:Works on SHR}}&lt;br /&gt;
SHR is a community driven distribution. It contains some basic EFL based applications which make use of the FSO. There currently is an [[EFL_Documentation|EFL]] (with elementary) dialer, messages and contacts application programmed in C, as well as a nice Settings-GUI in Python. As of April 12th, 2009, there is no stable release of this distribution yet, as the SHR team doesn't feel it to be good enough. You can find images though on the [http://shr.bearstech.com/shr-testing SHR buildhost].&lt;br /&gt;
&lt;br /&gt;
{{Main|SHR}}&lt;br /&gt;
&lt;br /&gt;
=== Slackware ===&lt;br /&gt;
{{Template:Works on Slackware}}&lt;br /&gt;
As of release 12.2, Slackware is now officially supported on the Neo Freerunner&lt;br /&gt;
[http://armedslack.org/]&lt;br /&gt;
--[[User:Djdas|djdas]] 15:54, 13 June 2009 (UTC)There aren't any confirmations of ArmedSlack running on Freerunner either on the website or the official ML, do you have any link pointing on that?&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Abandoned ===&lt;br /&gt;
&lt;br /&gt;
==== FDOM (FAT and Dirty Openmoko) ====&lt;br /&gt;
{{Template:Works on FDOM}}&lt;br /&gt;
[[FDOM]] was a distribution based on [[Om 2008]], updated with many ready-to-use applications and with fixes posted in the mailing lists. &lt;br /&gt;
&lt;br /&gt;
{{Main|FDOM}}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Om series ====&lt;br /&gt;
* '''[[Om 2009]]''' was intended to be the new distro; it is not a simple follow-on from [[Om 2008]]. It is based on the [http://freesmartphone.org freesmartphone.org] milestone 5.5 framework. Development of Om 2009 was ended and developers moved on to work on other distros instead.&lt;br /&gt;
&lt;br /&gt;
{{Main|Om2009}}&lt;br /&gt;
&lt;br /&gt;
* '''[[Om 2008]]''' was released on August 8, 2008, to replace 2007.2. Prior to that, its codename was ASU (April/August Software Update). This is still the name of the branch in the version control system. This distribution integrates the [http://trolltech.com/products/qtopia Qtopia] phone stack with a set of new Openmoko applications based on the Enlightenment Foundation Libraries ([[EFL_Documentation|EFL]]). Qtopia being a more mature product than the GNOME Mobile stack, the standard phone applications (dialer, contacts, calculator, calendar) work better than in 2007.2. The Qtopia used in 2008.8 was ported to run on X11, contrary to standard Qtopia which uses the framebuffer. This allows non-Qt applications to safely share the screen with Qt applications. &lt;br /&gt;
&lt;br /&gt;
{{Main|Om 2008}}&lt;br /&gt;
&lt;br /&gt;
* '''[[Om 2007.2]]''' was the first distribution created by Openmoko. The interface was totally finger-oriented,  optimized for 285ppi, and very orange. It used the GTK+ stack, which is part of the [http://www.gnome.org/mobile/ GNOME Mobile] platform. This distribution is now considered obsolete and not being worked on by Openmoko Inc or by OpenedHand. &lt;br /&gt;
&lt;br /&gt;
{{Main|Om 2007.2}}&lt;br /&gt;
&lt;br /&gt;
=== Others / unreleased ===&lt;br /&gt;
* The [http://www.neopwn.com/software.php NeoPwn] network auditng system's core is a modified Linux 2.6.24 kernel, with cross-compiled module driver support for the numerous compatible addon devices running on a FULL Debian (ARMEL) operating system. The filesystem has been optimized for performance and size and includes the NeoPwn menu system and several GUI dialogs for hardware control and attack automation. ''Status: Unknown, the GPL requires source code to be distributed only to customers''.&lt;br /&gt;
* [http://runningbear.org/trac RunningBear] is an innovative, yet free and open-source Operating System for hackable devices driven by Bearstech. Lightweight, Portable, Secure, Friendly and Useful. ''Status: In development''.&lt;br /&gt;
* [http://pokylinux.org/ Poky] and Sato, by OpenedHand/Intel. An open source platform build tool derived from OE. It is a complete software development environment for the creation of Linux devices. It enables you to design, develop, build, debug, and test a complete, modern, software stack using Linux, the X Window System and GNOME Mobile based application frameworks for both ARM and x86 based platforms. ''Status: The &amp;quot;Nightly Build&amp;quot; Image works fine on Neo Freerunner, but phone functionality doesn't.''&lt;br /&gt;
* [http://pyneo.org/ PyNeo] pyneo is a stack for mobile devices excessivly using dbus, glib and evas. Pyneo is NO distribution but a middleware or framework like FSO which itself developed from a very early version of pyneo. Current pyneo images are entirely based on debian instead of oe. ''Status: still active and in development! ask around on #pyneo.org ''&lt;br /&gt;
* [http://www.quantum-step.com/ mySTEP] by Openmoko distributor Golden Delicious Computers is based on GNUstep and brings a Objective-C API to the Neo. Core GUI frameworks are &amp;quot;Foundation&amp;quot; &amp;amp; &amp;quot;AppKit&amp;quot;. It has been shown on FOSDEM 2008, LinuxTag 2008 and SYSTEMS 2008 to run on the Neo 1973. If someone reengineers UIKit, (open) source code compatibility to iPhone apps appears achievable. ''Status: slow progress behind the scenes''&lt;br /&gt;
* [http://www.archmobile.org/ Archlinux] is a distribution that follows the KISS principle.&lt;br /&gt;
&lt;br /&gt;
== Features by distribution/release target ==&lt;br /&gt;
&lt;br /&gt;
Generally, distributions can differ on one or more of the following components:&lt;br /&gt;
* The bootsplash screen image. This is purely decorative.&lt;br /&gt;
* The bootloader. Theoretically, any version of ''uboot'' could be used with any distribution. In the future ''Qi'' will replace ''uboot''.&lt;br /&gt;
* The kernel. GNU/Linux kernels versions 2.6.24, 2.6.26 or 2.6.28 can be found. Some have modules compiled in, others have modules compiled separately. If compiled separately, modules can be distributed in the same package file as the kernel or separately.&lt;br /&gt;
* Middleware: daemons to handle GSM calls or GPS, sound system, personal information storage and so on. Qt and Android have their own subsystems, FreeSmartphone.Org (FSO) is working towards a standard-based Free Software one.&lt;br /&gt;
* Display driver. The original ''Qt Extended'' uses the framebuffer, most other distributions today use ''X11''.&lt;br /&gt;
* Libraries and application framework (widget toolkit and  and graphical environment) : EFL, Qt, Gtk+ or Java ?&lt;br /&gt;
* Basic telephony applications: voice calls, SMS, alarm clock...&lt;br /&gt;
* Smartphone applications: GPS, media player, simple games, web browser...&lt;br /&gt;
* Open source applications: more games, scientific, you name it...&lt;br /&gt;
&lt;br /&gt;
=== Hardware Support ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| GTA01 || ??        || ??        || ??       || {{Yes}}    || {{Yes}} || {{Yes}} || ??       || ??&lt;br /&gt;
|-&lt;br /&gt;
| GTA02 || {{Yes}}   || {{Yes}}   || {{Yes}}  || {{Yes}}    || {{Yes}} || {{Yes}} || {{Yes}}  || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Connectivity ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| Telephony || {{Yes}}        || {{Yes}}        || {{Yes}}       || {{Yes}}        || {{Yes}}     || {{Yes}} (1) || {{Yes}}    || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| SMS       || {{Yes}}        || {{Yes}}        || {{Yes}}       || {{Yes}}        || {{Yes}}     || {{Yes}} (1) || {{Yes}}    || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| [[GPRS]]  || {{Yes}}?       || Not through UI || Not through UI|| {{Yes}}        || {{Yes}}     || {{Yes}} (1) || Not through UI    || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| [[WiFi]]  || {{Yes}}?       || {{Yes}} (*)    || {{Yes}}       || {{Yes}}        || {{Yes}}     || {{Yes}}     || Not through UI    || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| VoIP      || {{no}}         || ??             || ??            || ??             || {{Yes}} (1) || {{Yes}}     || ??         || {{no}}&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || {{no}}         || {{Yes}} (*)    || {{Yes}} (*)   || {{Yes}}  (*)   || {{Yes}} (*) || {{Yes}} (*) || {{Yes}}    || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| GPS       || {{Yes}} (1)    || {{Yes}} (1)    || {{Yes}}       || {{Yes}}        || {{Yes}} || {{Yes}} (1) || {{Yes}} (1) || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Power ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| Suspend                || {{Yes}} || {{Yes}} || ?? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Resumes on Event       || {{Yes}} || ??      || ?? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ??&lt;br /&gt;
|-&lt;br /&gt;
| Functions after Resume || {{Yes}} || {{Yes}} || ?? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===  User Interaction ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| Finger friendly || {{Yes}}       || Partially      || Partially     || {{Yes}}      || {{Yes}}          || {{Yes}} [[Illume|(1)]]  || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer   ||  {{Yes}} (1)  || {{Yes}} [[Rotate|(1)]][[Gestures|(1)]] || {{No}} ||  {{Yes}}        || {{No}}  || {{Yes}} || ?? || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Applications ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| Terminal     || {{Yes}} || {{Yes}} (1)            || Basic (2)   || {{Yes}}     || {{Yes}} || {{Yes}}          || {{Yes}} (1) || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| PIM          || {{No}}  || {{Yes}}                || {{Yes}}     || {{Yes}} (1) || {{Yes}} || {{Yes}} (1)      || ?? || ??&lt;br /&gt;
|-&lt;br /&gt;
| Phonebook    || {{Yes}} || {{Yes}}                || {{Yes}}     || {{Yes}}     || {{Yes}} || {{Yes}} (1)      || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Dialer       || {{Yes}} || {{Yes}}                || {{Yes}}     || {{Yes}}     || {{Yes}} || {{Yes}} (1)      || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Web Browser  || {{Yes}} (1) || {{Yes}} (1)        || {{Yes}} (1) || {{Yes}}     || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Mail Client  || {{Yes}} (1) || {{Yes}}            || ?           || {{Yes}}     || {{Yes}} || {{Yes}} (1)      || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| XMPP Client  || {{Yes}} (1) || {{Yes}} [[Pidgin|(1)]] || {{Yes}} (1) || {{Yes}} || {{Yes}}  || {{Yes}} (1)      ||  || ??&lt;br /&gt;
|-&lt;br /&gt;
| Media Player || {{Yes}} (1) || {{Yes}} (1)        || {{Yes}}     || {{Yes}}     || {{Yes}} || {{Yes}} (1)      || ?? || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Toolkits / Runtimes ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| GTK+           || {{Yes}}        || {{Yes}}        || {{Yes}}        || {{Yes}}  || {{No}}      || {{Yes}}                || {{Yes}} || ??&lt;br /&gt;
|-&lt;br /&gt;
| Qt/Qt Extended || {{Yes}}        || {{Yes}}        || {{No}}         || {{Yes}}? || {{Yes}}     || {{Yes}}                || {{Yes}} || ??&lt;br /&gt;
|-&lt;br /&gt;
| Middleware     || FSO            || qtopia-x11     || gsmd/neod      || FSO      || Qt Extended || FSO                    || FSO || ??&lt;br /&gt;
|-&lt;br /&gt;
| [[Java]]       || ??             || {{Yes|Jalimo}} || {{Yes|Jalimo}} || {{Yes|Jalimo}}          || ??          || {{Yes|CacaoVM, JamVM}} || ?? || ??&lt;br /&gt;
|-&lt;br /&gt;
| [[Python]]     || {{Yes}}        || {{Yes}}        || {{Yes}}        || {{yes}}  || {{Yes}}     || {{Yes}}                || {{Yes}} || ??&lt;br /&gt;
|-&lt;br /&gt;
| [[Mono]]       || ??             || {{Yes}} (1)    || {{Yes}} (1)    || {{no}}   || ??          || {{Yes}} (1)            || ?? || ??&lt;br /&gt;
|-&lt;br /&gt;
| [[Ruby]]       || ??             || {{Yes}}        || ??             || ??       || ??          || {{Yes}} (1)            || {{Yes}} (1) || ??&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Footnotes:&lt;br /&gt;
&lt;br /&gt;
(1) works, but need additional software to be installed&lt;br /&gt;
&lt;br /&gt;
(2) unusable due to lack of certain keyboard characters. [[Switching_Keyboards#Matchbox_keyboard|Various fixes available.]]&lt;br /&gt;
&lt;br /&gt;
(*) unstable&lt;br /&gt;
&lt;br /&gt;
== Quick download page ==&lt;br /&gt;
* [[Download]]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* Mickey Lauer's post &amp;quot;[http://www.vanille-media.de/site/index.php/2008/06/28/gtk-asu-fso-tmtla/ GTK, ASU, FSO, TMTLA!]&amp;quot; describes the differences between distributions 2007.2, ASU and FSO.&lt;br /&gt;
&lt;br /&gt;
* Latest news and tips are in [[Community Updates]]&lt;br /&gt;
&lt;br /&gt;
* [[Kustomizer]] is a script to change your Om 2009 or Om 2008.12 to a usable phone&lt;br /&gt;
&lt;br /&gt;
[[Category:Distributions| ]]&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Distributions</id>
		<title>Distributions</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Distributions"/>
				<updated>2010-02-22T19:45:19Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Distributions}}&lt;br /&gt;
{{TOC|left}}&lt;br /&gt;
{{Distros}}&lt;br /&gt;
&lt;br /&gt;
== About distributions ==&lt;br /&gt;
Openmoko distributions are designed to run on various mobile devices, with the primary aim of supporting Openmoko Inc.'s [[GTA01:Neo 1973|Neo 1973]] and [[Neo FreeRunner]] phones. They are GNU/Linux distributions -- complete operating systems including user applications. You can install any of them on your phone or even have a dualboot system with two distributions installed. For downloads see [[Download]], for installation instructions see [[Flashing the Neo FreeRunner]].&lt;br /&gt;
&lt;br /&gt;
Besides, Openmoko distributions also run on [[Supported devices|other]] mobile devices and some other software distributions also run on the phones of Openmoko Inc.&lt;br /&gt;
&lt;br /&gt;
=== Choosing a distribution ===&lt;br /&gt;
&lt;br /&gt;
According to a survey from August 2009 [[SHR]] is by far the most used distribution (60%), followed by Om (15%, [[Om 2007]], [[Om 2008]] and [[Om 2009]] counted as one distribution), [[Debian]] (6%), the Debian-based [[Hackable:1]] (6%), [[Qt Extended Improved]] (5%) and [[Android]] (4%).[http://doodle.com/sd2c8d8snr23eeqq] As the development of Om 2009 basically stopped after this poll even more people might switch to [[SHR]].&lt;br /&gt;
&lt;br /&gt;
=== Please note ===&lt;br /&gt;
&lt;br /&gt;
* Stable in the FreeRunner world does not mean the same thing as stable in the Debian world.&lt;br /&gt;
* Most distributions use the same bootloader, kernel, drivers and hardware. Therefore, the same low level bugs are commonly found in all distributions. The latest and greatest software usually has most bug fixes, plus a whole set of new fresh bugs.&lt;br /&gt;
* Most of these distributions also have package repositories. It is a BAD idea to feed from another distribution's repository. E.g. see [[installing alien package]]s.&lt;br /&gt;
* Upgrade path between these distributions are mostly not tested, thus updating by changing the feeds will most likely end in broken packages or even an unbootable system. It is advisable to reflash the whole filesystem with [[dfu-util]] to switch between the different distributions, with the reminder that a dual-boot setup (e.g. via [[Booting from SD|MicroSD]] or [[Booting from NFS|NFS]]) can be used.&lt;br /&gt;
* [[Marketing Mistakes]] and pre-installed distributions.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
=== Android ===&lt;br /&gt;
{{Template:Works on Android}}&lt;br /&gt;
[http://code.google.com/android/ Android] is a software stack for mobile devices developed by the [http://www.openhandsetalliance.com/ The Open Handset Alliance.] Openmoko is fully supporting Android running on the Freerunner.&lt;br /&gt;
&lt;br /&gt;
Android has now reached a point where it is usable on the FreeRunner as an everyday phone, there are, however, still some caveats. Check out the main Android section of the wiki for more info.&lt;br /&gt;
&lt;br /&gt;
{{Main|Android}}You can also visit the user web page for [http://wiki.openmoko.org/wiki/User:Seanmcneil3 Sean McNeil] for some more info.&lt;br /&gt;
&lt;br /&gt;
=== Debian ===&lt;br /&gt;
{{Template:Works on Debian}}&lt;br /&gt;
[[Debian]] is &amp;quot;the universal operating system&amp;quot;. It comes with thousands and thousands of packages (most of them designed for desktops or servers so far). So in the words of Joachim &amp;quot;nomeata&amp;quot; Breitner from the [http://wiki.debian.org/Teams/DebianFSO pkg-fso] team, this is not really a distribution in the Openmoko sense of the word, but rather a different underlying system for Openmoko distributions. At the moment, we ship the software from the FSO stack, but hopefully we’ll also have, for example, the SHR software in our archive. So for now, Debian is a different way of installing FSO, which takes more space and provides more programs :-)&lt;br /&gt;
&lt;br /&gt;
{{Main|Debian}}&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
{{Template:Works on Gentoo}}&lt;br /&gt;
[[Gentoo]] is all about choices. When installing Gentoo, this is made clear to you several times -- you can choose how much you want to compile yourself, how to install Gentoo, what system logger you want, etc. Gentoo is a fast, modern metadistribution with a clean and flexible design. Gentoo is built around free software and doesn't hide from its users what is beneath the hood. Portage, the package maintenance system which Gentoo uses, is written in Python, meaning you can easily view and modify the source code. Gentoo's packaging system uses source code (although support for precompiled packages is included too) and configuring Gentoo happens through regular textfiles. In other words, openness everywhere.&lt;br /&gt;
&lt;br /&gt;
{{Main|Gentoo}}&lt;br /&gt;
&lt;br /&gt;
=== Hackable:1 ===&lt;br /&gt;
{{Template:Works on Hackable:1}}&lt;br /&gt;
Hackable1 is a community distribution for hackable devices like the Neo Freerunner. It is based on Debian and 2007.2 userland which has been abandoned by Openmoko. It follows the GNOME mobile platform. &lt;br /&gt;
{{Main|Hackable:1}}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mer ===&lt;br /&gt;
{{Template:Works on Mer}}&lt;br /&gt;
[[Mer]] is a distribution based on [[Maemo]].&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mokotouch ===&lt;br /&gt;
{{Template:Works on Mokotouch}}&lt;br /&gt;
[[MokoTouch]] wants to be a replacement for the OM Distribution. It will contain apps for system settings and other useful apps like, mail client, Photo and Maps Viewer and maybe other fun things. It's fully written in C++ using Qt 4.5 Embedded. and it runs using Framebuffer, so no X11 Required. &lt;br /&gt;
&lt;br /&gt;
* http://th30z.netsons.org/mokotouch/index.html &lt;br /&gt;
* http://code.google.com/p/mokotouch/ &lt;br /&gt;
* [http://www.youtube.com/watch?v=yr821OgnvYc Video]&lt;br /&gt;
&lt;br /&gt;
=== neovento ===&lt;br /&gt;
{{Template:Works on noevento}}&lt;br /&gt;
[[neovento]] (ex FYP) is a [[Debian|Debian on Freerunner]] based [[Distributions|distribution]] which uses [http://lxde.org/ LXDE] and [[Zhone]] on top. It is a [http://freeyourphone.de FreeYourPhone.de] community project. &lt;br /&gt;
&lt;br /&gt;
{{Main|neovento}}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenWrt ===&lt;br /&gt;
{{Template:Works on OpenWrt}}&lt;br /&gt;
[[OpenWrt]] is described as a Linux distribution for embedded devices.&lt;br /&gt;
&lt;br /&gt;
Instead of trying to create a single, static firmware, [[OpenWrt]] provides a fully writable filesystem with package management. This frees you from the application selection and configuration provided by the vendor and allows you to customize the device through the use of packages to suit any application. For developer, [[OpenWrt]] is the framework to build an application without having to build a complete firmware around it; for users this means the ability for full customization, to use the device in ways never envisioned.&lt;br /&gt;
&lt;br /&gt;
[[OpenWrt]] development trunk now supports s3c24xx, CPU used in [[Freerunner]].&lt;br /&gt;
&lt;br /&gt;
Mainly due to the usage of uClibc instead of glibc as libc implementation, OpenWrt can boot from NAND with enlightenment window manager within 1 minute 7 seconds using u-boot (NOR) bootloader.&lt;br /&gt;
&lt;br /&gt;
* [http://www.openwrt.org OpenWrt website]&lt;br /&gt;
* [http://dev.openwrt.org OpenWrt development site]&lt;br /&gt;
&lt;br /&gt;
{{Main|OpenWrt}}&lt;br /&gt;
&lt;br /&gt;
=== Qalee ===&lt;br /&gt;
{{Works on Qalee}}&lt;br /&gt;
[[Qalee]] is a phone environment developed in Qt4 above the fso stack. It works on the freerunner under any distribution that supports Qt4. It's not finished yet but you can test a preview version with the official Qalee distributon. This release includes no new features, but many fixes for things that didn’t work or were incomplete in 0.0.2. You can read full [http://think-free.homelinux.org/wordpress/ announcement], or take a look at some of changes:&lt;br /&gt;
* Qalee is now based on shr instead of debian.&lt;br /&gt;
* clock widget now shows a calendar when clicked.&lt;br /&gt;
* status panel widget shows gsm network name and power and internet connection status while on wifi or gprs.&lt;br /&gt;
* screen menu : you can now choose the background picture with a cover-flow effect, letting the backlight always on now works.&lt;br /&gt;
* network menu : all entries work, gsm one is a little buggy though.&lt;br /&gt;
* Wifi works despite the the bug in the kernel 2.6.29 opened for 4 month.&lt;br /&gt;
* application menu : to launch application just click on it :) when launched the button becomes green, to close it, press the close button which becomes red and click on the application you want to close&lt;br /&gt;
* power button supports suspend on short press, or menu on longer press.&lt;br /&gt;
* phone application is now litephone modified to use Qalee’s buttons.&lt;br /&gt;
* GorshPlayer is broken, if you have Qt4.5.2 librairies with phonon working on shr, tell me (?)//FIXME&lt;br /&gt;
* keyboard is still literky.&lt;br /&gt;
* Themable interface allows you to change some colours of the interface.&lt;br /&gt;
WARNING: Qalee is in pre-alpha stage, a lot of thinks are not coded yet, other are broken, some may be changed. It's just a preview version of the current work!&lt;br /&gt;
&lt;br /&gt;
=== Qt Extended Improved ===&lt;br /&gt;
Qt Extended has had several names. The current name is &amp;lt;b&amp;gt;Qt Extended Improved&amp;lt;/b&amp;gt;. An Openmoko-based community develops Qt Extended Improved as a Free Software project. Qt Extended Improved builds on the foundation of Qt Extended/Qtopia/Qt by Qt Software/Trolltech. Qt Extended Improved provides a robust telephony stack, a webkit based browser and other smartphone features.&lt;br /&gt;
&lt;br /&gt;
On 5th March 2009 Qt Software released Qt Extended 4.4.3. On 3rd March 2009 Qt Software announced that Qt Extended 4.4.3 would be the last release of the Qt Extended product. Prior to version 4.3, Qt Extended was known as Qtopia.&lt;br /&gt;
&lt;br /&gt;
{{Main|Qt Extended Improved}}&lt;br /&gt;
&lt;br /&gt;
=== QtMoko ===&lt;br /&gt;
&lt;br /&gt;
{{Template:Works on QtMoko}}&lt;br /&gt;
The most active distribution based on Qt Extended is [http://activationrecord.net/radekp/qtmoko/ QT Moko].  Special  feature are:&lt;br /&gt;
* actively maintained&lt;br /&gt;
* many bug-fixes applied&lt;br /&gt;
* very decent speed with nodebug-kernel&lt;br /&gt;
* X-Server support so you can use any X-application like [http://www.tangogps.org/gps/articles/7-Installation.html#extended TangoGPS].&lt;br /&gt;
&lt;br /&gt;
{{Main|QT Moko}}&lt;br /&gt;
&lt;br /&gt;
=== SHR ===&lt;br /&gt;
{{Template:Works on SHR}}&lt;br /&gt;
SHR is a community driven distribution. It contains some basic EFL based applications which make use of the FSO. There currently is an [[EFL_Documentation|EFL]] (with elementary) dialer, messages and contacts application programmed in C, as well as a nice Settings-GUI in Python. As of April 12th, 2009, there is no stable release of this distribution yet, as the SHR team doesn't feel it to be good enough. You can find images though on the [http://shr.bearstech.com/shr-testing SHR buildhost].&lt;br /&gt;
&lt;br /&gt;
{{Main|SHR}}&lt;br /&gt;
&lt;br /&gt;
=== Slackware ===&lt;br /&gt;
{{Template:Works on Slackware}}&lt;br /&gt;
As of release 12.2, Slackware is now officially supported on the Neo Freerunner&lt;br /&gt;
[http://armedslack.org/]&lt;br /&gt;
--[[User:Djdas|djdas]] 15:54, 13 June 2009 (UTC)There aren't any confirmations of ArmedSlack running on Freerunner either on the website or the official ML, do you have any link pointing on that?&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Abandoned ===&lt;br /&gt;
&lt;br /&gt;
==== FDOM (FAT and Dirty Openmoko) ====&lt;br /&gt;
{{Template:Works on FDOM}}&lt;br /&gt;
[[FDOM]] was a distribution based on [[Om 2008]], updated with many ready-to-use applications and with fixes posted in the mailing lists. &lt;br /&gt;
&lt;br /&gt;
{{Main|FDOM}}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Om series ====&lt;br /&gt;
* '''[[Om 2009]]''' was intended to be the new distro; it is not a simple follow-on from [[Om 2008]]. It is based on the [http://freesmartphone.org freesmartphone.org] milestone 5.5 framework. Development of Om 2009 was ended and developers moved on to work on other distros instead.&lt;br /&gt;
&lt;br /&gt;
{{Main|Om2009}}&lt;br /&gt;
&lt;br /&gt;
* '''[[Om 2008]]''' was released on August 8, 2008, to replace 2007.2. Prior to that, its codename was ASU (April/August Software Update). This is still the name of the branch in the version control system. This distribution integrates the [http://trolltech.com/products/qtopia Qtopia] phone stack with a set of new Openmoko applications based on the Enlightenment Foundation Libraries ([[EFL_Documentation|EFL]]). Qtopia being a more mature product than the GNOME Mobile stack, the standard phone applications (dialer, contacts, calculator, calendar) work better than in 2007.2. The Qtopia used in 2008.8 was ported to run on X11, contrary to standard Qtopia which uses the framebuffer. This allows non-Qt applications to safely share the screen with Qt applications. &lt;br /&gt;
&lt;br /&gt;
{{Main|Om 2008}}&lt;br /&gt;
&lt;br /&gt;
* '''[[Om 2007.2]]''' was the first distribution created by Openmoko. The interface was totally finger-oriented,  optimized for 285ppi, and very orange. It used the GTK+ stack, which is part of the [http://www.gnome.org/mobile/ GNOME Mobile] platform. This distribution is now considered obsolete and not being worked on by Openmoko Inc or by OpenedHand. &lt;br /&gt;
&lt;br /&gt;
{{Main|Om 2007.2}}&lt;br /&gt;
&lt;br /&gt;
=== Others / unreleased ===&lt;br /&gt;
* The [http://www.neopwn.com/software.php NeoPwn] network auditng system's core is a modified Linux 2.6.24 kernel, with cross-compiled module driver support for the numerous compatible addon devices running on a FULL Debian (ARMEL) operating system. The filesystem has been optimized for performance and size and includes the NeoPwn menu system and several GUI dialogs for hardware control and attack automation. ''Status: Unknown, the GPL requires source code to be distributed only to customers''.&lt;br /&gt;
* [http://runningbear.org/trac RunningBear] is an innovative, yet free and open-source Operating System for hackable devices driven by Bearstech. Lightweight, Portable, Secure, Friendly and Useful. ''Status: In development''.&lt;br /&gt;
* [http://pokylinux.org/ Poky] and Sato, by OpenedHand/Intel. An open source platform build tool derived from OE. It is a complete software development environment for the creation of Linux devices. It enables you to design, develop, build, debug, and test a complete, modern, software stack using Linux, the X Window System and GNOME Mobile based application frameworks for both ARM and x86 based platforms. ''Status: The &amp;quot;Nightly Build&amp;quot; Image works fine on Neo Freerunner, but phone functionality doesn't.''&lt;br /&gt;
* [http://pyneo.org/ PyNeo] pyneo is a stack for mobile devices excessivly using dbus, glib and evas. Pyneo is NO distribution but a middleware or framework like FSO which itself developed from a very early version of pyneo. Current pyneo images are entirely based on debian instead of oe. ''Status: still active and in development! ask around on #pyneo.org ''&lt;br /&gt;
* [http://www.quantum-step.com/ mySTEP] by Openmoko distributor Golden Delicious Computers is based on GNUstep and brings a Objective-C API to the Neo. Core GUI frameworks are &amp;quot;Foundation&amp;quot; &amp;amp; &amp;quot;AppKit&amp;quot;. It has been shown on FOSDEM 2008, LinuxTag 2008 and SYSTEMS 2008 to run on the Neo 1973. If someone reengineers UIKit, (open) source code compatibility to iPhone apps appears achievable. ''Status: slow progress behind the scenes''&lt;br /&gt;
* [http://www.archmobile.org/ Archlinux] is a distribution that follows the KISS principle.&lt;br /&gt;
&lt;br /&gt;
== Features by distribution/release target ==&lt;br /&gt;
&lt;br /&gt;
Generally, distributions can differ on one or more of the following components:&lt;br /&gt;
* The bootsplash screen image. This is purely decorative.&lt;br /&gt;
* The bootloader. Theoretically, any version of ''uboot'' could be used with any distribution. In the future ''Qi'' will replace ''uboot''.&lt;br /&gt;
* The kernel. GNU/Linux kernels versions 2.6.24, 2.6.26 or 2.6.28 can be found. Some have modules compiled in, others have modules compiled separately. If compiled separately, modules can be distributed in the same package file as the kernel or separately.&lt;br /&gt;
* Middleware: daemons to handle GSM calls or GPS, sound system, personal information storage and so on. Qt and Android have their own subsystems, FreeSmartphone.Org (FSO) is working towards a standard-based Free Software one.&lt;br /&gt;
* Display driver. The original ''Qt Extended'' uses the framebuffer, most other distributions today use ''X11''.&lt;br /&gt;
* Libraries and application framework (widget toolkit and  and graphical environment) : EFL, Qt, Gtk+ or Java ?&lt;br /&gt;
* Basic telephony applications: voice calls, SMS, alarm clock...&lt;br /&gt;
* Smartphone applications: GPS, media player, simple games, web browser...&lt;br /&gt;
* Open source applications: more games, scientific, you name it...&lt;br /&gt;
&lt;br /&gt;
=== Hardware Support ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| GTA01 || ??        || ??        || ??       || {{Yes}}    || {{Yes}} || {{Yes}} || ??       || ??&lt;br /&gt;
|-&lt;br /&gt;
| GTA02 || {{Yes}}   || {{Yes}}   || {{Yes}}  || {{Yes}}    || {{Yes}} || {{Yes}} || {{Yes}}  || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Connectivity ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| Telephony || {{Yes}}        || {{Yes}}        || {{Yes}}       || {{Yes}}        || {{Yes}}     || {{Yes}} (1) || {{Yes}}    || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| SMS       || {{Yes}}        || {{Yes}}        || {{Yes}}       || {{Yes}}        || {{Yes}}     || {{Yes}} (1) || {{Yes}}    || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| [[GPRS]]  || {{Yes}}?       || Not through UI || Not through UI|| {{Yes}}        || {{Yes}}     || {{Yes}} (1) || Not through UI    || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| [[WiFi]]  || {{Yes}}?       || {{Yes}} (*)    || {{Yes}}       || {{Yes}}        || {{Yes}}     || {{Yes}}     || Not through UI    || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| VoIP      || {{no}}         || ??             || ??            || ??             || {{Yes}} (1) || {{Yes}}     || ??         || {{no}}&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || {{no}}         || {{Yes}} (*)    || {{Yes}} (*)   || {{Yes}}  (*)   || {{Yes}} (*) || {{Yes}} (*) || {{Yes}}    || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| GPS       || {{Yes}} (1)    || {{Yes}} (1)    || {{Yes}}       || {{Yes}}        || {{Yes}} || {{Yes}} (1) || {{Yes}} (1) || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Power ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| Suspend                || {{Yes}} || {{Yes}} || ?? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Resumes on Event       || {{Yes}} || ??      || ?? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ??&lt;br /&gt;
|-&lt;br /&gt;
| Functions after Resume || {{Yes}} || {{Yes}} || ?? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===  User Interaction ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| Finger friendly || {{Yes}}       || Partially      || Partially     || {{Yes}}      || {{Yes}}          || {{Yes}} [[Illume|(1)]]  || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer   ||  {{Yes}} (1)  || {{Yes}} [[Rotate|(1)]][[Gestures|(1)]] || {{No}} ||  {{Yes}}        || {{No}}  || {{Yes}} || ?? || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Applications ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| Terminal     || {{Yes}} || {{Yes}} (1)            || Basic (2)   || {{Yes}}     || {{Yes}} || {{Yes}}          || {{Yes}} (1) || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| PIM          || {{No}}  || {{Yes}}                || {{Yes}}     || {{Yes}} (1) || {{Yes}} || {{Yes}} (1)      || ?? || ??&lt;br /&gt;
|-&lt;br /&gt;
| Phonebook    || {{Yes}} || {{Yes}}                || {{Yes}}     || {{Yes}}     || {{Yes}} || {{Yes}} (1)      || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Dialer       || {{Yes}} || {{Yes}}                || {{Yes}}     || {{Yes}}     || {{Yes}} || {{Yes}} (1)      || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Web Browser  || {{Yes}} (1) || {{Yes}} (1)        || {{Yes}} (1) || {{Yes}}     || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Mail Client  || {{Yes}} (1) || {{Yes}}            || ?           || {{Yes}}     || {{Yes}} || {{Yes}} (1)      || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| XMPP Client  || {{Yes}} (1) || {{Yes}} [[Pidgin|(1)]] || {{Yes}} (1) || {{Yes}} || {{Yes}}  || {{Yes}} (1)      ||  || ??&lt;br /&gt;
|-&lt;br /&gt;
| Media Player || {{Yes}} (1) || {{Yes}} (1)        || {{Yes}}     || {{Yes}}     || {{Yes}} || {{Yes}} (1)      || ?? || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Toolkits / Runtimes ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| GTK+           || {{Yes}}        || {{Yes}}        || {{Yes}}        || {{Yes}}  || {{No}}      || {{Yes}}                || {{Yes}} || ??&lt;br /&gt;
|-&lt;br /&gt;
| Qt/Qt Extended || {{Yes}}        || {{Yes}}        || {{No}}         || {{Yes}}? || {{Yes}}     || {{Yes}}                || {{Yes}} || ??&lt;br /&gt;
|-&lt;br /&gt;
| Middleware     || FSO            || qtopia-x11     || gsmd/neod      || FSO      || Qt Extended || FSO                    || FSO || ??&lt;br /&gt;
|-&lt;br /&gt;
| [[Java]]       || ??             || {{Yes|Jalimo}} || {{Yes|Jalimo}} || {{Yes|Jalimo}}          || ??          || {{Yes|CacaoVM, JamVM}} || ?? || ??&lt;br /&gt;
|-&lt;br /&gt;
| [[Python]]     || {{Yes}}        || {{Yes}}        || {{Yes}}        || {{yes}}  || {{Yes}}     || {{Yes}}                || {{Yes}} || ??&lt;br /&gt;
|-&lt;br /&gt;
| [[Mono]]       || ??             || {{Yes}} (1)    || {{Yes}} (1)    || {{no}}   || ??          || {{Yes}} (1)            || ?? || ??&lt;br /&gt;
|-&lt;br /&gt;
| [[Ruby]]       || ??             || {{Yes}}        || ??             || ??       || ??          || {{Yes}} (1)            || {{Yes}} (1) || ??&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Footnotes:&lt;br /&gt;
&lt;br /&gt;
(1) works, but need additional software to be installed&lt;br /&gt;
&lt;br /&gt;
(2) unusable due to lack of certain keyboard characters. [[Switching_Keyboards#Matchbox_keyboard|Various fixes available.]]&lt;br /&gt;
&lt;br /&gt;
(*) unstable&lt;br /&gt;
&lt;br /&gt;
==Quick download page==&lt;br /&gt;
&lt;br /&gt;
[[Download]]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* Mickey Lauer's post &amp;quot;[http://www.vanille-media.de/site/index.php/2008/06/28/gtk-asu-fso-tmtla/ GTK, ASU, FSO, TMTLA!]&amp;quot; describes the differences between distributions 2007.2, ASU and FSO.&lt;br /&gt;
&lt;br /&gt;
* Latest news and tips are in [[Community Updates]]&lt;br /&gt;
&lt;br /&gt;
* [[Kustomizer]] is a script to change your Om 2009 or Om 2008.12 to a usable phone&lt;br /&gt;
&lt;br /&gt;
[[Category:Distributions| ]]&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Template:Distros</id>
		<title>Template:Distros</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Template:Distros"/>
				<updated>2010-02-22T19:44:37Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;clear:left; float:left; width:200px; background-color:#333333; color:#FFFFFF; border-collapse:collapse; font-weight:bold&amp;quot; class=&amp;quot;toccolours&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
| style=&amp;quot;background-color:#FF6600; &amp;quot; align=&amp;quot;center&amp;quot; | '''&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;Openmoko (official)&amp;lt;/span&amp;gt;'''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* [[Om 2009]]&lt;br /&gt;
* [[Om 2008]]&lt;br /&gt;
* [[Om 2007.2]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:#F60;&amp;quot; align=&amp;quot;center&amp;quot; | '''&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;Openmoko Community&amp;lt;/span&amp;gt;'''&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
* [[Android]]&lt;br /&gt;
* [[Debian]]&lt;br /&gt;
* [[Gentoo]]&lt;br /&gt;
* [[Hackable:1]]&lt;br /&gt;
* [[Mer]]&lt;br /&gt;
* [[Neovento]]&lt;br /&gt;
* [[OpenWrt]]&lt;br /&gt;
* [[Qt Extended Improved]]&lt;br /&gt;
* [[QtMoko]]&lt;br /&gt;
* [[SHR]]&lt;br /&gt;
|}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Templates]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Template:Clear</id>
		<title>Template:Clear</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Template:Clear"/>
				<updated>2010-02-22T19:36:01Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: New page: &amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;noinclude&amp;gt;Clear&amp;lt;/noinclude&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;noinclude&amp;gt;[[Category:Templates|Clear]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Distributions</id>
		<title>Distributions</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Distributions"/>
				<updated>2010-02-22T19:35:34Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Distributions}}&lt;br /&gt;
{{Distros}}&lt;br /&gt;
{{TOC|left}}&lt;br /&gt;
&lt;br /&gt;
== About distributions ==&lt;br /&gt;
Openmoko distributions are designed to run on various mobile devices, with the primary aim of supporting Openmoko Inc.'s [[GTA01:Neo 1973|Neo 1973]] and [[Neo FreeRunner]] phones. They are GNU/Linux distributions -- complete operating systems including user applications. You can install any of them on your phone or even have a dualboot system with two distributions installed. For downloads see [[Download]], for installation instructions see [[Flashing the Neo FreeRunner]].&lt;br /&gt;
&lt;br /&gt;
Besides, Openmoko distributions also run on [[Supported devices|other]] mobile devices and some other software distributions also run on the phones of Openmoko Inc.&lt;br /&gt;
&lt;br /&gt;
=== Choosing a distribution ===&lt;br /&gt;
&lt;br /&gt;
According to a survey from August 2009 [[SHR]] is by far the most used distribution (60%), followed by Om (15%, [[Om 2007]], [[Om 2008]] and [[Om 2009]] counted as one distribution), [[Debian]] (6%), the Debian-based [[Hackable:1]] (6%), [[Qt Extended Improved]] (5%) and [[Android]] (4%).[http://doodle.com/sd2c8d8snr23eeqq] As the development of Om 2009 basically stopped after this poll even more people might switch to [[SHR]].&lt;br /&gt;
&lt;br /&gt;
=== Please note ===&lt;br /&gt;
&lt;br /&gt;
* Stable in the FreeRunner world does not mean the same thing as stable in the Debian world.&lt;br /&gt;
* Most distributions use the same bootloader, kernel, drivers and hardware. Therefore, the same low level bugs are commonly found in all distributions. The latest and greatest software usually has most bug fixes, plus a whole set of new fresh bugs.&lt;br /&gt;
* Most of these distributions also have package repositories. It is a BAD idea to feed from another distribution's repository. E.g. see [[installing alien package]]s.&lt;br /&gt;
* Upgrade path between these distributions are mostly not tested, thus updating by changing the feeds will most likely end in broken packages or even an unbootable system. It is advisable to reflash the whole filesystem with [[dfu-util]] to switch between the different distributions, with the reminder that a dual-boot setup (e.g. via [[Booting from SD|MicroSD]] or [[Booting from NFS|NFS]]) can be used.&lt;br /&gt;
* [[Marketing Mistakes]] and pre-installed distributions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
=== Android ===&lt;br /&gt;
{{Template:Works on Android}}&lt;br /&gt;
[http://code.google.com/android/ Android] is a software stack for mobile devices developed by the [http://www.openhandsetalliance.com/ The Open Handset Alliance.] Openmoko is fully supporting Android running on the Freerunner.&lt;br /&gt;
&lt;br /&gt;
Android has now reached a point where it is usable on the FreeRunner as an everyday phone, there are, however, still some caveats. Check out the main Android section of the wiki for more info.&lt;br /&gt;
&lt;br /&gt;
{{Main|Android}}You can also visit the user web page for [http://wiki.openmoko.org/wiki/User:Seanmcneil3 Sean McNeil] for some more info.&lt;br /&gt;
&lt;br /&gt;
=== Debian ===&lt;br /&gt;
{{Template:Works on Debian}}&lt;br /&gt;
[[Debian]] is &amp;quot;the universal operating system&amp;quot;. It comes with thousands and thousands of packages (most of them designed for desktops or servers so far). So in the words of Joachim &amp;quot;nomeata&amp;quot; Breitner from the [http://wiki.debian.org/Teams/DebianFSO pkg-fso] team, this is not really a distribution in the Openmoko sense of the word, but rather a different underlying system for Openmoko distributions. At the moment, we ship the software from the FSO stack, but hopefully we’ll also have, for example, the SHR software in our archive. So for now, Debian is a different way of installing FSO, which takes more space and provides more programs :-)&lt;br /&gt;
&lt;br /&gt;
{{Main|Debian}}&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
{{Template:Works on Gentoo}}&lt;br /&gt;
[[Gentoo]] is all about choices. When installing Gentoo, this is made clear to you several times -- you can choose how much you want to compile yourself, how to install Gentoo, what system logger you want, etc. Gentoo is a fast, modern metadistribution with a clean and flexible design. Gentoo is built around free software and doesn't hide from its users what is beneath the hood. Portage, the package maintenance system which Gentoo uses, is written in Python, meaning you can easily view and modify the source code. Gentoo's packaging system uses source code (although support for precompiled packages is included too) and configuring Gentoo happens through regular textfiles. In other words, openness everywhere.&lt;br /&gt;
&lt;br /&gt;
{{Main|Gentoo}}&lt;br /&gt;
&lt;br /&gt;
=== Hackable:1 ===&lt;br /&gt;
{{Template:Works on Hackable:1}}&lt;br /&gt;
Hackable1 is a community distribution for hackable devices like the Neo Freerunner. It is based on Debian and 2007.2 userland which has been abandoned by Openmoko. It follows the GNOME mobile platform. &lt;br /&gt;
{{Main|Hackable:1}}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mer ===&lt;br /&gt;
{{Template:Works on Mer}}&lt;br /&gt;
[[Mer]] is a distribution based on [[Maemo]].&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mokotouch ===&lt;br /&gt;
{{Template:Works on Mokotouch}}&lt;br /&gt;
[[MokoTouch]] wants to be a replacement for the OM Distribution. It will contain apps for system settings and other useful apps like, mail client, Photo and Maps Viewer and maybe other fun things. It's fully written in C++ using Qt 4.5 Embedded. and it runs using Framebuffer, so no X11 Required. &lt;br /&gt;
&lt;br /&gt;
* http://th30z.netsons.org/mokotouch/index.html &lt;br /&gt;
* http://code.google.com/p/mokotouch/ &lt;br /&gt;
* [http://www.youtube.com/watch?v=yr821OgnvYc Video]&lt;br /&gt;
&lt;br /&gt;
=== neovento ===&lt;br /&gt;
{{Template:Works on noevento}}&lt;br /&gt;
[[neovento]] (ex FYP) is a [[Debian|Debian on Freerunner]] based [[Distributions|distribution]] which uses [http://lxde.org/ LXDE] and [[Zhone]] on top. It is a [http://freeyourphone.de FreeYourPhone.de] community project. &lt;br /&gt;
&lt;br /&gt;
{{Main|neovento}}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenWrt ===&lt;br /&gt;
{{Template:Works on OpenWrt}}&lt;br /&gt;
[[OpenWrt]] is described as a Linux distribution for embedded devices.&lt;br /&gt;
&lt;br /&gt;
Instead of trying to create a single, static firmware, [[OpenWrt]] provides a fully writable filesystem with package management. This frees you from the application selection and configuration provided by the vendor and allows you to customize the device through the use of packages to suit any application. For developer, [[OpenWrt]] is the framework to build an application without having to build a complete firmware around it; for users this means the ability for full customization, to use the device in ways never envisioned.&lt;br /&gt;
&lt;br /&gt;
[[OpenWrt]] development trunk now supports s3c24xx, CPU used in [[Freerunner]].&lt;br /&gt;
&lt;br /&gt;
Mainly due to the usage of uClibc instead of glibc as libc implementation, OpenWrt can boot from NAND with enlightenment window manager within 1 minute 7 seconds using u-boot (NOR) bootloader.&lt;br /&gt;
&lt;br /&gt;
* [http://www.openwrt.org OpenWrt website]&lt;br /&gt;
* [http://dev.openwrt.org OpenWrt development site]&lt;br /&gt;
&lt;br /&gt;
{{Main|OpenWrt}}&lt;br /&gt;
&lt;br /&gt;
=== Qalee ===&lt;br /&gt;
{{Works on Qalee}}&lt;br /&gt;
[[Qalee]] is a phone environment developed in Qt4 above the fso stack. It works on the freerunner under any distribution that supports Qt4. It's not finished yet but you can test a preview version with the official Qalee distributon. This release includes no new features, but many fixes for things that didn’t work or were incomplete in 0.0.2. You can read full [http://think-free.homelinux.org/wordpress/ announcement], or take a look at some of changes:&lt;br /&gt;
* Qalee is now based on shr instead of debian.&lt;br /&gt;
* clock widget now shows a calendar when clicked.&lt;br /&gt;
* status panel widget shows gsm network name and power and internet connection status while on wifi or gprs.&lt;br /&gt;
* screen menu : you can now choose the background picture with a cover-flow effect, letting the backlight always on now works.&lt;br /&gt;
* network menu : all entries work, gsm one is a little buggy though.&lt;br /&gt;
* Wifi works despite the the bug in the kernel 2.6.29 opened for 4 month.&lt;br /&gt;
* application menu : to launch application just click on it :) when launched the button becomes green, to close it, press the close button which becomes red and click on the application you want to close&lt;br /&gt;
* power button supports suspend on short press, or menu on longer press.&lt;br /&gt;
* phone application is now litephone modified to use Qalee’s buttons.&lt;br /&gt;
* GorshPlayer is broken, if you have Qt4.5.2 librairies with phonon working on shr, tell me (?)//FIXME&lt;br /&gt;
* keyboard is still literky.&lt;br /&gt;
* Themable interface allows you to change some colours of the interface.&lt;br /&gt;
WARNING: Qalee is in pre-alpha stage, a lot of thinks are not coded yet, other are broken, some may be changed. It's just a preview version of the current work!&lt;br /&gt;
&lt;br /&gt;
=== Qt Extended Improved ===&lt;br /&gt;
Qt Extended has had several names. The current name is &amp;lt;b&amp;gt;Qt Extended Improved&amp;lt;/b&amp;gt;. An Openmoko-based community develops Qt Extended Improved as a Free Software project. Qt Extended Improved builds on the foundation of Qt Extended/Qtopia/Qt by Qt Software/Trolltech. Qt Extended Improved provides a robust telephony stack, a webkit based browser and other smartphone features.&lt;br /&gt;
&lt;br /&gt;
On 5th March 2009 Qt Software released Qt Extended 4.4.3. On 3rd March 2009 Qt Software announced that Qt Extended 4.4.3 would be the last release of the Qt Extended product. Prior to version 4.3, Qt Extended was known as Qtopia.&lt;br /&gt;
&lt;br /&gt;
{{Main|Qt Extended Improved}}&lt;br /&gt;
&lt;br /&gt;
=== QtMoko ===&lt;br /&gt;
&lt;br /&gt;
{{Template:Works on QtMoko}}&lt;br /&gt;
The most active distribution based on Qt Extended is [http://activationrecord.net/radekp/qtmoko/ QT Moko].  Special  feature are:&lt;br /&gt;
* actively maintained&lt;br /&gt;
* many bug-fixes applied&lt;br /&gt;
* very decent speed with nodebug-kernel&lt;br /&gt;
* X-Server support so you can use any X-application like [http://www.tangogps.org/gps/articles/7-Installation.html#extended TangoGPS].&lt;br /&gt;
&lt;br /&gt;
{{Main|QT Moko}}&lt;br /&gt;
&lt;br /&gt;
=== SHR ===&lt;br /&gt;
{{Template:Works on SHR}}&lt;br /&gt;
SHR is a community driven distribution. It contains some basic EFL based applications which make use of the FSO. There currently is an [[EFL_Documentation|EFL]] (with elementary) dialer, messages and contacts application programmed in C, as well as a nice Settings-GUI in Python. As of April 12th, 2009, there is no stable release of this distribution yet, as the SHR team doesn't feel it to be good enough. You can find images though on the [http://shr.bearstech.com/shr-testing SHR buildhost].&lt;br /&gt;
&lt;br /&gt;
{{Main|SHR}}&lt;br /&gt;
&lt;br /&gt;
=== Slackware ===&lt;br /&gt;
{{Template:Works on Slackware}}&lt;br /&gt;
As of release 12.2, Slackware is now officially supported on the Neo Freerunner&lt;br /&gt;
[http://armedslack.org/]&lt;br /&gt;
--[[User:Djdas|djdas]] 15:54, 13 June 2009 (UTC)There aren't any confirmations of ArmedSlack running on Freerunner either on the website or the official ML, do you have any link pointing on that?&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Abandoned ===&lt;br /&gt;
&lt;br /&gt;
==== FDOM (FAT and Dirty Openmoko) ====&lt;br /&gt;
{{Template:Works on FDOM}}&lt;br /&gt;
[[FDOM]] was a distribution based on [[Om 2008]], updated with many ready-to-use applications and with fixes posted in the mailing lists. &lt;br /&gt;
&lt;br /&gt;
{{Main|FDOM}}&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Om series ====&lt;br /&gt;
* '''[[Om 2009]]''' was intended to be the new distro; it is not a simple follow-on from [[Om 2008]]. It is based on the [http://freesmartphone.org freesmartphone.org] milestone 5.5 framework. Development of Om 2009 was ended and developers moved on to work on other distros instead.&lt;br /&gt;
&lt;br /&gt;
{{Main|Om2009}}&lt;br /&gt;
&lt;br /&gt;
* '''[[Om 2008]]''' was released on August 8, 2008, to replace 2007.2. Prior to that, its codename was ASU (April/August Software Update). This is still the name of the branch in the version control system. This distribution integrates the [http://trolltech.com/products/qtopia Qtopia] phone stack with a set of new Openmoko applications based on the Enlightenment Foundation Libraries ([[EFL_Documentation|EFL]]). Qtopia being a more mature product than the GNOME Mobile stack, the standard phone applications (dialer, contacts, calculator, calendar) work better than in 2007.2. The Qtopia used in 2008.8 was ported to run on X11, contrary to standard Qtopia which uses the framebuffer. This allows non-Qt applications to safely share the screen with Qt applications. &lt;br /&gt;
&lt;br /&gt;
{{Main|Om 2008}}&lt;br /&gt;
&lt;br /&gt;
* '''[[Om 2007.2]]''' was the first distribution created by Openmoko. The interface was totally finger-oriented,  optimized for 285ppi, and very orange. It used the GTK+ stack, which is part of the [http://www.gnome.org/mobile/ GNOME Mobile] platform. This distribution is now considered obsolete and not being worked on by Openmoko Inc or by OpenedHand. &lt;br /&gt;
&lt;br /&gt;
{{Main|Om 2007.2}}&lt;br /&gt;
&lt;br /&gt;
=== Others / unreleased ===&lt;br /&gt;
* The [http://www.neopwn.com/software.php NeoPwn] network auditng system's core is a modified Linux 2.6.24 kernel, with cross-compiled module driver support for the numerous compatible addon devices running on a FULL Debian (ARMEL) operating system. The filesystem has been optimized for performance and size and includes the NeoPwn menu system and several GUI dialogs for hardware control and attack automation. ''Status: Unknown, the GPL requires source code to be distributed only to customers''.&lt;br /&gt;
* [http://runningbear.org/trac RunningBear] is an innovative, yet free and open-source Operating System for hackable devices driven by Bearstech. Lightweight, Portable, Secure, Friendly and Useful. ''Status: In development''.&lt;br /&gt;
* [http://pokylinux.org/ Poky] and Sato, by OpenedHand/Intel. An open source platform build tool derived from OE. It is a complete software development environment for the creation of Linux devices. It enables you to design, develop, build, debug, and test a complete, modern, software stack using Linux, the X Window System and GNOME Mobile based application frameworks for both ARM and x86 based platforms. ''Status: The &amp;quot;Nightly Build&amp;quot; Image works fine on Neo Freerunner, but phone functionality doesn't.''&lt;br /&gt;
* [http://pyneo.org/ PyNeo] pyneo is a stack for mobile devices excessivly using dbus, glib and evas. Pyneo is NO distribution but a middleware or framework like FSO which itself developed from a very early version of pyneo. Current pyneo images are entirely based on debian instead of oe. ''Status: still active and in development! ask around on #pyneo.org ''&lt;br /&gt;
* [http://www.quantum-step.com/ mySTEP] by Openmoko distributor Golden Delicious Computers is based on GNUstep and brings a Objective-C API to the Neo. Core GUI frameworks are &amp;quot;Foundation&amp;quot; &amp;amp; &amp;quot;AppKit&amp;quot;. It has been shown on FOSDEM 2008, LinuxTag 2008 and SYSTEMS 2008 to run on the Neo 1973. If someone reengineers UIKit, (open) source code compatibility to iPhone apps appears achievable. ''Status: slow progress behind the scenes''&lt;br /&gt;
* [http://www.archmobile.org/ Archlinux] is a distribution that follows the KISS principle.&lt;br /&gt;
&lt;br /&gt;
== Features by distribution/release target ==&lt;br /&gt;
&lt;br /&gt;
Generally, distributions can differ on one or more of the following components:&lt;br /&gt;
* The bootsplash screen image. This is purely decorative.&lt;br /&gt;
* The bootloader. Theoretically, any version of ''uboot'' could be used with any distribution. In the future ''Qi'' will replace ''uboot''.&lt;br /&gt;
* The kernel. GNU/Linux kernels versions 2.6.24, 2.6.26 or 2.6.28 can be found. Some have modules compiled in, others have modules compiled separately. If compiled separately, modules can be distributed in the same package file as the kernel or separately.&lt;br /&gt;
* Middleware: daemons to handle GSM calls or GPS, sound system, personal information storage and so on. Qt and Android have their own subsystems, FreeSmartphone.Org (FSO) is working towards a standard-based Free Software one.&lt;br /&gt;
* Display driver. The original ''Qt Extended'' uses the framebuffer, most other distributions today use ''X11''.&lt;br /&gt;
* Libraries and application framework (widget toolkit and  and graphical environment) : EFL, Qt, Gtk+ or Java ?&lt;br /&gt;
* Basic telephony applications: voice calls, SMS, alarm clock...&lt;br /&gt;
* Smartphone applications: GPS, media player, simple games, web browser...&lt;br /&gt;
* Open source applications: more games, scientific, you name it...&lt;br /&gt;
&lt;br /&gt;
=== Hardware Support ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| GTA01 || ??        || ??        || ??       || {{Yes}}    || {{Yes}} || {{Yes}} || ??       || ??&lt;br /&gt;
|-&lt;br /&gt;
| GTA02 || {{Yes}}   || {{Yes}}   || {{Yes}}  || {{Yes}}    || {{Yes}} || {{Yes}} || {{Yes}}  || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Connectivity ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| Telephony || {{Yes}}        || {{Yes}}        || {{Yes}}       || {{Yes}}        || {{Yes}}     || {{Yes}} (1) || {{Yes}}    || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| SMS       || {{Yes}}        || {{Yes}}        || {{Yes}}       || {{Yes}}        || {{Yes}}     || {{Yes}} (1) || {{Yes}}    || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| [[GPRS]]  || {{Yes}}?       || Not through UI || Not through UI|| {{Yes}}        || {{Yes}}     || {{Yes}} (1) || Not through UI    || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| [[WiFi]]  || {{Yes}}?       || {{Yes}} (*)    || {{Yes}}       || {{Yes}}        || {{Yes}}     || {{Yes}}     || Not through UI    || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| VoIP      || {{no}}         || ??             || ??            || ??             || {{Yes}} (1) || {{Yes}}     || ??         || {{no}}&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || {{no}}         || {{Yes}} (*)    || {{Yes}} (*)   || {{Yes}}  (*)   || {{Yes}} (*) || {{Yes}} (*) || {{Yes}}    || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| GPS       || {{Yes}} (1)    || {{Yes}} (1)    || {{Yes}}       || {{Yes}}        || {{Yes}} || {{Yes}} (1) || {{Yes}} (1) || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Power ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| Suspend                || {{Yes}} || {{Yes}} || ?? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Resumes on Event       || {{Yes}} || ??      || ?? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || ??&lt;br /&gt;
|-&lt;br /&gt;
| Functions after Resume || {{Yes}} || {{Yes}} || ?? || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===  User Interaction ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| Finger friendly || {{Yes}}       || Partially      || Partially     || {{Yes}}      || {{Yes}}          || {{Yes}} [[Illume|(1)]]  || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer   ||  {{Yes}} (1)  || {{Yes}} [[Rotate|(1)]][[Gestures|(1)]] || {{No}} ||  {{Yes}}        || {{No}}  || {{Yes}} || ?? || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Applications ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| Terminal     || {{Yes}} || {{Yes}} (1)            || Basic (2)   || {{Yes}}     || {{Yes}} || {{Yes}}          || {{Yes}} (1) || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| PIM          || {{No}}  || {{Yes}}                || {{Yes}}     || {{Yes}} (1) || {{Yes}} || {{Yes}} (1)      || ?? || ??&lt;br /&gt;
|-&lt;br /&gt;
| Phonebook    || {{Yes}} || {{Yes}}                || {{Yes}}     || {{Yes}}     || {{Yes}} || {{Yes}} (1)      || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Dialer       || {{Yes}} || {{Yes}}                || {{Yes}}     || {{Yes}}     || {{Yes}} || {{Yes}} (1)      || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Web Browser  || {{Yes}} (1) || {{Yes}} (1)        || {{Yes}} (1) || {{Yes}}     || {{Yes}} || {{Yes}} (1) || ?? || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Mail Client  || {{Yes}} (1) || {{Yes}}            || ?           || {{Yes}}     || {{Yes}} || {{Yes}} (1)      || {{Yes}} || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
| XMPP Client  || {{Yes}} (1) || {{Yes}} [[Pidgin|(1)]] || {{Yes}} (1) || {{Yes}} || {{Yes}}  || {{Yes}} (1)      ||  || ??&lt;br /&gt;
|-&lt;br /&gt;
| Media Player || {{Yes}} (1) || {{Yes}} (1)        || {{Yes}}     || {{Yes}}     || {{Yes}} || {{Yes}} (1)      || ?? || {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Toolkits / Runtimes ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! width=10%| !! width=8%|[[Om 2009]] !! width=8%|[[Om 2008]] !! width=8%|Om 2007.2 !! width=8%|[[SHR]] !! width=8%|[[Qt Extended Improved]] !! width=8%|[[Debian]] !! width=8%|[[Gentoo]] !! width=8%|[[Android]]&lt;br /&gt;
|-&lt;br /&gt;
| GTK+           || {{Yes}}        || {{Yes}}        || {{Yes}}        || {{Yes}}  || {{No}}      || {{Yes}}                || {{Yes}} || ??&lt;br /&gt;
|-&lt;br /&gt;
| Qt/Qt Extended || {{Yes}}        || {{Yes}}        || {{No}}         || {{Yes}}? || {{Yes}}     || {{Yes}}                || {{Yes}} || ??&lt;br /&gt;
|-&lt;br /&gt;
| Middleware     || FSO            || qtopia-x11     || gsmd/neod      || FSO      || Qt Extended || FSO                    || FSO || ??&lt;br /&gt;
|-&lt;br /&gt;
| [[Java]]       || ??             || {{Yes|Jalimo}} || {{Yes|Jalimo}} || {{Yes|Jalimo}}          || ??          || {{Yes|CacaoVM, JamVM}} || ?? || ??&lt;br /&gt;
|-&lt;br /&gt;
| [[Python]]     || {{Yes}}        || {{Yes}}        || {{Yes}}        || {{yes}}  || {{Yes}}     || {{Yes}}                || {{Yes}} || ??&lt;br /&gt;
|-&lt;br /&gt;
| [[Mono]]       || ??             || {{Yes}} (1)    || {{Yes}} (1)    || {{no}}   || ??          || {{Yes}} (1)            || ?? || ??&lt;br /&gt;
|-&lt;br /&gt;
| [[Ruby]]       || ??             || {{Yes}}        || ??             || ??       || ??          || {{Yes}} (1)            || {{Yes}} (1) || ??&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Footnotes:&lt;br /&gt;
&lt;br /&gt;
(1) works, but need additional software to be installed&lt;br /&gt;
&lt;br /&gt;
(2) unusable due to lack of certain keyboard characters. [[Switching_Keyboards#Matchbox_keyboard|Various fixes available.]]&lt;br /&gt;
&lt;br /&gt;
(*) unstable&lt;br /&gt;
&lt;br /&gt;
==Quick download page==&lt;br /&gt;
&lt;br /&gt;
[[Download]]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* Mickey Lauer's post &amp;quot;[http://www.vanille-media.de/site/index.php/2008/06/28/gtk-asu-fso-tmtla/ GTK, ASU, FSO, TMTLA!]&amp;quot; describes the differences between distributions 2007.2, ASU and FSO.&lt;br /&gt;
&lt;br /&gt;
* Latest news and tips are in [[Community Updates]]&lt;br /&gt;
&lt;br /&gt;
* [[Kustomizer]] is a script to change your Om 2009 or Om 2008.12 to a usable phone&lt;br /&gt;
&lt;br /&gt;
[[Category:Distributions| ]]&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Template:Distros</id>
		<title>Template:Distros</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Template:Distros"/>
				<updated>2010-02-22T19:34:42Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: New page: {| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:left;width:200px;background-color:#FF6600;text-align:center;border-collapse:collapse;font-weight:bold&amp;quot; |&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;Distributions&amp;lt;/span&amp;gt; |-...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float:left;width:200px;background-color:#FF6600;text-align:center;border-collapse:collapse;font-weight:bold&amp;quot;&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:white;&amp;quot;&amp;gt;Distributions&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style='background-color:#333333;color:#FFFFFF'|&lt;br /&gt;
&amp;lt;div align=left&amp;gt;&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#BBBBBB;&amp;quot;&amp;gt;Openmoko (official)&amp;lt;/span&amp;gt;&lt;br /&gt;
** [[Om 2009]]&lt;br /&gt;
** [[Om 2008]]&lt;br /&gt;
** [[Om 2007.2]]&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:#BBBBBB;&amp;quot;&amp;gt;Openmoko Community&amp;lt;/span&amp;gt;&lt;br /&gt;
** [[Android]]&lt;br /&gt;
** [[Debian]]&lt;br /&gt;
** [[Gentoo]]&lt;br /&gt;
** [[Hackable:1]]&lt;br /&gt;
** [[Mer]]&lt;br /&gt;
** [[Neovento]]&lt;br /&gt;
** [[OpenWrt]]&lt;br /&gt;
** [[Qt Extended Improved]]&lt;br /&gt;
** [[QtMoko]]&lt;br /&gt;
** [[SHR]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Templates]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Template:TOC</id>
		<title>Template:TOC</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Template:TOC"/>
				<updated>2010-02-22T19:34:41Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: New page: &amp;lt;div style=&amp;quot;clear:{{{1|left}}}; margin-bottom: .5em; float: right; padding: .5em 0 .8em 1.4em; background: none;&amp;quot;&amp;gt; __TOC__ &amp;lt;/div&amp;gt;&amp;lt;noinclude&amp;gt;TOC&amp;lt;/noinclude&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;clear:{{{1|left}}}; margin-bottom: .5em; float: right; padding: .5em 0 .8em 1.4em; background: none;&amp;quot;&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;noinclude&amp;gt;[[Category:Templates|TOC]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/User:Vanous</id>
		<title>User:Vanous</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/User:Vanous"/>
				<updated>2010-02-21T19:20:50Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: Undo revision 77188 by Kukide (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Most of this is obsolete and incorporated in [[SHR_User_Manual]]&lt;br /&gt;
&lt;br /&gt;
==Czech national settings for Neo Freerunner==&lt;br /&gt;
&lt;br /&gt;
all settings apply for current (January 2009) SHR (SHR is FSO based)&lt;br /&gt;
&lt;br /&gt;
comments? [[User_talk:Vanous|here]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Why is localizing good for you?&lt;br /&gt;
&lt;br /&gt;
* displays time and date in your national settings&lt;br /&gt;
* displays local time instead of universal time&lt;br /&gt;
* applications will show translated interface (if available)&lt;br /&gt;
* some applications require correct lang settings for correct localized function (speech will speak in your language, navit will search throuch database of your country)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Time zone===&lt;br /&gt;
&lt;br /&gt;
 opkg install tzdata-europe&lt;br /&gt;
 ln -sf /usr/share/zoneinfo/Europe/Prague /etc/timezone&lt;br /&gt;
 ln -sf /usr/share/zoneinfo/Europe/Prague /etc/localtime&lt;br /&gt;
 hwclock --systohc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Locales===&lt;br /&gt;
&lt;br /&gt;
opkg install glibc-binary-localedata-cs-cz glibc-locale-cs libframeworkd-phonegui-efl-locale-cs shr-settings-locale-cs navit-locale-cs tangogps-locale-cs &lt;br /&gt;
&lt;br /&gt;
This gives locales for:&lt;br /&gt;
&lt;br /&gt;
Illume&lt;br /&gt;
&lt;br /&gt;
Shr Settings&lt;br /&gt;
&lt;br /&gt;
PIM apps (Dialer, Messages, Contacts)&lt;br /&gt;
&lt;br /&gt;
Navit&lt;br /&gt;
&lt;br /&gt;
TangoGPS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For console set this in /etc/profile :&lt;br /&gt;
&lt;br /&gt;
 export LANG=cs_CZ&lt;br /&gt;
 export LC_ALL=cs_CZ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For X in Illume go to Wrench (Settings) -&amp;gt; Language -&amp;gt;Language Settings -&amp;gt; Choose: Čeština&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Gprs===&lt;br /&gt;
&lt;br /&gt;
====O2 flat rate====&lt;br /&gt;
&lt;br /&gt;
Scripts for framework (FSO, SHR, Debian). (Not for ASU, OM2008)&lt;br /&gt;
=====Start script=====&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 APN=&amp;quot;internet&amp;quot;&lt;br /&gt;
 USERNAME=&amp;quot;x&amp;quot;&lt;br /&gt;
 PASSWORD=&amp;quot;x&amp;quot;&lt;br /&gt;
 BUSNAME=&amp;quot;org.freesmartphone.ogsmd&amp;quot;&lt;br /&gt;
 OBJECTPATH=&amp;quot;/org/freesmartphone/GSM/Device&amp;quot;&lt;br /&gt;
 METHODNAME=&amp;quot;org.freesmartphone.GSM.PDP.ActivateContext&amp;quot;&lt;br /&gt;
 mdbus -s $BUSNAME $OBJECTPATH $METHODNAME $APN &amp;quot;$USERNAME&amp;quot; &amp;quot;$PASSWORD&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Stop script=====&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 BUSNAME=&amp;quot;org.freesmartphone.ogsmd&amp;quot;&lt;br /&gt;
 OBJECTPATH=&amp;quot;/org/freesmartphone/GSM/Device&amp;quot;&lt;br /&gt;
 METHODNAME=&amp;quot;org.freesmartphone.GSM.PDP.DeactivateContext&amp;quot;&lt;br /&gt;
 mdbus -s $BUSNAME $OBJECTPATH $METHODNAME&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Translations===&lt;br /&gt;
&lt;br /&gt;
Here are some translated .mo files that i gathered, place them into /usr/share/locale/cs/LC_MESSAGES/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://vanous.penguin.cz/files/om/enlightenment.mo Enlightenment/Illume&lt;br /&gt;
&lt;br /&gt;
http://vanous.penguin.cz/files/om/tangogps.mo TangoGPS&lt;br /&gt;
&lt;br /&gt;
Navit translation is already in SHR&lt;br /&gt;
&lt;br /&gt;
SHR and SHR Settings are also translated and committed to shr git&lt;br /&gt;
&lt;br /&gt;
Please report any bugs.&lt;br /&gt;
&lt;br /&gt;
===SMS delivery confirmation codes===&lt;br /&gt;
Place on the beggining of each SMS&lt;br /&gt;
&lt;br /&gt;
:Vodafone: '''*n#''' (needs confirming)&lt;br /&gt;
:O2: '''YYYY'''&lt;br /&gt;
:T-mobile: '''*stav#''' (needs confirming)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Navit maps===&lt;br /&gt;
http://vanous.penguin.cz/files/om/czech_republic_navit.bin Openstreetmap of CZ, generated  December 2008, 57MB. Place into  ~/.navit&lt;br /&gt;
&lt;br /&gt;
[http://vanous.penguin.cz/files/om/navit.xml My Navit conf] with the above map configured. Place into ~/.navit&lt;br /&gt;
&lt;br /&gt;
===Dictionary for Illume keyboard===&lt;br /&gt;
temporary solution:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;&amp;quot; &amp;gt; /usr/lib/enlightenment/modules/illume/dicts/None.dic &lt;br /&gt;
&lt;br /&gt;
switch to it after every reboot :) and the None.dic will autolearn and save it in /.e/e/dicts-dynamic/personal.dic&lt;br /&gt;
&lt;br /&gt;
==Other stuff==&lt;br /&gt;
&lt;br /&gt;
[http://vanous.penguin.cz/gps/ My TangoGPS tracks]&lt;br /&gt;
&lt;br /&gt;
[http://vanous.penguin.cz/files/om/FDSubmenu.py FDSubmenu] (icon enhancement)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Navit==&lt;br /&gt;
&lt;br /&gt;
[http://vanous.penguin.cz/files/om/navi.sh Navit start/stop script] (start/stop gpsd daemon, disable/enable screen dimming)&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
&lt;br /&gt;
 mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.SetResourcePolicy CPU enabled&lt;br /&gt;
 mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.SetResourcePolicy Display enabled       &lt;br /&gt;
&lt;br /&gt;
 navit&lt;br /&gt;
&lt;br /&gt;
 mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.SetResourcePolicy CPU auto&lt;br /&gt;
 mdbus -s org.freesmartphone.ousaged /org/freesmartphone/Usage org.freesmartphone.Usage.SetResourcePolicy Display auto       &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://vanous.penguin.cz/files/om/navit.xml My Navit conf]&lt;br /&gt;
&lt;br /&gt;
==SHR Customization==&lt;br /&gt;
&lt;br /&gt;
http://shr.bearstech.com/trac/wiki/Tweaks&lt;br /&gt;
&lt;br /&gt;
 echo src navit http://download.navit-project.org/navit/openmoko/svn &amp;gt;/etc/opkg/navit-feed.conf&lt;br /&gt;
 opkg update&lt;br /&gt;
 opkg install navit libgps17 mc&lt;br /&gt;
&lt;br /&gt;
copy cz map&lt;br /&gt;
&lt;br /&gt;
copy Data&lt;br /&gt;
&lt;br /&gt;
 echo ppp-generic &amp;gt; /etc/modutils/ppp-generic&lt;br /&gt;
 update-modules&lt;br /&gt;
 echo &amp;quot;&amp;quot; &amp;gt; /usr/lib/enlightenment/modules/illume/dicts/None.dic&lt;br /&gt;
 opkg upgrade&lt;br /&gt;
&lt;br /&gt;
set time from desktop:&lt;br /&gt;
&lt;br /&gt;
 ssh root@openmoko &amp;quot;date -u -s `date -u +%m%d%H%M%Y.%S`&amp;quot;&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/ElementaryApplications</id>
		<title>ElementaryApplications</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/ElementaryApplications"/>
				<updated>2010-02-19T12:56:55Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: - neon (see here&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains a '''list of [[Elementary]] applications'''&lt;br /&gt;
&lt;br /&gt;
== List of currently known elementary based applications ==&lt;br /&gt;
&lt;br /&gt;
* [[E-tasks]] - An elementary task manager &lt;br /&gt;
* [[Enotes]] - implementation of a TODOlist manager written with elementary to appear better with distribution that use illume, like SHR. &lt;br /&gt;
* [[Fido]] - todo list/note manager written with elementary &lt;br /&gt;
* [[Intone]] - Elementary based mplayer frontend (for audio files). &lt;br /&gt;
* [[Podboy]] - Podcast player (Python/Elementary/Gstreamer/SQLite) &lt;br /&gt;
* [[NeoLight]] - turns your mobile device into a flashlight. &lt;br /&gt;
* [[Paroli]] - phone application for the Openmoko phones&lt;br /&gt;
* [[Elmdentica]] - simple Identi.ca client made with Elementary.&lt;br /&gt;
* [[Launcher]] - provides an elegant way of grouping and launching applications.&lt;br /&gt;
* [[Ventura]] - very fast, finger friendly webkit-efl / elementary based browser. &lt;br /&gt;
* [[rtmom]] - Python client for RememberTheMilk. It is based on Elementary.&lt;br /&gt;
* [[SpojeGUI]] - GUI program which use CLI program/modul spoje.py which is used mainly for Czech and Slovak transport. &lt;br /&gt;
* [[MKPRN]] - Reverse Polish Notation calculator.&lt;br /&gt;
* [[Neomis]] - computer version of the well-known electronic game named Simon&lt;br /&gt;
* [[NumberX]] - mathematical puzzle game that will challenge your mental math abilities! &lt;br /&gt;
* [[ffalarms]] - finger-friendly alarms application&lt;br /&gt;
* [[Intone video]] - mplayer frontend for playing video. uses glamo patched mplayer.&lt;br /&gt;
* [[Mokometeo]] is a small python/elementary application fetching the weather forecast from WeatherUnderground weather pages &lt;br /&gt;
* [[Shellementary]] - version of Zenity done using the efl toolkit called Elementary.&lt;br /&gt;
* [[Mokosuite]] - set of phone applications written to replace phoneui in SHR.&lt;br /&gt;
* [[Mokonnect]] connmand GUI, allows profile based connection making, and will allow advanced routing to be included in profile.&lt;br /&gt;
* [[DBWords]] - small python application generates random words for use in the creative thinking games in Edward de Bono's book &amp;quot;How to have Creative Ideas&amp;quot;. It uses the random words given in the book.&lt;br /&gt;
* [[MangerSain]] - food additives application for mobile devices &lt;br /&gt;
* [[osmupdater]] - OpenStreetMap update for [[tangogps]]. it update your file stored on /home/root/Maps&lt;br /&gt;
* [http://www.opkg.org/package_286.html Launcher for Simon Tatham's Portable Puzzle Collection]&lt;br /&gt;
* [http://git.shr-project.org/git/?p=phoneuid.git;a=summary SHR phone apps] &lt;br /&gt;
* [http://git.shr-project.org/git/?p=shr-settings.git;a=summary SHR settings]&lt;br /&gt;
* SHR Calc&lt;br /&gt;
* [[Emtooth]] - bluetooth/bluez manager written in elementary&lt;br /&gt;
* [[Babiloo]] - Dictionary program&lt;br /&gt;
* [[Jefliks]] - EFL-based tiny and fast Jabber client&lt;br /&gt;
* [[Timeoko]] - countdown app&lt;br /&gt;
&lt;br /&gt;
[[Category:ApplicationsElementary]]&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Talk:ElementaryApplications/SHR</id>
		<title>Talk:ElementaryApplications/SHR</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Talk:ElementaryApplications/SHR"/>
				<updated>2010-02-18T13:03:41Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Neon ==&lt;br /&gt;
&lt;br /&gt;
Why don't we add [[neon]] to our SHR apps? It is an image viewer written in elementary. --&amp;lt;small style=&amp;quot;background:#f00&amp;quot;&amp;gt;'''[[User:Airon90|&amp;lt;span style=&amp;quot;color:#000&amp;quot;&amp;gt;→ A&amp;lt;/span&amp;gt;]][[Special:Contributions/Airon90|&amp;lt;span style=&amp;quot;color:#f00;background:#000&amp;quot;&amp;gt;ir&amp;lt;/span&amp;gt;]][[User talk:Airon90|&amp;lt;span style=&amp;quot;color:#000&amp;quot;&amp;gt;on&amp;lt;/span&amp;gt;]]'''&amp;lt;/small&amp;gt; 12:20, 18 February 2010 (UTC)&lt;br /&gt;
: No, [[Neon]] is written with EFL but it don't use Elementary widget toolkit. It uses only Evas, Ecore and Edje. -- [[User:Valos]] 12:58, 18 February 2010 (UTC)&lt;br /&gt;
:: Why don't you used python-elementary? --&amp;lt;small style=&amp;quot;background:#f00&amp;quot;&amp;gt;'''[[User:Airon90|&amp;lt;span style=&amp;quot;color:#000&amp;quot;&amp;gt;→ A&amp;lt;/span&amp;gt;]][[Special:Contributions/Airon90|&amp;lt;span style=&amp;quot;color:#f00;background:#000&amp;quot;&amp;gt;ir&amp;lt;/span&amp;gt;]][[User talk:Airon90|&amp;lt;span style=&amp;quot;color:#000&amp;quot;&amp;gt;on&amp;lt;/span&amp;gt;]]'''&amp;lt;/small&amp;gt; 13:03, 18 February 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/ElementaryApplications</id>
		<title>ElementaryApplications</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/ElementaryApplications"/>
				<updated>2010-02-18T12:26:48Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains a '''list of [[Elementary]] applications'''&lt;br /&gt;
&lt;br /&gt;
== List of currently known elementary based applications ==&lt;br /&gt;
&lt;br /&gt;
* [[E-tasks]] - An elementary task manager &lt;br /&gt;
* [[Enotes]] - implementation of a TODOlist manager written with elementary to appear better with distribution that use illume, like SHR. &lt;br /&gt;
* [[Fido]] - todo list/note manager written with elementary &lt;br /&gt;
* [[Intone]] - Elementary based mplayer frontend (for audio files). &lt;br /&gt;
* [[Podboy]] - Podcast player (Python/Elementary/Gstreamer/SQLite) &lt;br /&gt;
* [[NeoLight]] - turns your mobile device into a flashlight. &lt;br /&gt;
* [[Paroli]] - phone application for the Openmoko phones&lt;br /&gt;
* [[Elmdentica]] - simple Identi.ca client made with Elementary.&lt;br /&gt;
* [[Launcher]] - provides an elegant way of grouping and launching applications.&lt;br /&gt;
* [[Ventura]] - very fast, finger friendly webkit-efl / elementary based browser. &lt;br /&gt;
* [[rtmom]] - Python client for RememberTheMilk. It is based on Elementary.&lt;br /&gt;
* [[SpojeGUI]] - GUI program which use CLI program/modul spoje.py which is used mainly for Czech and Slovak transport. &lt;br /&gt;
* [[MKPRN]] - Reverse Polish Notation calculator.&lt;br /&gt;
* [[Neomis]] - computer version of the well-known electronic game named Simon&lt;br /&gt;
* [[NumberX]] - mathematical puzzle game that will challenge your mental math abilities! &lt;br /&gt;
* [[ffalarms]] - finger-friendly alarms application&lt;br /&gt;
* [[Intone video]] - mplayer frontend for playing video. uses glamo patched mplayer.&lt;br /&gt;
* [[Mokometeo]] is a small python/elementary application fetching the weather forecast from WeatherUnderground weather pages &lt;br /&gt;
* [[Shellementary]] - version of Zenity done using the efl toolkit called Elementary.&lt;br /&gt;
* [[Mokosuite]] - set of phone applications written to replace phoneui in SHR.&lt;br /&gt;
* [[Mokonnect]] connmand GUI, allows profile based connection making, and will allow advanced routing to be included in profile.&lt;br /&gt;
* [[DBWords]] - small python application generates random words for use in the creative thinking games in Edward de Bono's book &amp;quot;How to have Creative Ideas&amp;quot;. It uses the random words given in the book.&lt;br /&gt;
* [[MangerSain]] - food additives application for mobile devices &lt;br /&gt;
* [[osmupdater]] - OpenStreetMap update for [[tangogps]]. it update your file stored on /home/root/Maps&lt;br /&gt;
* [http://www.opkg.org/package_286.html Launcher for Simon Tatham's Portable Puzzle Collection]&lt;br /&gt;
* [http://git.shr-project.org/git/?p=phoneuid.git;a=summary SHR phone apps] &lt;br /&gt;
* [http://git.shr-project.org/git/?p=shr-settings.git;a=summary SHR settings]&lt;br /&gt;
* SHR Calc&lt;br /&gt;
* [[Emtooth]] - bluetooth/bluez manager written in elementary&lt;br /&gt;
* [[Babiloo]] - Dictionary program&lt;br /&gt;
* [[Jefliks]] - EFL-based tiny and fast Jabber client&lt;br /&gt;
* [[neon]] - image viewer&lt;br /&gt;
* [[Timeoko]] - countdown app&lt;br /&gt;
&lt;br /&gt;
[[Category:ApplicationsElementary]]&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Talk:ElementaryApplications</id>
		<title>Talk:ElementaryApplications</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Talk:ElementaryApplications"/>
				<updated>2010-02-18T12:21:47Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page was initially started to propose [[ElementaryApplications/SHR|Elementary-isation of SHR]]&lt;br /&gt;
&lt;br /&gt;
I started categorizing these applications, after that is done this page will be obsolete.&lt;br /&gt;
&lt;br /&gt;
--[[User:Vanous|Vanous]] 14:08, 15 February 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Talk:ElementaryApplicationsSHR</id>
		<title>Talk:ElementaryApplicationsSHR</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Talk:ElementaryApplicationsSHR"/>
				<updated>2010-02-18T12:21:07Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: Talk:ElementaryApplicationsSHR moved to Talk:ElementaryApplications/SHR&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Talk:ElementaryApplications/SHR]]&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Talk:ElementaryApplications/SHR</id>
		<title>Talk:ElementaryApplications/SHR</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Talk:ElementaryApplications/SHR"/>
				<updated>2010-02-18T12:21:07Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: Talk:ElementaryApplicationsSHR moved to Talk:ElementaryApplications/SHR&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Neon ==&lt;br /&gt;
&lt;br /&gt;
Why don't we add [[neon]] to our SHR apps? It is an image viewer written in elementary. --&amp;lt;small style=&amp;quot;background:#f00&amp;quot;&amp;gt;'''[[User:Airon90|&amp;lt;span style=&amp;quot;color:#000&amp;quot;&amp;gt;→ A&amp;lt;/span&amp;gt;]][[Special:Contributions/Airon90|&amp;lt;span style=&amp;quot;color:#f00;background:#000&amp;quot;&amp;gt;ir&amp;lt;/span&amp;gt;]][[User talk:Airon90|&amp;lt;span style=&amp;quot;color:#000&amp;quot;&amp;gt;on&amp;lt;/span&amp;gt;]]'''&amp;lt;/small&amp;gt; 12:20, 18 February 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Talk:ElementaryApplications/SHR</id>
		<title>Talk:ElementaryApplications/SHR</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Talk:ElementaryApplications/SHR"/>
				<updated>2010-02-18T12:20:54Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: Neon&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Neon ==&lt;br /&gt;
&lt;br /&gt;
Why don't we add [[neon]] to our SHR apps? It is an image viewer written in elementary. --&amp;lt;small style=&amp;quot;background:#f00&amp;quot;&amp;gt;'''[[User:Airon90|&amp;lt;span style=&amp;quot;color:#000&amp;quot;&amp;gt;→ A&amp;lt;/span&amp;gt;]][[Special:Contributions/Airon90|&amp;lt;span style=&amp;quot;color:#f00;background:#000&amp;quot;&amp;gt;ir&amp;lt;/span&amp;gt;]][[User talk:Airon90|&amp;lt;span style=&amp;quot;color:#000&amp;quot;&amp;gt;on&amp;lt;/span&amp;gt;]]'''&amp;lt;/small&amp;gt; 12:20, 18 February 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/ElementaryApplications/SHR</id>
		<title>ElementaryApplications/SHR</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/ElementaryApplications/SHR"/>
				<updated>2010-02-17T20:47:19Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is created for discussion on [[SHR]] default image content. A list of known Elementary applications is [[ElementaryApplications|there]]. All proposes must be inserted in the [[Talk:ElementaryApplicationsSHR|talk page]]. [{{fullurl:Talk:ElementaryApplicationsSHR|action=edit&amp;amp;section=new}} Create a new topic]!&lt;br /&gt;
&lt;br /&gt;
== Ideally E based image content ==&lt;br /&gt;
&lt;br /&gt;
=== Window Manager ===&lt;br /&gt;
* [[Illume]] → [[Illume2]]&lt;br /&gt;
&lt;br /&gt;
=== Engine ===&lt;br /&gt;
* frameworkd → frameworkd&lt;br /&gt;
&lt;br /&gt;
=== Telephony ===&lt;br /&gt;
* Dialer (Call/Receive, DTMF, Speaker mode) &lt;br /&gt;
* Contacts (Call/Modify/Create/...) → Contacts&lt;br /&gt;
* Messages (Receive/Compose/Answer/...) → Messages&lt;br /&gt;
* [[Pyphonelog]] (received/emitted/missed calls logging) → New E based phonelog&lt;br /&gt;
&lt;br /&gt;
=== GPS ===&lt;br /&gt;
* [[TangoGPS]] → No replacement ATM&lt;br /&gt;
&lt;br /&gt;
=== Utilities ===&lt;br /&gt;
* Calculator → Calc&lt;br /&gt;
* Alarm → [[ffalarm]]&lt;br /&gt;
* Notes (opimd based) → Notes&lt;br /&gt;
* [[GPE Scap]] (Take screenshot) → No replacement ATM&lt;br /&gt;
* [[GPE Sketchbook]] → No replacement ATM&lt;br /&gt;
* [[vala-terminal]] → Vala terminal&lt;br /&gt;
* // → [[Mokometeo]]&lt;br /&gt;
&lt;br /&gt;
=== Media ===&lt;br /&gt;
* [[Vagalume]] → [[Podboy]]&lt;br /&gt;
* [[Intone]] (audio player) → Intone&lt;br /&gt;
&lt;br /&gt;
=== Internet ===&lt;br /&gt;
* [[Pidgin]] (Instant Messenger) → [[Jefliks]]&lt;br /&gt;
* [[Midori]] → [[Ventura]]&lt;br /&gt;
* // → [[Pymail]]&lt;br /&gt;
&lt;br /&gt;
=== Games ===&lt;br /&gt;
* [[Numptyphysics]] →  [[Neomis]]&lt;br /&gt;
* [[Mokomaze]] → [[Mokomaze]]&lt;br /&gt;
* // → [[NumberX]]&lt;br /&gt;
&lt;br /&gt;
=== Settings ===&lt;br /&gt;
* SHR Settings → SHR Settings&lt;br /&gt;
* [[Mokonnect]] (Network Manager) → [[Mokonnect]]&lt;br /&gt;
* // → [[Emtooth]]&lt;br /&gt;
&lt;br /&gt;
=== Themes ===&lt;br /&gt;
* [[GRY]] → GRY&lt;br /&gt;
* // → [[Niebiee]]&lt;br /&gt;
&lt;br /&gt;
[[Category:SHR]]&lt;br /&gt;
[[Category:ApplicationsElementary|SHR]]&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/ElementaryApplicationsSHR</id>
		<title>ElementaryApplicationsSHR</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/ElementaryApplicationsSHR"/>
				<updated>2010-02-17T20:40:31Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: ElementaryApplicationsSHR moved to ElementaryApplications/SHR: Subpage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[ElementaryApplications/SHR]]&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/ElementaryApplications/SHR</id>
		<title>ElementaryApplications/SHR</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/ElementaryApplications/SHR"/>
				<updated>2010-02-17T20:40:31Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: ElementaryApplicationsSHR moved to ElementaryApplications/SHR: Subpage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is created for discussion on SHR default image content. List of known [[ElementaryApplications]]. All proposes in the [[Talk:ElementaryApplicationsSHR|talk page]]. [{{fullurl:Talk:ElementaryApplicationsSHR|action=edit&amp;amp;section=new}} Create a new topic]!&lt;br /&gt;
&lt;br /&gt;
== Ideally E based image content ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! Task !! Actually !! Proposed image content&lt;br /&gt;
|-&lt;br /&gt;
| Window Manager || [[Illume]] || [[Illume2]]&lt;br /&gt;
|-&lt;br /&gt;
| Engine || frameworkd || frameworkd&lt;br /&gt;
|-&lt;br /&gt;
| Telephony  || Dialer (Call/Receive, DTMF, Speaker mode) &amp;lt;br /&amp;gt; Contacts (Call/Modify/Create/...)  &amp;lt;br /&amp;gt; Messages (Receive/Compose/Answer/...)  &amp;lt;br /&amp;gt; [[Pyphonelog]] (received/emitted/missed calls logging) || Dialer (Call/Receive, DTMF, Speaker mode) &amp;lt;br /&amp;gt; Contacts (Call/Modify/Create/...) &amp;lt;br /&amp;gt; Messages (Receive/Compose/Answer/...) &amp;lt;br /&amp;gt; New E based phonelog (received/emitted/missed calls logging)&lt;br /&gt;
|-&lt;br /&gt;
| GPS || [[TangoGPS]] || no replacement ATM&lt;br /&gt;
|-&lt;br /&gt;
| Utilities || Calculator &amp;lt;br /&amp;gt; Alarm &amp;lt;br /&amp;gt; Notes (opimd based) &amp;lt;br /&amp;gt; [[GPE Scap]] (Take screenshot) &amp;lt;br /&amp;gt; [[GPE Sketchbook]] &amp;lt;br /&amp;gt; [[vala-terminal]] || Calculator &amp;lt;br /&amp;gt; Alarm &amp;lt;br /&amp;gt; Notes (opimd based) &amp;lt;br /&amp;gt; [[GPE Scap]] No replacement ATM (Take screenshot) &amp;lt;br /&amp;gt; [[GPE Sketchbook]] No replacement ATM (Sketchbook) &amp;lt;br /&amp;gt; [[vala-terminal]] &amp;lt;br&amp;gt;[[Mokometeo]]&lt;br /&gt;
|-&lt;br /&gt;
| Media || [[Vagalume]] &amp;lt;br /&amp;gt; [[Intone]] (audio player) || [[Podboy]] &amp;lt;br /&amp;gt; [[Intone]] (audio player)&lt;br /&gt;
|-&lt;br /&gt;
| Internet || [[Pidgin]] (Instant Messenger) &amp;lt;br /&amp;gt; [[Midori]] || [http://sourceforge.net/projects/jefliks/ Jefliks] (Jabber Instant Messenger) &amp;lt;br /&amp;gt; [[Ventura]] [http://www.doodle.com/vdzbr9sryr8rgkmf Opened poll] &amp;lt;br&amp;gt; [http://openmoko-fr.org/wiki/index.php/Pymail Pymail] Python-E mail app, needs plenty of work&lt;br /&gt;
|-&lt;br /&gt;
| Games || [[Numptyphysics]] &amp;lt;br /&amp;gt; [[Mokomaze]] || [[Neomis]] &amp;lt;br /&amp;gt; [[Mokomaze]] &amp;lt;br /&amp;gt; [[NumberX]]&lt;br /&gt;
|-&lt;br /&gt;
| Settings || SHR Settings &amp;lt;br /&amp;gt; [[Mokonnect]] (Network Manager) || SHR Settings &amp;lt;br /&amp;gt; [[Mokonnect]] (Network Manager) &amp;lt;br /&amp;gt; [[Emtooth]]&lt;br /&gt;
|-&lt;br /&gt;
| Themes || [[GRY]] || [[GRY]] &amp;lt;br /&amp;gt; [[Niebiee]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:SHR]]&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/ElementaryApplications/SHR</id>
		<title>ElementaryApplications/SHR</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/ElementaryApplications/SHR"/>
				<updated>2010-02-13T13:41:52Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is created for discussion on SHR default image content. All proposes in the [[Talk:ElementaryApplicationsSHR|talk page]]. [{{fullurl:Talk:ElementaryApplicationsSHR|action=edit&amp;amp;section=new}} Create a new topic]!&lt;br /&gt;
&lt;br /&gt;
== Ideally E based image content ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! Task !! Actually !! Proposed image content&lt;br /&gt;
|-&lt;br /&gt;
| Window Manager || [[Illume]] || Illume2&lt;br /&gt;
|-&lt;br /&gt;
| Engine || frameworkd || frameworkd&lt;br /&gt;
|-&lt;br /&gt;
| Telephony  || Dialer (Call/Receive, DTMF, Speaker mode) &amp;lt;br /&amp;gt; Contacts (Call/Modify/Create/...)  &amp;lt;br /&amp;gt; Messages (Receive/Compose/Answer/...)  &amp;lt;br /&amp;gt; [[Pyphonelog]] (received/emitted/missed calls logging) || Dialer (Call/Receive, DTMF, Speaker mode) &amp;lt;br /&amp;gt; Contacts (Call/Modify/Create/...) &amp;lt;br /&amp;gt; Messages (Receive/Compose/Answer/...) &amp;lt;br /&amp;gt; New E based phonelog (received/emitted/missed calls logging)&lt;br /&gt;
|-&lt;br /&gt;
| GPS || [[TangoGPS]] || no replacement ATM&lt;br /&gt;
|-&lt;br /&gt;
| Utilities || Calculator &amp;lt;br /&amp;gt; Alarm &amp;lt;br /&amp;gt; Notes (opimd based) &amp;lt;br /&amp;gt; [[GPE Scap]] (Take screenshot) &amp;lt;br /&amp;gt; [[GPE Sketchbook]] &amp;lt;br /&amp;gt; [[vala-terminal]] || Calculator &amp;lt;br /&amp;gt; Alarm &amp;lt;br /&amp;gt; Notes (opimd based) &amp;lt;br /&amp;gt; No replacement ATM (Take screenshot) &amp;lt;br /&amp;gt; No replacement ATM (Sketchbook) &amp;lt;br /&amp;gt; Do keep vala-terminal?&lt;br /&gt;
|-&lt;br /&gt;
| Media || [[Vagalume]] &amp;lt;br /&amp;gt; [[Intone]] (audio player) || [[PodBoy]] &amp;lt;br /&amp;gt; [[Intone]] (audio player)&lt;br /&gt;
|-&lt;br /&gt;
| Internet || [[Pidgin]] (Instant Messenger) &amp;lt;br /&amp;gt; [[Midori]] || No replacement ATM (Instant Messenger) &amp;lt;br /&amp;gt; [http://www.doodle.com/vdzbr9sryr8rgkmf Opened poll]&lt;br /&gt;
|-&lt;br /&gt;
| Games || [[Numptyphysics]] &amp;lt;br /&amp;gt; [[Mokomaze]] || [[Neomis]] &amp;lt;br /&amp;gt; [[Mokomaze]] &amp;lt;br /&amp;gt; [[NumberX]]&lt;br /&gt;
|-&lt;br /&gt;
| Settings || SHR Settings &amp;lt;br /&amp;gt; [[Mokonnect]] (Network Manager) || SHR Settings &amp;lt;br /&amp;gt; [[Mokonnect]] (Network Manager) &amp;lt;br /&amp;gt; [[Emtooth]]&lt;br /&gt;
|-&lt;br /&gt;
| Themes || [[GRY]] || [[GRY]] &amp;lt;br /&amp;gt; [[Niebiee]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/ElementaryApplications/SHR</id>
		<title>ElementaryApplications/SHR</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/ElementaryApplications/SHR"/>
				<updated>2010-02-13T13:39:43Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: /* Ideally E based image content */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is created for discussion on SHR default image content. All proposes in the [[Talk:ElementaryApplicationsSHR|talk page]]. [{{fullurl:Talk:ElementaryApplicationsSHR|action=edit&amp;amp;section=new}} Create a new topic]!&lt;br /&gt;
&lt;br /&gt;
== Ideally E based image content ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
! Task !! Actually !! Proposed image content&lt;br /&gt;
|-&lt;br /&gt;
| Window Manager || Illume || Illume2&lt;br /&gt;
|-&lt;br /&gt;
| Engine || frameworkd || frameworkd&lt;br /&gt;
|-&lt;br /&gt;
| Telephony  || Dialer (Call/Receive, DTMF, Speaker mode) &amp;lt;br /&amp;gt; Contacts (Call/Modify/Create/...)  &amp;lt;br /&amp;gt; Messages (Receive/Compose/Answer/...)  &amp;lt;br /&amp;gt; Pyphonelog (received/emitted/missed calls logging) || Dialer (Call/Receive, DTMF, Speaker mode) &amp;lt;br /&amp;gt; Contacts (Call/Modify/Create/...) &amp;lt;br /&amp;gt; Messages (Receive/Compose/Answer/...) &amp;lt;br /&amp;gt; New E based phonelog (received/emitted/missed calls logging)&lt;br /&gt;
|-&lt;br /&gt;
| GPS || TangoGPS || no replacement ATM&lt;br /&gt;
|-&lt;br /&gt;
| Utilities || Calculator &amp;lt;br /&amp;gt; Alarm &amp;lt;br /&amp;gt; Notes (opimd based) &amp;lt;br /&amp;gt; GPE Scap (Take screenshot) &amp;lt;br /&amp;gt; GPE Sketchbook &amp;lt;br /&amp;gt; vala-terminal || Calculator &amp;lt;br /&amp;gt; Alarm &amp;lt;br /&amp;gt; Notes (opimd based) &amp;lt;br /&amp;gt; No replacement ATM (Take screenshot) &amp;lt;br /&amp;gt; No replacement ATM (Sketchbook) &amp;lt;br /&amp;gt; Do keep vala-terminal?&lt;br /&gt;
|-&lt;br /&gt;
| Media || &amp;lt;br /&amp;gt; Vagalume &amp;lt;br /&amp;gt; Intone (audio player) || PodBoy &amp;lt;br /&amp;gt; Intone (audio player)&lt;br /&gt;
|-&lt;br /&gt;
| Internet || Pidgin (Instant Messenger) &amp;lt;br /&amp;gt; Midori || No replacement ATM (Instant Messenger) &amp;lt;br /&amp;gt; [http://www.doodle.com/vdzbr9sryr8rgkmf Opened poll]&lt;br /&gt;
|-&lt;br /&gt;
| Games || Numptyphysics &amp;lt;br /&amp;gt; Mokomaze || Neomis &amp;lt;br /&amp;gt; Mokomaze &amp;lt;br /&amp;gt; NumberX&lt;br /&gt;
|-&lt;br /&gt;
| Settings || SHR Settings &amp;lt;br /&amp;gt; Mokonnect (Network Manager) || SHR Settings &amp;lt;br /&amp;gt; Mokonnect (Network Manager) &amp;lt;br /&amp;gt; Emtooth&lt;br /&gt;
|-&lt;br /&gt;
| Themes || GRY || GRY &amp;lt;br /&amp;gt; Niebiee&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/ElementaryApplications/SHR</id>
		<title>ElementaryApplications/SHR</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/ElementaryApplications/SHR"/>
				<updated>2010-02-13T13:34:16Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is created for discussion on SHR default image content. All proposes in the [[Talk:ElementaryApplicationsSHR|talk page]]. [{{fullurl:Talk:ElementaryApplicationsSHR|action=edit&amp;amp;section=new}} Create a new topic]!&lt;br /&gt;
&lt;br /&gt;
== Ideally E based image content ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; width=100%&lt;br /&gt;
|-&lt;br /&gt;
| Task || Actually || Proposed image content&lt;br /&gt;
|-&lt;br /&gt;
| Window Manager || Illume || Illume2&lt;br /&gt;
|-&lt;br /&gt;
| Engine || frameworkd || frameworkd&lt;br /&gt;
|-&lt;br /&gt;
| Telephony  || &lt;br /&gt;
* Dialer (Call/Receive, DTMF, Speaker mode)&lt;br /&gt;
* Contacts (Call/Modify/Create/...)&lt;br /&gt;
* Messages (Receive/Compose/Answer/...)&lt;br /&gt;
* Pyphonelog (received/emitted/missed calls logging) ||&lt;br /&gt;
* Dialer (Call/Receive, DTMF, Speaker mode)&lt;br /&gt;
* Contacts (Call/Modify/Create/...)&lt;br /&gt;
* Messages (Receive/Compose/Answer/...)&lt;br /&gt;
* New E based phonelog (received/emitted/missed calls logging)&lt;br /&gt;
|-&lt;br /&gt;
| GPS || TangoGPS || no replacement ATM&lt;br /&gt;
|-&lt;br /&gt;
| Utilities ||&lt;br /&gt;
* Calculator&lt;br /&gt;
* Alarm&lt;br /&gt;
* Notes (opimd based)&lt;br /&gt;
* GPE Scap (Take screenshot) '''no replacement ATM'''&lt;br /&gt;
* GPE Sketchbook '''no replacement ATM'''&lt;br /&gt;
* vala-terminal '''keep?''' ||&lt;br /&gt;
* Calculator&lt;br /&gt;
* Alarm&lt;br /&gt;
* Notes (opimd based)&lt;br /&gt;
* No replacement ATM (Take screenshot)&lt;br /&gt;
* No replacement ATM (Sketchbook)&lt;br /&gt;
* Do keep vala-terminal?&lt;br /&gt;
|-&lt;br /&gt;
| Media ||&lt;br /&gt;
* Vagalume&lt;br /&gt;
* Intone (audio player) ||&lt;br /&gt;
* PodBoy&lt;br /&gt;
* Intone (audio player)&lt;br /&gt;
|-&lt;br /&gt;
| Internet ||&lt;br /&gt;
* Pidgin (Instant Messenger)&lt;br /&gt;
* Midori ||&lt;br /&gt;
* No replacement ATM (Instant Messenger)&lt;br /&gt;
* [http://www.doodle.com/vdzbr9sryr8rgkmf Opened poll]&lt;br /&gt;
|-&lt;br /&gt;
| Games ||&lt;br /&gt;
* Numptyphysics&lt;br /&gt;
* Mokomaze ||&lt;br /&gt;
* Neomis&lt;br /&gt;
* Mokomaze&lt;br /&gt;
* NumberX&lt;br /&gt;
|-&lt;br /&gt;
| Settings ||&lt;br /&gt;
* SHR Settings&lt;br /&gt;
* Mokonnect (Network Manager) ||&lt;br /&gt;
* SHR Settings&lt;br /&gt;
* Mokonnect (Network Manager) &lt;br /&gt;
* Emtooth&lt;br /&gt;
|-&lt;br /&gt;
| Themes ||&lt;br /&gt;
* GRY ||&lt;br /&gt;
* GRY &lt;br /&gt;
* Niebiee&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Talk:Display_Locker</id>
		<title>Talk:Display Locker</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Talk:Display_Locker"/>
				<updated>2010-01-17T21:08:07Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: /* Installing on SHR */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Well borg, you beat me to something that actually works!&lt;br /&gt;
&lt;br /&gt;
If you haven't seen it yet, check out my python prototype of a screen lock program:&lt;br /&gt;
&lt;br /&gt;
http://wiki.openmoko.org/wiki/User:Quicksand#zedlock&lt;br /&gt;
&lt;br /&gt;
I put this up a few weeks ago.  It's intended to be less visual, more tactile/kinetic (i.e., easy to use without looking).  I want the locked screen to have information on it eventually, but I haven't gotten around to recoding it in C (with dbus, etc.) in part because neod seemed like kind of a dead-end.&lt;br /&gt;
&lt;br /&gt;
Perhaps some collaboration is in order?  I'd LOVE to see a combination graphical unlocker with dbus interfaces to useful info (voicemails, SMSes, GPRS state, etc.) that is both tactile/kinetic and attractive.&lt;br /&gt;
&lt;br /&gt;
--Quicksand&lt;br /&gt;
&lt;br /&gt;
Hi Quicksand :)&lt;br /&gt;
&lt;br /&gt;
I actually had'nt seen your approach before i started my project, but someone in irc pointed to it some days ago. From a functional point of view, more then a simple slide from the bottom to the top isn't needed. I tested my program in my pocket and it seems to lock the phone pretty well. To the graphics: If you grab your phone and you want to simply fast unlock it, it is already unlocked before the graphics even pop up. I personally do not see an advantage in doing some sort of more complicated motion to unlock the screen. Perhaps it could be user defined and used as a password, that would be nice, i guess. However, i just wanted to have a way to lock my phone without going in suspend, so i made this as a fast hack. As you said, neod is a dead thing. I wanted to make a replacement for it [[Phoned]], but Mickeyl pointed out that they allready startet a similar project, so i will join them. However, there will soon be a deamon which will provide a dbus interface for screensavers. I think you should work in this direction, then it will be easy to make some sort of screensaver choose tool for the user and lots of coexisting screensavers.&lt;br /&gt;
&lt;br /&gt;
I think, if you make your program sufficient configureable it can actually be exactly used as mine, so my display locker would not be needed than and we could throw it away. If this isn't possible i will maintain it as a simple and fast unlock program. I will definitly work on more low level programs in the future, so i cant help you with your tool. Of course you can use my code or the images (they are not from me anyway) or ask me things or whatever. ;-)&lt;br /&gt;
&lt;br /&gt;
cheers,&lt;br /&gt;
Olaf&lt;br /&gt;
&lt;br /&gt;
Hi,&lt;br /&gt;
&lt;br /&gt;
I'm sorry if this is a silly idea, or maybe it is already the way it is done. I don't have a Neo to test it on, and I don't have fast enough hardware to run OM in Qemu with an acceptable speed. Anyway, you are talking about using dbus to display missed calls, SMSes etc. I was just wondering, wouldn't it be possible to have the locker transparent most of the time? When the screen is tapped, aux button is pressed etc, it will display the unlocker for a configureable amount of time (half a second? a second?), and then go back into transparent mode. So if I wanted to check the time, SMSes, etc, I'd just tap the screen or press the aux button to make the screen light up, wait a second and then I can look right at the home screen. I think most phones do something similar, at least the ones I've had. [[User:Haakeyar|Haakeyar]] 22:07, 13 December 2007 (CET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thinking about this, it occurs to me that a straight bottom-to-top motion will result in a false positive when you drag the phone out of your pocket if it's in there upside down.  The iPhone's side-to-side version is much harder to accidentally trigger.&lt;br /&gt;
--Dirk&lt;br /&gt;
&lt;br /&gt;
== Installing on SHR ==&lt;br /&gt;
&lt;br /&gt;
Hi, is it possible to install this display locker elsewhere, like on SHR? --&amp;lt;small style=&amp;quot;background:#f00&amp;quot;&amp;gt;'''[[User:Airon90|&amp;lt;span style=&amp;quot;color:#000&amp;quot;&amp;gt;→ A&amp;lt;/span&amp;gt;]][[Special:Contributions/Airon90|&amp;lt;span style=&amp;quot;color:#f00;background:#000&amp;quot;&amp;gt;ir&amp;lt;/span&amp;gt;]][[User talk:Airon90|&amp;lt;span style=&amp;quot;color:#000&amp;quot;&amp;gt;on&amp;lt;/span&amp;gt;]]'''&amp;lt;/small&amp;gt; 21:08, 17 January 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Applications</id>
		<title>Applications</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Applications"/>
				<updated>2010-01-07T14:40:49Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Applications}}&lt;br /&gt;
This is the wiki's master application list for the Openmoko smartphones. &lt;br /&gt;
&lt;br /&gt;
== How to register new applications ?==&lt;br /&gt;
&lt;br /&gt;
This list can not be exhaustive, as new things are showing up every week. This page is here to help spreading awareness about applications. Here are instructions on how to add a specific application to this list. There are many ways to go&lt;br /&gt;
&lt;br /&gt;
Method 1 (preferred):&lt;br /&gt;
* Register your application at http://opkg.org. You will get a package number there, for example 33.&lt;br /&gt;
* Notify the community mailing list.&lt;br /&gt;
* Come back here, click on &amp;quot;edit&amp;quot; next to the appropriate section title, then add a line like:&lt;br /&gt;
&amp;lt;pre&amp;gt;* {{opkg.org|33|Application name}} A short description&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Method 2: Just link to wherever the application is hosted.&lt;br /&gt;
* Click on &amp;quot;edit&amp;quot; next to the appropriate section title, add a line like:&lt;br /&gt;
&amp;lt;pre&amp;gt;* [http://your.host.domain/the/path/to/app/page.html Application name] A short description&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Method 3: Create a new page in this wiki.&lt;br /&gt;
* Click on &amp;quot;edit&amp;quot; next to the appropriate section title, then add a line like:&lt;br /&gt;
&amp;lt;pre&amp;gt;* [[Application name]] A short description&amp;lt;/pre&amp;gt;&lt;br /&gt;
* The application name will appear in red, click on it to create and edit the new page.&lt;br /&gt;
&lt;br /&gt;
== Audio ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.faltantornillos.net/proyectos/gnu/brightPlayer/brightPlayerGTK0.2.tar.gz Bright Player] - Fast, lightweight and easy random music player.&lt;br /&gt;
* [http://rzr.online.fr/q/esd boxar] - Touchscreen as a finger friendly piano -- [[User:RzR]]&lt;br /&gt;
* [[Dictator]] - Record mic, incoming GSM-sound, or a whole Phonecall&lt;br /&gt;
* {{opkg.org|55|ePiano}} - epiano is going to be a virtual piano&lt;br /&gt;
* [[Fingertier]] - minimal and finger friendly music player&lt;br /&gt;
* [[Fourier]]- Realtime frequency analysis of sound data.&lt;br /&gt;
* [[Guitartune]] - Tune musical Instruments.&lt;br /&gt;
* [[GTick]] - GTick is a metronome application written for GNU/Linux&lt;br /&gt;
* [[Intone]] - Elementary based mplayer frontend (for audio files).&lt;br /&gt;
* {{opkg.org|271|JaMoko}} Jamoko is a Jamendo player for OpenMoko.&lt;br /&gt;
* [[Mokoko]]- Play music.&lt;br /&gt;
* {{opkg.org|151|MokoPod}} - Retrieve and listen to podcasts &lt;br /&gt;
* [[PodPooch]] - Retrieve and listen to podcasts - fork of MokoPod&lt;br /&gt;
* [[Neoqplayer]] - Renamed as GorshPlayer: a multimedia player written in Qt4: play and retreive podcasts feeds, more reactive interface, now able to play videos ( in svn ).&lt;br /&gt;
* [http://fisoft.eu/standa/openmoko/omshuffle_0.1_arm.ipk omShuffle] - Inspired by Bright Player with volume control. Needs mplayer to work.&lt;br /&gt;
* [[Openmoko-mediaplayer2]] - Play music and video (mp3...)&lt;br /&gt;
* [[Openmokast]] - Play audio stream and slideshow stream&lt;br /&gt;
* [[Podboy]] - A Podcast player (Python/Elementary/Gstreamer/SQLite)&lt;br /&gt;
* [[Pythm]] - Audio player GUI using mplayer and mpd as backend.&lt;br /&gt;
* [[PyRok]] - Audio player which uses Gstreamer for playback and Pygame for GUI.&lt;br /&gt;
* [[Satan]] - Create your own music!&lt;br /&gt;
* [[Streamtuner]] - Listen to Internet Radio Stations&lt;br /&gt;
* [[Streamripper]] - Record from Internet Radio Stations&lt;br /&gt;
* [[Voicenote]] - Voicenote is a script which allows to record any sound from the microphone into a wav file. It can play the created files too. It is intended to be an easy and quick way to do so.&lt;br /&gt;
&lt;br /&gt;
== BlueTooth ==&lt;br /&gt;
* [[Coypu]] - Utility for send file via BlueTooth&lt;br /&gt;
&lt;br /&gt;
== Games ==&lt;br /&gt;
&lt;br /&gt;
* [[Acceleroids]] Shoot-the-asteroids game&lt;br /&gt;
* {{opkg.org|169|Black Sheep}} Fight insomnia!&lt;br /&gt;
* [[CellHunter]] - A game you earn points by collecting cells (in english now).&lt;br /&gt;
* [http://unsyncopated.com/BrainSolvent/Doom%20Port DOOM]- Classic FPS. Freerunner/1973&lt;br /&gt;
* [[Duke Nukem 3D]] - Legendary First Person Shooter.&lt;br /&gt;
* [[Freerunner LightSaber]]-Application as iphone LightSaber.&lt;br /&gt;
* [[Games/Om 2007.2]] - Many small games on Om 2007.2&lt;br /&gt;
* [[Gnuboy]] - An emulator for the handheld gaming all-time bestseller.&lt;br /&gt;
* {{opkg.org|149|I'm Rich}} I'm Rich application&lt;br /&gt;
* [[Kobodeluxe]] - A top-view space shooter, available from 2008.8 repositories.&lt;br /&gt;
* [[Liquid War]]-Liquid War is a truly original multiplayer wargame.&lt;br /&gt;
* [[MBAC]]- MBAC is &amp;quot;Moko Bulls and Cows&amp;quot;, a classic game for openmoko written in pygtk similar to mastermind.&lt;br /&gt;
* [[Moko-sudoku]] - Another sudoku puzzle game.&lt;br /&gt;
* [[Neomis]] - A computer version of the well-known electronic game named Simon. &lt;br /&gt;
* [[NumberX]] - A mathematical puzzle game that will challenge your mental math abilities!&lt;br /&gt;
* {{opkg.org|121|Mokomaze}} Ball-in-the-labyrinth game&lt;br /&gt;
* [[Numptyphysics]] - A drawing puzzle game.&lt;br /&gt;
* [[Om 2008.8 Sudoku]] - Number placement based puzzle game&lt;br /&gt;
* {{opkg.org|136|OpenMiaoCat}} OpenMiaoCat, like OpenMooCow, makes your phone became a cat!&lt;br /&gt;
* [[openmokontrol]] Program to control a TCP/IP connected X11 server with the accelerometers, especially games.&lt;br /&gt;
* [[OpenMooCow]] - OpenMooCow reads information out of your accelerometers. Now, if you turn the phone upside down and back again, it &amp;quot;moos&amp;quot; like one of the little toys.&lt;br /&gt;
* [[OpenTTD]] - OpenTransportTycoonDeluxe, ported to openmoko, using only GPLed datafiles.&lt;br /&gt;
* [[OpenVibe]] - The first opensource vibrator.&lt;br /&gt;
* [[Pingus]] - Pingus is a lemmings clone with penguins.&lt;br /&gt;
* [http://scalde.free.fr/index.php?option=com_content&amp;amp;view=article&amp;amp;id=93:pong-pogresses&amp;amp;catid=43:openmoko&amp;amp;Itemid=66 Pong progresses]- This is a little pong game for the openmoko freerunner. The screen is devided in halves, so you can touch the right half to move the paddle right and the left half to move it left.&lt;br /&gt;
* {{opkg.org|60|ScummVM}} ([[Scummvm|Wiki]]) Virtual Machine for several classic graphical point-and-click adventure games&lt;br /&gt;
* [[XBill]] - Little action game to stop Bill from installing Windows(tm) on computers.&lt;br /&gt;
* [[Xlogical]]-A puzzle based game where you turn spinners to move balls around.&lt;br /&gt;
* [[XSkat]] - XSkat lets you play the card game Skat defined by the official Skat Order.&lt;br /&gt;
&lt;br /&gt;
== GPS ==&lt;br /&gt;
* [[a-gps GUI]] - Graphical User Interface for [http://en.wikipedia.org/wiki/Assisted_GPS assisted GPS]. GSM-network cell locations are provided by [[Cellhunter]] and this data can be used to locate you. It uses u-blox a-gps to initialize your GPS chip.&lt;br /&gt;
* {{opkg.org|268|Advanced Geocaching Tool for Linux}} - &amp;quot;Towards paperless geocaching&amp;quot; - [[Advanced Geocaching Tool for Linux|User Manual]]&lt;br /&gt;
* [[bicirutas]] - This application looks for mtb routes in www.bicirutas.net (routes in Spain, Portugal, United Kingdom, France, Italy and Germany). It gets the current position from the gps system and downloads nearby routes. Then you can follow them with tangogps application.&lt;br /&gt;
* {{opkg.org|175|BikeAtor}} - Like TangoGPS BikeAtor can display OSM Maps. The Speedometer displays the most interesting values of the trip.&lt;br /&gt;
* [[GPS Sight]] - Display GPS information, location, tracks, etc, without maps.&lt;br /&gt;
* [[Gpsdcontrol]]-A simple python script for start or stop gpsd daemon with a button on the desktop.&lt;br /&gt;
* [[Gpsdrive]] - Car (bike, etc) navigation system&lt;br /&gt;
* [[Gtkaddpoi]] - Utility for add a POI to TangoGPS using address or coordinates and export to Navit or to .kml file.&lt;br /&gt;
* {{opkg.org|162|gvSIG Mobile}} - This is an unofficial port of gvSIG Mobile (http://www.gvsig.gva.es/) to the Openmoko platform. Supports: GPS, WMS, ArcIMS, tiles (OSM etc) and Shapefiles, all in a variety of projections. Version 0.1.5 includes a great feature to perform synchronization with a remote PostGIS database. [http://gvsigmobileonopenmoko.wordpress.com/ Homepage].&lt;br /&gt;
* [[Idle Hands]] - Give a task to you based on your location&lt;br /&gt;
* [http://www.mumpot.org/ mumpot] - Display map (OSM), routing, OSM editing, a bit of live editing&lt;br /&gt;
* [[Navit]] - Car navigation system with routing engine&lt;br /&gt;
* [[Om 2008.8 Locations]] - (aka Splinter) - Location sharing based on GPS and SMS&lt;br /&gt;
* [http://code.google.com/p/omgps omgps] - High performance, UBX binary or ogpsd as GPS data provider, layered maps, AGPS online, track replay, scratch on map, ruler and lat/lon grid, basic sounding. etc.&lt;br /&gt;
* [[OpenBmap]]-a free and open map of wireless communicating objects (e.g. cellular antenna, Wi-Fi, Bluetooth). It provides tools to mutualize data, create and access this map.&lt;br /&gt;
* [[openBmap-locator]] - Estimate your location based on the GSM signals, uses openBmap data for its geolocation&lt;br /&gt;
* [[Pyroute]] - Pyroute is a routing program written in Python. It features mobile phone GUI for maps, GPS, and routing.&lt;br /&gt;
* [[QMapControl]] - Display maps (OSM..) and add points, lines...&lt;br /&gt;
* [[QNavitCtl]] - send coordinates to Navit via dbus (position, destination, map center)&lt;br /&gt;
* [[Qpegps]] - Display map with current position&lt;br /&gt;
* [[SGTL|Simple Geocaching Tool for Linux]] - A geocaching application which shows you the direction.&lt;br /&gt;
* [[sms-sentry]] - locate a lost or stolen phone&lt;br /&gt;
* [[TangoGPS]] - Display map (OSM..), record GPS tracks...&lt;br /&gt;
* [[Travel Diary]] - a simple application to save little diary entries to a csv file and send this to a server (that can generate a .kml file or show a map or do whatever...)&lt;br /&gt;
&lt;br /&gt;
== Graphics ==&lt;br /&gt;
&lt;br /&gt;
* [[Flash|Gnash]]-Play flash file on Neo&lt;br /&gt;
* [[Gpe-scap]] - Take screenshots&lt;br /&gt;
* [[Neon]] - Image viewer&lt;br /&gt;
* [[OMView]] - Image viewer&lt;br /&gt;
* [[Orrery]] - Displays the night sky&lt;br /&gt;
* [[PyPenNotes]] - Write notes using pen and touchscreen&lt;br /&gt;
&lt;br /&gt;
== Internet ==&lt;br /&gt;
===Web browsers===&lt;br /&gt;
* [http://www.dillo.org/ Dillo] - Multiplatform fast and small web browser ([http://misc.andi.de1.cc/dillo/ .ipk]).&lt;br /&gt;
* fennec&lt;br /&gt;
* [[Midori]] - Webkit based web browser&lt;br /&gt;
* [[Minimo]] - Mozilla based web browser&lt;br /&gt;
* [http://www.netsurf-browser.org/ netsurf]-A new browser for Neo FreeRunner.&lt;br /&gt;
* [[Openmoko-browser2]] - The original Openmoko web browser&lt;br /&gt;
* [http://code.google.com/p/pyqt-browser/ pyqt-browser] - modified the sample code from python-pyqt4 and changed it to use webkit for web browsing. &lt;br /&gt;
* woosh&lt;br /&gt;
&lt;br /&gt;
===VOIP===&lt;br /&gt;
* [[Linphone]] - Voice over IP&lt;br /&gt;
* [[Twinkle]] - Voice over IP&lt;br /&gt;
&lt;br /&gt;
===Email clients===&lt;br /&gt;
* [http://www.claws-mail.org/ claws-mail] email client available in shr-unstable&lt;br /&gt;
* [[Openmoko Mail]] - E-mail client&lt;br /&gt;
* [[Qtmail]] - Default mail program on Om 2008.8&lt;br /&gt;
&lt;br /&gt;
===Offline wikipedia===&lt;br /&gt;
* {{opkg.org|128|Evopedia}} - a powerful Wikipedia reader (download dumps in [http://www.reitwiessner.de/openmoko/evopedia.html its official site])&lt;br /&gt;
* [[Mokopedia]] - Read small Wikipedia dumps offline&lt;br /&gt;
* [[Offline Wikipedia reader]] - store the entire content of wikipedia (single-language, excluding images), on a single 8GB microSD card&lt;br /&gt;
&lt;br /&gt;
===IM===&lt;br /&gt;
* [[CenterIM]] - Instant messaging client (terminal-based).&lt;br /&gt;
* [[Pidgin]] - Instant messaging client (ICQ, MSN, Jabber, Yahoo and more.)&lt;br /&gt;
&lt;br /&gt;
===other===&lt;br /&gt;
* [http://opkg.networld.to/networld-ported/ettercap-ng_0.7.3-r3_armv4t.opk ettercap-ng] MITM (fixed link)&lt;br /&gt;
* {{opkg.org|205|GPRSModem}} - Converts your neo in a GPRS modem.&lt;br /&gt;
* [[Openmokast]] - Play audio stream and slideshow stream&lt;br /&gt;
* [[PyFeedRead]] - RSS feed reader&lt;br /&gt;
* [[TwitterMoko]] - A Twitter client for Openmoko&lt;br /&gt;
&lt;br /&gt;
== Office ==&lt;br /&gt;
* dates - a simple calendar&lt;br /&gt;
* [[e-tasks]] - An elementary task manager&lt;br /&gt;
* [[Epdfview]] - PDF reader.&lt;br /&gt;
* Evince - Document reader for PDF, PS, DJVU and more.&lt;br /&gt;
* [[FBReader]] - E-book reader program (TXT, FB2, HTML and more)&lt;br /&gt;
* [[GPE contacts]]&lt;br /&gt;
* [[Gutenflash]] - Fast text reader by scrolling text&lt;br /&gt;
* [[OMoney]] - A bookkeeping application&lt;br /&gt;
* [[Pisi]] - PIM synchronization&lt;br /&gt;
&lt;br /&gt;
== Settings ==&lt;br /&gt;
&lt;br /&gt;
* [[KnjMokoOPKG]] - A graphical frontend to OPKG.&lt;br /&gt;
* [[KnjMokoWifi]] - Wifi setup tool&lt;br /&gt;
* [[Lint-wifi]] - Wifi setup tool&lt;br /&gt;
* [[Mofi]] - Wifi setup tool&lt;br /&gt;
* [[Mokonnect]] - Connection manager&lt;br /&gt;
* [[momtools]] - an application to control Wifi, gprs and some other stuff&lt;br /&gt;
* [[Om 2008.8 Installer]] - Graphical software installer&lt;br /&gt;
* [[Opkg]] - Command line software installer&lt;br /&gt;
* {{opkg.org|285|opkg.py}} - Command line software installer for www.opkg.org packages&lt;br /&gt;
* [[Sephora]] - Settings manager&lt;br /&gt;
* [[SettingsGUI]] - Edit various settings&lt;br /&gt;
* [[Timezone|tzdata]]- Customise your time zone setting.&lt;br /&gt;
* [[Wicd]] - Wifi setup tool&lt;br /&gt;
* [[Wlan]] - Wlan is an application to manage wireless connection on the Freerunner&lt;br /&gt;
* [[ZOMG!]] - A graphical package manager (opkg frontend -&amp;gt; should work on any distro)&lt;br /&gt;
&lt;br /&gt;
== System ==&lt;br /&gt;
* [[Aphasia]] - A system built on Erlang and a vertical application for people with apahasia.&lt;br /&gt;
* [http://www.pierrox.net/auimd/ AUIMD] - AUIMD is a PyQt graphical user interface for mobile devices.&lt;br /&gt;
* [[Auxlaunch]] - Finger-friendly app launcher and window switcher&lt;br /&gt;
* [[Display Locker]] - Screen lock&lt;br /&gt;
* [http://fso-control.projects.openmoko.org/ fso-control] - Popup Power menu to shutdown/suspend/reboot.&lt;br /&gt;
* [[Gwaterpas]] - levelling tool using accelerometer&lt;br /&gt;
* [[Gestures]] - Detect movement and display information, rotate screen&lt;br /&gt;
* [[Keychain]] - SSH keys&lt;br /&gt;
* {{opkg.org|253|libaxel}} - Library for easy use accelerometer.&lt;br /&gt;
* [[MokoFEM]] - Monitors GSM information&lt;br /&gt;
* [[Mokostat]] - Monitors battery&lt;br /&gt;
* [[omkeys_functions]] - Remap AUX key bindings&lt;br /&gt;
* [[Openmoko Bluetooth remote controller|ReMoko]] - Control stuff via BlueTooth&lt;br /&gt;
* [[Pexpect]]-a pure Python module for spawning child applications; controlling them; and responding to expected patterns in their output. &lt;br /&gt;
* [[Rotate]] - Rotate screen when phone is rotated&lt;br /&gt;
* [[Siglaunchd]] - A daemon that listens to dbus signals and launches appliactions upon arrival.&lt;br /&gt;
* [[Ts calibrate]] - Calibrates touchscreen&lt;br /&gt;
* [[Vala-terminal]] - Command prompt with tabs&lt;br /&gt;
* [[Web-Manager]] - Control your phone by a web interface from your PC&lt;br /&gt;
* [http://wiki.openmoko.org/wiki/Minimoko xminimokostatus] Battery- / GSM-Status Display on Root Window (Part of Minimoko)&lt;br /&gt;
* [[Zedlock]] - Screen locker&lt;br /&gt;
&lt;br /&gt;
== Telephony ==&lt;br /&gt;
* [[Dialer/2007.2]] - The dialer application in Om 2007.2&lt;br /&gt;
* Launcher&lt;br /&gt;
* [[Litephone]] Easy to use, single window phone application written in Qt.&lt;br /&gt;
* [[Openmoko SMS Middleware]]- SMS middleware is a Openmoko middleware software for additional features related to SMS. Plugin architecture and Python based code gives this project lots of flexibility and enchancebility.&lt;br /&gt;
* [[Paroli]] -Paroli is an integrated phone application based on Tichy (and so also written in python). &lt;br /&gt;
&lt;br /&gt;
== Utility ==&lt;br /&gt;
&lt;br /&gt;
* {{opkg.org|176|CoovaChilli}} - It turns your phone's WiFi network into an Ad-Hoc Hotspot!&lt;br /&gt;
* [http://openmoko.huber-computer.de/ DWDWetter] Fetches weather information from dwd (First Register at dwd!)&lt;br /&gt;
* [[Enotes]] - Enotes is the implementation of a TODOlist manager written with elementary to appear better with distribution that use illume, like SHR.&lt;br /&gt;
* [[Enscribi]]-a handwriting recognition input method for Linux. It's mainly developed for the Openmoko Freerunner smartphone.&lt;br /&gt;
* [http://projects.openmoko.org/projects/ffalarms/ FFAlarm] is a program to set multiple alarms a day using a finger friendly user interface&lt;br /&gt;
* {{opkg.org|57|fido}} - [[fido]] is a todo list\note manager written with elementary&lt;br /&gt;
* [[GridPad]]-GridPad is an alternative input method for entering text with your finger, a Simple Character Recognizer Software.&lt;br /&gt;
* [[HP48 Series RPN Calculator]] - Calculator with many functions&lt;br /&gt;
* [[LED clock]] - When an Openmoko is sitting unused at night, turn it into an alarm clock with large 7-segment digits on a black background in landscape mode. &lt;br /&gt;
* [http://meuk.spritesserver.nl/lightsaber-0.1.tgz The Lightsaber]. Pre-alpha starwaresque orphanware.&lt;br /&gt;
* [[Literki]] - alternative keyboard&lt;br /&gt;
* [[MokoGeocaching]] - Utility for add a POI to TangoGPS using geocaching.com &lt;br /&gt;
* [[Mokometeo]] is a widget which fetches the weather forecast from yahoo, for a list of cities&lt;br /&gt;
* [[NeoCon]] - neocon is a handy serial console utility (not only) for u-boot.  The main feature of neocon is actually that you can give it a list of devices and it will pick one that works.&lt;br /&gt;
* [[NeoLight]] - NeoLight turns your phone into a flashlight.&lt;br /&gt;
* [[NeoTool]] NeoTool is a bash script for your desktop system to provide a friendly GUI frontend to some common management tasks.&lt;br /&gt;
* [[OpenWrt]]-basic support for the Openmoko &amp;quot;Freerunner&amp;quot;! Kernel (2.6.28) is building and booting.&lt;br /&gt;
* [http://projects.openmoko.org/projects/otp4neo/ OTP4Neo] One time password generator&lt;br /&gt;
* [[Pimlico]]-Pimlico is a suite of lightweight Personal Information Management (PIM) applications designed primarily for handheld and mobile devices&lt;br /&gt;
* [[QSuunto-Lite]] display dive log information from Suunto Dive computers (that work with divetools-ab)&lt;br /&gt;
* [[qwo]]- An alternative input method.&lt;br /&gt;
* [[ShortOm]] - Graphical launcher for shell or application, with editable config file, and log result page.&lt;br /&gt;
* [[sortdesk]] sort your om-desktop in categories&lt;br /&gt;
* [[Unison]] - Unison is a file-synchronization tool for Unix and Windows. It determines all differences between two directory trees and lets the user decide, how to proceed with every differing file. &lt;br /&gt;
* [http://techiem2.net/index.php?/archives/10-Freerunner-USB-Mode-Control-Program.html usbmode]-a quick pygtk program. &lt;br /&gt;
* [[Wrench]] - Modual used utility enlightenment_remote.&lt;br /&gt;
* [[Yaouh!]] - Yet Another OSM Updater H.&lt;br /&gt;
* [[Auto Home]] - Home automation using the Free runner (Openmoko)&lt;br /&gt;
* {{opkg.org|279|Babiloo}} - Dictionary utility with voice capability&lt;br /&gt;
* {{opkg.org|284|Fltk World Clock}} - Displays the time in different timezones (needs fltk)&lt;br /&gt;
* {{opkg.org|298|Fltk Hacker's Diet}} - Helps you maintain, decrease or increase your weight (needs fltk)&lt;br /&gt;
* {{opkg.org|306|Fltk Cocktail Bar}} - a Cocktail Bar application&lt;br /&gt;
* {{opkg.org|309|Fltk WW Point Cal}} - Calculate the Weight Watches Points of a given food&lt;br /&gt;
&lt;br /&gt;
==Setting Application==&lt;br /&gt;
* [[GTA02 sysfs]]- sysfs is a filesystem that is mounted on /sys which contains various fake &amp;quot;files&amp;quot; that are actually filled by a variety of drivers and other kernel subsystems.  You can use it to change settings and behaviours of the kernel and drivers dynamically.&lt;br /&gt;
* [[Wmiconfig]]- wmiconfig is a tool written by Atheros Communications Inc to configure the Ar6k WIFI chip used in the Neo Freerunner. This is a standalone C executable, released under GPL v2.&lt;br /&gt;
&lt;br /&gt;
== Video ==&lt;br /&gt;
* [[intone-video]] - an mplayer video frontend&lt;br /&gt;
* [http://katastrophos.net/andre/blog/software/quasar-media-player/ Quasar] - a mplayer frontend for X11.&lt;br /&gt;
* [[Video Player]] - Using Mplayer on Openmoko smartphones.&lt;br /&gt;
&lt;br /&gt;
== daemon ==&lt;br /&gt;
* [[Lscd]] - LSC library/daemon on Linux System.&lt;br /&gt;
* [[PyPhonelog]] - daemon uses the framework to track and log all the calls made to and from the moko.&lt;br /&gt;
&lt;br /&gt;
== An automatic list of application-related wiki pages ==&lt;br /&gt;
&lt;br /&gt;
The pages linked above are all maintained manually. We also maintain an automatic categorization system by tagging wiki pages. Here is the list of application-related pages in this wiki. Normally, every page listed below should be also listed above in the same category. The converse is false: there are applications without a wiki page.&lt;br /&gt;
&lt;br /&gt;
=== Applications in this Wiki: ===&lt;br /&gt;
&amp;lt;categorytree mode=pages depth=2 hideroot=on&amp;gt;Applications&amp;lt;/categorytree&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Where to find more applications? ==&lt;br /&gt;
&lt;br /&gt;
At [http://opkg.org opkg.org] !&lt;br /&gt;
&lt;br /&gt;
Not all Openmoko apps are listed on this wiki - there are much more [http://projects.openmoko.org/softwaremap/ projects at the Openmoko GForge] than the wiki can list, not to mention self-hosted applications on their own websites. Actually the phones can run most Linux based Free Software, using for example the [[Debian]] distribution. The [http://handhelds.freshmeat.net/browse/1038/ mobile phones section of Freshmeat] may be a interesting place to look.&lt;br /&gt;
&lt;br /&gt;
Note also that there are many packages in the repository that are not installed by default. If what you want is a classic, chances are that it is already packaged. Suppose you want to install Perl:&lt;br /&gt;
 opkg list|grep perl&lt;br /&gt;
 opkg install perl&lt;br /&gt;
&lt;br /&gt;
More application download related pages:&lt;br /&gt;
&lt;br /&gt;
* [[Community Repository]]&lt;br /&gt;
* [[Users Repositories]]&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;
== Where to find full distributions ? ==&lt;br /&gt;
&lt;br /&gt;
* [[Download]]: for complete system downloads&lt;br /&gt;
&lt;br /&gt;
== The usual warnings ==&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
* Some of these software are developed by Openmoko Inc. and some are contributed by the community. Any problems with community contributed software should be reported to the individual software developer rather than the Openmoko core team.&lt;br /&gt;
* Most programs listed here are not mature/stable, but only useable/beta.&lt;br /&gt;
* Many programs listed here are not yet packaged for your distribution and integrated in its repositories. Whichever it is.&lt;br /&gt;
* Installing experimental software from the internet is certain to break things. Running it as root is a very insecure thing to do. Kown that you will be burned, have backups, and be ready to apologize to everybody in your phone contact list in case they receive strange SMSs...&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Hall of Fame]]&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [http://code.google.com Google code projects] tagged with:&lt;br /&gt;
** [http://code.google.com/hosting/search?q=label%3Afreerunner&amp;amp;filter=0&amp;amp;start=0 Tag FreeRunner]&lt;br /&gt;
** [http://code.google.com/hosting/search?q=label%3Afreerunner&amp;amp;filter=0&amp;amp;start=0 Tag Openmoko]&lt;br /&gt;
* [http://www.opkg.org opkg.org] - A software directory for Openmoko phones&lt;br /&gt;
&lt;br /&gt;
[[Category:Applications| ]]&lt;br /&gt;
[[Category:Basic End User]]&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Fennec</id>
		<title>Fennec</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Fennec"/>
				<updated>2010-01-03T20:40:03Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Fennec}}&lt;br /&gt;
'''Fennec''' is a browser from Mozilla for mobile devices. There's no official port for Freerunner, but there are some packages from angstrom.&lt;br /&gt;
&lt;br /&gt;
The display size is very wrong, but it works and could show you something speedy.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
opkg -force-depends install http://www.angstrom-distribution.org/feeds/unstable/ipk/glibc/armv4t/base/libc6_2.9-r32.0.3_armv4t.ipk http://www.angstrom-distribution.org/feeds/unstable/ipk/glibc/armv4t/base/libasound2_1.0.20-r0.3_armv4t.ipk http://www.angstrom-distribution.org/feeds/unstable/ipk/glibc/armv4t/base/libstdc++6_4.3.3-r5.1.3_armv4t.ipk http://www.angstrom-distribution.org/feeds/unstable/ipk/glibc/armv4t/base/libgcc1_4.3.3-r5.1.3_armv4t.ipk http://www.angstrom-distribution.org/feeds/unstable/ipk/glibc/armv4t/base/libgio-2.0-0_2.20.4-r0.3_armv4t.ipk http://www.angstrom-distribution.org/feeds/unstable/ipk/glibc/armv4t/base/pango_1.24.4-r0.3_armv4t.ipk http://www.angstrom-distribution.org/feeds/unstable/ipk/glibc/armv4t/base/libgobject-2.0-0_2.20.4-r0.3_armv4t.ipk http://www.angstrom-distribution.org/feeds/unstable/ipk/glibc/armv4t/base/libgmodule-2.0-0_2.20.4-r0.3_armv4t.ipk http://www.angstrom-distribution.org/feeds/unstable/ipk/glibc/armv4t/base/libglib-2.0-0_2.20.4-r0.3_armv4t.ipk &lt;br /&gt;
&lt;br /&gt;
opkg -force-depends install http://www.angstrom-distribution.org/feeds/unstable/ipk/glibc/armv4t/base/libsqlite3-0_3.6.13-r0.3_armv4t.ipk http://www.angstrom-distribution.org/feeds/unstable/ipk/glibc/armv4t/base/libgthread-2.0-0_2.20.4-r0.3_armv4t.ipk http://www.angstrom-distribution.org/feeds/unstable/ipk/glibc/armv4t/base/fennec_0.9+1.0b2pre-r4.3_armv4t.ipk&lt;br /&gt;
&lt;br /&gt;
[[Category:Internet Applications]]&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/NeoTool</id>
		<title>NeoTool</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/NeoTool"/>
				<updated>2009-12-30T16:25:24Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: /* Download / Releases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NeoTool is a bash script for your desktop system to provide a friendly GUI frontend to some common management tasks, like for example flashing Openmoko smartphones. It is aimed at being very intuitive and easy to use, and flexible enough to make it useful in a wide variety of circumstances.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
The main features of NeoTool are:&lt;br /&gt;
* Ability to [[Flashing the Neo Freerunner|flash]] your Neo via a GUI for the following image types:&lt;br /&gt;
**rootfs&lt;br /&gt;
**kernel&lt;br /&gt;
**[[Uboot]]/[[Qi]] bootloader&lt;br /&gt;
**splash screen&lt;br /&gt;
* Ability to flash multiple images at once (for example, flash rootfs and the kernel at the same time)&lt;br /&gt;
* Ability to backup your Neo via a GUI&lt;br /&gt;
* Ability to backup Multiple images at once&lt;br /&gt;
* rootfs can be backed up to either a flashable image or a tar archive&lt;br /&gt;
* most / all configuration can be done via the GUI&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
[[Image:NeoTool.png|NeoTool opening screen]]&lt;br /&gt;
&lt;br /&gt;
== Download / Releases ==&lt;br /&gt;
&lt;br /&gt;
The most recent version of NeoTool is available for download at http://users.on.net/~antisol/neotool&lt;br /&gt;
&lt;br /&gt;
When a new version is released it will be announced on the community mailing list, and on this page.&lt;br /&gt;
&lt;br /&gt;
[https://bugs.launchpad.net/ubuntu/+bug/288747 Here] is the packaging request of NeoTool for '''Ubuntu'''; [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504131 here] for '''Debian''' (which will probably not succeed).&lt;br /&gt;
&lt;br /&gt;
=== OpenSuSE ===&lt;br /&gt;
* [http://software.opensuse.org/ymp/home:worldcitizen/SLE_10/NeoTool.ymp 1-Click Install for SLE 10]&lt;br /&gt;
* [http://software.opensuse.org/ymp/home:worldcitizen/SLE_11/NeoTool.ymp 1-Click Install for SLE 11]&lt;br /&gt;
* [http://software.opensuse.org/ymp/home:worldcitizen/openSUSE_10.3/NeoTool.ymp 1-Click Install for openSuSE 10.3]&lt;br /&gt;
* [http://software.opensuse.org/ymp/home:worldcitizen/openSUSE_11.0/NeoTool.ymp 1-Click Install for openSuSE 11.0]&lt;br /&gt;
* [http://software.opensuse.org/ymp/home:worldcitizen/openSUSE_11.1/NeoTool.ymp 1-Click Install for openSuSE 11.1]&lt;br /&gt;
* [http://software.opensuse.org/ymp/home:worldcitizen/openSUSE_Factory/NeoTool.ymp 1-Click Install for openSuSE Factory]&lt;br /&gt;
&lt;br /&gt;
=== CentOS ===&lt;br /&gt;
* [http://download.opensuse.org/repositories/home:/worldcitizen/CentOS_5/noarch/ Centos 5]&lt;br /&gt;
&lt;br /&gt;
=== Fedora ===&lt;br /&gt;
* [http://download.opensuse.org/repositories/home:/worldcitizen/Fedora_10/noarch/ Fedora 9]&lt;br /&gt;
* [http://download.opensuse.org/repositories/home:/worldcitizen/Fedora_10/noarch/ Fedora 10]&lt;br /&gt;
&lt;br /&gt;
=== Mandriva ===&lt;br /&gt;
* [http://download.opensuse.org/repositories/home:/worldcitizen/Mandriva_2008/noarch/ Mandriva 2008]&lt;br /&gt;
* [http://download.opensuse.org/repositories/home:/worldcitizen/Mandriva_2009/noarch/ Mandriva 2009]&lt;br /&gt;
&lt;br /&gt;
=== RHEL ===&lt;br /&gt;
* [http://download.opensuse.org/repositories/home:/worldcitizen/RHEL_5/noarch/ RHEL 5]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
You will have to install [[dfu-util]] in order to be able to use NeoTool.&lt;br /&gt;
&lt;br /&gt;
Other prerequisites for NeoTool should be installed on most modern linux systems by default:&lt;br /&gt;
* bash&lt;br /&gt;
* zenity&lt;br /&gt;
* which&lt;br /&gt;
* awk&lt;br /&gt;
&lt;br /&gt;
=== Optional ===&lt;br /&gt;
&lt;br /&gt;
* pipe viewer (pv), shows display while backing up rootfs&lt;br /&gt;
&lt;br /&gt;
* to backup rootfs, you need to have a [[USB_Networking|USB networking]] configured and working&lt;br /&gt;
&lt;br /&gt;
* mkfs-jffs2 needs to be installed on your neo to backup rootfs to a flashable image (type 'opkg install mkfs-jffs2' in ssh)&lt;br /&gt;
&lt;br /&gt;
* While not a requirement, backing up rootfs is much less painful if you set up an authorized_keys entry for your host on your Neo. To do this, run 'ssh-keygen' (preferrably as root) on your host, and then copy the contents of ~/.ssh/id_rsa.pub on your host into /home/root/.ssh/authorized_keys on your freerunner&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
user@host# su&lt;br /&gt;
&lt;br /&gt;
root@host# ssh-keygen&lt;br /&gt;
&lt;br /&gt;
root@host# scp ~/.ssh/id_rsa.pub root@&amp;lt;Neo IP Address&amp;gt;:/home/root&lt;br /&gt;
&lt;br /&gt;
root@host# ssh root@&amp;lt;Neo IP Address&amp;gt;&lt;br /&gt;
root@om-gta02:~# cat id_rsa.pub &amp;gt;&amp;gt; /home/root/.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will prevent you from having to enter the password for your Neo when you use ssh and scp.&lt;br /&gt;
&lt;br /&gt;
If you don't do this, you will need to enter your password repeatedly in order to backup rootfs.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
NeoTool should usually be run as root, although this is not required if you only want to backup rootfs and/or the kernel via scp.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo ./neotool&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will initially be presented with the main menu. Most of the functions should be relatively self-explanatory&lt;br /&gt;
&lt;br /&gt;
(thorough documentation on usage goes here)&lt;br /&gt;
&lt;br /&gt;
== Revision History ==&lt;br /&gt;
&lt;br /&gt;
See [http://lists.openmoko.org/pipermail/community/2008-September/029731.html this thread] and [http://lists.openmoko.org/pipermail/community/2008-September/030257.html that update] for discussions on the community list.&lt;br /&gt;
&lt;br /&gt;
=== 09-Sep-2008 ===&lt;br /&gt;
&lt;br /&gt;
- ability to flash more than one image at once - the 'what do you wanna&lt;br /&gt;
flash' now has checkboxes instead of radio buttons, and all your&lt;br /&gt;
selections are flashed one after the other. (which i find very handy,&lt;br /&gt;
stops the FR powering down while you're typing the next dfu-util&lt;br /&gt;
command, or locating the next image - works great for flashing a new&lt;br /&gt;
distro &amp;amp; kernel). if an error occurs, subsequent files will not be flashed.&lt;br /&gt;
&lt;br /&gt;
- more confirmation / idiot-proofing - it now tells you what you're&lt;br /&gt;
doing much more clearly (i.e: &amp;quot;about to flash Kernel with /foo/bar.bin,&lt;br /&gt;
rootfs with /foo/bar.jffs&amp;quot;. allows you to confirm that you chose the&lt;br /&gt;
right images). also the 'choose file' dialogs tell you what you're&lt;br /&gt;
browsing for&lt;br /&gt;
&lt;br /&gt;
- ability for users to press 'cancel' at the various dialogs and exit&lt;br /&gt;
gracefully.&lt;br /&gt;
&lt;br /&gt;
- checks that dfu-util exists and is executable. I moved my dfu-util to&lt;br /&gt;
/usr/local/bin, so it looks there first, but it will also check the&lt;br /&gt;
current directory and prompt if it can't find it&lt;br /&gt;
&lt;br /&gt;
- I wasn't a fan of patching dfu-util, and the pulsating zenity progress&lt;br /&gt;
dialog drags my (prehistoric) PC to a crawl, so I disabled the progress&lt;br /&gt;
bar and use the text output of dfu-util instead.&lt;br /&gt;
&lt;br /&gt;
=== 12-Sep-2008 (v1.0) ===&lt;br /&gt;
&lt;br /&gt;
- Utility now has the ability to flash the splash image as per request&lt;br /&gt;
&lt;br /&gt;
- Utility can now also backup your device to flashable rootfs / kernel images (david might like this for building FDOM images)&lt;br /&gt;
&lt;br /&gt;
- Configurification is loaded on startup and saved in /etc/frutil (you can only modify settings if you run it as root)&lt;br /&gt;
&lt;br /&gt;
- more idiot proofing - uses 'which' to find dfu-util, checks to ensure it's being run as root, checks that zenity is installed on the host, checks that you have mkfs.jffs2 installed before backing up, checks that you have pv installed and acts accordingly (by either using it or not during the backup [this is not properly tested because I don't have pv, please report]), and possibly other stuff I've forgotten about.&lt;br /&gt;
&lt;br /&gt;
- new name (frutil) to reflect the new abilities&lt;br /&gt;
&lt;br /&gt;
=== 17-Sep-2008 (v1.1) ===&lt;br /&gt;
&lt;br /&gt;
- Added ChangeLog&lt;br /&gt;
&lt;br /&gt;
- Added ability to handle multiple DFU-capable devices&lt;br /&gt;
&lt;br /&gt;
- Changed references to 'freerunner' to 'neo'&lt;br /&gt;
&lt;br /&gt;
- name changed to NeoTool (despite implied connection with Keanu Reeves' crotch)&lt;br /&gt;
&lt;br /&gt;
- Added 'Reset to defaults' option&lt;br /&gt;
&lt;br /&gt;
- Added warning that flashing uboot on neo1973 may result in a paperweight&lt;br /&gt;
&lt;br /&gt;
- several small bugfixes&lt;br /&gt;
&lt;br /&gt;
- made backup functionality much more versatile:&lt;br /&gt;
&lt;br /&gt;
- made backup filenames configurable&lt;br /&gt;
&lt;br /&gt;
- Added ability to choose what to backup&lt;br /&gt;
&lt;br /&gt;
- Added rootfs backup type option (jffs2 or tar)&lt;br /&gt;
&lt;br /&gt;
- Added kernel backup method option (scp or dfu)&lt;br /&gt;
&lt;br /&gt;
- Added ability to backup uboot and splash&lt;br /&gt;
&lt;br /&gt;
=== 31-Oct-2008 (v1.2) ===&lt;br /&gt;
- Changed information at pre-flash prompt to include instructions for how to get to the NOR menu. eliminated any mention of NAND, as everything can be flashed from NOR.&lt;br /&gt;
&lt;br /&gt;
- bugfix - when user selects a filename under 'customize backup filenames' and then presses cancel, the selected filename was set to nothing.&lt;br /&gt;
&lt;br /&gt;
- NeoTool now checks that the path of backup files exist, and attempts to create it if it doesn't. This allows you to organise your backups in a folder hierarchy, i.e set the backup filename to: /data/openmoko/backups/{date}/{image}_backup and the {date} directory will be created by NeoTool, assuming /data/openmoko/backups exists and you have permission.&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
&lt;br /&gt;
Suggestions? comments? feedback? problems?&lt;br /&gt;
* Are all welcome&lt;br /&gt;
* Email the Community list,&lt;br /&gt;
* or, email antisol (at) internode (dot) on (dot) net&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;NeoTool is perfect in every respect - if it breaks it's because you did something wrong.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Flashing Openmoko]]&lt;br /&gt;
[[Category:Host OSes]]&lt;/div&gt;</summary>
		<author><name>Airon90</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>2009-12-02T15:42:24Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: /* Connection Script */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:USB software]]&lt;br /&gt;
[[Category:Implemented]]&lt;br /&gt;
&lt;br /&gt;
{{Languages|USB_Networking}}&lt;br /&gt;
&lt;br /&gt;
{|align=left&lt;br /&gt;
|__TOC__&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&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 e.g. 192.168.1.(something) might save you a lot of troubleshooting later. A discussion of this is [http://lists.openmoko.org/pipermail/support/2008-August/thread.html#1277 here].&lt;br /&gt;
&lt;br /&gt;
== Things to keep in mind ==&lt;br /&gt;
&lt;br /&gt;
* When the FreeRunner suspends it disables its USB networking interface. Therefore it is a good idea to turn off the FreeRunners suspend function when using USB networking. You can do this manually or automatically. [https://wiki.muc.ccc.de/openmoko This] site has two scripts ([https://wiki.muc.ccc.de/openmoko#disable_suspend_if_on_external_power one for Om 2007] and [https://wiki.muc.ccc.de/openmoko#disable_suspend_if_on_external_power1 one for Om 2008]) which disable suspend if the FreeRunner is on external power.&lt;br /&gt;
&lt;br /&gt;
Some scripts do a tail-grep on certain log file. If you have disabled syslog and/or klog, this might be a problem for detecting when the device is connected to your machine via USB. When logging is disabled, it can be enabled on Ubuntu be /etc/init.d/klogd restart; /etc/init.d/sysklog restart&lt;br /&gt;
&lt;br /&gt;
== So is it &amp;quot;usb0&amp;quot; or is it &amp;quot;eth1&amp;quot;? ==&lt;br /&gt;
&lt;br /&gt;
* The documentation below refers to the network interface name on the host side as &amp;quot;usb0&amp;quot;.  However, the actual name is determined by your host system, and many host systems will rename the interface based on the mac (or hardware) address presented by the Neo or Freerunner.  Use the &amp;quot;ifconfig -a&amp;quot; command, or use &amp;quot;dmesg&amp;quot; to examine the output from your host's kernel, to find which interface name was actually assigned to your device.  If it wasn't &amp;quot;usb0&amp;quot;, it will almost always be the next available &amp;quot;eth''n''&amp;quot; name.&lt;br /&gt;
&lt;br /&gt;
In all the steps below where you see the interface referred to as &amp;quot;usb0&amp;quot;, you may need to substitute the interface name that your host assigned.&lt;br /&gt;
&lt;br /&gt;
For those interested in the technical details, the &amp;quot;usb0&amp;quot; interface name is used on the host system when the mac (hardware) address presented by the Freerunner or Neo is a locally-generated (random) address.  Because the address is random, the ability to easily manage the interface with network managment tools is somewhat compromised. In fact, the Freerunner has been assigned official mac addresses, including addresses for the USB network interface.  When these addresses are correctly used on the Freerunner (which is the case with the Qi bootloader, and with certain of the distros for the Freerunner), then the host system sees official mac addresses, and responds by configuring a permanent network interface for that device.  By convention, this permanent interface is one of the &amp;quot;eth&amp;quot; interfaces.  The specific interface name chosen will be remembered, and will be used each time that specific Freerunner is connected, and used only for that Freerunner.  This is a particularly useful feature for users who have multiple USB-networked devices.&lt;br /&gt;
&lt;br /&gt;
As of the time of this writing, the Android and SHR distros will correctly pass the official mac address to the host, and will appear as &amp;quot;eth''n''&amp;quot; interfaces on the host.&lt;br /&gt;
&lt;br /&gt;
= Simple Manual Linux Configuration =&lt;br /&gt;
Try this first (as root on your desktop, with FreeRunner attached via USB cable and booted properly, not at the Boot Menu).  If it works, then you can add permanent configuration or use more sophisticated setups below.&lt;br /&gt;
=== The shortest way ===&lt;br /&gt;
This simple way has been tested with many Linux distributions (Fedora, SuSE, Red Hat, Debian and others) and network configurations. It was even successfully applied to connect another Linux based handhelds like TDS Nomad and surely can be recommended as the first attempt. The way assumes that you have the recent Linux distribution with USB networking enabled and also rather typical network setup. &lt;br /&gt;
&lt;br /&gt;
With the device connected configure usb0 interface (as root):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo ip address add 192.168.0.200/24 dev usb0&lt;br /&gt;
sudo ip link set dev usb0 up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
or (deprecated)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo ifconfig usb0 192.168.0.200 netmask 255.255.255.0 up&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If your eth0 interface is also in the same 'range' (e.g. 192.168.0.105) then you can do the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo route add -host 192.168.0.202 dev usb0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Log in to the Neo (you do not need to be a root on the desktop host just to log in).&lt;br /&gt;
 # ssh root@192.168.0.202&lt;br /&gt;
The default password is blank.&lt;br /&gt;
&lt;br /&gt;
Do not forget to allow ssh (open the port 22) on your firewall so that you can connect to the device. If you suspect any firewall issues, the simplest way is to unplug the main Internet cable leaving only Neo connected and then temporary turn the firewall off.&lt;br /&gt;
&lt;br /&gt;
Also, some old or narrowly configured Linux distributions may not have USB networking support. For such cases the simple way might be just to upgrade.&lt;br /&gt;
&lt;br /&gt;
=== The more advanced way ===&lt;br /&gt;
If the previously described simple approach does not work, you may try the more complex one.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;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;
ip addr add 192.168.0.200/24 dev usb0&amp;lt;/pre&amp;gt;&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 only:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ip addr add 192.168.0.200/28 dev usb0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(This will just map the net from 192.168.0.192 to 192.168.0.207 onto usb0. If you get the error 'Cannot find device &amp;quot;usb0&amp;quot;', double-check that your FreeRunner is turned on and connected by USB. Ensure also that the uhci_hcd module is loaded on your PC. If that doesn't work, try unplugging and replugging the USB cable.)&lt;br /&gt;
&lt;br /&gt;
And in this case you should enable ARP proxy on internet facing interface INSTEAD of using iptables:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sysctl net.ipv4.conf.eth2.proxy_arp=1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This assuming that eth2 is connected to ISP.&lt;br /&gt;
&lt;br /&gt;
Then&lt;br /&gt;
&amp;lt;pre&amp;gt;ip link set usb0 up&amp;lt;/pre&amp;gt;&lt;br /&gt;
or (deprecated)&lt;br /&gt;
&amp;lt;pre&amp;gt;ifconfig usb0 up&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then (ideally, not as root):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh root@192.168.0.202&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default password is blank.&lt;br /&gt;
&lt;br /&gt;
Due to the fact that in most cases your Neo will use the same dns servers as your computer uses, you can automate the process of writing dns servers to your phone:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
/sbin/route add -host 192.168.0.202/32 dev usb0&lt;br /&gt;
iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
iptables -P FORWARD ACCEPT&lt;br /&gt;
sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
scp /etc/resolv.conf root@192.168.0.202:/etc/resolv.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Again if your net already is 192.168.0.0, replace the POSTROUTING statement with&lt;br /&gt;
&amp;lt;pre&amp;gt;iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/28&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This simple script will set up routing for your Freerunner and than copy resolv.conf with dns addresses straight to the phone.&lt;br /&gt;
All you have to do is connect phone to the computer, run the script and enjoy internet connection from your phone.&lt;br /&gt;
&lt;br /&gt;
=== Changing the Neo IP address ===&lt;br /&gt;
&lt;br /&gt;
Like mentioned above, if the default Neo subnet 192.168.0.X is already used, it might be necessary to change the&lt;br /&gt;
Neo [http://en.wikipedia.org/wiki/IP_address IP adress] and subnet.&lt;br /&gt;
To achieve this, edit /etc/network/interfaces on the Neo (and reboot it).&lt;br /&gt;
In the following example the Neo will use the IP address 192.168.100.1 (instead of the default 192.168.0.202)&lt;br /&gt;
within the network 192.168.100.X (instead of 192.168.0.X),&lt;br /&gt;
another [http://en.wikipedia.org/wiki/Private_network private] class C network.&lt;br /&gt;
(The [http://en.wikipedia.org/wiki/Subnetwork#Binary_subnet_masks netmask] indicates that the first 3 bytes (all bits set) are used to determine the subnet&lt;br /&gt;
and the last byte (no bits set) to determine the machine.)&lt;br /&gt;
The gateway (the computer, the Neo is attached to) also has to be part of the subnet and is expected to be 192.168.100.254 (instead of 192.168.0.200) here.&lt;br /&gt;
&lt;br /&gt;
Modifications for /etc/network/interfaces:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto usb0&lt;br /&gt;
iface usb0 inet static&lt;br /&gt;
        address 192.168.100.1&lt;br /&gt;
        netmask 255.255.255.0&lt;br /&gt;
        network 192.168.100.0&lt;br /&gt;
        gateway 192.168.100.254&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(The network entry seems to be redundant information, since it can be derived from address and netmask?)&lt;br /&gt;
Note that wiki articles usually expect default settings and you have to adjust the IP adress, gateway, etc entries according to your changes.&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 USB networking and masquerading support in the kernel. For default kernels in many Linux distributions this will already be the case.&lt;br /&gt;
&lt;br /&gt;
== USB Networking support ==&lt;br /&gt;
&lt;br /&gt;
The following options need to be enabled:&lt;br /&gt;
&lt;br /&gt;
* CONFIG_USB_USBNET (''Multi-purpose USB Networking Framework''. Module will be called &amp;lt;tt&amp;gt;usbnet&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* CONFIG_USB_NET_CDCETHER (''CDC Ethernet support''. Module will be called &amp;lt;tt&amp;gt;cdc_ether&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
These options are available in ''Device Drivers -&amp;gt; USB support -&amp;gt; USB Network Adapters'' or ''Device Drivers -&amp;gt; Network Device Support -&amp;gt; USB Network Adapters.&lt;br /&gt;
&lt;br /&gt;
In order for USB networking to work you need to load the &amp;lt;tt&amp;gt;cdc_ether&amp;lt;/tt&amp;gt; module (when loading &amp;lt;tt&amp;gt;cdc_ether&amp;lt;/tt&amp;gt; the module &amp;lt;tt&amp;gt;usbnet&amp;lt;/tt&amp;gt; will be loaded automatically). For more info see the [http://www.linux-usb.org/usbnet/ usbnet driver homepage].&lt;br /&gt;
&lt;br /&gt;
Olamba&lt;br /&gt;
&lt;br /&gt;
== Masquerading support ==&lt;br /&gt;
&lt;br /&gt;
Masquerading options are found in ''Networking ---&amp;gt; Networking options ---&amp;gt;'' (tested on Linux 2.6.26.3).&lt;br /&gt;
&lt;br /&gt;
To enable the needed options you first have to enable:&lt;br /&gt;
&lt;br /&gt;
* CONFIG_NETFILTER (''Network packet filtering framework (Netfilter)'')&lt;br /&gt;
&lt;br /&gt;
Then, from&lt;br /&gt;
&lt;br /&gt;
''Networking ---&amp;gt;&lt;br /&gt;
Networking options ---&amp;gt;&lt;br /&gt;
[*] Network packet filtering framework (Netfilter) ---&amp;gt;&lt;br /&gt;
Core Netfilter Configuration ---&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
You need at least following options enabled as modules:&lt;br /&gt;
&lt;br /&gt;
* CONFIG_NF_CONNTRACK (''Netfilter connection tracking support'')&lt;br /&gt;
* CONFIG_NF_CONNTRACK_FTP (''FTP protocol support'')&lt;br /&gt;
* CONFIG_NETFILTER_XTABLES (''Netfilter Xtables support'')&lt;br /&gt;
&lt;br /&gt;
Rest of the needed options are found from&lt;br /&gt;
&lt;br /&gt;
''Networking ---&amp;gt;&lt;br /&gt;
Networking options ---&amp;gt;&lt;br /&gt;
[*] Network packet filtering framework (Netfilter) ---&amp;gt;&lt;br /&gt;
IP: Netfilter Configuration ---&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
You need to enable (again, as modules is fine):&lt;br /&gt;
&lt;br /&gt;
* CONFIG_NF_CONNTRACK_IPV4 (''IPv4 connection tracking support (required for NAT)'')&lt;br /&gt;
* CONFIG_IP_NF_IPTABLES (''IP tables support (required for filtering/masq/NAT)'')&lt;br /&gt;
* CONFIG_NF_NAT (''Full NAT'')&lt;br /&gt;
* CONFIG_IP_NF_TARGET_MASQUERADE (''MASQUERADE target support'')&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;
&lt;br /&gt;
= Other Issues =&lt;br /&gt;
&lt;br /&gt;
In case the Freerunner was recognized and you could assign the IP address to the device, but you get after trying to connect with 'ssh root@192.168.0.202' an error like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; ssh: connect to host 192.168.0.202 port 22: No route to host &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then your USB cable could be broken. Try to connect with another cable.&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.&lt;br /&gt;
&lt;br /&gt;
You should add the IP address of the DNS servers as provided by your ISP. Check your router's or PC's network status for the nameserver IP addresses.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo nameserver xxx.xxx.xxx.xxx &amp;gt; /etc/resolv.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also add the public DNS server called openDNS:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo nameserver 208.67.222.222 &amp;gt; /etc/resolv.conf&lt;br /&gt;
echo nameserver 208.67.220.220 &amp;gt;&amp;gt; /etc/resolv.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These settings will be lost on reboot. You can set the DNS for the next connect, by adding the following to the end of the usb0 setting in /etc/network/interfaces, right above the bluetooth networking section:&lt;br /&gt;
&amp;lt;pre&amp;gt;up echo nameserver 208.67.222.222 &amp;gt; /etc/resolv.conf&lt;br /&gt;
up echo nameserver 208.67.220.220 &amp;gt;&amp;gt; /etc/resolv.conf&amp;lt;/pre&amp;gt;&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;
&amp;lt;pre&amp;gt;udpf-elf -p=53-f=`awk '$1 == &amp;quot;nameserver&amp;quot;{print $2; exit(0);}' /etc/resolv.conf`:53&amp;lt;/pre&amp;gt;&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;
&amp;lt;pre&amp;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&amp;lt;/pre&amp;gt;&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;
&amp;lt;pre&amp;gt;ping www.google.com&amp;lt;/pre&amp;gt;&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;
== Connection script ==&lt;br /&gt;
With the contents of this page [[User:Cristianpark|I]] made [http://www.mediafire.com/download.php?zm0gtz2tyjq this script] to easily get your FreeRunner connected with your PC.&lt;br /&gt;
&lt;br /&gt;
All you have to do is run the script (after connect the FR to the PC):&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo sh usb_networking.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
You have to:&lt;br /&gt;
# Disconnect FreeRunner&lt;br /&gt;
# Connect it again&lt;br /&gt;
# Re-run the script and voila the connection is there!&lt;br /&gt;
&lt;br /&gt;
; Notes &lt;br /&gt;
* It needs root privileges to be executed for the iptables and sysctl commands (if you don't like sudo, login as root instead)&lt;br /&gt;
* It uses the eth1 interface so on OM and other distros different from SHR, you have to put usb0&lt;br /&gt;
* Thanks to Tony Berth: if the first time you run the script you can't ping/access 192.168.0.202.&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;
There is also a very helpful tutorial for connecting with Vista at [http://sam.curren.ws/index.cfm/2008/7/14/Using-the-Neo-FreeRunner-with-Windows-XPVista].&lt;br /&gt;
&lt;br /&gt;
== FreeBSD ==&lt;br /&gt;
You need to load the cdce kernel module (if it is not already linked into your kernel). As root do:&lt;br /&gt;
&lt;br /&gt;
 # kldload cdce&lt;br /&gt;
&lt;br /&gt;
The Neo should then show up as cdce0 interface and you can handle the cdce0 interface just like the usb0 device under Linux. For more information see the cdce manpage. An easy way to assign the IP address to the cdce0 interface is using the devd(8) daemon. Create the following two files,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;/usr/local/etc/devd/cdce.conf&amp;lt;/tt&amp;gt; as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
notify 1 {&lt;br /&gt;
match &amp;quot;system&amp;quot;          &amp;quot;IFNET&amp;quot;;&lt;br /&gt;
match &amp;quot;subsystem&amp;quot;       &amp;quot;cdce0&amp;quot;;&lt;br /&gt;
match &amp;quot;type&amp;quot;            &amp;quot;ATTACH&amp;quot;;&lt;br /&gt;
action &amp;quot;/usr/local/etc/devd/cdce.sh $subsystem $type&amp;quot;;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and &amp;lt;tt&amp;gt;/usr/local/etc/devd/cdce.sh&amp;lt;/tt&amp;gt; as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
case $2 in&lt;br /&gt;
'ATTACH')&lt;br /&gt;
ifconfig cdce0 192.168.0.200 netmask 255.255.255.0&lt;br /&gt;
exit 0 ;&lt;br /&gt;
;;&lt;br /&gt;
esac&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then restart the devd(8) daemon with:&lt;br /&gt;
&lt;br /&gt;
 # /etc/rc.d/devd restart&lt;br /&gt;
&lt;br /&gt;
If you now plugin the FreeRunner into the USB port the cdce0 interface gets created and the IP addr will be assigned.&lt;br /&gt;
&lt;br /&gt;
== Debian, Ubuntu and others ==&lt;br /&gt;
&lt;br /&gt;
There are two systems which deal with hotplugginng devices, which is what you do when you plug in Freerunner in an &amp;lt;usb port. '''Hotplug''', and more recent system '''udev'''.&lt;br /&gt;
 &lt;br /&gt;
===Using the interfaces file- works on systems using''' hotplug''' ===&lt;br /&gt;
Edit /etc/network/interfaces and add:&lt;br /&gt;
&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.0&lt;br /&gt;
        up iptables -A POSTROUTING -t nat -s 192.168.0.0/24 -j MASQUERADE&lt;br /&gt;
        up echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
        down iptables -D POSTROUTING -t nat -s 192.168.0.0/24 -j MASQUERADE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is more sophisticated than the manual setup.  The 'auto usb' stanza ties into the Linux hotplug system so that when the device appears and vanishes, as happens when the FreeRunner 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;
Another possible configuration that adds DNS forward and removes&lt;br /&gt;
the iptables changes after unplugging:&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=$(awk '$1 == &amp;quot;nameserver&amp;quot;{print $2; exit(0);}' /etc/resolv.conf)&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;
=== Using network-manager on systems using '''udev''' ===&lt;br /&gt;
It is possible to use network-manager to automatically connect to the Freerunner using udev. The process uses udev to run a script when the Freerunner is plugged in.&lt;br /&gt;
&lt;br /&gt;
Depending on which boot loader your device is running it shows as either usb0 or eth1 (or 2). Choose the next section based on which it is for you. uBoot or old version of Qi show as usb0, the newer versions of Qi show as eth1.&lt;br /&gt;
&lt;br /&gt;
==== For devices showing as usb0 ====&lt;br /&gt;
&lt;br /&gt;
The script uses the ip command to set the mac address of the usb network interface.&lt;br /&gt;
&lt;br /&gt;
To begin, create /etc/udev/rules.d/80-freerunner.rules :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This file causes programs to be run on device insertion.&lt;br /&gt;
# See udev(7) for syntax.&lt;br /&gt;
# rule to assign a fixed mac address specified in /&lt;br /&gt;
KERNEL==&amp;quot;usb[0-9]*&amp;quot;, DRIVERS==&amp;quot;cdc_ether&amp;quot;, ACTION==&amp;quot;add&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/freerunner-usb-add.sh %k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, create the /usr/local/sbin/freerunner-usb-add.sh :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
(&lt;br /&gt;
busNum=$( printf %.2d $( expr match &amp;quot;$1&amp;quot; &amp;quot;usb\([0-9]*\)&amp;quot;) )&lt;br /&gt;
ip link set &amp;quot;$1&amp;quot; address 00:00:22:55:bb:$busNum &amp;amp;&amp;gt; /dev/null&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;
iptables -P FORWARD ACCEPT&lt;br /&gt;
) &amp;amp;&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== For devices showing as eth1 ====&lt;br /&gt;
&lt;br /&gt;
This script allows ipforwarding so your device can access the internet through your pc.&lt;br /&gt;
&lt;br /&gt;
To begin, create /etc/udev/rules.d/80-freerunner.rules replacing the mac address with the one from your device (run ifconfig on the pc, or use udevinfo, note that it must match udev's case):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This file causes programs to be run on device insertion.&lt;br /&gt;
# See udev(7) for syntax.&lt;br /&gt;
# http://www.reactivated.net/writing_udev_rules.html#example-netif&lt;br /&gt;
KERNEL==&amp;quot;eth*&amp;quot;, ATTR{address}==&amp;quot;00:1f:11:01:28:d6&amp;quot;, RUN+=&amp;quot;/usr/local/sbin/freerunner-usb-add.sh&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, create the /usr/local/sbin/freerunner-usb-add.sh :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
(&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;
iptables -P FORWARD ACCEPT&lt;br /&gt;
) &amp;amp;&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== For all devices ====&lt;br /&gt;
Finally run &amp;quot;chmod +x /usr/local/sbin/freerunner-usb-add.sh&amp;quot; to make it executable. Now you can use network-manager with '''mac-address specific settings''' and get it to automatically connect.&lt;br /&gt;
&lt;br /&gt;
* Plug your phone into your computer's usb port.&lt;br /&gt;
* Note the mac address from &amp;quot;ifconfig usb0&amp;quot; (or eth1)&lt;br /&gt;
* Right-click the network manager icon in the panel.&lt;br /&gt;
* Click &amp;quot;Edit Connections...&amp;quot;&lt;br /&gt;
* Delete the &amp;quot;Auto usb0&amp;quot; entry. (or eth1)&lt;br /&gt;
* Add a new connection named 'freerunner' (or whatever you fancy) &lt;br /&gt;
* Tick &amp;quot;System setting&amp;quot;&lt;br /&gt;
* Enter the mac address from above.&lt;br /&gt;
* Click the &amp;quot;IPv4 Settings&amp;quot; tab.&lt;br /&gt;
* Change &amp;quot;Method&amp;quot; to &amp;quot;Manual&amp;quot;&lt;br /&gt;
* Add an address of 192.168.0.200, 255.255.255.0 (address and netmask respectively).&lt;br /&gt;
* Click &amp;quot;Ok&amp;quot;&lt;br /&gt;
* Enter your system password (if prompted) to allow changing of this system setting.&lt;br /&gt;
&lt;br /&gt;
(watch out for this bug: https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/284298 )&lt;br /&gt;
&lt;br /&gt;
You should now be able to ping/ssh your phone.&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 9.04 - the Jaunty Jackalope -- udev=== &lt;br /&gt;
&lt;br /&gt;
One can see /etc/udev/rules.d that a device plugged in on USB will be called '''eth1'''. Go to system-&amp;gt;Administration-&amp;gt;Network and add the parameters for eth1 &amp;lt; static ip, address 192.168.0.200 mask 255.255.255.192 add your default gateway&amp;gt;. &lt;br /&gt;
Thats is all.&lt;br /&gt;
&lt;br /&gt;
Tested with Qi bootloader aka official MAC address of the Freerunner : on Android Koolu beta 7 &lt;br /&gt;
&lt;br /&gt;
Carig Philippines --[[User:Frank|frank]] 14:11, 17 June 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 8.10 - Easy Way === &lt;br /&gt;
&lt;br /&gt;
:1. Connect Neo to PC and wait about a minute when NetworkManager stops scanning usb for dhcp (wait when icon in the tray switches to normal).&lt;br /&gt;
&lt;br /&gt;
:2. Open &amp;quot;nm-connection-editor&amp;quot;, select &amp;quot;Auto usb0&amp;quot;, click &amp;quot;Edit&amp;quot;, then &amp;quot;IPv4 Settings&amp;quot;. Set &amp;quot;Method&amp;quot; - &amp;quot;Manual&amp;quot;, click &amp;quot;Add&amp;quot;. In the &amp;quot;Address&amp;quot; field write &amp;quot;192.168.0.200&amp;quot;, &amp;quot;Netmask&amp;quot; - &amp;quot;255.255.255.0&amp;quot;, leave &amp;quot;Gateway&amp;quot; field empty (or 0.0.0.0). Change the &amp;quot;Connection name&amp;quot; and click &amp;quot;Apply&amp;quot;, then &amp;quot;Close&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
:3. Now you can connect via ssh to 192.168.0.202&lt;br /&gt;
&lt;br /&gt;
Note: After reflashing the Neo you have to copy the &amp;quot;MAC Address&amp;quot; from &amp;quot;Auto usb0&amp;quot; into your new connection.&lt;br /&gt;
&lt;br /&gt;
Then, based on [http://sebastian-bergmann.de/index.php?url=archives/801-OpenMoko-Freerunner-and-Ubuntu.html#feedback these instructions], you should be able to setup masquerading by running the following commands on your Ubuntu PC: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo iptables -I INPUT 1 -s 192.168.0.202 -j ACCEPT&lt;br /&gt;
sudo iptables -I OUTPUT 1 -s 192.168.0.200 -j ACCEPT&lt;br /&gt;
sudo iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24&lt;br /&gt;
sudo bash -c 'echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward'&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu Issues ===&lt;br /&gt;
&lt;br /&gt;
Ubuntu 8.10 doesn't work as expected if you used /etc/network/interfaces to automate the connection.&amp;lt;br&amp;gt;&lt;br /&gt;
Network manager likes to latch onto the network device and add a default route through 192.168.0.202, breaking your network connection.&lt;br /&gt;
Network manager also says you can't edit or remove this connection from its list. I'm going back to making the connection manually.&amp;lt;br&amp;gt;&lt;br /&gt;
Using the /usr/local/sbin/freerunner-usb-add.sh script for some automatism can be a workaround:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
(&lt;br /&gt;
ip address add 192.168.0.200/26 netmask dev usb0 &amp;gt; /dev/null&lt;br /&gt;
ip link set usb0 up &amp;gt; /dev/null&lt;br /&gt;
/etc/network/freerunner start&lt;br /&gt;
) &amp;amp;&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&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. Moving the DRIVERS==&amp;quot;*?&amp;quot; out of the top GOTO, to ACTION==&amp;quot;add&amp;quot; line fixes the problem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;net&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;, DRIVERS==&amp;quot;?*&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;
ck&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;
LABEL=&amp;quot;net_end&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The bug is that the DRIVERS variable isn't set at all when the device is unplugged.&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;
:Actually it appears that it's not fixed, but patching that file and disconnecting and reconnecting the phone works perfectly. --[[User:Johndoesacc|Johndoesacc]] 18:37, 20 August 2008 (UTC)&lt;br /&gt;
:Well, yes, it must be fixed because it worked for me out-of-the-box without tweaking the udev rule on 8.04 --[[User:EtienneG|EtienneG]] November 26th, 2008&lt;br /&gt;
:It wasn't solved in my case, as of 3. February 2009 in 8.04 (AMD64), the patch above solved my problem thou. --[[User:VilleWitt|VilleWitt]] February 3td, 2009.&lt;br /&gt;
&lt;br /&gt;
====Iptables Configuration with GUI====&lt;br /&gt;
&lt;br /&gt;
Firestarter can be used to allow the freerunner to connect to the internet without manually running iptables commands. Firestarter is in the ubuntu repositories and can be installed with a &lt;br /&gt;
&amp;lt;pre&amp;gt;sudo aptitude install firestarter&amp;lt;/pre&amp;gt;&lt;br /&gt;
Once installed, the firestarter preferences dialog has a network section, under which a drop-down box appeasr which is labeled  &amp;quot;Local network connected device.&amp;quot; Select the freerunner, generally &amp;quot;Unknown device(usb0)&amp;quot; and check the &amp;quot;Enable internet connection sharing&amp;quot; box. Uncheck local network DHCP and the freerunner should be able to access the internet.&lt;br /&gt;
-Tested in ubuntu 8.10--[[User:makito|Makito]] February 26, 2009&lt;br /&gt;
&lt;br /&gt;
Be aware that when firestarter is running it by default blocks all incoming connections, so if you where using your linux box as a mail-server, web-server or whatever those connections will be blocked. It is quick and easy to add exceptions for whatever protocol you are using in the policy tab of firestarter.&lt;br /&gt;
-Tested in ubuntu 9:04--[[User:chrestomanci|David]] September 2009&lt;br /&gt;
&lt;br /&gt;
Note: Firestarter needs to run as root.&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu Workaround ===&lt;br /&gt;
Use [http://wicd.sourceforge.net/ wicd] instead of networkmanager:&lt;br /&gt;
It is much further in development than networkmanager yet and doesn't make any problems with USB networking. You can use the &amp;quot;normal&amp;quot; settings in /network/interfaces.&lt;br /&gt;
;Note: Because of it's dependencies it deinstalls networkmanager.&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu and QI ===&lt;br /&gt;
If you have trouble connecting to the freerunner after installing qi, check to see if the address has changed to eth&amp;lt;n&amp;gt;. Many host systems will assign eth&amp;lt;n&amp;gt; addresses when they detect an official (non-locally-generated) mac address on the usb network connection.  Qi passes in the official Openmoko USB mac address; u-boot does not.&lt;br /&gt;
&lt;br /&gt;
== Mandriva ==&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;
&amp;lt;tt&amp;gt;/etc/sysconfig/network-scripts/ifcfg-usb0&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;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.0&lt;br /&gt;
NETWORK=192.168.0.0&lt;br /&gt;
BROADCAST=192.168.0.255&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;
&amp;lt;/pre&amp;gt;&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;
&amp;lt;tt&amp;gt;/etc/sysconfig/network-scripts/usb0-routes&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ADDRESS0=192.168.0.200&lt;br /&gt;
NETMASK0=255.255.255.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&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;
&lt;br /&gt;
This didn't work for me (Mandriva 2008.1), giving errors from Shorewall. However, simply using MCC, Network-&amp;gt;Sharing Internet Access worked fine. You need to connect Neo when starting it. --[[User:Alih|Alih]] 18:50, 22 September 2008 (UTC)&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 FC9, FC8 &amp;amp; FC5 ===&lt;br /&gt;
&lt;br /&gt;
edit file &amp;lt;tt&amp;gt;/etc/sysconfig/network-scripts/ifcfg-usb0&amp;lt;/tt&amp;gt; to look like this:&lt;br /&gt;
&lt;br /&gt;
 # USB configuration for PDAs (openmoko)&lt;br /&gt;
 # from &amp;lt;nowiki&amp;gt;http://www.handhelds.org/moin/moin.cgi/UsbNet&amp;lt;/nowiki&amp;gt;&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;
and restart networking service by typing:&lt;br /&gt;
&lt;br /&gt;
 service network restart&lt;br /&gt;
&lt;br /&gt;
if your '''openmoko''' is connected when you restart network you should see system message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Bringing up interface usb0      [OK]&amp;lt;/code&amp;gt;&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;
 ./etc/init.d/functions&lt;br /&gt;
 cd /etc/sysconfig/network-scripts&lt;br /&gt;
 ../network-functions&lt;br /&gt;
 [ -f ../network ] &amp;amp;&amp;amp; . ../network&lt;br /&gt;
 CONFIG=${1}&lt;br /&gt;
 need_config ${CONFIG}&lt;br /&gt;
 source_config&lt;br /&gt;
 NETBITS=`ipcalc -p ${IPADDR} ${NETMASK} | awk -F'=' '{print $2;}'`&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;
 /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;
 ./etc/init.d/functions&lt;br /&gt;
 cd /etc/sysconfig/network-scripts&lt;br /&gt;
 ../network-functions&lt;br /&gt;
 [ -f ../network ] &amp;amp;&amp;amp; . ../network&lt;br /&gt;
 CONFIG=${1}&lt;br /&gt;
 need_config ${CONFIG}&lt;br /&gt;
 source_config&lt;br /&gt;
 NETBITS=`ipcalc -p ${IPADDR} ${NETMASK} | awk -F'=' '{print $2;}'`&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;
 /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;
=== Option C - tested on FC8, FC9 and F10 ===&lt;br /&gt;
&lt;br /&gt;
Plug in the usb cable. NetworkManager should detect the phone automatically but you should ignore it.&lt;br /&gt;
Open Network Configuration tool (System -&amp;gt; Administration -&amp;gt; Network) and perform following steps:&lt;br /&gt;
# Click '''New''' button on top bar&lt;br /&gt;
# Click '''Forward'''&lt;br /&gt;
# Select OpenMoko from device list&lt;br /&gt;
# Click '''Forward'''&lt;br /&gt;
# Select 'Statically set IP address:' and enter address: 192.168.0.200, netmask 255.255.255.0 (or use 255.255.255.240 if you want only route ip range 192.168.0.192-192.168.0.207). Leave gateway empty.&lt;br /&gt;
# Click '''Forward'''&lt;br /&gt;
# Click '''Apply''' to close add dialog&lt;br /&gt;
# Select newly added usb0 device from the device list.&lt;br /&gt;
# Click '''Edit''' button on top bar&lt;br /&gt;
# You might want to remove a tick from 'Activate device when computer starts' check box.&lt;br /&gt;
# Click '''Ok''' to close window  dialog.&lt;br /&gt;
Save settings and close the window.&lt;br /&gt;
&lt;br /&gt;
Open Firewall Configuration (System -&amp;gt; Administration -&amp;gt; Firewall) and enable masquerading:&lt;br /&gt;
# Select '''Masquerading''' from left panel&lt;br /&gt;
# Check device(s) which you'd like to share internet connection. Typically eth0 or wlan0.&lt;br /&gt;
# Click '''Apply''' and close application&lt;br /&gt;
&lt;br /&gt;
Open terminal and perform (as root user):&lt;br /&gt;
# ifdown usb0&lt;br /&gt;
# ifup usb0&lt;br /&gt;
The first command will remove any existing settings given by the NetworkManager and second command brings the device up with appropriate settings.&lt;br /&gt;
&lt;br /&gt;
Now you should be able to ping e.g. 74.125.39.99 [www.google.com] from OpenMoko. Configure /etc/resolv.conf and you should have full a internet access.&lt;br /&gt;
&lt;br /&gt;
==== Troubleshooting ====&lt;br /&gt;
If Network Configuration tool cannot see the the usb0 try to unplug the usb cable for a few seconds and wait until the NetworkManager finds it again.&lt;br /&gt;
&lt;br /&gt;
NetworkManager will assign a new ip address for the OpenMoko if link goes down for a while. You can fix this by issuing '''ifup usb0''' again.&lt;br /&gt;
&lt;br /&gt;
=== Option D - tested on Fedora 11 (Leonidas) ===&lt;br /&gt;
&lt;br /&gt;
Plug in the usb cable. NetworkManager should detect the phone automatically. Perform following steps:&lt;br /&gt;
# Rightclick NetworkManager Icon&lt;br /&gt;
## Click '''Edit Connections ...'''&lt;br /&gt;
## Type root password when requested&lt;br /&gt;
## Select first entry in List (eg. Auto eth1)&lt;br /&gt;
## Click '''Edit'''&lt;br /&gt;
## Change '''Connectionname''' to '''neo freerunner'''&lt;br /&gt;
## Chose tab '''IPv4 Properties'''&lt;br /&gt;
## Choose '''manual''' in Drop-Down-Box '''Method'''&lt;br /&gt;
## Click '''Add''' at '''Adresses'''&lt;br /&gt;
## Enter this values:&lt;br /&gt;
### Address: 192.168.0.200&lt;br /&gt;
### Netmask: 255.255.255.0&lt;br /&gt;
### Gateway: 0.0.0.0&lt;br /&gt;
## Click '''Apply'''&lt;br /&gt;
## Click '''Close''' on dialog &amp;quot;network connections&amp;quot;&lt;br /&gt;
# Open Shell&lt;br /&gt;
## Enter '''iptables -I FORWARD -j ACCEPT -d 192.168.0.202/32'''&lt;br /&gt;
## Enter '''iptables -I FORWARD -j ACCEPT -s 192.168.0.202/32'''&lt;br /&gt;
## Enter '''iptables -I POSTROUTING -t nat -j MASQUERADE -s 192.168.0.202/32'''&lt;br /&gt;
## Enter '''/etc/init.d/iptables save'''&lt;br /&gt;
## Enter '''chkconfig iptables on'''&lt;br /&gt;
Done!&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;
&amp;lt;pre&amp;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;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a new init script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /etc/init.d&lt;br /&gt;
ln -s net.lo net.usb0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Manual Configuration ===&lt;br /&gt;
&lt;br /&gt;
Put iptables into use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;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;
&amp;lt;/pre&amp;gt;&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;
=== Automatic Configuration ===&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;
Therefore the net.usb0 service must be hotpluggable (/etc/rc.conf or /etc/conf.d/rc).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;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;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Slackware (tested with 12.1) ==&lt;br /&gt;
&lt;br /&gt;
Following is based on [http://www.enricozini.org/2008/tips/autodock-freerunner.html Enrico Zini's solution].&lt;br /&gt;
&lt;br /&gt;
Create a new udev rules file &amp;lt;tt&amp;gt;/etc/udev/rules.d/91-openmoko.rules&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBSYSTEM==&amp;quot;net&amp;quot;, ACTION==&amp;quot;add&amp;quot;, ATTRS{idVendor}==&amp;quot;1457&amp;quot;, ATTRS{idProduct}==&amp;quot;5122&amp;quot;, RUN+=&amp;quot;/sbin/om-usb $env{INTERFACE} start&amp;quot;&lt;br /&gt;
SUBSYSTEM==&amp;quot;net&amp;quot;, ACTION==&amp;quot;remove&amp;quot;, ENV{INTERFACE}==&amp;quot;usb[0-9]&amp;quot;, RUN+=&amp;quot;/sbin/om-usb $env{INTERFACE} stop&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then create the script &amp;lt;tt&amp;gt;/sbin/om-usb&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
INTERFACE=$1&lt;br /&gt;
ACTION=$2&lt;br /&gt;
&lt;br /&gt;
# udev fails silently when the script fails, e.g. due to commands not&lt;br /&gt;
# being found&lt;br /&gt;
PATH=/usr/sbin:/sbin:/usr/bin:/bin&lt;br /&gt;
&lt;br /&gt;
case $ACTION in&lt;br /&gt;
'start')&lt;br /&gt;
# Put all your setup here&lt;br /&gt;
;;&lt;br /&gt;
'stop')&lt;br /&gt;
# Put all your tear down here&lt;br /&gt;
;;&lt;br /&gt;
*)&lt;br /&gt;
echo &amp;quot;Usage: $0 {start|stop}&amp;quot;&lt;br /&gt;
exit 1&lt;br /&gt;
;;&lt;br /&gt;
esac&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;INTERFACE&amp;lt;/tt&amp;gt; will be &amp;lt;tt&amp;gt;usb0&amp;lt;/tt&amp;gt; in most cases.&lt;br /&gt;
&lt;br /&gt;
== Archlinux ==&lt;br /&gt;
Following is based on [http://xenos.altervista.org/blogs/index.php?blog=3&amp;amp;title=openmoko-usb-networking-su-archlinux furester's solution].&lt;br /&gt;
&lt;br /&gt;
Install package [http://aur.archlinux.org/packages.php?ID=20220 openmoko-usb-networking] from AUR:&lt;br /&gt;
&lt;br /&gt;
$ yaourt -S openmoko-usb-networking&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 adding a new line for every ssh host-key to your known_hosts you can add the following to the phone section in ~/.ssh/config (or see the snippet at : [[USB Networking#Changing_host_keys]] bellow)&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;
 user@host$ 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;
 root@phone# 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;
 user@host$ scp ~/.ssh/id_rsa.pub root@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 using a command like 'ssh root@phone' from the account user@host because the public key in the file user@host:~/.ssh/id_rsa.pub is contained in the list of keys which have access in the file root@phone:~/.ssh/authorized_keys (since scp is used, only one key exists, but you can grant access to the phone from more than one account, for example user@host, user@laptop).&lt;br /&gt;
&lt;br /&gt;
To make ssh login as root by default, add the following lines to ~/.ssh/config:&lt;br /&gt;
&lt;br /&gt;
 Host phone&lt;br /&gt;
 User root&lt;br /&gt;
&lt;br /&gt;
Replace ''phone'' with the hostname or ip of your phone. You should now be able to ssh into the phone without having to type ''root@'' every time.&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). Now you have set this, you can issue the following command to connect to your moko (the usual &amp;quot;root@&amp;quot; isn't required as it's set by the user section in the config file) :&lt;br /&gt;
&lt;br /&gt;
 ssh moko&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 (execute on desktop):&lt;br /&gt;
&lt;br /&gt;
 xhost +&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;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&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;
&amp;lt;/tt&amp;gt;&lt;br /&gt;
&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;
&lt;br /&gt;
 ps auxwwwwe | grep -m 1 DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
&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;
&lt;br /&gt;
 env DBUS_SESSION_BUS_ADDRESS=''dbus_address'' ''process'' #(isn't the &amp;quot;env&amp;quot; redundant here?)&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;
== sftp ==&lt;br /&gt;
After you get the SSH connection working, it is possible to use Konqueror, Nautilus or another sftp - enabled tool to browse the phone filesystem and deploy the test applications. Just enter sftp://root@192.168.0.202 into address bar.&lt;br /&gt;
&lt;br /&gt;
== sshfs ==&lt;br /&gt;
You can use sshfs to mount the phones filesystem into the hosts filesystem. Make sure that fuse-sshfs is installed and that you are allowed to use fuse. Now run:&lt;br /&gt;
&lt;br /&gt;
  sshfs 192.168.0.202:REMOTE_PATH LOCAL_MOUNT_POINT&lt;br /&gt;
&lt;br /&gt;
REMOTE_PATH can now be accessed through LOCAL_PATH.&lt;br /&gt;
&lt;br /&gt;
E.g. you create copy audio files to SD card create a directory  on your desktop computer and mount the card via sshfs&lt;br /&gt;
  desktop# mkdir /mnt/freerunner&lt;br /&gt;
  desktop# mkdir /mnt/freerunner/card&lt;br /&gt;
  desktop# sshfs 192.168.0.202:/media/card /mnt/freerunner/card&lt;br /&gt;
No the content of card of your FR can be access via /mnt/freerunner/card.&lt;br /&gt;
&lt;br /&gt;
==Automated setup network and mounting partitions==&lt;br /&gt;
&lt;br /&gt;
See [https://bugs.launchpad.net/ubuntu/+bug/289548 Ubuntu bug report in launchpad].&lt;br /&gt;
&lt;br /&gt;
== other similar tutorials ==&lt;br /&gt;
* http://left.subtree.org/category/freerunner/&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/QVGA_Mode</id>
		<title>QVGA Mode</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/QVGA_Mode"/>
				<updated>2009-11-15T13:54:17Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|QVGA Mode}}&lt;br /&gt;
Information on getting into QVGA mode successfully&lt;br /&gt;
&lt;br /&gt;
=== SHR === &lt;br /&gt;
&lt;br /&gt;
On SHR-unstable (as of the Sept 2009 builds) the following worked.&lt;br /&gt;
&lt;br /&gt;
Create two new scripts - I put these in /usr/local/bin, and added /usr/local/bin to my PATH in my .profile file - but you can put 'em where ever you like, as long as they are on your PATH, or you use the full path to invoke 'em.&lt;br /&gt;
&lt;br /&gt;
qvga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
echo &amp;quot;qvga-normal&amp;quot; &amp;gt; /sys/bus/spi/devices/spi2.0/state&lt;br /&gt;
xrandr -s 240x320&lt;br /&gt;
fbset 240x320             &lt;br /&gt;
killall -HUP enlightenment&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
normal:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
echo &amp;quot;normal&amp;quot; &amp;gt; /sys/bus/spi/devices/spi2.0/state&lt;br /&gt;
xrandr -s 480x640&lt;br /&gt;
killall -HUP enlightenment&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add to /etc/fb.modes&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mode &amp;quot;240x320&amp;quot;&lt;br /&gt;
       geometry 240 420 240 320 16&lt;br /&gt;
       timings 100000 8 88 2 2 8 2&lt;br /&gt;
       accel false&lt;br /&gt;
endmode&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This usually creates a usable display - although occasionally enlightnment get confused and crashes.&lt;br /&gt;
&lt;br /&gt;
Unfortunately there's a problem with the touchscreen, so the upper quarter of the screen maps to the entire screen, so using this for anything real isn't possible.   Apparently this is fixed in the Xorg based X server, which should be available soon, so hopefully this will be resolved soon.&lt;br /&gt;
&lt;br /&gt;
Also - changing /sys/.../state should not be required once the switch to Xorg is complete.&lt;br /&gt;
&lt;br /&gt;
[[Category:SHR]]&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	<entry>
		<id>http://wiki.openmoko.org/wiki/Qalee/eo</id>
		<title>Qalee/eo</title>
		<link rel="alternate" type="text/html" href="http://wiki.openmoko.org/wiki/Qalee/eo"/>
				<updated>2009-11-15T13:52:28Z</updated>
		
		<summary type="html">&lt;p&gt;Airon90: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Qalee}}&lt;br /&gt;
[[Image:Qalee.png|200px|right|thumb|Ĉeffenestro de Qalee]]&lt;br /&gt;
'''Qalee''' estas labortabla ĉirkaŭaĵo por Freerunner; estas kapabla ruli programarojn kaj uzi ĝin kiel poŝtelefono.&lt;br /&gt;
&lt;br /&gt;
Antaŭe baziĝita sur [[Debian/eo|Debiano]], nun baziĝas sur [[SHR/eo|SHR]] (2009-08-08), sed ĝi revenos al [[Debian/eo|Debiano]] kiam ĝi uzos la novan version de framo.&lt;br /&gt;
&lt;br /&gt;
Lasta versio de Qalee, 0.0.4, estas publikigita nur por Debiano la 13-an de novembro 2009.&lt;br /&gt;
&lt;br /&gt;
== Instalado ==&lt;br /&gt;
Qalee estas publikigita aparte por [[SHR/eo|SHR]] kaj [[Debian/eo|Debiano]]:&lt;br /&gt;
* SHR: [http://openmoko.openmatica.es/QALEE/Qalee-0.0.3-dev.tar.gz v. 0.0.3]&lt;br /&gt;
* Debian: [http://www.openmoko.openmatica.es/QALEE/Qalee-0.0.4.dev.tar.bz2 v. 0.0.4]&lt;br /&gt;
Sufiĉas, ke vi kopiu la enhavon de la tar en la µSD kaj [[boot from sd card/eo|ŝarĝi la poŝtelefonon el µSD]] por uzi ĝin. Iomete antaŭ ol la kompleta ŝarĝado, Qalee petos vin kodon (neŝanĝebla): &amp;lt;code&amp;gt;1234&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Eksteraj ligiloj ==&lt;br /&gt;
* [http://www.qalee.org Oficiala retejo]&lt;br /&gt;
* [http://documentation.qalee.org Oficial vikio]&lt;br /&gt;
* [http://blog.qalee.org Oficiala blogo]&lt;br /&gt;
* [http://think-free.openmatica.es/openmoko/QALEE/ScreenShoots/ Kelkaj ekrankopioj]&lt;br /&gt;
&lt;br /&gt;
[[Category:SHR]]&lt;/div&gt;</summary>
		<author><name>Airon90</name></author>	</entry>

	</feed>