Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
openmoko [2008/09/01 13:25] – Freerunner HW-Modding 85.25.152.185openmoko [2008/10/01 09:25] – Debian install.sh x
Line 42: Line 42:
     * Case-Modding notwendig.     * Case-Modding notwendig.
  
-====== Openmoko 2007.2 Distribution ======+====== Openmoko 2007 Distribution ======
  
-Das Ganze ist Freerunner und Openmoko 2007.2 spezifisch (nach erfolgreichem 'opkg update; opkg upgrade'), aber vielleicht auch sonst hilfreich.+Das Ganze ist Freerunner und Openmoko 2007 spezifisch (nach erfolgreichem 'opkg update; opkg upgrade'), aber vielleicht auch sonst hilfreich.
  
 ===== USB "Ethernet" mit dhcp ===== ===== USB "Ethernet" mit dhcp =====
Line 127: Line 127:
         post-up echo 1 > /proc/sys/net/ipv4/ip_forward         post-up echo 1 > /proc/sys/net/ipv4/ip_forward
         post-up iptables -P FORWARD ACCEPT         post-up iptables -P FORWARD ACCEPT
 +        post-up dnslist="`sep=""; grep "^[ ]*nameserver[ ]" /etc/resolv.conf|sed 's/^[ ]*nameserver[ ]\+//' | while read; do echo -n "$sep$REPLY"; sep=", "; done;`"; dnssearch="`grep "^[ ]*search[ ]" /etc/resolv.conf|sed 's/^[ ]*search[ ]\+//'`"; cat /etc/dhcp3/dhcpd-usb0.conf.tpl | sed "{ s/@@dnslist@@/$dnslist/g; s/@@dnssearch@@/$dnssearch/g; }" > /etc/dhcp3/dhcpd-usb0.conf
         post-up dhcpd3 -cf /etc/dhcp3/dhcpd-usb0.conf -pf /var/run/dhcpd-usb0.pid usb0         post-up dhcpd3 -cf /etc/dhcp3/dhcpd-usb0.conf -pf /var/run/dhcpd-usb0.pid usb0
         pre-down kill `cat /var/run/dhcpd-usb0.pid`         pre-down kill `cat /var/run/dhcpd-usb0.pid`
Line 133: Line 134:
 </code> </code>
  
-/etc/dhcp3/dhcpd-usb0.conf:+/etc/dhcp3/dhcpd-usb0.conf.tpl:
 <code> <code>
 subnet 192.168.0.0 netmask 255.255.255.252 { subnet 192.168.0.0 netmask 255.255.255.252 {
Line 139: Line 140:
         option broadcast-address 192.168.0.3;         option broadcast-address 192.168.0.3;
         option routers 192.168.0.1;         option routers 192.168.0.1;
-        option domain-name "example.com"; +        option domain-name "@@dnssearch@@"; 
-        option domain-name-servers dns.example.com;+ option domain-name-servers @@dnslist@@;
         option ntp-servers 192.168.0.1;         option ntp-servers 192.168.0.1;
 } }
 </code> </code>
 +
 +Issues:
 +  * Wenn der Host einen neuen domain-name oder eine neue Liste von domain-name-servers bekommt, sollte dhcpd-usb0.conf neu generiert und der jeweilige dhcpd restarted werden.
 +  * Falls ntpd benutzt wird (s.u.) wär's wohl gut wenn ebenso die Liste der ntp-servers generiert werden.
 +  * Die IP-Daten liessen sich eigentlich aus der interface-config auslesen.
  
 ===== ntpd (2do) ===== ===== ntpd (2do) =====
Line 484: Line 490:
   * Manche Keys verhalten sich wie beim multitap-pad (e.g. 2* d ergibt e)   * Manche Keys verhalten sich wie beim multitap-pad (e.g. 2* d ergibt e)
   * Ctrl Modifier funktioniert irgendwie nur manchmal   * Ctrl Modifier funktioniert irgendwie nur manchmal
