http://openmoko.org/api.php?action=feedcontributions&user=Tim&feedformat=atomOpenmoko - User contributions [en]2024-03-29T14:02:22ZUser contributionsMediaWiki 1.19.24http://openmoko.org/wiki/Base_pppd_scriptsBase pppd scripts2008-07-26T19:57:21Z<p>Tim: /* /etc/ppp/peers/base */</p>
<hr />
<div>These scripts work for the german provider BASE (so might work for E-Plus too). <br />
<br />
=== /etc/ppp/peers/base ===<br />
# File: /etc/ppp/peers/base<br />
#<br />
/dev/ttySAC0 115200<br />
connect /etc/ppp/base-connect-chat<br />
crtscts<br />
lock<br />
hide-password<br />
defaultroute<br />
usepeerdns<br />
disconnect /etc/ppp/base-disconnect-chat<br />
holdoff 3<br />
ipcp-accept-local<br />
lcp-echo-failure 8<br />
lcp-echo-interval 3<br />
noauth<br />
noipdefault<br />
novj<br />
novjccomp<br />
replacedefaultroute<br />
persist<br />
lcp-echo-interval 3<br />
lcp-echo-failure 12<br />
# username to use for authentication, should match "client" in /etc/ppp/chap-secrets<br />
user "eplus"<br />
<br />
----<br />
<br />
=== /etc/ppp/base-connect-chat ===<br />
#!/bin/sh -e<br />
exec chat -v\<br />
ABORT BUSY\<br />
ABORT DELAYED\<br />
ABORT "NO ANSWER"\<br />
ABORT "NO DIALTONE"\<br />
ABORT VOICE\<br />
ABORT ERROR\<br />
ABORT RINGING\<br />
TIMEOUT 60\<br />
"" +++\<br />
AT ATZ\<br />
OK ATE1\<br />
OK AT+CFUN=1\<br />
OK AT+COPS\<br />
OK AT+CGDCONT=1,\"IP\",\"internet.eplus.de\"\<br />
OK ATD*99#\<br />
CONNECT /n/d<br />
<br />
----<br />
<br />
=== /etc/ppp/base-disconnect-chat ===<br />
#!/bin/sh -e<br />
/usr/sbin/chat -v\<br />
ABORT OK\<br />
ABORT BUSY\<br />
ABORT DELAYED\<br />
ABORT "NO ANSWER"\<br />
ABORT "NO CARRIER"\<br />
ABORT "NO DIALTONE"\<br />
ABORT VOICE\<br />
ABORT ERROR\<br />
ABORT RINGING\<br />
TIMEOUT 12\<br />
"" \\k\\k\\k\\d+++ATH\<br />
"NO CARRIER-AT-OK" ""<br />
<br />
----<br />
<br />
=== /etc/ppp/chap-secrets ===<br />
#Secrets for authentication using CHAP<br />
# client server secret IP addresses<br />
"eplus" * "gprs" *<br />
<br />
----<br />
<br />
Modified from info found here: [[T-Mobile pppd scripts]]<br />
<br />
[[Category:Application Developer]]</div>Timhttp://openmoko.org/wiki/Base_pppd_scriptsBase pppd scripts2008-07-07T18:34:24Z<p>Tim: </p>
<hr />
<div>These scripts work for the german provider BASE (so might work for E-Plus too). <br />
<br />
=== /etc/ppp/peers/base ===<br />
# File: /etc/ppp/peers/base<br />
#<br />
dev/ttySAC0 115200<br />
connect /etc/ppp/base-connect-chat<br />
crtscts<br />
lock<br />
hide-password<br />
defaultroute<br />
usepeerdns<br />
disconnect /etc/ppp/base-disconnect-chat<br />
holdoff 3<br />
ipcp-accept-local<br />
lcp-echo-failure 8<br />
lcp-echo-interval 3<br />
noauth<br />
noipdefault<br />
novj<br />
novjccomp<br />
replacedefaultroute<br />
persist<br />
lcp-echo-interval 3<br />
lcp-echo-failure 12<br />
# username to use for authentication, should match "client" in /etc/ppp/chap-secrets<br />
user "eplus"<br />
<br />
----<br />
<br />
=== /etc/ppp/base-connect-chat ===<br />
#!/bin/sh -e<br />
exec chat -v\<br />
ABORT BUSY\<br />
ABORT DELAYED\<br />
ABORT "NO ANSWER"\<br />
ABORT "NO DIALTONE"\<br />
ABORT VOICE\<br />
ABORT ERROR\<br />
ABORT RINGING\<br />
TIMEOUT 60\<br />
"" +++\<br />
AT ATZ\<br />
OK ATE1\<br />
OK AT+CFUN=1\<br />
OK AT+COPS\<br />
OK AT+CGDCONT=1,\"IP\",\"internet.eplus.de\"\<br />
OK ATD*99#\<br />
CONNECT /n/d<br />
<br />
----<br />
<br />
=== /etc/ppp/base-disconnect-chat ===<br />
#!/bin/sh -e<br />
/usr/sbin/chat -v\<br />
ABORT OK\<br />
ABORT BUSY\<br />
ABORT DELAYED\<br />
ABORT "NO ANSWER"\<br />
ABORT "NO CARRIER"\<br />
ABORT "NO DIALTONE"\<br />
ABORT VOICE\<br />
ABORT ERROR\<br />
ABORT RINGING\<br />
TIMEOUT 12\<br />
"" \\k\\k\\k\\d+++ATH\<br />
"NO CARRIER-AT-OK" ""<br />
<br />
----<br />
<br />
=== /etc/ppp/chap-secrets ===<br />
#Secrets for authentication using CHAP<br />
# client server secret IP addresses<br />
"eplus" * "gprs" *<br />
<br />
----<br />
<br />
Modified from info found here: [[T-Mobile pppd scripts]]</div>Timhttp://openmoko.org/wiki/Manually_using_GPRSManually using GPRS2008-07-07T18:33:20Z<p>Tim: /* Base scripts */</p>
<hr />
<div>The GPRS connection is made using the PPP protocol to a server identified by an "APN" at the network operator. <br />
<br />
The program that implements PPP on Linux is [[pppd]], which we need to configure and run to get a connection. When that is working, we can configure pppd to wait until it's needed before it connects, and to disconnect if the connection becomes idle. Further, we can start pppd in the background during the boot process.<br />
<br />
== Configuring pppd for manual connections ==<br />
<br />
You'll need /etc/ppp/peers/gprs:<br />
<pre><br />
/dev/ttySAC0 115200<br />
connect /etc/ppp/gprs-connect-chat<br />
crtscts <br />
lock<br />
hide-password<br />
defaultroute<br />
usepeerdns<br />
disconnect /etc/ppp/gprs-disconnect-chat<br />
holdoff 3<br />
ipcp-accept-local<br />
lcp-echo-failure 8<br />
lcp-echo-interval 3<br />
noauth<br />
noipdefault<br />
novj<br />
novjccomp<br />
replacedefaultroute<br />
persist<br />
lcp-echo-interval 3<br />
lcp-echo-failure 12<br />
</pre><br />
<br />
This options where mentioned before with that strange comment. Mine worked fine for me without those.<br />
<br />
<pre><br />
# very long timeouts (unwise?)<br />
lcp-echo-interval 300<br />
lcp-echo-failure 40000<br />
</pre><br />
<br />
Depending on the APN, you may need password authentication using CHAP or PAP. You can add the following default line for "password-less" connections:<br />
<br />
<pre><br />
# client server secret IP addresses<br />
* * "" *<br />
</pre><br />
<br />
For CHAP, lines in /etc/ppp/chap-secrets are used. For PAP, the lines are in /etc/ppp/pap-secrets. The client should match the "user" option in pppd the config file (below). You can use * to mean any here, but the option user "" doesn't mean empty!<br />
<br />
For example:<br />
<br />
<pre><br />
# Secrets for authentication using CHAP<br />
# client server secret IP addresses<br />
"user" * "password" * <br />
</pre><br />
<br />
For this you need the following options in /etc/ppp/peers/gprs:<br />
<br />
<pre><br />
# username to use for authentication, should match "client" in /etc/ppp/{chap,pap}-secrets<br />
user "user"<br />
</pre><br />
<br />
And you'll need /etc/ppp/gprs-connect-chat (needs "chmod +x"):<br />
<br />
<pre><br />
#!/bin/sh -e<br />
exec chat -v\<br />
ABORT BUSY\<br />
ABORT DELAYED\<br />
ABORT "NO ANSWER"\<br />
ABORT "NO DIALTONE"\<br />
ABORT VOICE\<br />
ABORT ERROR\<br />
ABORT RINGING\<br />
TIMEOUT 60\<br />
"" +++\<br />
AT ATZ\<br />
OK ATE1\<br />
OK AT+CFUN=1\<br />
OK AT+COPS\<br />
OK AT+CGDCONT=1,\"IP\",\"internet\"\<br />
OK ATD*99#\<br />
CONNECT /n/d<br />
</pre><br />
<br />
You will need to adjust the APN name "internet" in at+cgdcont line and possibly the phone number in the ATD line to match what your network operator provides. See below in the table "Some APN names for reference" for the right settings for your operator.<br />
<br />
Also good to have is /etc/ppp/gprs-disconnect-chat (needs "chmod +x"):<br />
<br />
<pre><br />
#!/bin/sh -e<br />
/usr/sbin/chat -v\<br />
ABORT OK\<br />
ABORT BUSY\<br />
ABORT DELAYED\<br />
ABORT "NO ANSWER"\<br />
ABORT "NO CARRIER"\<br />
ABORT "NO DIALTONE"\<br />
ABORT VOICE\<br />
ABORT ERROR\<br />
ABORT RINGING\<br />
TIMEOUT 12\<br />
"" \\k\\k\\k\\d+++ATH\<br />
"NO CARRIER-AT-OK" ""<br />
</pre><br />
<br />
The following script can be used to start the ppp connection. First it stops gsmd because gsmd may put the phone in a unknown state. It then turns on the power to the phone, modifies the ownership, and then creates a tty connection. Finally it starts [[pppd]] with the gprs settings.<br />
<br />
<pre><br />
/etc/init.d/gsmd stop<br />
echo "1" > /sys/bus/platform/devices/neo1973-pm-gsm.0/power_on<br />
chown uucp.uucp /dev/ttySAC0<br />
stty -F /dev/ttySAC0 crtscts<br />
pppd call gprs<br />
</pre><br />
<br />
If you are having problems connecting replace the last line with the below line. This will allow you to see the details of the connection on the console. <br />
<br />
<pre><br />
pppd debug nodetach call gprs<br />
</pre><br />
<br />
The config above will establish a persistant link over gprs. The battery will run low in less than an hour. See an example for an on-demand config below.<br />
<br />
=== Resolve.conf issues ===<br />
<br />
The latest build seems to have solved the following issue, it should be automatically updated by pppd.<br />
<br />
If you expeience DNS issues after connecting to DNS you may need a proper /etc/resolv.conf:<br />
<br />
<pre><br />
ln -sf /var/run/resolv.conf /etc<br />
</pre><br />
<br />
If needed put your nameserver for usb-net into /var/run/resolv.conf, not in /etc.<br />
<br />
The image does not set a correct resolv.conf. i do so with an <br />
<br />
<pre><br />
echo nameserver 192.168.0.201 > /var/run/resolv.conf<br />
</pre><br />
<br />
in the right place. because a post-up in /etc/network/interfaces is not supported i do that in /etc/network/if-up.d/08setupdns<br />
<br />
another problem is pppd's /etc/ppp/ip-down.d/92removedns which does not properly remove the link when shuting down ppp. my fix is this script:<br />
<br />
<pre><br />
#!/bin/sh<br />
ACTUALCONF=/var/run/resolv.conf<br />
PPPCONF=/var/run/ppp/resolv.conf<br />
if [ -f $PPPCONF ] ; then<br />
if [ -f $ACTUALCONF ] ; then<br />
if [ ! -h $ACTUALCONF -o ! "`readlink $ACTUALCONF 2>&1`" = "$PPPCONF" ] ; then<br />
mv $ACTUALCONF $ACTUALCONF.ppporig<br />
fi<br />
fi<br />
<br />
ln -sf $PPPCONF $ACTUALCONF<br />
fi<br />
</pre><br />
<br />
<br />
<br />
=== Some APN names for reference ===<br />
<br />
{| border="1"<br />
! Country<br />
! Carrier<br />
! Plan<br />
! APN/Phone<br />
! user/password if required<br />
! Working pppd scripts<br />
|-<br />
| Estonia || Elisa || Any, behind NAT || internet || ||<br />
|-<br />
| Estonia || EMT || Any, behind NAT || internet.emt.ee || ||<br />
|-<br />
| Finland || Saunalahti || Any || internet.saunalahti || ||<br />
|-<br />
| Finland || Sonera || Any, behind NAT || internet || ||<br />
|-<br />
| Finland || Sonera || Any, public IP || prointernet || ||<br />
|-<br />
| France || SFR || 10.x.x.x? || websfr || || under tests<br />
|-<br />
| France || SFR || 10.x.x.x? || wapsfr<sup>[1]</sup>|| || under tests<br />
|-<br />
| France || Orange || ??? || orange.fr || || under tests<br />
|-<br />
| Germany || E-Plus || BASE (and others?) || internet.eplus.de || eplus gprs || [[Base pppd scripts]]<br />
|-<br />
| Germany || T-Mobile || || internet.t-mobile || ||<br />
|-<br />
| Germany || Vodafone || Any, behind NAT || web.vodafone.de || ||<br />
|-<br />
| New Zealand || Vodafone || Any || live.vodafone.com / *99***2#|| ||<br />
|-<br />
| Norway || Netcom || Any || internet.netcom.no || ||<br />
|-<br />
| Norway || Telenor || Any || telenor || ||<br />
|-<br />
| Switzerland || Swisscom || e.g. Natel Basic Liberty, behind NAT || gprs.swisscom.ch || ||<br />
|-<br />
| UK || T-Mobile|| || general.t-mobile.uk || ||<br />
|-<br />
| UK || Virgin || || goto.virginmobile.uk || user ||<br />
|-<br />
| UK || [http://www.filesaveas.com/gprs.html other providers] || || || ||<br />
|-<br />
| USA || Cingular (AT&T) || Less than full internet || wap.cingular / may require *99***1# || ||<br />
|-<br />
| USA || T-mobile || Anything less than full internet || wap.voicestream.com || ||<br />
|- <br />
| USA || T-mobile || Regular internet plan || internet2.voicestream.com || || [[T-Mobile pppd scripts]]<br />
|- <br />
| USA || T-mobile || "VPN" internet plan || internet3.voicestream.com || ||<br />
|- <br />
|}<br />
<br />
[1] connected through a WAP proxy (slower, but the only way to access Vodafone live! and SFR portal)<br />
<br />
[2] Unless stated otherwise the phone number to call is "*99#"<br />
<br />
== Starting pppd automatically ==<br />
<br />
Once you have finished debugging your gprs-connect-chat and gprs options files, you may wish to automatically connect whenever needed and hang up when finished. Make sure you understand the impact of this change to your carrier plan billing. This is not recommended unless you have a large-use or unlimited data plan. These scripts do NOT prompt you before connecting.<br />
<br />
=== On-demand connection settings ===<br />
<br />
Additional settings are needed if you want the actual connection to be up only while there is traffic. In the 'gprs' file above, insert the following, making sure 'nodetach' is commented out. If 'nodetach' is on, the boot process will stop when it starts pppd. Also remove the option 'persist' mentioned above.<br />
<br />
<pre><br />
<br />
# Wait until needed before connecting<br />
demand<br />
<br />
# Disconnect if idle for given amount of seconds<br />
idle 20<br />
<br />
</pre><br />
<br />
=== Start on boot (method 1) ===<br />
<br />
Add the following definition to /etc/network/interfaces:<br />
<pre><br />
auto ppp0<br />
iface ppp0 inet ppp<br />
provider gprs<br />
</pre><br />
<br />
That should be it. Now you can use 'ifup ppp0' and 'ifdown ppp0' manually too.<br />
<br />
=== Start on boot (method 2) ===<br />
<br />
Create the following file as /etc/ppp/ppp_on_boot (needs chmod +x). The /etc/init.d/ppp script will call it to set up the daemon.<br />
<pre><br />
#!/bin/sh<br />
#<br />
# Rename this file to ppp_on_boot and pppd will be fired up as<br />
# soon as the system comes up, connecting to `provider'.<br />
#<br />
# If you also make this file executable, and replace the first line<br />
# with just "#!/bin/sh", the commands below will be executed instead.<br />
#<br />
<br />
# The location of the ppp daemon itself (shouldn't need to be changed)<br />
PPPD=/usr/sbin/pppd<br />
<br />
# The default provider to connect to<br />
$PPPD call gprs<br />
<br />
# Additional connections, which would just use settings from<br />
# /etc/ppp/options.<tty><br />
#$PPPD ttyS0<br />
#$PPPD ttyS1<br />
#$PPPD ttyS2<br />
#$PPPD ttyS3<br />
</pre><br />
<br />
<br />
Finally, you need to add the /etc/init.d/ppp script to the init process by creating symbolic links from the appropriate directories. I chose the following:<br />
<br />
<pre><br />
/etc/rc0.d/K25ppp<br />
/etc/rc1.d/K45ppp<br />
/etc/rc2.d/S45ppp<br />
/etc/rc3.d/S45ppp<br />
/etc/rc4.d/S45ppp<br />
/etc/rc5.d/S45ppp<br />
/etc/rc6.d/K25ppp<br />
</pre><br />
<br />
== See also ==<br />
* [[pppd]]<br />
* [[Manually using GSM]]<br />
* [[Manually using Bluetooth]]<br />
<br />
{{Languages|Manually_using_GPRS}}<br />
[[Category:Documentation]]<br />
[[Category:Application Developer]]<br />
<br />
[[Category:Guides]]</div>Timhttp://openmoko.org/wiki/Base_pppd_scriptsBase pppd scripts2008-07-07T18:29:31Z<p>Tim: New page: These scripts work for the german provider BASE (so might work for E-Plus too). === /etc/ppp/peers/base === # File: /etc/ppp/peers/base # dev/ttySAC0 115200 connect /etc/ppp/base-con...</p>
<hr />
<div>These scripts work for the german provider BASE (so might work for E-Plus too). <br />
<br />
=== /etc/ppp/peers/base ===<br />
# File: /etc/ppp/peers/base<br />
#<br />
dev/ttySAC0 115200<br />
connect /etc/ppp/base-connect-chat<br />
crtscts<br />
lock<br />
hide-password<br />
defaultroute<br />
usepeerdns<br />
disconnect /etc/ppp/base-disconnect-chat<br />
holdoff 3<br />
ipcp-accept-local<br />
lcp-echo-failure 8<br />
lcp-echo-interval 3<br />
noauth<br />
noipdefault<br />
novj<br />
novjccomp<br />
replacedefaultroute<br />
persist<br />
lcp-echo-interval 3<br />
lcp-echo-failure 12<br />
# username to use for authentication, should match "client" in /etc/ppp/chap-secrets<br />
user "eplus"<br />
<br />
----<br />
<br />
=== /etc/ppp/base-connect-chat ===<br />
#!/bin/sh -e<br />
exec chat -v\<br />
ABORT BUSY\<br />
ABORT DELAYED\<br />
ABORT "NO ANSWER"\<br />
ABORT "NO DIALTONE"\<br />
ABORT VOICE\<br />
ABORT ERROR\<br />
ABORT RINGING\<br />
TIMEOUT 60\<br />
"" +++\<br />
AT ATZ\<br />
OK ATE1\<br />
OK AT+CFUN=1\<br />
OK AT+COPS\<br />
OK AT+CGDCONT=1,\"IP\",\"internet.eplus.de\"\<br />
OK ATD*99#\<br />
CONNECT /n/d<br />
<br />
----<br />
<br />
=== /etc/ppp/base-disconnect-chat ===<br />
#!/bin/sh -e<br />
/usr/sbin/chat -v\<br />
ABORT OK\<br />
ABORT BUSY\<br />
ABORT DELAYED\<br />
ABORT "NO ANSWER"\<br />
ABORT "NO CARRIER"\<br />
ABORT "NO DIALTONE"\<br />
ABORT VOICE\<br />
ABORT ERROR\<br />
ABORT RINGING\<br />
TIMEOUT 12\<br />
"" \\k\\k\\k\\d+++ATH\<br />
"NO CARRIER-AT-OK" ""<br />
<br />
----<br />
<br />
=== /etc/ppp/chap-secrets ===<br />
#Secrets for authentication using CHAP<br />
# client server secret IP addresses<br />
"eplus" * "gprs" *<br />
<br />
----<br />
<br />
Modified from info found here: [http://wiki.openmoko.org/wiki/T-Mobile_pppd_scripts]</div>Timhttp://openmoko.org/wiki/Neo_FreeRunner_WifiNeo FreeRunner Wifi2008-07-06T17:35:48Z<p>Tim: </p>
<hr />
<div>To get wlan working on your Freerunner, you can follow these steps:<br />
<br />
1. create and edit a suitable /etc/wpa_supplicant/wpa_supplicant.conf (use your favourite search engine to find the syntax)<br />
<br />
2. execute `ifup eth0`<br />
<br />
3. execute `wpa_supplicant -ieth0 -c/etc/wpa_supplicant/wpa_supplicant.conf -B` (-B for running as daemon)<br />
<br />
4. get a IP via dhcp: `udhcpc eth0`<br />
<br />
That's it, your wlan should now work!<br />
<br />
Sample wpa_supplicant.conf:<br />
<br />
ctrl_interface=/var/run/wpa_supplicant<br />
eapol_version=1<br />
ap_scan=1<br />
<br />
# WPA2:<br />
network={<br />
ssid="your ssid"<br />
scan_ssid=1<br />
proto=RSN<br />
key_mgmt=WPA-PSK<br />
pairwise=CCMP TKIP<br />
group=TKIP CCMP<br />
psk="secret key"<br />
priority=50<br />
}<br />
<br />
# WPA:<br />
network={<br />
ssid="your_ssid"<br />
scan_ssid=1<br />
psk="secret key"<br />
priority=10<br />
}<br />
<br />
# WEP:<br />
network={<br />
ssid="your_ssid"<br />
scan_ssid=1<br />
key_mgmt=NONE<br />
wep_tx_keyidx=0<br />
wep_key0="secret key"<br />
priority=8<br />
}<br />
<br />
# Open:<br />
network={<br />
ssid="your ssid"<br />
key_mgmt=NONE<br />
priority=5<br />
}<br />
<br />
A very ugly /etc/init.d/wlan startscript:<br />
#!/bin/sh<br />
#<br />
# wlan This shell script starts and stops wlan.<br />
#<br />
# processname: wlan<br />
<br />
# Source function library.<br />
#. /etc/rc.d/init.d/functions<br />
# "written" by HdR<br />
<br />
RETVAL=0<br />
prog="wlan"<br />
<br />
# test -f /etc/default/$prog && . /etc/default/$prog<br />
<br />
start() {<br />
echo -n "Starting $prog: "<br />
ifconfig eth0 up<br />
wpa_supplicant -ieth0 -c/etc/wpa_supplicant/wpa_supplicant.conf -B<br />
sleep 10<br />
udhcpc eth0<br />
RETVAL=$?<br />
return $RETVAL<br />
}<br />
<br />
stop() {<br />
# Stop daemons.<br />
echo -n "Shutting down $prog: "<br />
killall wpa_supplicant<br />
ifconfig eth0 down<br />
# killproc gpsd<br />
RETVAL=$?<br />
return $RETVAL<br />
}<br />
<br />
# See how we were called.<br />
case "$1" in<br />
start)<br />
start<br />
;;<br />
stop)<br />
stop<br />
;;<br />
restart|reload)<br />
stop<br />
start<br />
RETVAL=$?<br />
;;<br />
*)<br />
echo "Usage: $0 {start|stop|restart}"<br />
exit 1<br />
esac<br />
<br />
exit $RETVAL<br />
<br />
An alternative way to automate adds the wpa_supplicant details to /etc/network/interfaces:<br />
iface eth0 inet dhcp<br />
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf<br />
Now `ifup eth0` will start up wpa_supplicant and udhcpc for you, and `ifdown eth0` will stop them, in theory at least. In practise udhcpc can time out before wpa_supplicant has finished connecting to the access point, and if udhcpc has failed to get an address ifdown exits without stopping wpa_supplicant and bringing down the interface.<br />
<br />
[[Category:GTA02 Hardware]]</div>Timhttp://openmoko.org/wiki/Getting_Started_with_your_Neo_FreeRunnerGetting Started with your Neo FreeRunner2008-07-06T00:13:16Z<p>Tim: /* Step 3. Flashing Root Filesystem */</p>
<hr />
<div>{{Languages|Getting Started with your Neo FreeRunner}}<br />
<br />
{| class="wikitable" cellspacing="2" cellpadding="2" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #cccccc; background:#eeeeee; width:100%;floating="center"; "<br />
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:75% " | <br />
<div align="left"><br />
Thank you for purchasing this Developer release of Neo FreeRunner. The [[Neo FreeRunner]] phone is the second hardware platform to take advantage of Openmoko. This guide will help you get to know your Neo FreeRunner and how to start using your Neo FreeRunner.<br />
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% " |<br />
[[Image:Freerunner box.png|200px|thumb|Neo FreeRunner Package]]<br />
|}<br />
<br />
== What Is In The Box==<br />
<br />
{| class="wikitable" cellspacing="2" cellpadding="2" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #ffffff; background:#ffffff; width:80%; floating="center"; "<br />
! style="background:#ffffff;border-left:1px solid #ffffff;border-right:1px ; border-top:2px solid ffffff; border:1px solid #ffffff; " | <br />
<div align="left"><br />
[[Image:GTA02ALL.png|400px|thumb|Inside package]]<br />
|<br />
<br />
: [[Image:Circle2.gif|10px]] Neo FreeRunner<br />
: [[Image:Circle2.gif|10px]] Stylus<br />
: [[Image:Circle2.gif|10px]] Battery<br />
: [[Image:Circle2.gif|10px]] Charger<br />
: [[Image:Circle2.gif|10px]] USB Cable <br />
: [[Image:Circle2.gif|10px]] microSD Card 512MB<br />
|}<br />
</div><br />
<br />
==Getting To Know Neo FreeRunner==<br />
<br />
<div align-center><br />
<table width="80%" style="clear: both; border: 1px solid #ffffff; border-collapse: collapse; padding: 0.2em; margin: 0; font-size: 100%; margin: 0 1px;"><br />
<tr valign="top" style="background: #ffffff"><br />
<td style="width: 25px; padding-left: 0.5em;"><br />
</td><br />
<td style="width: 10px; white-space: nowrap; padding: 4px 1em 0 0.5em; border-right: 1px solid #ffffff;">[[Image:menu8.jpg|370px|thumb|AUX Button and phone jack(From left to right)|center]]</td><td style="padding: 1px 1em 0; background: #ffffff;"><br />
[[Image:menu9.jpg|365px|thumb|Power Button, USB and external GPS Antenna (From left to right)|center]]</td></tr></table><br />
</div><br />
<br />
<div align-center><br />
<table width="80%" style="clear: both; border: 1px solid #ffffff; border-collapse: collapse; padding: 0.2em; margin: 0; font-size: 100%; margin: 0 1px;"><br />
<tr valign="top" style="background: #ffffff"><br />
<td style="width: 50%; padding-left: 0.5em;"><br />
</td><br />
<td style="width: 50%; white-space: nowrap; padding: 4px 1em 0 0.5em; border-right: 1px solid #ffffff;">[[Image:menu12.jpg|233px|thumb|AUX Back side with battery|center]]</td><td style="padding: 1px 1em 0; background: #ffffff;"><br />
[[Image:menu11.jpg|260px|thumb|Put the SIM card and SD card here|center]]</td></tr></table><br />
</div><br />
<br />
<div align-center><br />
<table width="80%" style="clear: both; border: 1px solid #ffffff; border-collapse: collapse; padding: 0.2em; margin: 0; font-size: 100%; margin: 0 1px;"><br />
<tr valign="top" style="background: #ffffff"><br />
<td style="width: 50%; padding-left: 0.5em;"><br />
</td><br />
<td style="width: 50%; white-space: nowrap; padding: 4px 1em 0 0.5em; border-right: 1px solid #ffffff;">[[Image:menu13.jpg|233px|thumb|open case from this side |center]]</td><td style="padding: 1px 1em 0; background: #ffffff;"><br />
[[Image:menu14.jpg|250px|thumb|Opened|center]]</td></tr></table><br />
</div><br />
<br />
===Turning On Neo FreeRunner===<br />
<br />
You can boot your Neo FreeRunner in following ways:<br />
<br />
: [[Image:Circle2.gif|10px]] You can power up into an Openmoko image directly. <br />
<br />
: [[Image:Circle2.gif|10px]] Boot into [[Bootloader|U-Boot]] via [[NAND Flash]].<br />
<br />
: [[Image:Circle2.gif|10px]] Boot into U-Boot via NOR Flash.<br />
<br />
These ways allows you to update the kernel and root filesystem.<br />
<br />
====Start the Openmoko Image====<br />
<br />
<div align-center><br />
<table width="100%" style="clear: both; border: 1px solid #ffffff; border-collapse: collapse; padding: 0.2em; margin: 0; font-size: 100%; margin: 0 1px;"><br />
<tr valign="top" style="background: #ffffff"><br />
<td style="width: 25px; padding-left: 0.5em;"><br />
<br />
</td><br />
<td style="width: 10px; white-space: nowrap; padding: 4px 1em 0 0.5em; border-right: 1px solid #ffffff;">[[Image:Menu2.jpg|200px|right|thumb]]</td><td style="padding: 1px 1em 0; background: #eeeeee;"><br />
Press and hold Power button (about 8 seconds) until Openmoko splash screen turns up. You may now release the Power button, and Neo FreeRunner will continue to boot into the Openmoko Image.<br />
<br />
</td></tr></table><br />
</div><br />
<br />
====Log into U-Boot in NAND Flash====<br />
<br />
<div align-center><br />
<table width="100%" style="clear: both; border: 1px solid #ffffff; border-collapse: collapse; padding: 0.2em; margin: 0; font-size: 100%; margin: 0 1px;"><br />
<tr valign="top" style="background: #ffffff"><br />
<td style="width: 25px; padding-left: 0.5em;"><br />
<br />
</td><br />
<td style="width: 10px; white-space: nowrap; padding: 4px 1em 0 0.5em; border-right: 1px solid #ffffff;">[[Image:Menu7.jpg|200px|right|thumb]]</td><td style="padding: 1px 1em 0; background: #eeeeee;"><br />
Press and hold Power button, then press and hold AUX button (about 5~8 seconds ). You can see BOOT MENU for NAND Flash. Press AUX to select the options, Power to execute.<br />
</td></tr></table><br />
</div><br />
<br />
====Log into U-Boot in NOR Flash====<br />
<br />
<div align-center><br />
<table width="100%" style="clear: both; border: 1px solid #ffffff; border-collapse: collapse; padding: 0.2em; margin: 0; font-size: 100%; margin: 0 1px;"><br />
<tr valign="top" style="background: #ffffff"><br />
<td style="width: 25px; padding-left: 0.5em;"><br />
<br />
</td><br />
<td style="width: 10px; white-space: nowrap; padding: 4px 1em 0 0.5em; border-right: 1px solid #ffffff;">[[Image:Menu6.jpg|200px|right|thumb]]</td><td style="padding: 1px 1em 0; background: #eeeeee;"><br />
<br />
Press and hold AUX button, then press and hold Power button. Release AUX button. You can see BOOT MENU for NOR Flash. (This option is usually used by developers or when flashing the FreeRunner. Also, if you can't log into U-Boot in NAND, then you can log into U-Boot in NOR Flash.) <br />
</td></tr></table><br />
</div><br />
<br />
{{note| There are six options you can choose when you log into NOR Flash.<br />
1. Boot<br />
<br />
2. [[Boot from sd card|Boot from MicroSD]]<br />
<br />
3. Set console to USB <br />
<br />
4. Set console to Serial<br />
<br />
5. Reset<br />
<br />
6. Power off <br />
<br />
}}<br />
<br />
==Flashing Neo FreeRunner==<br />
As Openmoko development continues, Openmoko regularly releases updated versions of the Openmoko root filesystem, the kernel, and the[[Bootloader| U-Boot]]. These may be programmed into the Flash memory of Neo FreeRunner. You can use the USB cable and Openmoko provided tool to flash Neo FreeRunner.<br />
<br />
{{note|The Openmoko software team builds images daily. If you want to use the latest images, you can download the image from the daily build, but we recommend you download the most stable image from http://downloads.openmoko.org/releases/Freerunner/. Images here have been tested by the test team.}}<br />
<br />
===Step1. Download DFU-util===<br />
<br />
You can download the flashing tool from: <br />
http://downloads.openmoko.org/releases/Freerunner/dfu-util<br />
<br />
On the GNU/Linux host, you you can use following command to download dfu-util:<br />
wget http://downloads.openmoko.org/releases/Freerunner/dfu-util<br />
<br />
Afterwards you have to change the rights:<br />
chmod a+x dfu-util<br />
<br />
===Step 2. Flashing Kernel===<br />
<br />
You can download the kernel from <br />
http://downloads.openmoko.org/releases/Freerunner/<br />
<br />
Type in the following command in the terminal of a GNU/Linux host. On some systems you need to be root.<br />
./dfu-util -a (partion name) -R -D (download image file name)<br />
<br />
<br />
ex:<br />
<br />
./dfu-util -a kernel -R -D uImage-2.6.24+svnr4082-r4055-r3-neo1973.bin<br />
<br />
{| class="wikitable" cellspacing="2" cellpadding="2" style="padding: 0%; margin:0em 0em 1em 0em; border:0px solid #ffffff; background:#ffffff; width:100%;floating="center"; "<br />
! style="background:#ffffff;border-left:1px solid #ffffff;border-right:1px ; border-top:2px solid ffffff; border:1px solid #ffffff; width:75% " | <br />
<div align="left"><br />
[[Image:menu15.jpg|thumb|Log into U-Boot in NOR Flash, connect your Neo with Linux Host via USB cable]]<br />
Before you execute the command , please log into U-Boot in NOR Flash. Neo FreeRunner needs to boot into U-Boot when flashing.<br />
<br />
Then connect your Neo with Linux Host via USB cable. Press Enter to execute the command. When flashing succeeds<br />
<br />
status(0) = No error condition is present<br><br />
Done!<br />
</div><br />
|}<br />
<br />
{{note| The meaning of parameter you spcified:<br />
-a --alt alt Specify the altsetting of the DFU interface by name or by number<br><br />
-R --reset Issue USB Reset signalling once we're finished<br><br />
-D --download file Write firmware from<file> into device <br><br />
}}<br />
<br />
===Step 3. Flashing Root Filesystem ===<br />
You can download the root filesystem from :<br />
http://downloads.openmoko.org/releases/Freerunner/<br />
<br />
Type in the following command in the terminal of a GNU/Linux host. On some systems you need to be root.<br />
<br />
./dfu-util -a rootfs -R -D openmoko-devel-image-fic-gta02.jffs2<br />
<br />
When flashing succeeds<br />
<br />
status(0) = No error condition is present<br><br />
Done!<br />
<br />
==Connect To Neo FreeRunner By USB Networking==<br />
<br />
Connect Neo FreeRunner to Linux host with USB cable. For OS X please refer to [[MacOS_X]]. After booting into Openmoko image, there will be a new interface, usb0, in your Linux host.<br />
<br />
=====Manual Method=====<br />
Type in the following command in the terminal of a GNU/Linux host.<br />
<br />
ifconfig usb0 192.168.0.200 netmask 255.255.255.0<br />
ssh root@192.168.0.202<br />
<br />
Press Enter to pass the password.<br />
<br />
=====Automatic Method=====<br />
*Debian and derivatives (Ubuntu, Sidux etc.)<br />
Edit /etc/network/interfaces<br />
<br />
auto usb0<br />
iface usb0 inet static<br />
address 192.168.0.200<br />
netmask 255.255.255.0<br />
<br />
*Gentoo <br />
Edit /etc/conf.d/net<br />
<br />
config_usb0="192.168.0.200/24"<br />
<br />
Restart the networking service and type in the following command in the terminal of GNU/Linux host.<br />
<br />
ssh root@192.168.0.202<br />
<br />
Press Enter to pass the password.<br />
<br />
=====Making things even more automatic=====<br />
If you don't want to remember the IP number of your phone you can create an alias by adding the following line to your /etc/hosts:<br />
<br />
192.168.0.202 openmoko<br />
<br />
Now it should immediately be possible to connect your phone using the following command line:<br />
<br />
ssh root@openmoko<br />
<br />
==Appendix==<br />
If you want to know more about FreeRunner, you can get more information in following topics:<br />
* [[GTA02 Openness]]<br />
* [[Neo FreeRunner]]<br />
* [[Neo FreeRunner GTA02 Hardware]]<br />
* [[FreeRunner/Buttons and LEDs]]<br />
<br />
[[Category:Hardware Support]]<br />
[[Category:GTA02 Hardware]]</div>Timhttp://openmoko.org/wiki/Getting_Started_with_your_Neo_FreeRunnerGetting Started with your Neo FreeRunner2008-07-06T00:12:48Z<p>Tim: /* Step 2. Flashing Kernel */</p>
<hr />
<div>{{Languages|Getting Started with your Neo FreeRunner}}<br />
<br />
{| class="wikitable" cellspacing="2" cellpadding="2" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #cccccc; background:#eeeeee; width:100%;floating="center"; "<br />
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:75% " | <br />
<div align="left"><br />
Thank you for purchasing this Developer release of Neo FreeRunner. The [[Neo FreeRunner]] phone is the second hardware platform to take advantage of Openmoko. This guide will help you get to know your Neo FreeRunner and how to start using your Neo FreeRunner.<br />
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:1px solid #222222; width:25% " |<br />
[[Image:Freerunner box.png|200px|thumb|Neo FreeRunner Package]]<br />
|}<br />
<br />
== What Is In The Box==<br />
<br />
{| class="wikitable" cellspacing="2" cellpadding="2" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #ffffff; background:#ffffff; width:80%; floating="center"; "<br />
! style="background:#ffffff;border-left:1px solid #ffffff;border-right:1px ; border-top:2px solid ffffff; border:1px solid #ffffff; " | <br />
<div align="left"><br />
[[Image:GTA02ALL.png|400px|thumb|Inside package]]<br />
|<br />
<br />
: [[Image:Circle2.gif|10px]] Neo FreeRunner<br />
: [[Image:Circle2.gif|10px]] Stylus<br />
: [[Image:Circle2.gif|10px]] Battery<br />
: [[Image:Circle2.gif|10px]] Charger<br />
: [[Image:Circle2.gif|10px]] USB Cable <br />
: [[Image:Circle2.gif|10px]] microSD Card 512MB<br />
|}<br />
</div><br />
<br />
==Getting To Know Neo FreeRunner==<br />
<br />
<div align-center><br />
<table width="80%" style="clear: both; border: 1px solid #ffffff; border-collapse: collapse; padding: 0.2em; margin: 0; font-size: 100%; margin: 0 1px;"><br />
<tr valign="top" style="background: #ffffff"><br />
<td style="width: 25px; padding-left: 0.5em;"><br />
</td><br />
<td style="width: 10px; white-space: nowrap; padding: 4px 1em 0 0.5em; border-right: 1px solid #ffffff;">[[Image:menu8.jpg|370px|thumb|AUX Button and phone jack(From left to right)|center]]</td><td style="padding: 1px 1em 0; background: #ffffff;"><br />
[[Image:menu9.jpg|365px|thumb|Power Button, USB and external GPS Antenna (From left to right)|center]]</td></tr></table><br />
</div><br />
<br />
<div align-center><br />
<table width="80%" style="clear: both; border: 1px solid #ffffff; border-collapse: collapse; padding: 0.2em; margin: 0; font-size: 100%; margin: 0 1px;"><br />
<tr valign="top" style="background: #ffffff"><br />
<td style="width: 50%; padding-left: 0.5em;"><br />
</td><br />
<td style="width: 50%; white-space: nowrap; padding: 4px 1em 0 0.5em; border-right: 1px solid #ffffff;">[[Image:menu12.jpg|233px|thumb|AUX Back side with battery|center]]</td><td style="padding: 1px 1em 0; background: #ffffff;"><br />
[[Image:menu11.jpg|260px|thumb|Put the SIM card and SD card here|center]]</td></tr></table><br />
</div><br />
<br />
<div align-center><br />
<table width="80%" style="clear: both; border: 1px solid #ffffff; border-collapse: collapse; padding: 0.2em; margin: 0; font-size: 100%; margin: 0 1px;"><br />
<tr valign="top" style="background: #ffffff"><br />
<td style="width: 50%; padding-left: 0.5em;"><br />
</td><br />
<td style="width: 50%; white-space: nowrap; padding: 4px 1em 0 0.5em; border-right: 1px solid #ffffff;">[[Image:menu13.jpg|233px|thumb|open case from this side |center]]</td><td style="padding: 1px 1em 0; background: #ffffff;"><br />
[[Image:menu14.jpg|250px|thumb|Opened|center]]</td></tr></table><br />
</div><br />
<br />
===Turning On Neo FreeRunner===<br />
<br />
You can boot your Neo FreeRunner in following ways:<br />
<br />
: [[Image:Circle2.gif|10px]] You can power up into an Openmoko image directly. <br />
<br />
: [[Image:Circle2.gif|10px]] Boot into [[Bootloader|U-Boot]] via [[NAND Flash]].<br />
<br />
: [[Image:Circle2.gif|10px]] Boot into U-Boot via NOR Flash.<br />
<br />
These ways allows you to update the kernel and root filesystem.<br />
<br />
====Start the Openmoko Image====<br />
<br />
<div align-center><br />
<table width="100%" style="clear: both; border: 1px solid #ffffff; border-collapse: collapse; padding: 0.2em; margin: 0; font-size: 100%; margin: 0 1px;"><br />
<tr valign="top" style="background: #ffffff"><br />
<td style="width: 25px; padding-left: 0.5em;"><br />
<br />
</td><br />
<td style="width: 10px; white-space: nowrap; padding: 4px 1em 0 0.5em; border-right: 1px solid #ffffff;">[[Image:Menu2.jpg|200px|right|thumb]]</td><td style="padding: 1px 1em 0; background: #eeeeee;"><br />
Press and hold Power button (about 8 seconds) until Openmoko splash screen turns up. You may now release the Power button, and Neo FreeRunner will continue to boot into the Openmoko Image.<br />
<br />
</td></tr></table><br />
</div><br />
<br />
====Log into U-Boot in NAND Flash====<br />
<br />
<div align-center><br />
<table width="100%" style="clear: both; border: 1px solid #ffffff; border-collapse: collapse; padding: 0.2em; margin: 0; font-size: 100%; margin: 0 1px;"><br />
<tr valign="top" style="background: #ffffff"><br />
<td style="width: 25px; padding-left: 0.5em;"><br />
<br />
</td><br />
<td style="width: 10px; white-space: nowrap; padding: 4px 1em 0 0.5em; border-right: 1px solid #ffffff;">[[Image:Menu7.jpg|200px|right|thumb]]</td><td style="padding: 1px 1em 0; background: #eeeeee;"><br />
Press and hold Power button, then press and hold AUX button (about 5~8 seconds ). You can see BOOT MENU for NAND Flash. Press AUX to select the options, Power to execute.<br />
</td></tr></table><br />
</div><br />
<br />
====Log into U-Boot in NOR Flash====<br />
<br />
<div align-center><br />
<table width="100%" style="clear: both; border: 1px solid #ffffff; border-collapse: collapse; padding: 0.2em; margin: 0; font-size: 100%; margin: 0 1px;"><br />
<tr valign="top" style="background: #ffffff"><br />
<td style="width: 25px; padding-left: 0.5em;"><br />
<br />
</td><br />
<td style="width: 10px; white-space: nowrap; padding: 4px 1em 0 0.5em; border-right: 1px solid #ffffff;">[[Image:Menu6.jpg|200px|right|thumb]]</td><td style="padding: 1px 1em 0; background: #eeeeee;"><br />
<br />
Press and hold AUX button, then press and hold Power button. Release AUX button. You can see BOOT MENU for NOR Flash. (This option is usually used by developers or when flashing the FreeRunner. Also, if you can't log into U-Boot in NAND, then you can log into U-Boot in NOR Flash.) <br />
</td></tr></table><br />
</div><br />
<br />
{{note| There are six options you can choose when you log into NOR Flash.<br />
1. Boot<br />
<br />
2. [[Boot from sd card|Boot from MicroSD]]<br />
<br />
3. Set console to USB <br />
<br />
4. Set console to Serial<br />
<br />
5. Reset<br />
<br />
6. Power off <br />
<br />
}}<br />
<br />
==Flashing Neo FreeRunner==<br />
As Openmoko development continues, Openmoko regularly releases updated versions of the Openmoko root filesystem, the kernel, and the[[Bootloader| U-Boot]]. These may be programmed into the Flash memory of Neo FreeRunner. You can use the USB cable and Openmoko provided tool to flash Neo FreeRunner.<br />
<br />
{{note|The Openmoko software team builds images daily. If you want to use the latest images, you can download the image from the daily build, but we recommend you download the most stable image from http://downloads.openmoko.org/releases/Freerunner/. Images here have been tested by the test team.}}<br />
<br />
===Step1. Download DFU-util===<br />
<br />
You can download the flashing tool from: <br />
http://downloads.openmoko.org/releases/Freerunner/dfu-util<br />
<br />
On the GNU/Linux host, you you can use following command to download dfu-util:<br />
wget http://downloads.openmoko.org/releases/Freerunner/dfu-util<br />
<br />
Afterwards you have to change the rights:<br />
chmod a+x dfu-util<br />
<br />
===Step 2. Flashing Kernel===<br />
<br />
You can download the kernel from <br />
http://downloads.openmoko.org/releases/Freerunner/<br />
<br />
Type in the following command in the terminal of a GNU/Linux host. On some systems you need to be root.<br />
./dfu-util -a (partion name) -R -D (download image file name)<br />
<br />
<br />
ex:<br />
<br />
./dfu-util -a kernel -R -D uImage-2.6.24+svnr4082-r4055-r3-neo1973.bin<br />
<br />
{| class="wikitable" cellspacing="2" cellpadding="2" style="padding: 0%; margin:0em 0em 1em 0em; border:0px solid #ffffff; background:#ffffff; width:100%;floating="center"; "<br />
! style="background:#ffffff;border-left:1px solid #ffffff;border-right:1px ; border-top:2px solid ffffff; border:1px solid #ffffff; width:75% " | <br />
<div align="left"><br />
[[Image:menu15.jpg|thumb|Log into U-Boot in NOR Flash, connect your Neo with Linux Host via USB cable]]<br />
Before you execute the command , please log into U-Boot in NOR Flash. Neo FreeRunner needs to boot into U-Boot when flashing.<br />
<br />
Then connect your Neo with Linux Host via USB cable. Press Enter to execute the command. When flashing succeeds<br />
<br />
status(0) = No error condition is present<br><br />
Done!<br />
</div><br />
|}<br />
<br />
{{note| The meaning of parameter you spcified:<br />
-a --alt alt Specify the altsetting of the DFU interface by name or by number<br><br />
-R --reset Issue USB Reset signalling once we're finished<br><br />
-D --download file Write firmware from<file> into device <br><br />
}}<br />
<br />
===Step 3. Flashing Root Filesystem ===<br />
You can download the root filesystem from :<br />
http://downloads.openmoko.org/releases/Freerunner/<br />
<br />
Type in the following command in the terminal of a GNU/Linux host.<br />
<br />
./dfu-util -a rootfs -R -D openmoko-devel-image-fic-gta02.jffs2<br />
<br />
When flashing succeeds<br />
<br />
status(0) = No error condition is present<br><br />
Done!<br />
<br />
==Connect To Neo FreeRunner By USB Networking==<br />
<br />
Connect Neo FreeRunner to Linux host with USB cable. For OS X please refer to [[MacOS_X]]. After booting into Openmoko image, there will be a new interface, usb0, in your Linux host.<br />
<br />
=====Manual Method=====<br />
Type in the following command in the terminal of a GNU/Linux host.<br />
<br />
ifconfig usb0 192.168.0.200 netmask 255.255.255.0<br />
ssh root@192.168.0.202<br />
<br />
Press Enter to pass the password.<br />
<br />
=====Automatic Method=====<br />
*Debian and derivatives (Ubuntu, Sidux etc.)<br />
Edit /etc/network/interfaces<br />
<br />
auto usb0<br />
iface usb0 inet static<br />
address 192.168.0.200<br />
netmask 255.255.255.0<br />
<br />
*Gentoo <br />
Edit /etc/conf.d/net<br />
<br />
config_usb0="192.168.0.200/24"<br />
<br />
Restart the networking service and type in the following command in the terminal of GNU/Linux host.<br />
<br />
ssh root@192.168.0.202<br />
<br />
Press Enter to pass the password.<br />
<br />
=====Making things even more automatic=====<br />
If you don't want to remember the IP number of your phone you can create an alias by adding the following line to your /etc/hosts:<br />
<br />
192.168.0.202 openmoko<br />
<br />
Now it should immediately be possible to connect your phone using the following command line:<br />
<br />
ssh root@openmoko<br />
<br />
==Appendix==<br />
If you want to know more about FreeRunner, you can get more information in following topics:<br />
* [[GTA02 Openness]]<br />
* [[Neo FreeRunner]]<br />
* [[Neo FreeRunner GTA02 Hardware]]<br />
* [[FreeRunner/Buttons and LEDs]]<br />
<br />
[[Category:Hardware Support]]<br />
[[Category:GTA02 Hardware]]</div>Tim