http://openmoko.org/api.php?action=feedcontributions&user=Nick&feedformat=atomOpenmoko - User contributions [en]2024-03-29T12:03:19ZUser contributionsMediaWiki 1.19.24http://openmoko.org/wiki/BackupBackup2008-09-15T15:47:16Z<p>Nick: /* Backing up everything */ ce</p>
<hr />
<div>== 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 phone 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]}}<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 NRF 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 />
</pre><br />
<br />
A failed run of dfu-util looks like this:<br />
<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 />
<br />
And shows errors demsg like this:<br />
usb 5-2: usbfs: USBDEVFS_CONTROL failed cmd dfu-util rqt 161 rq 2 len 4096 ret -110<br />
<br />
=== Backing-up flash images (alternative) ===<br />
<br />
On the device:<br />
mkdir /var/tmp/root<br />
mount /dev/root /var/tmp/root<br />
<br />
On your workstation:<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 />
(The "| pv -W" is optional, it just gives you something to watch as the bytes fly by.)<br />
<br />
On the device:<br />
umount /var/tmp/root<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 -W > rootfs.tar<br />
(The "| pv -W" is optional, it just gives you something to watch as the bytes fly by.)<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 is 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/Pre-Flash_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 />
[[category:Advanced End User]]</div>Nickhttp://openmoko.org/wiki/Om_2007.2Om 2007.22008-08-20T23:40:48Z<p>Nick: /* How to build */ sp</p>
<hr />
<div>{{Languages|Om 2007.2}}<br />
{{OM2007.2}}<br />
{{Distributions|Om 2007.2}}<br />
<br />
'''Om 2007.2''' is the second version of the Openmoko distribution. Development began on 2007-07-26. [[Om 2008.8]] is the successor of this software stack.<br />
<br />
Goals of this version are an improved set of PIM applications, improved theming that fixes a lot of the usability problems of the first generation design, more formalized UI guidelines and a number of changes in the build system. The latter should introduce more recent software by staying closer in sync with upstream org.openembedded.dev.<br />
<br />
An official announcement was made by Sean Moss-Pultz on August 20:<br />
* http://lists.openmoko.org/pipermail/announce/2007-August/000018.html<br />
<br />
(Initially this was named OM-2008 in SVN but renamed shortly after that.)<br />
<br />
= Installing =<br />
<br />
If you want install this software distribution to your device, you have to follow these steps:<br />
* Download the recent image of Om2007.2 on the [[Downloads#Openmoko_2007.2_images_.28GTK.29|Downloads]] page<br />
* [[Flashing the Neo FreeRunner|Flash]] to your Neo FreeRunner<br />
<br />
[[Image:Openmoko2007.2 home screen.png|thumb|right|home screen of Om 2007.2]]<br />
<br />
==Building 2007.2==<br />
<br />
=== Why to build ===<br />
<br />
Before getting your feet wet, step back a moment and ask yourself why you want to build the Openmoko distribution image. Chances are you are a kernel and application developer and just want to develop on your package -- in that case building Openmoko is completely unnecessary and a waste of time. You may rather want to use the Openmoko [[Toolchain]] and build only the stuff that is interesting to you.<br />
<br />
=== How to build ===<br />
<br />
The MokoMakefile is now able to build Om 2007.2 images. If you use this new version of the MokoMakefile, you can ignore everything below and just continue building Om 2007.2 in the same way that you previously built images (i.e. according to [[MokoMakefile]]). Make sure you set the generation correctly at the top of the file.<br />
<br />
Follow the [http://wiki.openembedded.net/index.php/Getting_Started getting started] steps of OpenEmbedded. It is suggested to use Bitbake 1.8.8 at least.<br />
<br />
{{note|Instead of using '''git.openmoko.org''' (as indicated in OE GettingStarted), please make sure to use '''git.openmoko.org''' as [[MonotoneServer|monotone server]]. This ensures you have a working revision of the metadata and will render a successful build}}<br />
<br />
Put the following in your local.conf<br />
<br />
BBFILES = "${HOME}/oe/org.openembedded.dev/packages/*/*.bb"<br />
<br />
MACHINE = "om-gta01"<br />
DISTRO = "openmoko"<br />
<br />
ENABLE_BINARY_LOCALE_GENERATION = "1"<br />
GLIBC_GENERATE_LOCALES = "en_GB.UTF-8"<br />
<br />
For multi-core machines, the following additions can be used for a speed-up (numbers should be tweaked based on the actual number of cores):<br />
<br />
PARALLEL_MAKE = "-j 4"<br />
BB_NUMBER_THREADS = "4"<br />
<br />
To free disk space after builds, add:<br />
<br />
INHERIT += "rm_work"<br />
<br />
Replace "${HOME}/oe" with the path to where your "org.openembedded.dev" folder lives. For the other entries have a look at ''conf/local.conf.sample'' about their meaning.<br />
<br />
Run ''bitbake <package name>'' (e.g. openmoko-devel-image).<br />
<br />
=== How to enable autorev ===<br />
<br />
First apply the following patch to bitbake.<br />
<br />
http://lists.linuxtogo.org/pipermail/openembedded-devel/2007-September/003035.html<br />
<br />
Add the following line to your local.conf<br />
<br />
require conf/distro/include/moko-autorev.inc<br />
<br />
Then run bitbake as normal. Openmoko will now build with latest SVN checkouts.<br />
<br />
=== Build issues ===<br />
<br />
==== Wrong certificate ====<br />
You may get something like this while the bitbake recipes are parsed:<br />
<br />
Error validating server certificate for 'https://libw100.svn.sf.net:443':<br />
- The certificate hostname does not match.<br />
Certificate information:<br />
- Hostname: *.svn.sourceforge.net<br />
- Valid: from Fri, 27 Oct 2006 12:05:58 GMT until Sun, 28 Oct 2007 13:05:58 GMT<br />
- Issuer: Equifax Secure Certificate Authority, Equifax, US<br />
- Fingerprint: f2:6c:fe:bb:82:92:30:09:72:dd:1c:b3:e7:56:69:c7:7a:df:67:3e<br />
<br />
That is an issue in a bitbake file. One should not use the short-name for sourceforge (sf.net) when certificates are only for exact host names. Accept the certificate and everything is fine for now.<br />
<br />
==== openmoko-libs FTBFS ====<br />
Some applications have not been fully modified to build with the new libraries of Openmoko and still need the old-style ''openmoko-libs'' package. ''libmokogsm'' which is needed for ''openmoko-libs'' then fails to build. As a workaround you can remove the not yet ported applications that need ''openmoko-libs'' making it unneccessary itself. To do this edit ''packages/tasks/openmoko-taks.bb'' and find the following lines:<br />
<br />
.<br />
.<br />
.<br />
openmoko-terminal \<br />
matchbox-panel-2 \<br />
matchbox-panel-2-applets \<br />
matchbox-applet-inputmanager \<br />
# openmoko-appmanager \<br />
matchbox-keyboard \<br />
matchbox-stroke \<br />
openmoko-keyboard \<br />
.<br />
.<br />
.<br />
<br />
Now put a hash (''#'') before ''openmoko-terminal'' and ''openmoko-keyboard''. You can verify that ''openmoko-libs'' is not needed any more by issuing ''bitbake -g openmoko-devel-image'' (= creates a dependency graph). There should be no mentioning of ''openmoko-libs'' in the file ''task-depends.dot''. '''Please note that the graphicall terminal and the virtual keyboard will be missing now.''' You can still have terminal access by following the [[USB Networking]] guide. For keyboard input in Qemu add the ''-usbdevice keyboard'' switch.<br />
<br />
<br />
==== gtk+ fails building w/ gtkcombobox.c ====<br />
<br />
If you get these errors:<br />
<br />
gtkcombobox.c: In function 'gtk_combo_box_size_request':<br />
gtkcombobox.c:1859: warning: unused variable 'font_desc'<br />
gtkcombobox.c:1858: warning: unused variable 'metrics'<br />
gtkcombobox.c:1857: warning: unused variable 'context'<br />
gtkcombobox.c:1855: warning: unused variable 'arrow_size'<br />
gtkcombobox.c:1854: warning: unused variable 'font_size'<br />
gtkcombobox.c: In function 'gtk_combo_box_size_allocate':<br />
gtkcombobox.c:1962: error: 'arrow_size' undeclared (first use in this function)<br />
gtkcombobox.c:1962: error: (Each undeclared identifier is reported only once<br />
gtkcombobox.c:1962: error: for each function it appears in.)<br />
gtkcombobox.c:1965: error: 'font_desc' undeclared (first use in this function)<br />
gtkcombobox.c:1966: error: 'context' undeclared (first use in this function)<br />
gtkcombobox.c:1967: error: 'metrics' undeclared (first use in this function)<br />
gtkcombobox.c:1969: error: 'font_size' undeclared (first use in this function) <br />
<br />
Go to your /build/tmp/work/fic-gta01-angstrom-linux-gnueabi/gtk+-2.10.14-r3/gtk+-2.10.14/gtk directory, and patch gtkcombobox.c with the following:<br />
<br />
Thanks to rmoravcik in #openmoko (patch was taken from http://pastebin.ca/654717 )<br />
<br />
--- gtkcombobox.c 2007-08-12 20:30:07.000000000 +0200<br />
+++ gtkcombobox.c 2007-08-12 20:29:58.000000000 +0200<br />
@@ -1948,6 +1948,12 @@<br />
gtk_combo_box_size_allocate (GtkWidget *widget,<br />
GtkAllocation *allocation)<br />
{<br />
+ gint font_size;<br />
+ gint arrow_size;<br />
+ PangoContext *context;<br />
+ PangoFontMetrics *metrics;<br />
+ PangoFontDescription *font_desc;<br />
+<br />
GtkComboBox *combo_box = GTK_COMBO_BOX (widget);<br />
gint focus_width, focus_pad;<br />
GtkAllocation child;<br />
<br />
<br />
==== Building glibc fails with a segfault in QEMU ====<br />
<br />
If your build aborts and you see something like this:<br />
<br />
NOTE: package glibc-2.5: started<br />
NOTE: package glibc-2.5-r6: task do_package: started<br />
NOTE: preparing tree for binary locale generation<br />
NOTE: generating locale en_US (UTF-8)<br />
qemu: uncaught target signal 11 (Segmentation fault) - exiting<br />
<br />
...<br />
<br />
NOTE: Tasks Summary: Attempted 271 tasks of which 0 didn't need to be rerun and 1 failed.<br />
ERROR: '/home/moko/oe/org.openembedded.dev/packages/glibc/glibc_2.5.bb' failed<br />
<br />
Try editing your local.conf file. Change:<br />
<br />
ENABLE_BINARY_LOCALE_GENERATION = "1"<br />
<br />
to<br />
<br />
ENABLE_BINARY_LOCALE_GENERATION = "0"<br />
<br />
and restart the build. This may have some effect on internationalization (you will see a warning indicating that), but at least the build will continue. Thanks to rwhitby for the tip.<br />
<br />
Alternatively, as suggested by XorA in #openmoko, if you are running a 64-bit host distribution, try forcing a different QEMU rev, also in local.conf:<br />
<br />
PREFERRED_VERSION_qemu-native = "0.9.0+cvs20070701"<br />
SRCDATE_qemu-native = 20070701<br />
<br />
<br />
==== libxml2-native fails with xmlCatalogPtr errors ====<br />
<br />
Go to your build/tmp/work/i686-linux/libxml2-native-2.6.29-r1/libxml2-2.6.29/include/libxml/ directory and patch xmlversion.h with the following:<br />
<br />
--- xmlversion.h 2007-08-17 10:45:42.000000000 +0100<br />
+++ xmlversion.h 2007-08-17 10:51:36.000000000 +0100<br />
@@ -219,7 +219,7 @@<br />
*<br />
* Whether the Catalog support is configured in<br />
*/<br />
-#if 0<br />
+#if 1<br />
#define LIBXML_CATALOG_ENABLED<br />
#endif<br />
<br />
On my system the libxml2-native-2.6.29-r1 directory is in a directory named i686-linux, yours may be different. I believe this patch to be a workaround to make libxml2-native build. I am not yet sure what the consequences of enabling XML catalogue support are.<br />
<br />
<br />
<br />
<br />
== Pre-built images ==<br />
* http://buildhost.openmoko.org/snapshots/2007.08/ (Official snapshots and ipkg repository)<br />
<br />
=== Buildhost directory structure ===<br />
<br />
The content of the Openmoko build server directory is available at<br />
* http://buildhost.openmoko.org/OM2007.2/tmp/<br />
<br />
It contains<br />
* cache<br />
** Internal caching data, not for human interpretation<br />
* cross<br />
** The cross-compilation toolchain used. You can download this and use it on your local machine.<br />
* deploy<br />
** deploy/images<br />
*** The filesystem, kernel and bootloader images to be flashed into NAND<br />
** deploy/ipk<br />
*** the .ipk packages<br />
* rootfs<br />
** the extracted root filesystem. Please use the images from deploy/images instead<br />
* staging<br />
** no user servicable parts inside<br />
* stamp<br />
** internal state data<br />
* work<br />
** the actual build trees (including patches source code and binaries) of the individual packages<br />
<br />
== Updating your image ==<br />
<br />
Now that you have a functional 2007.2 image on your Neo, you will want to keep it updated. Fortunately, ipkg is already set up to pull updated packages from the openmoko buildhost.<br />
<br />
On the phone, in the terminal (or via ssh), if you have a live internet connection and DNS resolution set up in /etc/resolv.conf:<br />
<br />
ipkg update && ipkg upgrade<br />
<br />
will bring your installed packages up to the most recent versions. Also have a look at alternative/additional ipkg sources at [[downloads]].<br />
<br />
If you are also building your own images and packages, you can also run a simple httpd on your build host and serve your own ipkg files to the Neo.<br />
<br />
On the build host, for example:<br />
<br />
thttpd -d <path_to_moko/tmp/deploy/glibc/ipk> -p 8080<br />
<br />
will serve your packages on port 8080.<br />
<br />
Then, on the neo, make a new file at /etc/ipkg/local-feed.conf with these contents:<br />
<br />
src/gz local-all http://192.168.0.200:8080/all<br />
src/gz local-armv4t http://192.168.0.200:8080/armv4t<br />
src/gz local-om-gta01 http://192.168.0.200:8080/om-gta01<br />
<br />
and ipkg on the Neo (update-upgrade) will pick up files from your local build host's repository (assuming its IP address is 192.168.0.200, as is default in the [[USB Networking]] setup) in addition to the openmoko buildhost.<br />
<br />
Or better yet, change the 192.168.0.200:8080 addresses above to the eth0 IP address of your build machine (instead of the usb0 IP address), and then you can access your local repository with your Neo plugged into any machine on your local net, or even via bluetooth.<br />
<br />
Also if you are building your own packages or packages from the OE database that aren't part of Openmoko by default, you can install those packages as follows.<br />
<br />
On the build host:<br />
<br />
bitbake <name_of_package><br />
bitbake -crebuild package-index<br />
<br />
Then on the Neo:<br />
<br />
ipkg update<br />
ipkg install <name_of_package><br />
<br />
The new package might not show up in the program menu until you reboot or restart X.<br />
<br />
==FAQ==<br />
=== Q: What are differences between 2007.1 and 2007.2? ===<br />
<br />
* UI redesigned for small and recessed screen<br />
* Simplified visuals for performance<br />
* Simplified UI<br />
* More interactions including finger scrolling<br />
* [[Today|openmoko-today]] rewritten; works as application launcher and task manager as well<br />
* neod takes care of basic powermanagement, supports AUX and POWER buttons for navigation / additional functionality<br />
* Updated upstream packages<br />
<br />
=== Q: Where to get snapshot images? ===<br />
<br />
* [[Openmoko2007.2#Pre-built_snapshot_images|Unofficial images]] listed at the bottom of this article<br />
<br />
* Official snapshots and ipkg repository:<br />
** http://buildhost.openmoko.org/snapshots/2007.08/<br />
<br />
=== Q: My mrxvt (terminal) fonts are huge. ===<br />
<br />
Edit src/feature.h to set MIN_XFT_FONT_SIZE to lower value:<br />
#define MIN_XFT_FONT_SIZE (2)<br />
and rebuild mrxvt & openmoko-devel-image.<br />
<br />
End edit /etc/mrxvt/mrxvt.conf<br />
Mrxvt.xftSize: 4<br />
Mrxvt.xftHint: 1<br />
<br />
{{Languages|Om 2007.2}}<br />
<br />
[[Category:Distributions]]<br />
[[Category:Om 2007.2]]</div>Nickhttp://openmoko.org/wiki/Talk:USB_NetworkingTalk:USB Networking2008-08-09T17:59:48Z<p>Nick: /* Operation on Gentoo */</p>
<hr />
<div>= Driver options in kernel config =<br />
Hi, I didn't want to change it in case I was wrong, but I believe that the options to configure your<br />
desktop as a host are not in "USB Support" as the article says:<br />
"Both options are available in the Device Drivers -> USB support -> USB Network Adapters. For more info see the usbnet driver homepage."<br />
Aren't the options in <pre>Device Drivers -> Network Device Support -> USB Network Adapters</pre><br />
Can someone confirm this? I don't want to send people in the wrong direction, but that is the way it is in my system. Thanks. [[User:Mmanjos|Mmanjos]] 15:36, 4 November 2007 (CET)<br />
<br />
= Thoughts on USB networking in the final product =<br />
<br />
There was some discussion on the #openmoko IRC channel on how to approach the USB networking automatic setup eventually in the final product.<br />
<br />
The Neo's IP will probably need to remain static, and chosen, as it is now, from some local address space. I would personally suggest to change to using an address higher in the 192.168.0.0 space, say, 192.168.19.73 (ehhehe) to reduce chance of conflicts. (Or use link-local space?)<br />
* I don't think the 192.168.0.0 space is very problematic if network is configured as 192.168.0.192/26 instead of 192.168.0.0/24, as explained in the Debian example I've just enhanced in the page. [[User:OlivierBerger|OlivierBerger]] 07:35, 25 July 2008 (UTC)<br />
<br />
Anyway, for the casual user, and even comfort-seeking geeks, OpenMoko will need to provide DHCP service. It will probably be also a good idea to run a DNS proxy, since that way the host doesn't need to care about changing DNS servers, and the caching is a good idea anyway for high latency GPRS. I'd suggest dnsmasq, which is simple and can handle both tasks. I assume the Neo will do IP masquerading for the USB host when it's acting as its default gateway.<br />
<br />
Now, the DHCP server should obviously serve up a local address to the USB host when connected (assuming here most hosts will use DHCP by default to configure the USB network device, which I think is a valid assumption, and if some don't, we can't help things automagically anyway).<br />
<br />
What's more complicated is when to give a default gateway and a DNS server address. You don't want to do it all the time, that would screw with simple use cases (detailed more below).<br />
<br />
== Suggested policies ==<br />
<br />
At this point I suggest, based on the aforementioned IRC discussion, the following policy:<br />
<br />
1) If the device is plugged into a host, and the device is not on-line with GPRS, do not go on-line, and only give a private address (no default route/dns) to host.<br />
<br />
2) If the phone is told to go on-line with GPRS (or, in the future, other mobile protocols) and it's presently hooked up to a USB host with only a local network connection, query the user if they want to use the Internet also from the computer. If yes, run the interface down, then up again, thus triggering the host to make a new DHCP query. Now serve up default gateway and dns information too.<br />
<br />
3) If the phone is told to go off-line while routing a network connection to a USB host, cycle the interface again and only serve up a local address. Possibly ask if the user really wants to disconnect considering the tether.<br />
<br />
4) If the phone is presently on-line with GPRS, and it's plugged into a host, initialize with only the local network connection, query the user (with a dialog or less obtrusively with a suitable panel button or panel GPRS menu changing appearance) whether they want to use the connection from the computer too. If yes, cycle interface, serve up default gateway and dns. Remove the query if usb disconnected.<br />
<br />
== Use cases ==<br />
<br />
The rationale for not serving up a default route too eagerly is that this device charges from USB, people will probably sync it via USB, and they don't want any hassle doing that. Use cases to demonstrate:<br />
<br />
1) John wants to sync addressbooks between his home desktop and the Neo. He uses USBnet for this, because where he lives, GPRS is crazy expensive, and besides, he doesn't want to have internet-visible servers on the desktop. He hooks the Neo up, and only wants local data transfer capabilities. What he doesn't want is to lose access to his broadband, so serving up default gateway and DNS would make him angry.<br />
<br />
2) Shirley has CommunitasticoMoko installed on her Neo, and thus is on-line via GPRS pretty much constantly. (Yes, Shirley lives in some more GPRS-friendly area.) Shirley wants to load up new music from her desktop to the phone, so she hooks the Neo up. Even though GPRS is on-line for CommunitasticoMoko, she doesn't want the desktop to suddenly lose her home broadband access. She gets asked (in the more or less obtrusive ways above) if she'd like to provide Internet access to the host. She doesn't care about the question, just transfers the files, unhooks, and is on the go. The query disappears, not bothering her anymore.<br />
<br />
3) Shirley's CommunitasticoMoko buddy Roxanne hooks the Neo up to her laptop. As she is also on-line via GPRS, she gets the query. She first thinks to only sync up the address books of her laptop and the Neo, but while doing that, she decides to go surfing for a bit too. Up till now, she's had a local network between the devices, but as she acknowledges to the Neo that yes, she wants on-line, the laptop will get a default gateway and a DNS server, and surfing she goes.<br />
<br />
4) Matt just wants to charge his Neo up. He couldn't care less about any networking, let alone the Neo interfering with his existing network connections. He hooks the Neo up, and the local network is initialized. That's of little consequence to Matt, but he gets the phone charged.<br />
<br />
5) Tom is charging his Neo via his laptop at home, when his home broadband is cut off by a road crew. He has reasonable GPRS pricing, so he wants it up as a backup. He tells the Neo to go on-line, whereupon he is asked, since the Neo is already plugged in, if he wants to share the connection to his laptop. And yes he does. The Neo cycles the interface, and the laptop gets an Internet connection.<br />
<br />
== Open questions == <br />
<br />
How to deal with Bluetooth and WiFi routing (for GTA02) in conjuction? Probably you'd not want to serve up default gateway per default if you're BT tethered, however, user might want to have one device BT tethered and another USB tethered. So perhaps best to leave the option open to share the connection via USB even if BT tethering is active, though especially in this case the option shouldn't be obtrusive; it'd probably be a rare use case.<br />
<br />
=== Additional use cases ===<br />
<br />
There is another use cases I'd like to suggest for consideration:<br />
<br />
* Bertrand (who has a good broadband connection at home) lives in Expensive GPRS Country and has no Bluetooth / WLAN. He wants to plug his phone into his computer and run ipkg updates via his broadband connection. His PC is serving as a DHCP server and/or bridges all traffic through its interfaces (with STP preventing loops).<br />
<br />
Suggested policy:<br />
* Before the phone assigns itself a local address, it asks for a DHCP address. If that fails, a link local address according to RFC 3927 is assigned.<br />
<br />
= Operation on Gentoo =<br />
<br />
One way of doing routing and NAT was recently added to the Wiki. I followed the lead of the other examples and did it this way:<br />
<br />
# Neo1973<br />
config_usb0=( "192.168.0.200 netmask 255.255.255.0" )<br />
postup() {<br />
case "${IFVAR}" in <br />
"usb0") <br />
iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24<br />
echo 1 > /proc/sys/net/ipv4/ip_forward<br />
iptables -P FORWARD ACCEPT<br />
return 0;;<br />
esac<br />
return 0<br />
}<br />
predown() {<br />
case "${IFVAR}" in <br />
"usb0") <br />
iptables -D POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24<br />
echo 0 > /proc/sys/net/ipv4/ip_forward<br />
return 0;;<br />
esac<br />
return 0<br />
}<br />
<br />
If the intent is to have the NATing and routing turn on and off as the neo is plugged and unplugged, this is probably an approach that is more like that than the other way.<br />
<br />
== Dealing with NetworkManager ==<br />
<br />
NetworkManager (the default for [http://www.sabayonlinux.org/ sabayon]) bypasses /etc/conf.d/net.usb0 by default. You need to modify /etc/conf.d/rc (or /etc/rc.conf on OpenRC) from<br />
RC_PLUG_SERVICES="!net.*"<br />
to somehing like<br />
RC_PLUG_SERVICES="!net.eth* !net.wlan*"<br />
<br />
(see http://gentoo-wiki.com/HOWTO_NetworkManager)<br />
<br />
= Rewrite =<br />
<br />
I have rewritten this page for accuracy and clarity. I took out redundant stuff, and tried to make it much clearer based upon my networking experience and discussions with users having problems in the #openmoko IRC channel. I tried to avoid and remove first person comments (although made some myself). <br />
<br />
The first section is very deliberate, since the ordering of this page was illogical, having gathered many random comments. This allows user to step through the parts and make sure each is right before moving on. There are further explanations that could be added - instead of a subnet, an explicit device route could be added for the .202 host, over USB. which avoids most routing problems (unless your desktop is also .202). I hope though even without that, this covers most scenarios. I intend to rewrite some of the other pages in the same way.<br />
<br />
= Changing flow =<br />
<br />
Miohtama, I'm not entirely happy about your unjustified reordering. The page was structured in order to carefully explain to new users how to make it work, and for it be a very precise guide for helping those on IRC having problems - users I deal with. I don't believe that your changes really facilitate that. Putting stuff together because it seems to might superficially seem like a good idea, but it's not always.</div>Nickhttp://openmoko.org/wiki/Users_RepositoriesUsers Repositories2007-12-12T19:03:12Z<p>Nick: /* Repositories */ fixed link</p>
<hr />
<div>=== Repositories ===<br />
here you can find prebuilt kernels and root file systems.<br />
<br />
* '''Official downloads'''<br />
:* Recent/latest builds<br />
::* OM2007.2 <br />
:::http://buildhost.openmoko.org/OM2007.2/tmp/deploy/glibc/images/neo1973/?C=M;O=D<br />
::* OM2007.1 (Obsolete)<br />
:::http://buildhost.openmoko.org/OM2007.1/tmp/deploy/images/?C=M;O=D<br />
<br />
:* Snapshots [http://downloads.openmoko.org/snapshots/]<br />
::* 2007.11 - the latest (2nd Dec) snapshot ([http://lists.openmoko.org/pipermail/community/2007-December/011980.html from Mickey])<br />
:::http://downloads.openmoko.org/snapshots/2007.11/images/<br />
::* 2007.08 snapshot, as announced by Sean on August 19<br />
:::http://downloads.openmoko.org/snapshots/2007.08/images/<br />
<br />
* '''Unofficial builds'''<br />
:* '''[[User:ChooseOpen|ChooseOpen]]'''<br />
::http://chooseopen.com:81/openmoko/build/2007.2/?M=D<br />
::http://chooseopen.com:81/openmoko/build/qtopia/?M=D (Qtopia)<br />
<br />
:* '''[[User:ScaredyCat|ScaredyCat]]'''<br />
::http://buildhost.automated.it/OM2007.2/?M=D<br />
<br />
::ScaredyCat also has a ipkg repository for 2007.2 where e.g. gpe-filemanager and a lot more (e.g. ntpd) can be installed from. On the Neo do:<br />
<br />
cd /etc/ipkg<br />
wget http://buildhost.automated.it/OM2007.2/packages/scaredycat.conf <br />
ipkg update<br />
ipkg install gpe-filemanager<br />
ipkg install gpe-timesheet<br />
ipkg install gpe-todo<br />
ipkg install mysql<br />
ipkg install mtpaint<br />
ipkg install sqlite<br />
ipkg install ntp<br />
#(you get the idea)<br />
/etc/init.d/xserver-nodm restart # to make the new applications appear in the menu<br />
<br />
:* '''mwester''' unofficial builds<br />
::http://moko.mwester.net/<br />
<br />
:* - (2007.2)<br />
::http://ipkg.nslu2-linux.org/feeds/openmoko/images/?C=M;O=D<br />
<br />
:* - (2007.2)<br />
::http://www.totalueberwachung.de/~alphaone/openmoko-build/glibc/images/fic-gta01/?C=M;O=D<br />
<br />
:* - (2007.2)<br />
::http://celtune.morb-design.com/images/fic-gta01/?C=M;O=D<br />
::http://celtune.morb-design.com/ipk/<br />
::Celtune offers Standard-Builds (.jffs2, .tar, .bin, .ipk) <br />
<br />
cd /etc/ipkg && wget http://celtune.morb-design.com/celtune.conf<br />
<br />
If you want to add a link, it would be nice to enforce a standard format of these feeds so that they can be browsed automatically.<br />
<br />
=== Angstrom Repository ===<br />
If there's a package you need that is missing from the feeds listed above you can search the Angstrom repo [http://www.angstrom-distribution.org/repo/ here].<br />
<br />
To add the unstable Angstrom feed, update your /etc/ipkg/base-feeds.conf to include a line:<br />
<br />
src/gz base http://www.angstrom-distribution.org/unstable/feed/armv4t/base/<br />
<br />
<br />
[[Category:OpenMoko]]</div>Nickhttp://openmoko.org/wiki/Users_RepositoriesUsers Repositories2007-12-03T18:26:23Z<p>Nick: /* Repositories */ +2007.11 snapshot & ce</p>
<hr />
<div>=== Repositories ===<br />
here you can find prebuilt kernels and root file systems.<br />
<br />
* '''Official downloads'''<br />
:* Recent/latest builds<br />
::* OM2007.2 <br />
:::http://buildhost.openmoko.org/OM2007.2/tmp/deploy/glibc/images/neo1973/?C=M;O=D<br />
::* OM2007.1<br />
:::http://buildhost.openmoko.org/OM2007.1/tmp/deploy/images/?C=M;O=D<br />
<br />
:* Snapshots [http://downloads.openmoko.org/snapshots/] or [http://buildhost.openmoko.org/snapshots/]<br />
::* OM2007.11 - the latest (2nd Dec) snapshot ([http://lists.openmoko.org/pipermail/community/2007-December/011980.html from Mickey])<br />
:::http://buildhost.openmoko.org/snapshots/2007.11/images/neo1973/<br />
::* 2007.08 snapshot, as announced by Sean on August 19<br />
:::http://buildhost.openmoko.org/snapshots/2007.08/images/<br />
<br />
* '''Unofficial builds'''<br />
:* '''[[User:ChooseOpen|ChooseOpen]]'''<br />
::http://chooseopen.com:81/openmoko/build/2007.1/?M=D<br />
::http://chooseopen.com:81/openmoko/build/2007.2/?M=D<br />
::http://chooseopen.com:81/openmoko/build/qtopia/?M=D (Qtopia)<br />
<br />
:* '''[[User:ScaredyCat|ScaredyCat]]'''<br />
::http://buildhost.automated.it/OM2007.1/?M=D<br />
::http://buildhost.automated.it/OM2007.2/?M=D<br />
<br />
::ScaredyCat also has a ipkg repository for 2007.2 where e.g. gpe-filemanager and a lot more (e.g. ntpd) can be installed from. On the Neo do:<br />
<br />
cd /etc/ipkg<br />
wget http://buildhost.automated.it/OM2007.2/packages/scaredycat.conf <br />
ipkg update<br />
ipkg install gpe-filemanager<br />
ipkg install gpe-timesheet<br />
ipkg install gpe-todo<br />
ipkg install mysql<br />
ipkg install mtpaint<br />
ipkg install sqlite<br />
ipkg install ntp<br />
#(you get the idea)<br />
/etc/init.d/xserver-nodm restart # to make the new applications appear in the menu<br />
<br />
:* '''mwester''' unofficial builds<br />
::http://moko.mwester.net/<br />
<br />
:* - (2007.2)<br />
::http://ipkg.nslu2-linux.org/feeds/openmoko/images/?C=M;O=D<br />
<br />
:* - (2007.2)<br />
::http://www.totalueberwachung.de/~alphaone/openmoko-build/glibc/images/fic-gta01/?C=M;O=D<br />
<br />
:* - (2007.2)<br />
::http://celtune.morb-design.com/images/fic-gta01/?C=M;O=D<br />
::http://celtune.morb-design.com/ipk/<br />
::Celtune offers Standard-Builds (.jffs2, .tar, .bin, .ipk) <br />
<br />
cd /etc/ipkg && wget http://celtune.morb-design.com/celtune.conf<br />
<br />
If you want to add a link, it would be nice to enforce a standard format of these feeds so that they can be browsed automatically.<br />
<br />
[[Category:OpenMoko]]</div>Nickhttp://openmoko.org/wiki/Flashing_the_Neo_1973Flashing the Neo 19732007-11-18T14:51:20Z<p>Nick: /* Files to download */ fix date sort</p>
<hr />
<div>This describes how to update your Neo1973 to the latest software. We'll update the kernel, the root filesystem and optionally u-boot.<br />
<br />
{{warning|If you're updating u-boot and don't have a [[Debug Board]], you might render your unit unusable if the flashing procedure is interrupted}}<br />
<br />
{{warning|If you upload a rootfs image that is smaller than the previous one it won't work - you need to attach to bootloader, [[Nand_erase|erase NAND]] and then upload your rootfs first}}<br />
<br />
== Files to download ==<br />
<br />
MacOS X users: please refer to [[MacOS_X]]. Users without Linux please refer to [[No_Linux]] for the moment.<br />
<br />
The rootfs & kernel images you download need to match. The loadable modules for the kernel are in /lib/modules/ on the rootfs partition - if you get the wrong combination, you will get some error messages during bootup that it cannot access /lib/modules/x.y.z-moko123 - in this case swap either the kernel or the rootfs to match the other's version. Unfortunately the rootfs filename does not seem to tell what kernel version it is compatible with, you just have to try a few. '''NOTE:''' At least some combinations seem to boot up fine even if the module versions mismatch so be sure to check the console while it's booting after flashing.<br />
<br />
The "moko123" in the error message example above indicates the openmoko patchset version.<br />
<br />
Necessary files are at:<br />
*http://buildhost.openmoko.org/OM2007.2/tmp/deploy/glibc/images/neo1973/?C=M;O=D<br />
<br />
*http://buildhost.automated.it/OM2007.2/?M=D (Location of more current unofficial builds.)<br />
<br />
A list of download locations can be found at [[Repositories]]. See [[Phase 1 Software Testing]] for a list of tested images.<br />
<br />
<br />
Changelogs can be found at:<br />
*http://cia.vc/stats/project/openembedded/.rss<br />
<br />
*http://cia.vc/stats/project/openmoko/.rss<br />
<br />
<br />
Get:<br />
* [[dfu-util]] (the precompiled binary on http://buildhost.openmoko.org is for Linux/i386)<br />
** (this is the part that runs on the PC, that pushes the files across the USB to the phone)<br />
* openmoko-devel-image-fic-gta01-2007********.rootfs.jffs2<br />
* uImage-2.6.21.*-moko*-r*_0_****_0-fic-gta01.bin<br />
* for phase 0 (Bv03) phones:<br />
** Tested by a few people:<BR>u-boot-gta01bv3-r8_70124c2602ae2d4c5d3dba05b482d91548242de8_0_2040.bin<BR>MD5SUM: 60c5aeba1bd6642b05b3a5e6f2dafe83<br />
** Tested by hrw:<BR>u-boot-gta01bv3-r8_70124c2602ae2d4c5d3dba05b482d91548242de8_0_2062.bin<BR>MD5SUM: 716f1eba9b0f2be4a0a3be4a56724935<br />
* for phase 1 phones, uboot update should not be necessary.<br />
<br />
== Preparing the device for DFU mode ==<br />
<br />
You'll need to boot your openmoko into uboot menu. To do this:<br />
<br />
* Unplug all usb devices from the host.<br />
* Hold the phone's [[Neo1973 AUX Button | AUX button]] and then press the phone's [[Neo1973 Power Button | POWER button]].<br />
** You'll need to hold the POWER button for about 4 seconds before the device will turn on. Otherwise the screen will only flash white for a second and the phone won't power up.<br />
* The u-boot menu should appear. <br />
* Plug Neo1973 into host with supplied USB cable. (Plug the phone directly into the host not via a hub.)<br />
<br />
'''Note:''' If the bootloader remains inactive for about 30 seconds, that is no keypresses or no use of the serial console, the device will automatically power down.<br />
You can prevent this by just pressing the AUX button every 30 seconds or so or by telling the bootloader to not exhibit this behaviour.<br />
To do so, please connect to the bootloader:<br />
<br />
<pre><br />
cu -l /dev/ttyACM0<br />
GTA01Bv4 # setenv boot_menu_timeout 65000<br />
GTA01Bv4 # saveenv<br />
</pre><br />
<br />
(You may have to install the uucp package to have access to cu.)<br />
<br />
No further navigation is needed in u-boot - the device will automatically start flashing the images when told to do so by dfu-util below. After flashing all the files, you can choose the "Boot" option to boot the newly flashed stuff.<br />
<br />
== Actually flashing things into the device ==<br />
<br />
Double check that u-boot matches your hardware version. You'll probably only want to update u-boot on phase0 phones.<br />
<br />
Note: It may be necessary to run the application as root (at least in ubuntu).<br />
<br />
Note: In case there are more than one available usb devices use -d 0x1457:0x5119 option.<br />
<br />
To update u-boot:<br />
<br />
<b>Warning: Do not update u-boot unless you have [[debug board]] or are really sure about what you are doing. Flashing a wrong u-boot image will brick your device! Note especially that image below is for GTA01B_v03, not GTA01B_v04</b><br />
<br />
./dfu-util -a u-boot -R -D u-boot-gta01bv3-r8_70124c2602ae2d4c5d3dba05b482d91548242de8_0_2040.bin<br />
<br />
To update the kernel:<br />
./dfu-util -a kernel -R -D ./uImage-2.6.21.1-moko10-r0_0_1883_0-fic-gta01.bin<br />
Flashing the kernel will probably take less than 1 minute. If you're having trouble, you may want to compare the output that you see to a "known good" [[Flashing openmoko/Known good kernel flash U-Boot output | U-Boot]]/[[Flashing openmoko/Known good kernel flash dmesg output | dmesg]]/[[Flashing openmoko/Known good kernel flash dfu-util output | dfu-util]] output.<br />
<br />
To update the root filesystem:<br />
./dfu-util -a rootfs -R -D ./Openmoko-devel-image-fic-gta01-20070501054014.rootfs.jffs2<br />
<br />
Flashing the root filesystem will probably take around 13 minutes. Here is some "known good" output from [[Flashing openmoko/Known good rootfs flash U-Boot output | U-Boot]], [[Flashing openmoko/Known good rootfs flash dmesg output | dmesg]], and [[Flashing openmoko/Known good rootfs flash dfu-util output | dfu-util]].<br />
<br />
Notice that it's not normally necessary to update the modules anymore. It's just for people with special needs.<br />
<br />
...now, you'll end up with system that boots, but does not see audio/SD card. You'll need to download corresponding modules.tgz and copy them over to openmoko. - UPDATE: GTA01 phones appear to not need this step, as long as you have installed a kernel that matches the version of the modules contained in the root image ('uname -r' will show the kernel version, and 'ls /lib/modules/' will show the modules that are present).<br />
<br />
VERY IMPORTANT NOTE (I would consider that as a design flaw - either dfu-util should do it automatically): If you upload rootfs image that is smaller that previous one it won't work - you need to attach to the u-boot bootloader, erase NAND and then upload your rootfs first:<br />
<br />
<pre><br />
cu -l /dev/ttyACM0<br />
GTA01Bv3 # nand erase rootfs<br />
</pre><br />
<br />
Old versions of u-boot are buggy: You may have to press the AUX button every 25 seconds or so to prevent the phone from going to sleep while being flashed. It also does not erase rootfs before flashing it... to do that, do minicom /dev/ttyACM0, then nand erase clean rootfs.<br />
<br />
Good luck!<br />
<br />
== Where to go from here ==<br />
<br />
So, now you have one of the more recent kernel and rootfs images, or one of the (semi)official ones, whats next?<br />
<br />
You probably want to set up [[USB_Networking]] and then configure your Neo1973 some more.<br />
<br />
Do not forget to update your Neo1973 using<br />
<br />
ipkg update && ipkg upgrade<br />
<br />
and have a look at additional ipkg [[repositories]].<br />
<br />
== Troubleshooting notes ==<br />
<br />
If 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> just retry the command - it should work on a second run.<br />
<br />
This message can also occur if you connect the usb cable before you are in the bootloader menu. You must carefully follow the sequence described at the beginning of this article and not connect the USB cable too early.<br />
<br />
dfu-util does not seem to be able to download files if run from linux running under<br />
VMWare on a Windows OS host.<br />
<br />
See other notes on [[Dfu-util]] page.<br />
<br />
[[Category:OpenMoko| ]]</div>Nickhttp://openmoko.org/wiki/Flashing_the_Neo_1973Flashing the Neo 19732007-11-18T14:49:13Z<p>Nick: /* Files to download */ add date sort</p>
<hr />
<div>This describes how to update your Neo1973 to the latest software. We'll update the kernel, the root filesystem and optionally u-boot.<br />
<br />
{{warning|If you're updating u-boot and don't have a [[Debug Board]], you might render your unit unusable if the flashing procedure is interrupted}}<br />
<br />
{{warning|If you upload a rootfs image that is smaller than the previous one it won't work - you need to attach to bootloader, [[Nand_erase|erase NAND]] and then upload your rootfs first}}<br />
<br />
== Files to download ==<br />
<br />
MacOS X users: please refer to [[MacOS_X]]. Users without Linux please refer to [[No_Linux]] for the moment.<br />
<br />
The rootfs & kernel images you download need to match. The loadable modules for the kernel are in /lib/modules/ on the rootfs partition - if you get the wrong combination, you will get some error messages during bootup that it cannot access /lib/modules/x.y.z-moko123 - in this case swap either the kernel or the rootfs to match the other's version. Unfortunately the rootfs filename does not seem to tell what kernel version it is compatible with, you just have to try a few. '''NOTE:''' At least some combinations seem to boot up fine even if the module versions mismatch so be sure to check the console while it's booting after flashing.<br />
<br />
The "moko123" in the error message example above indicates the openmoko patchset version.<br />
<br />
Necessary files are at:<br />
*http://buildhost.openmoko.org/OM2007.2/tmp/deploy/glibc/images/neo1973/?M=D <br />
<br />
*http://buildhost.automated.it/OM2007.2/?M=D (Location of more current unofficial builds.)<br />
<br />
A list of download locations can be found at [[Repositories]]. See [[Phase 1 Software Testing]] for a list of tested images.<br />
<br />
<br />
Changelogs can be found at:<br />
*http://cia.vc/stats/project/openembedded/.rss<br />
<br />
*http://cia.vc/stats/project/openmoko/.rss<br />
<br />
<br />
Get:<br />
* [[dfu-util]] (the precompiled binary on http://buildhost.openmoko.org is for Linux/i386)<br />
** (this is the part that runs on the PC, that pushes the files across the USB to the phone)<br />
* openmoko-devel-image-fic-gta01-2007********.rootfs.jffs2<br />
* uImage-2.6.21.*-moko*-r*_0_****_0-fic-gta01.bin<br />
* for phase 0 (Bv03) phones:<br />
** Tested by a few people:<BR>u-boot-gta01bv3-r8_70124c2602ae2d4c5d3dba05b482d91548242de8_0_2040.bin<BR>MD5SUM: 60c5aeba1bd6642b05b3a5e6f2dafe83<br />
** Tested by hrw:<BR>u-boot-gta01bv3-r8_70124c2602ae2d4c5d3dba05b482d91548242de8_0_2062.bin<BR>MD5SUM: 716f1eba9b0f2be4a0a3be4a56724935<br />
* for phase 1 phones, uboot update should not be necessary.<br />
<br />
== Preparing the device for DFU mode ==<br />
<br />
You'll need to boot your openmoko into uboot menu. To do this:<br />
<br />
* Unplug all usb devices from the host.<br />
* Hold the phone's [[Neo1973 AUX Button | AUX button]] and then press the phone's [[Neo1973 Power Button | POWER button]].<br />
** You'll need to hold the POWER button for about 4 seconds before the device will turn on. Otherwise the screen will only flash white for a second and the phone won't power up.<br />
* The u-boot menu should appear. <br />
* Plug Neo1973 into host with supplied USB cable. (Plug the phone directly into the host not via a hub.)<br />
<br />
'''Note:''' If the bootloader remains inactive for about 30 seconds, that is no keypresses or no use of the serial console, the device will automatically power down.<br />
You can prevent this by just pressing the AUX button every 30 seconds or so or by telling the bootloader to not exhibit this behaviour.<br />
To do so, please connect to the bootloader:<br />
<br />
<pre><br />
cu -l /dev/ttyACM0<br />
GTA01Bv4 # setenv boot_menu_timeout 65000<br />
GTA01Bv4 # saveenv<br />
</pre><br />
<br />
(You may have to install the uucp package to have access to cu.)<br />
<br />
No further navigation is needed in u-boot - the device will automatically start flashing the images when told to do so by dfu-util below. After flashing all the files, you can choose the "Boot" option to boot the newly flashed stuff.<br />
<br />
== Actually flashing things into the device ==<br />
<br />
Double check that u-boot matches your hardware version. You'll probably only want to update u-boot on phase0 phones.<br />
<br />
Note: It may be necessary to run the application as root (at least in ubuntu).<br />
<br />
Note: In case there are more than one available usb devices use -d 0x1457:0x5119 option.<br />
<br />
To update u-boot:<br />
<br />
<b>Warning: Do not update u-boot unless you have [[debug board]] or are really sure about what you are doing. Flashing a wrong u-boot image will brick your device! Note especially that image below is for GTA01B_v03, not GTA01B_v04</b><br />
<br />
./dfu-util -a u-boot -R -D u-boot-gta01bv3-r8_70124c2602ae2d4c5d3dba05b482d91548242de8_0_2040.bin<br />
<br />
To update the kernel:<br />
./dfu-util -a kernel -R -D ./uImage-2.6.21.1-moko10-r0_0_1883_0-fic-gta01.bin<br />
Flashing the kernel will probably take less than 1 minute. If you're having trouble, you may want to compare the output that you see to a "known good" [[Flashing openmoko/Known good kernel flash U-Boot output | U-Boot]]/[[Flashing openmoko/Known good kernel flash dmesg output | dmesg]]/[[Flashing openmoko/Known good kernel flash dfu-util output | dfu-util]] output.<br />
<br />
To update the root filesystem:<br />
./dfu-util -a rootfs -R -D ./Openmoko-devel-image-fic-gta01-20070501054014.rootfs.jffs2<br />
<br />
Flashing the root filesystem will probably take around 13 minutes. Here is some "known good" output from [[Flashing openmoko/Known good rootfs flash U-Boot output | U-Boot]], [[Flashing openmoko/Known good rootfs flash dmesg output | dmesg]], and [[Flashing openmoko/Known good rootfs flash dfu-util output | dfu-util]].<br />
<br />
Notice that it's not normally necessary to update the modules anymore. It's just for people with special needs.<br />
<br />
...now, you'll end up with system that boots, but does not see audio/SD card. You'll need to download corresponding modules.tgz and copy them over to openmoko. - UPDATE: GTA01 phones appear to not need this step, as long as you have installed a kernel that matches the version of the modules contained in the root image ('uname -r' will show the kernel version, and 'ls /lib/modules/' will show the modules that are present).<br />
<br />
VERY IMPORTANT NOTE (I would consider that as a design flaw - either dfu-util should do it automatically): If you upload rootfs image that is smaller that previous one it won't work - you need to attach to the u-boot bootloader, erase NAND and then upload your rootfs first:<br />
<br />
<pre><br />
cu -l /dev/ttyACM0<br />
GTA01Bv3 # nand erase rootfs<br />
</pre><br />
<br />
Old versions of u-boot are buggy: You may have to press the AUX button every 25 seconds or so to prevent the phone from going to sleep while being flashed. It also does not erase rootfs before flashing it... to do that, do minicom /dev/ttyACM0, then nand erase clean rootfs.<br />
<br />
Good luck!<br />
<br />
== Where to go from here ==<br />
<br />
So, now you have one of the more recent kernel and rootfs images, or one of the (semi)official ones, whats next?<br />
<br />
You probably want to set up [[USB_Networking]] and then configure your Neo1973 some more.<br />
<br />
Do not forget to update your Neo1973 using<br />
<br />
ipkg update && ipkg upgrade<br />
<br />
and have a look at additional ipkg [[repositories]].<br />
<br />
== Troubleshooting notes ==<br />
<br />
If 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> just retry the command - it should work on a second run.<br />
<br />
This message can also occur if you connect the usb cable before you are in the bootloader menu. You must carefully follow the sequence described at the beginning of this article and not connect the USB cable too early.<br />
<br />
dfu-util does not seem to be able to download files if run from linux running under<br />
VMWare on a Windows OS host.<br />
<br />
See other notes on [[Dfu-util]] page.<br />
<br />
[[Category:OpenMoko| ]]</div>Nickhttp://openmoko.org/wiki/Flashing_the_Neo_1973Flashing the Neo 19732007-11-16T20:46:48Z<p>Nick: /* Files to download */ buildhost URL change</p>
<hr />
<div>This describes how to update your Neo1973 to the latest software. We'll update the kernel, the root filesystem and optionally u-boot.<br />
<br />
{{warning|If you're updating u-boot and don't have a [[Debug Board]], you might render your unit unusable if the flashing procedure is interrupted}}<br />
<br />
{{warning|If you upload a rootfs image that is smaller than the previous one it won't work - you need to attach to bootloader, [[Nand_erase|erase NAND]] and then upload your rootfs first}}<br />
<br />
== Files to download ==<br />
<br />
MacOS X users: please refer to [[MacOS_X]]. Users without Linux please refer to [[No_Linux]] for the moment.<br />
<br />
The rootfs & kernel images you download need to match. The loadable modules for the kernel are in /lib/modules/ on the rootfs partition - if you get the wrong combination, you will get some error messages during bootup that it cannot access /lib/modules/x.y.z-moko123 - in this case swap either the kernel or the rootfs to match the other's version. Unfortunately the rootfs filename does not seem to tell what kernel version it is compatible with, you just have to try a few. '''NOTE:''' At least some combinations seem to boot up fine even if the module versions mismatch so be sure to check the console while it's booting after flashing.<br />
<br />
The "moko123" in the error message example above indicates the openmoko patchset version.<br />
<br />
Necessary files are at:<br />
*http://buildhost.openmoko.org/OM2007.2/tmp/deploy/glibc/images/neo1973/<br />
<br />
*http://buildhost.automated.it/OM2007.2/?M=D (Location of more current unofficial builds.)<br />
<br />
A list of download locations can be found at [[Repositories]]. See [[Phase 1 Software Testing]] for a list of tested images.<br />
<br />
<br />
Changelogs can be found at:<br />
*http://cia.vc/stats/project/openembedded/.rss<br />
<br />
*http://cia.vc/stats/project/openmoko/.rss<br />
<br />
<br />
Get:<br />
* [[dfu-util]] (the precompiled binary on http://buildhost.openmoko.org is for Linux/i386)<br />
** (this is the part that runs on the PC, that pushes the files across the USB to the phone)<br />
* openmoko-devel-image-fic-gta01-2007********.rootfs.jffs2<br />
* uImage-2.6.21.*-moko*-r*_0_****_0-fic-gta01.bin<br />
* for phase 0 (Bv03) phones:<br />
** Tested by a few people:<BR>u-boot-gta01bv3-r8_70124c2602ae2d4c5d3dba05b482d91548242de8_0_2040.bin<BR>MD5SUM: 60c5aeba1bd6642b05b3a5e6f2dafe83<br />
** Tested by hrw:<BR>u-boot-gta01bv3-r8_70124c2602ae2d4c5d3dba05b482d91548242de8_0_2062.bin<BR>MD5SUM: 716f1eba9b0f2be4a0a3be4a56724935<br />
* for phase 1 phones, uboot update should not be necessary.<br />
<br />
== Preparing the device for DFU mode ==<br />
<br />
You'll need to boot your openmoko into uboot menu. To do this:<br />
<br />
* Unplug all usb devices from the host.<br />
* Hold the phone's [[Neo1973 AUX Button | AUX button]] and then press the phone's [[Neo1973 Power Button | POWER button]].<br />
** You'll need to hold the POWER button for about 4 seconds before the device will turn on. Otherwise the screen will only flash white for a second and the phone won't power up.<br />
* The u-boot menu should appear. <br />
* Plug Neo1973 into host with supplied USB cable. (Plug the phone directly into the host not via a hub.)<br />
<br />
'''Note:''' If the bootloader remains inactive for about 30 seconds, that is no keypresses or no use of the serial console, the device will automatically power down.<br />
You can prevent this by just pressing the AUX button every 30 seconds or so or by telling the bootloader to not exhibit this behaviour.<br />
To do so, please connect to the bootloader:<br />
<br />
<pre><br />
cu -l /dev/ttyACM0<br />
GTA01Bv4 # setenv boot_menu_timeout 65000<br />
GTA01Bv4 # saveenv<br />
</pre><br />
<br />
(You may have to install the uucp package to have access to cu.)<br />
<br />
No further navigation is needed in u-boot - the device will automatically start flashing the images when told to do so by dfu-util below. After flashing all the files, you can choose the "Boot" option to boot the newly flashed stuff.<br />
<br />
== Actually flashing things into the device ==<br />
<br />
Double check that u-boot matches your hardware version. You'll probably only want to update u-boot on phase0 phones.<br />
<br />
Note: It may be necessary to run the application as root (at least in ubuntu).<br />
<br />
Note: In case there are more than one available usb devices use -d 0x1457:0x5119 option.<br />
<br />
To update u-boot:<br />
<br />
<b>Warning: Do not update u-boot unless you have [[debug board]] or are really sure about what you are doing. Flashing a wrong u-boot image will brick your device! Note especially that image below is for GTA01B_v03, not GTA01B_v04</b><br />
<br />
./dfu-util -a u-boot -R -D u-boot-gta01bv3-r8_70124c2602ae2d4c5d3dba05b482d91548242de8_0_2040.bin<br />
<br />
To update the kernel:<br />
./dfu-util -a kernel -R -D ./uImage-2.6.21.1-moko10-r0_0_1883_0-fic-gta01.bin<br />
Flashing the kernel will probably take less than 1 minute. If you're having trouble, you may want to compare the output that you see to a "known good" [[Flashing openmoko/Known good kernel flash U-Boot output | U-Boot]]/[[Flashing openmoko/Known good kernel flash dmesg output | dmesg]]/[[Flashing openmoko/Known good kernel flash dfu-util output | dfu-util]] output.<br />
<br />
To update the root filesystem:<br />
./dfu-util -a rootfs -R -D ./Openmoko-devel-image-fic-gta01-20070501054014.rootfs.jffs2<br />
<br />
Flashing the root filesystem will probably take around 13 minutes. Here is some "known good" output from [[Flashing openmoko/Known good rootfs flash U-Boot output | U-Boot]], [[Flashing openmoko/Known good rootfs flash dmesg output | dmesg]], and [[Flashing openmoko/Known good rootfs flash dfu-util output | dfu-util]].<br />
<br />
Notice that it's not normally necessary to update the modules anymore. It's just for people with special needs.<br />
<br />
...now, you'll end up with system that boots, but does not see audio/SD card. You'll need to download corresponding modules.tgz and copy them over to openmoko. - UPDATE: GTA01 phones appear to not need this step, as long as you have installed a kernel that matches the version of the modules contained in the root image ('uname -r' will show the kernel version, and 'ls /lib/modules/' will show the modules that are present).<br />
<br />
VERY IMPORTANT NOTE (I would consider that as a design flaw - either dfu-util should do it automatically): If you upload rootfs image that is smaller that previous one it won't work - you need to attach to the u-boot bootloader, erase NAND and then upload your rootfs first:<br />
<br />
<pre><br />
cu -l /dev/ttyACM0<br />
GTA01Bv3 # nand erase rootfs<br />
</pre><br />
<br />
Old versions of u-boot are buggy: You may have to press the AUX button every 25 seconds or so to prevent the phone from going to sleep while being flashed. It also does not erase rootfs before flashing it... to do that, do minicom /dev/ttyACM0, then nand erase clean rootfs.<br />
<br />
Good luck!<br />
<br />
== Where to go from here ==<br />
<br />
So, now you have one of the more recent kernel and rootfs images, or one of the (semi)official ones, whats next?<br />
<br />
You probably want to set up [[USB_Networking]] and then configure your Neo1973 some more.<br />
<br />
Do not forget to update your Neo1973 using<br />
<br />
ipkg update && ipkg upgrade<br />
<br />
and have a look at additional ipkg [[repositories]].<br />
<br />
== Troubleshooting notes ==<br />
<br />
If 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> just retry the command - it should work on a second run.<br />
<br />
This message can also occur if you connect the usb cable before you are in the bootloader menu. You must carefully follow the sequence described at the beginning of this article and not connect the USB cable too early.<br />
<br />
dfu-util does not seem to be able to download files if run from linux running under<br />
VMWare on a Windows OS host.<br />
<br />
See other notes on [[Dfu-util]] page.<br />
<br />
[[Category:OpenMoko| ]]</div>Nickhttp://openmoko.org/wiki/GsmdGsmd2007-11-03T10:59:25Z<p>Nick: /* From host PC */ cd</p>
<hr />
<div>[[gsmd]] is the [[GSM]] daemon running in background of an OpenMoko phone, managing the traditional 'phone' parts (voice/sms/gprs communication links) of the phone.<br />
<br />
Further technical details and API documentation in progress, is available [[Gsmd/document |here]].<br />
<br />
== Usage ==<br />
<br />
=== On the phone ===<br />
gsmd is usually started as a background daemon when booting by the /etc/init.d/gsmd script, in this case gsmd outputs debug messages to the file "/tmp/gsm.log" (stdout and stderr is redirected there).<br />
<br />
For debugging purposes gsmd can be run in foreground mode, options can be queried like:<br />
<pre><br />
> gsmd --help<br />
gsmd - (C) 2006 by Harald Welte <laforge@gnumonks.org><br />
This program is FREE SOFTWARE under the terms of GNU GPL<br />
<br />
Usage:<br />
-v --version Display program version<br />
-d --daemon Deamonize<br />
-h --help Display this help message<br />
-p dev --device dev Specify serial device to be used<br />
-s spd --speed spd Specify speed in bps (9600,38400,115200,...)<br />
-F --hwflow Hardware Flow Control (RTS/CTS)<br />
-L --leak-report Leak Report of talloc memory allocator<br />
-l file --logfile file Specify a logfile to log to<br />
</pre><br />
<br />
If your GSM modem is attached to ttySAC0 (like in the [[:Category:Neo1973 Hardware | Neo1973]]), invoke it as e.g.:<br />
> gsmd -p /dev/ttySAC0 -s 115200 -F<br />
(baud rate seems to be autodetected by the modem)<br />
<br />
=== From host PC===<br />
With recent [[uboot]] (svn > r2885), the gsm modem can be powered on and connected to uboot's serial console from uboot itself. Thus allowing the host PC to interact directly with the modem. Some notes about getting gsmd running in this manner is [[User:Miki/hosted_gsmd|here]].<br />
<br />
== libgsmd ==<br />
<br />
libgsmd is a library with C language API for application programs. Programs using this library can use the phone, e.g. make phone calls, receive incoming calls, register to the network, etc.<br />
<br />
== libgsmd-tool ==<br />
<br />
libgsmd-tool is a small demo application that can be used to demonstrate the usage of the libgsmd API.<br />
<br />
== Usage ==<br />
<br />
libgsmd-tool has multiple modes. <br />
<br />
=== Usage of shell mode ===<br />
<br />
Shell mode provides a simple text-based command interface for making voice calls.<br />
<br />
The shell mode can be started using<br />
<br />
libgsmd-tool -m shell<br />
<br />
It can be used like in the following example:<br />
<br />
<pre><br />
> src/util/libgsmd-tool -m shell<br />
libgsm-tool - (C) 2006 by Harald Welte<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
?<br />
A Answer incoming call<br />
D Dial outgoing number<br />
H Hangup call<br />
O Power On<br />
o Power Off<br />
r Register to network<br />
R Register to given operator (R=number)<br />
U Unregister from netowrk<br />
P Print current operator<br />
L Detect available operators<br />
Q Read signal quality<br />
T Send DTMF Tone<br />
n Print subscriber numbers<br />
pd PB Delete (pb=index)<br />
pr PB Read (pr=index)<br />
prr PB Read Range (prr=index1,index2)<br />
pf PB Find (pf=indtext)<br />
pw PB Write (pw=index,number,text)<br />
ps PB Support<br />
pm PB Memory<br />
pp PB Set Memory (pp=storage)<br />
pRr Retrieve Readrg Records<br />
pRf Retrieve Find Records<br />
sd SMS Delete (sd=index,delflg)<br />
sl SMS List (sl=stat)<br />
sr SMS Read (sr=index)<br />
ss SMS Send (ss=ask_ds,number,text|["text"])<br />
sw SMS Write (sw=stat,number,text)<br />
sm SMS Storage stats<br />
sM SMS Set preferred storage (sM=mem1,mem2,mem3)<br />
sc SMS Show Service Centre<br />
sC SMS Set Service Centre (sC=number)<br />
q Quit<br />
<br />
O<br />
# EVENT: PIN request (type=1) Please enter PIN: 6582<br />
r<br />
# EVENT: Netreg searching for network <br />
EVENT: Netreg registered (home network) <br />
<br />
D03024033902<br />
# Dial 03024033902<br />
EVENT: Call Progress: UNKNOWN<br />
EVENT: Call Progress: PROCEED<br />
EVENT: Call Progress: SYNC<br />
EVENT: Call Progress: ALERT<br />
H<br />
# Hangup<br />
EVENT: Call Progress: DISCONNECT<br />
EVENT: Call Progress: RELEASE<br />
<br />
EVENT: Incoming call type=2!<br />
EVENT: Incoming call clip=`"03024033902"'<br />
EVENT: Incoming call type=2!<br />
A<br />
# Answer<br />
RSTR=`OK'<br />
H<br />
# Hangup<br />
RSTR=`OK'<br />
</pre><br />
<br />
=== Usage of atcmd mode ===<br />
<br />
The atcmd mode is a passthrough-mode. Passthrough means that it accepts [[GSM 07.07]] commands, passes them through the daemon to the phone, and returns you the response. this is very useful for debugging.<br />
<br />
The atcmd mode can be started using<br />
<br />
libgsmd-tool -m atcmd<br />
<br />
Usage is like in the following example:<br />
<br />
<pre><br />
> src/util/libgsmd-tool -m atcmd<br />
libgsm-tool - (C) 2006 by Harald Welte<br />
This program is Free Software and has ABSOLUTELY NO WARRANTY<br />
<br />
AT+CPAS<br />
STR=`AT+CPAS'<br />
RSTR=`+CPAS: 0'<br />
AT+COPS=?<br />
STR=`AT+COPS=?'<br />
RSTR=`+COPS: (2,"E-Plus","E-Plus","26203"),(3,"o2 - de","o2 - de","26207"),(3,"Vodafone.de","Vodafone","26202"),(3,"T-Mobile D","TMO D","26201")'<br />
</pre><br />
<br />
== Network related functions ==<br />
Operator selection functions were implemented and merged into SVN head[http://lists.openmoko.org/pipermail/gsmd-devel/2007-September/000216.html]:<br />
<br />
The new commands in libgsmd-util are as followings:<br />
R - Register to given operator (R=number)<br />
P - Print current operator<br />
L - Detect available operators<br />
Q - Read signal quality<br />
<br />
This is implemented by the functions with "_opers_" naming.<br />
== Currently missing ==<br />
<br />
(please add items to this list if you're missing more features)<br />
<br />
* Phone related functions<br />
** Airplane mode / gsmd stop (this will be done outside gsmd, by using runlevels / upstart)<br />
** Capability to set-up Emergency Calls, even if the device does not hold a SIM card<br />
** obtain manufacturer/model/revision/IMEI<br />
** Ability to notify user if the SIM card is locked (or even automagically unlock it?)<br />
<br />
* SMS related features<br />
** send SMS<br />
** receive SMS<br />
** obtain IMSI<br />
** access to SIM-card stored SMS - ''No longer missing - see help''<br />
<br />
* SIM related functions<br />
** read phonebook entry - ''No longer missing - see help'' <br />
** write phonebook entry - ''No longer missing - see help''<br />
<br />
* GPRS related functions<br />
** set up GPRS link, use it via separate DLC of TS07.10 multiplex<br />
<br />
* gsmd internal infrastructure<br />
** fine-grained event subscriptions (rather than wildcard-subscribe)<br />
** possibility to specify log-level from command line<br />
** logfile re-opening on SIGUSR1 or SIGHUP (logrotate)<br />
** permission handling<br />
** d-bus interface<br />
<br />
== Implementation Thoughts ==<br />
<br />
== State tracking ==<br />
<br />
gsmd needs to do apropriate state tracking of the underlying GSM hardware. For many of the state transition we only get events from the GSM Modem, but don't have apropriate query commands. Thus, assuming gsmd runs all the time, applications can come and go, but still have an idea about the current state of the modem, even if they missed the initial state transitions.<br />
<br />
Also, gsmd state tracking allows us to allow for safer interoperability of multiple applications. If i.e. one applications has just started an outgoing call, gsmd can detect another application who intends to interfere with that and deny access<br />
<br />
=== device power state ===<br />
<br />
* modem completely off, not responding to AT commands<br />
* modem responding to AT commands, but powered off (CFUN=0)<br />
* modem responding to AT commands, in some power saving mode<br />
* modem responding to AT commands, powered on, fully operational (CFUN=1)<br />
<br />
=== Suspend power state ===<br />
<br />
It must also configure the modem so that it can on appropriate events wake the system from sleep.<br />
<br />
=== network registration state ===<br />
<br />
* not registered to any network, not trying to register<br />
* not registred to any network, searching/trying to register<br />
* registered to home network (including cellID)<br />
* registered to roaming network (including cellID)<br />
<br />
=== ciphering indication state ===<br />
<br />
* ciphering indications not supported by modem<br />
* ciphering indications supported, but disabled in SIM<br />
* ciphering indications supported, ciphering active<br />
* ciphering indications supported, ciphering inactive<br />
<br />
=== call state ===<br />
<br />
* idle<br />
* busy<br />
<br />
Sources of gsmd are kept in [[OpenMoko svn]] in src/target/gsm directory.<br />
<br />
{{Languages | Gsmd}}<br />
<br />
[[Category:Software]]<br />
[[Category:Implemented]]</div>Nickhttp://openmoko.org/wiki/Manually_using_GSMManually using GSM2007-08-26T11:18:23Z<p>Nick: /* Powering up the GSM Modem */</p>
<hr />
<div>'''When men were real men and typed their own AT commands...'''<br />
<br />
Thankfully, this may now be partially obsolete.<br />
The [[Dialer|dialer]] now works!<br />
<br />
This is a short guide how to manually get GSM going.<br />
<br />
== Requirements ==<br />
<br />
* GTA01Bv2 or GTA01Bv3 with very recent u-boot bootloader, providing usbtty (serial over USB) support)<br />
* Do not connect any debug board!<br />
<br />
== Walk-Through ==<br />
<br />
=== Booting the system ===<br />
<br />
* Make sure the rootfs you use has 'auto usb0' in /etc/network/interfaces<br />
* Configure the host's usb0 interface to 192.168.0.200 netmask 255.255.255.0 See [[USB_Networking]]<br />
* ssh to root@192.168.0.201<br />
<br />
=== Disabling the getty ===<br />
<br />
Our default images all have a getty running on /dev/ttySAC0, please edit /etc/inittab and disable the getty on that port<br />
<br />
=== Reducing the loglevel ===<br />
<br />
{{note|You don't need this in kernel builds with patchset &ge; 1288}}<br />
<br />
To keep the kernel from writing to /dev/ttySAC0, you need to use <code>dmesg -n1</code>.<br />
<br />
=== Powering up the GSM Modem ===<br />
<br />
* verify there is no getty or any other app running on /dev/ttySAC0 <br />
root@fic-gta01:~$ lsof | grep ttySAC0<br />
<br />
* If gsmd is using the GSM modem, shut it down with<br />
<br />
<pre><br />
root@fic-gta01:~$ /etc/init.d/gsmd stop <br />
</pre><br />
<br />
* power-up the GSM Modem<br />
root@fic-gta01:~$ echo "1" > /sys/bus/platform/devices/gta01-pm-gsm.0/power_on<br />
<br />
=== Connecting to GSM Modem ===<br />
<br />
* change permissions on ttySAC0<br />
root@fic-gta01:~$ chown uucp.uucp /dev/ttySAC0<br />
* setup /usr/spool/uucp<br />
root@fic-gta01:~$ mkdir /usr/spool<br />
root@fic-gta01:~$ mkdir /usr/spool/uucp<br />
root@fic-gta01:~$ chown uucp.uucp /usr/spool/uucp<br />
* enable CTS/RTS flow control<br />
root@fic-gta01:~$ stty -F /dev/ttySAC0 crtscts<br />
* access the GSM Modem UART<br />
root@fic-gta01:~$ cu -l /dev/ttySAC0<br />
Connected.<br />
AT-Command Interpreter Ready<br />
OK<br />
<br />
''If it will hang on "Connected" message then probably your device has nonworking GSM modem - check [http://bugzilla.openmoko.org/cgi-bin/bugzilla/show_bug.cgi?id=256 Bug #256], also you may want to try powering off the modem then on again as this worked for me''<br />
<br />
'''cu seems to have problems with the hardware flow control. The one way I always managed to get GSM working is to start cu first and then on a different console issue the stty command.'''<br />
--[[User:DanielWillmann|DanielWillmann]] 01:15, 20 March 2007 (CET)<br />
<br />
* close the connection with <Return>~~.<Return><br />
OK<br />
~[fic-gta01].<br />
<br />
Disconnected.<br />
root@fic-gta01:/$<br />
<br />
=== Using it manually ===<br />
==== Registering with the Network ====<br />
<br />
* enter the following [[Hardware:AT_Commands]]:<br />
<pre><br />
ATE1<br />
OK<br />
AT+CFUN=1<br />
ERROR<br />
AT+CPIN="...."<br />
OK<br />
AT+COPS<br />
OK<br />
</pre><br />
<br />
==== List available carriers ====<br />
<br />
This can take a few seconds to process but will list the available carriers<br />
<pre><br />
AT+COPS=?<br />
</pre><br />
<br />
==== Answering an incoming call ====<br />
<pre><br />
RING<br />
ATA<br />
OK<br />
</pre><br />
<br />
==== Dialling an outgoing call ====<br />
<br />
To actually be able to talk you have to configure your audio accordingly<br />
<br />
<pre><br />
root@fic-gta01:~$ cd /etc/alsa/<br />
root@fic-gta01:/etc/alsa$ wget http://opensource.wolfsonmicro.com/~gg/neo1973/gsmheadset.working.state<br />
root@fic-gta01:/etc/alsa$ alsactl -f /etc/alsa/gsmheadset.working.state restore<br />
</pre><br />
<br />
Up the "Amp right" volume to hear the speaker on both ears, then dial (note the ''';''' at the end of the dial string, this signifies a voice call, if you omit the ; it is regarded as a data call).<br />
<br />
<pre><br />
ATD012340234; <br />
</pre><br />
<br />
If you get NO CARRIER, try...<br />
<br />
<pre><br />
ATD+xxyzzzzzzz<br />
</pre><br />
<br />
ie, ATD+<country_code><area_code><phone_number><br />
<br />
==== Hanging up ====<br />
<pre><br />
ATH<br />
OK<br />
</pre><br />
<br />
=== Using [[gsmd]] ===<br />
<br />
You can use the [[gsmd]] and [[Gsmd#libgsmd-tool | libgsmd-tool]] programs to have a slightly more high-level interface to the GSM Modem. It's still console based, though.<br />
<br />
For further instructions, see [[gsmd]]<br />
<br />
=== Using tui ===<br />
<br />
Tui (available from [http://www.sf.net/projects/tui sourceforge]) is able to do all this. It is still text-based, but input-rxvt can take data from touchscreen, so you can actually do the calls using your finger. It also plays wav file on incoming call, so it is theoretically usable. It even does caller id.<br />
<br />
=== Manually using GPRS ===<br />
<br />
See [[Manually using GPRS]]<br />
<br />
[[Category:Documentation]]<br />
[[Category:Developer software]]</div>Nickhttp://openmoko.org/wiki/Openmoko_Local_Groups:_East_MidlandsOpenmoko Local Groups: East Midlands2007-08-25T16:18:04Z<p>Nick: </p>
<hr />
<div>Welcome to OpenMoko East Midlands<br />
<br />
Anyone else here?<br />
<br />
{|border=1<br />
!Name<br />
!Skills<br />
!Interest<br />
!Location<br />
!Device owned<br />
|-<br />
|[[User:nick|nick]]<br />
|Basic/MM/scripting<br />
|Accessible UI<br />
|Nottingham<br />
|[[Image: Moko.jpg|center]]<br />
|}<br />
<br />
<br />
See [[Talk:OpenMoko_Local_Groups:_East_Midlands|discussion]]<br />
<br />
[[Category:Community]]</div>Nickhttp://openmoko.org/wiki/Openmoko_Local_Groups:_East_MidlandsOpenmoko Local Groups: East Midlands2007-08-25T16:17:52Z<p>Nick: </p>
<hr />
<div>Welcome to OpenMoko East Midlands<br />
<br />
Anyone here?<br />
<br />
{|border=1<br />
!Name<br />
!Skills<br />
!Interest<br />
!Location<br />
!Device owned<br />
|-<br />
|[[User:nick|nick]]<br />
|Basic/MM/scripting<br />
|Accessible UI<br />
|Nottingham<br />
|[[Image: Moko.jpg|center]]<br />
|}<br />
<br />
<br />
See [[Talk:OpenMoko_Local_Groups:_East_Midlands|discussion]]<br />
<br />
[[Category:Community]]</div>Nickhttp://openmoko.org/wiki/Openmoko_Local_Groups:_East_MidlandsOpenmoko Local Groups: East Midlands2007-08-25T16:17:08Z<p>Nick: </p>
<hr />
<div>Welcome to OpenMoko East Midlands<br />
<br />
Beer and Neo anyone?<br />
<br />
{|border=1<br />
!Name<br />
!Skills<br />
!Interest<br />
!Location<br />
!Device owned<br />
|-<br />
|[[User:nick|nick]]<br />
|Basic/MM/scripting<br />
|Accessible UI<br />
|Nottingham<br />
|[[Image: Moko.jpg|center]]<br />
|}<br />
<br />
<br />
See [[Talk:OpenMoko_Local_Groups:_East_Midlands|discussion]]<br />
<br />
[[Category:Community]]</div>Nickhttp://openmoko.org/wiki/Openmoko_Local_GroupsOpenmoko Local Groups2007-08-25T16:13:47Z<p>Nick: /* Europe */ _ UK, E.Mids</p>
<hr />
<div>__TOC__<br />
'''OpenMoko Local Groups...'''<br />
<br />
* can be used for developers to meet and get to know each other<br />
* can be used for developing<br />
* may provide the room for real-life discussions away from mailinglists/wiki<br />
* can support early support handling their GTA01Bv4 and exchange experiences<br />
* fasten the community's cohesion<br />
* give motivation<br />
<br />
<br />
{|border="1"<br />
!<br />
!Has Device<br />
|-<br />
|If you have a device, on your local group's page, please add:<br />
|[[Image: Moko.jpg|center]]<br />
<nowiki>[[Image: Moko.jpg|center]]</nowiki><br />
|-<br />
!<br />
!Has Debug Board<br />
|-<br />
|If you have a debug board, please add:<br />
|[[Image: MokoBox.jpg|center]]<br />
<nowiki>[[Image: MokoBox.jpg|center]]</nowiki><br />
|}<br />
<br />
Such as with [[OpenMoko_Local_Groups:_Singapore | Singapore]] or [[OpenMoko_Local_Groups:_San_Francisco | San Francisco]]<br />
<br />
== Europe ==<br />
<br />
* Austria<br />
** [[OpenMoko_Local_Groups: Vienna|Vienna]] <br />
<br />
* Belgium<br />
** [[OpenMoko_local_Groups: Antwerp|Antwerp]]<br />
<br />
* Denmark<br />
** [[OpenMoko_local_Groups: Copenhagen|Copenhagen]]<br />
<br />
* Finland <br />
** [[OpenMoko_Local_Groups: Helsinki|Helsinki]] <br />
<br />
* France <br />
** [[OpenMoko_Local_Groups: Paris|Paris]]<br />
** [[OpenMoko_Local_Groups: Toulouse|Toulouse]] <br />
<br />
* Germany <br />
** [[OpenMoko_Local_Groups: Berlin|Berlin]]<br />
** [[OpenMoko_Local_Groups: Braunschweig|Braunschweig]]<br />
** [[OpenMoko_Local_Groups: Duesseldorf|Duesseldorf]] <br />
** [[OpenMoko_Local_Groups: Frankfurt Main|Frankfurt Main]] <br />
** [[OpenMoko_Local_Groups: Freiburg im Breisgau|Freiburg im Breisgau]] <br />
** [[OpenMoko_Local_Groups: OWL|OWL]]<br />
** [[OpenMoko_Local_Groups: Ingolstadt|Ingolstadt]]<br />
<br />
* Greece<br />
** [[OpenMoko_Local_Groups: Athens|Athens]]<br />
<br />
* [[OpenMoko_Local_Groups:_Netherlands|Netherlands]] <br />
** [[OpenMoko_Local_Groups: Amsterdam|Amsterdam]] <br />
** [[OpenMoko_Local_Groups: Den Haag|Den Haag/The Hague]] <br />
** [[OpenMoko_Local_Groups: Eindhoven|Eindhoven]] <br />
** [[OpenMoko_Local_Groups: Ede|Ede]]<br />
<br />
* Italy<br />
** [[OpenMoko_Local_Groups: Milan|Milan]] <br />
** [[OpenMoko_Local_Groups: Turin|Turin]] <br />
<br />
* [[OpenMoko_Local_Groups:_Norway|Norway]]<br />
** [[OpenMoko_Local_Groups:_Oslo|Oslo]]<br />
** [[OpenMoko_Local_Groups: Trondheim|Trondheim]] <br />
<br />
* Poland <br />
** [[OpenMoko_Local_Groups: Warsaw|Warsaw]] <br />
<br />
* [[OpenMoko_Local_Groups:_Portugal|Portugal]]<br />
** [[OpenMoko_Local_Groups: Braga|Braga]] <br />
<br />
* Romania<br />
** [[OpenMoko_Local_Groups: Bucharest|Bucharest]]<br />
<br />
* Russia<br />
** [[OpenMoko_Local_Groups: Moscow|Moscow]]<br />
<br />
* Slovakia<br />
** [[OpenMoko_Local_Groups: Bratislava|Bratislava]]<br />
<br />
* Spain <br />
** [[OpenMoko_Local_Groups: Madrid|Madrid]] <br />
<br />
* Sweden <br />
** [[OpenMoko_Local_Groups: Gothenburg|Gothenburg]] <br />
** [[OpenMoko_Local_Groups: Linkoping|Linköping]] <br />
<br />
* [[OpenMoko_Local_Groups: Switzerland|Switzerland]]<br />
** [[OpenMoko_Local_Groups: Bern|Bern]] <br />
<br />
* UK<br />
** England<br />
*** [[OpenMoko_Local_Groups: Birmingham|Birmingham]] <br />
*** [[OpenMoko_Local_Groups: London|London]]<br />
*** [[OpenMoko_Local_Groups: East Midlands|East Midlands]]<br />
<br />
** Scotland<br />
*** [[OpenMoko_Local_Groups: Fife|Fife]]<br />
*** [[OpenMoko_Local_Groups: Edinburgh|Edinburgh]]<br />
<br />
* Ukraine<br />
** [[OpenMoko_Local_Groups: Lugansk|Lugansk]]<br />
<br />
== Oceania ==<br />
<br />
* Australia <br />
** [[OpenMoko_Local_Groups: Adelaide|Adelaide]]<br />
** [[OpenMoko_Local_Groups: Canberra|Canberra]]<br />
** [[OpenMoko_Local_Groups: Melbourne|Melbourne]]<br />
** [[OpenMoko_Local_Groups: Sydney|Sydney]]<br />
<br />
* New Zealand<br />
** [[OpenMoko_Local_Groups: Auckland|Auckland]]<br />
** [[OpenMoko_Local_Groups: Christchurch|Christchurch]]<br />
<br />
== Asia ==<br />
* India<br />
** [[OpenMoko_Local_Groups: Delhi|Delhi]]<br />
* Singapore<br />
** [[OpenMoko_Local_Groups: Singapore|Singapore]]<br />
<br />
== USA ==<br />
* Alabama<br />
** [[OpenMoko_Local_Groups: Alabama|Alabama]]<br />
<br />
* Arizona<br />
** [[OpenMoko_Local_Groups: Arizona|Arizona]]<br />
<br />
* California <br />
** [[OpenMoko_Local_Groups: San Diego|San Diego]] <br />
** [[OpenMoko_Local_Groups: San Francisco|San Francisco]] <br />
** [[OpenMoko_Local_Groups: Sacramento|Sacramento]]<br />
** [[OpenMoko_Local_Groups: Los Angeles|Los Angeles]]<br />
<br />
* Colorado<br />
** [[OpenMoko_Local_Groups: Colorado Springs|Colorado Springs]]<br />
** [[OpenMoko_Local_Groups: Denver|Denver]]<br />
<br />
* District of Columbia<br />
** [[OpenMoko_Local_Groups: Washington DC Metro | Washington DC Metro]]<br />
<br />
* Florida<br />
** [[OpenMoko_Local_Groups: Central Florida | Central Florida]]<br />
<br />
* Georgia<br />
** [[OpenMoko_Local_Groups: Atlanta | Atlanta]]<br />
<br />
* Illinois <br />
** [[OpenMoko_Local_Groups: Chicago|Chicago]]<br />
<br />
* Indiana<br />
** [[OpenMoko_Local_Groups: Bloomington|Bloomington]]<br />
<br />
* Iowa<br />
** [[OpenMoko_Local_Groups: Iowa-Ames | Iowa-Ames]] <br />
<br />
* Massachusetts<br />
** [[OpenMoko_Local_groups: Boston|Boston]]<br />
<br />
* Michigan <br />
** [[OpenMoko_Local_Groups: Detroit|Detroit]] <br />
<br />
* New Jersey<br />
** [[OpenMoko_Local_Groups: Stevens Institute of Technology, Hoboken NJ | Stevens Institute of Technology, Hoboken NJ ]]<br />
<br />
* New York<br />
** [[OpenMoko_Local_Groups: NYC Metro | NYC Metro]]<br />
<br />
* North Carolina<br />
** [[OpenMoko Local_Groups: Charlotte | Charlotte]]<br />
<br />
* Ohio <br />
** [[OpenMoko_Local_Groups: Cleveland|Cleveland]] <br />
<br />
* Oregon <br />
** [[OpenMoko_Local_Groups: Eugene|Eugene]] <br />
** [[OpenMoko_Local_Groups: Portland|Portland]] <br />
<br />
* Texas <br />
** [[OpenMoko_Local_Groups: North Texas|North Texas]]<br />
** [[OpenMoko_Local_Groups: Central Texas|Central Texas]]<br />
<br />
* Utah<br />
** [[OpenMoko_Local_Groups: Salt Lake|Salt Lake]]<br />
<br />
* Virginia<br />
** [[OpenMoko_Local_Groups: Virginia|Virginia]]<br />
<br />
== Canada ==<br />
* Alberta<br />
** [[OpenMoko_Local_Groups: Calgary|Calgary]]<br />
** [[OpenMoko_Local_Groups: Edmonton|Edmonton]]<br />
** [[OpenMoko_Local_Groups: Pincher Creek|Pincher Creek]]<br />
* British Columbia<br />
** [[OpenMoko_Local_Groups: Vancouver|Vancouver]]<br />
* Ontario<br />
** [[OpenMoko_Local_Groups: Ottawa|Ottawa]]<br />
** [[OpenMoko_Local_Groups: Toronto|Toronto]]<br />
* Quebec <br />
** [[OpenMoko_Local_Groups: Montreal|Montreal]]<br />
<br />
== South America ==<br />
* Brasil<br />
** [[OpenMoko_Local_Groups: Belo Horizonte|Belo Horizonte]]<br />
* Colombia<br />
** [[OpenMoko_Local_Groups: Bogota|Bogotá]]<br />
<br />
== Africa ==<br />
* South Africa<br />
**[[OpenMoko_Local_Groups: Cape Town|Cape Town]]<br />
<br />
<br />
[[Category:Community]]<br />
[[Category:Neo1973 Phase 1 related]]</div>Nickhttp://openmoko.org/wiki/Users_RepositoriesUsers Repositories2007-08-25T15:41:52Z<p>Nick: /* Repositories */ additional sorting</p>
<hr />
<div>=== Repositories ===<br />
here you can find prebuilt kernels and root file systems.<br />
<br />
* official downloads<br />
::http://buildhost.openmoko.org/OM2007.1/tmp/deploy/images/?C=M;O=D<br />
::http://buildhost.openmoko.org/OM2007.2/tmp/deploy/glibc/images/fic-gta01/?C=M;O=D<br />
:* new 2007.08 snapshot<br />
:::http://buildhost.openmoko.org/snapshots/2007.08/images/<br />
* more recent<br />
::http://chooseopen.com/openmoko/build/2007.1/?M=D<br />
::http://chooseopen.com/openmoko/build/2007.2/?M=D<br />
* Unofficial, nightly builds using MokoMakefile<br />
::http://carrierclass.net/openmoko/images/2007.01/?M=D<br />
::http://carrierclass.net/openmoko/images/2007.02/fic-gta01/?M=D<br />
* ScaredyCat unofficial builds:<br />
::http://buildhost.automated.it/OM2007.1/?M=D<br />
::http://buildhost.automated.it/OM2007.2/?M=D<br />
<br />
::ScaredyCat also has a ipkg repository for 2007.2 where e.g. gpe-filemanager and a lot more (e.g. ntpd) can be installed from. On the Neo do:<br />
<br />
cd /etc/ipkg<br />
wget http://buildhost.automated.it/OM2007.2/packages/scaredycat.conf <br />
ipkg update<br />
ipkg install gpe-filemanager<br />
ipkg install gpe-timesheet<br />
ipkg install gpe-todo<br />
ipkg install mysql<br />
ipkg install mtpaint<br />
ipkg install sqlite<br />
ipkg install ntpd<br />
(you get the idea)<br />
reboot /* to make the new applications appear in the menu<br />
<br />
* Mickeys previews. Handle with care. (2007.2)<br />
::http://people.openmoko.org/mickey/images/<br />
* - (2007.2)<br />
::http://ipkg.nslu2-linux.org/feeds/openmoko/images/?C=M;O=D<br />
* - (2007.2)<br />
::http://www.totalueberwachung.de/~alphaone/openmoko-build/glibc/images/fic-gta01/?C=M;O=D<br />
<br />
If you want to add a link, it would be nice to enforce a standard format of these feeds so that they can be browsed automatically.</div>Nickhttp://openmoko.org/wiki/Users_RepositoriesUsers Repositories2007-08-24T09:55:43Z<p>Nick: /* Repositories */ refactor</p>
<hr />
<div>=== Repositories ===<br />
here you can find prebuilt kernels and root file systems.<br />
<br />
* official downloads<br />
::http://buildhost.openmoko.org/OM2007.1/tmp/deploy/images/?C=M;O=D<br />
::http://buildhost.openmoko.org/OM2007.2/tmp/deploy/glibc/images/fic-gta01/?C=M;O=D<br />
:* new 2007.08 snapshot<br />
:::http://buildhost.openmoko.org/snapshots/2007.08/images/<br />
* more recent<br />
::http://chooseopen.com/openmoko/build/2007.1/<br />
::http://chooseopen.com/openmoko/build/2007.2/<br />
* Unofficial, nightly builds using MokoMakefile<br />
::http://carrierclass.net/openmoko/images/2007.01/<br />
::http://carrierclass.net/openmoko/images/2007.02/fic-gta01/<br />
* - <br />
::http://buildhost.automated.it/OM2007.1/?M=D<br />
::http://buildhost.automated.it/OM2007.2/?M=D<br />
* Mickeys previews. Handle with care. (2007.2)<br />
::http://people.openmoko.org/mickey/images/<br />
* - (2007.2)<br />
::http://ipkg.nslu2-linux.org/feeds/openmoko/images/?C=M;O=D<br />
* - (2007.2)<br />
::http://www.totalueberwachung.de/~alphaone/openmoko-build/glibc/images/fic-gta01/?C=M;O=D<br />
<br />
If you want to add a link, it would be nice to enforce a standard format of these feeds so that they can be browsed automatically.</div>Nick