http://openmoko.org/api.php?action=feedcontributions&user=Marko+Kn%C3%B6bl&feedformat=atomOpenmoko - User contributions [en]2024-03-29T15:49:55ZUser contributionsMediaWiki 1.19.24http://openmoko.org/wiki/Category:Candidates_for_speedy_deletionCategory:Candidates for speedy deletion2010-08-30T17:20:45Z<p>Marko Knöbl: </p>
<hr />
<div>this category is made to help administrators to find pages someone else has tagged for deletion.<br />
<br />
The template <nowiki>{{Delete-sp}}</nowiki> automatically inserts this category: ''Category:Candidates for speedy deletion''. Please only add pages whose content is obviously wrong, irrelevant or spam. If this is not the case please nominate it for deletion at [[Wiki Issues]] so we can discuss about and vote on the deletion.<br />
<br />
[[Category:Wiki Editing]]</div>Marko Knöblhttp://openmoko.org/wiki/BackupBackup2010-08-29T19:51:34Z<p>Marko Knöbl: Undo revision 82184 by Mefio (Talk):spam</p>
<hr />
<div>== Backing up just PIM data ==<br />
<br />
The following applies to all Qtopia PIM suite based derivations (FDOM, 2008.8, Qtopia). PIM data covers:<br />
<br />
* Contacts, calendar appointments, and tasks<br />
* E-Mails and text messages<br />
<br />
To make a backup which can be easily restored later on use secure copy:<br />
<br />
scp -pr root@192.168.0.202:~/Applications/ .<br />
scp -pr root@192.168.0.202:~/Documents/ .<br />
<br />
To restore do the reverse:<br />
<br />
scp -pr Applications root@192.168.0.202:~/<br />
scp -pr Documents root@192.168.0.202:~/<br />
<br />
Make sure you restart to allow the Qtopia PIM suite to see the changes:<br />
<br />
reboot<br />
<br />
This way we can flash applicable distributions with minimal effort without loosing important data. To access the PIM data on the computer take a look at the following files and folders:<br />
<br />
* Contacts, calendar appointments, and tasks are kept in <tt>~/Applications/Qtopia/qtopia_db.sqlite</tt>.<br />
* E-Mails and text messages are kept in <tt>~/Applications/qtmail/mail/</tt>.<br />
<br />
== Backing up just /home/root ==<br />
<br />
To backup the home folder (all your personal files in theory).<br />
<br />
From the desktop pc run:<br />
<br />
ssh root@phone 'tar -cpz /home/root' > moko-home-`date +%Y%m%d-%H%M%S`.tar.gz<br />
<br />
Where '''<tt>phone</tt>''' is the ip address of your phone (192.168.0.202).<br />
<br />
Personally I added an entry to /etc/hosts so the above works for me. I also added the desktop key to /home/root/.ssh/authorized_keys on the phone as per the instructions in [[USB_Networking#SSH_Keys]].<br />
<br />
If you want to check what is in the backup, run the following, replacing the filename with what was just created.<br />
<br />
tar -tzf moko-home-20080802-203108.tar.gz | less<br />
<br />
[http://timwise.wikispaces.com/my+neo+freerunner reference]<br />
<br />
== Backing up everything ==<br />
<br />
You may either :<br />
* Backup the flash contents, in order to be able to restore (see below)<br />
* or move the system to SD to be able to boot it from SD in case of need. See [[Moving current system from flash to SD]]<br />
<br />
=== Backing-up flash images ===<br />
<br />
{{note|Upload support is currently broken - [http://docs.openmoko.org/trac/ticket/676 #676], [http://docs.openmoko.org/trac/ticket/1843 #1843]}}<br />
<br />
You will need the [[Dfu-util]] to make a backup of your existing image.<br />
<br />
As when [[Flashing_the_Neo_FreeRunner|flashing]], you will need to be in [[Booting_the_Neo_FreeRunner#Log_into_U-Boot_in_the_NOR_Flash|U-Boot in the NOR Flash]]. Log into the NOR uBoot menu and select ''Set console to USB'' (for FreeRunner just stay in NOR uBoot menu, do not select or enter anything). Now you will be able to flash, make backups of your FreeRunner or query the FreeRunner with [[Dfu-util|dfu-util]]. Backup is fairly slow; it took over ten minutes to back up a 247 MB rootfs.<br />
<br />
It is important that you connect the USB cable directly from your computer to your phone. If there is a hub between them, backup (and flashing) will mostly likely fail.<br />
<br />
{{note|On a Windows host, omit the "./" or "sudo ./" that precedes the commands listed on this page}}<br />
<br />
<pre><br />
sudo ./dfu-util -a kernel -R -U good-kernel.bin<br />
sudo ./dfu-util -a rootfs -R -U good-rootfs.jffs2<br />
sudo ./dfu-util -a splash -R -U good-splash.bin<br />
sudo ./dfu-util -a u-boot -R -U good-u-boot.bin<br />
sudo ./dfu-util -a u-boot_env -R -U good-u-boot_env.bin<br />
</pre><br />
<br />
Here is what a successful dfu-util backup run looks like:<br />
<br />
on the host PC:<br />
<pre><br />
$ sudo ./dfu-util -a kernel -R -U good-kernel.img<br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Opening USB Device 0x0000:0x0000...<br />
Claiming USB DFU Runtime Interface...<br />
Determining device status: state = appIDLE, status = 0<br />
Device really in Runtime Mode, send DFU detach request...<br />
Resetting USB...<br />
Opening USB Device...<br />
Found Runtime: [0x1d50:0x5119] devnum=12, cfg=0, intf=0, alt=3, name="kernel"<br />
Claiming USB DFU Interface...<br />
Setting Alternate Setting ...<br />
Determining device status: state = dfuIDLE, status = 0<br />
dfuIDLE, continuing<br />
Transfer Size = 0x1000<br />
Resetting USB to switch back to runtime mode<br />
</pre><br />
<br />
on the FreeRunner:<br />
<pre><br />
DFU: Switching to DFU Mode<br />
DEVICE_CONFIGURED: 1<br />
Starting DFU Upload of partition 'kernel'<br />
DEVICE_CONFIGURED: 1<br />
</pre><br />
<br />
A failed run of dfu-util looks like this:<br />
<pre><br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Opening USB Device 0x0000:0x0000...<br />
Claiming USB DFU Runtime Interface...<br />
Determining device status: state = appIDLE, status = 0<br />
Device really in Runtime Mode, send DFU detach request...<br />
Resetting USB...<br />
Opening USB Device...<br />
Found Runtime: [0x1d50:0x5119] devnum=20, cfg=0, intf=0, alt=6, name="rootfs"<br />
Claiming USB DFU Interface...<br />
Setting Alternate Setting ...<br />
Determining device status: state = dfuIDLE, status = 0<br />
dfuIDLE, continuing<br />
Transfer Size = 0x1000<br />
dfu_upload error -110<br />
</pre><br />
And shows demsg errors like this:<br />
<pre><br />
usb 5-2: usbfs: USBDEVFS_CONTROL failed cmd dfu-util rqt 161 rq 2 len 4096 ret -110<br />
</pre><br />
This error is detected within the Linux USB stack (drivers/usb/core/message.c) and looking at<br />
errno.h for the negatived error status number, the reason is e.g.<br />
{|<br />
| 110 || ETIMEDOUT || Connection timed out<br />
|-<br />
| 84 || EILSEQ || Illegal byte sequence<br />
|-<br />
| 108 || ESHUTDOWN || Cannot send after transport endpoint shutdown<br />
|-<br />
| ... || ||<br />
|}<br />
Insure yourself, that you connect the FR directly to the computer (without any USB hubs), if you experience timed out connections<br />
and use the<br />
<br />
dfu-util -d [[USB Product IDs|0x1d50:0x5119]] ...<br />
<br />
option, if the FR is not detected properly.<br />
<br />
=== Backing-up flash images (alternative) ===<br />
<br />
On the device:<br />
<pre><br />
mkdir /var/tmp/root<br />
mount /dev/root /var/tmp/root<br />
</pre><br />
<br />
If you have om2008.9 you have to use:<br />
<pre><br />
mount -t jffs2 /dev/mtdblock6 /var/tmp/root<br />
</pre><br />
<br />
On your workstation:<br />
<pre><br />
ssh root@192.168.0.202 "mkfs.jffs2 -d /var/tmp/root -e 128 --pad --no-cleanmarkers -x lzo" | pv -W > rootfs.jffs2<br />
</pre><br />
(The "| pv -W" is optional, it just gives you something to watch as the bytes fly by.)<br />
<br />
On the device:<br />
<pre><br />
umount /var/tmp/root<br />
</pre><br />
<br />
=== Backing-up in a tar archive ===<br />
<br />
ssh root@192.168.0.202 "tar c /bin /etc /home /lib /opt /sbin /tmp /usr /var" | pv -s 2200000 -W > rootfs.tar<br />
(The "| pv -W" is optional, it just gives you something to watch as the bytes fly by; the "-s" option presume you're transferring 2200000 bytes of data)<br />
<br />
Extract it and use <code>mkfs.jffs2</code> if you want convert it to a jffs2 image.<br />
<br />
==Backup Scripts==<br />
<br />
If you plan on backing up frequently, using a script will simplify the process:<br />
<br />
===Simple backup script===<br />
<br />
This script works well if you want to configure it to backup always the same device.<br />
<br />
<pre><br />
#!/bin/sh<br />
#<br />
# Back up all partitions of the phone to a backup directory,<br />
# adding today's date to the saved filenames.<br />
<br />
DATE=`date +%Y-%m-%d`<br />
DFU=./dfu-util<br />
BACKUP_DIR=bak/<br />
<br />
${DFU} -a kernel -R -U ${BACKUP_DIR}kernel-${DATE}.bin<br />
${DFU} -a rootfs -R -U ${BACKUP_DIR}rootfs-${DATE}.jffs2<br />
${DFU} -a splash -R -U ${BACKUP_DIR}splash-${DATE}.bin<br />
${DFU} -a u-boot -R -U ${BACKUP_DIR}u-boot-${DATE}.bin<br />
${DFU} -a u-boot_env -R -U ${BACKUP_DIR}u-boot_env-${DATE}.bin<br />
</pre><br />
<br />
===Interactive script===<br />
<br />
This script is based on the above "Simple backup script" (by unknown). It does the backup of what you want and choose promting you for choices. Enjoy it! test it! contribute! You can find us at /server irc.freenode.net /j #openmoko and we'll be pleased to accept you help (ideas || code). <br />
<br />
NOTE that the script works for me(tm) but it still needs some love. especially on traps and catches for wrong choices.<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
#############################################################################################################<br />
## ##<br />
## This script is Free Software, it's licensed under the GPLv3 and has ABSOLUTELY NO WARRANTY ##<br />
## you can find and read the complete version of the GPLv3 @ http://www.gnu.org/licenses/gpl.html ##<br />
## ##<br />
## Q: what does this script do? ##<br />
## A: the script back up all partitions of the phone to a backup directory, interactively, ## <br />
## adding today's date to the saved filenames. ##<br />
## ##<br />
## IMPORTANT:!!! REMEMBER TO RUN THIS SCRIPT AS ROOT SINCE dfu-util HAS TO BE USED AS ROOT!!! ##<br />
## ##<br />
## based on the orginal simple backup script at http://wiki.openmoko.org/wiki/Backup ##<br />
## ##<br />
## this version has been conceived and written by cga, x77686d, Infoport, jomat at /server irc.freenode.net##<br />
## /j #openmoko,#bash and my collegue aubba @ work. ##<br />
## ##<br />
## for any suggestions and contributions contact cga (or one of the above) in the #openmoko channel ##<br />
## ##<br />
#############################################################################################################<br />
<br />
## let's roll!!<br />
<br />
## sets the date format for the date in the backup file, change accordingly to your local custom if you need<br />
DATE=`date +%d-%m-%Y`<br />
<br />
## here the scripts try to find the dfu-util binary and set it as the DFU var:<br />
if which dfu-util >/dev/null ; then<br />
echo<br />
echo "dfu-util found in your path"<br />
echo<br />
## 1 the function use this if you placed/linked dfu-util in your $PATH<br />
DFU=dfu-util<br />
<br />
elif ls dfu-util >/dev/null ; then<br />
echo<br />
echo "dfu-util found in current directory" <br />
echo<br />
## or 2 use following line if dfu-util is placed in the same directory where you run the script<br />
DFU=./dfu-util<br />
<br />
else<br />
## or 3 if the script doesn't find dfu-util shows the link for installing it and exit<br />
echo<br />
echo "dfu-util NOT found! install and use howto @ http://wiki.openmoko.org/wiki/Dfu-util"<br />
echo<br />
exit 1<br />
fi<br />
<br />
## here we get the hex code for devices found with dfu-util --list <br />
## the hex code is grabbed and the name of the device is shown accordingly and you are prompetd to chose the right one:<br />
echo<br />
echo 'these are the devices i found:' <br />
echo<br />
for device in `${DFU} --list | grep 0x | cut -f3 -d' ' | tr -d '[]'` ; do<br />
if [ "$device" == '0x1457:0x5119' ] ; then<br />
echo 'Neo 1973'<br />
elif [ "$device" == '0x1d50:0x5119' ] ; then<br />
echo "Neo FreeRunner"<br />
else<br />
echo 'other device found, DO NOT use dfu-util on this!!! it might bork it...'<br />
exit 1<br />
fi<br />
done | nl<br />
echo<br />
echo 'choose the device to backup:' <br />
echo<br />
read selection<br />
HEX=$(${DFU} --list | grep 0x | head -n $selection | tail -1 | cut -f3 -d' ' | tr -d '[]') <br />
<br />
## use the built-in read command to ask you and use the directory for the backup<br />
while [ -z "$BACKUP_DIR" ] ; do<br />
echo<br />
read -e -p $"enter the directory for the backup:" BACKUP_DIR<br />
echo<br />
<br />
## chek wether the dir exist and proceed, else create it and proceed.<br />
if [ ! -d "$BACKUP_DIR" ] ; then<br />
echo<br />
echo -n "$BACKUP_DIR does not exist, create it? [Y/n] "<br />
echo<br />
read CREATE_DIR<br />
if [ x"$CREATE_DIR" = xy -o x"$CREATE_DIR" = xY -o -z "$CREATE_DIR" ] ; then<br />
mkdir -p -v "${BACKUP_DIR}"<br />
else<br />
BACKUP_DIR=<br />
fi<br />
fi<br />
done<br />
<br />
## here you get prompted to chose the backup you want, you can backup single files or all of them.<br />
echo<br />
echo 'choose the component to backup from the list:'<br />
echo<br />
<br />
select howto in kernel splash u-boot u-boot_env rootfs all quit; do<br />
if [ "$howto" == "kernel" -o "$howto" == "all" ] ; then<br />
${DFU} -d ${HEX} -a kernel -R -U ${BACKUP_DIR}/kernel-${DATE}.bin<br />
fi<br />
if [ "$howto" == "splash" -o "$howto" == "all" ] ; then<br />
${DFU} -d ${HEX} -a splash -R -U ${BACKUP_DIR}/splash-${DATE}.bin<br />
fi<br />
if [ "$howto" == "u-boot" -o "$howto" == "all" ] ; then<br />
${DFU} -d ${HEX} -a u-boot -R -U ${BACKUP_DIR}/u-boot-${DATE}.bin<br />
fi<br />
if [ "$howto" == "u-boot_env" -o "$howto" == "all" ] ; then<br />
${DFU} -d ${HEX} -a u-boot_env -R -U ${BACKUP_DIR}/u-boot_env-${DATE}.bin<br />
fi<br />
if [ "$howto" == "rootfs" -o "$howto" == "all" ] ; then<br />
${DFU} -d ${HEX} -a rootfs -R -U ${BACKUP_DIR}/rootfs-${DATE}.jffs2<br />
fi<br />
if [ "$howto" == "quit" ] ; then<br />
exit 0<br />
fi<br />
echo<br />
echo 'the component(s) has/have been backed up, what next? (press enter for menu)'<br />
echo<br />
done<br />
<br />
exit 0<br />
<br />
</pre><br />
<br />
=== Pretty GUI Script ===<br />
<br />
[[NeoTool]] is a zenity-based script which allows you to both backup and Flash your device from a pretty GUI. It uses both the dfu-util method and the alternate method described on this page, and can produce flashable images of everything including rootfs. Check it out.<br />
<br />
== Backing up the incremental rsync hardlink way ==<br />
<br />
Following is a very simple implementation of<br />
[http://www.mikerubel.org/computers/rsync_snapshots/ incremental rsync snapshots with hardlinks]. Just put it to /etc/cron.daily/backup-neo<br />
on your PC and setup ssh keys between your PC and neo. It will then<br />
daily try to backup all files in the / partition. Each successful<br />
backup is hardlinked under a timestamped directory so you can access<br />
old backups easily. In fact, you can even NFS mount /backup/neo to<br />
phone and then chroot inside the backups to run programs in the<br />
backup'ed environment.<br />
#!/bin/bash<br />
# /etc/cron.daily/backup-neo<br />
rsync --delete -ax --numeric-ids 192.168.0.202:/ /backup/neo/latest 2> /dev/null<br />
ret=$?<br />
<br />
case $ret in<br />
0)<br />
# backup done, let's save it<br />
cp -al /backup/neo/latest /backup/neo/`date -I`<br />
;;<br />
12)<br />
# neo was not at home<br />
;;<br />
*)<br />
echo "backup failed with return value $ret"<br />
;;<br />
esac<br />
<br />
== Backing up internal flash when booted on external SD-card ==<br />
<br />
#Freerunner<br />
mkdir internal_flash<br />
mount /dev/mtdblock6 internal_flash -t jffs2<br />
<br />
Now you can pack directory or copy selected files out from it.<br />
<br />
(This mounting is usefull also if your internal operating system is non-bootable. You can get files out or even repair the system using operating system on external card.)<br />
<br />
== Weblinks ==<br />
* [http://www.oesf.org/forum/index.php?showtopic=25994#entry178835 read jffs file system on pc]<br />
<br />
[[Category:PIM]]<br />
[[category:Advanced End User]]<br />
[[Category:Flashing Openmoko]]</div>Marko Knöblhttp://openmoko.org/wiki/IPhoneIPhone2010-08-20T21:22:33Z<p>Marko Knöbl: removed spam</p>
<hr />
<div>== Comparison between Apple iPhone (and iPhone 3G) and the [[FIC]] FreeRunner ([[GTA02#.22Phase_2.22_.28GTA02.2C_.22Mass_Market.22.29|GTA02]]) running Openmoko Linux ==<br />
{{Note|The Openmoko phone this page is about is the [[FreeRunner]] which has internal codename [[Neo1973#.22Phase_2.22_.28GTA02.2C_.22Mass_Market.22.29|GTA02]]. For the earlier Neo1973 model see this page [[IPhone_(GTA01)]]}}<br />
<br />
* Apple announced their [http://www.apple.com/iphone/specs.html iPhone] at MacWorld 2007. <br />
* FIC announced the FIC FreeRunner in Jan 2008<br />
<br />
iPhone UI Demo on youtube http://youtube.com/watch?v=YgW7or1TuFk<br />
<br />
{| border="1"<br />
!Feature<br />
!iPhone<br />
!FreeRunner([[Neo1973#.22Phase_2.22_.28GTA02.2C_.22Mass_Market.22.29|GTA02]]). <br />
|-<br />
|Announced<br />
|2007-01-09, 3G: 2008-07-09<br />
|2006-11-07 and several updates later<br />
|-<br />
|Dimensions<br />[http://www.sizeasy.com/page/comp/153 visual comparison] [http://wiki.openmoko.org/images/8/84/Openmoko_iphone_comparison.jpg comparison 2]<br />
|115 x 61 x 11.6 mm, 3G: 115.5 x 62.1 x 12.3 mm<br />
|120.7 x 62 x 18.5 mm<br />
|-<br />
|Weight<br />
|135 g, 3G: 133 g<br />
|184 g<br />
|-<br />
|Screen<br />
|3.5" 480x320 at 163 ppi, capacitive multi-touch<br />
|2.8" 640x480 at 285 ppi, pressure, [http://lists.openmoko.org/pipermail/community/2006-December/000576.html maybe multi-touch later]<br />
|-<br />
|Storage<br />
|8 or 16 GB internal<br />
|[http://lists.openmoko.org/pipermail/announce/2007-June/000013.html 256MiByte] internal and [[Supported_microSD_cards|confirmed expandable]] with at least some 8GB microSD cards.<br />
|-<br />
|CPU<br />
|[http://www.arm.com/products/CPUs/ARM1176.html ARM1176JZF-S™] @ 650 MHz (with coprocessor) (Source: [http://www.bitsundso.de/ Bits und so Podcast] [http://www.bitsundso.de/bus20/54/ #20], 8'40" to 9'30" [german language])<br />
|[http://lists.openmoko.org/pipermail/announce/2007-June/000013.html Samsung 2442 @ 400 MHz SoC]<br />
|-<br />
|3D Acceleration<br />
|PowerVR MBX<br />
|SMedia 3362 Graphics Accelerator<br />
|-<br />
|RAM<br />
|128MB<br />
|128MB<br />
|-<br />
|Wireless<br />
|Quad-band GSM, WiFi (b/g), EDGE then 3G, Bluetooth 2.0 EDR (Bluetooth only supported for headsets, no RFCOMM or OBEX)<br />
|Tri-band GSM, GPRS Class12/CS4/[http://lists.openmoko.org/pipermail/community/2007-September/010400.html b] 2.5G (Not EDGE), [[Neo1973#.22Phase_2.22_.28GTA02.2C_.22Mass_Market.22.29|WiFi]], Bluetooth 2.0 EDR<br />
|-<br />
|Wireless Carrier<br />
|Locked to Apple-selected carrier (AT&T in the US), Firmware can be unlocked (via third-party software)<br />
|Unlocked - any GSM provider<br />
|-<br />
|Embedded devices<br />
|AGPS (3G only), 2 megapixel camera, 4 buttons (power, volume up, volume down, mute, Home), [http://www.tuaw.com/2007/09/10/iphone-coding-using-the-accelerometer/ 1 3D accelerometer], ambient light sensor, proximity sensor<br />
|AGPS, 2 illuminated buttons and [http://lists.openmoko.org/pipermail/announce/2007-June/000013.html 2 3D accelerometers] [http://lists.openmoko.org/pipermail/community/2007-July/008458.html]<br />
|-<br />
|Operating system<br />
|iPhone OS (Proprietary, excepting [http://www.opensource.apple.com/darwinsource/ Darwin]) [http://en.wikipedia.org/wiki/IPhone_OS]<br />
|Openmoko Linux (Source code available)<br />
|-<br />
|Software<br />
|Basic PDA + PMP software included. As of March 6 2008, Apple offers an official native SDK ([http://developer.apple.com/iphone/ on Apple's website], with registration), but applications developed with it run only in a sandbox and are limited in API they can use. No background applications, but notification through an Apple server.[http://highscalability.com/apples-iphone-use-centralized-push-based-notification-architecture]<br />
|Basic PDA included. Software can be created by normal users. All of the phone's functionality is available to the developer.<br />
|-<br />
|Video<br />
|No recording. Playback<br />
|No recording. Playback<br />
|-<br />
|Audio<br />
|Playback (recording with third party apps), speaker; 3.5mm jack (4 conductors: left/right/ground/mic, 3-conductor compatible[http://discussions.apple.com/message.jspa?messageID=5262651])<br />
|Playback and recording, including playback of audio files via GSM and recording/playback of voice calls. 1 watt mono speaker. [ http://lists.openmoko.org/pipermail/community/2007-July/008458.html]<br />
, 2.5 mm jack<br />
|-<br />
|Connectors<br />
|USB 2.0 on proprietary iPod dock connector, no host mode<br />
|Standard USB 1.1, with a Mini-B receptor (can be connected via adapter to both host and client devices, can provide 100 mA of current to clients), [[Neo1973_Hardware#Changes_from_GTA01Bv3|exposed I2C, SPI and debug board connector]] inside case in all versions and Debug Board v2 (JTAG and serial console) in Advanced version<br />
|-<br />
|Opening case<br />
|[http://www.anandtech.com/printarticle.aspx?i=3026 voids warranty] and is extremely challenging. Refurbished iPhones always come with entirely new back covers (with special serial number prefixes that indicate they were refurbished)<br />
|[http://lists.openmoko.org/pipermail/announce/2007-June/000013.html Advanced version] comes with guitar pick and Torx T6 screwdriver so you can [[Disassembling Neo1973|open case]].<br />
|-<br />
|Battery<br />
|Up to 10 hours talk, up to 7 video, up to 6 online, up to 24 hours audio playback, up to 300 hours standby. Non-user-replaceable 1.4 Ah[http://www.ipodbatteryfaq.com/ipodbatteryandpower.html] Li-poly battery, charged via dock connector (USB)<br />
|4 hours talk presently[http://kerneltrap.org/mailarchive/openmoko-community/2008/5/27/2256714], replaceable 1.2 Ah Li-poly battery charged via USB<br />
|-<br />
|Ready for use<br />
|Yes<br />
|Not yet<br />
|-<br />
|Ready for sale<br />
|US: June 29, 2007, EU: 2007Q4, Asia: 2008, 3G: July 11, 2008 (US)<br />
|Retail launch: June 27, 2008<br />
|-<br />
|Price<br />
|USD 199 for 8GB (2 year contract required for activation of either; iPhone will not do anything without activation or common third party hacks.) More comparably, unlocked phones in France reportedly priced at € 499 ~ USD 790 [http://www.boygeniusreport.com/2008/06/12/iphone-3g-unsubsidized-pricing-leaks-out/]<br />
|USD 399 for base unit, USD 99 for debug board [http://lists.openmoko.org/pipermail/community/2008-April/015080.html]<br />
|-<br />
|Community<br />
|IRC: #iphone on freenode.net, [http://www.google.com/search?client=safari&rls=en&q=iPhone+Community&ie=UTF-8&oe=UTF-8 Google for iPhone Community] to list a few<br />
|IRC: #openmoko on freenode.net [http://lists.openmoko.org/pipermail/community/ Discussion list], [[Main_Page|Wiki]], [http://lists.openmoko.org/mailman/listinfo/announce Be informed when it is sold]<br />
|-<br />
|Workshops<br />
|[http://www.apple.com/retail/workshops/ Free Hands-on Workshops]<br />
|Set up an Openmoko event in your area!<br />
|}<br />
{{Languages}}<br />
<br />
[[Category:Neo FreeRunner Hardware]]</div>Marko Knöblhttp://openmoko.org/wiki/Flashing_the_Neo_FreeRunnerFlashing the Neo FreeRunner2010-08-12T08:49:18Z<p>Marko Knöbl: /* See also */ removing section</p>
<hr />
<div>{{Languages|Flashing_the_Neo_FreeRunner}}<br />
Most of the software on the Neo FreeRunner can be updated or changed. The root filesystem, the [[kernel]], and the [[Bootloader]] can be modified with the program [[dfu-util]] from a computer. This page does not describe flashing the [[NOR Flash]] which requires a [[debug board]]. See [[Flashing NOR]] for this procedure. <br />
<br />
The [[NAND Flash]] is divided into 3 partitions for the bootloader, kernel, and root filesystem. Each component can be flashed separately. <br />
<br />
The '''bootloader''' is a small program that runs first and starts everything else when the FreeRunner is powered on. The bootloader is independent of the distribution you use.<br />
The '''kernel''' and the '''root filesystem''' are provided by the distribution. <br />
<br />
'''Before you start: Erasing the root filesystem or flashing the bootloader are radical measures. Take the time to ponder the necessity. Sometimes problems can be fixed by only updating the kernel.'''<br />
<br />
== Image files to flash into FreeRunner memory ==<br />
<br />
There are separate image files for all 3 software components. In most cases you will need to install a Kernel (uImage) and a Root Filesystem (rootfs). In rare cases, when there is a bug you need fixed, you will also install a new bootloader.<br />
<br />
Please read [[Distributions]] for choosing the distribution which fits your needs, and then see [[Download]] for downloading.<br />
<br />
== Do a backup ==<br />
<br />
If you have a working image that you're happy with but want to try something different, you should probably do a [[Backup]].<br />
<br />
== Using dfu-util ==<br />
<br />
[[Dfu-util]] is a command-line tool to flash the FreeRunner. It is available for Linux, MacOS X, and Windows. DFU-util allows you to connect to the FreeRunner through the USB cable and control its bootloader. That connection uses a special protocol which addresses the bootloader's interface, and differs from USB networking. For more details, see the separate [[dfu-util]] page.<br />
<br />
See [[Manuals/Dfu-util]]<br />
<br />
=== NeoTool (GUI) ===<br />
<br />
Instead of the command-line-based DFU-util, you can use NeoTool, a graphical tool for flashing the FreeRunner: see the [[NeoTool]] page.<br />
<br />
=== DFUScript - A command line script to simplify dfu-util ===<br />
<br />
DFUScript was developed to assist users who have multiple devices in using dfu-util via the command line. Information on where to download and use DFUScript can be found on [[DFUScript]].<br />
<br />
== Alternative: using nandwrite ==<br />
<br />
This approach involves writing the '''rootfs''' into nand directly on the phone from a system already running on it, not necessarily via usb from a computer.<br />
<br />
If you have a system running from a different partition that you intend to flash (for example sd card), you can use nandwrite to do the work, which is much faster (it takes about 30s to write a 59MB jffs2 image).<br />
<br />
See [[Nandwrite]] for more information.<br />
<br />
== Optional: Verifying boot-loader version ==<br />
<br />
<!-- The following should probably be moved to [[Bootloader_versions]], IMHO --><br />
<br />
<!-- Taken from posts by Mikael Berthe <mikael.berthe@lilotux.net> and Torfinn Ingolfsen <tingox@gmail.com> to Support list, subject: Re: Upgrading u-boot needed ? --><br />
(Optional) After an upgrade, you may wish to check that the u-boot version matches the one you have just flashed. You can use 'grep Bootloader /dev/mtdblock1' from a shell on the FreeRunner (and possibly the 1973 as well) to get the '''NAND''' u-boot version, like this:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock1<br />
Neo1973 Bootloader U-Boot 1.3.2+gitr18+64eb10cab8055084ae25ea4e73b66dd03cc1a0cb<br />
<br />
You can grep for the same string in /dev/mtdblock0 to retrieve the '''NOR''' u-boot version:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock0<br />
Neo1973 Bootloader U-Boot 1.3.2-moko12<br />
<!-- ENDS ... subject: Re: Upgrading u-boot needed ? --><br />
<br />
== Troubleshooting ==<br />
<br />
Okay, so you just reflashed. The splash screen pops up, but uBoot fail to load the kernel, and return to boot menu. WTF?<br />
<br />
* It is likely that the wrong bits went to the wrong place. Try reflashing just the kernel, double checking that you select the uImage.bin kernel file, not the u-boot.bin bootloader file.<br />
* Try redownloading and reflashing the kernel, checking file integrity with the MD5 hash sums.<br />
<br />
[[Category:Flashing Openmoko| ]]</div>Marko Knöblhttp://openmoko.org/wiki/Flashing_the_Neo_FreeRunnerFlashing the Neo FreeRunner2010-08-12T08:45:23Z<p>Marko Knöbl: </p>
<hr />
<div>{{Languages|Flashing_the_Neo_FreeRunner}}<br />
Most of the software on the Neo FreeRunner can be updated or changed. The root filesystem, the [[kernel]], and the [[Bootloader]] can be modified with the program [[dfu-util]] from a computer. This page does not describe flashing the [[NOR Flash]] which requires a [[debug board]]. See [[Flashing NOR]] for this procedure. <br />
<br />
The [[NAND Flash]] is divided into 3 partitions for the bootloader, kernel, and root filesystem. Each component can be flashed separately. <br />
<br />
The '''bootloader''' is a small program that runs first and starts everything else when the FreeRunner is powered on. The bootloader is independent of the distribution you use.<br />
The '''kernel''' and the '''root filesystem''' are provided by the distribution. <br />
<br />
'''Before you start: Erasing the root filesystem or flashing the bootloader are radical measures. Take the time to ponder the necessity. Sometimes problems can be fixed by only updating the kernel.'''<br />
<br />
== Image files to flash into FreeRunner memory ==<br />
<br />
There are separate image files for all 3 software components. In most cases you will need to install a Kernel (uImage) and a Root Filesystem (rootfs). In rare cases, when there is a bug you need fixed, you will also install a new bootloader.<br />
<br />
Please read [[Distributions]] for choosing the distribution which fits your needs, and then see [[Download]] for downloading.<br />
<br />
== Do a backup ==<br />
<br />
If you have a working image that you're happy with but want to try something different, you should probably do a [[Backup]].<br />
<br />
== Using dfu-util ==<br />
<br />
[[Dfu-util]] is a command-line tool to flash the FreeRunner. It is available for Linux, MacOS X, and Windows. DFU-util allows you to connect to the FreeRunner through the USB cable and control its bootloader. That connection uses a special protocol which addresses the bootloader's interface, and differs from USB networking. For more details, see the separate [[dfu-util]] page.<br />
<br />
See [[Manuals/Dfu-util]]<br />
<br />
=== NeoTool (GUI) ===<br />
<br />
Instead of the command-line-based DFU-util, you can use NeoTool, a graphical tool for flashing the FreeRunner: see the [[NeoTool]] page.<br />
<br />
=== DFUScript - A command line script to simplify dfu-util ===<br />
<br />
DFUScript was developed to assist users who have multiple devices in using dfu-util via the command line. Information on where to download and use DFUScript can be found on [[DFUScript]].<br />
<br />
== Alternative: using nandwrite ==<br />
<br />
This approach involves writing the '''rootfs''' into nand directly on the phone from a system already running on it, not necessarily via usb from a computer.<br />
<br />
If you have a system running from a different partition that you intend to flash (for example sd card), you can use nandwrite to do the work, which is much faster (it takes about 30s to write a 59MB jffs2 image).<br />
<br />
See [[Nandwrite]] for more information.<br />
<br />
== Optional: Verifying boot-loader version ==<br />
<br />
<!-- The following should probably be moved to [[Bootloader_versions]], IMHO --><br />
<br />
<!-- Taken from posts by Mikael Berthe <mikael.berthe@lilotux.net> and Torfinn Ingolfsen <tingox@gmail.com> to Support list, subject: Re: Upgrading u-boot needed ? --><br />
(Optional) After an upgrade, you may wish to check that the u-boot version matches the one you have just flashed. You can use 'grep Bootloader /dev/mtdblock1' from a shell on the FreeRunner (and possibly the 1973 as well) to get the '''NAND''' u-boot version, like this:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock1<br />
Neo1973 Bootloader U-Boot 1.3.2+gitr18+64eb10cab8055084ae25ea4e73b66dd03cc1a0cb<br />
<br />
You can grep for the same string in /dev/mtdblock0 to retrieve the '''NOR''' u-boot version:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock0<br />
Neo1973 Bootloader U-Boot 1.3.2-moko12<br />
<!-- ENDS ... subject: Re: Upgrading u-boot needed ? --><br />
<br />
== Troubleshooting ==<br />
<br />
Okay, so you just reflashed. The splash screen pops up, but uBoot fail to load the kernel, and return to boot menu. WTF?<br />
<br />
* It is likely that the wrong bits went to the wrong place. Try reflashing just the kernel, double checking that you select the uImage.bin kernel file, not the u-boot.bin bootloader file.<br />
* Try redownloading and reflashing the kernel, checking file integrity with the MD5 hash sums.<br />
<br />
==See also==<br />
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot home page]<br />
<br />
[[Category:Flashing Openmoko| ]]</div>Marko Knöblhttp://openmoko.org/wiki/Flashing_the_Neo_FreeRunnerFlashing the Neo FreeRunner2010-08-12T08:42:08Z<p>Marko Knöbl: /* Alternative: using nandwrite */ moved information on nandwrite to seperate article</p>
<hr />
<div>{{Languages|Flashing_the_Neo_FreeRunner}}<br />
Most of the software on the Neo FreeRunner can be updated or changed. The root filesystem, the [[kernel]], and the [[Bootloader]] can be modified with the program [[dfu-util]] from a computer. This page does not describe flashing the [[NOR Flash]] which requires a [[debug board]]. See [[Flashing NOR]] for this procedure. <br />
<br />
The [[NAND Flash]] is divided into 3 partitions for the bootloader, kernel, and root filesystem. Each component can be flashed separately. <br />
<br />
The '''bootloader''' is a small program that runs first and starts everything else when the FreeRunner is powered on. The bootloader is independent of the distribution you use.<br />
The '''kernel''' and the '''root filesystem''' are provided by the distribution. <br />
<br />
'''Before you start: Erasing the root filesystem or flashing the bootloader are radical measures. Take the time to ponder the necessity. Sometimes problems can be fixed by only updating the kernel.'''<br />
<br />
== Image files to flash into FreeRunner memory ==<br />
<br />
There are separate image files for all 3 software components. In most cases you will need to install a Kernel (uImage) and a Root Filesystem (rootfs). In rare cases, when there is a bug you need fixed, you will also install a new bootloader.<br />
<br />
Please read [[Distributions]] for choosing the distribution which fits your needs, and then see [[Download]] for downloading.<br />
<br />
== Do a backup ==<br />
<br />
If you have a working image that you're happy with but want to try something different, you should probably do a [[Backup]].<br />
<br />
== Using dfu-util ==<br />
<br />
[[Dfu-util]] is a command-line tool to flash the FreeRunner. It is available for Linux, MacOS X, and Windows. DFU-util allows you to connect to the FreeRunner through the USB cable and control its bootloader. That connection uses a special protocol which addresses the bootloader's interface, and differs from USB networking. For more details, see the separate [[dfu-util]] page.<br />
<br />
See [[Manuals/Dfu-util]]<br />
<br />
=== NeoTool (GUI) ===<br />
<br />
Instead of the command-line-based DFU-util, you can use NeoTool, a graphical tool for flashing the FreeRunner: see the [[NeoTool]] page.<br />
<br />
=== DFUScript - A command line script to simplify dfu-util ===<br />
<br />
DFUScript was developed to assist users who have multiple devices in using dfu-util via the command line. Information on where to download and use DFUScript can be found on [[DFUScript]].<br />
<br />
<br />
== Alternative: using nandwrite ==<br />
<br />
This approach involves writing the '''rootfs''' into nand directly on the phone from a system already running on it, not necessarily via usb from a computer.<br />
<br />
If you have a system running from a different partition that you intend to flash (for example sd card), you can use nandwrite to do the work, which is much faster (it takes about 30s to write a 59MB jffs2 image).<br />
<br />
See [[Nandwrite]] for more information.<br />
<br />
== Optional: Verifying boot-loader version ==<br />
<br />
<!-- The following should probably be moved to [[Bootloader_versions]], IMHO --><br />
<br />
<!-- Taken from posts by Mikael Berthe <mikael.berthe@lilotux.net> and Torfinn Ingolfsen <tingox@gmail.com> to Support list, subject: Re: Upgrading u-boot needed ? --><br />
(Optional) After an upgrade, you may wish to check that the u-boot version matches the one you have just flashed. You can use 'grep Bootloader /dev/mtdblock1' from a shell on the FreeRunner (and possibly the 1973 as well) to get the '''NAND''' u-boot version, like this:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock1<br />
Neo1973 Bootloader U-Boot 1.3.2+gitr18+64eb10cab8055084ae25ea4e73b66dd03cc1a0cb<br />
<br />
You can grep for the same string in /dev/mtdblock0 to retrieve the '''NOR''' u-boot version:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock0<br />
Neo1973 Bootloader U-Boot 1.3.2-moko12<br />
<br />
<!-- ENDS ... subject: Re: Upgrading u-boot needed ? --><br />
<br />
== Troubleshooting ==<br />
<br />
Okay, so you just reflashed. The splash screen pops up, but uBoot fail to load the kernel, and return to boot menu. WTF?<br />
<br />
* It is likely that the wrong bits went to the wrong place. Try reflashing just the kernel, double checking that you select the uImage.bin kernel file, not the u-boot.bin bootloader file.<br />
* Try redownloading and reflashing the kernel, checking file integrity with the MD5 hash sums.<br />
<br />
==See also==<br />
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot home page]<br />
<br />
[[Category:Flashing Openmoko| ]]</div>Marko Knöblhttp://openmoko.org/wiki/NandwriteNandwrite2010-08-12T08:41:13Z<p>Marko Knöbl: New page: '''Nandwrite''' is a program which is used to flash a Neo directly on the phone from a system already running on it. If you have a system running from a different partition that you inten...</p>
<hr />
<div>'''Nandwrite''' is a program which is used to flash a Neo directly on the phone from a system already running on it.<br />
<br />
If you have a system running from a different partition that you intend to flash (for example sd card), you can use nandwrite to do the work, which is much faster (it takes about 30s to write a 59MB jffs2 image).<br />
<br />
== Using nandwrite ==<br />
<br />
Make sure you have nandwrite installed (on gentoo, it's in sys-fs/mtd-utils package)<br />
<br />
Also make sure that the host system has received correct partition list, for example for my stock Neo Freerunner partition list:<br />
<br />
<pre><br />
#cat /proc/mtd<br />
dev: size erasesize name<br />
mtd0: 00200000 00010000 "physmap-flash.0"<br />
mtd1: 00040000 00020000 "u-boot"<br />
mtd2: 00040000 00020000 "u-boot_env"<br />
mtd3: 00800000 00020000 "kernel"<br />
mtd4: 000a0000 00020000 "splash"<br />
mtd5: 00040000 00020000 "factory"<br />
mtd6: 0f6a0000 00020000 "rootfs"<br />
</pre><br />
<br />
In this case, we're looking for ''rootfs'' which according to above is mtd6. If you have it somewhere else, substitute mtd6 with whatever you have in the remainder of this section.<br />
<br />
'''Beware of flashing the ''u-boot'' partition, probably you'll have to recreate mtdparts configuration for u-boot from [[U-boot#Using_usbtty_from_Linux|u-boot console]]. Probably this is due to some kind of bug in nandwrite.'''<br />
<br />
<pre><br />
dynpart<br />
dynenv set u-boot_env<br />
</pre><br />
<br />
You can test your nand for bad blocks by issuing '''nandtest /dev/mtd6''' '''(this is a data destructive test !)'''<br />
<br />
First, put your .jffs2 file somewhere the phone system can read it<br />
<br />
Second, write the desired image into the nand this way:<br />
<pre><br />
flash_eraseall /dev/mtd6<br />
nandwrite -p /dev/mtd6 /path/to/image.jffs2<br />
</pre><br />
<br />
* The -m flag can be used to tell nandwrite to mark blocks it detects bad as bad, so if nandwrite is bugged, your entire partition will be marked as bad. See [[NAND_bad_blocks#Clearing_BadBlocks]] if this happened to you.<br />
<br />
You're all done!</div>Marko Knöblhttp://openmoko.org/wiki/Flashing_the_Neo_FreeRunnerFlashing the Neo FreeRunner2010-08-12T08:35:17Z<p>Marko Knöbl: moving section "Nandwrite"</p>
<hr />
<div>{{Languages|Flashing_the_Neo_FreeRunner}}<br />
Most of the software on the Neo FreeRunner can be updated or changed. The root filesystem, the [[kernel]], and the [[Bootloader]] can be modified with the program [[dfu-util]] from a computer. This page does not describe flashing the [[NOR Flash]] which requires a [[debug board]]. See [[Flashing NOR]] for this procedure. <br />
<br />
The [[NAND Flash]] is divided into 3 partitions for the bootloader, kernel, and root filesystem. Each component can be flashed separately. <br />
<br />
The '''bootloader''' is a small program that runs first and starts everything else when the FreeRunner is powered on. The bootloader is independent of the distribution you use.<br />
The '''kernel''' and the '''root filesystem''' are provided by the distribution. <br />
<br />
'''Before you start: Erasing the root filesystem or flashing the bootloader are radical measures. Take the time to ponder the necessity. Sometimes problems can be fixed by only updating the kernel.'''<br />
<br />
== Image files to flash into FreeRunner memory ==<br />
<br />
There are separate image files for all 3 software components. In most cases you will need to install a Kernel (uImage) and a Root Filesystem (rootfs). In rare cases, when there is a bug you need fixed, you will also install a new bootloader.<br />
<br />
Please read [[Distributions]] for choosing the distribution which fits your needs, and then see [[Download]] for downloading.<br />
<br />
== Do a backup ==<br />
<br />
If you have a working image that you're happy with but want to try something different, you should probably do a [[Backup]].<br />
<br />
== Using dfu-util ==<br />
<br />
[[Dfu-util]] is a command-line tool to flash the FreeRunner. It is available for Linux, MacOS X, and Windows. DFU-util allows you to connect to the FreeRunner through the USB cable and control its bootloader. That connection uses a special protocol which addresses the bootloader's interface, and differs from USB networking. For more details, see the separate [[dfu-util]] page.<br />
<br />
See [[Manuals/Dfu-util]]<br />
<br />
=== NeoTool (GUI) ===<br />
<br />
Instead of the command-line-based DFU-util, you can use NeoTool, a graphical tool for flashing the FreeRunner: see the [[NeoTool]] page.<br />
<br />
=== DFUScript - A command line script to simplify dfu-util ===<br />
<br />
DFUScript was developed to assist users who have multiple devices in using dfu-util via the command line. Information on where to download and use DFUScript can be found on [[DFUScript]].<br />
<br />
<br />
== Alternative: using nandwrite ==<br />
<br />
This approach involves writing the '''rootfs''' into nand directly on the phone from a system already running on it, not necessarily via usb from a computer.<br />
<br />
If you have a system running from a different partition that you intend to flash (for example sd card), you can use nandwrite to do the work, which is much faster (it takes about 30s to write a 59MB jffs2 image).<br />
<br />
Make sure you have nandwrite installed (on gentoo, it's in sys-fs/mtd-utils package)<br />
<br />
Also make sure that the host system has received correct partition list, for example for my stock Neo Freerunner partition list:<br />
<br />
<pre><br />
#cat /proc/mtd<br />
dev: size erasesize name<br />
mtd0: 00200000 00010000 "physmap-flash.0"<br />
mtd1: 00040000 00020000 "u-boot"<br />
mtd2: 00040000 00020000 "u-boot_env"<br />
mtd3: 00800000 00020000 "kernel"<br />
mtd4: 000a0000 00020000 "splash"<br />
mtd5: 00040000 00020000 "factory"<br />
mtd6: 0f6a0000 00020000 "rootfs"<br />
</pre><br />
<br />
In this case, we're looking for ''rootfs'' which according to above is mtd6. If you have it somewhere else, substitute mtd6 with whatever you have in the remainder of this section.<br />
<br />
'''Beware of flashing the ''u-boot'' partition, probably you'll have to recreate mtdparts configuration for u-boot from [[U-boot#Using_usbtty_from_Linux|u-boot console]]. Probably this is due to some kind of bug in nandwrite.'''<br />
<br />
<pre><br />
dynpart<br />
dynenv set u-boot_env<br />
</pre><br />
<br />
You can test your nand for bad blocks by issuing '''nandtest /dev/mtd6''' '''(this is a data destructive test !)'''<br />
<br />
First, put your .jffs2 file somewhere the phone system can read it<br />
<br />
Second, write the desired image into the nand this way:<br />
<pre><br />
flash_eraseall /dev/mtd6<br />
nandwrite -p /dev/mtd6 /path/to/image.jffs2<br />
</pre><br />
<br />
* The -m flag can be used to tell nandwrite to mark blocks it detects bad as bad, so if nandwrite is bugged, your entire partition will be marked as bad. See [[NAND_bad_blocks#Clearing_BadBlocks]] if this happened to you.<br />
<br />
You're all done!<br />
<br />
== Optional: Verifying boot-loader version ==<br />
<br />
<!-- The following should probably be moved to [[Bootloader_versions]], IMHO --><br />
<br />
<!-- Taken from posts by Mikael Berthe <mikael.berthe@lilotux.net> and Torfinn Ingolfsen <tingox@gmail.com> to Support list, subject: Re: Upgrading u-boot needed ? --><br />
(Optional) After an upgrade, you may wish to check that the u-boot version matches the one you have just flashed. You can use 'grep Bootloader /dev/mtdblock1' from a shell on the FreeRunner (and possibly the 1973 as well) to get the '''NAND''' u-boot version, like this:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock1<br />
Neo1973 Bootloader U-Boot 1.3.2+gitr18+64eb10cab8055084ae25ea4e73b66dd03cc1a0cb<br />
<br />
You can grep for the same string in /dev/mtdblock0 to retrieve the '''NOR''' u-boot version:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock0<br />
Neo1973 Bootloader U-Boot 1.3.2-moko12<br />
<br />
<!-- ENDS ... subject: Re: Upgrading u-boot needed ? --><br />
<br />
== Troubleshooting ==<br />
<br />
Okay, so you just reflashed. The splash screen pops up, but uBoot fail to load the kernel, and return to boot menu. WTF?<br />
<br />
* It is likely that the wrong bits went to the wrong place. Try reflashing just the kernel, double checking that you select the uImage.bin kernel file, not the u-boot.bin bootloader file.<br />
* Try redownloading and reflashing the kernel, checking file integrity with the MD5 hash sums.<br />
<br />
==See also==<br />
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot home page]<br />
<br />
[[Category:Flashing Openmoko| ]]</div>Marko Knöblhttp://openmoko.org/wiki/Flashing_the_Neo_FreeRunnerFlashing the Neo FreeRunner2010-08-12T08:34:21Z<p>Marko Knöbl: moving section on DFUScript</p>
<hr />
<div>{{Languages|Flashing_the_Neo_FreeRunner}}<br />
Most of the software on the Neo FreeRunner can be updated or changed. The root filesystem, the [[kernel]], and the [[Bootloader]] can be modified with the program [[dfu-util]] from a computer. This page does not describe flashing the [[NOR Flash]] which requires a [[debug board]]. See [[Flashing NOR]] for this procedure. <br />
<br />
The [[NAND Flash]] is divided into 3 partitions for the bootloader, kernel, and root filesystem. Each component can be flashed separately. <br />
<br />
The '''bootloader''' is a small program that runs first and starts everything else when the FreeRunner is powered on. The bootloader is independent of the distribution you use.<br />
The '''kernel''' and the '''root filesystem''' are provided by the distribution. <br />
<br />
'''Before you start: Erasing the root filesystem or flashing the bootloader are radical measures. Take the time to ponder the necessity. Sometimes problems can be fixed by only updating the kernel.'''<br />
<br />
== Image files to flash into FreeRunner memory ==<br />
<br />
There are separate image files for all 3 software components. In most cases you will need to install a Kernel (uImage) and a Root Filesystem (rootfs). In rare cases, when there is a bug you need fixed, you will also install a new bootloader.<br />
<br />
Please read [[Distributions]] for choosing the distribution which fits your needs, and then see [[Download]] for downloading.<br />
<br />
== Do a backup ==<br />
<br />
If you have a working image that you're happy with but want to try something different, you should probably do a [[Backup]].<br />
<br />
== Using dfu-util ==<br />
<br />
[[Dfu-util]] is a command-line tool to flash the FreeRunner. It is available for Linux, MacOS X, and Windows. DFU-util allows you to connect to the FreeRunner through the USB cable and control its bootloader. That connection uses a special protocol which addresses the bootloader's interface, and differs from USB networking. For more details, see the separate [[dfu-util]] page.<br />
<br />
See [[Manuals/Dfu-util]]<br />
<br />
=== NeoTool (GUI) ===<br />
<br />
Instead of the command-line-based DFU-util, you can use NeoTool, a graphical tool for flashing the FreeRunner: see the [[NeoTool]] page.<br />
<br />
=== DFUScript - A command line script to simplify dfu-util ===<br />
<br />
DFUScript was developed to assist users who have multiple devices in using dfu-util via the command line. Information on where to download and use DFUScript can be found on [[DFUScript]].<br />
<br />
== Optional: Verifying boot-loader version ==<br />
<br />
<!-- The following should probably be moved to [[Bootloader_versions]], IMHO --><br />
<br />
<!-- Taken from posts by Mikael Berthe <mikael.berthe@lilotux.net> and Torfinn Ingolfsen <tingox@gmail.com> to Support list, subject: Re: Upgrading u-boot needed ? --><br />
(Optional) After an upgrade, you may wish to check that the u-boot version matches the one you have just flashed. You can use 'grep Bootloader /dev/mtdblock1' from a shell on the FreeRunner (and possibly the 1973 as well) to get the '''NAND''' u-boot version, like this:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock1<br />
Neo1973 Bootloader U-Boot 1.3.2+gitr18+64eb10cab8055084ae25ea4e73b66dd03cc1a0cb<br />
<br />
You can grep for the same string in /dev/mtdblock0 to retrieve the '''NOR''' u-boot version:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock0<br />
Neo1973 Bootloader U-Boot 1.3.2-moko12<br />
<br />
<!-- ENDS ... subject: Re: Upgrading u-boot needed ? --><br />
<br />
== Alternative: using nandwrite ==<br />
<br />
This approach involves writing the '''rootfs''' into nand directly on the phone from a system already running on it, not necessarily via usb from a computer.<br />
<br />
If you have a system running from a different partition that you intend to flash (for example sd card), you can use nandwrite to do the work, which is much faster (it takes about 30s to write a 59MB jffs2 image).<br />
<br />
Make sure you have nandwrite installed (on gentoo, it's in sys-fs/mtd-utils package)<br />
<br />
Also make sure that the host system has received correct partition list, for example for my stock Neo Freerunner partition list:<br />
<br />
<pre><br />
#cat /proc/mtd<br />
dev: size erasesize name<br />
mtd0: 00200000 00010000 "physmap-flash.0"<br />
mtd1: 00040000 00020000 "u-boot"<br />
mtd2: 00040000 00020000 "u-boot_env"<br />
mtd3: 00800000 00020000 "kernel"<br />
mtd4: 000a0000 00020000 "splash"<br />
mtd5: 00040000 00020000 "factory"<br />
mtd6: 0f6a0000 00020000 "rootfs"<br />
</pre><br />
<br />
In this case, we're looking for ''rootfs'' which according to above is mtd6. If you have it somewhere else, substitute mtd6 with whatever you have in the remainder of this section.<br />
<br />
'''Beware of flashing the ''u-boot'' partition, probably you'll have to recreate mtdparts configuration for u-boot from [[U-boot#Using_usbtty_from_Linux|u-boot console]]. Probably this is due to some kind of bug in nandwrite.'''<br />
<br />
<pre><br />
dynpart<br />
dynenv set u-boot_env<br />
</pre><br />
<br />
You can test your nand for bad blocks by issuing '''nandtest /dev/mtd6''' '''(this is a data destructive test !)'''<br />
<br />
First, put your .jffs2 file somewhere the phone system can read it<br />
<br />
Second, write the desired image into the nand this way:<br />
<pre><br />
flash_eraseall /dev/mtd6<br />
nandwrite -p /dev/mtd6 /path/to/image.jffs2<br />
</pre><br />
<br />
* The -m flag can be used to tell nandwrite to mark blocks it detects bad as bad, so if nandwrite is bugged, your entire partition will be marked as bad. See [[NAND_bad_blocks#Clearing_BadBlocks]] if this happened to you.<br />
<br />
You're all done!<br />
<br />
== Troubleshooting ==<br />
<br />
Okay, so you just reflashed. The splash screen pops up, but uBoot fail to load the kernel, and return to boot menu. WTF?<br />
<br />
* It is likely that the wrong bits went to the wrong place. Try reflashing just the kernel, double checking that you select the uImage.bin kernel file, not the u-boot.bin bootloader file.<br />
* Try redownloading and reflashing the kernel, checking file integrity with the MD5 hash sums.<br />
<br />
==See also==<br />
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot home page]<br />
<br />
[[Category:Flashing Openmoko| ]]</div>Marko Knöblhttp://openmoko.org/wiki/Flashing_the_Neo_FreeRunnerFlashing the Neo FreeRunner2010-08-12T08:30:17Z<p>Marko Knöbl: /* Using dfu-util */</p>
<hr />
<div>{{Languages|Flashing_the_Neo_FreeRunner}}<br />
Most of the software on the Neo FreeRunner can be updated or changed. The root filesystem, the [[kernel]], and the [[Bootloader]] can be modified with the program [[dfu-util]] from a computer. This page does not describe flashing the [[NOR Flash]] which requires a [[debug board]]. See [[Flashing NOR]] for this procedure. <br />
<br />
The [[NAND Flash]] is divided into 3 partitions for the bootloader, kernel, and root filesystem. Each component can be flashed separately. <br />
<br />
The '''bootloader''' is a small program that runs first and starts everything else when the FreeRunner is powered on. The bootloader is independent of the distribution you use.<br />
The '''kernel''' and the '''root filesystem''' are provided by the distribution. <br />
<br />
'''Before you start: Erasing the root filesystem or flashing the bootloader are radical measures. Take the time to ponder the necessity. Sometimes problems can be fixed by only updating the kernel.'''<br />
<br />
== Image files to flash into FreeRunner memory ==<br />
<br />
There are separate image files for all 3 software components. In most cases you will need to install a Kernel (uImage) and a Root Filesystem (rootfs). In rare cases, when there is a bug you need fixed, you will also install a new bootloader.<br />
<br />
Please read [[Distributions]] for choosing the distribution which fits your needs, and then see [[Download]] for downloading.<br />
<br />
== Do a backup ==<br />
<br />
If you have a working image that you're happy with but want to try something different, you should probably do a [[Backup]].<br />
<br />
== Using dfu-util ==<br />
<br />
[[Dfu-util]] is a command-line tool to flash the FreeRunner. It is available for Linux, MacOS X, and Windows. DFU-util allows you to connect to the FreeRunner through the USB cable and control its bootloader. That connection uses a special protocol which addresses the bootloader's interface, and differs from USB networking. For more details, see the separate [[dfu-util]] page.<br />
<br />
See [[Manuals/Dfu-util]]<br />
<br />
=== NeoTool (GUI) ===<br />
<br />
Instead of the command-line-based DFU-util, you can use NeoTool, a graphical tool for flashing the FreeRunner: see the [[NeoTool]] page.<br />
<br />
== Optional: Verifying boot-loader version ==<br />
<br />
<!-- The following should probably be moved to [[Bootloader_versions]], IMHO --><br />
<br />
<!-- Taken from posts by Mikael Berthe <mikael.berthe@lilotux.net> and Torfinn Ingolfsen <tingox@gmail.com> to Support list, subject: Re: Upgrading u-boot needed ? --><br />
(Optional) After an upgrade, you may wish to check that the u-boot version matches the one you have just flashed. You can use 'grep Bootloader /dev/mtdblock1' from a shell on the FreeRunner (and possibly the 1973 as well) to get the '''NAND''' u-boot version, like this:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock1<br />
Neo1973 Bootloader U-Boot 1.3.2+gitr18+64eb10cab8055084ae25ea4e73b66dd03cc1a0cb<br />
<br />
You can grep for the same string in /dev/mtdblock0 to retrieve the '''NOR''' u-boot version:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock0<br />
Neo1973 Bootloader U-Boot 1.3.2-moko12<br />
<br />
<!-- ENDS ... subject: Re: Upgrading u-boot needed ? --><br />
<br />
== A command line script to simplify dfu-util ==<br />
<br />
DFUScript developed to assist users who have multiple devices in using dfu-util via the command line. Information on where to download and use DFUScript can be found on [[DFUScript]]<br />
<br />
== Alternative: using nandwrite ==<br />
<br />
This approach involves writing the '''rootfs''' into nand directly on the phone from a system already running on it, not necessarily via usb from a computer.<br />
<br />
If you have a system running from a different partition that you intend to flash (for example sd card), you can use nandwrite to do the work, which is much faster (it takes about 30s to write a 59MB jffs2 image).<br />
<br />
Make sure you have nandwrite installed (on gentoo, it's in sys-fs/mtd-utils package)<br />
<br />
Also make sure that the host system has received correct partition list, for example for my stock Neo Freerunner partition list:<br />
<br />
<pre><br />
#cat /proc/mtd<br />
dev: size erasesize name<br />
mtd0: 00200000 00010000 "physmap-flash.0"<br />
mtd1: 00040000 00020000 "u-boot"<br />
mtd2: 00040000 00020000 "u-boot_env"<br />
mtd3: 00800000 00020000 "kernel"<br />
mtd4: 000a0000 00020000 "splash"<br />
mtd5: 00040000 00020000 "factory"<br />
mtd6: 0f6a0000 00020000 "rootfs"<br />
</pre><br />
<br />
In this case, we're looking for ''rootfs'' which according to above is mtd6. If you have it somewhere else, substitute mtd6 with whatever you have in the remainder of this section.<br />
<br />
'''Beware of flashing the ''u-boot'' partition, probably you'll have to recreate mtdparts configuration for u-boot from [[U-boot#Using_usbtty_from_Linux|u-boot console]]. Probably this is due to some kind of bug in nandwrite.'''<br />
<br />
<pre><br />
dynpart<br />
dynenv set u-boot_env<br />
</pre><br />
<br />
You can test your nand for bad blocks by issuing '''nandtest /dev/mtd6''' '''(this is a data destructive test !)'''<br />
<br />
First, put your .jffs2 file somewhere the phone system can read it<br />
<br />
Second, write the desired image into the nand this way:<br />
<pre><br />
flash_eraseall /dev/mtd6<br />
nandwrite -p /dev/mtd6 /path/to/image.jffs2<br />
</pre><br />
<br />
* The -m flag can be used to tell nandwrite to mark blocks it detects bad as bad, so if nandwrite is bugged, your entire partition will be marked as bad. See [[NAND_bad_blocks#Clearing_BadBlocks]] if this happened to you.<br />
<br />
You're all done!<br />
<br />
== Troubleshooting ==<br />
<br />
Okay, so you just reflashed. The splash screen pops up, but uBoot fail to load the kernel, and return to boot menu. WTF?<br />
<br />
* It is likely that the wrong bits went to the wrong place. Try reflashing just the kernel, double checking that you select the uImage.bin kernel file, not the u-boot.bin bootloader file.<br />
* Try redownloading and reflashing the kernel, checking file integrity with the MD5 hash sums.<br />
<br />
==See also==<br />
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot home page]<br />
<br />
[[Category:Flashing Openmoko| ]]</div>Marko Knöblhttp://openmoko.org/wiki/Flashing_the_Neo_FreeRunnerFlashing the Neo FreeRunner2010-08-12T08:27:25Z<p>Marko Knöbl: moving section</p>
<hr />
<div>{{Languages|Flashing_the_Neo_FreeRunner}}<br />
Most of the software on the Neo FreeRunner can be updated or changed. The root filesystem, the [[kernel]], and the [[Bootloader]] can be modified with the program [[dfu-util]] from a computer. This page does not describe flashing the [[NOR Flash]] which requires a [[debug board]]. See [[Flashing NOR]] for this procedure. <br />
<br />
The [[NAND Flash]] is divided into 3 partitions for the bootloader, kernel, and root filesystem. Each component can be flashed separately. <br />
<br />
The '''bootloader''' is a small program that runs first and starts everything else when the FreeRunner is powered on. The bootloader is independent of the distribution you use.<br />
The '''kernel''' and the '''root filesystem''' are provided by the distribution. <br />
<br />
'''Before you start: Erasing the root filesystem or flashing the bootloader are radical measures. Take the time to ponder the necessity. Sometimes problems can be fixed by only updating the kernel.'''<br />
<br />
== Image files to flash into FreeRunner memory ==<br />
<br />
There are separate image files for all 3 software components. In most cases you will need to install a Kernel (uImage) and a Root Filesystem (rootfs). In rare cases, when there is a bug you need fixed, you will also install a new bootloader.<br />
<br />
Please read [[Distributions]] for choosing the distribution which fits your needs, and then see [[Download]] for downloading.<br />
<br />
== Do a backup ==<br />
<br />
If you have a working image that you're happy with but want to try something different, you should probably do a [[Backup]].<br />
<br />
== Using dfu-util ==<br />
<br />
=== Tools for flashing: dfu-util and NeoTool ===<br />
<br />
''Command-line''. [[dfu-util]], the tool to flash the FreeRunner has to be installed on your computer. It is available for Linux, MacOS X, and Windows (see links below). DFU-util allows you to connect to the FreeRunner through the USB cable and control its bootloader. That connection uses a special protocol which addresses the bootloader's interface, and differs from USB networking. For more details, see the separate [[dfu-util]] page.<br />
<br />
''GUI''. Instead of the command-line-based DFU-util, you can use NeoTool, a graphical tool for flashing the FreeRunner: see the [[NeoTool]] page.<br />
<br />
See [[Manuals/Dfu-util]]<br />
<br />
== Optional: Verifying boot-loader version ==<br />
<br />
<!-- The following should probably be moved to [[Bootloader_versions]], IMHO --><br />
<br />
<!-- Taken from posts by Mikael Berthe <mikael.berthe@lilotux.net> and Torfinn Ingolfsen <tingox@gmail.com> to Support list, subject: Re: Upgrading u-boot needed ? --><br />
(Optional) After an upgrade, you may wish to check that the u-boot version matches the one you have just flashed. You can use 'grep Bootloader /dev/mtdblock1' from a shell on the FreeRunner (and possibly the 1973 as well) to get the '''NAND''' u-boot version, like this:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock1<br />
Neo1973 Bootloader U-Boot 1.3.2+gitr18+64eb10cab8055084ae25ea4e73b66dd03cc1a0cb<br />
<br />
You can grep for the same string in /dev/mtdblock0 to retrieve the '''NOR''' u-boot version:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock0<br />
Neo1973 Bootloader U-Boot 1.3.2-moko12<br />
<br />
<!-- ENDS ... subject: Re: Upgrading u-boot needed ? --><br />
<br />
== A command line script to simplify dfu-util ==<br />
<br />
DFUScript developed to assist users who have multiple devices in using dfu-util via the command line. Information on where to download and use DFUScript can be found on [[DFUScript]]<br />
<br />
== Alternative: using nandwrite ==<br />
<br />
This approach involves writing the '''rootfs''' into nand directly on the phone from a system already running on it, not necessarily via usb from a computer.<br />
<br />
If you have a system running from a different partition that you intend to flash (for example sd card), you can use nandwrite to do the work, which is much faster (it takes about 30s to write a 59MB jffs2 image).<br />
<br />
Make sure you have nandwrite installed (on gentoo, it's in sys-fs/mtd-utils package)<br />
<br />
Also make sure that the host system has received correct partition list, for example for my stock Neo Freerunner partition list:<br />
<br />
<pre><br />
#cat /proc/mtd<br />
dev: size erasesize name<br />
mtd0: 00200000 00010000 "physmap-flash.0"<br />
mtd1: 00040000 00020000 "u-boot"<br />
mtd2: 00040000 00020000 "u-boot_env"<br />
mtd3: 00800000 00020000 "kernel"<br />
mtd4: 000a0000 00020000 "splash"<br />
mtd5: 00040000 00020000 "factory"<br />
mtd6: 0f6a0000 00020000 "rootfs"<br />
</pre><br />
<br />
In this case, we're looking for ''rootfs'' which according to above is mtd6. If you have it somewhere else, substitute mtd6 with whatever you have in the remainder of this section.<br />
<br />
'''Beware of flashing the ''u-boot'' partition, probably you'll have to recreate mtdparts configuration for u-boot from [[U-boot#Using_usbtty_from_Linux|u-boot console]]. Probably this is due to some kind of bug in nandwrite.'''<br />
<br />
<pre><br />
dynpart<br />
dynenv set u-boot_env<br />
</pre><br />
<br />
You can test your nand for bad blocks by issuing '''nandtest /dev/mtd6''' '''(this is a data destructive test !)'''<br />
<br />
First, put your .jffs2 file somewhere the phone system can read it<br />
<br />
Second, write the desired image into the nand this way:<br />
<pre><br />
flash_eraseall /dev/mtd6<br />
nandwrite -p /dev/mtd6 /path/to/image.jffs2<br />
</pre><br />
<br />
* The -m flag can be used to tell nandwrite to mark blocks it detects bad as bad, so if nandwrite is bugged, your entire partition will be marked as bad. See [[NAND_bad_blocks#Clearing_BadBlocks]] if this happened to you.<br />
<br />
You're all done!<br />
<br />
== Troubleshooting ==<br />
<br />
Okay, so you just reflashed. The splash screen pops up, but uBoot fail to load the kernel, and return to boot menu. WTF?<br />
<br />
* It is likely that the wrong bits went to the wrong place. Try reflashing just the kernel, double checking that you select the uImage.bin kernel file, not the u-boot.bin bootloader file.<br />
* Try redownloading and reflashing the kernel, checking file integrity with the MD5 hash sums.<br />
<br />
==See also==<br />
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot home page]<br />
<br />
[[Category:Flashing Openmoko| ]]</div>Marko Knöblhttp://openmoko.org/wiki/Flashing_the_Neo_FreeRunnerFlashing the Neo FreeRunner2010-08-12T08:22:41Z<p>Marko Knöbl: /* Tools for flashing: DFU-util and NeoTool */</p>
<hr />
<div>{{Languages|Flashing_the_Neo_FreeRunner}}<br />
Most of the software on the Neo FreeRunner can be updated or changed. The root filesystem, the [[kernel]], and the [[Bootloader]] can be modified with the program [[dfu-util]] from a computer. This page does not describe flashing the [[NOR Flash]] which requires a [[debug board]]. See [[Flashing NOR]] for this procedure. <br />
<br />
The [[NAND Flash]] is divided into 3 partitions for the bootloader, kernel, and root filesystem. Each component can be flashed separately. <br />
<br />
The '''bootloader''' is a small program that runs first and starts everything else when the FreeRunner is powered on. The bootloader is independent of the distribution you use.<br />
The '''kernel''' and the '''root filesystem''' are provided by the distribution. <br />
<br />
'''Before you start: Erasing the root filesystem or flashing the bootloader are radical measures. Take the time to ponder the necessity. Sometimes problems can be fixed by only updating the kernel.'''<br />
<br />
== Software you need ==<br />
<br />
=== Tools for flashing: dfu-util and NeoTool ===<br />
<br />
''Command-line''. [[dfu-util]], the tool to flash the FreeRunner has to be installed on your computer. It is available for Linux, MacOS X, and Windows (see links below). DFU-util allows you to connect to the FreeRunner through the USB cable and control its bootloader. That connection uses a special protocol which addresses the bootloader's interface, and differs from USB networking. For more details, see the separate [[dfu-util]] page.<br />
<br />
''GUI''. Instead of the command-line-based DFU-util, you can use NeoTool, a graphical tool for flashing the FreeRunner: see the [[NeoTool]] page.<br />
<br />
== Image files to flash into FreeRunner memory ==<br />
<br />
There are separate image files for all 3 software components. In most cases you will need to install a Kernel (uImage) and a Root Filesystem (rootfs). In rare cases, when there is a bug you need fixed, you will also install a new bootloader.<br />
<br />
Please read [[Distributions]] for choosing the distribution which fits your needs, and then see [[Download]] for downloading.<br />
<br />
== Do a backup ==<br />
<br />
If you have a working image that you're happy with but want to try something different, you should probably do a [[Backup]].<br />
<br />
== Using dfu-util ==<br />
<br />
See [[Manuals/Dfu-util]]<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
== Optional: Verifying boot-loader version ==<br />
<br />
<!-- The following should probably be moved to [[Bootloader_versions]], IMHO --><br />
<br />
<!-- Taken from posts by Mikael Berthe <mikael.berthe@lilotux.net> and Torfinn Ingolfsen <tingox@gmail.com> to Support list, subject: Re: Upgrading u-boot needed ? --><br />
(Optional) After an upgrade, you may wish to check that the u-boot version matches the one you have just flashed. You can use 'grep Bootloader /dev/mtdblock1' from a shell on the FreeRunner (and possibly the 1973 as well) to get the '''NAND''' u-boot version, like this:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock1<br />
Neo1973 Bootloader U-Boot 1.3.2+gitr18+64eb10cab8055084ae25ea4e73b66dd03cc1a0cb<br />
<br />
You can grep for the same string in /dev/mtdblock0 to retrieve the '''NOR''' u-boot version:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock0<br />
Neo1973 Bootloader U-Boot 1.3.2-moko12<br />
<br />
<!-- ENDS ... subject: Re: Upgrading u-boot needed ? --><br />
<br />
== A command line script to simplify dfu-util ==<br />
<br />
DFUScript developed to assist users who have multiple devices in using dfu-util via the command line. Information on where to download and use DFUScript can be found on [[DFUScript]]<br />
<br />
== Alternative: using nandwrite ==<br />
<br />
This approach involves writing the '''rootfs''' into nand directly on the phone from a system already running on it, not necessarily via usb from a computer.<br />
<br />
If you have a system running from a different partition that you intend to flash (for example sd card), you can use nandwrite to do the work, which is much faster (it takes about 30s to write a 59MB jffs2 image).<br />
<br />
Make sure you have nandwrite installed (on gentoo, it's in sys-fs/mtd-utils package)<br />
<br />
Also make sure that the host system has received correct partition list, for example for my stock Neo Freerunner partition list:<br />
<br />
<pre><br />
#cat /proc/mtd<br />
dev: size erasesize name<br />
mtd0: 00200000 00010000 "physmap-flash.0"<br />
mtd1: 00040000 00020000 "u-boot"<br />
mtd2: 00040000 00020000 "u-boot_env"<br />
mtd3: 00800000 00020000 "kernel"<br />
mtd4: 000a0000 00020000 "splash"<br />
mtd5: 00040000 00020000 "factory"<br />
mtd6: 0f6a0000 00020000 "rootfs"<br />
</pre><br />
<br />
In this case, we're looking for ''rootfs'' which according to above is mtd6. If you have it somewhere else, substitute mtd6 with whatever you have in the remainder of this section.<br />
<br />
'''Beware of flashing the ''u-boot'' partition, probably you'll have to recreate mtdparts configuration for u-boot from [[U-boot#Using_usbtty_from_Linux|u-boot console]]. Probably this is due to some kind of bug in nandwrite.'''<br />
<br />
<pre><br />
dynpart<br />
dynenv set u-boot_env<br />
</pre><br />
<br />
You can test your nand for bad blocks by issuing '''nandtest /dev/mtd6''' '''(this is a data destructive test !)'''<br />
<br />
First, put your .jffs2 file somewhere the phone system can read it<br />
<br />
Second, write the desired image into the nand this way:<br />
<pre><br />
flash_eraseall /dev/mtd6<br />
nandwrite -p /dev/mtd6 /path/to/image.jffs2<br />
</pre><br />
<br />
* The -m flag can be used to tell nandwrite to mark blocks it detects bad as bad, so if nandwrite is bugged, your entire partition will be marked as bad. See [[NAND_bad_blocks#Clearing_BadBlocks]] if this happened to you.<br />
<br />
You're all done!<br />
<br />
== Troubleshooting ==<br />
<br />
Okay, so you just reflashed. The splash screen pops up, but uBoot fail to load the kernel, and return to boot menu. WTF?<br />
<br />
* It is likely that the wrong bits went to the wrong place. Try reflashing just the kernel, double checking that you select the uImage.bin kernel file, not the u-boot.bin bootloader file.<br />
* Try redownloading and reflashing the kernel, checking file integrity with the MD5 hash sums.<br />
<br />
==See also==<br />
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot home page]<br />
<br />
[[Category:Flashing Openmoko| ]]</div>Marko Knöblhttp://openmoko.org/wiki/Flashing_the_Neo_FreeRunnerFlashing the Neo FreeRunner2010-08-12T08:19:53Z<p>Marko Knöbl: /* Tools for flashing: DFU-util and NeoTool */ removing warnings about using sudo</p>
<hr />
<div>{{Languages|Flashing_the_Neo_FreeRunner}}<br />
Most of the software on the Neo FreeRunner can be updated or changed. The root filesystem, the [[kernel]], and the [[Bootloader]] can be modified with the program [[dfu-util]] from a computer. This page does not describe flashing the [[NOR Flash]] which requires a [[debug board]]. See [[Flashing NOR]] for this procedure. <br />
<br />
The [[NAND Flash]] is divided into 3 partitions for the bootloader, kernel, and root filesystem. Each component can be flashed separately. <br />
<br />
The '''bootloader''' is a small program that runs first and starts everything else when the FreeRunner is powered on. The bootloader is independent of the distribution you use.<br />
The '''kernel''' and the '''root filesystem''' are provided by the distribution. <br />
<br />
'''Before you start: Erasing the root filesystem or flashing the bootloader are radical measures. Take the time to ponder the necessity. Sometimes problems can be fixed by only updating the kernel.'''<br />
<br />
== Software you need ==<br />
<br />
=== Tools for flashing: DFU-util and NeoTool ===<br />
<br />
''Command-line''. DFU-util, the tool to flash the FreeRunner has to be installed on your computer. It is available for Linux, MacOS X, and Windows (see links below). DFU-util allows you to connect to the FreeRunner through the USB cable and control its bootloader. That connection uses a special protocol which addresses the bootloader's interface, and differs from USB networking. For more details, see the separate [[dfu-util]] page.<br />
<br />
''GUI''. Instead of the command-line-based DFU-util, you can use NeoTool, a graphical tool for flashing the FreeRunner: see the [[NeoTool]] page.<br />
<br />
'''Linux:''' http://downloads.openmoko.org/distro/releases/Om2008.9/dfu-util<br />
<br />
Make sure it is executable by setting the permissions with this command: chmod a+x dfu-util<br />
<br />
'''Linux 64-bit:''' You need 64-bit version of dfu-util, which usually can be found in your distribution repository.<br />
If your distribution does not provide 64-bit dfu-util, or it consistently fails with a "-62" error, you have two ways to go:<br />
# Seek for 32-bit machine and do flashing form it.<br />
# Use 32-bit chroot (on amd64 debian). Worked for me --[[User:Bubak|Bubak]] 16:54, 4 September 2008 (UTC).<br />
# Just try the 32-bit dfu-util. Worked fine on my x86_64 Fedora 10 --[[User:Pcfe|pcfe]] 2009-01-16.<br />
#* I can confirm this (Gentoo multilib x86_64) --[[User:Unlotto|Unlotto]] 14:15, 4 February 2009 (UTC)<br />
#* I can confirm this (OpenSuSE 11.0 x86_64) --[[User:muthusuba|muthusuba]] 29 July 2009<br />
<br />
'''MacOS X:''' [[MacOS_X#Graphical_Flashing_with_Openmoko_Flasher]]<br />
<br />
'''Windows:''' http://projects.openmoko.org/frs/?group_id=166&release_id=162<br />
<br />
See additional driver installation instructions for Windows at [[Dfu-util-windows]]<br />
<br />
'''Virtual machines''' While there has been some limited success reported using dfu-util from within a Virtual Machine (such as VMware), in general it is not possible to use dfu-util in this fashion. You must use dfu-util on an operating system that has direct access to the physical USB device hardware.<br />
<br />
== Image files to flash into FreeRunner memory ==<br />
<br />
There are separate image files for all 3 software components. In most cases you will need to install a Kernel (uImage) and a Root Filesystem (rootfs). In rare cases, when there is a bug you need fixed, you will also install a new bootloader.<br />
<br />
Please read [[Distributions]] for choosing the distribution which fits your needs, and then see [[Download]] for downloading.<br />
<br />
== Do a backup ==<br />
<br />
If you have a working image that you're happy with but want to try something different, you should probably do a [[Backup]].<br />
<br />
== Using dfu-util ==<br />
<br />
See [[Manuals/Dfu-util]]<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
== Optional: Verifying boot-loader version ==<br />
<br />
<!-- The following should probably be moved to [[Bootloader_versions]], IMHO --><br />
<br />
<!-- Taken from posts by Mikael Berthe <mikael.berthe@lilotux.net> and Torfinn Ingolfsen <tingox@gmail.com> to Support list, subject: Re: Upgrading u-boot needed ? --><br />
(Optional) After an upgrade, you may wish to check that the u-boot version matches the one you have just flashed. You can use 'grep Bootloader /dev/mtdblock1' from a shell on the FreeRunner (and possibly the 1973 as well) to get the '''NAND''' u-boot version, like this:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock1<br />
Neo1973 Bootloader U-Boot 1.3.2+gitr18+64eb10cab8055084ae25ea4e73b66dd03cc1a0cb<br />
<br />
You can grep for the same string in /dev/mtdblock0 to retrieve the '''NOR''' u-boot version:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock0<br />
Neo1973 Bootloader U-Boot 1.3.2-moko12<br />
<br />
<!-- ENDS ... subject: Re: Upgrading u-boot needed ? --><br />
<br />
== A command line script to simplify dfu-util ==<br />
<br />
DFUScript developed to assist users who have multiple devices in using dfu-util via the command line. Information on where to download and use DFUScript can be found on [[DFUScript]]<br />
<br />
== Alternative: using nandwrite ==<br />
<br />
This approach involves writing the '''rootfs''' into nand directly on the phone from a system already running on it, not necessarily via usb from a computer.<br />
<br />
If you have a system running from a different partition that you intend to flash (for example sd card), you can use nandwrite to do the work, which is much faster (it takes about 30s to write a 59MB jffs2 image).<br />
<br />
Make sure you have nandwrite installed (on gentoo, it's in sys-fs/mtd-utils package)<br />
<br />
Also make sure that the host system has received correct partition list, for example for my stock Neo Freerunner partition list:<br />
<br />
<pre><br />
#cat /proc/mtd<br />
dev: size erasesize name<br />
mtd0: 00200000 00010000 "physmap-flash.0"<br />
mtd1: 00040000 00020000 "u-boot"<br />
mtd2: 00040000 00020000 "u-boot_env"<br />
mtd3: 00800000 00020000 "kernel"<br />
mtd4: 000a0000 00020000 "splash"<br />
mtd5: 00040000 00020000 "factory"<br />
mtd6: 0f6a0000 00020000 "rootfs"<br />
</pre><br />
<br />
In this case, we're looking for ''rootfs'' which according to above is mtd6. If you have it somewhere else, substitute mtd6 with whatever you have in the remainder of this section.<br />
<br />
'''Beware of flashing the ''u-boot'' partition, probably you'll have to recreate mtdparts configuration for u-boot from [[U-boot#Using_usbtty_from_Linux|u-boot console]]. Probably this is due to some kind of bug in nandwrite.'''<br />
<br />
<pre><br />
dynpart<br />
dynenv set u-boot_env<br />
</pre><br />
<br />
You can test your nand for bad blocks by issuing '''nandtest /dev/mtd6''' '''(this is a data destructive test !)'''<br />
<br />
First, put your .jffs2 file somewhere the phone system can read it<br />
<br />
Second, write the desired image into the nand this way:<br />
<pre><br />
flash_eraseall /dev/mtd6<br />
nandwrite -p /dev/mtd6 /path/to/image.jffs2<br />
</pre><br />
<br />
* The -m flag can be used to tell nandwrite to mark blocks it detects bad as bad, so if nandwrite is bugged, your entire partition will be marked as bad. See [[NAND_bad_blocks#Clearing_BadBlocks]] if this happened to you.<br />
<br />
You're all done!<br />
<br />
== Troubleshooting ==<br />
<br />
Okay, so you just reflashed. The splash screen pops up, but uBoot fail to load the kernel, and return to boot menu. WTF?<br />
<br />
* It is likely that the wrong bits went to the wrong place. Try reflashing just the kernel, double checking that you select the uImage.bin kernel file, not the u-boot.bin bootloader file.<br />
* Try redownloading and reflashing the kernel, checking file integrity with the MD5 hash sums.<br />
<br />
==See also==<br />
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot home page]<br />
<br />
[[Category:Flashing Openmoko| ]]</div>Marko Knöblhttp://openmoko.org/wiki/Flashing_the_Neo_FreeRunnerFlashing the Neo FreeRunner2010-08-12T08:14:55Z<p>Marko Knöbl: /* Image files to flash into FreeRunner memory */</p>
<hr />
<div>{{Languages|Flashing_the_Neo_FreeRunner}}<br />
Most of the software on the Neo FreeRunner can be updated or changed. The root filesystem, the [[kernel]], and the [[Bootloader]] can be modified with the program [[dfu-util]] from a computer. This page does not describe flashing the [[NOR Flash]] which requires a [[debug board]]. See [[Flashing NOR]] for this procedure. <br />
<br />
The [[NAND Flash]] is divided into 3 partitions for the bootloader, kernel, and root filesystem. Each component can be flashed separately. <br />
<br />
The '''bootloader''' is a small program that runs first and starts everything else when the FreeRunner is powered on. The bootloader is independent of the distribution you use.<br />
The '''kernel''' and the '''root filesystem''' are provided by the distribution. <br />
<br />
'''Before you start: Erasing the root filesystem or flashing the bootloader are radical measures. Take the time to ponder the necessity. Sometimes problems can be fixed by only updating the kernel.'''<br />
<br />
== Software you need ==<br />
<br />
=== Tools for flashing: DFU-util and NeoTool ===<br />
<br />
Note that there are some issues using dfu-util with sudo.<br />
<br />
'''Don't use sudo with dfu-util. Make sure you are root before using dfu-util!'''<br />
<br />
''Command-line''. DFU-util, the tool to flash the FreeRunner has to be installed on your computer. It is available for Linux, MacOS X, and Windows (see links below). DFU-util allows you to connect to the FreeRunner through the USB cable and control its bootloader. That connection uses a special protocol which addresses the bootloader's interface, and differs from USB networking. For more details, see the separate [[dfu-util]] page.<br />
<br />
''GUI''. Instead of the command-line-based DFU-util, you can use NeoTool, a graphical tool for flashing the FreeRunner: see the [[NeoTool]] page.<br />
<br />
'''Linux:''' http://downloads.openmoko.org/distro/releases/Om2008.9/dfu-util<br />
<br />
Make sure it is executable by setting the permissions with this command: chmod a+x dfu-util<br />
<br />
'''Linux 64-bit:''' You need 64-bit version of dfu-util, which usually can be found in your distribution repository.<br />
If your distribution does not provide 64-bit dfu-util, or it consistently fails with a "-62" error, you have two ways to go:<br />
# Seek for 32-bit machine and do flashing form it.<br />
# Use 32-bit chroot (on amd64 debian). Worked for me --[[User:Bubak|Bubak]] 16:54, 4 September 2008 (UTC).<br />
# Just try the 32-bit dfu-util. Worked fine on my x86_64 Fedora 10 --[[User:Pcfe|pcfe]] 2009-01-16.<br />
#* I can confirm this (Gentoo multilib x86_64) --[[User:Unlotto|Unlotto]] 14:15, 4 February 2009 (UTC)<br />
#* I can confirm this (OpenSuSE 11.0 x86_64) --[[User:muthusuba|muthusuba]] 29 July 2009<br />
<br />
'''MacOS X:''' [[MacOS_X#Graphical_Flashing_with_Openmoko_Flasher]]<br />
<br />
'''Windows:''' http://projects.openmoko.org/frs/?group_id=166&release_id=162<br />
<br />
See additional driver installation instructions for Windows at [[Dfu-util-windows]]<br />
<br />
'''Virtual machines''' While there has been some limited success reported using dfu-util from within a Virtual Machine (such as VMware), in general it is not possible to use dfu-util in this fashion. You must use dfu-util on an operating system that has direct access to the physical USB device hardware.<br />
<br />
== Image files to flash into FreeRunner memory ==<br />
<br />
There are separate image files for all 3 software components. In most cases you will need to install a Kernel (uImage) and a Root Filesystem (rootfs). In rare cases, when there is a bug you need fixed, you will also install a new bootloader.<br />
<br />
Please read [[Distributions]] for choosing the distribution which fits your needs, and then see [[Download]] for downloading.<br />
<br />
== Do a backup ==<br />
<br />
If you have a working image that you're happy with but want to try something different, you should probably do a [[Backup]].<br />
<br />
== Using dfu-util ==<br />
<br />
See [[Manuals/Dfu-util]]<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
== Optional: Verifying boot-loader version ==<br />
<br />
<!-- The following should probably be moved to [[Bootloader_versions]], IMHO --><br />
<br />
<!-- Taken from posts by Mikael Berthe <mikael.berthe@lilotux.net> and Torfinn Ingolfsen <tingox@gmail.com> to Support list, subject: Re: Upgrading u-boot needed ? --><br />
(Optional) After an upgrade, you may wish to check that the u-boot version matches the one you have just flashed. You can use 'grep Bootloader /dev/mtdblock1' from a shell on the FreeRunner (and possibly the 1973 as well) to get the '''NAND''' u-boot version, like this:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock1<br />
Neo1973 Bootloader U-Boot 1.3.2+gitr18+64eb10cab8055084ae25ea4e73b66dd03cc1a0cb<br />
<br />
You can grep for the same string in /dev/mtdblock0 to retrieve the '''NOR''' u-boot version:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock0<br />
Neo1973 Bootloader U-Boot 1.3.2-moko12<br />
<br />
<!-- ENDS ... subject: Re: Upgrading u-boot needed ? --><br />
<br />
== A command line script to simplify dfu-util ==<br />
<br />
DFUScript developed to assist users who have multiple devices in using dfu-util via the command line. Information on where to download and use DFUScript can be found on [[DFUScript]]<br />
<br />
== Alternative: using nandwrite ==<br />
<br />
This approach involves writing the '''rootfs''' into nand directly on the phone from a system already running on it, not necessarily via usb from a computer.<br />
<br />
If you have a system running from a different partition that you intend to flash (for example sd card), you can use nandwrite to do the work, which is much faster (it takes about 30s to write a 59MB jffs2 image).<br />
<br />
Make sure you have nandwrite installed (on gentoo, it's in sys-fs/mtd-utils package)<br />
<br />
Also make sure that the host system has received correct partition list, for example for my stock Neo Freerunner partition list:<br />
<br />
<pre><br />
#cat /proc/mtd<br />
dev: size erasesize name<br />
mtd0: 00200000 00010000 "physmap-flash.0"<br />
mtd1: 00040000 00020000 "u-boot"<br />
mtd2: 00040000 00020000 "u-boot_env"<br />
mtd3: 00800000 00020000 "kernel"<br />
mtd4: 000a0000 00020000 "splash"<br />
mtd5: 00040000 00020000 "factory"<br />
mtd6: 0f6a0000 00020000 "rootfs"<br />
</pre><br />
<br />
In this case, we're looking for ''rootfs'' which according to above is mtd6. If you have it somewhere else, substitute mtd6 with whatever you have in the remainder of this section.<br />
<br />
'''Beware of flashing the ''u-boot'' partition, probably you'll have to recreate mtdparts configuration for u-boot from [[U-boot#Using_usbtty_from_Linux|u-boot console]]. Probably this is due to some kind of bug in nandwrite.'''<br />
<br />
<pre><br />
dynpart<br />
dynenv set u-boot_env<br />
</pre><br />
<br />
You can test your nand for bad blocks by issuing '''nandtest /dev/mtd6''' '''(this is a data destructive test !)'''<br />
<br />
First, put your .jffs2 file somewhere the phone system can read it<br />
<br />
Second, write the desired image into the nand this way:<br />
<pre><br />
flash_eraseall /dev/mtd6<br />
nandwrite -p /dev/mtd6 /path/to/image.jffs2<br />
</pre><br />
<br />
* The -m flag can be used to tell nandwrite to mark blocks it detects bad as bad, so if nandwrite is bugged, your entire partition will be marked as bad. See [[NAND_bad_blocks#Clearing_BadBlocks]] if this happened to you.<br />
<br />
You're all done!<br />
<br />
== Troubleshooting ==<br />
<br />
Okay, so you just reflashed. The splash screen pops up, but uBoot fail to load the kernel, and return to boot menu. WTF?<br />
<br />
* It is likely that the wrong bits went to the wrong place. Try reflashing just the kernel, double checking that you select the uImage.bin kernel file, not the u-boot.bin bootloader file.<br />
* Try redownloading and reflashing the kernel, checking file integrity with the MD5 hash sums.<br />
<br />
==See also==<br />
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot home page]<br />
<br />
[[Category:Flashing Openmoko| ]]</div>Marko Knöblhttp://openmoko.org/wiki/Flashing_the_Neo_FreeRunnerFlashing the Neo FreeRunner2010-08-11T20:50:47Z<p>Marko Knöbl: /* Flashing the boot loader to the NAND */</p>
<hr />
<div>{{Languages|Flashing_the_Neo_FreeRunner}}<br />
Most of the software on the Neo FreeRunner can be updated or changed. The root filesystem, the [[kernel]], and the [[Bootloader]] can be modified with the program [[dfu-util]] from a computer. This page does not describe flashing the [[NOR Flash]] which requires a [[debug board]]. See [[Flashing NOR]] for this procedure. <br />
<br />
The [[NAND Flash]] is divided into 3 partitions for the bootloader, kernel, and root filesystem. Each component can be flashed separately. <br />
<br />
The '''bootloader''' is a small program that runs first and starts everything else when the FreeRunner is powered on. The bootloader is independent of the distribution you use.<br />
The '''kernel''' and the '''root filesystem''' are provided by the distribution. <br />
<br />
'''Before you start: Erasing the root filesystem or flashing the bootloader are radical measures. Take the time to ponder the necessity. Sometimes problems can be fixed by only updating the kernel.'''<br />
<br />
== Software you need ==<br />
<br />
=== Tools for flashing: DFU-util and NeoTool ===<br />
<br />
Note that there are some issues using dfu-util with sudo.<br />
<br />
'''Don't use sudo with dfu-util. Make sure you are root before using dfu-util!'''<br />
<br />
''Command-line''. DFU-util, the tool to flash the FreeRunner has to be installed on your computer. It is available for Linux, MacOS X, and Windows (see links below). DFU-util allows you to connect to the FreeRunner through the USB cable and control its bootloader. That connection uses a special protocol which addresses the bootloader's interface, and differs from USB networking. For more details, see the separate [[dfu-util]] page.<br />
<br />
''GUI''. Instead of the command-line-based DFU-util, you can use NeoTool, a graphical tool for flashing the FreeRunner: see the [[NeoTool]] page.<br />
<br />
'''Linux:''' http://downloads.openmoko.org/distro/releases/Om2008.9/dfu-util<br />
<br />
Make sure it is executable by setting the permissions with this command: chmod a+x dfu-util<br />
<br />
'''Linux 64-bit:''' You need 64-bit version of dfu-util, which usually can be found in your distribution repository.<br />
If your distribution does not provide 64-bit dfu-util, or it consistently fails with a "-62" error, you have two ways to go:<br />
# Seek for 32-bit machine and do flashing form it.<br />
# Use 32-bit chroot (on amd64 debian). Worked for me --[[User:Bubak|Bubak]] 16:54, 4 September 2008 (UTC).<br />
# Just try the 32-bit dfu-util. Worked fine on my x86_64 Fedora 10 --[[User:Pcfe|pcfe]] 2009-01-16.<br />
#* I can confirm this (Gentoo multilib x86_64) --[[User:Unlotto|Unlotto]] 14:15, 4 February 2009 (UTC)<br />
#* I can confirm this (OpenSuSE 11.0 x86_64) --[[User:muthusuba|muthusuba]] 29 July 2009<br />
<br />
'''MacOS X:''' [[MacOS_X#Graphical_Flashing_with_Openmoko_Flasher]]<br />
<br />
'''Windows:''' http://projects.openmoko.org/frs/?group_id=166&release_id=162<br />
<br />
See additional driver installation instructions for Windows at [[Dfu-util-windows]]<br />
<br />
'''Virtual machines''' While there has been some limited success reported using dfu-util from within a Virtual Machine (such as VMware), in general it is not possible to use dfu-util in this fashion. You must use dfu-util on an operating system that has direct access to the physical USB device hardware.<br />
<br />
=== Image files to flash into FreeRunner memory ===<br />
<br />
There are separate image files for all 3 software components. In most cases you will need to install a Kernel (uImage) and a Root Filesystem (rootfs). In rare cases, when there is a bug you need fixed, you will also install a new bootloader.<br />
<br />
Please read [[Distributions]] for choosing the distribution which fits your needs, and then see [[Download]] for downloading.<br />
<br />
== Do a backup ==<br />
<br />
If you have a working image that you're happy with but want to try something different, you should probably do a [[Backup]].<br />
<br />
== Using dfu-util ==<br />
<br />
See [[Manuals/Dfu-util]]<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
== Optional: Verifying boot-loader version ==<br />
<br />
<!-- The following should probably be moved to [[Bootloader_versions]], IMHO --><br />
<br />
<!-- Taken from posts by Mikael Berthe <mikael.berthe@lilotux.net> and Torfinn Ingolfsen <tingox@gmail.com> to Support list, subject: Re: Upgrading u-boot needed ? --><br />
(Optional) After an upgrade, you may wish to check that the u-boot version matches the one you have just flashed. You can use 'grep Bootloader /dev/mtdblock1' from a shell on the FreeRunner (and possibly the 1973 as well) to get the '''NAND''' u-boot version, like this:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock1<br />
Neo1973 Bootloader U-Boot 1.3.2+gitr18+64eb10cab8055084ae25ea4e73b66dd03cc1a0cb<br />
<br />
You can grep for the same string in /dev/mtdblock0 to retrieve the '''NOR''' u-boot version:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock0<br />
Neo1973 Bootloader U-Boot 1.3.2-moko12<br />
<br />
<!-- ENDS ... subject: Re: Upgrading u-boot needed ? --><br />
<br />
== A command line script to simplify dfu-util ==<br />
<br />
DFUScript developed to assist users who have multiple devices in using dfu-util via the command line. Information on where to download and use DFUScript can be found on [[DFUScript]]<br />
<br />
== Alternative: using nandwrite ==<br />
<br />
This approach involves writing the '''rootfs''' into nand directly on the phone from a system already running on it, not necessarily via usb from a computer.<br />
<br />
If you have a system running from a different partition that you intend to flash (for example sd card), you can use nandwrite to do the work, which is much faster (it takes about 30s to write a 59MB jffs2 image).<br />
<br />
Make sure you have nandwrite installed (on gentoo, it's in sys-fs/mtd-utils package)<br />
<br />
Also make sure that the host system has received correct partition list, for example for my stock Neo Freerunner partition list:<br />
<br />
<pre><br />
#cat /proc/mtd<br />
dev: size erasesize name<br />
mtd0: 00200000 00010000 "physmap-flash.0"<br />
mtd1: 00040000 00020000 "u-boot"<br />
mtd2: 00040000 00020000 "u-boot_env"<br />
mtd3: 00800000 00020000 "kernel"<br />
mtd4: 000a0000 00020000 "splash"<br />
mtd5: 00040000 00020000 "factory"<br />
mtd6: 0f6a0000 00020000 "rootfs"<br />
</pre><br />
<br />
In this case, we're looking for ''rootfs'' which according to above is mtd6. If you have it somewhere else, substitute mtd6 with whatever you have in the remainder of this section.<br />
<br />
'''Beware of flashing the ''u-boot'' partition, probably you'll have to recreate mtdparts configuration for u-boot from [[U-boot#Using_usbtty_from_Linux|u-boot console]]. Probably this is due to some kind of bug in nandwrite.'''<br />
<br />
<pre><br />
dynpart<br />
dynenv set u-boot_env<br />
</pre><br />
<br />
You can test your nand for bad blocks by issuing '''nandtest /dev/mtd6''' '''(this is a data destructive test !)'''<br />
<br />
First, put your .jffs2 file somewhere the phone system can read it<br />
<br />
Second, write the desired image into the nand this way:<br />
<pre><br />
flash_eraseall /dev/mtd6<br />
nandwrite -p /dev/mtd6 /path/to/image.jffs2<br />
</pre><br />
<br />
* The -m flag can be used to tell nandwrite to mark blocks it detects bad as bad, so if nandwrite is bugged, your entire partition will be marked as bad. See [[NAND_bad_blocks#Clearing_BadBlocks]] if this happened to you.<br />
<br />
You're all done!<br />
<br />
== Troubleshooting ==<br />
<br />
Okay, so you just reflashed. The splash screen pops up, but uBoot fail to load the kernel, and return to boot menu. WTF?<br />
<br />
* It is likely that the wrong bits went to the wrong place. Try reflashing just the kernel, double checking that you select the uImage.bin kernel file, not the u-boot.bin bootloader file.<br />
* Try redownloading and reflashing the kernel, checking file integrity with the MD5 hash sums.<br />
<br />
==See also==<br />
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot home page]<br />
<br />
[[Category:Flashing Openmoko| ]]</div>Marko Knöblhttp://openmoko.org/wiki/Flashing_the_Neo_FreeRunnerFlashing the Neo FreeRunner2010-08-11T20:48:44Z<p>Marko Knöbl: /* Flashing the Root Filesystem */ removing this section as it duplicated the information at Manuals/dfu-util</p>
<hr />
<div>{{Languages|Flashing_the_Neo_FreeRunner}}<br />
Most of the software on the Neo FreeRunner can be updated or changed. The root filesystem, the [[kernel]], and the [[Bootloader]] can be modified with the program [[dfu-util]] from a computer. This page does not describe flashing the [[NOR Flash]] which requires a [[debug board]]. See [[Flashing NOR]] for this procedure. <br />
<br />
The [[NAND Flash]] is divided into 3 partitions for the bootloader, kernel, and root filesystem. Each component can be flashed separately. <br />
<br />
The '''bootloader''' is a small program that runs first and starts everything else when the FreeRunner is powered on. The bootloader is independent of the distribution you use.<br />
The '''kernel''' and the '''root filesystem''' are provided by the distribution. <br />
<br />
'''Before you start: Erasing the root filesystem or flashing the bootloader are radical measures. Take the time to ponder the necessity. Sometimes problems can be fixed by only updating the kernel.'''<br />
<br />
== Software you need ==<br />
<br />
=== Tools for flashing: DFU-util and NeoTool ===<br />
<br />
Note that there are some issues using dfu-util with sudo.<br />
<br />
'''Don't use sudo with dfu-util. Make sure you are root before using dfu-util!'''<br />
<br />
''Command-line''. DFU-util, the tool to flash the FreeRunner has to be installed on your computer. It is available for Linux, MacOS X, and Windows (see links below). DFU-util allows you to connect to the FreeRunner through the USB cable and control its bootloader. That connection uses a special protocol which addresses the bootloader's interface, and differs from USB networking. For more details, see the separate [[dfu-util]] page.<br />
<br />
''GUI''. Instead of the command-line-based DFU-util, you can use NeoTool, a graphical tool for flashing the FreeRunner: see the [[NeoTool]] page.<br />
<br />
'''Linux:''' http://downloads.openmoko.org/distro/releases/Om2008.9/dfu-util<br />
<br />
Make sure it is executable by setting the permissions with this command: chmod a+x dfu-util<br />
<br />
'''Linux 64-bit:''' You need 64-bit version of dfu-util, which usually can be found in your distribution repository.<br />
If your distribution does not provide 64-bit dfu-util, or it consistently fails with a "-62" error, you have two ways to go:<br />
# Seek for 32-bit machine and do flashing form it.<br />
# Use 32-bit chroot (on amd64 debian). Worked for me --[[User:Bubak|Bubak]] 16:54, 4 September 2008 (UTC).<br />
# Just try the 32-bit dfu-util. Worked fine on my x86_64 Fedora 10 --[[User:Pcfe|pcfe]] 2009-01-16.<br />
#* I can confirm this (Gentoo multilib x86_64) --[[User:Unlotto|Unlotto]] 14:15, 4 February 2009 (UTC)<br />
#* I can confirm this (OpenSuSE 11.0 x86_64) --[[User:muthusuba|muthusuba]] 29 July 2009<br />
<br />
'''MacOS X:''' [[MacOS_X#Graphical_Flashing_with_Openmoko_Flasher]]<br />
<br />
'''Windows:''' http://projects.openmoko.org/frs/?group_id=166&release_id=162<br />
<br />
See additional driver installation instructions for Windows at [[Dfu-util-windows]]<br />
<br />
'''Virtual machines''' While there has been some limited success reported using dfu-util from within a Virtual Machine (such as VMware), in general it is not possible to use dfu-util in this fashion. You must use dfu-util on an operating system that has direct access to the physical USB device hardware.<br />
<br />
=== Image files to flash into FreeRunner memory ===<br />
<br />
There are separate image files for all 3 software components. In most cases you will need to install a Kernel (uImage) and a Root Filesystem (rootfs). In rare cases, when there is a bug you need fixed, you will also install a new bootloader.<br />
<br />
Please read [[Distributions]] for choosing the distribution which fits your needs, and then see [[Download]] for downloading.<br />
<br />
== Do a backup ==<br />
<br />
If you have a working image that you're happy with but want to try something different, you should probably do a [[Backup]].<br />
<br />
== Using dfu-util ==<br />
<br />
See [[Manuals/Dfu-util]]<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
== Flashing the boot loader to the NAND==<br />
<br />
{{Note|In most cases you don't need to flash your bootloader. Flash it only if you want to update for a specific feature or due to a specific problem.}}<br />
<br />
The boot loader (U-boot) file should have a .bin extension. As with the root filesystem, if the file you downloaded is zipped or compressed (has a .gz or .zip extension) you have to uncompress it first.<br />
<br />
The command format is:<br />
<br />
# dfu-util -a u-boot -R -D ''uboot.bin''<br />
<br />
where ''uboot.bin'' is the name of the boot loader binary image file.<br />
<br />
=== Optional: Verifying boot-loader version ===<br />
<br />
<!-- The following should probably be moved to [[Bootloader_versions]], IMHO --><br />
<br />
<!-- Taken from posts by Mikael Berthe <mikael.berthe@lilotux.net> and Torfinn Ingolfsen <tingox@gmail.com> to Support list, subject: Re: Upgrading u-boot needed ? --><br />
(Optional) After an upgrade, you may wish to check that the u-boot version matches the one you have just flashed. You can use 'grep Bootloader /dev/mtdblock1' from a shell on the FreeRunner (and possibly the 1973 as well) to get the '''NAND''' u-boot version, like this:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock1<br />
Neo1973 Bootloader U-Boot 1.3.2+gitr18+64eb10cab8055084ae25ea4e73b66dd03cc1a0cb<br />
<br />
You can grep for the same string in /dev/mtdblock0 to retrieve the '''NOR''' u-boot version:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock0<br />
Neo1973 Bootloader U-Boot 1.3.2-moko12<br />
<br />
<!-- ENDS ... subject: Re: Upgrading u-boot needed ? --><br />
<br />
== A command line script to simplify dfu-util ==<br />
<br />
DFUScript developed to assist users who have multiple devices in using dfu-util via the command line. Information on where to download and use DFUScript can be found on [[DFUScript]]<br />
<br />
== Alternative: using nandwrite ==<br />
<br />
This approach involves writing the '''rootfs''' into nand directly on the phone from a system already running on it, not necessarily via usb from a computer.<br />
<br />
If you have a system running from a different partition that you intend to flash (for example sd card), you can use nandwrite to do the work, which is much faster (it takes about 30s to write a 59MB jffs2 image).<br />
<br />
Make sure you have nandwrite installed (on gentoo, it's in sys-fs/mtd-utils package)<br />
<br />
Also make sure that the host system has received correct partition list, for example for my stock Neo Freerunner partition list:<br />
<br />
<pre><br />
#cat /proc/mtd<br />
dev: size erasesize name<br />
mtd0: 00200000 00010000 "physmap-flash.0"<br />
mtd1: 00040000 00020000 "u-boot"<br />
mtd2: 00040000 00020000 "u-boot_env"<br />
mtd3: 00800000 00020000 "kernel"<br />
mtd4: 000a0000 00020000 "splash"<br />
mtd5: 00040000 00020000 "factory"<br />
mtd6: 0f6a0000 00020000 "rootfs"<br />
</pre><br />
<br />
In this case, we're looking for ''rootfs'' which according to above is mtd6. If you have it somewhere else, substitute mtd6 with whatever you have in the remainder of this section.<br />
<br />
'''Beware of flashing the ''u-boot'' partition, probably you'll have to recreate mtdparts configuration for u-boot from [[U-boot#Using_usbtty_from_Linux|u-boot console]]. Probably this is due to some kind of bug in nandwrite.'''<br />
<br />
<pre><br />
dynpart<br />
dynenv set u-boot_env<br />
</pre><br />
<br />
You can test your nand for bad blocks by issuing '''nandtest /dev/mtd6''' '''(this is a data destructive test !)'''<br />
<br />
First, put your .jffs2 file somewhere the phone system can read it<br />
<br />
Second, write the desired image into the nand this way:<br />
<pre><br />
flash_eraseall /dev/mtd6<br />
nandwrite -p /dev/mtd6 /path/to/image.jffs2<br />
</pre><br />
<br />
* The -m flag can be used to tell nandwrite to mark blocks it detects bad as bad, so if nandwrite is bugged, your entire partition will be marked as bad. See [[NAND_bad_blocks#Clearing_BadBlocks]] if this happened to you.<br />
<br />
You're all done!<br />
<br />
== Troubleshooting ==<br />
<br />
Okay, so you just reflashed. The splash screen pops up, but uBoot fail to load the kernel, and return to boot menu. WTF?<br />
<br />
* It is likely that the wrong bits went to the wrong place. Try reflashing just the kernel, double checking that you select the uImage.bin kernel file, not the u-boot.bin bootloader file.<br />
* Try redownloading and reflashing the kernel, checking file integrity with the MD5 hash sums.<br />
<br />
==See also==<br />
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot home page]<br />
<br />
[[Category:Flashing Openmoko| ]]</div>Marko Knöblhttp://openmoko.org/wiki/Manuals/dfu-utilManuals/dfu-util2010-08-11T20:47:45Z<p>Marko Knöbl: /* Phrasebook */</p>
<hr />
<div>This manual describes the usage of [[dfu-util]].<br />
<br />
== Reference Documentation ==<br />
<br />
To run dfu-util, you need to have /proc/bus/usb mounted and working. The terminal command "ls /proc/bus/usb" should return something similar to, "001 002 003 004 005 devices", it shouldn't be empty. If it is empty, use this command:<br />
<br />
<pre><br />
sudo mount -t usbfs usbfs /proc/bus/usb<br />
</pre><br />
<br />
You can permanently add it in your fstab so that it automatically mounts. You can use emacs to edit you fstab using the command "sudo emacs /etc/fstab -nw" in your terminal window. Add the below line to your fstab:<br />
<br />
<pre><br />
usbfs /proc/bus/usb usbfs defaults<br />
</pre><br />
<br />
<br />
=== Before using dfu-util ===<br />
<br />
* Read the other sections of this page first, because you will have 30 seconds to enter the flashing commands, come back here when ready.<br />
* Do not connect the USB cable from the PC to your Neo yet (disconnect it).<br />
* Boot your Neo into the NOR uBoot menu for flashing:<br />
** Turn off the Neo<br />
** Press and hold the AUX button<br />
** Press the Power button until the boot menu comes up<br />
** This menu is labelled '''*** BOOT MENU (NOR) ***'''<br />
** See also [[Booting the Neo FreeRunner]]<br />
* Stay in NOR uBoot menu, do not select or enter any item in the menu. Now you will be able to flash, make backups of your FreeRunner or query the FreeRunner with dfu-util.<br />
* The FreeRunner only stays at the NOR boot prompt for about 30 seconds and then shuts off unless you do something.<br />
* Connect your Neo to your computer directly (Using a hub in between could cause problems with the hub and the usb reset)<br />
* Now you can enter the dfu-util commands on your PC as described below.<br />
* If the Neo FreeRunner turns off before you press start flashing ('''screen goes black'''), go back to step 2. If you start flashing in time, the phone will not turn off meanwhile.<br />
<br />
Note: Some myth existed that dfu-util is not worked with sudo. This is not true of course. It is working from both sudo and su sessions. --[[User:Gena2x|Gena2x]] 12:30, 20 July 2010 (UTC)<br />
<br />
Note that the dfu-util connection does '''not''' use Ethernet over USB - that is, you should not attempt to set up a usb0 network interface on your GNU/Linux host desktop (on Windows, you need a DFU class driver, or you can use the LibUSB-Win32 driver described on the [[Dfu-util-windows]] page). The dfu-util utility sets up its own connection to the FreeRunner. In fact, you will not be able to make an Ethernet-over-USB connection to the FreeRunner when it is at the uBoot menu; this type of connection is only available when the FreeRunner has booted fully.<br />
<br />
After connecting the FreeRunner to your host via USB cable, you can test whether dfu-util "sees" the FreeRunner by executing:<br />
<br />
<pre>dfu-util -l</pre><br />
<br />
If you get error messages from the dfu-util command then try again. Often it works on the second try.<br />
<br />
dfu-util uses the DeviceFirmwareUpgrade protocol, and may list more than one device. If so, try unplugging the other device (e.g. a USB mouse) or using the -d switch to tell dfu-util which device it should talk to, as described at the relevant bug report [http://docs.openmoko.org/trac/ticket/2039].<br />
<br />
Also, please remember to execute the dfu-util command with sufficient privileges (ie. root) -- you will need complete control over the usb bus.<br />
<br />
=== Command-line options ===<br />
<br />
==== --help ====<br />
<br />
<pre><br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Usage: dfu-util [options] ...<br />
-h --help Print this help message<br />
-V --version Print the version number<br />
-l --list List the currently attached DFU capable USB devices<br />
-d --device vendor:product Specify Vendor/Product ID of DFU device<br />
-c --cfg config_nr Specify the Configuration of DFU device<br />
-i --intf intf_nr Specify the DFU Interface number<br />
-a --alt alt_nr Specify the Altseting of the DFU Interface<br />
-t --transfer-size Specify the number of bytes per USB Transfer<br />
-U --upload file Read firmware from device into <file><br />
-D --download file Write firmware from <file> into device<br />
-R --reset Issue USB Reset signalling once we're finished<br />
</pre><br />
<br />
==== --alt ====<br />
With the -a switch you specify the location on the device you want to write to or read from.<br />
However, for most cases, ''kernel'' and ''rootfs'' will be enough.<br />
<br />
See [[partitions]] for a list. You may also use the ''--list'' switch (see below), to get an online list.<br />
<br />
==== --list ====<br />
<br />
Using the --list option, you can list the available DFU capable devices, their configuration, interface and altsettings.<br />
Below is an example for a current Neo1973 phone in u-boot '''Runtime Mode'''<br />
<pre><br />
# ./dfu-util --list<br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Found DFU Runtime: [0x1457:0x5119] devnum=0, cfg=0, intf=2, alt=0, name="USB Device Firmware Upgrade"<br />
</pre><br />
<br />
Below is an example for a current Neo1973 phone in u-boot '''DFU Mode'''<br />
<pre><br />
# ./dfu-util --list<br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=0, name="RAM 0x32000000"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=1, name="u-boot"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=2, name="u-boot_env"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=3, name="kernel"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=4, name="splash"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=5, name="rootfs"<br />
</pre><br />
<br />
This shows you six interfaces, all in '''configuration 0''' and '''interface 0''', with altsetting 0...5, for RAM and each [[Partitions|partition]].<br />
<br />
==== --device ====<br />
<br />
You can specify the USB Vendor and Product ID of the device you want to program:<br />
<br />
dfu-util --device 0x1457:0x5119<br />
<br />
If you only have one standards-compliant DFU device attached to your PC, this is optional. However, as soon as you have multiple DFU devices, dfu-util will detect this and abort, asking you to specify which device it shall use.<br />
<br />
==== --transfer-size ====<br />
<br />
Specifies the size of each individual USB transfer. If you don't use it, the maximum possible size for your combination of host operating system and USB device is chosen (for optimal performance).<br />
<br />
==== --download ====<br />
<br />
download the given file into the device.<br />
<br />
==== --upload ====<br />
<br />
upload from the DFU device into the given file[name].<br />
<br />
{{note|Upload support is currently broken - [http://docs.openmoko.org/trac/ticket/676 #676]}}<br />
<br />
== Phrasebook ==<br />
<br />
There's no full-fledged manual yet. Instead, some examples:<br />
<br />
=== Flashing the rootfs ===<br />
<br />
The root filesystem has to be an image in jffs2 format. If the file you downloaded is zipped or compressed (has a .gz, bz2, .zip, tar, tar.gz or .tgz extension) you have to uncompress it first.<br />
<br />
dfu-util -a rootfs -R -D /path/to/openmoko-devel-image.jffs2<br />
<br />
Flashing the rootfs can take up to 15 minutes for a ~70MB image.<br />
<br />
=== Flashing the kernel ===<br />
<br />
dfu-util -a kernel -R -D /path/to/uImage<br />
<br />
=== Flashing the bootloader ===<br />
<br />
dfu-util -a u-boot -R -D /path/to/u-boot.bin<br />
<br />
=== Flashing the splash image ===<br />
<br />
dfu-util -a splash -R -D /path/to/splash.gz<br />
<br />
see also [[Configuring_the_boot_splash_screens]]<br />
<br />
=== Copying a kernel into RAM ===<br />
<br />
dfu-util -a 0 -R -D /path/to/uImage<br />
<br />
Once this has finished, the kernel will be available at the default load address of 0x32000000 in Neo1973 RAM.<br />
<br />
{{note|You cannot transfer more than 2MB of data into RAM using this method}}<br />
<br />
=== Success message ===<br />
<br />
If flashing was successfull the following will be shown:<br />
<br />
status(0) = No error condition is present<br />
Done!<br />
<br />
== Troubleshooting notes ==<br />
<br />
If during flashing of an image using dfu-util you're consistently getting an error -110 message, check that the size of the destination NAND [[Partitions|partition]] is big enough to hold the image. For example the kernel partition is only 2 MB big by default and a kernel with debugging info compiled-in can often exceed this. It's possible to change the partition layout to enlarge a given partition and shrink other partitions but you have to remember to reflash all partitions whose start offset has changed afterwards. To adjust partitions layout use the ''mtdparts'' [[Bootloader|u-boot command]].<br />
<br />
If in turn you're facing errors in seemingly random places during the flashing of images, most likely the USB hub or cable through which your Neo1973 is connected, is of too poor quality. It is recommended that you always connect the phone directly to the host when using dfu-util.<br />
<br />
If dfu-util reports a message like the following, before it starts flashing:<pre><br />
Resetting USB...<br />
not at least 2 device changes found ?!?<br />
Lost device after RESET?</pre> retry the command - it should work on a second run.<br />
<br />
If dfu-util complains about not being able to program the device while in runtime mode, do the following: while in the boot menu, remove the usb cable and insert it again. Depending on the version of uBoot it should display somewhere in the menu that it is now in DFU mode. Now dfu-util should be able to continue.<br />
<br />
If dfu-util is too slow on Windows, that's a known bug. A suggestion is to run Linux on a virtual box. An full root image 97MB that is 776Mbit, the USB 1.1 on the Neo FreeRunner is capable of either 1.5 Mbit/s (Low-Speed) and 12 Mbit/s (Full-Speed). So flashing it should take less than 9 minutes with low speed and a bit more than a minute with full-speed. Plus transfer overhead, plus decompression on the Neo side.<br />
<br />
Note that any error messages indicate a probable failed transfer, despite latter messages emitted about success, etc.<br />
<br />
[[Category:Manuals]]</div>Marko Knöblhttp://openmoko.org/wiki/Manuals/dfu-utilManuals/dfu-util2010-08-11T20:45:49Z<p>Marko Knöbl: </p>
<hr />
<div>This manual describes the usage of [[dfu-util]].<br />
<br />
== Reference Documentation ==<br />
<br />
To run dfu-util, you need to have /proc/bus/usb mounted and working. The terminal command "ls /proc/bus/usb" should return something similar to, "001 002 003 004 005 devices", it shouldn't be empty. If it is empty, use this command:<br />
<br />
<pre><br />
sudo mount -t usbfs usbfs /proc/bus/usb<br />
</pre><br />
<br />
You can permanently add it in your fstab so that it automatically mounts. You can use emacs to edit you fstab using the command "sudo emacs /etc/fstab -nw" in your terminal window. Add the below line to your fstab:<br />
<br />
<pre><br />
usbfs /proc/bus/usb usbfs defaults<br />
</pre><br />
<br />
<br />
=== Before using dfu-util ===<br />
<br />
* Read the other sections of this page first, because you will have 30 seconds to enter the flashing commands, come back here when ready.<br />
* Do not connect the USB cable from the PC to your Neo yet (disconnect it).<br />
* Boot your Neo into the NOR uBoot menu for flashing:<br />
** Turn off the Neo<br />
** Press and hold the AUX button<br />
** Press the Power button until the boot menu comes up<br />
** This menu is labelled '''*** BOOT MENU (NOR) ***'''<br />
** See also [[Booting the Neo FreeRunner]]<br />
* Stay in NOR uBoot menu, do not select or enter any item in the menu. Now you will be able to flash, make backups of your FreeRunner or query the FreeRunner with dfu-util.<br />
* The FreeRunner only stays at the NOR boot prompt for about 30 seconds and then shuts off unless you do something.<br />
* Connect your Neo to your computer directly (Using a hub in between could cause problems with the hub and the usb reset)<br />
* Now you can enter the dfu-util commands on your PC as described below.<br />
* If the Neo FreeRunner turns off before you press start flashing ('''screen goes black'''), go back to step 2. If you start flashing in time, the phone will not turn off meanwhile.<br />
<br />
Note: Some myth existed that dfu-util is not worked with sudo. This is not true of course. It is working from both sudo and su sessions. --[[User:Gena2x|Gena2x]] 12:30, 20 July 2010 (UTC)<br />
<br />
Note that the dfu-util connection does '''not''' use Ethernet over USB - that is, you should not attempt to set up a usb0 network interface on your GNU/Linux host desktop (on Windows, you need a DFU class driver, or you can use the LibUSB-Win32 driver described on the [[Dfu-util-windows]] page). The dfu-util utility sets up its own connection to the FreeRunner. In fact, you will not be able to make an Ethernet-over-USB connection to the FreeRunner when it is at the uBoot menu; this type of connection is only available when the FreeRunner has booted fully.<br />
<br />
After connecting the FreeRunner to your host via USB cable, you can test whether dfu-util "sees" the FreeRunner by executing:<br />
<br />
<pre>dfu-util -l</pre><br />
<br />
If you get error messages from the dfu-util command then try again. Often it works on the second try.<br />
<br />
dfu-util uses the DeviceFirmwareUpgrade protocol, and may list more than one device. If so, try unplugging the other device (e.g. a USB mouse) or using the -d switch to tell dfu-util which device it should talk to, as described at the relevant bug report [http://docs.openmoko.org/trac/ticket/2039].<br />
<br />
Also, please remember to execute the dfu-util command with sufficient privileges (ie. root) -- you will need complete control over the usb bus.<br />
<br />
=== Command-line options ===<br />
<br />
==== --help ====<br />
<br />
<pre><br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Usage: dfu-util [options] ...<br />
-h --help Print this help message<br />
-V --version Print the version number<br />
-l --list List the currently attached DFU capable USB devices<br />
-d --device vendor:product Specify Vendor/Product ID of DFU device<br />
-c --cfg config_nr Specify the Configuration of DFU device<br />
-i --intf intf_nr Specify the DFU Interface number<br />
-a --alt alt_nr Specify the Altseting of the DFU Interface<br />
-t --transfer-size Specify the number of bytes per USB Transfer<br />
-U --upload file Read firmware from device into <file><br />
-D --download file Write firmware from <file> into device<br />
-R --reset Issue USB Reset signalling once we're finished<br />
</pre><br />
<br />
==== --alt ====<br />
With the -a switch you specify the location on the device you want to write to or read from.<br />
However, for most cases, ''kernel'' and ''rootfs'' will be enough.<br />
<br />
See [[partitions]] for a list. You may also use the ''--list'' switch (see below), to get an online list.<br />
<br />
==== --list ====<br />
<br />
Using the --list option, you can list the available DFU capable devices, their configuration, interface and altsettings.<br />
Below is an example for a current Neo1973 phone in u-boot '''Runtime Mode'''<br />
<pre><br />
# ./dfu-util --list<br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Found DFU Runtime: [0x1457:0x5119] devnum=0, cfg=0, intf=2, alt=0, name="USB Device Firmware Upgrade"<br />
</pre><br />
<br />
Below is an example for a current Neo1973 phone in u-boot '''DFU Mode'''<br />
<pre><br />
# ./dfu-util --list<br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=0, name="RAM 0x32000000"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=1, name="u-boot"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=2, name="u-boot_env"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=3, name="kernel"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=4, name="splash"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=5, name="rootfs"<br />
</pre><br />
<br />
This shows you six interfaces, all in '''configuration 0''' and '''interface 0''', with altsetting 0...5, for RAM and each [[Partitions|partition]].<br />
<br />
==== --device ====<br />
<br />
You can specify the USB Vendor and Product ID of the device you want to program:<br />
<br />
dfu-util --device 0x1457:0x5119<br />
<br />
If you only have one standards-compliant DFU device attached to your PC, this is optional. However, as soon as you have multiple DFU devices, dfu-util will detect this and abort, asking you to specify which device it shall use.<br />
<br />
==== --transfer-size ====<br />
<br />
Specifies the size of each individual USB transfer. If you don't use it, the maximum possible size for your combination of host operating system and USB device is chosen (for optimal performance).<br />
<br />
==== --download ====<br />
<br />
download the given file into the device.<br />
<br />
==== --upload ====<br />
<br />
upload from the DFU device into the given file[name].<br />
<br />
{{note|Upload support is currently broken - [http://docs.openmoko.org/trac/ticket/676 #676]}}<br />
<br />
== Phrasebook ==<br />
<br />
There's no full-fledged manual yet. Instead, some examples:<br />
<br />
=== Flashing the rootfs ===<br />
<br />
dfu-util -a rootfs -R -D /path/to/openmoko-devel-image.jffs2<br />
<br />
Flashing the rootfs can take up to 15 minutes for a ~70MB image.<br />
<br />
=== Flashing the kernel ===<br />
<br />
dfu-util -a kernel -R -D /path/to/uImage<br />
<br />
=== Flashing the bootloader ===<br />
<br />
dfu-util -a u-boot -R -D /path/to/u-boot.bin<br />
<br />
=== Flashing the splash image ===<br />
<br />
dfu-util -a splash -R -D /path/to/splash.gz<br />
<br />
see also [[Configuring_the_boot_splash_screens]]<br />
<br />
=== Copying a kernel into RAM ===<br />
<br />
dfu-util -a 0 -R -D /path/to/uImage<br />
<br />
Once this has finished, the kernel will be available at the default load address of 0x32000000 in Neo1973 RAM.<br />
<br />
{{note|You cannot transfer more than 2MB of data into RAM using this method}}<br />
<br />
=== Success message ===<br />
<br />
If flashing was successfull the following will be shown:<br />
<br />
status(0) = No error condition is present<br />
Done!<br />
<br />
== Troubleshooting notes ==<br />
<br />
If during flashing of an image using dfu-util you're consistently getting an error -110 message, check that the size of the destination NAND [[Partitions|partition]] is big enough to hold the image. For example the kernel partition is only 2 MB big by default and a kernel with debugging info compiled-in can often exceed this. It's possible to change the partition layout to enlarge a given partition and shrink other partitions but you have to remember to reflash all partitions whose start offset has changed afterwards. To adjust partitions layout use the ''mtdparts'' [[Bootloader|u-boot command]].<br />
<br />
If in turn you're facing errors in seemingly random places during the flashing of images, most likely the USB hub or cable through which your Neo1973 is connected, is of too poor quality. It is recommended that you always connect the phone directly to the host when using dfu-util.<br />
<br />
If dfu-util reports a message like the following, before it starts flashing:<pre><br />
Resetting USB...<br />
not at least 2 device changes found ?!?<br />
Lost device after RESET?</pre> retry the command - it should work on a second run.<br />
<br />
If dfu-util complains about not being able to program the device while in runtime mode, do the following: while in the boot menu, remove the usb cable and insert it again. Depending on the version of uBoot it should display somewhere in the menu that it is now in DFU mode. Now dfu-util should be able to continue.<br />
<br />
If dfu-util is too slow on Windows, that's a known bug. A suggestion is to run Linux on a virtual box. An full root image 97MB that is 776Mbit, the USB 1.1 on the Neo FreeRunner is capable of either 1.5 Mbit/s (Low-Speed) and 12 Mbit/s (Full-Speed). So flashing it should take less than 9 minutes with low speed and a bit more than a minute with full-speed. Plus transfer overhead, plus decompression on the Neo side.<br />
<br />
Note that any error messages indicate a probable failed transfer, despite latter messages emitted about success, etc.<br />
<br />
[[Category:Manuals]]</div>Marko Knöblhttp://openmoko.org/wiki/Manuals/Dfu-utilManuals/Dfu-util2010-08-11T20:45:31Z<p>Marko Knöbl: Manuals/Dfu-util moved to Manuals/dfu-util</p>
<hr />
<div>#REDIRECT [[Manuals/dfu-util]]</div>Marko Knöblhttp://openmoko.org/wiki/Manuals/dfu-utilManuals/dfu-util2010-08-11T20:45:31Z<p>Marko Knöbl: Manuals/Dfu-util moved to Manuals/dfu-util</p>
<hr />
<div>This manual describes the usage of [[Dfu-util]].<br />
<br />
== Reference Documentation ==<br />
<br />
To run dfu-util, you need to have /proc/bus/usb mounted and working. The terminal command "ls /proc/bus/usb" should return something similar to, "001 002 003 004 005 devices", it shouldn't be empty. If it is empty, use this command:<br />
<br />
<pre><br />
sudo mount -t usbfs usbfs /proc/bus/usb<br />
</pre><br />
<br />
You can permanently add it in your fstab so that it automatically mounts. You can use emacs to edit you fstab using the command "sudo emacs /etc/fstab -nw" in your terminal window. Add the below line to your fstab:<br />
<br />
<pre><br />
usbfs /proc/bus/usb usbfs defaults<br />
</pre><br />
<br />
<br />
=== Before using dfu-util ===<br />
<br />
* Read the other sections of this page first, because you will have 30 seconds to enter the flashing commands, come back here when ready.<br />
* Do not connect the USB cable from the PC to your Neo yet (disconnect it).<br />
* Boot your Neo into the NOR uBoot menu for flashing:<br />
** Turn off the Neo<br />
** Press and hold the AUX button<br />
** Press the Power button until the boot menu comes up<br />
** This menu is labelled '''*** BOOT MENU (NOR) ***'''<br />
** See also [[Booting the Neo FreeRunner]]<br />
* Stay in NOR uBoot menu, do not select or enter any item in the menu. Now you will be able to flash, make backups of your FreeRunner or query the FreeRunner with dfu-util.<br />
* The FreeRunner only stays at the NOR boot prompt for about 30 seconds and then shuts off unless you do something.<br />
* Connect your Neo to your computer directly (Using a hub in between could cause problems with the hub and the usb reset)<br />
* Now you can enter the dfu-util commands on your PC as described below.<br />
* If the Neo FreeRunner turns off before you press start flashing ('''screen goes black'''), go back to step 2. If you start flashing in time, the phone will not turn off meanwhile.<br />
<br />
Note: Some myth existed that dfu-util is not worked with sudo. This is not true of course. It is working from both sudo and su sessions. --[[User:Gena2x|Gena2x]] 12:30, 20 July 2010 (UTC)<br />
<br />
Note that the dfu-util connection does '''not''' use Ethernet over USB - that is, you should not attempt to set up a usb0 network interface on your GNU/Linux host desktop (on Windows, you need a DFU class driver, or you can use the LibUSB-Win32 driver described on the [[Dfu-util-windows]] page). The dfu-util utility sets up its own connection to the FreeRunner. In fact, you will not be able to make an Ethernet-over-USB connection to the FreeRunner when it is at the uBoot menu; this type of connection is only available when the FreeRunner has booted fully.<br />
<br />
After connecting the FreeRunner to your host via USB cable, you can test whether dfu-util "sees" the FreeRunner by executing:<br />
<br />
<pre>dfu-util -l</pre><br />
<br />
If you get error messages from the dfu-util command then try again. Often it works on the second try.<br />
<br />
dfu-util uses the DeviceFirmwareUpgrade protocol, and may list more than one device. If so, try unplugging the other device (e.g. a USB mouse) or using the -d switch to tell dfu-util which device it should talk to, as described at the relevant bug report [http://docs.openmoko.org/trac/ticket/2039].<br />
<br />
Also, please remember to execute the dfu-util command with sufficient privileges (ie. root) -- you will need complete control over the usb bus.<br />
<br />
=== Command-line options ===<br />
<br />
==== --help ====<br />
<br />
<pre><br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Usage: dfu-util [options] ...<br />
-h --help Print this help message<br />
-V --version Print the version number<br />
-l --list List the currently attached DFU capable USB devices<br />
-d --device vendor:product Specify Vendor/Product ID of DFU device<br />
-c --cfg config_nr Specify the Configuration of DFU device<br />
-i --intf intf_nr Specify the DFU Interface number<br />
-a --alt alt_nr Specify the Altseting of the DFU Interface<br />
-t --transfer-size Specify the number of bytes per USB Transfer<br />
-U --upload file Read firmware from device into <file><br />
-D --download file Write firmware from <file> into device<br />
-R --reset Issue USB Reset signalling once we're finished<br />
</pre><br />
<br />
==== --alt ====<br />
With the -a switch you specify the location on the device you want to write to or read from.<br />
However, for most cases, ''kernel'' and ''rootfs'' will be enough.<br />
<br />
See [[partitions]] for a list. You may also use the ''--list'' switch (see below), to get an online list.<br />
<br />
==== --list ====<br />
<br />
Using the --list option, you can list the available DFU capable devices, their configuration, interface and altsettings.<br />
Below is an example for a current Neo1973 phone in u-boot '''Runtime Mode'''<br />
<pre><br />
# ./dfu-util --list<br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Found DFU Runtime: [0x1457:0x5119] devnum=0, cfg=0, intf=2, alt=0, name="USB Device Firmware Upgrade"<br />
</pre><br />
<br />
Below is an example for a current Neo1973 phone in u-boot '''DFU Mode'''<br />
<pre><br />
# ./dfu-util --list<br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=0, name="RAM 0x32000000"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=1, name="u-boot"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=2, name="u-boot_env"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=3, name="kernel"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=4, name="splash"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=5, name="rootfs"<br />
</pre><br />
<br />
This shows you six interfaces, all in '''configuration 0''' and '''interface 0''', with altsetting 0...5, for RAM and each [[Partitions|partition]].<br />
<br />
==== --device ====<br />
<br />
You can specify the USB Vendor and Product ID of the device you want to program:<br />
<br />
dfu-util --device 0x1457:0x5119<br />
<br />
If you only have one standards-compliant DFU device attached to your PC, this is optional. However, as soon as you have multiple DFU devices, dfu-util will detect this and abort, asking you to specify which device it shall use.<br />
<br />
==== --transfer-size ====<br />
<br />
Specifies the size of each individual USB transfer. If you don't use it, the maximum possible size for your combination of host operating system and USB device is chosen (for optimal performance).<br />
<br />
==== --download ====<br />
<br />
download the given file into the device.<br />
<br />
==== --upload ====<br />
<br />
upload from the DFU device into the given file[name].<br />
<br />
{{note|Upload support is currently broken - [http://docs.openmoko.org/trac/ticket/676 #676]}}<br />
<br />
== Phrasebook ==<br />
<br />
There's no full-fledged manual yet. Instead, some examples:<br />
<br />
=== Flashing the rootfs ===<br />
<br />
dfu-util -a rootfs -R -D /path/to/openmoko-devel-image.jffs2<br />
<br />
Flashing the rootfs can take up to 15 minutes for a ~70MB image.<br />
<br />
=== Flashing the kernel ===<br />
<br />
dfu-util -a kernel -R -D /path/to/uImage<br />
<br />
=== Flashing the bootloader ===<br />
<br />
dfu-util -a u-boot -R -D /path/to/u-boot.bin<br />
<br />
=== Flashing the splash image ===<br />
<br />
dfu-util -a splash -R -D /path/to/splash.gz<br />
<br />
see also [[Configuring_the_boot_splash_screens]]<br />
<br />
=== Copying a kernel into RAM ===<br />
<br />
dfu-util -a 0 -R -D /path/to/uImage<br />
<br />
Once this has finished, the kernel will be available at the default load address of 0x32000000 in Neo1973 RAM.<br />
<br />
{{note|You cannot transfer more than 2MB of data into RAM using this method}}<br />
<br />
=== Success message ===<br />
<br />
If flashing was successfull the following will be shown:<br />
<br />
status(0) = No error condition is present<br />
Done!<br />
<br />
== Troubleshooting notes ==<br />
<br />
If during flashing of an image using dfu-util you're consistently getting an error -110 message, check that the size of the destination NAND [[Partitions|partition]] is big enough to hold the image. For example the kernel partition is only 2 MB big by default and a kernel with debugging info compiled-in can often exceed this. It's possible to change the partition layout to enlarge a given partition and shrink other partitions but you have to remember to reflash all partitions whose start offset has changed afterwards. To adjust partitions layout use the ''mtdparts'' [[Bootloader|u-boot command]].<br />
<br />
If in turn you're facing errors in seemingly random places during the flashing of images, most likely the USB hub or cable through which your Neo1973 is connected, is of too poor quality. It is recommended that you always connect the phone directly to the host when using dfu-util.<br />
<br />
If dfu-util reports a message like the following, before it starts flashing:<pre><br />
Resetting USB...<br />
not at least 2 device changes found ?!?<br />
Lost device after RESET?</pre> retry the command - it should work on a second run.<br />
<br />
If dfu-util complains about not being able to program the device while in runtime mode, do the following: while in the boot menu, remove the usb cable and insert it again. Depending on the version of uBoot it should display somewhere in the menu that it is now in DFU mode. Now dfu-util should be able to continue.<br />
<br />
If dfu-util is too slow on Windows, that's a known bug. A suggestion is to run Linux on a virtual box. An full root image 97MB that is 776Mbit, the USB 1.1 on the Neo FreeRunner is capable of either 1.5 Mbit/s (Low-Speed) and 12 Mbit/s (Full-Speed). So flashing it should take less than 9 minutes with low speed and a bit more than a minute with full-speed. Plus transfer overhead, plus decompression on the Neo side.<br />
<br />
Note that any error messages indicate a probable failed transfer, despite latter messages emitted about success, etc.<br />
<br />
[[Category:Manuals]]</div>Marko Knöblhttp://openmoko.org/wiki/Flashing_the_Neo_FreeRunnerFlashing the Neo FreeRunner2010-08-11T20:42:23Z<p>Marko Knöbl: /* Flashing the Kernel */ removing this section as all information is at Manuals/dfu-util as well</p>
<hr />
<div>{{Languages|Flashing_the_Neo_FreeRunner}}<br />
Most of the software on the Neo FreeRunner can be updated or changed. The root filesystem, the [[kernel]], and the [[Bootloader]] can be modified with the program [[dfu-util]] from a computer. This page does not describe flashing the [[NOR Flash]] which requires a [[debug board]]. See [[Flashing NOR]] for this procedure. <br />
<br />
The [[NAND Flash]] is divided into 3 partitions for the bootloader, kernel, and root filesystem. Each component can be flashed separately. <br />
<br />
The '''bootloader''' is a small program that runs first and starts everything else when the FreeRunner is powered on. The bootloader is independent of the distribution you use.<br />
The '''kernel''' and the '''root filesystem''' are provided by the distribution. <br />
<br />
'''Before you start: Erasing the root filesystem or flashing the bootloader are radical measures. Take the time to ponder the necessity. Sometimes problems can be fixed by only updating the kernel.'''<br />
<br />
== Software you need ==<br />
<br />
=== Tools for flashing: DFU-util and NeoTool ===<br />
<br />
Note that there are some issues using dfu-util with sudo.<br />
<br />
'''Don't use sudo with dfu-util. Make sure you are root before using dfu-util!'''<br />
<br />
''Command-line''. DFU-util, the tool to flash the FreeRunner has to be installed on your computer. It is available for Linux, MacOS X, and Windows (see links below). DFU-util allows you to connect to the FreeRunner through the USB cable and control its bootloader. That connection uses a special protocol which addresses the bootloader's interface, and differs from USB networking. For more details, see the separate [[dfu-util]] page.<br />
<br />
''GUI''. Instead of the command-line-based DFU-util, you can use NeoTool, a graphical tool for flashing the FreeRunner: see the [[NeoTool]] page.<br />
<br />
'''Linux:''' http://downloads.openmoko.org/distro/releases/Om2008.9/dfu-util<br />
<br />
Make sure it is executable by setting the permissions with this command: chmod a+x dfu-util<br />
<br />
'''Linux 64-bit:''' You need 64-bit version of dfu-util, which usually can be found in your distribution repository.<br />
If your distribution does not provide 64-bit dfu-util, or it consistently fails with a "-62" error, you have two ways to go:<br />
# Seek for 32-bit machine and do flashing form it.<br />
# Use 32-bit chroot (on amd64 debian). Worked for me --[[User:Bubak|Bubak]] 16:54, 4 September 2008 (UTC).<br />
# Just try the 32-bit dfu-util. Worked fine on my x86_64 Fedora 10 --[[User:Pcfe|pcfe]] 2009-01-16.<br />
#* I can confirm this (Gentoo multilib x86_64) --[[User:Unlotto|Unlotto]] 14:15, 4 February 2009 (UTC)<br />
#* I can confirm this (OpenSuSE 11.0 x86_64) --[[User:muthusuba|muthusuba]] 29 July 2009<br />
<br />
'''MacOS X:''' [[MacOS_X#Graphical_Flashing_with_Openmoko_Flasher]]<br />
<br />
'''Windows:''' http://projects.openmoko.org/frs/?group_id=166&release_id=162<br />
<br />
See additional driver installation instructions for Windows at [[Dfu-util-windows]]<br />
<br />
'''Virtual machines''' While there has been some limited success reported using dfu-util from within a Virtual Machine (such as VMware), in general it is not possible to use dfu-util in this fashion. You must use dfu-util on an operating system that has direct access to the physical USB device hardware.<br />
<br />
=== Image files to flash into FreeRunner memory ===<br />
<br />
There are separate image files for all 3 software components. In most cases you will need to install a Kernel (uImage) and a Root Filesystem (rootfs). In rare cases, when there is a bug you need fixed, you will also install a new bootloader.<br />
<br />
Please read [[Distributions]] for choosing the distribution which fits your needs, and then see [[Download]] for downloading.<br />
<br />
== Do a backup ==<br />
<br />
If you have a working image that you're happy with but want to try something different, you should probably do a [[Backup]].<br />
<br />
== Using dfu-util ==<br />
<br />
See [[Manuals/Dfu-util]]<br />
<br />
<br />
<br />
<br />
<br />
== Flashing the Root Filesystem ==<br />
<br />
The root filesystem has to be an image in jffs2 format. If the file you downloaded is zipped or compressed (has a .gz, bz2, .zip, tar, tar.gz or .tgz extension) you have to uncompress it first.<br />
<br />
The command format is:<br />
<br />
<pre><br />
# dfu-util -a rootfs -R -D rootfs_filename.jffs2<br />
</pre><br />
| U-Boot<br />
where ''rootfs_filename.jffs2'' is the name of the file containing the root file system.<br />
<br />
The flashing process can take up to 15 minutes for a ~70MB image. It is also wise to make sure that your Neo has enough battery charge prior to flashing.<br />
<br />
When flashing succeeds the following will be shown:<br />
<br />
<pre><br />
status(0) = No error condition is present<br />
Done!<br />
</pre><br />
<br />
== Flashing the boot loader to the NAND==<br />
<br />
{{Note|In most cases you don't need to flash your bootloader. Flash it only if you want to update for a specific feature or due to a specific problem.}}<br />
<br />
The boot loader (U-boot) file should have a .bin extension. As with the root filesystem, if the file you downloaded is zipped or compressed (has a .gz or .zip extension) you have to uncompress it first.<br />
<br />
The command format is:<br />
<br />
# dfu-util -a u-boot -R -D ''uboot.bin''<br />
<br />
where ''uboot.bin'' is the name of the boot loader binary image file.<br />
<br />
=== Optional: Verifying boot-loader version ===<br />
<br />
<!-- The following should probably be moved to [[Bootloader_versions]], IMHO --><br />
<br />
<!-- Taken from posts by Mikael Berthe <mikael.berthe@lilotux.net> and Torfinn Ingolfsen <tingox@gmail.com> to Support list, subject: Re: Upgrading u-boot needed ? --><br />
(Optional) After an upgrade, you may wish to check that the u-boot version matches the one you have just flashed. You can use 'grep Bootloader /dev/mtdblock1' from a shell on the FreeRunner (and possibly the 1973 as well) to get the '''NAND''' u-boot version, like this:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock1<br />
Neo1973 Bootloader U-Boot 1.3.2+gitr18+64eb10cab8055084ae25ea4e73b66dd03cc1a0cb<br />
<br />
You can grep for the same string in /dev/mtdblock0 to retrieve the '''NOR''' u-boot version:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock0<br />
Neo1973 Bootloader U-Boot 1.3.2-moko12<br />
<br />
<!-- ENDS ... subject: Re: Upgrading u-boot needed ? --><br />
<br />
== A command line script to simplify dfu-util ==<br />
<br />
DFUScript developed to assist users who have multiple devices in using dfu-util via the command line. Information on where to download and use DFUScript can be found on [[DFUScript]]<br />
<br />
== Alternative: using nandwrite ==<br />
<br />
This approach involves writing the '''rootfs''' into nand directly on the phone from a system already running on it, not necessarily via usb from a computer.<br />
<br />
If you have a system running from a different partition that you intend to flash (for example sd card), you can use nandwrite to do the work, which is much faster (it takes about 30s to write a 59MB jffs2 image).<br />
<br />
Make sure you have nandwrite installed (on gentoo, it's in sys-fs/mtd-utils package)<br />
<br />
Also make sure that the host system has received correct partition list, for example for my stock Neo Freerunner partition list:<br />
<br />
<pre><br />
#cat /proc/mtd<br />
dev: size erasesize name<br />
mtd0: 00200000 00010000 "physmap-flash.0"<br />
mtd1: 00040000 00020000 "u-boot"<br />
mtd2: 00040000 00020000 "u-boot_env"<br />
mtd3: 00800000 00020000 "kernel"<br />
mtd4: 000a0000 00020000 "splash"<br />
mtd5: 00040000 00020000 "factory"<br />
mtd6: 0f6a0000 00020000 "rootfs"<br />
</pre><br />
<br />
In this case, we're looking for ''rootfs'' which according to above is mtd6. If you have it somewhere else, substitute mtd6 with whatever you have in the remainder of this section.<br />
<br />
'''Beware of flashing the ''u-boot'' partition, probably you'll have to recreate mtdparts configuration for u-boot from [[U-boot#Using_usbtty_from_Linux|u-boot console]]. Probably this is due to some kind of bug in nandwrite.'''<br />
<br />
<pre><br />
dynpart<br />
dynenv set u-boot_env<br />
</pre><br />
<br />
You can test your nand for bad blocks by issuing '''nandtest /dev/mtd6''' '''(this is a data destructive test !)'''<br />
<br />
First, put your .jffs2 file somewhere the phone system can read it<br />
<br />
Second, write the desired image into the nand this way:<br />
<pre><br />
flash_eraseall /dev/mtd6<br />
nandwrite -p /dev/mtd6 /path/to/image.jffs2<br />
</pre><br />
<br />
* The -m flag can be used to tell nandwrite to mark blocks it detects bad as bad, so if nandwrite is bugged, your entire partition will be marked as bad. See [[NAND_bad_blocks#Clearing_BadBlocks]] if this happened to you.<br />
<br />
You're all done!<br />
<br />
== Troubleshooting ==<br />
<br />
Okay, so you just reflashed. The splash screen pops up, but uBoot fail to load the kernel, and return to boot menu. WTF?<br />
<br />
* It is likely that the wrong bits went to the wrong place. Try reflashing just the kernel, double checking that you select the uImage.bin kernel file, not the u-boot.bin bootloader file.<br />
* Try redownloading and reflashing the kernel, checking file integrity with the MD5 hash sums.<br />
<br />
==See also==<br />
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot home page]<br />
<br />
[[Category:Flashing Openmoko| ]]</div>Marko Knöblhttp://openmoko.org/wiki/Flashing_the_Neo_FreeRunnerFlashing the Neo FreeRunner2010-08-11T20:40:12Z<p>Marko Knöbl: /* Using dfu-util */ removing this section as this is covered at Manuals/Dfu-util</p>
<hr />
<div>{{Languages|Flashing_the_Neo_FreeRunner}}<br />
Most of the software on the Neo FreeRunner can be updated or changed. The root filesystem, the [[kernel]], and the [[Bootloader]] can be modified with the program [[dfu-util]] from a computer. This page does not describe flashing the [[NOR Flash]] which requires a [[debug board]]. See [[Flashing NOR]] for this procedure. <br />
<br />
The [[NAND Flash]] is divided into 3 partitions for the bootloader, kernel, and root filesystem. Each component can be flashed separately. <br />
<br />
The '''bootloader''' is a small program that runs first and starts everything else when the FreeRunner is powered on. The bootloader is independent of the distribution you use.<br />
The '''kernel''' and the '''root filesystem''' are provided by the distribution. <br />
<br />
'''Before you start: Erasing the root filesystem or flashing the bootloader are radical measures. Take the time to ponder the necessity. Sometimes problems can be fixed by only updating the kernel.'''<br />
<br />
== Software you need ==<br />
<br />
=== Tools for flashing: DFU-util and NeoTool ===<br />
<br />
Note that there are some issues using dfu-util with sudo.<br />
<br />
'''Don't use sudo with dfu-util. Make sure you are root before using dfu-util!'''<br />
<br />
''Command-line''. DFU-util, the tool to flash the FreeRunner has to be installed on your computer. It is available for Linux, MacOS X, and Windows (see links below). DFU-util allows you to connect to the FreeRunner through the USB cable and control its bootloader. That connection uses a special protocol which addresses the bootloader's interface, and differs from USB networking. For more details, see the separate [[dfu-util]] page.<br />
<br />
''GUI''. Instead of the command-line-based DFU-util, you can use NeoTool, a graphical tool for flashing the FreeRunner: see the [[NeoTool]] page.<br />
<br />
'''Linux:''' http://downloads.openmoko.org/distro/releases/Om2008.9/dfu-util<br />
<br />
Make sure it is executable by setting the permissions with this command: chmod a+x dfu-util<br />
<br />
'''Linux 64-bit:''' You need 64-bit version of dfu-util, which usually can be found in your distribution repository.<br />
If your distribution does not provide 64-bit dfu-util, or it consistently fails with a "-62" error, you have two ways to go:<br />
# Seek for 32-bit machine and do flashing form it.<br />
# Use 32-bit chroot (on amd64 debian). Worked for me --[[User:Bubak|Bubak]] 16:54, 4 September 2008 (UTC).<br />
# Just try the 32-bit dfu-util. Worked fine on my x86_64 Fedora 10 --[[User:Pcfe|pcfe]] 2009-01-16.<br />
#* I can confirm this (Gentoo multilib x86_64) --[[User:Unlotto|Unlotto]] 14:15, 4 February 2009 (UTC)<br />
#* I can confirm this (OpenSuSE 11.0 x86_64) --[[User:muthusuba|muthusuba]] 29 July 2009<br />
<br />
'''MacOS X:''' [[MacOS_X#Graphical_Flashing_with_Openmoko_Flasher]]<br />
<br />
'''Windows:''' http://projects.openmoko.org/frs/?group_id=166&release_id=162<br />
<br />
See additional driver installation instructions for Windows at [[Dfu-util-windows]]<br />
<br />
'''Virtual machines''' While there has been some limited success reported using dfu-util from within a Virtual Machine (such as VMware), in general it is not possible to use dfu-util in this fashion. You must use dfu-util on an operating system that has direct access to the physical USB device hardware.<br />
<br />
=== Image files to flash into FreeRunner memory ===<br />
<br />
There are separate image files for all 3 software components. In most cases you will need to install a Kernel (uImage) and a Root Filesystem (rootfs). In rare cases, when there is a bug you need fixed, you will also install a new bootloader.<br />
<br />
Please read [[Distributions]] for choosing the distribution which fits your needs, and then see [[Download]] for downloading.<br />
<br />
== Do a backup ==<br />
<br />
If you have a working image that you're happy with but want to try something different, you should probably do a [[Backup]].<br />
<br />
== Using dfu-util ==<br />
<br />
See [[Manuals/Dfu-util]]<br />
<br />
<br />
<br />
== Flashing the Kernel ==<br />
<br />
Note: The phone needs to be in the U-boot bootup menu for this to work.<br />
Get there by holding down the aux button while powering up the device.<br />
<br />
The command format is:<br />
<br />
# dfu-util -a kernel -R -D ''/path/to/uImage''<br />
<br />
When flashing succeeds the following will be shown:<br />
<br />
status(0) = No error condition is present<br />
Done!<br />
<br />
Flashing may fail with an error -110. This indicates that the kernel is too big for the default kernel partition. uboot can be used to change the size of the default partitions on the device. It may also mean that you are trying to put the wrong thing in the kernel space.<br />
<br />
== Flashing the Root Filesystem ==<br />
<br />
The root filesystem has to be an image in jffs2 format. If the file you downloaded is zipped or compressed (has a .gz, bz2, .zip, tar, tar.gz or .tgz extension) you have to uncompress it first.<br />
<br />
The command format is:<br />
<br />
<pre><br />
# dfu-util -a rootfs -R -D rootfs_filename.jffs2<br />
</pre><br />
| U-Boot<br />
where ''rootfs_filename.jffs2'' is the name of the file containing the root file system.<br />
<br />
The flashing process can take up to 15 minutes for a ~70MB image. It is also wise to make sure that your Neo has enough battery charge prior to flashing.<br />
<br />
When flashing succeeds the following will be shown:<br />
<br />
<pre><br />
status(0) = No error condition is present<br />
Done!<br />
</pre><br />
<br />
== Flashing the boot loader to the NAND==<br />
<br />
{{Note|In most cases you don't need to flash your bootloader. Flash it only if you want to update for a specific feature or due to a specific problem.}}<br />
<br />
The boot loader (U-boot) file should have a .bin extension. As with the root filesystem, if the file you downloaded is zipped or compressed (has a .gz or .zip extension) you have to uncompress it first.<br />
<br />
The command format is:<br />
<br />
# dfu-util -a u-boot -R -D ''uboot.bin''<br />
<br />
where ''uboot.bin'' is the name of the boot loader binary image file.<br />
<br />
=== Optional: Verifying boot-loader version ===<br />
<br />
<!-- The following should probably be moved to [[Bootloader_versions]], IMHO --><br />
<br />
<!-- Taken from posts by Mikael Berthe <mikael.berthe@lilotux.net> and Torfinn Ingolfsen <tingox@gmail.com> to Support list, subject: Re: Upgrading u-boot needed ? --><br />
(Optional) After an upgrade, you may wish to check that the u-boot version matches the one you have just flashed. You can use 'grep Bootloader /dev/mtdblock1' from a shell on the FreeRunner (and possibly the 1973 as well) to get the '''NAND''' u-boot version, like this:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock1<br />
Neo1973 Bootloader U-Boot 1.3.2+gitr18+64eb10cab8055084ae25ea4e73b66dd03cc1a0cb<br />
<br />
You can grep for the same string in /dev/mtdblock0 to retrieve the '''NOR''' u-boot version:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock0<br />
Neo1973 Bootloader U-Boot 1.3.2-moko12<br />
<br />
<!-- ENDS ... subject: Re: Upgrading u-boot needed ? --><br />
<br />
== A command line script to simplify dfu-util ==<br />
<br />
DFUScript developed to assist users who have multiple devices in using dfu-util via the command line. Information on where to download and use DFUScript can be found on [[DFUScript]]<br />
<br />
== Alternative: using nandwrite ==<br />
<br />
This approach involves writing the '''rootfs''' into nand directly on the phone from a system already running on it, not necessarily via usb from a computer.<br />
<br />
If you have a system running from a different partition that you intend to flash (for example sd card), you can use nandwrite to do the work, which is much faster (it takes about 30s to write a 59MB jffs2 image).<br />
<br />
Make sure you have nandwrite installed (on gentoo, it's in sys-fs/mtd-utils package)<br />
<br />
Also make sure that the host system has received correct partition list, for example for my stock Neo Freerunner partition list:<br />
<br />
<pre><br />
#cat /proc/mtd<br />
dev: size erasesize name<br />
mtd0: 00200000 00010000 "physmap-flash.0"<br />
mtd1: 00040000 00020000 "u-boot"<br />
mtd2: 00040000 00020000 "u-boot_env"<br />
mtd3: 00800000 00020000 "kernel"<br />
mtd4: 000a0000 00020000 "splash"<br />
mtd5: 00040000 00020000 "factory"<br />
mtd6: 0f6a0000 00020000 "rootfs"<br />
</pre><br />
<br />
In this case, we're looking for ''rootfs'' which according to above is mtd6. If you have it somewhere else, substitute mtd6 with whatever you have in the remainder of this section.<br />
<br />
'''Beware of flashing the ''u-boot'' partition, probably you'll have to recreate mtdparts configuration for u-boot from [[U-boot#Using_usbtty_from_Linux|u-boot console]]. Probably this is due to some kind of bug in nandwrite.'''<br />
<br />
<pre><br />
dynpart<br />
dynenv set u-boot_env<br />
</pre><br />
<br />
You can test your nand for bad blocks by issuing '''nandtest /dev/mtd6''' '''(this is a data destructive test !)'''<br />
<br />
First, put your .jffs2 file somewhere the phone system can read it<br />
<br />
Second, write the desired image into the nand this way:<br />
<pre><br />
flash_eraseall /dev/mtd6<br />
nandwrite -p /dev/mtd6 /path/to/image.jffs2<br />
</pre><br />
<br />
* The -m flag can be used to tell nandwrite to mark blocks it detects bad as bad, so if nandwrite is bugged, your entire partition will be marked as bad. See [[NAND_bad_blocks#Clearing_BadBlocks]] if this happened to you.<br />
<br />
You're all done!<br />
<br />
== Troubleshooting ==<br />
<br />
Okay, so you just reflashed. The splash screen pops up, but uBoot fail to load the kernel, and return to boot menu. WTF?<br />
<br />
* It is likely that the wrong bits went to the wrong place. Try reflashing just the kernel, double checking that you select the uImage.bin kernel file, not the u-boot.bin bootloader file.<br />
* Try redownloading and reflashing the kernel, checking file integrity with the MD5 hash sums.<br />
<br />
==See also==<br />
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot home page]<br />
<br />
[[Category:Flashing Openmoko| ]]</div>Marko Knöblhttp://openmoko.org/wiki/Flashing_the_Neo_FreeRunnerFlashing the Neo FreeRunner2010-08-11T20:39:25Z<p>Marko Knöbl: moving section about backup up</p>
<hr />
<div>{{Languages|Flashing_the_Neo_FreeRunner}}<br />
Most of the software on the Neo FreeRunner can be updated or changed. The root filesystem, the [[kernel]], and the [[Bootloader]] can be modified with the program [[dfu-util]] from a computer. This page does not describe flashing the [[NOR Flash]] which requires a [[debug board]]. See [[Flashing NOR]] for this procedure. <br />
<br />
The [[NAND Flash]] is divided into 3 partitions for the bootloader, kernel, and root filesystem. Each component can be flashed separately. <br />
<br />
The '''bootloader''' is a small program that runs first and starts everything else when the FreeRunner is powered on. The bootloader is independent of the distribution you use.<br />
The '''kernel''' and the '''root filesystem''' are provided by the distribution. <br />
<br />
'''Before you start: Erasing the root filesystem or flashing the bootloader are radical measures. Take the time to ponder the necessity. Sometimes problems can be fixed by only updating the kernel.'''<br />
<br />
== Software you need ==<br />
<br />
=== Tools for flashing: DFU-util and NeoTool ===<br />
<br />
Note that there are some issues using dfu-util with sudo.<br />
<br />
'''Don't use sudo with dfu-util. Make sure you are root before using dfu-util!'''<br />
<br />
''Command-line''. DFU-util, the tool to flash the FreeRunner has to be installed on your computer. It is available for Linux, MacOS X, and Windows (see links below). DFU-util allows you to connect to the FreeRunner through the USB cable and control its bootloader. That connection uses a special protocol which addresses the bootloader's interface, and differs from USB networking. For more details, see the separate [[dfu-util]] page.<br />
<br />
''GUI''. Instead of the command-line-based DFU-util, you can use NeoTool, a graphical tool for flashing the FreeRunner: see the [[NeoTool]] page.<br />
<br />
'''Linux:''' http://downloads.openmoko.org/distro/releases/Om2008.9/dfu-util<br />
<br />
Make sure it is executable by setting the permissions with this command: chmod a+x dfu-util<br />
<br />
'''Linux 64-bit:''' You need 64-bit version of dfu-util, which usually can be found in your distribution repository.<br />
If your distribution does not provide 64-bit dfu-util, or it consistently fails with a "-62" error, you have two ways to go:<br />
# Seek for 32-bit machine and do flashing form it.<br />
# Use 32-bit chroot (on amd64 debian). Worked for me --[[User:Bubak|Bubak]] 16:54, 4 September 2008 (UTC).<br />
# Just try the 32-bit dfu-util. Worked fine on my x86_64 Fedora 10 --[[User:Pcfe|pcfe]] 2009-01-16.<br />
#* I can confirm this (Gentoo multilib x86_64) --[[User:Unlotto|Unlotto]] 14:15, 4 February 2009 (UTC)<br />
#* I can confirm this (OpenSuSE 11.0 x86_64) --[[User:muthusuba|muthusuba]] 29 July 2009<br />
<br />
'''MacOS X:''' [[MacOS_X#Graphical_Flashing_with_Openmoko_Flasher]]<br />
<br />
'''Windows:''' http://projects.openmoko.org/frs/?group_id=166&release_id=162<br />
<br />
See additional driver installation instructions for Windows at [[Dfu-util-windows]]<br />
<br />
'''Virtual machines''' While there has been some limited success reported using dfu-util from within a Virtual Machine (such as VMware), in general it is not possible to use dfu-util in this fashion. You must use dfu-util on an operating system that has direct access to the physical USB device hardware.<br />
<br />
=== Image files to flash into FreeRunner memory ===<br />
<br />
There are separate image files for all 3 software components. In most cases you will need to install a Kernel (uImage) and a Root Filesystem (rootfs). In rare cases, when there is a bug you need fixed, you will also install a new bootloader.<br />
<br />
Please read [[Distributions]] for choosing the distribution which fits your needs, and then see [[Download]] for downloading.<br />
<br />
== Do a backup ==<br />
<br />
If you have a working image that you're happy with but want to try something different, you should probably do a [[Backup]].<br />
<br />
== Using dfu-util ==<br />
<br />
See [[Manuals/Dfu-util]]<br />
<br />
== Using dfu-util ==<br />
<br />
dfu-util can be used to read flash memory, write memory, and get information from the device.<br />
<br />
This is the general command format to write an image file to a (predefined) "partition name" (referred to as ''altsetting'' in dfu-util help/manual) :<br />
<br />
# dfu-util -a ''<altsetting>'' -R -D ''<file_name>''<br />
<br />
where:<br><br />
-a ''altsetting'' : Specify the altsetting of the DFU interface by name or by number<br><br />
-R : Issue USB Reset signalling once we're finished<br><br />
-D ''file_name'' : Write firmware from ''file_name'' into device<br />
<br />
On Linux, you run dfu-util from a command shell prompt. If you have not put it somewhere on your command path you probably need to prefix it with a "./" like this '''./dfu-util'''.<br />
On some systems you need to be root before this will work and on Ubuntu you must preface the command with "sudo" or you will get the following error: "Cannot claim interface: could not claim interface 2: Operation not permitted"<br />
<br />
On Windows, you need to open a command window and run from a command line. Use Start-Run Program and type "cmd" to open a Window.<br />
<br />
More detailed manual for dfu-util is available here : [[Dfu-util]]<br />
<br />
GUI frontend for dfu-util (and more): [[NeoTool]]<br />
<br />
== Flashing the Kernel ==<br />
<br />
Note: The phone needs to be in the U-boot bootup menu for this to work.<br />
Get there by holding down the aux button while powering up the device.<br />
<br />
The command format is:<br />
<br />
# dfu-util -a kernel -R -D ''/path/to/uImage''<br />
<br />
When flashing succeeds the following will be shown:<br />
<br />
status(0) = No error condition is present<br />
Done!<br />
<br />
Flashing may fail with an error -110. This indicates that the kernel is too big for the default kernel partition. uboot can be used to change the size of the default partitions on the device. It may also mean that you are trying to put the wrong thing in the kernel space.<br />
<br />
== Flashing the Root Filesystem ==<br />
<br />
The root filesystem has to be an image in jffs2 format. If the file you downloaded is zipped or compressed (has a .gz, bz2, .zip, tar, tar.gz or .tgz extension) you have to uncompress it first.<br />
<br />
The command format is:<br />
<br />
<pre><br />
# dfu-util -a rootfs -R -D rootfs_filename.jffs2<br />
</pre><br />
| U-Boot<br />
where ''rootfs_filename.jffs2'' is the name of the file containing the root file system.<br />
<br />
The flashing process can take up to 15 minutes for a ~70MB image. It is also wise to make sure that your Neo has enough battery charge prior to flashing.<br />
<br />
When flashing succeeds the following will be shown:<br />
<br />
<pre><br />
status(0) = No error condition is present<br />
Done!<br />
</pre><br />
<br />
== Flashing the boot loader to the NAND==<br />
<br />
{{Note|In most cases you don't need to flash your bootloader. Flash it only if you want to update for a specific feature or due to a specific problem.}}<br />
<br />
The boot loader (U-boot) file should have a .bin extension. As with the root filesystem, if the file you downloaded is zipped or compressed (has a .gz or .zip extension) you have to uncompress it first.<br />
<br />
The command format is:<br />
<br />
# dfu-util -a u-boot -R -D ''uboot.bin''<br />
<br />
where ''uboot.bin'' is the name of the boot loader binary image file.<br />
<br />
=== Optional: Verifying boot-loader version ===<br />
<br />
<!-- The following should probably be moved to [[Bootloader_versions]], IMHO --><br />
<br />
<!-- Taken from posts by Mikael Berthe <mikael.berthe@lilotux.net> and Torfinn Ingolfsen <tingox@gmail.com> to Support list, subject: Re: Upgrading u-boot needed ? --><br />
(Optional) After an upgrade, you may wish to check that the u-boot version matches the one you have just flashed. You can use 'grep Bootloader /dev/mtdblock1' from a shell on the FreeRunner (and possibly the 1973 as well) to get the '''NAND''' u-boot version, like this:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock1<br />
Neo1973 Bootloader U-Boot 1.3.2+gitr18+64eb10cab8055084ae25ea4e73b66dd03cc1a0cb<br />
<br />
You can grep for the same string in /dev/mtdblock0 to retrieve the '''NOR''' u-boot version:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock0<br />
Neo1973 Bootloader U-Boot 1.3.2-moko12<br />
<br />
<!-- ENDS ... subject: Re: Upgrading u-boot needed ? --><br />
<br />
== A command line script to simplify dfu-util ==<br />
<br />
DFUScript developed to assist users who have multiple devices in using dfu-util via the command line. Information on where to download and use DFUScript can be found on [[DFUScript]]<br />
<br />
== Alternative: using nandwrite ==<br />
<br />
This approach involves writing the '''rootfs''' into nand directly on the phone from a system already running on it, not necessarily via usb from a computer.<br />
<br />
If you have a system running from a different partition that you intend to flash (for example sd card), you can use nandwrite to do the work, which is much faster (it takes about 30s to write a 59MB jffs2 image).<br />
<br />
Make sure you have nandwrite installed (on gentoo, it's in sys-fs/mtd-utils package)<br />
<br />
Also make sure that the host system has received correct partition list, for example for my stock Neo Freerunner partition list:<br />
<br />
<pre><br />
#cat /proc/mtd<br />
dev: size erasesize name<br />
mtd0: 00200000 00010000 "physmap-flash.0"<br />
mtd1: 00040000 00020000 "u-boot"<br />
mtd2: 00040000 00020000 "u-boot_env"<br />
mtd3: 00800000 00020000 "kernel"<br />
mtd4: 000a0000 00020000 "splash"<br />
mtd5: 00040000 00020000 "factory"<br />
mtd6: 0f6a0000 00020000 "rootfs"<br />
</pre><br />
<br />
In this case, we're looking for ''rootfs'' which according to above is mtd6. If you have it somewhere else, substitute mtd6 with whatever you have in the remainder of this section.<br />
<br />
'''Beware of flashing the ''u-boot'' partition, probably you'll have to recreate mtdparts configuration for u-boot from [[U-boot#Using_usbtty_from_Linux|u-boot console]]. Probably this is due to some kind of bug in nandwrite.'''<br />
<br />
<pre><br />
dynpart<br />
dynenv set u-boot_env<br />
</pre><br />
<br />
You can test your nand for bad blocks by issuing '''nandtest /dev/mtd6''' '''(this is a data destructive test !)'''<br />
<br />
First, put your .jffs2 file somewhere the phone system can read it<br />
<br />
Second, write the desired image into the nand this way:<br />
<pre><br />
flash_eraseall /dev/mtd6<br />
nandwrite -p /dev/mtd6 /path/to/image.jffs2<br />
</pre><br />
<br />
* The -m flag can be used to tell nandwrite to mark blocks it detects bad as bad, so if nandwrite is bugged, your entire partition will be marked as bad. See [[NAND_bad_blocks#Clearing_BadBlocks]] if this happened to you.<br />
<br />
You're all done!<br />
<br />
== Troubleshooting ==<br />
<br />
Okay, so you just reflashed. The splash screen pops up, but uBoot fail to load the kernel, and return to boot menu. WTF?<br />
<br />
* It is likely that the wrong bits went to the wrong place. Try reflashing just the kernel, double checking that you select the uImage.bin kernel file, not the u-boot.bin bootloader file.<br />
* Try redownloading and reflashing the kernel, checking file integrity with the MD5 hash sums.<br />
<br />
==See also==<br />
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot home page]<br />
<br />
[[Category:Flashing Openmoko| ]]</div>Marko Knöblhttp://openmoko.org/wiki/Flashing_the_Neo_FreeRunnerFlashing the Neo FreeRunner2010-08-11T20:38:35Z<p>Marko Knöbl: /* Boot the FreeRunner from NOR Flash */ removing this section which was merged into Manuals/Dfu-util</p>
<hr />
<div>{{Languages|Flashing_the_Neo_FreeRunner}}<br />
Most of the software on the Neo FreeRunner can be updated or changed. The root filesystem, the [[kernel]], and the [[Bootloader]] can be modified with the program [[dfu-util]] from a computer. This page does not describe flashing the [[NOR Flash]] which requires a [[debug board]]. See [[Flashing NOR]] for this procedure. <br />
<br />
The [[NAND Flash]] is divided into 3 partitions for the bootloader, kernel, and root filesystem. Each component can be flashed separately. <br />
<br />
The '''bootloader''' is a small program that runs first and starts everything else when the FreeRunner is powered on. The bootloader is independent of the distribution you use.<br />
The '''kernel''' and the '''root filesystem''' are provided by the distribution. <br />
<br />
'''Before you start: Erasing the root filesystem or flashing the bootloader are radical measures. Take the time to ponder the necessity. Sometimes problems can be fixed by only updating the kernel.'''<br />
<br />
== Software you need ==<br />
<br />
=== Tools for flashing: DFU-util and NeoTool ===<br />
<br />
Note that there are some issues using dfu-util with sudo.<br />
<br />
'''Don't use sudo with dfu-util. Make sure you are root before using dfu-util!'''<br />
<br />
''Command-line''. DFU-util, the tool to flash the FreeRunner has to be installed on your computer. It is available for Linux, MacOS X, and Windows (see links below). DFU-util allows you to connect to the FreeRunner through the USB cable and control its bootloader. That connection uses a special protocol which addresses the bootloader's interface, and differs from USB networking. For more details, see the separate [[dfu-util]] page.<br />
<br />
''GUI''. Instead of the command-line-based DFU-util, you can use NeoTool, a graphical tool for flashing the FreeRunner: see the [[NeoTool]] page.<br />
<br />
'''Linux:''' http://downloads.openmoko.org/distro/releases/Om2008.9/dfu-util<br />
<br />
Make sure it is executable by setting the permissions with this command: chmod a+x dfu-util<br />
<br />
'''Linux 64-bit:''' You need 64-bit version of dfu-util, which usually can be found in your distribution repository.<br />
If your distribution does not provide 64-bit dfu-util, or it consistently fails with a "-62" error, you have two ways to go:<br />
# Seek for 32-bit machine and do flashing form it.<br />
# Use 32-bit chroot (on amd64 debian). Worked for me --[[User:Bubak|Bubak]] 16:54, 4 September 2008 (UTC).<br />
# Just try the 32-bit dfu-util. Worked fine on my x86_64 Fedora 10 --[[User:Pcfe|pcfe]] 2009-01-16.<br />
#* I can confirm this (Gentoo multilib x86_64) --[[User:Unlotto|Unlotto]] 14:15, 4 February 2009 (UTC)<br />
#* I can confirm this (OpenSuSE 11.0 x86_64) --[[User:muthusuba|muthusuba]] 29 July 2009<br />
<br />
'''MacOS X:''' [[MacOS_X#Graphical_Flashing_with_Openmoko_Flasher]]<br />
<br />
'''Windows:''' http://projects.openmoko.org/frs/?group_id=166&release_id=162<br />
<br />
See additional driver installation instructions for Windows at [[Dfu-util-windows]]<br />
<br />
'''Virtual machines''' While there has been some limited success reported using dfu-util from within a Virtual Machine (such as VMware), in general it is not possible to use dfu-util in this fashion. You must use dfu-util on an operating system that has direct access to the physical USB device hardware.<br />
<br />
=== Image files to flash into FreeRunner memory ===<br />
<br />
There are separate image files for all 3 software components. In most cases you will need to install a Kernel (uImage) and a Root Filesystem (rootfs). In rare cases, when there is a bug you need fixed, you will also install a new bootloader.<br />
<br />
Please read [[Distributions]] for choosing the distribution which fits your needs, and then see [[Download]] for downloading.<br />
<br />
== Using dfu-util ==<br />
<br />
See [[Manuals/Dfu-util]]<br />
<br />
<br />
<br />
== Do a backup ==<br />
<br />
If you have a working image that you're happy with but want to try something different, you should probably do a [[Backup]].<br />
<br />
== Using dfu-util ==<br />
<br />
dfu-util can be used to read flash memory, write memory, and get information from the device.<br />
<br />
This is the general command format to write an image file to a (predefined) "partition name" (referred to as ''altsetting'' in dfu-util help/manual) :<br />
<br />
# dfu-util -a ''<altsetting>'' -R -D ''<file_name>''<br />
<br />
where:<br><br />
-a ''altsetting'' : Specify the altsetting of the DFU interface by name or by number<br><br />
-R : Issue USB Reset signalling once we're finished<br><br />
-D ''file_name'' : Write firmware from ''file_name'' into device<br />
<br />
On Linux, you run dfu-util from a command shell prompt. If you have not put it somewhere on your command path you probably need to prefix it with a "./" like this '''./dfu-util'''.<br />
On some systems you need to be root before this will work and on Ubuntu you must preface the command with "sudo" or you will get the following error: "Cannot claim interface: could not claim interface 2: Operation not permitted"<br />
<br />
On Windows, you need to open a command window and run from a command line. Use Start-Run Program and type "cmd" to open a Window.<br />
<br />
More detailed manual for dfu-util is available here : [[Dfu-util]]<br />
<br />
GUI frontend for dfu-util (and more): [[NeoTool]]<br />
<br />
== Flashing the Kernel ==<br />
<br />
Note: The phone needs to be in the U-boot bootup menu for this to work.<br />
Get there by holding down the aux button while powering up the device.<br />
<br />
The command format is:<br />
<br />
# dfu-util -a kernel -R -D ''/path/to/uImage''<br />
<br />
When flashing succeeds the following will be shown:<br />
<br />
status(0) = No error condition is present<br />
Done!<br />
<br />
Flashing may fail with an error -110. This indicates that the kernel is too big for the default kernel partition. uboot can be used to change the size of the default partitions on the device. It may also mean that you are trying to put the wrong thing in the kernel space.<br />
<br />
== Flashing the Root Filesystem ==<br />
<br />
The root filesystem has to be an image in jffs2 format. If the file you downloaded is zipped or compressed (has a .gz, bz2, .zip, tar, tar.gz or .tgz extension) you have to uncompress it first.<br />
<br />
The command format is:<br />
<br />
<pre><br />
# dfu-util -a rootfs -R -D rootfs_filename.jffs2<br />
</pre><br />
| U-Boot<br />
where ''rootfs_filename.jffs2'' is the name of the file containing the root file system.<br />
<br />
The flashing process can take up to 15 minutes for a ~70MB image. It is also wise to make sure that your Neo has enough battery charge prior to flashing.<br />
<br />
When flashing succeeds the following will be shown:<br />
<br />
<pre><br />
status(0) = No error condition is present<br />
Done!<br />
</pre><br />
<br />
== Flashing the boot loader to the NAND==<br />
<br />
{{Note|In most cases you don't need to flash your bootloader. Flash it only if you want to update for a specific feature or due to a specific problem.}}<br />
<br />
The boot loader (U-boot) file should have a .bin extension. As with the root filesystem, if the file you downloaded is zipped or compressed (has a .gz or .zip extension) you have to uncompress it first.<br />
<br />
The command format is:<br />
<br />
# dfu-util -a u-boot -R -D ''uboot.bin''<br />
<br />
where ''uboot.bin'' is the name of the boot loader binary image file.<br />
<br />
=== Optional: Verifying boot-loader version ===<br />
<br />
<!-- The following should probably be moved to [[Bootloader_versions]], IMHO --><br />
<br />
<!-- Taken from posts by Mikael Berthe <mikael.berthe@lilotux.net> and Torfinn Ingolfsen <tingox@gmail.com> to Support list, subject: Re: Upgrading u-boot needed ? --><br />
(Optional) After an upgrade, you may wish to check that the u-boot version matches the one you have just flashed. You can use 'grep Bootloader /dev/mtdblock1' from a shell on the FreeRunner (and possibly the 1973 as well) to get the '''NAND''' u-boot version, like this:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock1<br />
Neo1973 Bootloader U-Boot 1.3.2+gitr18+64eb10cab8055084ae25ea4e73b66dd03cc1a0cb<br />
<br />
You can grep for the same string in /dev/mtdblock0 to retrieve the '''NOR''' u-boot version:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock0<br />
Neo1973 Bootloader U-Boot 1.3.2-moko12<br />
<br />
<!-- ENDS ... subject: Re: Upgrading u-boot needed ? --><br />
<br />
== A command line script to simplify dfu-util ==<br />
<br />
DFUScript developed to assist users who have multiple devices in using dfu-util via the command line. Information on where to download and use DFUScript can be found on [[DFUScript]]<br />
<br />
== Alternative: using nandwrite ==<br />
<br />
This approach involves writing the '''rootfs''' into nand directly on the phone from a system already running on it, not necessarily via usb from a computer.<br />
<br />
If you have a system running from a different partition that you intend to flash (for example sd card), you can use nandwrite to do the work, which is much faster (it takes about 30s to write a 59MB jffs2 image).<br />
<br />
Make sure you have nandwrite installed (on gentoo, it's in sys-fs/mtd-utils package)<br />
<br />
Also make sure that the host system has received correct partition list, for example for my stock Neo Freerunner partition list:<br />
<br />
<pre><br />
#cat /proc/mtd<br />
dev: size erasesize name<br />
mtd0: 00200000 00010000 "physmap-flash.0"<br />
mtd1: 00040000 00020000 "u-boot"<br />
mtd2: 00040000 00020000 "u-boot_env"<br />
mtd3: 00800000 00020000 "kernel"<br />
mtd4: 000a0000 00020000 "splash"<br />
mtd5: 00040000 00020000 "factory"<br />
mtd6: 0f6a0000 00020000 "rootfs"<br />
</pre><br />
<br />
In this case, we're looking for ''rootfs'' which according to above is mtd6. If you have it somewhere else, substitute mtd6 with whatever you have in the remainder of this section.<br />
<br />
'''Beware of flashing the ''u-boot'' partition, probably you'll have to recreate mtdparts configuration for u-boot from [[U-boot#Using_usbtty_from_Linux|u-boot console]]. Probably this is due to some kind of bug in nandwrite.'''<br />
<br />
<pre><br />
dynpart<br />
dynenv set u-boot_env<br />
</pre><br />
<br />
You can test your nand for bad blocks by issuing '''nandtest /dev/mtd6''' '''(this is a data destructive test !)'''<br />
<br />
First, put your .jffs2 file somewhere the phone system can read it<br />
<br />
Second, write the desired image into the nand this way:<br />
<pre><br />
flash_eraseall /dev/mtd6<br />
nandwrite -p /dev/mtd6 /path/to/image.jffs2<br />
</pre><br />
<br />
* The -m flag can be used to tell nandwrite to mark blocks it detects bad as bad, so if nandwrite is bugged, your entire partition will be marked as bad. See [[NAND_bad_blocks#Clearing_BadBlocks]] if this happened to you.<br />
<br />
You're all done!<br />
<br />
== Troubleshooting ==<br />
<br />
Okay, so you just reflashed. The splash screen pops up, but uBoot fail to load the kernel, and return to boot menu. WTF?<br />
<br />
* It is likely that the wrong bits went to the wrong place. Try reflashing just the kernel, double checking that you select the uImage.bin kernel file, not the u-boot.bin bootloader file.<br />
* Try redownloading and reflashing the kernel, checking file integrity with the MD5 hash sums.<br />
<br />
==See also==<br />
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot home page]<br />
<br />
[[Category:Flashing Openmoko| ]]</div>Marko Knöblhttp://openmoko.org/wiki/Flashing_the_Neo_FreeRunnerFlashing the Neo FreeRunner2010-08-11T20:36:36Z<p>Marko Knöbl: Adding link to Manuals/Dfu-util</p>
<hr />
<div>{{Languages|Flashing_the_Neo_FreeRunner}}<br />
Most of the software on the Neo FreeRunner can be updated or changed. The root filesystem, the [[kernel]], and the [[Bootloader]] can be modified with the program [[dfu-util]] from a computer. This page does not describe flashing the [[NOR Flash]] which requires a [[debug board]]. See [[Flashing NOR]] for this procedure. <br />
<br />
The [[NAND Flash]] is divided into 3 partitions for the bootloader, kernel, and root filesystem. Each component can be flashed separately. <br />
<br />
The '''bootloader''' is a small program that runs first and starts everything else when the FreeRunner is powered on. The bootloader is independent of the distribution you use.<br />
The '''kernel''' and the '''root filesystem''' are provided by the distribution. <br />
<br />
'''Before you start: Erasing the root filesystem or flashing the bootloader are radical measures. Take the time to ponder the necessity. Sometimes problems can be fixed by only updating the kernel.'''<br />
<br />
== Software you need ==<br />
<br />
=== Tools for flashing: DFU-util and NeoTool ===<br />
<br />
Note that there are some issues using dfu-util with sudo.<br />
<br />
'''Don't use sudo with dfu-util. Make sure you are root before using dfu-util!'''<br />
<br />
''Command-line''. DFU-util, the tool to flash the FreeRunner has to be installed on your computer. It is available for Linux, MacOS X, and Windows (see links below). DFU-util allows you to connect to the FreeRunner through the USB cable and control its bootloader. That connection uses a special protocol which addresses the bootloader's interface, and differs from USB networking. For more details, see the separate [[dfu-util]] page.<br />
<br />
''GUI''. Instead of the command-line-based DFU-util, you can use NeoTool, a graphical tool for flashing the FreeRunner: see the [[NeoTool]] page.<br />
<br />
'''Linux:''' http://downloads.openmoko.org/distro/releases/Om2008.9/dfu-util<br />
<br />
Make sure it is executable by setting the permissions with this command: chmod a+x dfu-util<br />
<br />
'''Linux 64-bit:''' You need 64-bit version of dfu-util, which usually can be found in your distribution repository.<br />
If your distribution does not provide 64-bit dfu-util, or it consistently fails with a "-62" error, you have two ways to go:<br />
# Seek for 32-bit machine and do flashing form it.<br />
# Use 32-bit chroot (on amd64 debian). Worked for me --[[User:Bubak|Bubak]] 16:54, 4 September 2008 (UTC).<br />
# Just try the 32-bit dfu-util. Worked fine on my x86_64 Fedora 10 --[[User:Pcfe|pcfe]] 2009-01-16.<br />
#* I can confirm this (Gentoo multilib x86_64) --[[User:Unlotto|Unlotto]] 14:15, 4 February 2009 (UTC)<br />
#* I can confirm this (OpenSuSE 11.0 x86_64) --[[User:muthusuba|muthusuba]] 29 July 2009<br />
<br />
'''MacOS X:''' [[MacOS_X#Graphical_Flashing_with_Openmoko_Flasher]]<br />
<br />
'''Windows:''' http://projects.openmoko.org/frs/?group_id=166&release_id=162<br />
<br />
See additional driver installation instructions for Windows at [[Dfu-util-windows]]<br />
<br />
'''Virtual machines''' While there has been some limited success reported using dfu-util from within a Virtual Machine (such as VMware), in general it is not possible to use dfu-util in this fashion. You must use dfu-util on an operating system that has direct access to the physical USB device hardware.<br />
<br />
=== Image files to flash into FreeRunner memory ===<br />
<br />
There are separate image files for all 3 software components. In most cases you will need to install a Kernel (uImage) and a Root Filesystem (rootfs). In rare cases, when there is a bug you need fixed, you will also install a new bootloader.<br />
<br />
Please read [[Distributions]] for choosing the distribution which fits your needs, and then see [[Download]] for downloading.<br />
<br />
== Using dfu-util ==<br />
<br />
See [[Manuals/Dfu-util]]<br />
<br />
== Boot the FreeRunner from NOR Flash ==<br />
<br />
[[Image:menu15.jpg|thumb|Booting from NOR Flash]]<br />
<br />
# Read the other sections of this page first, because you will have 30 seconds to enter the flashing commands, come back here when ready.<br />
# Do not connect the USB cable from the PC to your Neo FreeRunner yet (disconnect it).<br />
# Boot your Neo FreeRunner into the NOR uBoot menu for flashing.<br />
## Turn off the FreeRunner<br />
## Press and hold AUX button<br />
## Press the Power button until the boot menu comes up<br />
## This menu is labelled '''*** BOOT MENU (NOR) ***'''<br />
## See also [[Booting the Neo FreeRunner]]<br />
# Stay in NOR uBoot menu, do not select or enter any item in menu. Now you will be able to flash, make backups of your FreeRunner or query the FreeRunner with dfu-util.<br />
# The FreeRunner only stays at the NOR boot prompt for about 30 seconds and then shuts off unless you do something.<br />
# Connect your Neo to the GNU/Linux or Windows host via a USB cable.<br />
# Now you can enter the dfu-util commands on your PC as described below.<br />
# If the Neo FreeRunner turns off before you press start flashing ('''screen goes black'''), go back to step 2. If you start flashing in time, the phone will not turn off meanwhile.<br />
<br />
<!-- The following, upto dfu-util -l is taken from the thread "Re: FreeRunner (GTK2007.2) has suddenly become unbootable" on the Support list. --><br />
<br />
Note that the dfu-util connection does '''not''' use Ethernet over USB - that is, you should not attempt to set up a usb0 network interface on your GNU/Linux host desktop (on Windows, you need a DFU class driver, or you can use the LibUSB-Win32 driver described on the [[Dfu-util-windows]] page). The dfu-util utility sets up its own connection to the FreeRunner. In fact, you will not be able to make an Ethernet-over-USB connection to the FreeRunner when it is at the uBoot menu; this type of connection is only available when the FreeRunner has booted fully.<br />
<br />
After connecting the FreeRunner to your host via USB cable, you can test whether dfu-util "sees" the FreeRunner by executing:<br />
<br />
<pre>dfu-util -l</pre><br />
<br />
If you get error messages from the dfu-util command then try again. Often it works on the second try.<br />
<br />
dfu-util uses the DeviceFirmwareUpgrade protocol, and may list more than one device. If so, try unplugging the other device (e.g. a USB mouse) or using the -d switch to tell dfu-util which device it should talk to, as described at the relevant bug report [http://docs.openmoko.org/trac/ticket/2039].<br />
<br />
Also, please remember to execute the dfu-util command with sufficient privileges (ie. root) -- you will need complete control over the usb bus.<br />
<br />
== Do a backup ==<br />
<br />
If you have a working image that you're happy with but want to try something different, you should probably do a [[Backup]].<br />
<br />
== Using dfu-util ==<br />
<br />
dfu-util can be used to read flash memory, write memory, and get information from the device.<br />
<br />
This is the general command format to write an image file to a (predefined) "partition name" (referred to as ''altsetting'' in dfu-util help/manual) :<br />
<br />
# dfu-util -a ''<altsetting>'' -R -D ''<file_name>''<br />
<br />
where:<br><br />
-a ''altsetting'' : Specify the altsetting of the DFU interface by name or by number<br><br />
-R : Issue USB Reset signalling once we're finished<br><br />
-D ''file_name'' : Write firmware from ''file_name'' into device<br />
<br />
On Linux, you run dfu-util from a command shell prompt. If you have not put it somewhere on your command path you probably need to prefix it with a "./" like this '''./dfu-util'''.<br />
On some systems you need to be root before this will work and on Ubuntu you must preface the command with "sudo" or you will get the following error: "Cannot claim interface: could not claim interface 2: Operation not permitted"<br />
<br />
On Windows, you need to open a command window and run from a command line. Use Start-Run Program and type "cmd" to open a Window.<br />
<br />
More detailed manual for dfu-util is available here : [[Dfu-util]]<br />
<br />
GUI frontend for dfu-util (and more): [[NeoTool]]<br />
<br />
== Flashing the Kernel ==<br />
<br />
Note: The phone needs to be in the U-boot bootup menu for this to work.<br />
Get there by holding down the aux button while powering up the device.<br />
<br />
The command format is:<br />
<br />
# dfu-util -a kernel -R -D ''/path/to/uImage''<br />
<br />
When flashing succeeds the following will be shown:<br />
<br />
status(0) = No error condition is present<br />
Done!<br />
<br />
Flashing may fail with an error -110. This indicates that the kernel is too big for the default kernel partition. uboot can be used to change the size of the default partitions on the device. It may also mean that you are trying to put the wrong thing in the kernel space.<br />
<br />
== Flashing the Root Filesystem ==<br />
<br />
The root filesystem has to be an image in jffs2 format. If the file you downloaded is zipped or compressed (has a .gz, bz2, .zip, tar, tar.gz or .tgz extension) you have to uncompress it first.<br />
<br />
The command format is:<br />
<br />
<pre><br />
# dfu-util -a rootfs -R -D rootfs_filename.jffs2<br />
</pre><br />
| U-Boot<br />
where ''rootfs_filename.jffs2'' is the name of the file containing the root file system.<br />
<br />
The flashing process can take up to 15 minutes for a ~70MB image. It is also wise to make sure that your Neo has enough battery charge prior to flashing.<br />
<br />
When flashing succeeds the following will be shown:<br />
<br />
<pre><br />
status(0) = No error condition is present<br />
Done!<br />
</pre><br />
<br />
== Flashing the boot loader to the NAND==<br />
<br />
{{Note|In most cases you don't need to flash your bootloader. Flash it only if you want to update for a specific feature or due to a specific problem.}}<br />
<br />
The boot loader (U-boot) file should have a .bin extension. As with the root filesystem, if the file you downloaded is zipped or compressed (has a .gz or .zip extension) you have to uncompress it first.<br />
<br />
The command format is:<br />
<br />
# dfu-util -a u-boot -R -D ''uboot.bin''<br />
<br />
where ''uboot.bin'' is the name of the boot loader binary image file.<br />
<br />
=== Optional: Verifying boot-loader version ===<br />
<br />
<!-- The following should probably be moved to [[Bootloader_versions]], IMHO --><br />
<br />
<!-- Taken from posts by Mikael Berthe <mikael.berthe@lilotux.net> and Torfinn Ingolfsen <tingox@gmail.com> to Support list, subject: Re: Upgrading u-boot needed ? --><br />
(Optional) After an upgrade, you may wish to check that the u-boot version matches the one you have just flashed. You can use 'grep Bootloader /dev/mtdblock1' from a shell on the FreeRunner (and possibly the 1973 as well) to get the '''NAND''' u-boot version, like this:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock1<br />
Neo1973 Bootloader U-Boot 1.3.2+gitr18+64eb10cab8055084ae25ea4e73b66dd03cc1a0cb<br />
<br />
You can grep for the same string in /dev/mtdblock0 to retrieve the '''NOR''' u-boot version:<br />
root@om-gta02:~# grep Bootloader /dev/mtdblock0<br />
Neo1973 Bootloader U-Boot 1.3.2-moko12<br />
<br />
<!-- ENDS ... subject: Re: Upgrading u-boot needed ? --><br />
<br />
== A command line script to simplify dfu-util ==<br />
<br />
DFUScript developed to assist users who have multiple devices in using dfu-util via the command line. Information on where to download and use DFUScript can be found on [[DFUScript]]<br />
<br />
== Alternative: using nandwrite ==<br />
<br />
This approach involves writing the '''rootfs''' into nand directly on the phone from a system already running on it, not necessarily via usb from a computer.<br />
<br />
If you have a system running from a different partition that you intend to flash (for example sd card), you can use nandwrite to do the work, which is much faster (it takes about 30s to write a 59MB jffs2 image).<br />
<br />
Make sure you have nandwrite installed (on gentoo, it's in sys-fs/mtd-utils package)<br />
<br />
Also make sure that the host system has received correct partition list, for example for my stock Neo Freerunner partition list:<br />
<br />
<pre><br />
#cat /proc/mtd<br />
dev: size erasesize name<br />
mtd0: 00200000 00010000 "physmap-flash.0"<br />
mtd1: 00040000 00020000 "u-boot"<br />
mtd2: 00040000 00020000 "u-boot_env"<br />
mtd3: 00800000 00020000 "kernel"<br />
mtd4: 000a0000 00020000 "splash"<br />
mtd5: 00040000 00020000 "factory"<br />
mtd6: 0f6a0000 00020000 "rootfs"<br />
</pre><br />
<br />
In this case, we're looking for ''rootfs'' which according to above is mtd6. If you have it somewhere else, substitute mtd6 with whatever you have in the remainder of this section.<br />
<br />
'''Beware of flashing the ''u-boot'' partition, probably you'll have to recreate mtdparts configuration for u-boot from [[U-boot#Using_usbtty_from_Linux|u-boot console]]. Probably this is due to some kind of bug in nandwrite.'''<br />
<br />
<pre><br />
dynpart<br />
dynenv set u-boot_env<br />
</pre><br />
<br />
You can test your nand for bad blocks by issuing '''nandtest /dev/mtd6''' '''(this is a data destructive test !)'''<br />
<br />
First, put your .jffs2 file somewhere the phone system can read it<br />
<br />
Second, write the desired image into the nand this way:<br />
<pre><br />
flash_eraseall /dev/mtd6<br />
nandwrite -p /dev/mtd6 /path/to/image.jffs2<br />
</pre><br />
<br />
* The -m flag can be used to tell nandwrite to mark blocks it detects bad as bad, so if nandwrite is bugged, your entire partition will be marked as bad. See [[NAND_bad_blocks#Clearing_BadBlocks]] if this happened to you.<br />
<br />
You're all done!<br />
<br />
== Troubleshooting ==<br />
<br />
Okay, so you just reflashed. The splash screen pops up, but uBoot fail to load the kernel, and return to boot menu. WTF?<br />
<br />
* It is likely that the wrong bits went to the wrong place. Try reflashing just the kernel, double checking that you select the uImage.bin kernel file, not the u-boot.bin bootloader file.<br />
* Try redownloading and reflashing the kernel, checking file integrity with the MD5 hash sums.<br />
<br />
==See also==<br />
*[http://www.denx.de/wiki/U-Boot/WebHome U-Boot home page]<br />
<br />
[[Category:Flashing Openmoko| ]]</div>Marko Knöblhttp://openmoko.org/wiki/Manuals/dfu-utilManuals/dfu-util2010-08-11T20:30:09Z<p>Marko Knöbl: /* Before using dfu-util */ moving content here from Flashing the Neo FreeRunner</p>
<hr />
<div>This manual describes the usage of [[Dfu-util]].<br />
<br />
== Reference Documentation ==<br />
<br />
To run dfu-util, you need to have /proc/bus/usb mounted and working. The terminal command "ls /proc/bus/usb" should return something similar to, "001 002 003 004 005 devices", it shouldn't be empty. If it is empty, use this command:<br />
<br />
<pre><br />
sudo mount -t usbfs usbfs /proc/bus/usb<br />
</pre><br />
<br />
You can permanently add it in your fstab so that it automatically mounts. You can use emacs to edit you fstab using the command "sudo emacs /etc/fstab -nw" in your terminal window. Add the below line to your fstab:<br />
<br />
<pre><br />
usbfs /proc/bus/usb usbfs defaults<br />
</pre><br />
<br />
<br />
=== Before using dfu-util ===<br />
<br />
* Read the other sections of this page first, because you will have 30 seconds to enter the flashing commands, come back here when ready.<br />
* Do not connect the USB cable from the PC to your Neo yet (disconnect it).<br />
* Boot your Neo into the NOR uBoot menu for flashing:<br />
** Turn off the Neo<br />
** Press and hold the AUX button<br />
** Press the Power button until the boot menu comes up<br />
** This menu is labelled '''*** BOOT MENU (NOR) ***'''<br />
** See also [[Booting the Neo FreeRunner]]<br />
* Stay in NOR uBoot menu, do not select or enter any item in the menu. Now you will be able to flash, make backups of your FreeRunner or query the FreeRunner with dfu-util.<br />
* The FreeRunner only stays at the NOR boot prompt for about 30 seconds and then shuts off unless you do something.<br />
* Connect your Neo to your computer directly (Using a hub in between could cause problems with the hub and the usb reset)<br />
* Now you can enter the dfu-util commands on your PC as described below.<br />
* If the Neo FreeRunner turns off before you press start flashing ('''screen goes black'''), go back to step 2. If you start flashing in time, the phone will not turn off meanwhile.<br />
<br />
Note: Some myth existed that dfu-util is not worked with sudo. This is not true of course. It is working from both sudo and su sessions. --[[User:Gena2x|Gena2x]] 12:30, 20 July 2010 (UTC)<br />
<br />
Note that the dfu-util connection does '''not''' use Ethernet over USB - that is, you should not attempt to set up a usb0 network interface on your GNU/Linux host desktop (on Windows, you need a DFU class driver, or you can use the LibUSB-Win32 driver described on the [[Dfu-util-windows]] page). The dfu-util utility sets up its own connection to the FreeRunner. In fact, you will not be able to make an Ethernet-over-USB connection to the FreeRunner when it is at the uBoot menu; this type of connection is only available when the FreeRunner has booted fully.<br />
<br />
After connecting the FreeRunner to your host via USB cable, you can test whether dfu-util "sees" the FreeRunner by executing:<br />
<br />
<pre>dfu-util -l</pre><br />
<br />
If you get error messages from the dfu-util command then try again. Often it works on the second try.<br />
<br />
dfu-util uses the DeviceFirmwareUpgrade protocol, and may list more than one device. If so, try unplugging the other device (e.g. a USB mouse) or using the -d switch to tell dfu-util which device it should talk to, as described at the relevant bug report [http://docs.openmoko.org/trac/ticket/2039].<br />
<br />
Also, please remember to execute the dfu-util command with sufficient privileges (ie. root) -- you will need complete control over the usb bus.<br />
<br />
=== Command-line options ===<br />
<br />
==== --help ====<br />
<br />
<pre><br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Usage: dfu-util [options] ...<br />
-h --help Print this help message<br />
-V --version Print the version number<br />
-l --list List the currently attached DFU capable USB devices<br />
-d --device vendor:product Specify Vendor/Product ID of DFU device<br />
-c --cfg config_nr Specify the Configuration of DFU device<br />
-i --intf intf_nr Specify the DFU Interface number<br />
-a --alt alt_nr Specify the Altseting of the DFU Interface<br />
-t --transfer-size Specify the number of bytes per USB Transfer<br />
-U --upload file Read firmware from device into <file><br />
-D --download file Write firmware from <file> into device<br />
-R --reset Issue USB Reset signalling once we're finished<br />
</pre><br />
<br />
==== --alt ====<br />
With the -a switch you specify the location on the device you want to write to or read from.<br />
However, for most cases, ''kernel'' and ''rootfs'' will be enough.<br />
<br />
See [[partitions]] for a list. You may also use the ''--list'' switch (see below), to get an online list.<br />
<br />
==== --list ====<br />
<br />
Using the --list option, you can list the available DFU capable devices, their configuration, interface and altsettings.<br />
Below is an example for a current Neo1973 phone in u-boot '''Runtime Mode'''<br />
<pre><br />
# ./dfu-util --list<br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Found DFU Runtime: [0x1457:0x5119] devnum=0, cfg=0, intf=2, alt=0, name="USB Device Firmware Upgrade"<br />
</pre><br />
<br />
Below is an example for a current Neo1973 phone in u-boot '''DFU Mode'''<br />
<pre><br />
# ./dfu-util --list<br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=0, name="RAM 0x32000000"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=1, name="u-boot"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=2, name="u-boot_env"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=3, name="kernel"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=4, name="splash"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=5, name="rootfs"<br />
</pre><br />
<br />
This shows you six interfaces, all in '''configuration 0''' and '''interface 0''', with altsetting 0...5, for RAM and each [[Partitions|partition]].<br />
<br />
==== --device ====<br />
<br />
You can specify the USB Vendor and Product ID of the device you want to program:<br />
<br />
dfu-util --device 0x1457:0x5119<br />
<br />
If you only have one standards-compliant DFU device attached to your PC, this is optional. However, as soon as you have multiple DFU devices, dfu-util will detect this and abort, asking you to specify which device it shall use.<br />
<br />
==== --transfer-size ====<br />
<br />
Specifies the size of each individual USB transfer. If you don't use it, the maximum possible size for your combination of host operating system and USB device is chosen (for optimal performance).<br />
<br />
==== --download ====<br />
<br />
download the given file into the device.<br />
<br />
==== --upload ====<br />
<br />
upload from the DFU device into the given file[name].<br />
<br />
{{note|Upload support is currently broken - [http://docs.openmoko.org/trac/ticket/676 #676]}}<br />
<br />
== Phrasebook ==<br />
<br />
There's no full-fledged manual yet. Instead, some examples:<br />
<br />
=== Flashing the rootfs ===<br />
<br />
dfu-util -a rootfs -R -D /path/to/openmoko-devel-image.jffs2<br />
<br />
Flashing the rootfs can take up to 15 minutes for a ~70MB image.<br />
<br />
=== Flashing the kernel ===<br />
<br />
dfu-util -a kernel -R -D /path/to/uImage<br />
<br />
=== Flashing the bootloader ===<br />
<br />
dfu-util -a u-boot -R -D /path/to/u-boot.bin<br />
<br />
=== Flashing the splash image ===<br />
<br />
dfu-util -a splash -R -D /path/to/splash.gz<br />
<br />
see also [[Configuring_the_boot_splash_screens]]<br />
<br />
=== Copying a kernel into RAM ===<br />
<br />
dfu-util -a 0 -R -D /path/to/uImage<br />
<br />
Once this has finished, the kernel will be available at the default load address of 0x32000000 in Neo1973 RAM.<br />
<br />
{{note|You cannot transfer more than 2MB of data into RAM using this method}}<br />
<br />
=== Success message ===<br />
<br />
If flashing was successfull the following will be shown:<br />
<br />
status(0) = No error condition is present<br />
Done!<br />
<br />
== Troubleshooting notes ==<br />
<br />
If during flashing of an image using dfu-util you're consistently getting an error -110 message, check that the size of the destination NAND [[Partitions|partition]] is big enough to hold the image. For example the kernel partition is only 2 MB big by default and a kernel with debugging info compiled-in can often exceed this. It's possible to change the partition layout to enlarge a given partition and shrink other partitions but you have to remember to reflash all partitions whose start offset has changed afterwards. To adjust partitions layout use the ''mtdparts'' [[Bootloader|u-boot command]].<br />
<br />
If in turn you're facing errors in seemingly random places during the flashing of images, most likely the USB hub or cable through which your Neo1973 is connected, is of too poor quality. It is recommended that you always connect the phone directly to the host when using dfu-util.<br />
<br />
If dfu-util reports a message like the following, before it starts flashing:<pre><br />
Resetting USB...<br />
not at least 2 device changes found ?!?<br />
Lost device after RESET?</pre> retry the command - it should work on a second run.<br />
<br />
If dfu-util complains about not being able to program the device while in runtime mode, do the following: while in the boot menu, remove the usb cable and insert it again. Depending on the version of uBoot it should display somewhere in the menu that it is now in DFU mode. Now dfu-util should be able to continue.<br />
<br />
If dfu-util is too slow on Windows, that's a known bug. A suggestion is to run Linux on a virtual box. An full root image 97MB that is 776Mbit, the USB 1.1 on the Neo FreeRunner is capable of either 1.5 Mbit/s (Low-Speed) and 12 Mbit/s (Full-Speed). So flashing it should take less than 9 minutes with low speed and a bit more than a minute with full-speed. Plus transfer overhead, plus decompression on the Neo side.<br />
<br />
Note that any error messages indicate a probable failed transfer, despite latter messages emitted about success, etc.<br />
<br />
[[Category:Manuals]]</div>Marko Knöblhttp://openmoko.org/wiki/Manuals/dfu-utilManuals/dfu-util2010-08-11T20:27:41Z<p>Marko Knöbl: /* Before using dfu-util */ moving content here from Flashing the Neo FreeRunner</p>
<hr />
<div>This manual describes the usage of [[Dfu-util]].<br />
<br />
== Reference Documentation ==<br />
<br />
To run dfu-util, you need to have /proc/bus/usb mounted and working. The terminal command "ls /proc/bus/usb" should return something similar to, "001 002 003 004 005 devices", it shouldn't be empty. If it is empty, use this command:<br />
<br />
<pre><br />
sudo mount -t usbfs usbfs /proc/bus/usb<br />
</pre><br />
<br />
You can permanently add it in your fstab so that it automatically mounts. You can use emacs to edit you fstab using the command "sudo emacs /etc/fstab -nw" in your terminal window. Add the below line to your fstab:<br />
<br />
<pre><br />
usbfs /proc/bus/usb usbfs defaults<br />
</pre><br />
<br />
<br />
=== Before using dfu-util ===<br />
<br />
* Read the other sections of this page first, because you will have 30 seconds to enter the flashing commands, come back here when ready.<br />
* Do not connect the USB cable from the PC to your Neo yet (disconnect it).<br />
* Boot your Neo into the NOR uBoot menu for flashing:<br />
** Turn off the Neo<br />
** Press and hold the AUX button<br />
** Press the Power button until the boot menu comes up<br />
** This menu is labelled '''*** BOOT MENU (NOR) ***'''<br />
** See also [[Booting the Neo FreeRunner]]<br />
* Stay in NOR uBoot menu, do not select or enter any item in the menu. Now you will be able to flash, make backups of your FreeRunner or query the FreeRunner with dfu-util.<br />
* The FreeRunner only stays at the NOR boot prompt for about 30 seconds and then shuts off unless you do something.<br />
* Connect your Neo to your computer directly (Using a hub in between could cause problems with the hub and the usb reset)<br />
* Now you can enter the dfu-util commands on your PC as described below.<br />
* If the Neo FreeRunner turns off before you press start flashing ('''screen goes black'''), go back to step 2. If you start flashing in time, the phone will not turn off meanwhile.<br />
<br />
Note: Some myth existed that dfu-util is not worked with sudo. This is not true of course. It is working from both sudo and su sessions. --[[User:Gena2x|Gena2x]] 12:30, 20 July 2010 (UTC)<br />
<br />
=== Command-line options ===<br />
<br />
==== --help ====<br />
<br />
<pre><br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Usage: dfu-util [options] ...<br />
-h --help Print this help message<br />
-V --version Print the version number<br />
-l --list List the currently attached DFU capable USB devices<br />
-d --device vendor:product Specify Vendor/Product ID of DFU device<br />
-c --cfg config_nr Specify the Configuration of DFU device<br />
-i --intf intf_nr Specify the DFU Interface number<br />
-a --alt alt_nr Specify the Altseting of the DFU Interface<br />
-t --transfer-size Specify the number of bytes per USB Transfer<br />
-U --upload file Read firmware from device into <file><br />
-D --download file Write firmware from <file> into device<br />
-R --reset Issue USB Reset signalling once we're finished<br />
</pre><br />
<br />
==== --alt ====<br />
With the -a switch you specify the location on the device you want to write to or read from.<br />
However, for most cases, ''kernel'' and ''rootfs'' will be enough.<br />
<br />
See [[partitions]] for a list. You may also use the ''--list'' switch (see below), to get an online list.<br />
<br />
==== --list ====<br />
<br />
Using the --list option, you can list the available DFU capable devices, their configuration, interface and altsettings.<br />
Below is an example for a current Neo1973 phone in u-boot '''Runtime Mode'''<br />
<pre><br />
# ./dfu-util --list<br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Found DFU Runtime: [0x1457:0x5119] devnum=0, cfg=0, intf=2, alt=0, name="USB Device Firmware Upgrade"<br />
</pre><br />
<br />
Below is an example for a current Neo1973 phone in u-boot '''DFU Mode'''<br />
<pre><br />
# ./dfu-util --list<br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=0, name="RAM 0x32000000"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=1, name="u-boot"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=2, name="u-boot_env"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=3, name="kernel"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=4, name="splash"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=5, name="rootfs"<br />
</pre><br />
<br />
This shows you six interfaces, all in '''configuration 0''' and '''interface 0''', with altsetting 0...5, for RAM and each [[Partitions|partition]].<br />
<br />
==== --device ====<br />
<br />
You can specify the USB Vendor and Product ID of the device you want to program:<br />
<br />
dfu-util --device 0x1457:0x5119<br />
<br />
If you only have one standards-compliant DFU device attached to your PC, this is optional. However, as soon as you have multiple DFU devices, dfu-util will detect this and abort, asking you to specify which device it shall use.<br />
<br />
==== --transfer-size ====<br />
<br />
Specifies the size of each individual USB transfer. If you don't use it, the maximum possible size for your combination of host operating system and USB device is chosen (for optimal performance).<br />
<br />
==== --download ====<br />
<br />
download the given file into the device.<br />
<br />
==== --upload ====<br />
<br />
upload from the DFU device into the given file[name].<br />
<br />
{{note|Upload support is currently broken - [http://docs.openmoko.org/trac/ticket/676 #676]}}<br />
<br />
== Phrasebook ==<br />
<br />
There's no full-fledged manual yet. Instead, some examples:<br />
<br />
=== Flashing the rootfs ===<br />
<br />
dfu-util -a rootfs -R -D /path/to/openmoko-devel-image.jffs2<br />
<br />
Flashing the rootfs can take up to 15 minutes for a ~70MB image.<br />
<br />
=== Flashing the kernel ===<br />
<br />
dfu-util -a kernel -R -D /path/to/uImage<br />
<br />
=== Flashing the bootloader ===<br />
<br />
dfu-util -a u-boot -R -D /path/to/u-boot.bin<br />
<br />
=== Flashing the splash image ===<br />
<br />
dfu-util -a splash -R -D /path/to/splash.gz<br />
<br />
see also [[Configuring_the_boot_splash_screens]]<br />
<br />
=== Copying a kernel into RAM ===<br />
<br />
dfu-util -a 0 -R -D /path/to/uImage<br />
<br />
Once this has finished, the kernel will be available at the default load address of 0x32000000 in Neo1973 RAM.<br />
<br />
{{note|You cannot transfer more than 2MB of data into RAM using this method}}<br />
<br />
=== Success message ===<br />
<br />
If flashing was successfull the following will be shown:<br />
<br />
status(0) = No error condition is present<br />
Done!<br />
<br />
== Troubleshooting notes ==<br />
<br />
If during flashing of an image using dfu-util you're consistently getting an error -110 message, check that the size of the destination NAND [[Partitions|partition]] is big enough to hold the image. For example the kernel partition is only 2 MB big by default and a kernel with debugging info compiled-in can often exceed this. It's possible to change the partition layout to enlarge a given partition and shrink other partitions but you have to remember to reflash all partitions whose start offset has changed afterwards. To adjust partitions layout use the ''mtdparts'' [[Bootloader|u-boot command]].<br />
<br />
If in turn you're facing errors in seemingly random places during the flashing of images, most likely the USB hub or cable through which your Neo1973 is connected, is of too poor quality. It is recommended that you always connect the phone directly to the host when using dfu-util.<br />
<br />
If dfu-util reports a message like the following, before it starts flashing:<pre><br />
Resetting USB...<br />
not at least 2 device changes found ?!?<br />
Lost device after RESET?</pre> retry the command - it should work on a second run.<br />
<br />
If dfu-util complains about not being able to program the device while in runtime mode, do the following: while in the boot menu, remove the usb cable and insert it again. Depending on the version of uBoot it should display somewhere in the menu that it is now in DFU mode. Now dfu-util should be able to continue.<br />
<br />
If dfu-util is too slow on Windows, that's a known bug. A suggestion is to run Linux on a virtual box. An full root image 97MB that is 776Mbit, the USB 1.1 on the Neo FreeRunner is capable of either 1.5 Mbit/s (Low-Speed) and 12 Mbit/s (Full-Speed). So flashing it should take less than 9 minutes with low speed and a bit more than a minute with full-speed. Plus transfer overhead, plus decompression on the Neo side.<br />
<br />
Note that any error messages indicate a probable failed transfer, despite latter messages emitted about success, etc.<br />
<br />
[[Category:Manuals]]</div>Marko Knöblhttp://openmoko.org/wiki/Manuals/dfu-utilManuals/dfu-util2010-08-11T20:20:32Z<p>Marko Knöbl: /* Phrasebook */ Moving information here from Flashing the Neo FreeRunner</p>
<hr />
<div>This manual describes the usage of [[Dfu-util]].<br />
<br />
== Reference Documentation ==<br />
<br />
To run dfu-util, you need to have /proc/bus/usb mounted and working. The terminal command "ls /proc/bus/usb" should return something similar to, "001 002 003 004 005 devices", it shouldn't be empty. If it is empty, use this command:<br />
<br />
<pre><br />
sudo mount -t usbfs usbfs /proc/bus/usb<br />
</pre><br />
<br />
You can permanently add it in your fstab so that it automatically mounts. You can use emacs to edit you fstab using the command "sudo emacs /etc/fstab -nw" in your terminal window. Add the below line to your fstab:<br />
<br />
<pre><br />
usbfs /proc/bus/usb usbfs defaults<br />
</pre><br />
<br />
<br />
=== Before using dfu-util ===<br />
You'll need to boot your phone into the NOR Boot Menu:<br />
* Ensure your phone is connected directly to the host computer by USB (not the USB-charger! :)<br />
* Ensure that you execute all dfu-util commands as root<br />
* Power off the phone<br />
* Hold down AUX<br />
* Press POWER and hold it<br />
* Release AUX, hold POWER until you see the menu<br />
* Connect your Neo to your computer directly (Using a hub in between could cause problems with the hub and the usb reset)<br />
see also [[Booting the Neo FreeRunner]]<br />
<br />
Note: Some myth existed that dfu-util is not worked with sudo. This is not true of course. It is working from both sudo and su sessions. --[[User:Gena2x|Gena2x]] 12:30, 20 July 2010 (UTC)<br />
<br />
=== Command-line options ===<br />
<br />
==== --help ====<br />
<br />
<pre><br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Usage: dfu-util [options] ...<br />
-h --help Print this help message<br />
-V --version Print the version number<br />
-l --list List the currently attached DFU capable USB devices<br />
-d --device vendor:product Specify Vendor/Product ID of DFU device<br />
-c --cfg config_nr Specify the Configuration of DFU device<br />
-i --intf intf_nr Specify the DFU Interface number<br />
-a --alt alt_nr Specify the Altseting of the DFU Interface<br />
-t --transfer-size Specify the number of bytes per USB Transfer<br />
-U --upload file Read firmware from device into <file><br />
-D --download file Write firmware from <file> into device<br />
-R --reset Issue USB Reset signalling once we're finished<br />
</pre><br />
<br />
==== --alt ====<br />
With the -a switch you specify the location on the device you want to write to or read from.<br />
However, for most cases, ''kernel'' and ''rootfs'' will be enough.<br />
<br />
See [[partitions]] for a list. You may also use the ''--list'' switch (see below), to get an online list.<br />
<br />
==== --list ====<br />
<br />
Using the --list option, you can list the available DFU capable devices, their configuration, interface and altsettings.<br />
Below is an example for a current Neo1973 phone in u-boot '''Runtime Mode'''<br />
<pre><br />
# ./dfu-util --list<br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Found DFU Runtime: [0x1457:0x5119] devnum=0, cfg=0, intf=2, alt=0, name="USB Device Firmware Upgrade"<br />
</pre><br />
<br />
Below is an example for a current Neo1973 phone in u-boot '''DFU Mode'''<br />
<pre><br />
# ./dfu-util --list<br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=0, name="RAM 0x32000000"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=1, name="u-boot"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=2, name="u-boot_env"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=3, name="kernel"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=4, name="splash"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=5, name="rootfs"<br />
</pre><br />
<br />
This shows you six interfaces, all in '''configuration 0''' and '''interface 0''', with altsetting 0...5, for RAM and each [[Partitions|partition]].<br />
<br />
==== --device ====<br />
<br />
You can specify the USB Vendor and Product ID of the device you want to program:<br />
<br />
dfu-util --device 0x1457:0x5119<br />
<br />
If you only have one standards-compliant DFU device attached to your PC, this is optional. However, as soon as you have multiple DFU devices, dfu-util will detect this and abort, asking you to specify which device it shall use.<br />
<br />
==== --transfer-size ====<br />
<br />
Specifies the size of each individual USB transfer. If you don't use it, the maximum possible size for your combination of host operating system and USB device is chosen (for optimal performance).<br />
<br />
==== --download ====<br />
<br />
download the given file into the device.<br />
<br />
==== --upload ====<br />
<br />
upload from the DFU device into the given file[name].<br />
<br />
{{note|Upload support is currently broken - [http://docs.openmoko.org/trac/ticket/676 #676]}}<br />
<br />
== Phrasebook ==<br />
<br />
There's no full-fledged manual yet. Instead, some examples:<br />
<br />
=== Flashing the rootfs ===<br />
<br />
dfu-util -a rootfs -R -D /path/to/openmoko-devel-image.jffs2<br />
<br />
Flashing the rootfs can take up to 15 minutes for a ~70MB image.<br />
<br />
=== Flashing the kernel ===<br />
<br />
dfu-util -a kernel -R -D /path/to/uImage<br />
<br />
=== Flashing the bootloader ===<br />
<br />
dfu-util -a u-boot -R -D /path/to/u-boot.bin<br />
<br />
=== Flashing the splash image ===<br />
<br />
dfu-util -a splash -R -D /path/to/splash.gz<br />
<br />
see also [[Configuring_the_boot_splash_screens]]<br />
<br />
=== Copying a kernel into RAM ===<br />
<br />
dfu-util -a 0 -R -D /path/to/uImage<br />
<br />
Once this has finished, the kernel will be available at the default load address of 0x32000000 in Neo1973 RAM.<br />
<br />
{{note|You cannot transfer more than 2MB of data into RAM using this method}}<br />
<br />
=== Success message ===<br />
<br />
If flashing was successfull the following will be shown:<br />
<br />
status(0) = No error condition is present<br />
Done!<br />
<br />
== Troubleshooting notes ==<br />
<br />
If during flashing of an image using dfu-util you're consistently getting an error -110 message, check that the size of the destination NAND [[Partitions|partition]] is big enough to hold the image. For example the kernel partition is only 2 MB big by default and a kernel with debugging info compiled-in can often exceed this. It's possible to change the partition layout to enlarge a given partition and shrink other partitions but you have to remember to reflash all partitions whose start offset has changed afterwards. To adjust partitions layout use the ''mtdparts'' [[Bootloader|u-boot command]].<br />
<br />
If in turn you're facing errors in seemingly random places during the flashing of images, most likely the USB hub or cable through which your Neo1973 is connected, is of too poor quality. It is recommended that you always connect the phone directly to the host when using dfu-util.<br />
<br />
If dfu-util reports a message like the following, before it starts flashing:<pre><br />
Resetting USB...<br />
not at least 2 device changes found ?!?<br />
Lost device after RESET?</pre> retry the command - it should work on a second run.<br />
<br />
If dfu-util complains about not being able to program the device while in runtime mode, do the following: while in the boot menu, remove the usb cable and insert it again. Depending on the version of uBoot it should display somewhere in the menu that it is now in DFU mode. Now dfu-util should be able to continue.<br />
<br />
If dfu-util is too slow on Windows, that's a known bug. A suggestion is to run Linux on a virtual box. An full root image 97MB that is 776Mbit, the USB 1.1 on the Neo FreeRunner is capable of either 1.5 Mbit/s (Low-Speed) and 12 Mbit/s (Full-Speed). So flashing it should take less than 9 minutes with low speed and a bit more than a minute with full-speed. Plus transfer overhead, plus decompression on the Neo side.<br />
<br />
Note that any error messages indicate a probable failed transfer, despite latter messages emitted about success, etc.<br />
<br />
[[Category:Manuals]]</div>Marko Knöblhttp://openmoko.org/wiki/Manuals/dfu-utilManuals/dfu-util2010-08-10T21:33:53Z<p>Marko Knöbl: category</p>
<hr />
<div>This manual describes the usage of [[Dfu-util]].<br />
<br />
== Reference Documentation ==<br />
<br />
To run dfu-util, you need to have /proc/bus/usb mounted and working. The terminal command "ls /proc/bus/usb" should return something similar to, "001 002 003 004 005 devices", it shouldn't be empty. If it is empty, use this command:<br />
<br />
<pre><br />
sudo mount -t usbfs usbfs /proc/bus/usb<br />
</pre><br />
<br />
You can permanently add it in your fstab so that it automatically mounts. You can use emacs to edit you fstab using the command "sudo emacs /etc/fstab -nw" in your terminal window. Add the below line to your fstab:<br />
<br />
<pre><br />
usbfs /proc/bus/usb usbfs defaults<br />
</pre><br />
<br />
<br />
=== Before using dfu-util ===<br />
You'll need to boot your phone into the NOR Boot Menu:<br />
* Ensure your phone is connected directly to the host computer by USB (not the USB-charger! :)<br />
* Ensure that you execute all dfu-util commands as root<br />
* Power off the phone<br />
* Hold down AUX<br />
* Press POWER and hold it<br />
* Release AUX, hold POWER until you see the menu<br />
* Connect your Neo to your computer directly (Using a hub in between could cause problems with the hub and the usb reset)<br />
see also [[Booting the Neo FreeRunner]]<br />
<br />
Note: Some myth existed that dfu-util is not worked with sudo. This is not true of course. It is working from both sudo and su sessions. --[[User:Gena2x|Gena2x]] 12:30, 20 July 2010 (UTC)<br />
<br />
=== Command-line options ===<br />
<br />
==== --help ====<br />
<br />
<pre><br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Usage: dfu-util [options] ...<br />
-h --help Print this help message<br />
-V --version Print the version number<br />
-l --list List the currently attached DFU capable USB devices<br />
-d --device vendor:product Specify Vendor/Product ID of DFU device<br />
-c --cfg config_nr Specify the Configuration of DFU device<br />
-i --intf intf_nr Specify the DFU Interface number<br />
-a --alt alt_nr Specify the Altseting of the DFU Interface<br />
-t --transfer-size Specify the number of bytes per USB Transfer<br />
-U --upload file Read firmware from device into <file><br />
-D --download file Write firmware from <file> into device<br />
-R --reset Issue USB Reset signalling once we're finished<br />
</pre><br />
<br />
==== --alt ====<br />
With the -a switch you specify the location on the device you want to write to or read from.<br />
However, for most cases, ''kernel'' and ''rootfs'' will be enough.<br />
<br />
See [[partitions]] for a list. You may also use the ''--list'' switch (see below), to get an online list.<br />
<br />
==== --list ====<br />
<br />
Using the --list option, you can list the available DFU capable devices, their configuration, interface and altsettings.<br />
Below is an example for a current Neo1973 phone in u-boot '''Runtime Mode'''<br />
<pre><br />
# ./dfu-util --list<br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Found DFU Runtime: [0x1457:0x5119] devnum=0, cfg=0, intf=2, alt=0, name="USB Device Firmware Upgrade"<br />
</pre><br />
<br />
Below is an example for a current Neo1973 phone in u-boot '''DFU Mode'''<br />
<pre><br />
# ./dfu-util --list<br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=0, name="RAM 0x32000000"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=1, name="u-boot"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=2, name="u-boot_env"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=3, name="kernel"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=4, name="splash"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=5, name="rootfs"<br />
</pre><br />
<br />
This shows you six interfaces, all in '''configuration 0''' and '''interface 0''', with altsetting 0...5, for RAM and each [[Partitions|partition]].<br />
<br />
==== --device ====<br />
<br />
You can specify the USB Vendor and Product ID of the device you want to program:<br />
<br />
dfu-util --device 0x1457:0x5119<br />
<br />
If you only have one standards-compliant DFU device attached to your PC, this is optional. However, as soon as you have multiple DFU devices, dfu-util will detect this and abort, asking you to specify which device it shall use.<br />
<br />
==== --transfer-size ====<br />
<br />
Specifies the size of each individual USB transfer. If you don't use it, the maximum possible size for your combination of host operating system and USB device is chosen (for optimal performance).<br />
<br />
==== --download ====<br />
<br />
download the given file into the device.<br />
<br />
==== --upload ====<br />
<br />
upload from the DFU device into the given file[name].<br />
<br />
{{note|Upload support is currently broken - [http://docs.openmoko.org/trac/ticket/676 #676]}}<br />
<br />
== Phrasebook ==<br />
<br />
There's no full-fledged manual yet. Instead, some examples:<br />
<br />
=== Flashing the rootfs ===<br />
<br />
dfu-util -a rootfs -R -D /path/to/openmoko-devel-image.jffs2<br />
<br />
=== Flashing the kernel ===<br />
<br />
dfu-util -a kernel -R -D /path/to/uImage<br />
<br />
=== Flashing the bootloader ===<br />
<br />
dfu-util -a u-boot -R -D /path/to/u-boot.bin<br />
<br />
=== Flashing the splash image ===<br />
<br />
dfu-util -a splash -R -D /path/to/splash.gz<br />
<br />
see also [[Configuring_the_boot_splash_screens]]<br />
<br />
=== Copying a kernel into RAM ===<br />
<br />
dfu-util -a 0 -R -D /path/to/uImage<br />
<br />
Once this has finished, the kernel will be available at the default load address of 0x32000000 in Neo1973 RAM.<br />
<br />
{{note|You cannot transfer more than 2MB of data into RAM using this method}}<br />
<br />
== Troubleshooting notes ==<br />
<br />
If during flashing of an image using dfu-util you're consistently getting an error -110 message, check that the size of the destination NAND [[Partitions|partition]] is big enough to hold the image. For example the kernel partition is only 2 MB big by default and a kernel with debugging info compiled-in can often exceed this. It's possible to change the partition layout to enlarge a given partition and shrink other partitions but you have to remember to reflash all partitions whose start offset has changed afterwards. To adjust partitions layout use the ''mtdparts'' [[Bootloader|u-boot command]].<br />
<br />
If in turn you're facing errors in seemingly random places during the flashing of images, most likely the USB hub or cable through which your Neo1973 is connected, is of too poor quality. It is recommended that you always connect the phone directly to the host when using dfu-util.<br />
<br />
If dfu-util reports a message like the following, before it starts flashing:<pre><br />
Resetting USB...<br />
not at least 2 device changes found ?!?<br />
Lost device after RESET?</pre> retry the command - it should work on a second run.<br />
<br />
If dfu-util complains about not being able to program the device while in runtime mode, do the following: while in the boot menu, remove the usb cable and insert it again. Depending on the version of uBoot it should display somewhere in the menu that it is now in DFU mode. Now dfu-util should be able to continue.<br />
<br />
If dfu-util is too slow on Windows, that's a known bug. A suggestion is to run Linux on a virtual box. An full root image 97MB that is 776Mbit, the USB 1.1 on the Neo FreeRunner is capable of either 1.5 Mbit/s (Low-Speed) and 12 Mbit/s (Full-Speed). So flashing it should take less than 9 minutes with low speed and a bit more than a minute with full-speed. Plus transfer overhead, plus decompression on the Neo side.<br />
<br />
Note that any error messages indicate a probable failed transfer, despite latter messages emitted about success, etc.<br />
<br />
[[Category:Manuals]]</div>Marko Knöblhttp://openmoko.org/wiki/Manuals/dfu-utilManuals/dfu-util2010-08-10T21:33:15Z<p>Marko Knöbl: New page: This manual describes the usage of Dfu-util. == Reference Documentation == To run dfu-util, you need to have /proc/bus/usb mounted and working. The terminal command "ls /proc/bus/us...</p>
<hr />
<div>This manual describes the usage of [[Dfu-util]].<br />
<br />
== Reference Documentation ==<br />
<br />
To run dfu-util, you need to have /proc/bus/usb mounted and working. The terminal command "ls /proc/bus/usb" should return something similar to, "001 002 003 004 005 devices", it shouldn't be empty. If it is empty, use this command:<br />
<br />
<pre><br />
sudo mount -t usbfs usbfs /proc/bus/usb<br />
</pre><br />
<br />
You can permanently add it in your fstab so that it automatically mounts. You can use emacs to edit you fstab using the command "sudo emacs /etc/fstab -nw" in your terminal window. Add the below line to your fstab:<br />
<br />
<pre><br />
usbfs /proc/bus/usb usbfs defaults<br />
</pre><br />
<br />
<br />
=== Before using dfu-util ===<br />
You'll need to boot your phone into the NOR Boot Menu:<br />
* Ensure your phone is connected directly to the host computer by USB (not the USB-charger! :)<br />
* Ensure that you execute all dfu-util commands as root<br />
* Power off the phone<br />
* Hold down AUX<br />
* Press POWER and hold it<br />
* Release AUX, hold POWER until you see the menu<br />
* Connect your Neo to your computer directly (Using a hub in between could cause problems with the hub and the usb reset)<br />
see also [[Booting the Neo FreeRunner]]<br />
<br />
Note: Some myth existed that dfu-util is not worked with sudo. This is not true of course. It is working from both sudo and su sessions. --[[User:Gena2x|Gena2x]] 12:30, 20 July 2010 (UTC)<br />
<br />
=== Command-line options ===<br />
<br />
==== --help ====<br />
<br />
<pre><br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Usage: dfu-util [options] ...<br />
-h --help Print this help message<br />
-V --version Print the version number<br />
-l --list List the currently attached DFU capable USB devices<br />
-d --device vendor:product Specify Vendor/Product ID of DFU device<br />
-c --cfg config_nr Specify the Configuration of DFU device<br />
-i --intf intf_nr Specify the DFU Interface number<br />
-a --alt alt_nr Specify the Altseting of the DFU Interface<br />
-t --transfer-size Specify the number of bytes per USB Transfer<br />
-U --upload file Read firmware from device into <file><br />
-D --download file Write firmware from <file> into device<br />
-R --reset Issue USB Reset signalling once we're finished<br />
</pre><br />
<br />
==== --alt ====<br />
With the -a switch you specify the location on the device you want to write to or read from.<br />
However, for most cases, ''kernel'' and ''rootfs'' will be enough.<br />
<br />
See [[partitions]] for a list. You may also use the ''--list'' switch (see below), to get an online list.<br />
<br />
==== --list ====<br />
<br />
Using the --list option, you can list the available DFU capable devices, their configuration, interface and altsettings.<br />
Below is an example for a current Neo1973 phone in u-boot '''Runtime Mode'''<br />
<pre><br />
# ./dfu-util --list<br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Found DFU Runtime: [0x1457:0x5119] devnum=0, cfg=0, intf=2, alt=0, name="USB Device Firmware Upgrade"<br />
</pre><br />
<br />
Below is an example for a current Neo1973 phone in u-boot '''DFU Mode'''<br />
<pre><br />
# ./dfu-util --list<br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=0, name="RAM 0x32000000"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=1, name="u-boot"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=2, name="u-boot_env"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=3, name="kernel"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=4, name="splash"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=5, name="rootfs"<br />
</pre><br />
<br />
This shows you six interfaces, all in '''configuration 0''' and '''interface 0''', with altsetting 0...5, for RAM and each [[Partitions|partition]].<br />
<br />
==== --device ====<br />
<br />
You can specify the USB Vendor and Product ID of the device you want to program:<br />
<br />
dfu-util --device 0x1457:0x5119<br />
<br />
If you only have one standards-compliant DFU device attached to your PC, this is optional. However, as soon as you have multiple DFU devices, dfu-util will detect this and abort, asking you to specify which device it shall use.<br />
<br />
==== --transfer-size ====<br />
<br />
Specifies the size of each individual USB transfer. If you don't use it, the maximum possible size for your combination of host operating system and USB device is chosen (for optimal performance).<br />
<br />
==== --download ====<br />
<br />
download the given file into the device.<br />
<br />
==== --upload ====<br />
<br />
upload from the DFU device into the given file[name].<br />
<br />
{{note|Upload support is currently broken - [http://docs.openmoko.org/trac/ticket/676 #676]}}<br />
<br />
== Phrasebook ==<br />
<br />
There's no full-fledged manual yet. Instead, some examples:<br />
<br />
=== Flashing the rootfs ===<br />
<br />
dfu-util -a rootfs -R -D /path/to/openmoko-devel-image.jffs2<br />
<br />
=== Flashing the kernel ===<br />
<br />
dfu-util -a kernel -R -D /path/to/uImage<br />
<br />
=== Flashing the bootloader ===<br />
<br />
dfu-util -a u-boot -R -D /path/to/u-boot.bin<br />
<br />
=== Flashing the splash image ===<br />
<br />
dfu-util -a splash -R -D /path/to/splash.gz<br />
<br />
see also [[Configuring_the_boot_splash_screens]]<br />
<br />
=== Copying a kernel into RAM ===<br />
<br />
dfu-util -a 0 -R -D /path/to/uImage<br />
<br />
Once this has finished, the kernel will be available at the default load address of 0x32000000 in Neo1973 RAM.<br />
<br />
{{note|You cannot transfer more than 2MB of data into RAM using this method}}<br />
<br />
== Troubleshooting notes ==<br />
<br />
If during flashing of an image using dfu-util you're consistently getting an error -110 message, check that the size of the destination NAND [[Partitions|partition]] is big enough to hold the image. For example the kernel partition is only 2 MB big by default and a kernel with debugging info compiled-in can often exceed this. It's possible to change the partition layout to enlarge a given partition and shrink other partitions but you have to remember to reflash all partitions whose start offset has changed afterwards. To adjust partitions layout use the ''mtdparts'' [[Bootloader|u-boot command]].<br />
<br />
If in turn you're facing errors in seemingly random places during the flashing of images, most likely the USB hub or cable through which your Neo1973 is connected, is of too poor quality. It is recommended that you always connect the phone directly to the host when using dfu-util.<br />
<br />
If dfu-util reports a message like the following, before it starts flashing:<pre><br />
Resetting USB...<br />
not at least 2 device changes found ?!?<br />
Lost device after RESET?</pre> retry the command - it should work on a second run.<br />
<br />
If dfu-util complains about not being able to program the device while in runtime mode, do the following: while in the boot menu, remove the usb cable and insert it again. Depending on the version of uBoot it should display somewhere in the menu that it is now in DFU mode. Now dfu-util should be able to continue.<br />
<br />
If dfu-util is too slow on Windows, that's a known bug. A suggestion is to run Linux on a virtual box. An full root image 97MB that is 776Mbit, the USB 1.1 on the Neo FreeRunner is capable of either 1.5 Mbit/s (Low-Speed) and 12 Mbit/s (Full-Speed). So flashing it should take less than 9 minutes with low speed and a bit more than a minute with full-speed. Plus transfer overhead, plus decompression on the Neo side.<br />
<br />
Note that any error messages indicate a probable failed transfer, despite latter messages emitted about success, etc.</div>Marko Knöblhttp://openmoko.org/wiki/Dfu-utilDfu-util2010-08-10T21:32:15Z<p>Marko Knöbl: Moving instructions to seperate manuals-page</p>
<hr />
<div>{{Languages|Dfu-util}}<br />
<br />
dfu-util is a program that implements the Host (PC) side of the [[USB DFU]] (Universal Serial Bus Device Firmware Upgrade) protocol.<br />
<br />
In the Openmoko project, we use this program to communicate with our specially enhanced [[bootloader]], which implements the DFU device side.<br />
<br />
Using dfu-util and your smartphone, you can<br />
* transfer and flash [[Partitions|partitions]] in internal [[NAND Flash]].<br />
* transfer anything into RAM<br />
** this can be used for fast development cycles of low-level code such as kernels without flashing them<br />
* read out the current internal NAND [[Partitions|partitions]]<br />
** this is an easy and efficient way of doing full backups of your phone<br />
<br />
== Source Code ==<br />
On Debian and Ubuntu, you'll need libusb-dev:<br />
sudo apt-get install libusb-dev autogen pkg-config autotools-dev autoconf automake<br />
<br />
On Fedora you'll need libusb-devel and libusb-static:<br />
yum install libusb-devel libusb-static<br />
<br />
On Gentoo you can:<br />
emerge -va openmoko-dfu-util<br />
<br />
You can check out and build the latest version of dfu-util using the following subversion commands:<br><br />
svn co https://svn.openmoko.org/trunk/src/host/dfu-util/<br><br />
cd dfu-util<br><br />
./autogen.sh<br><br />
./configure<br><br />
make<br />
<br />
The resulting binary is dfu-util/src/dfu-util.<br />
<br />
== Binaries ==<br />
<br />
Binary packages will be [http://downloads.openmoko.org/distro/releases/Om2008.9/dfu-util made available] as part of the regular Openmoko builds. Currently, there is a dfu-util for Linux/i386.<br />
<br />
You need to make the downloaded file (dfu-util) executable with:<br />
<pre><br />
chmod +x dfu-util<br />
</pre><br />
you can then run it with<br />
<pre><br />
./dfu-util<br />
</pre><br />
see below for full instructions.<br />
<br />
=== Debian ===<br />
[http://packages.debian.org/dfu-util dfu-util 0.0+r4880-1 is packaged] for Debian ''>= lenny'', so can be installed with: <tt>apt-get install dfu-util</tt><br />
<br />
=== Ubuntu ===<br />
[http://packages.ubuntu.com/dfu-util dfu-util 0.0+r4067-3.1 is packaged] for Ubuntu ''>= intrepid (8.10)'', so can be installed with: <tt>apt-get install dfu-util</tt><br />
<br />
=== Slackware ===<br />
[http://downloads.sourceforge.net/slackfr-packs/dfu-util-svn4686-i686-1cfdev12.1.tgz dfu-util is packaged] for '''Slackware''' (12.1), so can be installed with: <tt>pkgtool</tt><br />
<br />
=== Arch Linux ===<br />
[http://aur.archlinux.org/packages.php?ID=21385 dfu-util is packaged] for Arch Linux, so can be installed with makepkg<br />
<br />
=== openSuSE ===<br />
The links below install rpm packaged dfu-util in (open)SuSE :<br />
<br />
[http://software.opensuse.org/ymp/home:worldcitizen/SLE_10/dfu-util.ymp 1-Click Install for SLE 10]<br />
<br />
[http://software.opensuse.org/ymp/home:worldcitizen/SLE_11/dfu-util.ymp 1-Click Install for SLE 11]<br />
<br />
[http://software.opensuse.org/ymp/home:worldcitizen/openSUSE_10.3/dfu-util.ymp 1-Click Install for openSuSE 10.3]<br />
<br />
[http://software.opensuse.org/ymp/home:worldcitizen/openSUSE_11.0/dfu-util.ymp 1-Click Install for openSuSE 11.0]<br />
<br />
[http://software.opensuse.org/ymp/home:worldcitizen/openSUSE_11.1/dfu-util.ymp 1-Click Install for openSuSE 11.1]<br />
<br />
[http://software.opensuse.org/ymp/home:worldcitizen/openSUSE_Factory/dfu-util.ymp 1-Click Install for openSuSE Factory]<br />
<br />
=== CentOS ===<br />
[http://download.opensuse.org/repositories/home:/worldcitizen/CentOS_5/ Centos 5]<br />
<br />
=== Fedora ===<br />
[http://download.opensuse.org/repositories/home:/worldcitizen/Fedora_10/ Fedora 9]<br />
<br />
[http://download.opensuse.org/repositories/home:/worldcitizen/Fedora_10/ Fedora 10]<br />
<br />
=== Mandriva ===<br />
[http://download.opensuse.org/repositories/home:/worldcitizen/Mandriva_2008/ Mandriva 2008]<br />
<br />
[http://download.opensuse.org/repositories/home:/worldcitizen/Mandriva_2009/ Mandriva 2009]<br />
<br />
=== RHEL ===<br />
[http://download.opensuse.org/repositories/home:/worldcitizen/RHEL_5/ RHEL 5]<br />
<br />
=== Gentoo ===<br />
DFU-Util is in the main tree under the name [http://packages.gentoo.org/package/app-mobilephone/openmoko-dfu-util openmoko-dfu-util].<br />
<br />
=== Windows ===<br />
Currently, there is a largely untested binary for Win32 (see [[Dfu-util-windows]]). Windows users can refer to [[No_Linux]] for a more tested approach.<br />
<br />
=== Mac ===<br />
Compiling dfu-util on Mac:<br />
* http://lists.openmoko.org/pipermail/community/2007-July/008438.html<br />
* [[User:SNMoore]]<br />
* [[MacOS_X#Flashing_to_your_device]]<br />
* [http://www.handheld-linux.com/wiki.php?page=Openmoko%20Flasher Openmoko Flasher] has a precompiled binary in the App bundle<br />
<br />
== Manual ==<br />
<br />
See [[Manuals/Dfu-util]]<br />
<br />
== See also ==<br />
*[[Flashing the Neo 1973]]<br />
*[[Flashing the Neo FreeRunner]]<br />
<br />
[[Category:Flashing Openmoko]]</div>Marko Knöblhttp://openmoko.org/wiki/Dfu-utilDfu-util2010-08-10T21:27:47Z<p>Marko Knöbl: removing outdated warnings</p>
<hr />
<div>{{Languages|Dfu-util}}<br />
<br />
dfu-util is a program that implements the Host (PC) side of the [[USB DFU]] (Universal Serial Bus Device Firmware Upgrade) protocol.<br />
<br />
In the Openmoko project, we use this program to communicate with our specially enhanced [[bootloader]], which implements the DFU device side.<br />
<br />
Using dfu-util and your smartphone, you can<br />
* transfer and flash [[Partitions|partitions]] in internal [[NAND Flash]].<br />
* transfer anything into RAM<br />
** this can be used for fast development cycles of low-level code such as kernels without flashing them<br />
* read out the current internal NAND [[Partitions|partitions]]<br />
** this is an easy and efficient way of doing full backups of your phone<br />
<br />
== Source Code ==<br />
On Debian and Ubuntu, you'll need libusb-dev:<br />
sudo apt-get install libusb-dev autogen pkg-config autotools-dev autoconf automake<br />
<br />
On Fedora you'll need libusb-devel and libusb-static:<br />
yum install libusb-devel libusb-static<br />
<br />
On Gentoo you can:<br />
emerge -va openmoko-dfu-util<br />
<br />
You can check out and build the latest version of dfu-util using the following subversion commands:<br><br />
svn co https://svn.openmoko.org/trunk/src/host/dfu-util/<br><br />
cd dfu-util<br><br />
./autogen.sh<br><br />
./configure<br><br />
make<br />
<br />
The resulting binary is dfu-util/src/dfu-util.<br />
<br />
== Binaries ==<br />
<br />
Binary packages will be [http://downloads.openmoko.org/distro/releases/Om2008.9/dfu-util made available] as part of the regular Openmoko builds. Currently, there is a dfu-util for Linux/i386.<br />
<br />
You need to make the downloaded file (dfu-util) executable with:<br />
<pre><br />
chmod +x dfu-util<br />
</pre><br />
you can then run it with<br />
<pre><br />
./dfu-util<br />
</pre><br />
see below for full instructions.<br />
<br />
=== Debian ===<br />
[http://packages.debian.org/dfu-util dfu-util 0.0+r4880-1 is packaged] for Debian ''>= lenny'', so can be installed with: <tt>apt-get install dfu-util</tt><br />
<br />
=== Ubuntu ===<br />
[http://packages.ubuntu.com/dfu-util dfu-util 0.0+r4067-3.1 is packaged] for Ubuntu ''>= intrepid (8.10)'', so can be installed with: <tt>apt-get install dfu-util</tt><br />
<br />
=== Slackware ===<br />
[http://downloads.sourceforge.net/slackfr-packs/dfu-util-svn4686-i686-1cfdev12.1.tgz dfu-util is packaged] for '''Slackware''' (12.1), so can be installed with: <tt>pkgtool</tt><br />
<br />
=== Arch Linux ===<br />
[http://aur.archlinux.org/packages.php?ID=21385 dfu-util is packaged] for Arch Linux, so can be installed with makepkg<br />
<br />
=== openSuSE ===<br />
The links below install rpm packaged dfu-util in (open)SuSE :<br />
<br />
[http://software.opensuse.org/ymp/home:worldcitizen/SLE_10/dfu-util.ymp 1-Click Install for SLE 10]<br />
<br />
[http://software.opensuse.org/ymp/home:worldcitizen/SLE_11/dfu-util.ymp 1-Click Install for SLE 11]<br />
<br />
[http://software.opensuse.org/ymp/home:worldcitizen/openSUSE_10.3/dfu-util.ymp 1-Click Install for openSuSE 10.3]<br />
<br />
[http://software.opensuse.org/ymp/home:worldcitizen/openSUSE_11.0/dfu-util.ymp 1-Click Install for openSuSE 11.0]<br />
<br />
[http://software.opensuse.org/ymp/home:worldcitizen/openSUSE_11.1/dfu-util.ymp 1-Click Install for openSuSE 11.1]<br />
<br />
[http://software.opensuse.org/ymp/home:worldcitizen/openSUSE_Factory/dfu-util.ymp 1-Click Install for openSuSE Factory]<br />
<br />
=== CentOS ===<br />
[http://download.opensuse.org/repositories/home:/worldcitizen/CentOS_5/ Centos 5]<br />
<br />
=== Fedora ===<br />
[http://download.opensuse.org/repositories/home:/worldcitizen/Fedora_10/ Fedora 9]<br />
<br />
[http://download.opensuse.org/repositories/home:/worldcitizen/Fedora_10/ Fedora 10]<br />
<br />
=== Mandriva ===<br />
[http://download.opensuse.org/repositories/home:/worldcitizen/Mandriva_2008/ Mandriva 2008]<br />
<br />
[http://download.opensuse.org/repositories/home:/worldcitizen/Mandriva_2009/ Mandriva 2009]<br />
<br />
=== RHEL ===<br />
[http://download.opensuse.org/repositories/home:/worldcitizen/RHEL_5/ RHEL 5]<br />
<br />
=== Gentoo ===<br />
DFU-Util is in the main tree under the name [http://packages.gentoo.org/package/app-mobilephone/openmoko-dfu-util openmoko-dfu-util].<br />
<br />
=== Windows ===<br />
Currently, there is a largely untested binary for Win32 (see [[Dfu-util-windows]]). Windows users can refer to [[No_Linux]] for a more tested approach.<br />
<br />
=== Mac ===<br />
Compiling dfu-util on Mac:<br />
* http://lists.openmoko.org/pipermail/community/2007-July/008438.html<br />
* [[User:SNMoore]]<br />
* [[MacOS_X#Flashing_to_your_device]]<br />
* [http://www.handheld-linux.com/wiki.php?page=Openmoko%20Flasher Openmoko Flasher] has a precompiled binary in the App bundle<br />
<br />
== Reference Documentation ==<br />
<br />
To run dfu-util, you need to have /proc/bus/usb mounted and working. The terminal command "ls /proc/bus/usb" should return something similar to, "001 002 003 004 005 devices", it shouldn't be empty. If it is empty, use this command:<br />
<br />
<pre><br />
sudo mount -t usbfs usbfs /proc/bus/usb<br />
</pre><br />
<br />
You can permanently add it in your fstab so that it automatically mounts. You can use emacs to edit you fstab using the command "sudo emacs /etc/fstab -nw" in your terminal window. Add the below line to your fstab:<br />
<br />
<pre><br />
usbfs /proc/bus/usb usbfs defaults<br />
</pre><br />
<br />
<br />
=== Before using dfu-util ===<br />
You'll need to boot your phone into the NOR Boot Menu:<br />
* Ensure your phone is connected directly to the host computer by USB (not the USB-charger! :)<br />
* Ensure that you execute all dfu-util commands as root<br />
* Power off the phone<br />
* Hold down AUX<br />
* Press POWER and hold it<br />
* Release AUX, hold POWER until you see the menu<br />
* Connect your Neo to your computer directly (Using a hub in between could cause problems with the hub and the usb reset)<br />
see also [[Booting the Neo FreeRunner]]<br />
<br />
Note: Some myth existed that dfu-util is not worked with sudo. This is not true of course. It is working from both sudo and su sessions. --[[User:Gena2x|Gena2x]] 12:30, 20 July 2010 (UTC)<br />
<br />
=== Command-line options ===<br />
<br />
==== --help ====<br />
<br />
<pre><br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Usage: dfu-util [options] ...<br />
-h --help Print this help message<br />
-V --version Print the version number<br />
-l --list List the currently attached DFU capable USB devices<br />
-d --device vendor:product Specify Vendor/Product ID of DFU device<br />
-c --cfg config_nr Specify the Configuration of DFU device<br />
-i --intf intf_nr Specify the DFU Interface number<br />
-a --alt alt_nr Specify the Altseting of the DFU Interface<br />
-t --transfer-size Specify the number of bytes per USB Transfer<br />
-U --upload file Read firmware from device into <file><br />
-D --download file Write firmware from <file> into device<br />
-R --reset Issue USB Reset signalling once we're finished<br />
</pre><br />
<br />
==== --alt ====<br />
With the -a switch you specify the location on the device you want to write to or read from.<br />
However, for most cases, ''kernel'' and ''rootfs'' will be enough.<br />
<br />
See [[partitions]] for a list. You may also use the ''--list'' switch (see below), to get an online list.<br />
<br />
==== --list ====<br />
<br />
Using the --list option, you can list the available DFU capable devices, their configuration, interface and altsettings.<br />
Below is an example for a current Neo1973 phone in u-boot '''Runtime Mode'''<br />
<pre><br />
# ./dfu-util --list<br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Found DFU Runtime: [0x1457:0x5119] devnum=0, cfg=0, intf=2, alt=0, name="USB Device Firmware Upgrade"<br />
</pre><br />
<br />
Below is an example for a current Neo1973 phone in u-boot '''DFU Mode'''<br />
<pre><br />
# ./dfu-util --list<br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=0, name="RAM 0x32000000"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=1, name="u-boot"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=2, name="u-boot_env"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=3, name="kernel"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=4, name="splash"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=5, name="rootfs"<br />
</pre><br />
<br />
This shows you six interfaces, all in '''configuration 0''' and '''interface 0''', with altsetting 0...5, for RAM and each [[Partitions|partition]].<br />
<br />
==== --device ====<br />
<br />
You can specify the USB Vendor and Product ID of the device you want to program:<br />
<br />
dfu-util --device 0x1457:0x5119<br />
<br />
If you only have one standards-compliant DFU device attached to your PC, this is optional. However, as soon as you have multiple DFU devices, dfu-util will detect this and abort, asking you to specify which device it shall use.<br />
<br />
==== --transfer-size ====<br />
<br />
Specifies the size of each individual USB transfer. If you don't use it, the maximum possible size for your combination of host operating system and USB device is chosen (for optimal performance).<br />
<br />
==== --download ====<br />
<br />
download the given file into the device.<br />
<br />
==== --upload ====<br />
<br />
upload from the DFU device into the given file[name].<br />
<br />
{{note|Upload support is currently broken - [http://docs.openmoko.org/trac/ticket/676 #676]}}<br />
<br />
== Phrasebook ==<br />
<br />
There's no full-fledged manual yet. Instead, some examples:<br />
<br />
=== Flashing the rootfs ===<br />
<br />
dfu-util -a rootfs -R -D /path/to/openmoko-devel-image.jffs2<br />
<br />
=== Flashing the kernel ===<br />
<br />
dfu-util -a kernel -R -D /path/to/uImage<br />
<br />
=== Flashing the bootloader ===<br />
<br />
dfu-util -a u-boot -R -D /path/to/u-boot.bin<br />
<br />
=== Flashing the splash image ===<br />
<br />
dfu-util -a splash -R -D /path/to/splash.gz<br />
<br />
see also [[Configuring_the_boot_splash_screens]]<br />
<br />
=== Copying a kernel into RAM ===<br />
<br />
dfu-util -a 0 -R -D /path/to/uImage<br />
<br />
Once this has finished, the kernel will be available at the default load address of 0x32000000 in Neo1973 RAM.<br />
<br />
{{note|You cannot transfer more than 2MB of data into RAM using this method}}<br />
<br />
== Troubleshooting notes ==<br />
<br />
If during flashing of an image using dfu-util you're consistently getting an error -110 message, check that the size of the destination NAND [[Partitions|partition]] is big enough to hold the image. For example the kernel partition is only 2 MB big by default and a kernel with debugging info compiled-in can often exceed this. It's possible to change the partition layout to enlarge a given partition and shrink other partitions but you have to remember to reflash all partitions whose start offset has changed afterwards. To adjust partitions layout use the ''mtdparts'' [[Bootloader|u-boot command]].<br />
<br />
If in turn you're facing errors in seemingly random places during the flashing of images, most likely the USB hub or cable through which your Neo1973 is connected, is of too poor quality. It is recommended that you always connect the phone directly to the host when using dfu-util.<br />
<br />
If dfu-util reports a message like the following, before it starts flashing:<pre><br />
Resetting USB...<br />
not at least 2 device changes found ?!?<br />
Lost device after RESET?</pre> retry the command - it should work on a second run.<br />
<br />
If dfu-util complains about not being able to program the device while in runtime mode, do the following: while in the boot menu, remove the usb cable and insert it again. Depending on the version of uBoot it should display somewhere in the menu that it is now in DFU mode. Now dfu-util should be able to continue.<br />
<br />
If dfu-util is too slow on Windows, that's a known bug. A suggestion is to run Linux on a virtual box. An full root image 97MB that is 776Mbit, the USB 1.1 on the Neo FreeRunner is capable of either 1.5 Mbit/s (Low-Speed) and 12 Mbit/s (Full-Speed). So flashing it should take less than 9 minutes with low speed and a bit more than a minute with full-speed. Plus transfer overhead, plus decompression on the Neo side.<br />
<br />
Note that any error messages indicate a probable failed transfer, despite latter messages emitted about success, etc.<br />
<br />
== See also ==<br />
*[[Flashing the Neo 1973]]<br />
*[[Flashing the Neo FreeRunner]]<br />
<br />
[[Category:Flashing Openmoko]]</div>Marko Knöblhttp://openmoko.org/wiki/Dfu-utilDfu-util2010-08-10T21:27:14Z<p>Marko Knöbl: Moving section on the purpose of this program to the beginning of this page</p>
<hr />
<div>{{Languages|Dfu-util}}<br />
<br />
{{warning|Do not flash U-Boot unless you are sure you need to}}<br />
{{note|Older versions of Dfu-util are broken on [http://en.wikipedia.org/wiki/Big_endian#Endianness_and_hardware big-endian] architectures. Make sure you're using SVN version r4696 or newer (7 Octcober 2008) if you're not on i386-32.}}<br />
<br />
dfu-util is a program that implements the Host (PC) side of the [[USB DFU]] (Universal Serial Bus Device Firmware Upgrade) protocol.<br />
<br />
In the Openmoko project, we use this program to communicate with our specially enhanced [[bootloader]], which implements the DFU device side.<br />
<br />
Using dfu-util and your smartphone, you can<br />
* transfer and flash [[Partitions|partitions]] in internal [[NAND Flash]].<br />
* transfer anything into RAM<br />
** this can be used for fast development cycles of low-level code such as kernels without flashing them<br />
* read out the current internal NAND [[Partitions|partitions]]<br />
** this is an easy and efficient way of doing full backups of your phone<br />
<br />
== Source Code ==<br />
On Debian and Ubuntu, you'll need libusb-dev:<br />
sudo apt-get install libusb-dev autogen pkg-config autotools-dev autoconf automake<br />
<br />
On Fedora you'll need libusb-devel and libusb-static:<br />
yum install libusb-devel libusb-static<br />
<br />
On Gentoo you can:<br />
emerge -va openmoko-dfu-util<br />
<br />
You can check out and build the latest version of dfu-util using the following subversion commands:<br><br />
svn co https://svn.openmoko.org/trunk/src/host/dfu-util/<br><br />
cd dfu-util<br><br />
./autogen.sh<br><br />
./configure<br><br />
make<br />
<br />
The resulting binary is dfu-util/src/dfu-util.<br />
<br />
== Binaries ==<br />
<br />
Binary packages will be [http://downloads.openmoko.org/distro/releases/Om2008.9/dfu-util made available] as part of the regular Openmoko builds. Currently, there is a dfu-util for Linux/i386.<br />
<br />
You need to make the downloaded file (dfu-util) executable with:<br />
<pre><br />
chmod +x dfu-util<br />
</pre><br />
you can then run it with<br />
<pre><br />
./dfu-util<br />
</pre><br />
see below for full instructions.<br />
<br />
=== Debian ===<br />
[http://packages.debian.org/dfu-util dfu-util 0.0+r4880-1 is packaged] for Debian ''>= lenny'', so can be installed with: <tt>apt-get install dfu-util</tt><br />
<br />
=== Ubuntu ===<br />
[http://packages.ubuntu.com/dfu-util dfu-util 0.0+r4067-3.1 is packaged] for Ubuntu ''>= intrepid (8.10)'', so can be installed with: <tt>apt-get install dfu-util</tt><br />
<br />
=== Slackware ===<br />
[http://downloads.sourceforge.net/slackfr-packs/dfu-util-svn4686-i686-1cfdev12.1.tgz dfu-util is packaged] for '''Slackware''' (12.1), so can be installed with: <tt>pkgtool</tt><br />
<br />
=== Arch Linux ===<br />
[http://aur.archlinux.org/packages.php?ID=21385 dfu-util is packaged] for Arch Linux, so can be installed with makepkg<br />
<br />
=== openSuSE ===<br />
The links below install rpm packaged dfu-util in (open)SuSE :<br />
<br />
[http://software.opensuse.org/ymp/home:worldcitizen/SLE_10/dfu-util.ymp 1-Click Install for SLE 10]<br />
<br />
[http://software.opensuse.org/ymp/home:worldcitizen/SLE_11/dfu-util.ymp 1-Click Install for SLE 11]<br />
<br />
[http://software.opensuse.org/ymp/home:worldcitizen/openSUSE_10.3/dfu-util.ymp 1-Click Install for openSuSE 10.3]<br />
<br />
[http://software.opensuse.org/ymp/home:worldcitizen/openSUSE_11.0/dfu-util.ymp 1-Click Install for openSuSE 11.0]<br />
<br />
[http://software.opensuse.org/ymp/home:worldcitizen/openSUSE_11.1/dfu-util.ymp 1-Click Install for openSuSE 11.1]<br />
<br />
[http://software.opensuse.org/ymp/home:worldcitizen/openSUSE_Factory/dfu-util.ymp 1-Click Install for openSuSE Factory]<br />
<br />
=== CentOS ===<br />
[http://download.opensuse.org/repositories/home:/worldcitizen/CentOS_5/ Centos 5]<br />
<br />
=== Fedora ===<br />
[http://download.opensuse.org/repositories/home:/worldcitizen/Fedora_10/ Fedora 9]<br />
<br />
[http://download.opensuse.org/repositories/home:/worldcitizen/Fedora_10/ Fedora 10]<br />
<br />
=== Mandriva ===<br />
[http://download.opensuse.org/repositories/home:/worldcitizen/Mandriva_2008/ Mandriva 2008]<br />
<br />
[http://download.opensuse.org/repositories/home:/worldcitizen/Mandriva_2009/ Mandriva 2009]<br />
<br />
=== RHEL ===<br />
[http://download.opensuse.org/repositories/home:/worldcitizen/RHEL_5/ RHEL 5]<br />
<br />
=== Gentoo ===<br />
DFU-Util is in the main tree under the name [http://packages.gentoo.org/package/app-mobilephone/openmoko-dfu-util openmoko-dfu-util].<br />
<br />
=== Windows ===<br />
Currently, there is a largely untested binary for Win32 (see [[Dfu-util-windows]]). Windows users can refer to [[No_Linux]] for a more tested approach.<br />
<br />
=== Mac ===<br />
Compiling dfu-util on Mac:<br />
* http://lists.openmoko.org/pipermail/community/2007-July/008438.html<br />
* [[User:SNMoore]]<br />
* [[MacOS_X#Flashing_to_your_device]]<br />
* [http://www.handheld-linux.com/wiki.php?page=Openmoko%20Flasher Openmoko Flasher] has a precompiled binary in the App bundle<br />
<br />
== Reference Documentation ==<br />
<br />
To run dfu-util, you need to have /proc/bus/usb mounted and working. The terminal command "ls /proc/bus/usb" should return something similar to, "001 002 003 004 005 devices", it shouldn't be empty. If it is empty, use this command:<br />
<br />
<pre><br />
sudo mount -t usbfs usbfs /proc/bus/usb<br />
</pre><br />
<br />
You can permanently add it in your fstab so that it automatically mounts. You can use emacs to edit you fstab using the command "sudo emacs /etc/fstab -nw" in your terminal window. Add the below line to your fstab:<br />
<br />
<pre><br />
usbfs /proc/bus/usb usbfs defaults<br />
</pre><br />
<br />
<br />
=== Before using dfu-util ===<br />
You'll need to boot your phone into the NOR Boot Menu:<br />
* Ensure your phone is connected directly to the host computer by USB (not the USB-charger! :)<br />
* Ensure that you execute all dfu-util commands as root<br />
* Power off the phone<br />
* Hold down AUX<br />
* Press POWER and hold it<br />
* Release AUX, hold POWER until you see the menu<br />
* Connect your Neo to your computer directly (Using a hub in between could cause problems with the hub and the usb reset)<br />
see also [[Booting the Neo FreeRunner]]<br />
<br />
Note: Some myth existed that dfu-util is not worked with sudo. This is not true of course. It is working from both sudo and su sessions. --[[User:Gena2x|Gena2x]] 12:30, 20 July 2010 (UTC)<br />
<br />
=== Command-line options ===<br />
<br />
==== --help ====<br />
<br />
<pre><br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Usage: dfu-util [options] ...<br />
-h --help Print this help message<br />
-V --version Print the version number<br />
-l --list List the currently attached DFU capable USB devices<br />
-d --device vendor:product Specify Vendor/Product ID of DFU device<br />
-c --cfg config_nr Specify the Configuration of DFU device<br />
-i --intf intf_nr Specify the DFU Interface number<br />
-a --alt alt_nr Specify the Altseting of the DFU Interface<br />
-t --transfer-size Specify the number of bytes per USB Transfer<br />
-U --upload file Read firmware from device into <file><br />
-D --download file Write firmware from <file> into device<br />
-R --reset Issue USB Reset signalling once we're finished<br />
</pre><br />
<br />
==== --alt ====<br />
With the -a switch you specify the location on the device you want to write to or read from.<br />
However, for most cases, ''kernel'' and ''rootfs'' will be enough.<br />
<br />
See [[partitions]] for a list. You may also use the ''--list'' switch (see below), to get an online list.<br />
<br />
==== --list ====<br />
<br />
Using the --list option, you can list the available DFU capable devices, their configuration, interface and altsettings.<br />
Below is an example for a current Neo1973 phone in u-boot '''Runtime Mode'''<br />
<pre><br />
# ./dfu-util --list<br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Found DFU Runtime: [0x1457:0x5119] devnum=0, cfg=0, intf=2, alt=0, name="USB Device Firmware Upgrade"<br />
</pre><br />
<br />
Below is an example for a current Neo1973 phone in u-boot '''DFU Mode'''<br />
<pre><br />
# ./dfu-util --list<br />
dfu-util - (C) 2007 by Openmoko Inc.<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=0, name="RAM 0x32000000"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=1, name="u-boot"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=2, name="u-boot_env"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=3, name="kernel"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=4, name="splash"<br />
Found DFU: [0x1457:0x5119] devnum=16, cfg=0, intf=0, alt=5, name="rootfs"<br />
</pre><br />
<br />
This shows you six interfaces, all in '''configuration 0''' and '''interface 0''', with altsetting 0...5, for RAM and each [[Partitions|partition]].<br />
<br />
==== --device ====<br />
<br />
You can specify the USB Vendor and Product ID of the device you want to program:<br />
<br />
dfu-util --device 0x1457:0x5119<br />
<br />
If you only have one standards-compliant DFU device attached to your PC, this is optional. However, as soon as you have multiple DFU devices, dfu-util will detect this and abort, asking you to specify which device it shall use.<br />
<br />
==== --transfer-size ====<br />
<br />
Specifies the size of each individual USB transfer. If you don't use it, the maximum possible size for your combination of host operating system and USB device is chosen (for optimal performance).<br />
<br />
==== --download ====<br />
<br />
download the given file into the device.<br />
<br />
==== --upload ====<br />
<br />
upload from the DFU device into the given file[name].<br />
<br />
{{note|Upload support is currently broken - [http://docs.openmoko.org/trac/ticket/676 #676]}}<br />
<br />
== Phrasebook ==<br />
<br />
There's no full-fledged manual yet. Instead, some examples:<br />
<br />
=== Flashing the rootfs ===<br />
<br />
dfu-util -a rootfs -R -D /path/to/openmoko-devel-image.jffs2<br />
<br />
=== Flashing the kernel ===<br />
<br />
dfu-util -a kernel -R -D /path/to/uImage<br />
<br />
=== Flashing the bootloader ===<br />
<br />
dfu-util -a u-boot -R -D /path/to/u-boot.bin<br />
<br />
=== Flashing the splash image ===<br />
<br />
dfu-util -a splash -R -D /path/to/splash.gz<br />
<br />
see also [[Configuring_the_boot_splash_screens]]<br />
<br />
=== Copying a kernel into RAM ===<br />
<br />
dfu-util -a 0 -R -D /path/to/uImage<br />
<br />
Once this has finished, the kernel will be available at the default load address of 0x32000000 in Neo1973 RAM.<br />
<br />
{{note|You cannot transfer more than 2MB of data into RAM using this method}}<br />
<br />
== Troubleshooting notes ==<br />
<br />
If during flashing of an image using dfu-util you're consistently getting an error -110 message, check that the size of the destination NAND [[Partitions|partition]] is big enough to hold the image. For example the kernel partition is only 2 MB big by default and a kernel with debugging info compiled-in can often exceed this. It's possible to change the partition layout to enlarge a given partition and shrink other partitions but you have to remember to reflash all partitions whose start offset has changed afterwards. To adjust partitions layout use the ''mtdparts'' [[Bootloader|u-boot command]].<br />
<br />
If in turn you're facing errors in seemingly random places during the flashing of images, most likely the USB hub or cable through which your Neo1973 is connected, is of too poor quality. It is recommended that you always connect the phone directly to the host when using dfu-util.<br />
<br />
If dfu-util reports a message like the following, before it starts flashing:<pre><br />
Resetting USB...<br />
not at least 2 device changes found ?!?<br />
Lost device after RESET?</pre> retry the command - it should work on a second run.<br />
<br />
If dfu-util complains about not being able to program the device while in runtime mode, do the following: while in the boot menu, remove the usb cable and insert it again. Depending on the version of uBoot it should display somewhere in the menu that it is now in DFU mode. Now dfu-util should be able to continue.<br />
<br />
If dfu-util is too slow on Windows, that's a known bug. A suggestion is to run Linux on a virtual box. An full root image 97MB that is 776Mbit, the USB 1.1 on the Neo FreeRunner is capable of either 1.5 Mbit/s (Low-Speed) and 12 Mbit/s (Full-Speed). So flashing it should take less than 9 minutes with low speed and a bit more than a minute with full-speed. Plus transfer overhead, plus decompression on the Neo side.<br />
<br />
Note that any error messages indicate a probable failed transfer, despite latter messages emitted about success, etc.<br />
<br />
== See also ==<br />
*[[Flashing the Neo 1973]]<br />
*[[Flashing the Neo FreeRunner]]<br />
<br />
[[Category:Flashing Openmoko]]</div>Marko Knöblhttp://openmoko.org/wiki/Wiki_IssuesWiki Issues2010-08-10T17:39:12Z<p>Marko Knöbl: /* Pages proposed for deletion */</p>
<hr />
<div>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. <br />
<br />
When adding an issue please<br />
<br />
* Provide a reason<br />
* Provide your name as vote for the action to be taken (you can automatically enter your username by typing "<br />
<nowiki>~~~</nowiki> ")<br />
<br />
{{Warning|Comments without name might be deleted without consideration. We may need to ask for more information before implementing a proposal. Thanks for understanding.}}<br />
<br />
Accepted and implemented requests should be deleted. Rejected requests should be moved to the bottom of the page to avoid requesting them again.<br />
<br />
==Wiki Pages==<br />
<br />
I think that we should use specific "editor's notes templates" 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)<br />
<br />
===Pages capable of development===<br />
* [[Community Resources]]<br />
* [[AR6K]] (Needs more info)<br />
* [[GTA02 partitions]]: seems to be about the GTA01; could someone with a GTA02 please correct the partition sizes and names?<br />
* [[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]]<br />
<br />
===Redundant Pages===<br />
* There are several pages concerning Openmoko compatible service providers:<br />
** [[Carriers]], most up-to-date, confirmed service providers.<br />
*** [[Carriers/ATT]]<br />
*** [[Carriers/TMobile]]<br />
*** [[Carriers/Fido]]<br />
*** [[Carriers/Rogers]]<br />
** [[Neo1973 compatible cellphone providers]]<br />
<br />
*I suggest merging the editing help pages:<br />
**[[Help:Editing]]<br />
**[[Edit Wiki]]<br />
<br />
*pages about GPS:<br />
**[[Hardware:AGPS]]<br />
**[[Gpsd]]<br />
**[[Neo 1973 GPS]]<br />
**[[Neo FreeRunner GPS]]<br />
<br />
*applications:<br />
**[[Applications]]<br />
**[[Om 2007.2 Applications]]<br />
<br />
===Tidy up===<br />
* [[Wishlist:Text Input]] - tidy up/sort, give short feedback to each method<br />
* [[Booting_from_SD]] - tidy up and a rewrite<br />
<br />
=== Pages proposed for deletion ===<br />
<br />
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. Old discussions are archived to [[Wiki Issues/archive]].<br />
<br />
==== [[gsmd]] ====<br />
<br />
Outdated (according to Mickey), not updated for over a year --[[User:Marko Knöbl|Marko Knöbl]]<br />
:I vote "yes", if it is for sure, not used anymore.How can we check it?-[[User:Leadman|LeadMan]]<br />
<br />
==== [[Group sales]] ====<br />
<br />
This page is not used anymore: the last time someone entered his name to the list was 1 January 2010. --[[User:Marko Knöbl|Marko Knöbl]] 17:37, 10 August 2010 (UTC)<br />
<br />
=== Pages that especially need work ===<br />
<br />
* [[Special:Lonelypages]] - Orphaned pages<br />
* [[Special:DoubleRedirects]] - Pages that redirect to a redirected page<br />
* [[Special:Popularpages]] - Pages that get viewed a lot<br />
* [[Special:Ancientpages]] - Old pages<br />
* [[Special:Newpages]] - New pages<br />
* [[Special:Wantedpages]] - Wanted pages<br />
* [[Special:Uncategorizedpages]]<br />
* [[Special:Shortpages]] - Informationally light pages<br />
* [[Special:BrokenRedirects]] - Broken redirects<br />
<br />
=== Application pages ===<br />
<br />
Maturity level ideas from the documentation list copied by [[User:Kempelen|Kempelen]] 19:05, 1 October 2008 (UTC):<br />
<br />
* It might be nice to have a single word stating the code maturity, perhaps only 3 simple options like prototype, functional, mature<br />
* Why not stick with pre-alpha, alpha, beta, stable, mature<br />
<br />
Decision postponed. :-) (Feel free to vote here anyway.)<br />
<br />
== Categories ==<br />
<br />
{{Main|:Category talk:Categories}}<br />
<br />
== CSS ==<br />
<br />
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.<br />
Reference: http://en.wikipedia.org/wiki/Help:Monobook<br />
[[User:MinhHaDuong|MinhHaDuong]] 12:26, 12 September 2008 (UTC).<br />
<br />
* The gutter is too wide<br />
* Too much footer's padding<br />
* Could shave 1 or 2 em of vertical space in the header<br />
* The tabbed navigation layout is non-standard (no framing effect)<br />
* The search box is below the fold (depends on window height of course)<br />
* The toolbox (bottom left) has no border<br />
* Mediawiki's user personal toolbox is prohibited<br />
* Too many links in the navbar that belongs to the home page but not to every page<br />
<br />
== Portals ==<br />
<br />
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)<br />
<br />
== Navigation templates ==<br />
<br />
(FYI Description moved to [[Openmoko_Wiki_Editing_Guidelines#Navigation_templates]], [[User:Kempelen|Kempelen]])<br />
<br />
* The [[Distributions]] page feature a non-templated navigation box<br />
* We should name these templates distinctly. I suggest using a prefix like "NavBox:".<br />
* Visual design is by hand (not CSS), and not beautiful<br />
* Need to test positioning at bottom of article.<br />
<br />
'''References'''<br />
<br />
http://en.wikipedia.org/wiki/Wikipedia:Navigation_templates<br />
http://en.wikipedia.org/wiki/Wikipedia:Categories,_lists,_and_series_boxes<br />
<br />
[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)<br />
<br />
* '''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!)<br />
<br />
== DolfjeBot1 proposals ==<br />
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]].<br />
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.<br />
<br />
== Wiki engine issues ==<br />
<br />
Can we please install/fix the following features for this wiki:<br />
* '''Math''' - the Tex math markup does not work currently. Test:<br />
** <math> z =\left (1-\left(\frac{P_{ind}}{101.325}\right)^{0.190263} \right ) \times \frac{87.828}{0.00198122} </math><br />
** <math> P_{ind} </math><br />
* [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi '''Syntax''' Highlighting - makes code much more readable]<br />
: Report to Openmoko IT on 26,Dec 2008. You can check https://admin-trac.openmoko.org/trac/ticket/1695 for detail.<br />
* [http://www.mediawiki.org/wiki/Extension:GraphViz GraphViz] works with the commonly known dot language - it allows us to draw '''graphs''' using easy markup.<br />
* [http://www.mediawiki.org/wiki/Extension:AnyWikiDraw AnyWikiDraw] allows us to draw svg '''diagrams''' directly on the wiki page.<br />
* Make '''visited links''' a different color.<br />
** Sysop should edit [[MediaWiki:Common.css|this page]]<br />
* Updating MediaWiki to [http://download.wikimedia.org/mediawiki/1.15/mediawiki-1.15.1.tar.gz v. 15.1]<br />
* 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] --<small style="background:#f00">'''[[User:Airon90|<span style="color:#000">→ A</span>]][[Special:Contributions/Airon90|<span style="color:#f00;background:#000">ir</span>]][[User talk:Airon90|<span style="color:#000">on</span>]]'''</small> 21:19, 22 February 2010 (UTC)<br />
<br />
== Change Sitename ==<br />
<br />
The name of this wiki is currently "Openmoko". I think it should be "Openmoko Wiki" for the following reasons:<br />
<br />
* The other parts of this site (Planet, Projects, Docs) have similar names<br />
* Media Wiki automatically creates a [http://www.mediawiki.org/wiki/Manual:Namespace namespace] for the Sitename (currently "Openmoko"). This means that content of pages beginning with "Openmoko:" 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)<br />
<br />
'''Yes votes''': [[User:Marko Knöbl|Marko Knöbl]], [[User:MinhHaDuong|Minh]]<br />
<br />
'''No votes''':<br />
<br />
::OpenmokoIT still do some research now. [[User:Coolcat|coolcat]]<br />
<br />
::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)<br />
<br />
== Organize translations ==<br />
<br />
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)<br />
<br />
+1. See issues and solutions for a multilingual mediawiki at:<br />
http://www.mediawiki.org/wiki/Multilingual_MediaWiki<br />
Also, the correspondence between translation should be maintained with tags:<br />
http://en.wikipedia.org/wiki/Help:Interlanguage_links<br />
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)<br />
<br />
After discussion on the Documentation ML, sub-wikis are out. We want to try namespaces. [[User:MinhHaDuong|MinhHaDuong]] 09:31, 7 October 2008 (UTC)<br />
<br />
== Downloads ==<br />
<br />
=== Symlinks in download directories ===<br />
<br />
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]<br />
<br />
=== Improve README.html ===<br />
<br />
Example: http://downloads.openmoko.org/distro/releases/Om2008.9/README.html<br />
<br />
It should at least link to: [[Om_2008.9_Update#Download_and_Flashing]]<br />
<br />
== Rejected requests ==<br />
<br />
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.<br />
<br />
* '''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.<br />
* '''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]]<br />
* '''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)<br />
<br />
[[Category:Wiki Editing]]</div>Marko Knöblhttp://openmoko.org/wiki/Wiki_IssuesWiki Issues2010-08-10T17:37:03Z<p>Marko Knöbl: /* Pages proposed for deletion */</p>
<hr />
<div>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. <br />
<br />
When adding an issue please<br />
<br />
* Provide a reason<br />
* Provide your name as vote for the action to be taken (you can automatically enter your username by typing "<br />
<nowiki>~~~</nowiki> ")<br />
<br />
{{Warning|Comments without name might be deleted without consideration. We may need to ask for more information before implementing a proposal. Thanks for understanding.}}<br />
<br />
Accepted and implemented requests should be deleted. Rejected requests should be moved to the bottom of the page to avoid requesting them again.<br />
<br />
==Wiki Pages==<br />
<br />
I think that we should use specific "editor's notes templates" 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)<br />
<br />
===Pages capable of development===<br />
* [[Community Resources]]<br />
* [[AR6K]] (Needs more info)<br />
* [[GTA02 partitions]]: seems to be about the GTA01; could someone with a GTA02 please correct the partition sizes and names?<br />
* [[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]]<br />
<br />
===Redundant Pages===<br />
* There are several pages concerning Openmoko compatible service providers:<br />
** [[Carriers]], most up-to-date, confirmed service providers.<br />
*** [[Carriers/ATT]]<br />
*** [[Carriers/TMobile]]<br />
*** [[Carriers/Fido]]<br />
*** [[Carriers/Rogers]]<br />
** [[Neo1973 compatible cellphone providers]]<br />
<br />
*I suggest merging the editing help pages:<br />
**[[Help:Editing]]<br />
**[[Edit Wiki]]<br />
<br />
*pages about GPS:<br />
**[[Hardware:AGPS]]<br />
**[[Gpsd]]<br />
**[[Neo 1973 GPS]]<br />
**[[Neo FreeRunner GPS]]<br />
<br />
*applications:<br />
**[[Applications]]<br />
**[[Om 2007.2 Applications]]<br />
<br />
===Tidy up===<br />
* [[Wishlist:Text Input]] - tidy up/sort, give short feedback to each method<br />
* [[Booting_from_SD]] - tidy up and a rewrite<br />
<br />
=== Pages proposed for deletion ===<br />
<br />
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. Old discussions are archived to [[Wiki Issues/archive]].<br />
<br />
====Old proposals====<br />
<br />
These pages were proposed for deletion before the new policy was introduced. Please continue the discussion in the appropriate sections below<br />
<br />
{| border=1 cellspacing=0<br />
!Page<br />
!Reason<br />
!Yes kill it votes<br />
!No keep it votes<br />
|-<br />
| [[gsmd]] || outdated (according to Mickey), not updated for over a year || [[User:Marko Knöbl|Marko Knöbl]],(I vote "yes", if it is for sure, not used anymore.How can we check it?-[[User:Leadman|LeadMan]]) ||<br />
|}<br />
<br />
==== gsmd ====<br />
<br />
==== [[Group sales]] ====<br />
<br />
This page is not used anymore: the last time someone entered his name to the list was 1 January 2010. --[[User:Marko Knöbl|Marko Knöbl]] 17:37, 10 August 2010 (UTC)<br />
<br />
=== Pages that especially need work ===<br />
<br />
* [[Special:Lonelypages]] - Orphaned pages<br />
* [[Special:DoubleRedirects]] - Pages that redirect to a redirected page<br />
* [[Special:Popularpages]] - Pages that get viewed a lot<br />
* [[Special:Ancientpages]] - Old pages<br />
* [[Special:Newpages]] - New pages<br />
* [[Special:Wantedpages]] - Wanted pages<br />
* [[Special:Uncategorizedpages]]<br />
* [[Special:Shortpages]] - Informationally light pages<br />
* [[Special:BrokenRedirects]] - Broken redirects<br />
<br />
=== Application pages ===<br />
<br />
Maturity level ideas from the documentation list copied by [[User:Kempelen|Kempelen]] 19:05, 1 October 2008 (UTC):<br />
<br />
* It might be nice to have a single word stating the code maturity, perhaps only 3 simple options like prototype, functional, mature<br />
* Why not stick with pre-alpha, alpha, beta, stable, mature<br />
<br />
Decision postponed. :-) (Feel free to vote here anyway.)<br />
<br />
== Categories ==<br />
<br />
{{Main|:Category talk:Categories}}<br />
<br />
== CSS ==<br />
<br />
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.<br />
Reference: http://en.wikipedia.org/wiki/Help:Monobook<br />
[[User:MinhHaDuong|MinhHaDuong]] 12:26, 12 September 2008 (UTC).<br />
<br />
* The gutter is too wide<br />
* Too much footer's padding<br />
* Could shave 1 or 2 em of vertical space in the header<br />
* The tabbed navigation layout is non-standard (no framing effect)<br />
* The search box is below the fold (depends on window height of course)<br />
* The toolbox (bottom left) has no border<br />
* Mediawiki's user personal toolbox is prohibited<br />
* Too many links in the navbar that belongs to the home page but not to every page<br />
<br />
== Portals ==<br />
<br />
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)<br />
<br />
== Navigation templates ==<br />
<br />
(FYI Description moved to [[Openmoko_Wiki_Editing_Guidelines#Navigation_templates]], [[User:Kempelen|Kempelen]])<br />
<br />
* The [[Distributions]] page feature a non-templated navigation box<br />
* We should name these templates distinctly. I suggest using a prefix like "NavBox:".<br />
* Visual design is by hand (not CSS), and not beautiful<br />
* Need to test positioning at bottom of article.<br />
<br />
'''References'''<br />
<br />
http://en.wikipedia.org/wiki/Wikipedia:Navigation_templates<br />
http://en.wikipedia.org/wiki/Wikipedia:Categories,_lists,_and_series_boxes<br />
<br />
[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)<br />
<br />
* '''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!)<br />
<br />
== DolfjeBot1 proposals ==<br />
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]].<br />
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.<br />
<br />
== Wiki engine issues ==<br />
<br />
Can we please install/fix the following features for this wiki:<br />
* '''Math''' - the Tex math markup does not work currently. Test:<br />
** <math> z =\left (1-\left(\frac{P_{ind}}{101.325}\right)^{0.190263} \right ) \times \frac{87.828}{0.00198122} </math><br />
** <math> P_{ind} </math><br />
* [http://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi '''Syntax''' Highlighting - makes code much more readable]<br />
: Report to Openmoko IT on 26,Dec 2008. You can check https://admin-trac.openmoko.org/trac/ticket/1695 for detail.<br />
* [http://www.mediawiki.org/wiki/Extension:GraphViz GraphViz] works with the commonly known dot language - it allows us to draw '''graphs''' using easy markup.<br />
* [http://www.mediawiki.org/wiki/Extension:AnyWikiDraw AnyWikiDraw] allows us to draw svg '''diagrams''' directly on the wiki page.<br />
* Make '''visited links''' a different color.<br />
** Sysop should edit [[MediaWiki:Common.css|this page]]<br />
* Updating MediaWiki to [http://download.wikimedia.org/mediawiki/1.15/mediawiki-1.15.1.tar.gz v. 15.1]<br />
* 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] --<small style="background:#f00">'''[[User:Airon90|<span style="color:#000">→ A</span>]][[Special:Contributions/Airon90|<span style="color:#f00;background:#000">ir</span>]][[User talk:Airon90|<span style="color:#000">on</span>]]'''</small> 21:19, 22 February 2010 (UTC)<br />
<br />
== Change Sitename ==<br />
<br />
The name of this wiki is currently "Openmoko". I think it should be "Openmoko Wiki" for the following reasons:<br />
<br />
* The other parts of this site (Planet, Projects, Docs) have similar names<br />
* Media Wiki automatically creates a [http://www.mediawiki.org/wiki/Manual:Namespace namespace] for the Sitename (currently "Openmoko"). This means that content of pages beginning with "Openmoko:" 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)<br />
<br />
'''Yes votes''': [[User:Marko Knöbl|Marko Knöbl]], [[User:MinhHaDuong|Minh]]<br />
<br />
'''No votes''':<br />
<br />
::OpenmokoIT still do some research now. [[User:Coolcat|coolcat]]<br />
<br />
::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)<br />
<br />
== Organize translations ==<br />
<br />
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)<br />
<br />
+1. See issues and solutions for a multilingual mediawiki at:<br />
http://www.mediawiki.org/wiki/Multilingual_MediaWiki<br />
Also, the correspondence between translation should be maintained with tags:<br />
http://en.wikipedia.org/wiki/Help:Interlanguage_links<br />
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)<br />
<br />
After discussion on the Documentation ML, sub-wikis are out. We want to try namespaces. [[User:MinhHaDuong|MinhHaDuong]] 09:31, 7 October 2008 (UTC)<br />
<br />
== Downloads ==<br />
<br />
=== Symlinks in download directories ===<br />
<br />
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]<br />
<br />
=== Improve README.html ===<br />
<br />
Example: http://downloads.openmoko.org/distro/releases/Om2008.9/README.html<br />
<br />
It should at least link to: [[Om_2008.9_Update#Download_and_Flashing]]<br />
<br />
== Rejected requests ==<br />
<br />
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.<br />
<br />
* '''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.<br />
* '''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]]<br />
* '''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)<br />
<br />
[[Category:Wiki Editing]]</div>Marko Knöblhttp://openmoko.org/wiki/Group_salesGroup sales2010-08-10T17:34:19Z<p>Marko Knöbl: proposing for deletion</p>
<hr />
<div>{{delete}}<br />
<br />
{{Note|This page is outdated. If anyone want to hold a gorup sales, feel free to create other page.}}<br />
<br />
Some [[distributors]] are selling the [[Neo FreeRunner]] at a discount if bought in multiples of 10, to be shipped in one package. Group buying will thus save money on the purchase, and on the shipping. This page is to organise group purchases by region.<br />
<br />
For calculating shipping costs, the dimensions of one 10-pack is 435mm x 371mm x 119mm. The weight should be around 3kg.<br />
<br />
== Chile ==<br />
=== Santiago ===<br />
Status : 7/10<br />
<br />
* [[User:Mankeke]] Ricardo Manríquez C., mailto: ricardo.manriquez "remove this and add AT" gmail "dot" com<br />
* [[User:XKnightmareX]] Gonzalo Pesenti., mailto: mare.knight1 "remove this and add AT" gmail "dot" com<br />
* [[User:Freyes]] Felipe Reyes., mailto: felipereyes "remove this and add AT" gmail "dot" com<br />
* [[User:crsepulv]] Cristian Sepúlveda, mailto: sepulveda.cristian@gmail.com<br />
* [[User:SurrealWombat]] Simon Martin, mailto: smartin dot cl at gmail dot com<br />
* [[User:joteiro]] Juan Pizarro, mailto: jpizarrom dot cl at gmail dot com<br />
* [[User:rpaillan]] Rodrigo Paillan, mailto: rodrigo dot paillan at gmail dot com<br />
<br />
== France ==<br />
=== Nantes ===<br />
Status : 3/10<br />
* [[User:Yoann|Yoann ARNAUD]]. OK for a ship in Rennes if needed. [http://wiki.openmoko.org/wiki/Special:Emailuser/Yoann Contact me here]<br />
* <strike>[[User:sim51|Benoît SIMARD]]. Idem [http://wiki.openmoko.org/wiki/Special:Emailuser/sim51 Contact me here]</strike><br />
* [[User:tangara2|tangara2]]. Interested [http://wiki.openmoko.org/wiki/Special:Emailuser/tangara2 Contact me here]<br />
* [[Special:Emailuser/Toub|Toub]] (living in Toulouse, but possible in Nantes)<br />
<br />
=== Toulouse ===<br />
<br />
Status: 2/10<br />
<br />
* [[Special:Emailuser/Ortalo|Ortalo]]<br />
* [[Special:Emailuser/Toub|Toub]] (also possible in Nantes)<br />
<br />
== Italy ==<br />
<br />
=== Puglia (gruppo unico) ===<br />
Status : 4/10<br />
<br />
* [[User:Morpheus90|Morpheus90]] [mailto:ugopiemontese@rudiaelinux.com ugopiemontese@rudiaelinux.com] Lecce<br />
* [[User:Fradeve11|Fradeve11]] [mailto:fradeve@ubuntu-it.org fradeve@ubuntu-it.org] Bari<br />
* [[User:Beppe wide|Beppe wide]] [mailto:beppe@widewidewide.it beppe@widewidewide.it] Bari<br />
* [[User:SlackMass|SlackMass]] [mailto:rsvmass@tiscali.it rsvmass@tiscali.it] Taranto<br />
* [[User:djfabiop|djfabiop]] [mailto:fabio_prn@hotmail.it fabio_prn@hotmail.it] Foggia<br />
<br />
NB: per eventuali modifiche aggiungere username, mail e provincia di appartenenza.<br />
<br />
== Portugal ==<br />
<br />
=== Lisboa ===<br />
Status : 4/10<br />
<br />
* [http://wiki.openmoko.org/wiki/Special:Emailuser/Danielblues Daniel Branco]<br />
* [[User:Pedrosilva|Pedro Silva]]<br />
* [http://wiki.openmoko.org/wiki/Special:Emailuser/Brunus Bruno Valentim]<br />
* [http://wiki.openmoko.org/wiki/Special:Emailuser/Numen Nuno Mendes]<br />
<br />
== Russia ==<br />
<br />
Due to common customs problems we created google group to discuss how to get that 10 phones pack in Russia. Join us http://groups.google.com/group/openmoko-russia<br />
<br />
=== Moscow ===<br />
<br />
{| border="1"<br />
|rowspan=2| login<br />
|rowspan=2| google groups name<br />
| colspan="3"| number of items<br />
|-<br />
| Neo FreeRunner<br />
| Dboard<br />
| Spares Pack<br />
|-<br />
| 1. [[Special:Emailuser/sinister|sinister]]<br />
|<br />
| 1<br />
|<br />
|<br />
|-<br />
| 2. [[Special:Emailuser/shallburn|shallburn]]<br />
|<br />
| 1(P1.1)<br />
| 1(P1.1)<br />
| 1(P1.1)<br />
|-<br />
| 3. [[Special:Emailuser/vadson|vadson]]<br />
| vadimhohlov<br />
|<br />
|<br />
|<br />
|-<br />
| 4. [[Special:Emailuser/Tallex|Tallex]]<br />
| tallex<br />
| 1(P1.2)(900) <br />
|<br />
|<br />
|-<br />
| 5. [[Special:Emailuser/mex3|mex3]]<br />
| 3meandme<br />
| 1 (P1.3) (900)<br />
| 1 (P1.3)<br />
| 1 (P1.3)<br />
|-<br />
| 6. [[Special:Emailuser/Pva|pva]]<br />
| volkov.peter<br />
| 1 (P5.5)<br />
| 1 (P5.5)<br />
| 1 (P5.5)<br />
|-<br />
| 7. [[Special:Emailuser/cbou|cbou]]<br />
|<br />
| 2<br />
| 1<br />
| 1<br />
|-<br />
| 8. [[Special:Emailuser/Buffet|Buffet]]<br />
| kaledin<br />
| 1<br />
|<br />
|<br />
|-<br />
| 9. [[Special:Emailuser/homeboy|homeboy]]<br />
|<br />
| 1<br />
|<br />
|<br />
|-<br />
| 10. [[Special:Emailuser/Bepcyc|bepcyc]]<br />
| bepcyc<br />
| 1<br />
|<br />
|<br />
|-<br />
| 11. [[Special:Emailuser/kmeaw|kmeaw]]<br />
| kmeaw<br />
| 1<br />
|<br />
|<br />
|-<br />
| 13. [[Special:Emailuser/Bam|bam]]<br />
| butirsky<br />
| 1 (P4.8)<br />
|<br />
|<br />
|-<br />
| 14. [[Special:Emailuser/mihhey|mihhey]]<br />
| mihhey<br />
| 1 (P1.4)<br />
|<br />
| 1 (P1.4)<br />
|-<br />
| 15. [[Special:Emailuser/ke|ke]]<br />
| ke<br />
| 1<br />
|<br />
| 1<br />
|-<br />
| 16. [[Special:Emailuser/passshok|passshok]]<br />
| passshok<br />
| 1 (P4.4)<br />
|<br />
|<br />
|-<br />
| 17. [[Special:Emailuser/Dmitry Shurupov|Dmitry Shurupov]]<br />
| Dmitry Shurupov<br />
| 1 (P1.10)<br />
|<br />
| 1<br />
|-<br />
| 18. [[Special:Emailuser/alsroot|alsroot]]<br />
| alsroot<br />
| 1 (P2.2) (GSM900)<br />
|<br />
| 1<br />
|-<br />
| 19. [[Special:Emailuser/vinokurov.alexey|vinokurov.alexey]]<br />
| vinokurov.alexey<br />
| 1<br />
|<br />
| 1<br />
|-<br />
| 20. [[Special:Emailuser/mithron|mithron]]<br />
| mithron<br />
| 1 (P2.3)<br />
|<br />
|<br />
|-<br />
| 21. [[Special:Emailuser/Anarchist|Anarchist]]<br />
| Anarchist<br />
| 1 (GSM850)<br />
|<br />
| 1 (P5.1)<br />
|-<br />
| 22. [[Special:Emailuser/Mixer|Mixer.slc]]<br />
|Mixer.slc<br />
| 1<br />
|<br />
| 1<br />
|-<br />
| 23. [[Special:Emailuser/sergey.sign|sergey.sign]]<br />
|sergey.sign<br />
| 1<br />
|<br />
| 1<br />
|-<br />
| 24. [[Special:Emailuser/yoush|yoush]]<br />
| Nikita Youshchenko<br />
| 1(P1.5)<br />
|<br />
|<br />
|-<br />
| 25. [[Special:Emailuser/Von-Hamster|Von-Hamster]]<br />
| Von-Hamster<br />
| 0(1) - взять хочу, но, как я понимаю в ближайшее время это не получится без больших дополнительных затрат. Подожду.<br />
|<br />
| 0(1)<br />
|-<br />
| 26. [[Special:Emailuser/Shulyaka|Shulyaka]]<br />
| Denis Shulyaka<br />
| 1(P3.7)(получил GSM850)<br />
|<br />
| 1(P3.7)<br />
|-<br />
| 27. [[Special:Emailuser/icukeng|icukeng]]<br />
| icukeng<br />
| 1 (P1.6)<br />
|<br />
| 1<br />
|-<br />
| 28. [[Special:Emailuser/REDkiy|REDkiy]]<br />
| REDkiy<br />
| 1<br />
|<br />
|<br />
|-<br />
| 29. [[Special:Emailuser/svschwartz|svschwartz]]<br />
| Schwartz Sergey<br />
| 1 (P3.4)<br />
|<br />
|<br />
|-<br />
| 30. [[Special:Emailuser/NoMad|NoMad]]<br />
| Antioh<br />
| 1 (P5.2)<br />
|<br />
| 1 (P5.2)<br />
|-<br />
| 31. [[Special:Emailuser/ekot|ekot]]<br />
| ekot<br />
| 1<br />
|<br />
|<br />
|-<br />
| 32. [[Special:Emailuser/Shalygin.V|Shalygin.V]]<br />
| Shalygin.V<br />
| 1<br />
| 1<br />
| 1<br />
|-<br />
| 33. [[Special:Emailuser/GreyCardinal|GreyCardinal]]<br />
| GreyCardinal<br />
| 1<br />
| 1<br />
| 1<br />
|-<br />
| 34. [[Special:Emailuser/ite|ite]]<br />
| ite<br />
| 0(1? я в раздумьях)<br />
| 0<br />
| 0(1? я в раздумьях)<br />
|-<br />
| 35. [[Special:Emailuser/vvtimofeyev|vvtimofeyev]]<br />
| vvtimofeyev<br />
| 1<br />
| 0<br />
| 0<br />
|-<br />
| 36. [[Special:Emailuser/sergey1369|Sergey]]<br />
|<br />
| 1<br />
| 0<br />
| 0<br />
|-<br />
| 37. [[Special:Emailuser/Knesin|Knesin]]<br />
| Knesin<br />
| 0(1? раздумьях, до выеснения способа доставки)<br />
| 0<br />
| 0(1? раздумьях, до выеснения способа доставки)<br />
|-<br />
| 38. [[Special:Emailuser/Orvind|Anton]]<br />
| Orvind<br />
| 1<br />
| 0<br />
| 0<br />
|-<br />
| 39. Dmitry Galenko<br />
| Dmitry<br />
| 1<br />
| 0<br />
| 0<br />
|-<br />
| 40. [[Special:Emailuser/dk866|dk866]]<br />
| dk866<br />
| 1 (P2.4)(получил GSM900)<br />
| 0<br />
| 1 (P2.4)<br />
|-<br />
| 41. [[Special:Emailuser/weismont|weismont]]<br />
| weismont<br />
| 1<br />
| 0<br />
| 0<br />
|-<br />
| 42. [[Special:Emailuser/demetrio|demetrio]]<br />
| Demetrio<br />
| 1 (P2.5)<br />
| 0<br />
| 0<br />
|-<br />
<br />
|-<br />
| 43. [[Special:Emailuser/walkie|walkie]]<br />
| walkie<br />
| 1(P4.1)<br />
| 0<br />
| 1(P4.1)<br />
|-<br />
| 44. [[Special:Emailuser/Mravathar|Mravathar]]<br />
| avathar<br />
| 1<br />
| 1<br />
| 1<br />
|-<br />
| 45. [[Special:Emailuser/Rv|Rv]]<br />
| Rv<br />
| 1<br />
| 0<br />
| 0<br />
|-<br />
| 46. [[Special:Emailuser/DV|DV]]<br />
| DV<br />
| 1(P4.3)(получил GSM850)<br />
| 0<br />
| 0<br />
|-<br />
| 47. [[Special:Emailuser/vinni.pooh@gmail.com|vinni.pooh]]<br />
| ya.rybalko<br />
| 1 (P4.10)<br />
| 1 (P4.10)<br />
| 0<br />
|-<br />
| 48. [[Special:Emailuser/himera|himera]]<br />
| Dmitry Ivanenko<br />
| 2(P4.6)(P4.7)<br />
| 2(P4.6)(P4.7)<br />
| 2(P4.6)(P4.7)<br />
|-<br />
| 49. [[Special:Emailuser/pvv|pvv]]<br />
| Vyacheslav Potapov<br />
| 1(P4.9)<br />
| 0<br />
| 1(P4.9)<br />
|-<br />
| 50. [[Special:Emailuser/Voldmeister|Voldmeister]]<br />
| Dmitry Grekhnyov<br />
| 0(1)<br />
| 0(1)<br />
| 0(1) (Жду объявления цены)<br />
|-<br />
| 51. [[Special:Emailuser/PaulFertser|PaulFertser]]<br />
| Paul<br />
| 1 (получил GSM900)<br />
| 0<br />
| 0<br />
|-<br />
| 52. [[Special:Emailuser/Stargrave|Stargrave]]<br />
| Sergey Matveev<br />
| 3 - заказал в LinuxCenter<br />
| 0<br />
| 3<br />
|-<br />
| 53. [[Special:Emailuser/Ordinarytest|Ordinarytest]]<br />
| ordinarytest<br />
|3 (P2.1)(P3.1)(P3.5)<br />
|<br />
|3 (P2.1)(P3.1)(P3.5)<br />
|-<br />
| 54. [[Special:Emailuser/Demetros|Demetros]]<br />
| Demetros<br />
| 0(1) (В раздумьях)<br />
| 0<br />
| 0<br />
|-<br />
| 55. [[Special:Emailuser/cblp|Сыр Российский]]<br />
| fromagxo<br />
| 2 (P4.8, P5.2)<br />
| 0<br />
| 0<br />
|-<br />
| 56. [[Special:Emailuser/Pyromaniac|Pyromaniac]]<br />
| Pyromaniac<br />
| 1 (P5.2) (получил GSM850)<br />
| 0<br />
| 0<br />
|-<br />
| 57. [[Special:Emailuser/ASM|ASM]]<br />
| <br />
| 1<br />
| 1<br />
| 1<br />
|-<br />
| 58. [[Special:Emailuser/soal|soal]]<br />
| <br />
| 1 (в раздумьях)<br />
| 0<br />
| 0<br />
|-<br />
|Total number:<br />
|<br />
| 60<br />
| 12<br />
| 26<br />
|}<br />
<br />
=== Niznhny Novgorod ===<br />
<br />
{| border="1"<br />
|rowspan=2| login<br />
|rowspan=2| google groups name<br />
| colspan="3"| number of items<br />
|-<br />
| Neo FreeRunner<br />
| Dboard<br />
| Spares Pack<br />
|-<br />
| 1. [[Special:Emailuser/Ntropy|Ntropy]]<br />
| [http://groups.google.com/groups/profile?enc_user=PSrAbRYAAAC1cJd46Y4K1QK1ilA02Mhqo4cocwWvDVg2RHsu8f1bCg Natry Clorum]<br />
| 0<br />
| 1<br />
| 1<br />
|-<br />
| 2. [[Special:Emailuser/eagafonov|eagafonov]]<br />
| [http://groups.google.com/groups/profile?enc_user=DZ6WuxYAAAC4NC2Ez7VnaOK5YizqOI9jo4cocwWvDVg2RHsu8f1bCg eagafonov]<br />
| 0(?1 в раздумьях)<br />
| 0(?1 в раздумьях)<br />
| 0(?1 в раздумьях)<br />
|-<br />
| 3. [[Special:Emailuser/Dmitry.kurochkin|dmitry.kurochkin]]<br />
| [http://groups.google.com/groups/profile?enc_user=uDT-oBoAAACuZIwLUX4fdFW7FpcHgfywfVkDoaoMBC1ZX5YCLbSZfw Dmitry Kurochkin]<br />
| 1<br />
| 1<br />
| 1<br />
|-<br />
| 4. [[Special:Emailuser/Kulti|Kulti]]<br />
| [http://groups.google.com/groups/profile?enc_user=eu0ZiRMAAADCzBcE2Zitrr3euvcwd_WjWMj6vob75xS36mXc24h6ww Kulti]<br />
| 1<br />
| 0<br />
| 0<br />
|-<br />
|Total number:<br />
|<br />
| 2(?1)<br />
| 2(?1)<br />
| 2(?1)<br />
|}<br />
<br />
[[Category:Group Sales]]<br />
[[Category:Purchase]]</div>Marko Knöblhttp://openmoko.org/wiki/BootloaderBootloader2010-08-10T14:57:47Z<p>Marko Knöbl: Undo revision 81965 by Opensociety (Talk)</p>
<hr />
<div>{{Languages|Bootloader}}<br />
<br />
The '''bootloader''' is a small program to start up the main operating system. The Openmoko phones can use [[U-Boot]] or [[Qi]] as bootloaders. Qi is actively developed, while the Openmoko version of U-Boot is not.<br />
<br />
The default bootloader of the [[Neo 1973]] is U-Boot. The bootloader of the Neo 1973 can be modified, but this is only recommended if a [[debug board]] is available.<br />
<br />
The [[Neo FreeRunner]] has two bootloaders. The [[NOR Flash]] contains a version of U-Boot which cannot be modified. Therefore it is always available as a fallback, and the second bootloader can be modified without any risk. This bootloader can be booted into by pressing and holding the AUX button and then pressing the Power button.<br />
<br />
==Links==<br />
*http://en.wikipedia.org/wiki/Bootloader#Boot_loader<br />
<br />
[[Category:Bootloaders| ]]</div>Marko Knöblhttp://openmoko.org/wiki/DistributorsDistributors2010-08-07T08:42:08Z<p>Marko Knöbl: updating exchange rates</p>
<hr />
<div>Openmoko devices and accessories are sold by many distributors around the world. The following table gives you an overview of the different distributors in your area selling the [[Neo FreeRunner]]. Furthermore there is an [http://www.openmoko.com/freerunner_distributors.html?iframe official list] with less details. All orders should include a USB-cable and an AC adapter. Prices don't include shipment. The table does not say anything about the quality of a distributor. The exchange rates used are the average rates from the previous month. Some entries may be outdated. Please help to keep it up to date and note the date of your last update so that it is easy to identify outdated information.<br />
<br />
{| class="wikitable sortable" border=1<br />
! Distributor<br />
! Continent<br />
! Country<br />
! Version<br />
! [[GSM buzz|buzz fix]]<br />
! Price (inc. VAT)<br />
! Warranty<br />
! Included extras<br />
! Last update<br />
|-<br />
| [http://www.engineeringideas.co.za/ Engineeringideas]<br />
| Africa<br />
| South Africa<br />
| A7<br />
| {{yes}}<br />
| 330 USD (R2,550.00)<br />
| 0 years (None)<br />
| Stylus<br />
| 2010-07-05<br />
|-<br />
| [http://idasystems.net/products IDA Systems]<br />
| Asia<br />
| India<br />
| A7<br />
| {{yes}}<br />
| 513 USD (24000 INR)<br />
| 1 year<br />
| <br />
| 2010-08-07<br />
|-<br />
| [http://openmoko.kd85.com kd85.com]<br />
| Europe<br />
| Belgium<br />
| A7<br />
| {{yes}}<br />
| 364 USD (284 EUR)<br />
| 2 years<br />
| debug board, headset, pouch, stylus<br />
| 2010-08-07<br />
|-<br />
| [http://freerunner.cz freerunner.cz]<br />
| Europe<br />
| Czech Republic<br />
| A7<br />
| {{yes}}<br />
| 431 USD (8500 CZK)<br />
| 2 years<br />
| case, headset, stylus<br />
| 2010-08-07<br />
|-<br />
| [http://openmobile.nl openmobile.nl]<br />
| Europe<br />
| Netherlands<br />
| A7<br />
| {{yes}}<br />
| 352 USD (275 EUR)<br />
| 1 year<br />
| stylus, 2 GB memory card<br />
| 2010-08-07<br />
|-<br />
| [http://bearstech.com/shop bearstech.com]<br />
| Europe<br />
| France<br />
| A7<br />
| {{yes}}<br />
| 410 USD (320 EUR)<br />
| 1 year<br />
| headset, pouch<br />
| 2010-08-07<br />
|-<br />
| [http://www.handheld-linux.com/wiki.php?page=Neo%20Freerunner Golden Delicious Computers]<br />
| Europe<br />
| Germany<br />
| A7<br />
| {{yes}}<br />
| 357 USD (279 EUR)<br />
| 2 years<br />
| [[Debug Board v3]], instructions, stylus<br />
| 2010-08-07<br />
|-<br />
| [http://www.handheld-linux.com/wiki.php?page=Neo%20Freerunner Golden Delicious Computers]<br />
| Europe<br />
| Germany<br />
| A7+<br />
| {{yes}}<br />
| 383 USD (299 EUR)<br />
| 2 years<br />
| [[Debug Board v3]], instructions, stylus, #1024 Fix<br />
| 2010-08-07<br />
|-<br />
| [http://www.handheld-linux.com/wiki.php?page=Neo%20Freerunner Golden Delicious Computers]<br />
| Europe<br />
| Germany<br />
| A7++<br />
| {{yes}}<br />
| 415 USD (324 EUR)<br />
| 2 years<br />
| [[Debug Board v3]], instructions, stylus, #1024 Fix, Bass rework<br />
| 2010-08-07<br />
|-<br />
| [http://www.pulster.eu Pulster]<br />
| Europe<br />
| Germany<br />
| A7<br />
| {{yes}}<br />
| 293 USD (229 EUR)<br />
| 2 years<br />
| display protection, printed manual<br />
| 2010-08-07<br />
|-<br />
| [http://www.mobilesolutions.pl/107,openmoko-neo-freerunner-gta02.html?PHPSESSID=8b8287a11d3995d36d71ad37a75034fb Mobile Solutions]<br />
| Europe<br />
| Poland<br />
| A6<br />
| {{no}}<br />
| 314 USD (1000 PLN)<br />
| 2 years<br />
| headset, pouch, stylus<br />
| 2010-08-07<br />
|-<br />
| [http://www.linuxcenter.ru/shop/embedded/smartphones_and_pda/openmoko_neo_freeRunner/ Linuxcenter.ru]<br />
| Europe<br />
| Russia<br />
| ?<br />
| ?<br />
| 490 USD (15000 RUB)<br />
| ?<br />
| stylus<br />
| 2010-08-07<br />
|-<br />
| [http://openmobil.eu OpenMobil.eu]<br />
| Europe<br />
| Slovakia<br />
| ?<br />
| ?<br />
| 306 USD (239 EUR)<br />
| 2 years<br />
|<br />
| 2010-08-07<br />
|-<br />
| [http://www.tuxbrain.com/ tuxbrain]<br />
| Europe<br />
| Spain<br />
| A7<br />
| {{yes}}<br />
| 333 USD (259.60 EUR)<br />
| 2 Years<br />
| headset, stylus, USB F/F gender changer<br />
| 2010-08-07<br />
|-<br />
| [http://www.openmoko.se openmoko.se]<br />
| Europe<br />
| Sweden<br />
| <br />
| ?<br />
| 327 USD (255 EUR)<br />
| ?<br />
| 512 MB memory card<br />
| 2010-08-07<br />
|-<br />
| [http://dshop.ch/osc/advanced_search_result.php?keywords=neo%20freerunner&language=de dshop]<br />
| Europe<br />
| Switzerland<br />
| A7<br />
| {{yes}}<br />
| 296 USD (333 CHF)<br />
| 0.25 years (3 months)<br />
| stylus<br />
| 2010-08-07<br />
|-<br />
| [http://www.mokophoneshop.com/ Openmoko Shop Switzerland]<br />
| Europe<br />
| Switzerland<br />
| ?<br />
| ?<br />
| 475 USD (500 CHF)<br />
| ?<br />
| <br />
| 2010-08-07<br />
|-<br />
| [https://www.truebox.co.uk/trueboxportal/index.php?wk=Openmoko TrueBox]<br />
| Europe<br />
| United Kingdom<br />
| ?<br />
| ?<br />
| 479 USD (313 GBP)<br />
| 1 year (UK only)<br />
| <br />
| 2010-08-07<br />
|-<br />
| [http://www.gp2xstore.com/openmoko-neo-freerunner-gsm-850-phone.html GP2X Store]<br />
| North America<br />
| USA<br />
| ?<br />
| ?<br />
| 300 USD<br />
| 1 year<br />
| stylus<br />
| 2010-08-07<br />
|-<br />
| [http://www.sdgsystems.com/estore/cart.php?target=category&category_id=17 SDG Systems]<br />
| North America<br />
| USA<br />
| A7<br />
| {{yes}}<br />
| ?<br />
| ?<br />
| headset, pouch, stylus<br />
| 2010-08-07<br />
|-<br />
| [http://www.isolve.com.br/ iSolve]<br />
| South America<br />
| Brazil<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
| 2010-08-07<br />
|}<br />
<br />
[[Category:Purchase]]</div>Marko Knöblhttp://openmoko.org/wiki/DistributorsDistributors2010-08-07T08:30:31Z<p>Marko Knöbl: updating offers</p>
<hr />
<div>Openmoko devices and accessories are sold by many distributors around the world. The following table gives you an overview of the different distributors in your area selling the [[Neo FreeRunner]]. Furthermore there is an [http://www.openmoko.com/freerunner_distributors.html?iframe official list] with less details. All orders should include a USB-cable and an AC adapter. Prices don't include shipment. The table does not say anything about the quality of a distributor. The exchange rates used are the average rates from the previous month. Some entries may be outdated. Please help to keep it up to date and note the date of your last update so that it is easy to identify outdated information.<br />
<br />
{| class="wikitable sortable" border=1<br />
! Distributor<br />
! Continent<br />
! Country<br />
! Version<br />
! [[GSM buzz|buzz fix]]<br />
! Price (inc. VAT)<br />
! Warranty<br />
! Included extras<br />
! Last update<br />
|-<br />
| [http://www.engineeringideas.co.za/ Engineeringideas]<br />
| Africa<br />
| South Africa<br />
| A7<br />
| {{yes}}<br />
| 330 USD (R2,550.00)<br />
| 0 years (None)<br />
| Stylus<br />
| 2010-07-05<br />
|-<br />
| [http://idasystems.net/products IDA Systems]<br />
| Asia<br />
| India<br />
| A7<br />
| {{yes}}<br />
| 516 USD (24000 INR)<br />
| 1 year<br />
| <br />
| 2010-07-03<br />
|-<br />
| [http://openmoko.kd85.com kd85.com]<br />
| Europe<br />
| Belgium<br />
| A7<br />
| {{yes}}<br />
| 347 USD (284 EUR)<br />
| 2 years<br />
| debug board, headset, pouch, stylus<br />
| 2010-07-03<br />
|-<br />
| [http://freerunner.cz freerunner.cz]<br />
| Europe<br />
| Czech Republic<br />
| A7<br />
| {{yes}}<br />
| 403 USD (8500 CZK)<br />
| 2 years<br />
| case, headset, stylus<br />
| 2010-07-03<br />
|-<br />
| [http://openmobile.nl openmobile.nl]<br />
| Europe<br />
| Netherlands<br />
| A7<br />
| {{yes}}<br />
| 336 USD (275 EUR)<br />
| 1 year<br />
| stylus, 2 GB memory card<br />
| 2010-07-03<br />
|-<br />
| [http://bearstech.com/shop bearstech.com]<br />
| Europe<br />
| France<br />
| A7<br />
| {{yes}}<br />
| 391 USD (320 EUR)<br />
| 1 year<br />
| headset, pouch<br />
| 2010-07-03<br />
|-<br />
| [http://www.handheld-linux.com/wiki.php?page=Neo%20Freerunner Golden Delicious Computers]<br />
| Europe<br />
| Germany<br />
| A7<br />
| {{yes}}<br />
| 341 USD (279 EUR)<br />
| 2 years<br />
| [[Debug Board v3]], instructions, stylus<br />
| 2010-07-03<br />
|-<br />
| [http://www.handheld-linux.com/wiki.php?page=Neo%20Freerunner Golden Delicious Computers]<br />
| Europe<br />
| Germany<br />
| A7+<br />
| {{yes}}<br />
| 365 USD (299 EUR)<br />
| 2 years<br />
| [[Debug Board v3]], instructions, stylus, #1024 Fix<br />
| 2010-07-03<br />
|-<br />
| [http://www.handheld-linux.com/wiki.php?page=Neo%20Freerunner Golden Delicious Computers]<br />
| Europe<br />
| Germany<br />
| A7++<br />
| {{yes}}<br />
| 396 USD (324 EUR)<br />
| 2 years<br />
| [[Debug Board v3]], instructions, stylus, #1024 Fix, Bass rework<br />
| 2010-07-03<br />
|-<br />
| [http://www.pulster.eu Pulster]<br />
| Europe<br />
| Germany<br />
| A7<br />
| {{yes}}<br />
| 280 USD (229 EUR)<br />
| 2 years<br />
| display protection, printed manual<br />
| 2010-07-03<br />
|-<br />
| [http://www.mobilesolutions.pl/107,openmoko-neo-freerunner-gta02.html?PHPSESSID=8b8287a11d3995d36d71ad37a75034fb Mobile Solutions]<br />
| Europe<br />
| Poland<br />
| A6<br />
| {{no}}<br />
| 298 USD (1000 PLN)<br />
| 2 years<br />
| headset, pouch, stylus<br />
| 2010-07-03<br />
|-<br />
| [http://www.linuxcenter.ru/shop/embedded/smartphones_and_pda/openmoko_neo_freeRunner/ Linuxcenter.ru]<br />
| Europe<br />
| Russia<br />
| ?<br />
| ?<br />
| 480 USD (15000 RUB)<br />
| ?<br />
| stylus<br />
| 2010-07-03<br />
|-<br />
| [http://openmobil.eu OpenMobil.eu]<br />
| Europe<br />
| Slovakia<br />
| ?<br />
| ?<br />
| 317 USD (239 EUR)<br />
| 2 years<br />
|<br />
| 2010-07-03<br />
|-<br />
| [http://www.tuxbrain.com/ tuxbrain]<br />
| Europe<br />
| Spain<br />
| A7<br />
| {{yes}}<br />
| 317 USD (259.60 EUR)<br />
| 2 Years<br />
| headset, stylus, USB F/F gender changer<br />
| 2010-07-03<br />
|-<br />
| [http://www.openmoko.se openmoko.se]<br />
| Europe<br />
| Sweden<br />
| <br />
| ?<br />
| 312 USD (255 EUR)<br />
| ?<br />
| 512 MB memory card<br />
| 2010-07-03<br />
|-<br />
| [http://dshop.ch/osc/advanced_search_result.php?keywords=neo%20freerunner&language=de dshop]<br />
| Europe<br />
| Switzerland<br />
| A7<br />
| {{yes}}<br />
| 296 USD (333 CHF)<br />
| 0.25 years (3 months)<br />
| stylus<br />
| 2010-07-03<br />
|-<br />
| [http://www.mokophoneshop.com/ Openmoko Shop Switzerland]<br />
| Europe<br />
| Switzerland<br />
| ?<br />
| ?<br />
| 444 USD (500 CHF)<br />
| ?<br />
| <br />
| 2010-07-03<br />
|-<br />
| [https://www.truebox.co.uk/trueboxportal/index.php?wk=Openmoko TrueBox]<br />
| Europe<br />
| United Kingdom<br />
| ?<br />
| ?<br />
| 459 USD (313 GBP)<br />
| 1 year (UK only)<br />
| <br />
| 2010-07-03<br />
|-<br />
| [http://www.gp2xstore.com/openmoko-neo-freerunner-gsm-850-phone.html GP2X Store]<br />
| North America<br />
| USA<br />
| ?<br />
| ?<br />
| 300 USD<br />
| 1 year<br />
| stylus<br />
| 2010-07-03<br />
|-<br />
| [http://www.sdgsystems.com/estore/cart.php?target=category&category_id=17 SDG Systems]<br />
| North America<br />
| USA<br />
| A7<br />
| {{yes}}<br />
| ?<br />
| ?<br />
| headset, pouch, stylus<br />
| 2010-07-03<br />
|-<br />
| [http://www.isolve.com.br/ iSolve]<br />
| South America<br />
| Brazil<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
| 2010-07-03<br />
|}<br />
<br />
[[Category:Purchase]]</div>Marko Knöblhttp://openmoko.org/wiki/Talk:DistributorsTalk:Distributors2010-08-07T08:19:48Z<p>Marko Knöbl: /* Using monthly average exchange rates */ updating exchange rates</p>
<hr />
<div>== Using monthly average exchange rates ==<br />
<br />
Hi! I just changed the USD prices in the table using the average exchange rates from October 2009 instead of the current exchange rate. The idea of changing to monthly rates came from [[User:Cpulster|Christoph Pulster]]. I think this is a much better idea than using the current rate which can change much more. I got the monthly rates from an online tool at http://fx.sauder.ubc.ca/data.html . Here are the rates for October. I'm planning to update these rates regularly:<br />
<br />
MMM YYYY EUR/USD GBP/USD CZK/USD PLN/USD RUB/USD CHF/USD<br />
Oct 2009 0.67480 0.61704 17.478 2.8447 29.436 1.0214<br />
Nov 2009 0.67067 0.60272 17.339 2.7941 28.964 1.01277<br />
Dec 2009 0.68580 0.61605 17.889 2.8440 30.104 1.0301<br />
<br />
MMM YYYY GBP/USD CZK/USD EUR/USD PLN/USD RUB/USD CHF/USD<br />
Jan 2010 0.61872 18.306 0.70080 2.8505 29.863 1.0340<br />
Feb 2010 0.64037 18.989 0.73130 2.9348 30.153 1.0726<br />
<br />
MMM YYYY GBP/USD CZK/USD EUR/USD INR/USD PLN/USD RUB/USD CHF/USD<br />
Mar 2010 0.66414 18.816 0.73700 44.619 2.8654 29.563 1.0666<br />
Apr 2010 0.65211 18.873 0.74565 44.437 2.8907 29.185 1.0693<br />
May 2010 0.68147 20.445 0.79584 45.725 3.2317 30.473 1.1282<br />
Jun 2010 0.67741 21.094 0.81829 46.527 3.3575 31.256 1.1256<br />
Jul 2010 0.65369 19.735 0.78067 46.796 3.1812 30.578 1.0530<br />
<br />
I hope this is okay for other editors; feedback and suggestions are welcome! --[[User:Marko Knöbl|Marko Knöbl]] 11:10, 21 November 2009 (UTC)<br />
<br />
I suggest not to use and calculate exchange rates at all (they may even change by several % if your CC is charged 2 weeks later). Just use USD, EUR. And there will remain only 6 other currencies. But you should link the online-tool so that everyone can easily convert what he/she wants. --[[User:Hns | hns]] 09:28, 22 November 2009 (UTC)<br />
<br />
:I konw that exchange rates can change very much. The conversions are only meant to be rough guidlines which provide an approximate price for comparison - I don't see any disadvantage of listing the USD prices - I think there is no better method of comparing these prices than converting all of them to one currency. And I think we can save other people some extra work if we list the converted prices instead of requiring them to convert them by themselves. --[[User:Marko Knöbl|Marko Knöbl]] 14:55, 24 November 2009 (UTC)<br />
<br />
==freerunner.cz inactive==<br />
<br />
Hi, my openmoko was from shop freerunner.cz, but now this shop is closed and domain is redirect to http://www.halnet.cz/ which don't sale openmoko now. --[[User:Kukide]] 21.39 25 November 2009 (UTC+1)<br />
<br />
:Thank you for pointing this out! When I checked it on Wednesday it was working. I have removed this link again! -- [[User:Marko Knöbl|Marko Knöbl]] 11:24, 26 December 2009 (UTC)<br />
<br />
Hi, shop http://freerunner.cz is open again. [[User:Kukide]] 11.22 22 March 2009 (UTC+1)<br />
<br />
::Thanks! I added it back to the list. --[[User:Marko Knöbl|Marko Knöbl]] 19:13, 22 March 2010 (UTC)</div>Marko Knöblhttp://openmoko.org/wiki/Manuals/Neo_FreeRunnerManuals/Neo FreeRunner2010-07-28T12:24:55Z<p>Marko Knöbl: /* Installing a bootloader */</p>
<hr />
<div>{{Languages|Manuals/Neo FreeRunner}}<br />
<br />
Thank you for purchasing the [[Neo FreeRunner]]. This is the second phone developped by the Openmoko project. This guide will help you get to know your Neo FreeRunner and how to start using your Neo FreeRunner.<br />
<br />
[[Image:Freerunner box.png|200px|thumb|Neo FreeRunner Package]]<br />
<br />
<br />
<br />
== Setting up the hardware, getting to know the Neo FreeRunner physically ==<br />
<br />
<br />
<br />
===Installing the Micro-SD card, the SIM card, and the Battery ===<br />
<br />
* Remove the rear cover of the Neo FreeRunner by first holding the Neo FreeRunner on the side and then use a credit card (or your fingernail, if you have strong fingernails) to prise off the rear cover at the slot on top of the device.<br />
<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%; white-space: nowrap; padding: 4px 1em 0 0.5em; border-right: 1px solid #ffffff;">[[Image:menu13.jpg|233px|thumb|Open the case like this.|center]]</td><br />
<td style="padding: 1px 1em 0; background: #ffffff;">[[Image:menu14.jpg|250px|thumb|Opening !|center]]</td><br />
</tr><br />
</table><br />
<br />
<br />
* Now you should be able to locate the combined SIM and Micro-SD card holder at the bottom of the battery compartment.<br />
<br />
* Unlock the SIM card holder by sliding the metal clip down, towards the USB socket, with your fingernail. Use caution, as these parts are delicate and could be damaged by forcing them in the wrong direction.<br />
<br />
<br />
[[Image:menu11.jpg|260px|thumb|Put the SIM card and SD card here.|center]]<br />
<br />
* Lift up on the SIM card holder.<br />
<br />
* Before using any Micro-SD card, have a look to the [[Supported_microSD_cards | list of known to be supported Micro-SD cards]].<br />
<br />
* The Micro-SD card holder is held in place by a latch on either side. It is easiest to open the Micro-SD card holder by releasing these latches one at a time rather than by lifting from the middle, as lifting from the middle tends to increase the latching pressure. A small screwdriver or knife can be used for this, though it's strongly deprecated. Refer to [http://people.openmoko.org/joerg/sdcard-handle/ this photo footage] for a simple yet handy little hack involving some scotchtape, to make your life easier.<br />
<br />
* Insert the Micro-SD card into the Micro-SD card holder. Note that on the inside of metal part of the holder there are little holding tabs for the card. Slide the card in these holders (on the metal part) before closing the card holder. Note that the electrical contacts should face down and towards the edge of the Neo FreeRunner.<br />
<br />
* Close the Micro-SD card holder, making sure that both latches of the holder are securely fastened.<br />
<br />
* Insert the SIM card into the SIM card holder, taking care to slide inside the two metal tabs in the cover. Note that the electrical contacts should face down and that the cut corner should be closest to the external GPS Antenna Socket.<br />
<br />
* Close the SIM card holder and lock it by sliding the metal clip towards the external GPS Antenna Socket on the FreeRunner.<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%; white-space: nowrap; padding: 4px 1em 0 0.5em; border-right: 1px solid #ffffff;"><br />
[[Image:FR_SIM_SD_open.jpg|457px|thumb|SIM and SD holders open, with cards in place|center]]</td><br />
<td style="padding: 1px 1em 0; background: #ffffff;"><br />
[[Image:Engchang.jpg|392px|thumb|Some models look like this, the little blob is not a defect|center]]</td><br />
</tr><br />
</table><br />
<br />
* Insert the battery into the battery compartment, aligning the electrical contacts on the battery with the electrical contacts in the battery compartment. Insert the side with the electrical contacts first.<br />
<br />
* Replace the rear cover on the FreeRunner.<br />
<br />
<br />
<br />
{| class="wikitable" style="background#00CC00;border-left:1px solid white;border-right:1px solid white;border-top:0px solid white; border:1px solid #00CC00; float:right; margin: 0 0 1em 1em;"<br />
! style="background:#00cc00;border-left:1px solid white;border-right:5px solid white;border-top:0px solid white; border:1px solid #00CC00;" |<font color=white>Tips</font><br />
|-<br />
!style="background:#ffffff;border-left:1px solid white;border-right:1px solid white;border-top:0px solid white; border:1px solid #FFFFff;" |<br />
<div align=left><br />
[http://video.google.de/videoplay?docid=-8343770443102960945 A short video] is also available. It was shot using the previous version of the Neo, but the installation procedure remains the same.<br />
</div><br />
<br />
|}<br />
<br />
===Charging the Neo FreeRunner===<br />
<br />
Before using the Neo FreeRunner for the first time, you should charge the battery completely. The battery can be charged using the provided charger at 1000mA or from a powered USB port capable of providing 500mA worth of current. Most computers will be able to charge the FreeRunner without any problems.<br />
<br />
Neo FreeRunner '''does NOT charge when powered off''', so be sure to turn it on and allow it to boot all the way to the GUI (Graphical User Interface). This should happen automatically when you plug in USB power, either from a computer or the provided charger. If it does not, you can turn the power on manually by pressing and holding the power button, which is located just below the USB jack.<br />
<br />
Although the provided charger is rated at 2A, the maximum charge rate of the Neo FreeRunner is 1A, and thus the charge rate with the charger is less than the charger capacity.<br />
<br />
The provided charger includes three "national" plugs. The default is North America, with alternative U.K (3 square pins) and Euro (two round pins) adapters. To install the alternative power adapters, depress the latch in the cover (on the opposite side of the charger from the product information label) and slide the cover outward. Note that the two North American pins do not come out; the other adapters slide over them, and snap into place. The two-pin Euro adapter is removed in the same way as the cover. The three-pin U.K. adapter is removed by '''gently''' pressing the dummy ground pin (black) '''toward the end of the adapter with the cord''' and then sliding it off the adapter.<br />
<br />
Charging an empty battery at 100mA takes 12~15 hours *), at 500mA (PC) takes 2~3 hours, and at 1000mA (wallcharger) takes 1.5~3hours. (90%~100%) <br>*) charging with 100mA will occur only if device is suspended, as otherwise system takes more power than the 100mA provided by USB power source, and your battery never reaches full capacity or even drains slowly.<br />
<br />
{{Note|See [[Neo_FreeRunner_Hardware_Issues|Neo FreeRunner Hardware Issues]] about not allowing the battery to discharge completely.}}<br />
<br />
===Buttons and connectors===<br />
<br />
<table width="80%" style="clear: both; border-collapse: collapse" valign="top"><br />
<tr><br />
<td style="width: 25px">&nbsp;</td><br />
<td style="width: 370px">[[Image:menu9.jpg|370px|thumb|Power Button, USB and external GPS Antenna (left to right)|center]]</td><br />
<td style="width: 25px">&nbsp;</td><br />
<td style="width: 370px">[[Image:menu8.jpg|370px|thumb|AUX Button and headset jack (left to right)|center]]</td><br />
</tr><br />
<tr><br />
<td></td><br />
<td>'''Power'''<br />
Tapping the power button suspends the GTA02.<br />
<br />
Holding the power button shutsdown the device.</td><br />
<td></td><br />
<td>'''Aux'''<br />
Tapping or holding the Aux button locks the screen.<br />
</td><br />
</tr><br />
</table><br />
<br />
'''Phone Jack'''<br />
<br />
The phone jack is a 2.5mm connector with four contacts: stereo + MIC. It is compatible with the headsets used by Motorola smartphones (A780,A1200, ...) and the V-360.<br />
<br />
More information on [[Headset]] page.<br />
<br />
<br />
<br />
===Identifying which revision you have===<br />
You will want to determine which revision of the phone you have<br />
<br />
* remember your date code, the bottom of your shipping box should have a sticker stating it.<br />
* read [[Finding_hardware_revision]]<br />
<br />
These two are important, as they allow you to know which image is flashed on your phone at the factory (c.f. [[Distributions]] and [[GTA02_revisions | Neo FreeRunner (aka GTA02) revisions]]).<br />
<br />
==Software installation==<br />
<br />
Almost all of the software on the Neo FreeRunner can be updated, including the bootloader which is needed to power up the device and the software on the GSM chip.<br />
<br />
By default, the Neo FreeRunner comes with a default [[Distributions| distribution]] flashed in, so you should not need the following yet. Go read [[Om_2008 | OM 2008]] [[Manuals/Om_2008|manual]] to start with your phone right now. You will probably flash your phone later to switch to a newer and actively maintained [[Distributions| distribution]].<br />
<br />
===Installing a bootloader===<br />
<br />
The bootloader is needed to start up the operating system on the phone. Qi is the recommended bootloader for the Neo FreeRunner. Installing it will result in faster booting. If you want to have more than two different operating systems on your phone you should still stick with U-Boot, which is the older bootloader. You can download a bootloader from http://downloads.openmoko.org/distro/testing/NeoFreerunner/ and install it using the program [[NeoTool]] on your Linux PC. (See http://wiki.openmoko.org/wiki/No_Linux if you do not have Linux on your PC)<br />
<br />
===Updating the GSM Firmware===<br />
<br />
The current version of the GSM Firmware is called Moko 11. If you do not have this version installed yet you should do an upgrade, which will fix several issues related to the phone functionality of the FreeRunner.<br />
<br />
<!---THIS SECTION SHOULD NOT BE EDITED HERE BUT ONLY REGULARLY COPIED FROM GSM/Flashing !!!!---><br />
<br />
This works by starting the FreeRunner from a system installed on the uSD, which will automatically apply all needed instructions to flash the GSM firmware to the chip. The uSD image will have to be written on a uSD, which will overwrite all its content, so as to make sure it is repartitioned correctly and that it contains the correct bootable system.<br />
The procedure has proven to do a reliable job on flashing MOKO11 to GTA02. Chances anything fails are minimal if you _strictly_ follow the instructions. There's no way to do any harm to your device by using this method.<br />
<br />
'''Take special care though about the destination of `dd`, it has to be the *physical* device (e.g. foo0) of your uSD-card, *not* any partition (e.g. foo0p1). Also make sure there are *no* mounted partitions left on the uSD when starting `dd`!'''<br><br />
''Triple-check you are not accidentally overwriting your system-HD, by e.g using /dev/sda instead of /dev/sdc! Double-check once more! This is the one-typo-kills-system case ;-) You've been warned.''<br />
<br />
<ol><br />
<li>Download and <tt>untar</tt> http://people.openmoko.org/joerg/calypso_moko_FW/moko11/flash-moko11_uSD-image.tar.gz on your desktop computer. Read the <tt>README.tx</tt> file that came with the tarball.</li><br />
<br />
<li>Insert a uSD to your computer's reader, and unmount all uSD-partitions that might have been automounted (use <tt>mount</tt> or <tt>df -h</tt> to check). Do not use "safely remove" for this.</li><br />
<br />
<li>Use <tt>dd</tt> to write the image <tt>flash-moko11-2.image</tt> to the '''physical'''(!) uSD-device (this will erase all data from your uSD, including previous partition table and partitions! ''It will as well erase all data from your computer's HD, in case you accidentally `dd` to this device instead of uSD''). Log in as root or use sudo to get root privileges needed to write to the uSD card. For example:</li><br />
<br />
% sudo dd if=flash-moko11-2.image of=/dev/mmcblk0<br />
<br />
<li>Execute <tt>sync</tt> or <tt>eject <device></tt> to make sure everything is flushed to the uSD before physically removing it from the reader.</li><br />
<br />
<li>Insert the uSD to your FreeRunner, boot from '''[[Booting_the_Neo_FreeRunner#Log_into_U-Boot_in_the_NOR_Flash|NOR-U-Boot]]''' and select the "Boot from microSD" option.</li><br />
<br />
<li>See the boot and flashing process happen, and wait until a green "d_o_n_e" message shows on screen (takes some 6 min). You may can now remove the uSD or login via ssh and use <tt>mickeyterm</tt> to access the modem and check the firmware version is indeed moko11. Right after flashing, pressing the power button will suspend/resume the Neo, but ''not'' shut it down. If you want to do so, you can either remove the battery by hand, or (more gentle way) log in as root into it through the USB cable (root password is blank), and issue:</li><br />
<br />
# shutdown -h now<br />
</ol><br />
====NOTE====<br />
<br />
If you don't have a uSD reader on your PC, you can <tt>dd</tt> from the Neo: install <tt>task-base-smbfs</tt>, u(n)mount <tt>/media/card</tt>, mount the directory in which you have the <tt>flash-moko11-2.image</tt> file and do the <tt>dd</tt> stuff. This will take about 12 minutes.<br />
<br />
You can speed this up by re-gziping just the image file and using the following command to decompress it directly to the flash card:<br />
<br />
% gzip -d < flash-moko11-2.image.gz > /dev/mmcblk0<br />
<br />
Using this gzip method, you can actually do the update with an in place image as long as it is shell enabled and has 92M free on the main file system (all but Android and Neovento right now). Just get the 92M gzip file to the phone, use the above line to extract it to the card after unmounting.<br />
<br />
Or, maybe in a more simpler manner:<br />
root@om-gta02 ~ $ umount /media/card<br />
and then from desktop:<br />
scp flash-moko11-2.image root@192.168.0.202:/dev/mmcblk0<br />
<br />
====NOTE 2====<br />
<br />
Whether you have [[Qi]] installed or not (see above) as your boot loader, you must power up to the NoR menu (Hold AUX Key, press Power button) and select "Boot from microSD (fat/ext2)" to begin the installation process (per DocScrutinizer in #openmoko). '''Do not''' let Qi boot the uSD. Although it still seems to flash OK, the green "d_o_n_e" does not show up, to give you the warm feeling that everything is OK.<br />
<br />
You can confirm the firmware version number using the [[OpenmokoFramework/mickeyterm|mickeyterm]] (cmd: "AT+CGMR"). In SHR-Settings, Phone/Modem Information will supply the same number.<br />
<br />
===Installing a distribution===<br />
<br />
This section describes how to install a distribution on the internal flash memory of the Neo FreeRunner. If you want to install it on the memory card please refer to the guide provided by the distribution.<br />
<br />
For installing a new distribution you will need two files, a root file system (rootfs) image and a kernel image. The root file system image usually ends with ".jffs2", and the kernel image ends with ".uimage.bin". You can get these files from http://wiki.openmoko.org/wiki/Download . Use the program NeoTool to install the distribution on your FreeRunner. The flashing process can take up to 15 minutes for a ~70MB image. It is also wise to make sure that your Neo has enough battery charge prior to flashing.<br />
<br />
When flashing succeeds the following will be shown:<br />
<br />
<pre><br />
status(0) = No error condition is present<br />
Done!<br />
</pre><br />
<br />
[[Category:Manuals]]</div>Marko Knöblhttp://openmoko.org/wiki/ManualsManuals2010-07-25T14:34:21Z<p>Marko Knöbl: adding link to android manual</p>
<hr />
<div>{{Languages|Manuals}}<br />
<br />
==Devices==<br />
<br />
*[[Manuals/Neo FreeRunner]]<br />
*[[Manuals/Neo 1973]]<br />
<br />
==Distributions==<br />
<br />
*[[Manuals/SHR]]<br />
*[[Manuals/Android]]<br />
*[[Manuals/Om 2008]]<br />
*[[Manuals/Om 2007.2]]<br />
*[[Manuals/Om 2009]]<br />
<br />
==Applications==<br />
<br />
*[[Manuals/Zhone]]<br />
<br />
[[Category:Manuals| ]]</div>Marko Knöblhttp://openmoko.org/wiki/Talk:Android_usageTalk:Android usage2010-07-25T14:33:41Z<p>Marko Knöbl: Talk:Android usage moved to Talk:Manuals/Android: standardized page title</p>
<hr />
<div>#REDIRECT [[Talk:Manuals/Android]]</div>Marko Knöblhttp://openmoko.org/wiki/Talk:Manuals/AndroidTalk:Manuals/Android2010-07-25T14:33:41Z<p>Marko Knöbl: Talk:Android usage moved to Talk:Manuals/Android: standardized page title</p>
<hr />
<div>Does the USB mass storage instructions really work for anybody with the Neo Freerunner? For me the device only appear as a network device whatever I do. --[[User:Jernst|jernst]] 08:16, 27 January 2009 (UTC)<br />
<br />
You are right, it don't works. I was too fast. Sorry. You can del that section --[[User:Tebra|tebra]]<br />
<br />
The option should function, that was a good observation. I corrected anyhow.<br />
Carig <philippines --[[User:Frank|frank]] 03:12, 18 June 2009 (UTC)</div>Marko Knöblhttp://openmoko.org/wiki/Android_usageAndroid usage2010-07-25T14:33:40Z<p>Marko Knöbl: Android usage moved to Manuals/Android: standardized page title</p>
<hr />
<div>#REDIRECT [[Manuals/Android]]</div>Marko Knöblhttp://openmoko.org/wiki/Manuals/AndroidManuals/Android2010-07-25T14:33:40Z<p>Marko Knöbl: Android usage moved to Manuals/Android: standardized page title</p>
<hr />
<div>{{Languages|Android usage}}<br />
<br />
{|align=right<br />
|__TOC__<br />
|}<br />
[[Image:android.png]]<br />
<br />
= Introduction = <br />
<br />
The [http://code.google.com/p/android-on-freerunner/ Android for FreeRunner] development can be found on [http://code.google.com/p/android-on-freerunner/ http://code.google.com/p/android-on-freerunner/]. <br />
<br />
This page is dedicated to the daily usage of Android on the [[Neo 1973]] and [[Neo FreeRunner]] handsets.<br />
<br />
One can find general information (porting/development) about Android on Neo phones here : [[Android]].<br />
<br />
=== Using the Android Manual ===<br />
If you need some support for this Android Manual see [[Using Android Manual]].<br />
<br />
== Installation ==<br />
You need the [http://developer.android.com/sdk/installing.html Android SDK] on your PC/Laptop for executing commands on your Android, taking screenshots and<br />
uploading/downloading files from your [[Freerunner]]. <br />
=== Prepare SD Card ===<br />
On Linux Machine backup current data on Micro SD-Card with adapter. If SD-Card is located in <tt>/dev/sde</tt> use the following commands (replace <tt>/dev/sde</tt> by appropriate device name, <br />
sudo df<br />
will help you to identify the device name and size of SD card:<br />
Create two partitions in the ratio 3 to 1 (e.g. 4000000 blocks): <br />
* '''FAT32''' (3/4 of total size of SD - e.g. blocks 16-3000000) <br />
* '''EXT3''' (1/4 of total size of SD - e.g. blocks 3000001-4000000)<br />
Use fdisk to create partitions:<br />
sudo fdisk /dev/sde<br />
# '''<tt>-> p</tt>''' Check partitions<br />
# '''<tt>-> d -> 1</tt>''' Delete Partition 1 (repeat for other existing partitions)<br />
# '''<tt>-> n -> 1 -> </tt>''' New partition 1 (enter first and last sector)<br />
# '''<tt>-> t -> 1 -> c</tt>''' Set type c for FAT32 (LBA)<br />
# '''<tt>-> a -> 1 </tt>''' Set boot flag for first partition<br />
# '''<tt>-> n -> 2 -> </tt>''' New partition 2 (enter first and last sector)<br />
# '''<tt>-> t -> 2 -> 83</tt>''' Set type 83 for Linux partition<br />
After fdisk operations, format both partitions. If SD-Card is located in <tt>/dev/sde</tt> use the following commands (replace <tt>/dev/sde</tt> by appropriate device name:<br />
# mkfs.vfat -v -n and-media -F 32 /dev/sde1<br />
# mkfs.ext3 -v -L and-data /dev/sde2<br />
If you are root you can remove <tt>sudo</tt> from the command.<br />
<br />
=== Android SDK on PC/Laptop ===<br />
Instruction for installing Android SDK can be found on [http://developer.android.com/sdk/installing.html http://developer.android.com/sdk/installing.html].<br />
* Download Android-SDK package<br />
* On Linux you should append the path to the Android-SDK tools to the PATH-variable. Do do this edit your<br />
** '''<tt>~/.bash_profile</tt>''' or<br />
** '''<tt>~/.bashrc</tt>''' file. <br />
Edit the line that sets the PATH environment variable and append the full path to the SDK directory '''<tt>tools/</tt>''' separated with ":" at the end. If you don't see a line, that exports the PATH variable just add the following line:<br />
<br />
export PATH=${PATH}:<your_sdk_dir>/tools<br />
<br />
=== Android on Freerunner ===<br />
The homepage of [http://code.google.com/p/android-on-freerunner/ Android on Freerunner] can be found on [http://code.google.com/p/android-on-freerunner/ http://code.google.com/p/android-on-freerunner/]. The [http://code.google.com/p/android-on-freerunner/wiki/GetIt code.google-wiki] guides you in preparing an SD-Card on your PC/Laptop, that will be inserted in your freerunner. After that you have reassembled your Freerunner and boot from MircoSD:<br />
* hold the 'Aux button' (top left) in while you push the 'Power button' (bottom right)Android SDK on PC/Laptop<br />
* Select '''Boot from microSD card (FAT+ext2)''' keep pressing the AUX button until the option is highlight <br />
* Execute option '''Boot from microSD card (FAT+ext2)''' by pressing the Power Button.<br />
<br />
== Android Debug Bridge ADB ==<br />
The [[Android debug bridge]] ADB provides an Computer-Freerunner interface. You main need '''adb''', that is part of the [http://developer.android.com/sdk/index.html Android SDK]. You can download ADB by installing the Android-SDK. You will find information regarding [http://developer.android.com/sdk/index.html Android-SDK] on [http://developer.android.com/sdk/index.html http://developer.android.com/sdk/index.html].<br />
<br />
== Screenshots ==<br />
To improve the user guide screenshots are very helpful. Independent of your operating system on your PC (Linux, Mac, Windows) you can make screenshots with the SDK on triggered from your PC. Connect your Freerunner with Android via USB and enable USB-Debugging <br />
* Applications > Development > USB-Debugging <br />
* Anwendungen > Entwicklung > USB-Debugging (German)<br />
You can make screenshots to enhance this guide by using '''[http://developer.android.com/guide/developing/tools/ddms.html ddms]'''.<br />
<br />
There are application for making a screenshot directly on your Freerunner, but you need a '''rooted Android''' for this.<br />
<br />
<br />
<br />
= Getting started =<br />
== Installation of Android on Freerunner ==<br />
If you have prepared your SD-Card with as mentioned above in this article, you have to do just two more steps:<br />
* Download the [http://code.google.com/p/android-on-freerunner/downloads/list installation package] and copy it unpacked on FAT32 partition of you SD card.<br />
* Switch off your freerunner and [http://wiki.openmoko.org/wiki/Booting_the_Neo_FreeRunner Press/hold AUX-Button and press Power button together].<br />
=== Backup your old Android User Data ===<br />
If you already Android for Freerunner on your FR, you should backup your data before See [http://code.google.com/p/android-on-freerunner/wiki/GetIt Installing Android on Openmoko Freerunner] for further information.<br />
<br />
=== Android ADB connection ===<br />
Establish USB Connection, e.g.<br />
# ifconfig usb0 192.168.0.200 netmask 255.255.255.0<br />
Add the following <br />
As root kill adb server and add device on 192.168.0.202<br />
# adb kill-server <br />
# ADBHOST=192.168.0.202 adb devices<br />
or on Ubuntu start an xterm window with<br />
sudo xterm<br />
and execute the commands mentioned above in that window.<br />
<br />
* [http://code.google.com/p/android-on-freerunner/wiki/AndroidDebugBridge Google Android ADB Information]<br />
<br />
==Buttons and Keyboard ==<br />
<br />
=== The Power button ===<br />
<br />
* To turn the phone '''on'''; press and hold the power button for about 5 seconds<br />
<br />
* To put the phone to '''sleep''' (and so lock it): hold the power button for about 1 second<br />
<br />
* To '''wake''' the phone from sleep: tap the power button once, then once more to unlock the screen<br />
<br />
* To turn the phone''' off''': First wake it from sleep, then hold the power button for about 2 seconds. Choose 'Power off' in the menu that appears then click 'OK' Use the back button (aux) to delete the menu if one wants to continue. <br />
<br />
* Tap the power button once to get the on screen keyboard. In many applications it also brings extra options.<br />
<br />
=== The Aux button ===<br />
The aux button is configured as the back button.<br />
If the application recognizes the back action, like the browser, it goes a page or action back. If not recognized, one leaves the application to the previous situation. Note the application is not killed. It stays active.<br />
<br />
Pressing the AUX button for more than 3sec than all active application can be selected.<br />
<br />
=== The Home Button ===<br />
<br />
The G1 and G2 Android phones have a home button, a long press on this button creates a window with all the running applications. <br />
<br />
There is no clear key now, to show the running applications. Sometimes by chance a window with icons of the running applications appears, and then one can jump to a different running application.<br />
<br />
I suggest to create this button from a two second press on the aux button. A window with the icons of the running applications will appear. By tapping on the wanted application we can than jump to the running application.<br />
<br />
=== The Keyboard ===<br />
The keyboard appears when you select a field for input text or numbers.<br />
<br />
== Making a call ==<br />
<br />
Once the phone has started you will see a 'Dialer' icon on the desktop. Tap it and you will be presented with a dialing keypad. Enter the number you wish to dial and then touch the bar containing the number to call. If you make a mistake entering the number you can touch the backspace arrow to the right of the bar.<br />
<br />
Caveats<br />
* The volume level when in a voice call is very low<br />
<br />
==Sending an SMS==<br />
<br />
Start SMS Application in Main Window.<br />
<br />
<br />
<br />
== Copy and pasting ==<br />
<br />
Android has a copy and paste feature built in to it. By touching and holding on a text entry box for about 2 seconds the copy & paste menu will appear.<br />
<br />
= Subsystems =<br />
<br />
<br />
=== Accelerometers ===<br />
Works, can be tested with a simple game called [http://andappstore.com/AndroidPhoneApplications/apps/8872 Amazed]. This can be installed on the current AoF images.<br />
<br />
Android Eclair makes use of the accelerometers.<br />
<br />
=== Bluetooth ===<br />
Works, latest kernels need permissions for second rfkill interface in init.rc to turn it on.<br />
<br />
=== GPS ===<br />
Works, you can [[#Install new software|install]] [http://www.andnav.org AndNav2] to test it.<br />
AndNav2 is e beta version and the useable period is over. <br />
<br />
Proper working of GPS can observed with YGPS Satellites. It shows signal strength and location of each satellite.<br />
<br />
=== GPRS ===<br />
<br />
To set up GPRS you need to enter the correct settings for your network: Tap the Application tab followed by Settings > Wireless controls > Mobile networks > Access Point Names. Now if you press the power button, a menu will appear allowing you to add a 'New APN'. Touch this then add your network's GPRS & MMS settings.<br />
<br />
Once you have entered your APN details it maybe necessary to follow this procedure to start GPRS (you will only need to do this once):<br />
<br />
Turn on Airplane mode, reboot, turn off Airplane mode<br />
<br />
You may also have to carry out the [http://wiki.openmoko.org/wiki/Android_usage#DNS_Fix DNS fix] described below.<br />
<br />
<br />
==== APN settings ====<br />
<br />
You can find most networks 'mcc' and 'mnc' numbers [http://android.v-dh.nl/internet.php here]<br />
<br />
* O2 UK - Pay as you go<br />
<br />
Enter these details to set up GPRS:<br />
<br />
carrier="o2-UK-PAYG" (Name - can be anything)<br />
mcc="234"<br />
mnc="10"<br />
apn="payandgo.o2.co.uk"<br />
user="payandgo"<br />
server="Not set"<br />
password="password"<br />
type="default"<br />
<br />
These details are also correct o2 settings but don't enter them, they stop GPRS from working properly at the moment.<br />
<br />
mmsc="http://mmsc.mms.02.co.uk:8002"<br />
proxy="193.113.200.195"<br />
port="9201"<br />
mmsproxy="193.113.200.195"<br />
mmsport="9201"<br />
<br />
* T-Mobile UK<br />
<br />
Enter these details to set up GPRS:<br />
<br />
carrier="T-Mobile-UK" (Name - can be anything)<br />
mcc="234"<br />
mnc="30"<br />
apn="general.t-mobile.uk"<br />
user="user"<br />
server="149.254.1.10"<br />
# server="149.254.201.132" (alternate server)<br />
password="wap"<br />
type="default"<br />
<br />
* Orange France<br />
Source : [http://www.planete-android.com/index.php/parametrage-operateurs-francais.html French Network parameter]<br />
<br />
GPRS settings (work): <br />
apn="orange"<br />
user="orange"<br />
password="orange"<br />
mcc="208"<br />
mnc="01"<br />
type="default"<br />
<br />
MMS settings (untested) :<br />
apn="orange.acte"<br />
proxy="192.168.10.200"<br />
port="8080"<br />
user="orange"<br />
password : "orange"<br />
mmsc="http://mms.orange.fr"<br />
mms port="8080" <br />
mcc="208"<br />
mnc"01"<br />
type="mms"<br />
<br />
Force use of Orange DNS in the ip-up script located in /system/etc/ppp :<br />
/system/bin/setprop "net.gprs.dns1" "194.051.003.056"<br />
<br />
<br />
* Cingular/Att U.S. (working with dns fix(14.6-cupcake), other than sending mms)<br />
<br />
apn="wap.cingular"<br />
username="wap@cingulargprs.com"<br />
pass="cingular1"<br />
mmsc="mmsc.cingular.com"<br />
mms proxy="wireless.cingular.com"<br />
mms port = 80<br />
mcc= 310<br />
mnc= 410<br />
<br />
== Wifi ==<br />
<br />
Wifi works on current distribution of Android, it switches off, when Display goes black. When you use [[SipDroid]] SIP-Client for VoIP over Wifi, you will loose network connection.<br />
<br />
= Applications =<br />
<br />
You can find a '''[http://code.google.com/p/android-on-freerunner/wiki/Applications list of Android applications]''' recommended by users of [http://code.google.com/p/android-on-freerunner/wiki/GetIt Android on Freerunner (AoF)]. <br />
<br />
== Navigation ==<br />
* [http://wiki.navit-project.org/index.php/Navit_on_Android Navit for Android]<br />
* [http://www.andnav.org/ AndNav2]<br />
== VoIP ==<br />
* [[SipDroid]] lets you make phone calls over internet with your the internet connection of WiFi or your data flatrate, to save mobile phone costs and stay connected with one SIP-Account used at your home internet access and with your freerunner at the same time, e.g. with SIPgate you can register a SIP-Account that has real landline phone number. If you register this account in [[SipDroid]] you can accept landline phone calls e.g. in Germany with you Freerunner from anywhere in the world.<br />
<br />
== Contacts ==<br />
<br />
=== Importing ===<br />
==== From Vcard ====<br />
# [[#Install new software|install]] [http://www.dusystems.com/importContacts.html "Android Contacts Import"] (this application is also available from [[#AndAppStore|AndAppStore]])<br />
# export your contact(s) as a vcard file from your contact application<br />
# [[#Copy files|copy]] the file to your phone /sdcard/ directory<br />
# on your phone run the ImportContacts application, choose the file you copied and select import. Wait until the phone says x vcards imported<br />
<br />
That's it if you don't see your contacts, make sure you selected "view all contacts" in the contacts application options (contacts > power button > Display group > All contacts)<br />
<br />
It imports only names and telephone numbers, everything else is not imported.<br />
<br />
==== From SIM ====<br />
Works, Contacts->menu->Settings->SIM contacts importer.<br />
<br />
=== Synchronization ===<br />
<br />
== Calendar ==<br />
<br />
=== Importing ===<br />
<br />
=== Synchronization ===<br />
<br />
== Files ==<br />
<br />
=== Copying ===<br />
You can copy files to your phone using either <br />
* [[#USB mass storage|USB mass storage]]<br />
<br />
This option is not (yet) available in Koolu beta 7 <br />
<br />
or, from the command line using<br />
<br />
* the [[Android debug bridge]] to copy files to your phone :<br />
ADBHOST=192.168.0.202 ./adb push file.txt /sdcard/<br />
<br />
== Media ==<br />
Can play OGG audio files and view pictures with the default applications<br />
<br />
= Others =<br />
<br />
<br />
<br />
== Suspend ==<br />
Waking up your phone might be a little bit tricky at the moment, there are several recipe/hints submitted by different people :<br />
* 1-2s press of power button goes to sleep, wake up with long power button press, don't use screen timeouts, disable it in Settings->Sound & display->Screen timeout->Never timeout.<br />
* Michael Trimarchi's images allow resume from suspend after two short presses. However, sometimes it takes a few tries for the phone to wake up.<br />
* For me resume works best if i long press power until the main screen appears and the short power press that unlocks screen.<br />
* During suspend the phone seems to wake up make an audible click and go back to sleep.<br />
<br />
==USB==<br />
=== USB networking ===<br />
The general [[USB Networking]] guide should help you talk to your FreeRunner using IP over USB. However, please note that Android doesn't come with an ssh server installed by default. In order to gain shell access without an additional ssh server you can follow the instructions on the [[Android debug bridge]] page.<br />
<br />
=== USB Host mode ===<br />
* [http://code.google.com/p/android-on-freerunner/downloads/list http://code.google.com/p/android-on-freerunner/downloads/list] Build Version 0.1.1<br />
<pre><br />
echo 1 > /sys/class/i2c-adapter/i2c-0/0-0073/neo1973-pm-host.0/hostmode<br />
echo host > /sys/devices/platform/s3c-ohci/usb_mode<br />
</pre><br />
<br />
{{todo|If you know how to change the USB mode with Android, please explain it here.}}<br />
<br />
=== USB keyboard ===<br />
I bought a mini USB keyboard that for my Neo, if someone has simple directions to use it with android, please explain it here.<br />
<br />
=== USB mass storage ===<br />
This setting is named "Enable USB mass storage". If you don't find it on Settings -> SD card & phone storage, you have to unhide it with [http://www.4shared.com/account/file/76203324/508fa871/Anycut.html Anycut]. Install it then make a new shortcut Activity -> SD Card. Use this new shortcut to activate the option. This is not persistent after a reboot. See also [http://rivviepop.wordpress.com/2008/11/19/mount-your-g1-android-sd-card-automatically-rc29-rc30/]<br />
<br />
{{todo|This doesn't seem to work with the Neo FreeRunner and current Android images.}}<br />
<br />
= Software installation and updates =<br />
For initial Android flashing, take a look at: [[Android on Freerunner]]<br />
<br />
== Install new software ==<br />
You can find a '''[http://code.google.com/p/android-on-freerunner/wiki/Applications list of Android applications]''' recommended by users of [http://code.google.com/p/android-on-freerunner/wiki/GetIt Android on Freerunner (AoF)]. <br />
<br />
=== Manual install ===<br />
==== Links/Video Tutorial on Installation ====<br />
* [http://www.talkandroid.com/android-forums/android-applications/451-how-install-applications-arent-android-marketplace.html How To Install Software] that is not in your package manager on Android<br />
* [http://code.google.com/p/android-on-freerunner/wiki/Applications Suggested Software for Android on Freerunner]<br />
==== Manual install with browser download on Freerunner ====<br />
* Enable to '''unknown source''' in Android settings > Application<br />
* connect with WiFi to Access Point<br />
* Use browser to navigate to download page<br />
* Click to download software on your Freerunner<br />
* Drag down top bar on browser window and wait until download is finished<br />
* Click on downloaded file and install (Check features the software want to have access to)<br />
* Install software<br />
Please be careful which software you install on your system.<br />
<br />
==== Manual install from Laptop/PC with ADB ====<br />
Applications are packaged in .apk packages, to install a package (downloaded on your computer) do <br />
<br />
./adb install app.apk<br />
<br />
After making sure you can talk to your phone using the [[Android debug bridge]]<br />
<br />
=== Package managers ===<br />
==== Android Market Place ====<br />
Currently it is not possible to use the Android Market Place with the Neo Freerunner.<br />
<br />
==== AndAppStore ====<br />
AndAppStore is an alternate source for Android software and works on the Neo Freerunner. It is installed by default in current Koolu images but you can [[#Manual install|install manually]] their [http://andappstore.com/AndroidPhoneApplications/apps/7661 client].<br />
<br />
=== Update software (without reflashing) ===<br />
<br />
= Troubleshooting =<br />
<br />
== Android Debug Bridge ==<br />
<br />
To assist in debugging and to gain shell access to the phone with Android, you can use the instructions found here: [[Android debug bridge]]<br />
<br />
== SD Card unavailable ==<br />
<br />
<br />
Type in the the Android Terminal emulator (under Development Tools)<br />
<br />
setprop EXTERNAL_STORAGE_STATE mounted<br />
<br />
or run <br />
<br />
adb shell setprop EXTERNAL_STORAGE_STATE mounted <br />
<br />
with the freerunner connected to a computer which has the Android SDK.<br />
<br />
= Links =<br />
* [http://code.google.com/p/android-on-freerunner/ Android on Freerunner] Main Page<br />
* [http://code.google.com/p/android-on-freerunner/wiki/GetIt Wiki Page on Installation]<br />
* [http://www.talkandroid.com/android-forums/android-applications/451-how-install-applications-arent-android-marketplace.html How To Install Software] that is not in your package manager on Android<br />
* [http://code.google.com/p/android-on-freerunner/wiki/Applications Suggested Software for Android on Freerunner]<br />
<br />
<br />
[[Category:Android]]</div>Marko Knöblhttp://openmoko.org/wiki/DistributorsDistributors2010-07-03T12:08:31Z<p>Marko Knöbl: </p>
<hr />
<div>Openmoko devices and accessories are sold by many distributors around the world. The following table gives you an overview of the different distributors in your area selling the [[Neo FreeRunner]]. Furthermore there is an [http://www.openmoko.com/freerunner_distributors.html?iframe official list] with less details. All orders should include a USB-cable and an AC adapter. Prices don't include shipment. The table does not say anything about the quality of a distributor. The exchange rates used are the average rates from the previous month. Some entries may be outdated. Please help to keep it up to date and note the date of your last update so that it is easy to identify outdated information.<br />
<br />
{| class="wikitable sortable" border=1<br />
! Distributor<br />
! Continent<br />
! Country<br />
! Version<br />
! [[GSM buzz|buzz fix]]<br />
! Price (inc. VAT)<br />
! Warranty<br />
! Included extras<br />
! Last update<br />
|-<br />
| [http://www.engineeringideas.co.za/ Engineeringideas]<br />
| Africa<br />
| South Africa<br />
| A7<br />
| {{yes}}<br />
| 334 USD (R2,550.00)<br />
| 0 years (None)<br />
| Stylus<br />
| 2010-05-31<br />
|-<br />
| [http://idasystems.net/products IDA Systems]<br />
| Asia<br />
| India<br />
| A7<br />
| {{yes}}<br />
| 516 USD (24000 INR)<br />
| 1 year<br />
| <br />
| 2010-07-03<br />
|-<br />
| [http://openmoko.kd85.com kd85.com]<br />
| Europe<br />
| Belgium<br />
| A7<br />
| {{yes}}<br />
| 347 USD (284 EUR)<br />
| 2 years<br />
| debug board, headset, pouch, stylus<br />
| 2010-07-03<br />
|-<br />
| [http://freerunner.cz freerunner.cz]<br />
| Europe<br />
| Czech Republic<br />
| A7<br />
| {{yes}}<br />
| 403 USD (8500 CZK)<br />
| 2 years<br />
| case, headset, stylus<br />
| 2010-07-03<br />
|-<br />
| [http://openmobile.nl openmobile.nl]<br />
| Europe<br />
| Netherlands<br />
| A6<br />
| {{no}}<br />
| 318 USD (260 EUR)<br />
| 1 year<br />
| stylus, 2 GB memory card<br />
| 2010-07-03<br />
|-<br />
| [http://openmobile.nl openmobile.nl]<br />
| Europe<br />
| Netherlands<br />
| A7<br />
| {{yes}}<br />
| 336 USD (275 EUR)<br />
| 1 year<br />
| stylus, 2 GB memory card<br />
| 2010-07-03<br />
|-<br />
| [http://bearstech.com/shop bearstech.com]<br />
| Europe<br />
| France<br />
| A7<br />
| {{yes}}<br />
| 391 USD (320 EUR)<br />
| 1 year<br />
| headset, pouch<br />
| 2010-07-03<br />
|-<br />
| [http://www.handheld-linux.com/wiki.php?page=Neo%20Freerunner Golden Delicious Computers]<br />
| Europe<br />
| Germany<br />
| A7<br />
| {{yes}}<br />
| 341 USD (279 EUR)<br />
| 2 years<br />
| [[Debug Board v3]], instructions, stylus<br />
| 2010-07-03<br />
|-<br />
| [http://www.handheld-linux.com/wiki.php?page=Neo%20Freerunner Golden Delicious Computers]<br />
| Europe<br />
| Germany<br />
| A7+<br />
| {{yes}}<br />
| 365 USD (299 EUR)<br />
| 2 years<br />
| [[Debug Board v3]], instructions, stylus, #1024 Fix<br />
| 2010-07-03<br />
|-<br />
| [http://www.handheld-linux.com/wiki.php?page=Neo%20Freerunner Golden Delicious Computers]<br />
| Europe<br />
| Germany<br />
| A7++<br />
| {{yes}}<br />
| 396 USD (324 EUR)<br />
| 2 years<br />
| [[Debug Board v3]], instructions, stylus, #1024 Fix, Bass rework<br />
| 2010-07-03<br />
|-<br />
| [http://www.pulster.eu Pulster]<br />
| Europe<br />
| Germany<br />
| A7<br />
| {{yes}}<br />
| 280 USD (229 EUR)<br />
| 2 years<br />
| display protection, printed manual<br />
| 2010-07-03<br />
|-<br />
| [http://www.mobilesolutions.pl/107,openmoko-neo-freerunner-gta02.html?PHPSESSID=8b8287a11d3995d36d71ad37a75034fb Mobile Solutions]<br />
| Europe<br />
| Poland<br />
| A6<br />
| {{no}}<br />
| 298 USD (1000 PLN)<br />
| 2 years<br />
| headset, pouch, stylus<br />
| 2010-07-03<br />
|-<br />
| [http://www.linuxcenter.ru/shop/embedded/smartphones_and_pda/openmoko_neo_freeRunner/ Linuxcenter.ru]<br />
| Europe<br />
| Russia<br />
| ?<br />
| ?<br />
| 480 USD (15000 RUB)<br />
| ?<br />
| stylus<br />
| 2010-07-03<br />
|-<br />
| [http://openmobil.eu OpenMobil.eu]<br />
| Europe<br />
| Slovakia<br />
| ?<br />
| ?<br />
| 317 USD (259 EUR)<br />
| 2 years<br />
|<br />
| 2010-07-03<br />
|-<br />
| [http://www.tuxbrain.com/ tuxbrain]<br />
| Europe<br />
| Spain<br />
| A7<br />
| {{yes}}<br />
| 317 USD (259.60 EUR)<br />
| 2 Years<br />
| headset, stylus, USB F/F gender changer<br />
| 2010-07-03<br />
|-<br />
| [http://www.openmoko.se openmoko.se]<br />
| Europe<br />
| Sweden<br />
| <br />
| ?<br />
| 312 USD (255 EUR)<br />
| ?<br />
| 512 MB memory card<br />
| 2010-07-03<br />
|-<br />
| [http://dshop.ch/osc/advanced_search_result.php?keywords=neo%20freerunner&language=de dshop]<br />
| Europe<br />
| Switzerland<br />
| A7<br />
| {{yes}}<br />
| 296 USD (333 CHF)<br />
| 0.25 years (3 months)<br />
| stylus<br />
| 2010-07-03<br />
|-<br />
| [http://www.mokophoneshop.com/ Openmoko Shop Switzerland]<br />
| Europe<br />
| Switzerland<br />
| ?<br />
| ?<br />
| 444 USD (500 CHF)<br />
| ?<br />
| <br />
| 2010-07-03<br />
|-<br />
| [https://www.truebox.co.uk/trueboxportal/index.php?wk=Openmoko TrueBox]<br />
| Europe<br />
| United Kingdom<br />
| ?<br />
| ?<br />
| 459 USD (313 GBP)<br />
| 1 year (UK only)<br />
| <br />
| 2010-07-03<br />
|-<br />
| [http://www.gp2xstore.com/openmoko-neo-freerunner-gsm-850-phone.html GP2X Store]<br />
| North America<br />
| USA<br />
| ?<br />
| ?<br />
| 300 USD<br />
| 1 year<br />
| stylus<br />
| 2010-07-03<br />
|-<br />
| [http://www.sdgsystems.com/estore/cart.php?target=category&category_id=17 SDG Systems]<br />
| North America<br />
| USA<br />
| A7<br />
| {{yes}}<br />
| ?<br />
| ?<br />
| headset, pouch, stylus<br />
| 2010-07-03<br />
|-<br />
| [http://www.isolve.com.br/ iSolve]<br />
| South America<br />
| Brazil<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
| 2010-07-03<br />
|}<br />
<br />
[[Category:Purchase]]</div>Marko Knöblhttp://openmoko.org/wiki/DistributorsDistributors2010-07-03T12:04:51Z<p>Marko Knöbl: updating USD prices</p>
<hr />
<div>Openmoko devices and accessories are sold by many distributors around the world. The following table gives you an overview of the different distributors in your area selling the [[Neo FreeRunner]]. Furthermore there is an [http://www.openmoko.com/freerunner_distributors.html?iframe official list] with less details. All orders should include a USB-cable and an AC adapter. Prices don't include shipment. The table does not say anything about the quality of a distributor. The exchange rates used are the average rates from the previous month. Some entries may be outdated. Please help to keep it up to date and note the date of your last update so that it is easy to identify outdated information.<br />
<br />
{| class="wikitable sortable" border=1<br />
! Distributor<br />
! Continent<br />
! Country<br />
! Version<br />
! [[GSM buzz|buzz fix]]<br />
! Price (inc. VAT)<br />
! Warranty<br />
! Included extras<br />
! Last update<br />
|-<br />
| [http://www.engineeringideas.co.za/ Engineeringideas]<br />
| Africa<br />
| South Africa<br />
| A7<br />
| {{yes}}<br />
| 334 USD (R2,550.00)<br />
| 0 years (None)<br />
| Stylus<br />
| 2010-05-31<br />
|-<br />
| [http://idasystems.net/products IDA Systems]<br />
| Asia<br />
| India<br />
| A7<br />
| {{yes}}<br />
| 516 USD (24000 INR)<br />
| 1 year<br />
| <br />
| 2010-05-31<br />
|-<br />
| [http://openmoko.kd85.com kd85.com]<br />
| Europe<br />
| Belgium<br />
| A7<br />
| {{yes}}<br />
| 347 USD (284 EUR)<br />
| 2 years<br />
| debug board, headset, pouch, stylus<br />
| 2010-05-31<br />
|-<br />
| [http://freerunner.cz freerunner.cz]<br />
| Europe<br />
| Czech Republic<br />
| A7<br />
| {{yes}}<br />
| 403 USD (8500 CZK)<br />
| 2 years<br />
| case, headset, stylus<br />
| 2010-05-31<br />
|-<br />
| [http://openmobile.nl openmobile.nl]<br />
| Europe<br />
| Netherlands<br />
| A6<br />
| {{no}}<br />
| 318 USD (260 EUR)<br />
| 1 year<br />
| stylus, 2 GB memory card<br />
| 2010-05-31<br />
|-<br />
| [http://openmobile.nl openmobile.nl]<br />
| Europe<br />
| Netherlands<br />
| A7<br />
| {{yes}}<br />
| 336 USD (275 EUR)<br />
| 1 year<br />
| stylus, 2 GB memory card<br />
| 2010-05-31<br />
|-<br />
| [http://bearstech.com/shop bearstech.com]<br />
| Europe<br />
| France<br />
| A7<br />
| {{yes}}<br />
| 391 USD (320 EUR)<br />
| 1 year<br />
| headset, pouch<br />
| 2010-05-31<br />
|-<br />
| [http://www.handheld-linux.com/wiki.php?page=Neo%20Freerunner Golden Delicious Computers]<br />
| Europe<br />
| Germany<br />
| A7<br />
| {{yes}}<br />
| 341 USD (279 EUR)<br />
| 2 years<br />
| [[Debug Board v3]], instructions, stylus<br />
| 2010-05-31<br />
|-<br />
| [http://www.handheld-linux.com/wiki.php?page=Neo%20Freerunner Golden Delicious Computers]<br />
| Europe<br />
| Germany<br />
| A7+<br />
| {{yes}}<br />
| 365 USD (299 EUR)<br />
| 2 years<br />
| [[Debug Board v3]], instructions, stylus, #1024 Fix<br />
| 2010-05-31<br />
|-<br />
| [http://www.handheld-linux.com/wiki.php?page=Neo%20Freerunner Golden Delicious Computers]<br />
| Europe<br />
| Germany<br />
| A7++<br />
| {{yes}}<br />
| 396 USD (324 EUR)<br />
| 2 years<br />
| [[Debug Board v3]], instructions, stylus, #1024 Fix, Bass rework<br />
| 2010-05-31<br />
|-<br />
| [http://www.pulster.eu Pulster]<br />
| Europe<br />
| Germany<br />
| A7<br />
| {{yes}}<br />
| 280 USD (229 EUR)<br />
| 2 years<br />
| display protection, printed manual<br />
| 2010-05-31<br />
|-<br />
| [http://www.mobilesolutions.pl/107,openmoko-neo-freerunner-gta02.html?PHPSESSID=8b8287a11d3995d36d71ad37a75034fb Mobile Solutions]<br />
| Europe<br />
| Poland<br />
| A6<br />
| {{no}}<br />
| 298 USD (1000 PLN)<br />
| 2 years<br />
| headset, pouch, stylus<br />
| 2010-05-31<br />
|-<br />
| [http://www.linuxcenter.ru/shop/embedded/smartphones_and_pda/openmoko_neo_freeRunner/ Linuxcenter.ru]<br />
| Europe<br />
| Russia<br />
| ?<br />
| ?<br />
| 480 USD (15000 RUB)<br />
| ?<br />
| stylus<br />
| 2010-05-31<br />
|-<br />
| [http://openmobil.eu OpenMobil.eu]<br />
| Europe<br />
| Slovakia<br />
| ?<br />
| ?<br />
| 317 USD (259 EUR)<br />
| 2 years<br />
|<br />
| 2010-05-31<br />
|-<br />
| [http://www.tuxbrain.com/ tuxbrain]<br />
| Europe<br />
| Spain<br />
| A7<br />
| {{yes}}<br />
| 317 USD (259.60 EUR)<br />
| 2 Years<br />
| headset, stylus, USB F/F gender changer<br />
| 2010-05-31<br />
|-<br />
| [http://www.openmoko.se openmoko.se]<br />
| Europe<br />
| Sweden<br />
| <br />
| ?<br />
| 312 USD (255 EUR)<br />
| ?<br />
| 512 MB memory card<br />
| 2010-05-31<br />
|-<br />
| [http://dshop.ch/osc/advanced_search_result.php?keywords=neo%20freerunner&language=de dshop]<br />
| Europe<br />
| Switzerland<br />
| A7<br />
| {{yes}}<br />
| 296 USD (333 CHF)<br />
| 0.25 years (3 months)<br />
| stylus<br />
| 2010-06-01<br />
|-<br />
| [http://www.mokophoneshop.com/ Openmoko Shop Switzerland]<br />
| Europe<br />
| Switzerland<br />
| ?<br />
| ?<br />
| 444 USD (500 CHF)<br />
| ?<br />
| <br />
| 2010-05-31<br />
|-<br />
| [https://www.truebox.co.uk/trueboxportal/index.php?wk=Openmoko TrueBox]<br />
| Europe<br />
| United Kingdom<br />
| ?<br />
| ?<br />
| 459 USD (313 GBP)<br />
| 1 year (UK only)<br />
| <br />
| 2010-05-31<br />
|-<br />
| [http://www.gp2xstore.com/openmoko-neo-freerunner-gsm-850-phone.html GP2X Store]<br />
| North America<br />
| USA<br />
| ?<br />
| ?<br />
| 300 USD<br />
| 1 year<br />
| stylus<br />
| 2010-05-31<br />
|-<br />
| [http://www.sdgsystems.com/estore/cart.php?target=category&category_id=17 SDG Systems]<br />
| North America<br />
| USA<br />
| A7<br />
| {{yes}}<br />
| ?<br />
| ?<br />
| headset, pouch, stylus<br />
| 2010-05-31<br />
|-<br />
| [http://www.isolve.com.br/ iSolve]<br />
| South America<br />
| Brazil<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
| 2010-05-31<br />
|}<br />
<br />
[[Category:Purchase]]</div>Marko Knöblhttp://openmoko.org/wiki/DistributorsDistributors2010-07-03T11:56:34Z<p>Marko Knöbl: updating list</p>
<hr />
<div>Openmoko devices and accessories are sold by many distributors around the world. The following table gives you an overview of the different distributors in your area selling the [[Neo FreeRunner]]. Furthermore there is an [http://www.openmoko.com/freerunner_distributors.html?iframe official list] with less details. All orders should include a USB-cable and an AC adapter. Prices don't include shipment. The table does not say anything about the quality of a distributor. The exchange rates used are the average rates from the previous month. Some entries may be outdated. Please help to keep it up to date and note the date of your last update so that it is easy to identify outdated information.<br />
<br />
{| class="wikitable sortable" border=1<br />
! Distributor<br />
! Continent<br />
! Country<br />
! Version<br />
! [[GSM buzz|buzz fix]]<br />
! Price (inc. VAT)<br />
! Warranty<br />
! Included extras<br />
! Last update<br />
|-<br />
| [http://www.engineeringideas.co.za/ Engineeringideas]<br />
| Africa<br />
| South Africa<br />
| A7<br />
| {{yes}}<br />
| 334 USD (R2,550.00)<br />
| 0 years (None)<br />
| Stylus<br />
| 2010-05-31<br />
|-<br />
| [http://idasystems.net/products IDA Systems]<br />
| Asia<br />
| India<br />
| A7<br />
| {{yes}}<br />
| 525 USD (24000 INR)<br />
| 1 year<br />
| <br />
| 2010-05-31<br />
|-<br />
| [http://openmoko.kd85.com kd85.com]<br />
| Europe<br />
| Belgium<br />
| A7<br />
| {{yes}}<br />
| 357 USD (284 EUR)<br />
| 2 years<br />
| debug board, headset, pouch, stylus<br />
| 2010-05-31<br />
|-<br />
| [http://freerunner.cz freerunner.cz]<br />
| Europe<br />
| Czech Republic<br />
| A7<br />
| {{yes}}<br />
| 416 USD (8500 CZK)<br />
| 2 years<br />
| case, headset, stylus<br />
| 2010-05-31<br />
|-<br />
| [http://openmobile.nl openmobile.nl]<br />
| Europe<br />
| Netherlands<br />
| A6<br />
| {{no}}<br />
| 330 USD (260 EUR)<br />
| 1 year<br />
| stylus, 2 GB memory card<br />
| 2010-05-31<br />
|-<br />
| [http://openmobile.nl openmobile.nl]<br />
| Europe<br />
| Netherlands<br />
| A7<br />
| {{yes}}<br />
| 346 USD (275 EUR)<br />
| 1 year<br />
| stylus, 2 GB memory card<br />
| 2010-05-31<br />
|-<br />
| [http://bearstech.com/shop bearstech.com]<br />
| Europe<br />
| France<br />
| A7<br />
| {{yes}}<br />
| 402 USD (320 EUR)<br />
| 1 year<br />
| headset, pouch<br />
| 2010-05-31<br />
|-<br />
| [http://www.handheld-linux.com/wiki.php?page=Neo%20Freerunner Golden Delicious Computers]<br />
| Europe<br />
| Germany<br />
| A7<br />
| {{yes}}<br />
| 351 USD (279 EUR)<br />
| 2 years<br />
| [[Debug Board v3]], instructions, stylus<br />
| 2010-05-31<br />
|-<br />
| [http://www.handheld-linux.com/wiki.php?page=Neo%20Freerunner Golden Delicious Computers]<br />
| Europe<br />
| Germany<br />
| A7+<br />
| {{yes}}<br />
| 376 USD (299 EUR)<br />
| 2 years<br />
| [[Debug Board v3]], instructions, stylus, #1024 Fix<br />
| 2010-05-31<br />
|-<br />
| [http://www.handheld-linux.com/wiki.php?page=Neo%20Freerunner Golden Delicious Computers]<br />
| Europe<br />
| Germany<br />
| A7++<br />
| {{yes}}<br />
| 407 USD (324 EUR)<br />
| 2 years<br />
| [[Debug Board v3]], instructions, stylus, #1024 Fix, Bass rework<br />
| 2010-05-31<br />
|-<br />
| [http://www.pulster.eu Pulster]<br />
| Europe<br />
| Germany<br />
| A7<br />
| {{yes}}<br />
| 288 USD (229 EUR)<br />
| 2 years<br />
| display protection, printed manual<br />
| 2010-05-31<br />
|-<br />
| [http://www.mobilesolutions.pl/107,openmoko-neo-freerunner-gta02.html?PHPSESSID=8b8287a11d3995d36d71ad37a75034fb Mobile Solutions]<br />
| Europe<br />
| Poland<br />
| A6<br />
| {{no}}<br />
| 309 USD (1000 PLN)<br />
| 2 years<br />
| headset, pouch, stylus<br />
| 2010-05-31<br />
|-<br />
| [http://www.linuxcenter.ru/shop/embedded/smartphones_and_pda/openmoko_neo_freeRunner/ Linuxcenter.ru]<br />
| Europe<br />
| Russia<br />
| ?<br />
| ?<br />
| 492 USD (15000 RUB)<br />
| ?<br />
| stylus<br />
| 2010-05-31<br />
|-<br />
| [http://openmobil.eu OpenMobil.eu]<br />
| Europe<br />
| Slovakia<br />
| ?<br />
| ?<br />
| 300 USD (259 EUR)<br />
| 2 years<br />
|<br />
| 2010-05-31<br />
|-<br />
| [http://www.tuxbrain.com/ tuxbrain]<br />
| Europe<br />
| Spain<br />
| A7<br />
| {{yes}}<br />
| 321 USD (259.60 EUR)<br />
| 2 Years<br />
| headset, stylus, USB F/F gender changer<br />
| 2010-05-31<br />
|-<br />
| [http://www.openmoko.se openmoko.se]<br />
| Europe<br />
| Sweden<br />
| <br />
| ?<br />
| 320 USD (255 EUR)<br />
| ?<br />
| 512 MB memory card<br />
| 2010-05-31<br />
|-<br />
| [http://dshop.ch/osc/advanced_search_result.php?keywords=neo%20freerunner&language=de dshop]<br />
| Europe<br />
| Switzerland<br />
| A7<br />
| {{yes}}<br />
| 295 USD (333 CHF)<br />
| 0.25 years (3 months)<br />
| stylus<br />
| 2010-06-01<br />
|-<br />
| [http://www.mokophoneshop.com/ Openmoko Shop Switzerland]<br />
| Europe<br />
| Switzerland<br />
| ?<br />
| ?<br />
| 443 USD (500 CHF)<br />
| ?<br />
| <br />
| 2010-05-31<br />
|-<br />
| [https://www.truebox.co.uk/trueboxportal/index.php?wk=Openmoko TrueBox]<br />
| Europe<br />
| United Kingdom<br />
| ?<br />
| ?<br />
| 459 USD (313 GBP)<br />
| 1 year (UK only)<br />
| <br />
| 2010-05-31<br />
|-<br />
| [http://www.gp2xstore.com/openmoko-neo-freerunner-gsm-850-phone.html GP2X Store]<br />
| North America<br />
| USA<br />
| ?<br />
| ?<br />
| 300 USD<br />
| 1 year<br />
| stylus<br />
| 2010-05-31<br />
|-<br />
| [http://www.sdgsystems.com/estore/cart.php?target=category&category_id=17 SDG Systems]<br />
| North America<br />
| USA<br />
| A7<br />
| {{yes}}<br />
| ?<br />
| ?<br />
| headset, pouch, stylus<br />
| 2010-05-31<br />
|-<br />
| [http://www.isolve.com.br/ iSolve]<br />
| South America<br />
| Brazil<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
| ?<br />
| 2010-05-31<br />
|}<br />
<br />
[[Category:Purchase]]</div>Marko Knöblhttp://openmoko.org/wiki/Talk:DistributorsTalk:Distributors2010-07-03T11:45:34Z<p>Marko Knöbl: updating exchange rates</p>
<hr />
<div>== Using monthly average exchange rates ==<br />
<br />
Hi! I just changed the USD prices in the table using the average exchange rates from October 2009 instead of the current exchange rate. The idea of changing to monthly rates came from [[User:Cpulster|Christoph Pulster]]. I think this is a much better idea than using the current rate which can change much more. I got the monthly rates from an online tool at http://fx.sauder.ubc.ca/data.html . Here are the rates for October. I'm planning to update these rates regularly:<br />
<br />
MMM YYYY EUR/USD GBP/USD CZK/USD PLN/USD RUB/USD CHF/USD<br />
Oct 2009 0.67480 0.61704 17.478 2.8447 29.436 1.0214<br />
Nov 2009 0.67067 0.60272 17.339 2.7941 28.964 1.01277<br />
Dec 2009 0.68580 0.61605 17.889 2.8440 30.104 1.0301<br />
<br />
MMM YYYY GBP/USD CZK/USD EUR/USD PLN/USD RUB/USD CHF/USD<br />
Jan 2010 0.61872 18.306 0.70080 2.8505 29.863 1.0340<br />
Feb 2010 0.64037 18.989 0.73130 2.9348 30.153 1.0726<br />
<br />
MMM YYYY GBP/USD CZK/USD EUR/USD INR/USD PLN/USD RUB/USD CHF/USD<br />
Mar 2010 0.66414 18.816 0.73700 44.619 2.8654 29.563 1.0666<br />
Apr 2010 0.65211 18.873 0.74565 44.437 2.8907 29.185 1.0693<br />
May 2010 0.68147 20.445 0.79584 45.725 3.2317 30.473 1.1282<br />
Jun 2010 0.67741 21.094 0.81829 46.527 3.3575 31.256 1.1256<br />
<br />
I hope this is okay for other editors; feedback and suggestions are welcome! --[[User:Marko Knöbl|Marko Knöbl]] 11:10, 21 November 2009 (UTC)<br />
<br />
I suggest not to use and calculate exchange rates at all (they may even change by several % if your CC is charged 2 weeks later). Just use USD, EUR. And there will remain only 6 other currencies. But you should link the online-tool so that everyone can easily convert what he/she wants. --[[User:Hns | hns]] 09:28, 22 November 2009 (UTC)<br />
<br />
:I konw that exchange rates can change very much. The conversions are only meant to be rough guidlines which provide an approximate price for comparison - I don't see any disadvantage of listing the USD prices - I think there is no better method of comparing these prices than converting all of them to one currency. And I think we can save other people some extra work if we list the converted prices instead of requiring them to convert them by themselves. --[[User:Marko Knöbl|Marko Knöbl]] 14:55, 24 November 2009 (UTC)<br />
<br />
==freerunner.cz inactive==<br />
<br />
Hi, my openmoko was from shop freerunner.cz, but now this shop is closed and domain is redirect to http://www.halnet.cz/ which don't sale openmoko now. --[[User:Kukide]] 21.39 25 November 2009 (UTC+1)<br />
<br />
:Thank you for pointing this out! When I checked it on Wednesday it was working. I have removed this link again! -- [[User:Marko Knöbl|Marko Knöbl]] 11:24, 26 December 2009 (UTC)<br />
<br />
Hi, shop http://freerunner.cz is open again. [[User:Kukide]] 11.22 22 March 2009 (UTC+1)<br />
<br />
::Thanks! I added it back to the list. --[[User:Marko Knöbl|Marko Knöbl]] 19:13, 22 March 2010 (UTC)</div>Marko Knöblhttp://openmoko.org/wiki/Manuals/SHRManuals/SHR2010-07-01T10:42:07Z<p>Marko Knöbl: /* Getting SHR */ Removing "SHR stable" links which lead to an empty directory</p>
<hr />
<div>{{Languages|Manuals/SHR}}<br />
{| align="right"<br />
| __TOC__<br />
|}<br />
<br />
==SHR Introduction==<br />
<br />
Welcome to '''[[SHR]]''', a community driven distribution for (not only) Openmoko Neo phones.<br />
<br />
[[Image:SHR-Logo.png|200px|thumb|center|SHR]]<br />
<br />
'''SHR''' (Stable Hybrid Release) is here to provide you with Root FileSystem images that you can easily install into your device to use as a daily phone and PDA. There are many prepackaged programs available that can be installed upon demand by users, it can also be used by developers as a base image for customized and flavored distribution or release. '''SHR unstable''' is a testing environment before software gets stabilized and it is the main testing ground for [[FSO]] releases. '''SHR testing''' images provide as much stability as possible for day-to-day usage.<br />
<br />
SHR users, readers of this manual, please report improvements, discrepancies or missing features on this page to <tt>vanous @ penguin . cz</tt>. Thank you.<br />
<br />
==Installation==<br />
<br />
===Getting SHR===<br />
<br />
You need to download two files for your version as above: kernel and root filesystem. Depending whether you will be installing into the internal [[NAND memory]] or on the [[microSD]] card, you need to either get .jffs2 file for NAND or .tar.gz file for microSD.<br />
<br />
- Get the latest kernel from the below linkpages. Starts with uImage-...<br />
<br />
- Get the root filesystem, for NAND: full-om-gta0_.jffs2, for µSD: full-om-gta0_.tar.gz<br />
<br />
The above are '''full''' images. You can also choose images with less packages, marked as '''lite'''.<br />
<br />
;GTA02 Neo FreeRunner<br />
*testing line: http://build.shr-project.org/shr-testing/images/om-gta02/<br />
*unstable line: http://build.shr-project.org/shr-unstable.29/images/om-gta02/<br />
<br />
;GTA01 Neo 1973<br />
*testing line: http://build.shr-project.org/shr-testing/images/om-gta01/<br />
*unstable line: http://build.shr-project.org/shr-unstable.29/images/om-gta01/<br />
<br />
;Image lite to image full<br />
If you flashed a '''lite''' image and want to upgrade to the '''full''' image run:<br />
<br />
opkg update<br />
opkg install task-shr-apps task-shr-games task-shr-gtk<br />
<br />
;Kernel modules<br />
The images of the filesystems mentioned above (.jffs2, .tar.gz), already contain the newest kernel modules.<br />
<br />
Get the new kernel modules if you only want to flash a new kernel, but not a whole new file system. From the same page as the kernel download the modules to match your kernel (their dates should be the same). Use sftp to put that file on the FreeRunner via the usb connection. Run gzip to unwrap the modules:<br />
# gzip -dc modules-...tar.gz | tar -xf - -C /<br />
<br />
===Installation on Flash===<br />
<br />
In order to install your SHR distribution directly to your FreeRunner Flash memory (NAND), you need to get the desired filesystem file ( <tt>.jffs2</tt> ) as described above and flash your device using the <tt>dfu-util</tt> tool.<br />
<br />
Please visit [[Flashing the Neo FreeRunner]] for more details about flashing and see [[Dfu-util]] for detailed information about the dfu-util.<br />
<br />
{{Note|Your battery must be charged (sufficiently) before NAND flashing. Symptom of insufficient charge: Your progress bar "####" stops while flashing. If so, you must charge, and later you should be able to make the complete flash.}}<br />
Commands to flash the filesystem and the kernel:<br />
<br />
Note that there are some issues using dfu-util with sudo.<br />
<br />
'''Don't use sudo with dfu-util. Make sure you are root before using dfu-util!'''<br />
<br />
for the GTA02 Neo FreeRunner:<br />
<br />
# dfu-util -d [[USB Product IDs|0x1d50:0x5119]] -a rootfs -R -D full-om-gta02.jffs2<br />
# dfu-util -d [[USB Product IDs|0x1d50:0x5119]] -a kernel -R -D uImage-om-gta02-latest.bin<br />
<br />
for the GTA01 Neo 1973:<br />
<br />
# dfu-util -d [[USB Product IDs|0x1457:0x5119]] -a rootfs -R -D full-om-gta01.jffs2<br />
# dfu-util -d [[USB Product IDs|0x1457:0x5119]] -a kernel -R -D uImage-om-gta01-latest.bin<br />
<br />
===Installation on the microSD Card===<br />
<br />
Installing SHR on your microSD Card depends on the Bootloader you are using, ''uBoot'' or ''Qi''.<br />
<br />
In simple words, the difference between both systems resides on how you must prepare your microSD Card and files you use to fill them:<br />
<br />
* 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 (<tt>uImage-om-gta02-latest.bin</tt>) and second partition in ext2 or ext3 where you have to uncompress the filesystem file (<tt>shr-image-om-gta02.tar.gz</tt>).<br />
<br />
* If you use ''Qi'', you only need an ext2 partition into your µSD Card where you uncompress the filesystem image file (<tt>shr-image-om-gta02.tar.gz</tt>). In this case Qi Bootloader is going to look for the kernel image into the <tt>/boot</tt> directory for file named <tt>uImage-GTA02.bin</tt> .<br />
<br />
Please visit the links below for detailed information and tips:<br />
*For [[Booting from SD | uBoot]] and for [[Qi]].<br />
<br />
===SHR version===<br />
<br />
Should you ever later wonder what version of SHR you have actually installed, please run<br />
<br />
timestamp of image creation:<br />
cat /etc/timestamp<br />
<br />
latest shr version from opkg upgrade (this version is changed everytime someone builds task-base on shr buildhost):<br />
cat /etc/shr-version<br />
<br />
{{Note|Please note that this is true only for shr-u, with shr-t running opkg update;opkg upgrade does not change the SHR version. Only flashing or a new image download can change the SHR version. But this will be also merged to shr-t later.}}<br />
<br />
==Running SHR==<br />
<br />
===First boot===<br />
[[Image:Shr-boot-preview.png|200px|thumb|center|SHR Boot Splash screen]]<br />
<br />
====Booting====<br />
First boot usually takes a bit longer as your phone's new software needs to do some initial setting up. It is recommended to reboot after this first boot (and after the initial setup), to make sure that all packages get initialized properly.<br />
<br />
====Initial Setup====<br />
<br />
During the first run, Setup is automatically initiated to walk the user through basic setup of the Enlightenment desktop environment. These steps vary as both Enlightenment desktop and SHR evolve, at this point preferred language and desktop profile options are available. The Profile offers to choose a preconfigured way of displaying the desktop. Illume2-SHR (with continuous development) and Illume-SHR (discontinued) profiles are available. '''Illume2-SHR''' is the recommended Profile. <br />
<br />
{| class="wikitable"<br />
| [[Image:SHR-Setup-Language.png|200px|thumb|language selection]]<br />
| [[Image:SHR-Setup-Profile.png|200px|thumb|theme selection]]<br />
| [[Image:SHR-Wizard.png|200px|thumb|SHR Wizard]]<br />
<br />
|}<br />
<br />
Note, you may need to ssh into the device and run /usr/bin/xinput_calibrator_once.sh if calibration is wrong. I found this using a Neo1973 and SHR images from around May 2010.<br />
<br />
====SHR Wizard====<br />
After the initial Setup, SHR Setting Wizard is launched to allow setting up your local phone settings and setting up root password. Sometimes a '''Please wait''' message is displayed for a long time, as the wizzard is waiting for the SIM card to be initialized.<br />
<br />
===First look===<br />
[[Image:SHR-First-Look.png|200px|thumb|Desktop screen]]<br />
[[Image:SHR-Task-Buttons.png|200px|thumb|Task switch buttons]]<br />
====Illume desktop====<br />
Illume desktop is the default home screen of the SHR desktop. <br />
<br />
Application definition files located in /usr/share/applications are displayed here as icons. All applications are ran fullscreen and you can switch between them by using the the '''< left''' or '''right >''' arrows on sliding shelve available by tapping Top Shelf on any empty space. To close applications, choose '''X''' from the same sliding shelve.<br />
<br />
Several icons (e-gadgets) are placed in the Top Shelve:<br />
<br />
The '''L''' icon is to switch between left/right mouse click. By taping this icon the icon gets changed to R and next tap will be as right click. After the click, the behavior is automatically switched back to Left click so any following taps are left click again.<br />
<br />
'''Mode Switch Icon''' allows to split the screen horizontally or vertically, thus allowing to display two applications at the same time.<br />
<br />
'''Keyboard icon''' pops up or hides the Keyboard.<br />
<br />
'''Illume Settings''' icon (represented by SHR logo) invokes the [[#Illume_settings | Illume desktop settings]]. <br />
<br />
'''Home Icon''' allows quick go to the home desktop/application.<br />
<br />
'''GSM''' and '''Battery''' status icons, as well as '''time''' are displayed by default, Bluetooth and WiFi status icons available in the setting of the Top Shelve content.<br />
<br />
<br />
To '''reconfigure the Top Shelve''' itself, use the L/R click icon to Right click on the Top Panel and choose: Illume Indicator->Set Content to add or remove items from the Top Panel. Or, upon right click on the Top Panel you can also choose Illume Indicator->Begin Move/Resize to move your icons around. To escape this mode, you must click on the L/R gadget's edge, it will switch to L, then choose R again, right click on the Top Panel and select Illume Indicator->Stop Move/Resize.<br />
<br />
<br />
====Keyboard====<br />
<br />
Keyboard comes up automagically when a text field is tapped or you can also toggle the keyboard by it's icon in the Top Shelve. In the Keyboard, dictionary switcher is the arrow-up on left side, alternative keyboard layouts are under the ABC button on the right. The Default keyboard has English dictionary enabled. For Space quick slide left-to-right, for Enter, quick slide up-down, to quick change keyboard layout quick slide down-up. While typing with a dictionary enabled keyboard, possible word options start appearing in the keyboard's upper part or more word options are available under the arrow-up on the left. When happy with the word, tap it, it will be pasted into the text field with a space attached. The Keyboard and dictionary can [[#Illume_keyboard_and_dictionaries | easily be localized]].<br />
<br />
====Copy and Paste====<br />
<br />
In '''E based''' applications, for example the phone suite (contacts, messages...), by tapping and holding down for over two seconds the Select-Paste menu will pop up. By pressing Select, you can now swipe through the text to select desirable part. Tap and hold down again, Copy-Cut-Cancel menu will appear to Copy to clipboard. Another long tap will provide Select-Paste for Paste.<br />
<br />
In '''Gtk''' based application, you can use keyboard for Ctrl-C (Copy) and Ctrl-V (Paste) or items in Menu if provided.<br />
<br />
In the Vala '''Terminal''', you can select simply by swiping through the text and for Paste there is an icon in the menu bar of this application.<br />
<br />
Copy & Paste between different toolkits has some limitations. See the table below. In Ventura, select is possible, but copy/paste doesn't seem to work at all.<br />
<br />
{| cellspacing="0" class="wikitable" border="1" style="font-size: 85%; text-align: left;width="100%"<br />
|-<br />
! From -> To <br />
! to GTK<br />
! to E<br />
! to Terminal<br />
|-<br />
| from GTK<br />
|style="background:#88FF88;"|Works<br />
|style="background:#88FF88;"|Works<br />
|style="background:red"|Doesn't work <br />
|-<br />
| from E<br />
|style="background:red"|Doesn't work <br />
|style="background:#88FF88;"|Works <br />
|style="background:#88FF88;"|Works<br />
|-<br />
| from Terminal<br />
|style="background:red"|Doesn't work <br />
|style="background:#88FF88;"|Works <br />
|style="background:#88FF88;"|Works<br />
|-<br />
|}<br />
<br />
====Alarm====<br />
<br />
The Alarms application (installed by default) allows alarm presetting for single or repeatable alarms. If you set an alarm and turn your Openmoko FreeRunner off, at the time of the alarm the phone will be powered up and alarm will sound.<br />
<br />
====Phone applications====<br />
<br />
Besides other software, SHR comes with 4 main phone applications: ''Dialer'', ''Contacts'', ''Messages'' and ''Phone log''.<br />
<br />
{|<br />
| [[Image:SHR-Dialer.png|200px|thumb|Dialer]]<br />
| [[Image:SHR-Contacts.png|200px|thumb|Contacts]]<br />
| [[Image:SHR-Mesages.png|200px|thumb|Messages]]<br />
| [[Image:SHR-Phonelog.png|200px|thumb|Phone log]]<br />
|}<br />
<br />
<br />
=====PIM data=====<br />
<br />
======Storage======<br />
PIM data (contacts, messages etc.) are stored through internal opimd storage mechanism into <br />
<br />
/etc/freesmartphone/opim/pim.db<br />
<br />
This database can easily be copied from one SHR installation to another, for example due to a need for reflashing. The Contacts application can display a picture of the contact. As the pim.db database contains a path to the picture files only but not the pictures themselves, therefore, in case of PIM data backup or transfer, these picture files '''need to be copied too'''.<br />
<br />
======SIM Contacts======<br />
<br />
SHR phone applications do not read SIM contacts by default but you can use SIM Manager to access your SIM contacts '''SHR Settings -> Others -> SIM Manager''', which allows you to edit and import the SIM contacts into the internal storage. You can also use Pisi to import your SIM contacts into opimd.<br />
<br />
======Synchronization======<br />
<br />
'''[[Pisi]]''' is an application for synchronizing PIM data and can be used for import and export your contacts, calendar entries etc. between various sources, like VCF, LDAP, Google and more. To install Pisi:<br />
<br />
opkg install pisi<br />
<br />
After installation, edit Pisi configuration in '''.pisi/conf''' in your home directory. To have a correct opimd fields support, make sure '''field_support=TRUE''' is enabled in opimd section.<br />
<br />
With the installed package you have a well-documented sample that is placed at <br />
/usr/share/doc/pisi/conf.example<br />
You may copy the file and rename this file to<br />
/home/root/.pisi/conf<br />
as a starting point - then edit this file in order to configure your PIM synchronization data sources. Look at section<br />
<br />
[opimd]<br />
description=OPIMD Contacts<br />
module=contacts_opimd<br />
field_support=TRUE<br />
<br />
=====Idle screen=====<br />
[[Image:SHR-Idle_Screen.png|200px|thumb|Idle Screen with GSM operator strength and name. GPS, WiFi, Display and CPU are requested, Battery status.]]<br />
Upon press of the AUX button Idle Screens locks up the display. AUX press or a finger slide on the Slider unlocks the screen.<br />
<br />
At the top, status icons are shown to indicate what is going on in the phone:<br />
<br />
From left to right:<br />
GSM strength and operator. Requested Resources (GPS, Display etc., when for example Display is requested, the screen will not dim). Battery capacity.<br />
<br />
====Setting applications====<br />
<br />
[[#SHR_Settings | SHR Settings]] is accessible by tapping Settings icon on the desktop. [[#Illume_settings | Illume settings (and Enlightenment desktop settings)]] are accessible by sliding down the Top shelve and then tapping the "SHR Logo" icon.<br />
<br />
====Hardware Buttons====<br />
<br />
=====Power Button=====<br />
<br />
<br />
[[Image:SHR-Quick-Settings.png|200px|thumb|Quick Settings]]<br />
<br />
The '''PWR''' (Power) button is mapped to start [[#quick_settings | Quick Settings]] screen (Illume System menu in older versions) on a short press. <br />
<br />
Mapping of the PWR button be configured via the '''Illume Settings-> Input -> Key Bindings'''.<br />
<br />
Pressing the Power button for longer then 8 seconds will force a complete power down of the device. This is hardconfigured in the kernel.<br />
<div id="quick_settings"> </div><br />
The '''Quick Settings''' screen provides several toggles: Airplane mode, Phone profiles, Power settings and Power buttons.<br />
<br />
=====Auxiliary Button=====<br />
The '''AUX''' (Auxiliary) button is mapped to toggle on/off the SHR Idle screen. Mapping of this button is configured in /etc/phonefsod.conf<br />
<br />
idle_screen = aux,lock<br />
<br />
You can configure the [[#idle_screen | Idle Screen]] to come up even during active phone call by adding '''phone''' to the setting: <br />
<br />
idle_screen = aux,lock, phone<br />
<br />
<div id="idle_screen"> </div><br />
The '''Idle Screen''' shows current date and time, missed calls and messaged and also what [[#FSO_Resources | FSO resources]] are currently being requested - used.<br />
<br />
======Replacing idle screen======<br />
<br />
If you wish to use the E simple LOCKED screen instead of the SHR Idle Screen, edit '''/etc/phonefsod.conf''' to this:<br />
<br />
# when to show idle screen<br />
# ...<br />
# idle_screen = aux,lock<br />
idle_screen =<br />
<br />
You need to restart phonefsod to make the change happen.<br />
<br />
Also, change key mapping for the AUX button by setting '''Illume Settings''' -> '''Input''' -> '''Key Bindings''', bind the key '''XF86Phone''' to '''Desktop Simple Lock'''<br />
<br />
===First steps===<br />
<br />
Right after installation and first boot you might want to do a few initial steps like adjusting the call volume and some other tasks.<br />
<br />
====Audio - Call Volume====<br />
<br />
During the first phone call please use the Volume and Mic sliders on the Active Call Screen and adjust them to fit your preferences. The new improved settings will be used for all in- and outgoing calls thereafter.<br />
<br />
====Network Connection====<br />
''Establish network connection'' and SSH into your phone. You can establish connection either via USB to your desktop and enable NAT or you can connect through Wifi. If you use USB, some setup is required on the desktop side, please read [[USB Networking]]. For Wifi, you can use [[#Network manager|Network Manager]]<br />
<br />
====Initializing the opkg database====<br />
''Initialize the opkg database'' in order to install some applications from SHR repositories or from other sources, for example [http://opkg.org opkg.org]. While being online, you need to run<br />
<br />
opkg update<br />
<br />
Searching in the opkg database can take a long time. You can speed things up by dumping the database into a file and grepping it through. Do this only once or after every opkg update:<br />
<br />
opkg list > packages.txt<br />
<br />
Then you can search quickly for package name, for example for [[Navit|navit]]:<br />
<br />
grep navit packages.txt<br />
<br />
====SwapSpace====<br />
<br />
When the RAM is used up, applications get killed. This is particularly bad while doing opkg upgrade. Therefore you might want to create a swap space. Read [[SwapSpace]] article.<br />
<br />
==Settings==<br />
===SHR Settings===<br />
[[Image:SHR-Settings-main.png|200px|thumb|SHR Settings]]<br />
<br />
SHR Settings is the main setting application of SHR. It provides an easy way of setting up your phone to your liking - from phone related settings, to requesting resources in order to prevent screen dim or suspend (for example while using GPS).<br />
<br />
Please refer to [[#FSO_Resources | this section]] about a better way to manage preventing screen dim or suspend.<br />
<br />
While some settings are persistent over reboots, others are not.<br />
<br />
====Main Screen====<br />
The main screen is divided into eight categories, which contain several modules. Every SHR Settings module has a specified task - for example controlling the GSM antenna power, setting the time etc.<br />
<br />
====Phone====<br />
Here you can set if the GSM antenna is on and if your phone number is shown when you call someone.<br />
<br />
'''GSM'''<br />
In GSM settings you can turn off and on GSM module. After turning off antenna, whole GSM modem is turned off.<br />
<br />
To list available providers, click on Operators button. Scanning can take some time. After a while, a list of operators should pop up.<br />
<br />
You can't connect to operators marked [forbidden].<br />
<br />
Selecting an operator from the list also changes modem registration mode to manual. It won't register to other network, even if some is available and has better signal strengh. To return to automatic mode, click "Automatic" button in operator list.<br />
<br />
'''Call'''<br />
{| class="wikitable" cellspacing="0" cellpadding="0" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating="center";width:100%; "<br />
<br />
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:50% " |<br />
<br />
[[Image:SHR-Settings-Phone.png|200px|thumb|Phone settings]]<br />
<br />
<br />
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:50% " | <br />
<br />
[[Image:SHR-Settings-List-providers.png|200px|thumb|List providers]]<br />
<br />
|}<br />
<br />
You can set if your phone number should be displayed to other party. You can either depend on network decision ("By network") or force it manually ("Manual")<br />
<br />
'''Phoneutils'''<br />
<br />
For the default SHR phone applications to be able to correctly parse incoming calls/messages and match them with your contacts, you will need to set the right country code for your location. (for example 420 for Czech republic) for more info, please go to: http://wiki.openmoko.org/wiki/Phone_Prefixes<br />
<br />
'''SIM'''<br />
<br />
Here you can view some informations about your SIM card and clean phone and messagebooks.<br />
<br />
====Profiles====<br />
<br />
Here you can select the current profile, which the device should use to determine ring tone etc.<br />
<br />
'''Current profile'''<br />
<br />
Here you can adjust properties of the currently used profile. <br />
<br />
To change the ring tone, click the "Change" button.<br />
<br />
To use your own ring tone, place it in /usr/share/sounds directory.<br />
<br />
After selecting a sid tune as the ring tone, there are available controls to select tune number from the file.<br />
<br />
If you like to test a .sid you can play it using this command on the FR:<br />
<br />
gst-launch filesrc location=Arkanoid_PSID.sid ! siddec tune=2 ! alsasink<br />
<br />
Note that it's a ! used and not a | to construct the gstreamer pipe command.<br />
<br />
{| class="wikitable" cellspacing="0" cellpadding="0" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating="center";width:100%; "<br />
<br />
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:50% " |<br />
<br />
[[Image:SHR-Settings-Profiles.png|200px|thumb|Profiles]]<br />
<br />
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:50% " | <br />
<br />
[[Image:SHR-Settings-Profiles-Ringtones.png|200px|thumb|Ringtones]]<br />
<br />
|}<br />
<br />
====Connectivity====<br />
<br />
{| class="wikitable" cellspacing="0" cellpadding="0" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating="center";width:100%; "<br />
<br />
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:50% " |<br />
<br />
[[Image:SHR-Settings-Connectivity.png |200px|thumb|Connectivity top]]<br />
<br />
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:50% " | <br />
<br />
[[Image:SHR-Settings-Connectivity2.png |200px|thumb|Connectivity bottom]]<br />
|}<br />
<br />
'''WiFi'''<br />
<br />
With the "WiFi radio" toggle you can set, if the wifi module is powered. WiFi radio has to be turned on before trying to connect to a WiFi network, unless you try to connect through [[Mokonnect]] which is capable of powering it up.<br />
<br />
'''GPRS'''<br />
<br />
To enter APN, login and password fields, just click on the actual value (default: "internet"). Your phone provider can provide the required configuration options.<br />
<br />
{{Note|You can also use Mokonnect to manage your GPRS connection}}<br />
<br />
'''USB'''<br />
<br />
With this toggle you can switch USB port between device (Neo to PC) or host (device to Neo) modes.<br />
<br />
'''Bluetooth'''<br />
<br />
To power up Bluetooth module, switch the "Bluetooth radio" toggle to "On". After that, the "Visibility" toggle should arrive - set it to "On" if you want your FR to be visible by other Bluetooth devices on scanning.<br />
<br />
====Power====<br />
<br />
'''Battery'''<br />
<br />
This module displays informations about battery state - charge, voltage, remaining time etc. To update the data, click the "Update" button.<br />
<br />
Here you can also force enable 500mA charging.<br />
<br />
'''Display'''<br />
<br />
With this slider you can easily set the backlight brightness.<br />
<br />
{{Note|This setting isn't permanent over sessions. At boot backlight is set back to 80%.}}<br />
<br />
'''Power'''<br />
<br />
{| class="wikitable" cellspacing="0" cellpadding="0" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating="center";width:100%; "<br />
<br />
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:50% " |<br />
<br />
[[Image:SHR-Settings-Power.png |200px|thumb|Power]]<br />
<br />
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:50% " | <br />
<br />
[[Image:SHR-Settings-Timeouts.png |200px|thumb|Timeouts]]<br />
|}<br />
<br />
'''Timeouts'''<br />
<br />
Timeouts are reached in this order: Busy state -> idle -> idle dim -> idle prelock -> lock -> suspend. <br />
<br />
{{Note|Storing of this setting via D-bus calls is not supported in the new API of Vala rewrite of FSO2 and therefore SHR Settings doesn't have a functional setting for this.}}<br />
<br />
You can set values of idle timeouts manually. The default parameters are stored in '''/etc/freesmartphone/conf/GTA02/fsodeviced.conf''' but customized '''.fsodeviced.conf''' file in your home directory will take precedence:<br />
<br />
<br />
[fsodevice.kernel_idle]<br />
suspend = 20<br />
lock = 2<br />
idle_prelock = 12<br />
idle = 10<br />
idle_dim = 20<br />
<br />
====Appearance====<br />
<br />
'''Theming'''<br />
[[Image:SHR-Neo-Theme.png|200px|thumb|Neo theme]]<br />
<br />
The Apperance section allows you to change between installed themes. To install more themes, see also [[#Installing themes | Installing themes]].<br />
<br />
You can change finger size - this will mainly effect vertical spacing between widgets.<br />
<br />
Switching between engines:<br />
<br />
E can be switched to use different engines. The default engine is x11. Alternative engine x11-16 is not supported and results in buggy behavior of several applications, for example the phone suite or Ventura browser. It's usage is not recommended.<br />
<br />
Changing system boot Splash screen is also possible in this module. To install more splash screens, see also [[#Installing splash screen themes|Installing splash themes]].<br />
<br />
====Position====<br />
<br />
{| class="wikitable" cellspacing="0" cellpadding="0" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating="center";width:100%; "<br />
<br />
<br />
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:50% " |<br />
<br />
[[Image:SHR-Settings-GPS.png |200px|thumb|center|GPS]]<br />
<br />
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:50% " | <br />
<br />
[[Image:SHR-Settings-GPS-Satelites.png |200px|thumb|GPS Satelite details]]<br />
|}<br />
<br />
'''GPS'''<br />
<br />
By default, GPS is turned on only when requested by an application. That state corresponds to "Auto" setting. After changing to "Manual", you can force set it to on or off.<br />
<br />
'''GPS information'''<br />
<br />
This page can be used to monitor GPS status. You either have to turn GPS on manually or start another application to enable the GPS.<br />
<br />
You can also view information about every visible satellite and check, which are used for getting a fix. To do that, click "Satellite details".<br />
<br />
'''Remove AGPS data'''<br />
If you experience problems with GPS, turn it off, click "Remove AGPS data" and reboot your Neo.<br />
Assisted GPS ([[aGPS]]) support GPS receiver to find position by non-satellite information.<br />
<br />
====Date/time====<br />
<br />
[[Image:SHR-Settings-Date-Time.png |200px|thumb|Date & Time]]<br />
<br />
'''Time'''<br />
<br />
Here you can view and set the time. By default, the time is just displayed, To adjust it, click on "Set time".<br />
<br />
After finishing adjusting, click the "OK" button.<br />
<br />
'''Date'''<br />
<br />
This module displays the current date.<br />
<br />
====Others====<br />
<br />
{| class="wikitable" cellspacing="0" cellpadding="0" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating="center";width:100%; "<br />
<br />
[[Image:SHR-Settings-Others.png |200px|thumb|Others]]<br />
<br />
'''PIM'''<br />
<br />
Pim data are stored in opimd domains. Every opimd domain has different backends to store its data to. The domain reads data from every backend and writes data to the default backend. This elector allows you to choose the backend that stores newly generated data, it doesn't copy or move existing data to a different backend.<br />
<br />
'''Services'''<br />
<br />
The services selector is listing scripts from /etc/init.d/ directory.<br />
<br />
After clicking on a servis, you can either start, restart or stop the service and view the result.<br />
<br />
{| class="wikitable" cellspacing="0" cellpadding="0" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating="center";width:100%; "<br />
<br />
<br />
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:50% " |<br />
<br />
[[Image:SHR-Settings-Services.png |200px|thumb|center|Services]]<br />
<br />
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:50% " | <br />
<br />
[[Image:SHR-Service-restart.png |200px|thumb|Services debug screen]]<br />
|}<br />
<br />
<br />
'''Userspace backups'''<br />
<br />
Here you can either archive or restore your files and configurations.<br />
<br />
=== Illume settings ===<br />
<br />
The Illume desktop can be easily customized - slide the top shelf down and tap the Settings icon (SHR Logo).<br />
<br />
'''Illume settings''' provides various options to alter the desktop environment. You can change sizes of elements, single or double click, wallpaper. To access all the various options, open Illume Settings and slide the visible icons to the left, to view more options on the right hand side.<br />
<br />
Some setting screens are not resized properly to fit the phone's display - for example the Wallpapper setting. This is a known bug already reported upstream.<br />
<br />
<!-- [[Image:SHR-Top-Shelve.png|200px|thumb|Top Shelf]] --><br />
<br />
==Localization==<br />
<br />
=== Localize SHR manually ===<br />
<br />
[[Image:SHR-Illume-Settings-Languages.png|200px|thumb|Setting Language]]<br />
<br />
====Desktop environment====<br />
<br />
You can change the language of the SHR desktop environment by using the Settings of Illume. For Example, for Czech language: in the Illume top shelf go to Settings (SHR Logo) -> Language -> Language Settings -> and choose: Čeština. If your language is not in the menu you can install by using opkg.<br />
<br />
You can list all available languages by running:<br />
<br />
opkg list | grep eglibc-locale-<br />
<br />
And install the language of your choice (for example czech):<br />
<br />
opkg install eglibc-locale-cs<br />
<br />
After this, the Language Settings of Illume will offer Czech. <br />
<br />
This will localize the Illume environment and will also set correct lang environment variable of your desktop. <br />
<br />
====Applications====<br />
<br />
If you wish to have other applications localized, you need to install translation for each of them (presuming it is available):<br />
<br />
This will install czech localization for SHR phone applications, SHR Settings and TangoGps:<br />
<br />
opkg install libframeworkd-phonegui-efl-locale-cs shr-settings-locale-cs tangogps-locale-cs<br />
<br />
====Terminal environment====<br />
<br />
For localized terminal environment (ssh login) set lang variables in /etc/profile.d/locale.sh, example for Czech language:<br />
<br />
export LANG=cs_CZ<br />
export LC_ALL=cs_CZ<br />
<br />
====Illume keyboard and dictionaries====<br />
[[Image:Illume-keyboards-terminal-dutch-nl-screenshot.png| Dutch terminal virtual keyboard|256px|thumb]]<br />
→ more details on page [[Illume keyboard]]<br />
<br />
Unlike other input methods for mobile devices, the Illume keyboard is corrective rather than predictive. It detects what you mean, even if some letters mistyped. If you accidently hit some keys next to the correct one Illume still reckognizes the word. This kind of compensates for the small size of the keys. Keep a key pressed for a longer time to affirm you really mean it. <br />
<br />
An English dictionary is used by default. A few dictionaries for other languages are included in the SHR distribution. In addition, every dictionary for [http://en.wikipedia.org/wiki/MySpell myspell] can be used. <br />
<br />
You can install a different keyboard with a layout which fits your language or alternatives for the default keyboards like the numerical one. The localized [[Illume keyboard]]s are available in the SHR repository under the name ''illume-keyboard-LANG''.<br />
<br />
==== German (and Austria) Language ====<br />
<br />
See [[Configure_SHR_for_German-speaking_use]] for detailed customization for german speaking.<br />
<br />
===Date and time===<br />
{{Note|This needs a complete and correct rewrite.}}<br />
<br />
Date and time are automatically set from GPS or Network. The easiest way of setting the time for the first time is to run TangoGps (GPS & Map icon) and obtaining GPS fix. Time will then be set automatically.<br />
<br />
The local timezone is automatically retrieved from the GSM network.<br />
<br />
It is possible to instruct framework on how to set the time and timezone in /etc/frameworkd.conf :<br />
<br />
[otimed]<br />
# a list of time/zone sources to use or NONE<br />
timesources = GPS,NTP<br />
zonesources = GSM<br />
# use an ip address here, otherwise DNS resolution will block<br />
ntpserver = 134.169.172.1<br />
<br />
To disable automatic date/zone settings, simply create an empty [otimed] section in /etc/frameworkd.conf<br />
<br />
Timezone change<br />
<br />
Create a symlink named /etc/localtime which points to the appropriate file in /usr/share/zoneinfo. For example, if you're in France., the following command will link the correct zoneinfo file to your /etc/localtime, giving you the correct time:<br />
<br />
ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime<br />
<br />
Afterwards, edit /etc/timezone if necessary [?]<br />
<br />
Local timezone work instantly for the current boot when:<br />
<br />
TZ="Europe/Paris"<br />
export TZ<br />
<br />
For a permanent timezone change edit /etc/profile and change to:<br />
<br />
TZ="Europe/Paris"<br />
<br />
<br />
If you use UTC time, set '''UTC=yes''' in '''/etc/default/rcS'''.<br />
<br />
Adjusting time manually:<br />
<br />
Via SHR-Settings -> Date/time -> Set time<br />
<br />
From linux based desktop:<br />
<br />
ssh root@192.168.0.202 "date -u -s `date -u +%m%d%H%M%Y.%S`"<br />
<br />
The above does NOT work from Ubuntu as of 4/2/2010, the proper format is:<br />
<br />
ssh root@192.168.0.202 "date -u -s `date -u +%Y.%m.%d-%H:%M:%S`"<br />
<br />
Set the hardware clock to the system time:<br />
<br />
hwclock --systohc<br />
<br />
Is this better?:<br />
<br />
hwclock --utc --systohc<br />
<br />
==FSO Resources==<br />
<br />
[[FSO]] is in control of each device. These are called ''resources''. If the software wanting to use the device is capable of requesting this resource via <tt>d-bus</tt>, FSO will do this, otherwise you might need to power the device manually. After the requested resource is released, FSO will power it down. Manual resource request can be done through ''SHR Setting'' or you can use <tt>fsoraw</tt> command. (Using fsoraw is faster and better than running dbus commands)<br />
<br />
opkg install fsoraw<br />
<br />
Example of usage fsoraw:<br />
<br />
fsoraw -r Display mokomaze<br />
<br />
See [[FSO Resources]] for more details on using the following resources:<br />
<br />
'''Wifi'''<br />
<br />
Unless this resource is enabled you've no eth0 and wifi module is completely un-powered. Use the [[Mokonnect]] network manager to set up networks, it will power Wifi up automatically when needed.<br />
<br />
'''Bluetooth'''<br />
<br />
You need to have this resource requested to have bluetooth module powered.<br />
<br />
'''GPS'''<br />
<br />
The fso-gpsd is a daemon waiting for gsmd connections, automatically powering the device on and off. When a connection exists, it powers up the GSM. In SHR Settings you can switch GPS completely off SHR Settings -> GPS -> Manual > Off<br />
<br />
'''GSM'''<br />
<br />
You need to have this resource requested to have GSM module powered.<br />
<br />
'''Display'''<br />
<br />
While this resource is requested the display won't be blanked and suspend is disabled.<br />
<br />
'''CPU'''<br />
<br />
While this resource is requested then suspend is disabled. Display will blank as normal.<br />
<br />
'''Test'''<br />
<br />
A test resource.<br />
<br />
'''UsbHost'''<br />
<br />
While this resource is requested the USB is turned into powered USB Host mode.<br />
<br />
'''Accelerometer'''<br />
<br />
You need to have this resource requested to have the Accelerometer module powered.<br />
<br />
==Network manager==<br />
<br />
While there are several ways of networking - Wifi, USB, Bluetooth and Gprs - By default, USB networking is enabled in <tt>/etc/network/interfaces</tt>.<br />
<br />
Enhanced configuration is possible through direct editing of /etc/network/interfaces or through <strike>[[Mokonnect]]</strike> ('''Note:''' the new 'official' way to use Wifi in SHR is ''iliwi'' instead of Mokonnect).<br />
<br />
The <tt>connmand</tt> daemon with Mokonnect are the recommended user level applications for setting up networking. At the moment, Mokonnect can manage USB, Wifi and Gprs connections, as well as routing and NAT. The Wifi device is not required to be manually turned on via SHR-Settings as Mokonnect will automatically enable the device when needed and disable it after use.<br />
<br />
{| class="wikitable" cellspacing="0" cellpadding="0" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating="center";width:100%; "<br />
<br />
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:33% " |<br />
[[Image:SHR-Mokonnect.png|200px|thumb|Mokonnect]]<br />
<br />
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:33% " | <br />
<br />
[[Image:SHR-Mokonnect-Wifi.png|200px|thumb|Mokonnect Wifi]]<br />
<br />
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:33% " | <br />
<br />
[[Image:SHR-Mokonnect-Wifi-Scan.png|200px|thumb|Mokonnect Wifi Scan]]<br />
<br />
<br />
|}<br />
<br />
==Bluetooth==<br />
<br />
Bluetooth can be used for several different applications - file transfer (OBEX), networking, input devices (HIDD), music playing (A2DP), calling etc. In some occasions, the devices need to be authorized - paired. At the moment, support for some bluetooth functions is better than for others - it is possible to do all mentioned above with the notice that phone calls with bluetooth headset are always routed to the bluetooth even if the bluetooth headset is not around, making it quite difficult to use.<br />
<br />
In the SHR repositories are applications ready to be installed (by opkg) that already do provide bluetooth support. This means that they request the bluetooth resource automatically, can search bluetooth devices around, help you with pairing and can perhaps even reconnect bluetooth headset upon resume from suspend. From applications that have some bluetooth support some are for example [[Launcher]] (home screen launcher and phone suite), [[Podboy]] (podcast player), [[Elmtooth]] (bluetooth manager). In order to set up bluetooth for phone calls, some manual setup from [[#GSM_phone_calls_with_bluetooth_headset | bellow]] is still required.<br />
<br />
===Bluez3 - the manual non D-Bus way===<br />
<br />
If you want to use the bluetooth device directly, you need to turn the bluetooth radio on in SHR Settings -> Connectivity -> Bluetooth Radio: On. You can also make the bluetooth device visible here.<br />
<br />
====OBEX file transfer====<br />
<br />
There are several obex programs allowing file transfer, all in console at the moment. Obexpush installs obextool, and opd daemon:<br />
<br />
opkg install obexpush<br />
<br />
Default receiving path (editable in /etc/default/opd_args ) does not exist, so create it<br />
<br />
mkdir /var/obexpush<br />
<br />
Files are then received automatically, no notice, no confirmation... they just silently appear in /var/obexpush<br />
<br />
To send some files, first scan for devices:<br />
<br />
hcitool scan<br />
Scanning ...<br />
00:16:41:F5:A5:BC laptop<br />
<br />
Then send the file onto bluetooth address found in the scan:<br />
<br />
obextool push image.jpg 00:16:41:F5:A5:BC 10<br />
<br />
====Connect Bluetooth keyboard====<br />
<br />
hidd --search<br />
<br />
Editors note: This is the old bluez3 way, but it works. New bluez4 way will replace this.<br />
<br />
===Bluez4 - D-Bus based way===<br />
<br />
SHR uses bluez4 which is completely different from bluez3. The bluetoothd is taking care of most of the bluetooth now. Please see [[Manually using Bluetooth]] for detailed information about using bluetooth and also for a list of supported devices.<br />
<br />
====Pairing====<br />
<br />
[[Emtooth]] is a bluetooth manager. It provides setting up bluetooth device name, pairing/unpairing, visibility setting and more. Install Emtooth:<br />
<br />
opkg install emtooth<br />
<br />
It will discover nearby devices, double tapping on found device will initiate pairing process.<br />
<br />
====GSM with bluetooth headset====<br />
<br />
In order to use bluetooth headset for phone calls, several simple steps need to be done.<br />
<br />
1). Your bluetooth headset device must be [[#Pairing | paired]] first.<br />
<br />
2). [[#Configuring_FSO | Add]] your bluetooth headset into FSO configuration.<br />
<br />
<br />
Please note: phonecalls are now always routed to the bluetooth headset. <br />
After startup and after every resume, the headset needs to be [[#Re-Connecting_the_bluetooth_headset |reconnected]].<br />
<br />
=====Configuring FSO=====<br />
<br />
Now we must tell frameworkd that you have a bluetooth headset. Headset parameters should be set in<br />
<br />
/etc/freesmartphone/opreferences/conf/phone/default.yaml<br />
<br />
Parameters bt-headset-enabled and bt-headset-address (see opreferences/schema/phone.yaml for semantics).<br />
<br />
You need to restart FSO for the changes to take effect.<br />
<br />
# /etc/init.d/frameworkd restart<br />
<br />
example of my /etc/freesmartphone/opreferences/conf/phone/default.yaml:<br />
<br />
message-length: 7<br />
message-tone: notify_message.wav<br />
message-vibration: 1<br />
message-volume: 10<br />
ring-loop: 1<br />
ring-tone: ringtone_ringnroll.wav<br />
ring-vibration: 1<br />
ring-volume: 10<br />
bt-headset-enabled: 1<br />
bt-headset-address: 00:09:DD:31:92:98<br />
<br />
=====Re-Connecting the headset=====<br />
<br />
You might need to get the bluetooth headset connected manually on the beginning and also after suspend:<br />
<br />
mdbus -s org.bluez $BTADAPTER/dev_xx_xx_xx_xx_xx_xx org.bluez.Headset.Connect<br />
<br />
where xx_xx_xx_xx_xx_xx is address of the device, for example:<br />
<br />
mdbus -s org.bluez $BTADAPTER/dev_00_09_DD_31_92_98 org.bluez.Headset.Connect<br />
<br />
Hopefully, your bluetooth headset now works. Good luck!<br />
<br />
==System Customizing==<br />
<br />
===Installing splash screen themes===<br />
<br />
List available splash screen themes<br />
<br />
opkg list | grep splash-theme<br />
<br />
Install one of the available themes<br />
<br />
opkg install shr-splash-theme-dontpanic<br />
<br />
Then go to '''SHR Settings -> Appearance -> Splash settings'''. Here you can preview installed themes and change the default one.<br />
<br />
===Installing themes===<br />
<br />
Every theme is made of several components (a theme for illume, theme for the phone applications, theme for etk and so on). There is a SHR metapackage for each theme that allows installing the complete theme in one go.<br />
<br />
List available SHR theme metapackages:<br />
<br />
opkg list | grep shr-theme<br />
<br />
Install one of the available themes<br />
<br />
opkg install shr-theme-gry<br />
<br />
Then go to '''SHR Settings -> Appearance -> Elementary Settings'''. Here you can preview installed themes and choose the preferred one.<br />
<br />
The Illume screen requires to change theme via '''Settings (SHR Logo) -> Look -> Theme'''. Here you can preview installed themes and choose the preferred one.<br />
<br />
===Enable mouse cursor=== <br />
<br />
edit line 143 of /etc/X11/Xserver and erase '''-nocursor'''<br />
<br />
ARGS="$ARGS"<br />
<br />
<br />
<br />
===Random errors===<br />
No icons, no GSM functions etc. happen mostly due to '''errors on your µSD''' card. Remove your card and fix it in card reader or by booting to another partition (nand) or by reboot and mount read only, then run fsck.<br />
<br />
For reboot into nand and fix 1st partition of ext2 on your card<br />
<br />
fsck.ext2 /dev/mmcblk0p1<br />
<br />
===GSM modem 1024 suspend bug===<br />
<br />
The calypso GSM modem suffers a known [[1024]] hardware bug that causes unreliable GSM function. To work it around, SHR by default doesn't suspend the modem completely. If you have undertaken a fix for this bug you can extend your battery time by enabling the modem to fully suspend when possible.<br />
<br />
Edit the following in file:<br />
<br />
For the new FSO2 edit /etc/freesmartphone/conf/GTA02/fsogsmd.conf <br />
<br />
deep_sleep == "always"<br />
<br />
Then kill fsogsmd and restart fsodeviced or reboot the phone.<br />
<br />
<br />
For old FSO (frameworks) edit /etc/frameworkd.conf <br />
<br />
ti_calypso_deep_sleep = always<br />
<br />
Then restart framework or reboot the phone.<br />
<br />
==Workarounds==<br />
<br />
<br />
<br />
==Reporting bugs==<br />
<br />
SHR is a work in progress. If you experience issues, please report them back to SHR. With your report provide relevant logs from<br />
<br />
/var/log/<br />
<br />
To report a bug, please go to http://shr-project.org/trac/report<br />
<br />
Check if the bug is already reported. If not, add a ticket, be as much precise as you can in the title and the description, in what circumstances the issue happened and so on. If bug already exists, see if you can help fixing it by providing some fresh info.<br />
<br />
==More information==<br />
<br />
For SHR home page, source code and other resources, visit:<br />
<br />
* [http://trac.shr-project.org SHR Project Homepage]<br />
* [http://blog.shr-project.org SHR Blog]<br />
* [http://trac.shr-project.org Trac Bugtracker]<br />
* [http://git.shr-project.org Git Sourcecode-repository]<br />
* [http://build.shr-project.org Downloads on buildhost]<br />
* [http://lists.shr-project.org SHR User and Development Mailing Lists]<br />
<br />
<br />
<br />
[[Category:SHR]]<br />
[[Category:Manuals]]</div>Marko Knöbl