Sebastian Semmler wrote:
Wie bekomme ich da nun die Freifunk-Firmware drauf? Vielleicht sollte
man es nochmal von Openwrt aus mit Freifunk probieren. Wie flashe ich
denn eine andere Firmware von Openwrt aus rauf? Vielleicht kann man sich
ja die für die Freifunk Firmware nötigen Pakete aber auch runterladen
und so "nachbauen"?
Im prinzip geht es so. Praktisch haben wir das noch nicht gemacht. Du
könntest mal auf der berliner FF-Liste nachfragen, wie man von OpenWRT
auf die "Klassische" Freifunk-Firmware 1.6.36 kommt.
Was ich aber vorher mal probieren würde: Es gibt ein Script
"firmware-burn", mit dem man von der Kommandozeile aus den Router
flashen kann. In unserem Wiki gibt es eine entsprechende
Update-Anleitung [1]. Ich weiss nicht, ob das Script in der
Standard-OpenWRT Distribution enthalten ist, oder ob das eine Erfindung
der Berliner Entwickler ist. Ich habe es zur Sicherheit mal rangehängt.
Wenn das Script in OpenWRT vorhanden ist, sieht es so aus:
root@1-64-melle:~# firmware-burn
Input file missing.
Du könntest also nach unserer Update-Anleitung [1] vorgehen und müsstest
dann bei der "normalen" Freifunk-Firmware rauskommen. Beachte, dass der
WAP weniger Speicher hat und ggf. nicht alle Pakete (z.B.
ff-recommended-de) installierbar sind.
[1] http://wiki.freifunk-potsdam.de/Firmware_aktualisieren#Shell
viele Grüße,
// melle
--
xmpp: melle@jabber.ccc.de passion:
http://mellenthin.de
F489 2C4F E8C2 9A15 DBCB mission:
http://freifunk-potsdam.de
127C 81B6 FDC3 7C1A FF85 pubkey:
http://mellenthin.de/key.txt
#!/bin/sh
if [ "$1" != "-go" ]; then
ffout="$1"
if [ -z "$ffout" ] || [ ! -f "$ffout" ]; then
echo "Input file missing.">&2
exit 1
fi
BINMAGIC=$(dd if="$ffout" bs=4 count=1 2>/dev/null)
case "$BINMAGIC" in
W54G|W54S|W54A|W54s)
# linksys/allnet
SKIP=32
;;
LOAD)
# se505
SKIP=28
;;
HDR0)
# trx
SKIP=0
;;
*)
echo "Bad Header $BINMAGIC: aborted.">&2
rm -f "$ffout"
exit 1
;;
esac
if [ -x /www/cgi-bin/freifunk-upload ]; then
if ! /www/cgi-bin/freifunk-upload -c "$ffout" $SKIP; then
echo "CRC error: aborted.">&2
rm -f "$ffout"
exit 1
fi
fi
outdev=/dev/null
test -e /dev/tts/0 && outdev=/dev/tts/0
$0 -go "$ffout" $SKIP>$outdev 2>&1 &
exit 0
fi
trap "" SIGHUP
trap "" SIGTERM
sleep 1
killall5 -HUP
nvram set ff_reset=format
nvram commit
killall5 -TERM
sleep 1
echo 0x04>/proc/sys/diag
WLDEV=$(sed -n 's/^ *([^:]+):.*/\1/p' /proc/net/wireless)
if [ -n "$WLDEV" ]; then
ip link set dev $WLDEV down
wifi down
# Unloading wl.o does not work / will hangup script
# rmmod wl
fi
rmmod wlcompat
rmmod diag
mkdir -p /tmp/burn.$$/bin
mkdir -p /tmp/burn.$$/dev
mkdir -p /tmp/burn.$$/lib
mkdir -p /tmp/burn.$$/proc
mount none /tmp/burn.$$/dev -t devfs
mount none /tmp/burn.$$/proc -t proc
mv "$2" /tmp/burn.$$/
rm /tmp/*
rm -r /tmp/etc /tmp/log /tmp/lock /tmp/run /tmp/spool
unset rom
test -f /rom/bin/busybox && rom=/rom
cp -a $rom/sbin/mtd $rom/sbin/mtdkill /tmp/burn.$$/bin/
cp -a $rom/lib/ld-uClibc* $rom/lib/libc* $rom/lib/libuClibc*\
$rom/usr/lib/libnvram.so $rom/usr/lib/libshared.so /tmp/burn.$$/lib/
exec chroot /tmp/burn.$$ /bin/mtdkill write "${2#/tmp}" linux $3