-  * Design is noch nicht ganz korrekt: 1. Zeile/Esc, Ret, #, <, AltGr, Win+  * Layout is noch nicht ganz korrekt: 1. Zeile/Esc, Ret, #, <, AltGr, Win
  
 (Tip: multitap-pad über Click auf's Terminal öffnen, matchbox-keyboard über Panel-Icon öffnen, multitap-pad über Panel-Icon schliessen => Terminal hat Focus) (Tip: multitap-pad über Click auf's Terminal öffnen, matchbox-keyboard über Panel-Icon öffnen, multitap-pad über Panel-Icon schliessen => Terminal hat Focus)
Line 866: Line 872:
 ===== Audio ===== ===== Audio =====
  
-Audio überlebt Suspend/Resume nicht. Dafür gibt es offenbar schon seit längerem einen Fix von [[http://moko.mwester.net/|mwester]], der es allerdings bisher noch nicht ins Repository geschafft hat.+Audio überlebt Suspend/Resume nicht. Dafür gibt es offenbar schon seit längerem einen Fix von [[http://moko.mwester.net/|mwester]].
  
 <code> <code>
Line 884: Line 890:
 <code> <code>
 #!/bin/sh #!/bin/sh
 +
 +BAT_PM="0"      # FULL
 +EXT_PM="1"      # DIM_ONLY   
 +                # NONE == 2  
 +if [ -r /etc/default/power_management ]; then
 +        . /etc/default/power_management
 +fi
  
 self="`basename $0`" self="`basename $0`"
Line 894: Line 907:
         logger "apm $self[$$] bat/online=$bat_online"         logger "apm $self[$$] bat/online=$bat_online"
         if [ "$bat_online" == "1" ]; then         if [ "$bat_online" == "1" ]; then
-                save_pm=`gconftool-2 -g /desktop/openmoko/neod/power_management` +                gconftool-2 -s /desktop/openmoko/neod/power_management -t int $EXT_PM   
-                gconftool-2 -s /desktop/openmoko/neod/power_management -t int +
-                echo "$save_pm" > /tmp/change_power+
         elif [ "$bat_online" == "0" ]; then         elif [ "$bat_online" == "0" ]; then
-                save_pm="`cat /tmp/change_power`" +                gconftool-2 -s /desktop/openmoko/neod/power_management -t int $BAT_PM   
-                if [ -n "$save_pm" ]; then +
-                        gconftool-2 -s /desktop/openmoko/neod/power_management -t int $save_pm +
-                fi+
         fi         fi
         logger "apm $self[$$] gconf:/desktop/openmoko/neod/power_management now `gconftool-2 -g /desktop/openmoko/neod/power_management`"         logger "apm $self[$$] gconf:/desktop/openmoko/neod/power_management now `gconftool-2 -g /desktop/openmoko/neod/power_management`"
Line 909: Line 917:
 Issues: Issues:
   * Es muss doch einfacher möglich sein gconftool-2 die Kommunikation mit dem gconfd-2 zu ermöglichen (als hier, über das Auslesen der passenden Environment-Variable des neod). Es gäbe da ein /var/run/dbus/system_bus_socket...   * Es muss doch einfacher möglich sein gconftool-2 die Kommunikation mit dem gconfd-2 zu ermöglichen (als hier, über das Auslesen der passenden Environment-Variable des neod). Es gäbe da ein /var/run/dbus/system_bus_socket...
-  * Eigentlich gehört da noch ein Configfile für PM_MODE_BATTERY und PM_MODE_EXTERNAL (und GCONF_NODE?) hin (und save_pm und die hardcoded 1 weg) 
   * Eigentlich möchte man dem neod noch beibringen seine Timer auch zu resetten wenn in irgendeiner Shell mit tty activity ist...   * Eigentlich möchte man dem neod noch beibringen seine Timer auch zu resetten wenn in irgendeiner Shell mit tty activity ist...
   * Obiges geht davon aus, dass bei einer Änderung der gconf Werte die *_gconf_cb Funktion in neod aufgerufen wird. (Liest sich jedenfalls so... ;)   * Obiges geht davon aus, dass bei einer Änderung der gconf Werte die *_gconf_cb Funktion in neod aufgerufen wird. (Liest sich jedenfalls so... ;)
Line 930: Line 937:
     * openmoko-browser2 kann noch kein SSL     * openmoko-browser2 kann noch kein SSL
     * Shell-Activity sollte den Suspend-Timer zurücksetzen     * Shell-Activity sollte den Suspend-Timer zurücksetzen
-    * Solange ext. Power angeschlossen ist sollte kein Dim/Suspend passieren 
  
-====== Openmoko 2008.8 Distribution ======+====== Openmoko 2008 Distribution ======
  
-Das Ganze ist Freerunner und Openmoko 2008.8 spezifisch (nach erfolgreichem 'opkg update; opkg upgrade'), aber vielleicht auch sonst hilfreich.+Das Ganze ist Freerunner und Openmoko 2008 spezifisch (nach erfolgreichem 'opkg update; opkg upgrade'), aber vielleicht auch sonst hilfreich.
  
 ===== USB "Ethernet" mit dhcp ===== ===== USB "Ethernet" mit dhcp =====
  
 Funktioniert [[#usb_ethernet_mit_dhcp|wie bei Openmoko 2007.2]]. Funktioniert [[#usb_ethernet_mit_dhcp|wie bei Openmoko 2007.2]].
 +
 +===== Audio =====
 +
 +Der bei 2007 erwähnte Fix von [[http://moko.mwester.net/|mwester]] ist zwar eingebaut, Audio überlebt Suspend/Resume aber trotzdem nicht mehr. Abhilfe schafft ein zusätzlicher Pulseaudio Suspend/Resume Cycle nach dem Resume.
 +
 +In /etc/apm/resume.d/gsm_resume hinzufügen:
 +<code>
 +...
 +sleep 5
 +pactl suspend-sink 1
 +pactl suspend-sink 0
 +echo "enabling GSM..."
 +...
 +</code>
 +
 +===== Disable suspend if on external power =====
 +
 +Das Suspend-Verhalten wie oben bei 2007 erwähnt ist bei 2008 im Prinzip das selbe. Der neod ist allerdings entfernt worden, das Suspenden übernimmt dafür ompower, was nicht mehr mit gconf sondern mit DBUS-Messages arbeitet.
 +
 +/etc/apm/event.d/change_power:
 +<code>
 +#!/bin/sh
 +
 +self="`basename $0`"
 +logger "apm $self[$$] called with $1 $2"
 +if [ "$1" == "change" ] && [ "$2" == "power" ]; then
 +        ompowerpid=`echo \`ps -C ompower --no-heading -o pid\``
 +        eval "`grep "^DBUS_SESSION_BUS_ADDRESS=" /proc/$ompowerpid/environ`"
 +        export DBUS_SESSION_BUS_ADDRESS
 +        bat_online=`cat /sys/class/power_supply/bat/online`
 +        logger "apm $self[$$] bat/online=$bat_online"
 +        if [ "$bat_online" == "1" ]; then
 +                dbus-send --system --dest=org.openmoko.Power / org.openmoko.Power.Core.RequestResourceState string:cpu string:external-power string:on
 +        elif [ "$bat_online" == "0" ]; then
 +                dbus-send --system --dest=org.openmoko.Power / org.openmoko.Power.Core.RemoveRequestedResourceState string:cpu string:external-power
 +        fi
 +        logger "apm $self[$$] dbus:org.openmoko.Power/ cpu now `dbus-send --system --print-reply --dest=org.openmoko.Power / org.openmoko.Power.Core.GetResourceState string:cpu`"
 +fi
 +</code>
  
 ===== Buglist ===== ===== Buglist =====
-  * Manchmal fehlt die initiale PIN-Abfrage. Es fehlt ein kanonischer Weg die PIN später einzugeben. +  * usb0 immer UP, siehe 2007 
-  * Manchmal lässt sich nach einem Suspend das Display nicht mehr einschalten. Ein Un-Suspend funktioniert zwar prinzipiell, das Display bleibt aber aus. Ein Versuch den xserver zu restarten, führt zu einem sofortigen Suspend, danach wird bei Un-Suspend-Versuchen nach etwa 10 Sek. immer wieder suspendet. Nach dem 5. oder 6. Versuch gelingt das Un-Suspend und der xserver-Start. +  * Manchmal fehlt die initiale PIN-Abfrage (das ist möglicherweise inzwischen gefixed). Es fehlt ein kanonischer Weg die PIN später einzugeben
-  * Keiner der beiden GUI-Mediaplayer oder mplayer können Sound abspielen, sondern blocken beim Versuch. +  * Die Installation von illume-config schlägt fehl. D.h. insbesondere es gibt keinen Keyboard-Button im Top Shelf. Das ist besonders nervig, da... 
-  * Der aktuelle Distributions-Kernel ist offenbar ohne SD/GPS-Fix - das GPS brachte bei Versuchen jedenfalls keine first fixes zustande.+  * ...bei manchen Applikationen das Keyboard sich nicht automatisch aktiviert, z.B. bei xterm und openmoko-terminal2
 +  * Manchmal lässt sich nach einem Suspend das Display nicht mehr einschalten. Ein Un-Suspend funktioniert zwar prinzipiell, das Display bleibt aber aus. Ein Versuch den xserver zu restarten, führt zu einem sofortigen Suspend, danach wird bei Un-Suspend-Versuchen nach etwa 10 Sek. immer wieder suspendet. Nach dem 5. oder 6. Versuch gelingt das Un-Suspend und der xserver-Start (das mit dem Display ist möglicherweise inzwischen gefixed, Suspend-Loops gibt's aber wohl noch)
 + 
 +====== Debian Distribution ====== 
 + 
 +Das install.sh des [[http://wiki.debian.org/DebianOnFreeRunner|DebianOnFreeRunner Projekts]] unterstützt leider keine Installation mit dem Kernel im Rootfs. Mit [[http://brezn.muc.ccc.de/~x/install.sh|diesem mutierten install.sh]] funktioniert das. \\ 
 +Derzeit wird ein Install-Versuch (beim FSO Step) allerdings wegen einem [[http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=500492|Debian-arm FTBS Problem]] fehlschlagen.
  
 ====== U-Boot ====== ====== U-Boot ======
Line 953: Line 1004:
       * Wird als 3MB SDHC-Card erkannt bzw. angezeigt       * Wird als 3MB SDHC-Card erkannt bzw. angezeigt
       * Booten von dieser Karte funktionierte (in mehreren verschiedenen Fällen) erst nach erneutem Partitionieren mit fdisk (!?)       * Booten von dieser Karte funktionierte (in mehreren verschiedenen Fällen) erst nach erneutem Partitionieren mit fdisk (!?)
-      * Manchmal wird zwar der Kernel geladen, das root fs (von dem vorher der Kernel gebootet wurde!?) kann aber nicht gemountet werden+      * ext2load kann (getestet mit dem Fall: 4 Partitions a 2GB) nur von Partition 1 und 2 booten, aber nicht von Partition 3  
 +      * Manchmal wird zwar der Kernel geladen, das root fs (von dem vorher der Kernel gebootet wurde!?) kann danach aber nicht gemountet werden
  
 ====== Kapsel ====== ====== Kapsel ======
Line 1034: Line 1086:
 opkg install openssh-ssh opkg install openssh-ssh
  
-das ganze ist für Openmoko 2007.2 zubereitet. das script funkt aber auch als textmode script, oder mit gtk (gnome).+das ganze ist für Openmoko 2007 zubereitet. das script funkt aber auch als textmode script, oder mit gtk (gnome).
  
 ~/.kapsel: ~/.kapsel:
  • openmoko.txt
  • Last modified: 2021/04/18 12:35
  • by 127.0.0.1