Eigene Firmwareänderungen per Skript

Hi bofh,

das Image passt so in der Konfiguration in das Flash. Der bftpd wird per default nicht gestartet. Wozu sollte ich ihn rauswerfen ?
FTP zum Filetransfer von/zu der Box sollte für Windows-User einfacher sein. Einfacher als "scp/putty" etc. zu installieren.
Ich wüsste auf Anhieb nicht was ich dafür zuerst hinzufügen sollte.

In fritzbox_mod.6 kann jeder "BFTPD=no" setzen. Für Ram-Speicherprobleme (SL_WLAN) gibt es eine "versteckte" Option um den Websrv anzuhalten
um dropbear und WLAN zu starten. Die Option ist aber absichtlich versteckt, wer diese Option findet sollte
auch in der Lage sein ein "recover" zu machen, wenn er aus versehen den Webserver tot gelegt hat. ;-)
Dann geht nämlich das "Firmwareupload" auch nicht mehr.


Haveaniceday
 
Hi Haveaniceday,

was scp an geht da ist es mit winscp wirklich einfach:
(hier paar Screenshots: http://winscp.net/eng/docs/interfaces )
man sollte es nur auf scp stellen das wars, da die box kein sftp macht und "eine verwirende" fehler meldung kommt wenn mans nicht weis.

warum den bftpd rausschmeisen?
da beim ftp die daten und login in klartext uebertragen werden und man den AW zwingen muss es verschlusselt zumachen ansonsten interesirt es ihn ja nicht ;-)

ne im erst der filetransfer via scp ist IMHO komplet ausreichend und den platz von dem bftpd kann man dan nutzen um z.b. nen die etherwake sachen mit einem web-gui zu versehen *g

es ist halt einfach "doppelt" wo man es IMHO nicht braucht.

oder werden mitlereile beim "BFTPD=no" die binarys nicht mehr mit kopirt? (kann hier nicht nachschauen.)

P.s. was mir wirklich fehlt ist eine moeglichkeit die gesamte config der box zu sichern und wieder einspielen zu koenen. (ich weis leider nicht was ich alles sichern mueste des wegen hab ich aus /var/flash einfach nen tar gezogen.

gruss bofh
 
> da beim ftp die daten und login in klartext uebertragen werden und man den AW zwingen muss es verschlusselt zumachen ansonsten interesirt es ihn ja nicht.
Schade das es auch in deinem Hausnetz "unsicher" ist ;-) Der ftp ist
von aussen nicht sichtbar.

> oder werden mitlereile beim "BFTPD=no" die binarys nicht mehr mit kopirt? (kann hier nicht nachschauen.)

Meine das wäre schon immer so gewesen.

> P.s. was mir wirklich fehlt ist eine moeglichkeit die gesamte config der box zu sichern und wieder einspielen zu koenen. (ich weis leider nicht was ich alles sichern mueste des wegen hab ich aus /var/flash einfach nen tar gezogen.
Eigentlich mal ein Feature was von AVM kommen könnte.

Nutze für mich:
- login
cd /var/flash
for i in *
do
cat $i > /var/tmp/ftpd/$i
done
- + interner ftp über "anonymous" ( kein Passwort ) => Dateien auf PC sichern..

Mit dem ftp auf der Box hast du anscheinend noch nicht viel gearbeitet:
- Nur login per "anonymous/ftp" => Nix geheimes
- fest auf /var/tmp/ftpd/ als Verzeichnis beschränkt. => Normal nur das drin was man selber haben will.
- Wer zu viel drauf packt: Box steht still. ( So bei schätze mal 2 MB - .??)

bftpd ist nur zum Sichern der Konfig gedacht. Nicht jeder möchte dropbear/ssh/scp nutzen. bftpd ist extra deshalb auf anfrage reingekommen.

Haveaniceday
 
da ist doch so was [s:cc4361abf2]"einfacher"[/s:cc4361abf2] kompliziter wegen dem jffs/tffs... ;-)

[s:cc4361abf2]# ssh -l root fritzbox -t tar cvf /var/tmp/flash_bak.tar /var/flash[/s:cc4361abf2]
# scp root@fritzbox:/var/tmp/flash_bak.tar .

oder gleich so was:
[s:cc4361abf2]# ssh fritzbox tarcvf - /var/flash "|" dd of=flash_bak.tar[/s:cc4361abf2] (tut nicht auch wegen dem jffs/tffs!)
wenn eher so was in die richtung: # ssh fritzbox tarcvf - /var/flash_bak.tar "|" dd of=flash_bak.tar
(syntax fehler ausgenommen, syntax nicht 100% ueberprueft)

add @2005-04-07: ich werd glaub ich mal nen shell-script bauen fuer ein einfachs "full" bakup der daten...

grus bofh

p.s. danke fuer die arbeit am mod! (solte ich ja auch mal sagen.)
p.s.s. da wir uns den dsl mit 5 menschen im haus teilen und ich am liebsten openbsd auf der fritzbox haette, soll ich da noch was sagen: aus meiner sicht ist das interne netz immer als unsicher zu betrachten.
(ich will ja immer noch netreg aufbauen mit nem automatichen nessus scan was die rechner rausnimmt wo patches fehlen...
 
ich konnte einfach nicht anders als das Update machen, das scheint ein zwang zu sein :wink:

jetzt verstehe ich allerdings nicht mehr, wie die CALLOWNGET zu konfigurieren ist. Sind hier jetzt die Variablen einzutragen, wie MSISDN, CALLER etc? im Rohzustand (/call.php?nr=) wird keine Nummer übertragen, mit nr=$MSISDN bekomme ich auch keine Anzeige...

wie gehts?

Danke!
 
Hi frage,

die alten Werte sollten noch weiter funktionieren.
Was hast du den, bzw. möchtest du den drin stehen haben ?

Haveaniceday
 
hi haveanieday,

ich würde gerne einen solchen get-string haben:
Code:
#CALLOWNGET=call.php?nr=$MSISDN\&anschluss=$CALLED\&caller=$CALLER

Dieser string funktioniert mit der Lösung von u.g, die "\" waren notwendig, auch wenn ich nicht weiß warum, wahrscheinlich wegen sed...
 
Warnung bei original mod-0.55 und passwd.store und "verschlüsseltes" Passwort mit "/" wird debug.cfg gelöscht !
Passiert aber nur bei passwd.store


Als Abhilfe könnt ihr in den Skripten ändern:
diff passwd.store.alt passwd.store
3c3
< cat /var/flash/debug.cfg | sed -e "/^PASSWD=.*/s/.*/PASSWD='$PASSWD'/" > /var/tmp/debug.cfg
---
> cat /var/flash/debug.cfg | sed -e "/^PASSWD=.*/s#.*#PASSWD='$PASSWD'#" > /var/tmp/debug.cfg

diff modstart.init.alt modstart.init
46c46
< sed -e "/root:/s/^root:[^:]*:/root:$PASSWD:/" shadow.old > shadow
---
> sed -e "/root:/s#^root:[^:]*:#root:$PASSWD:#" shadow.old > shadow

@Frage,
komme wahrscheinlich heute nicht dazu das genau zu Testen.
Hab mal gerade nachgeschaut: "&" maskiere ich nicht. u.g. Lösung sollte aber noch gehen.

Haveaniceday
 
hi haveaniceday,

danke für die schnelle Antwort. own3message bringt die Glückseligkeit
 
Hi,
hab die neuen callmonitor-Skripte mit yac ausprobiert:
Rundruf auf alle IPs aus multid.leases geht so nicht, da die Abfrage:
Code:
				[0-9]*.[0-9]*.[0-9].)
					#IP-Adressen Ziffer.Ziffer.* aus multilease
					IPS=`fgrep -i $listener /var/flash/multid.leases | awk '{ print $3 }'`
					;;
ja nur auf IPs mit einziffriger 3. Stelle zutrifft -> müßte [0-9]*.[0-9]*.[0-9]*.) heißen, oder ?

Die Broadcast-Abfrage:
Code:
					[0-9]*.[0-9]*.[0-9])
					#Geht das ? Broadcast ?
					IPS=$listener
verstehe ich nicht. Wie soll das funktionieren ?

Gruß
crusader
 
@ frage:

Ich hatte u.a. wegen meiner Änderungen in debug.cfg den "/" in CALLOWNGET (#CALLOWNGET=/call.php?nr=) weg gelassen.
Für mod-0.55 (zB own3message) muss er aber drin sein !

Gruß
Uwe
 
Hi Crusader,

crusader schrieb:
Code:
				[0-9]*.[0-9]*.[0-9].)
					#IP-Adressen Ziffer.Ziffer.* aus multilease
					IPS=`fgrep -i $listener /var/flash/multid.leases | awk '{ print $3 }'`
					;;
Du hast recht. Sollte [0-9]*.[0-9]*.[0-9]*.) heißen.

crusader schrieb:
Code:
					[0-9]*.[0-9]*.[0-9])
					#Geht das ? Broadcast ?
					IPS=$listener
Dachte mir vielleicht geht das so ähnlich wie "broadcast" geht aber nicht.
Fliegt raus..

Haveaniceday
 
Probleme mit mod-0.55b:

- bftpd wird trotz BFTPD=1 nicht gestartet, weil Pfad in modstart.final
nicht stimmt (/sbin/bftpd -d), bftpd ist in /usr/bin

- scp geht nicht:
~ # scp [email protected]:~/bla .
/usr/bin/dbclient: No such file or directory

Uwe
 
Hi Uwe,

danke für den Hinweis. Im Moment suche ich den Grund für ein weiteres
scp / ssh-Problem. Selbst wenn ich den symbolischen Link dbclient => dropbear
setzte geht es nicht.

Viele Grüße,

Haveaniceday
 
:oops: wäre es eigentlich auch denkbar, abgehende Gespräche zu loggen? Nur so der vollständigkeit wegen...
 
Nachtrag dropbear/ssh: Stelle mal auf die Version 0.45 um.Anscheinend ist das Release 0.44 bei ssh/scp mit Problemen behaftet.

@frage,

man sieht etwas bei ausgehenden Calls: 11.04.05 18:34 0s Slot: -1 outgoing 052518812345 ChargeU: 0

[faul an]aber was und wie man das auswerten kann müßte schon jemand anders versuchen[/faul an].
( CALLINFO=4 , dann die Ausgaben beobachten..., dann Strings/parse "sed-tauglich" erdenken... )

Haveaniceday
 
mal ne wirklich blöde Frage...

Also: ich möchte per cron einen get befehl ausführen, weiß aber nicht wie

ich dachte da an (nur der befehl) GET 192.168.178.2/lokal/fff.php

so geht's aber nicht...

besten dank!
 
Hi Frage,

schreib mal das folgende in ein File

Code:
send()
{
        nc -w 2 $1 80 <<EOF_OWN > /var/tmp/nc.out 2>&1
GET $2 HTTP/1.0
Host: $3

EOF_OWN
}

send 192.168.123.45 "/lokal/fff.php" myhost

Dann "chmod +x file"
./file

Das sollte gehen. "myhost" ist ein eventueller symbolischer Name deines Webservers oder halt auch 192.168.123.45.
Manche Webserver "stellen sich an", wenn sie die Host Zeile und die anschliessende Leerzeile nicht bekommen.

Haveaniceday
 
Achtung: Habe mal versucht die Mod-Skripte mit 8.3.42 zu benutzen: geht nicht !

Der beigelegte Kernel kann irgendwie die erzeugten "squashfs" nicht laden.
Seltsam... bei .3.37 habe ich kein Problem...

Updates über das Thema kommen hier in den Thread...

Haveaniceday

Edit1: Habe von Enrik die Info erhalten, dass die Blockgröße von Squashfs
auf 16384 gesetzt wurde. Kommt in die nächste Mod rein.
( -b 16384 für mksquashfs ). Das spart etwas Memory..

Edit2, meine Lösung:

Blocksize des Squash Filesystems erhalten:

let BLOCKSIZE="`od -i -N 1 -j 34 1.$SHORTORIG/var/tmp/filesystem.image | sed -n -e '1s#.* ##' -e 1p`"
let BLOCKSIZE="1<<BLOCKSIZE"

Macht folgendes:
od: -i => dump "2byte integer", -N 1 => 1 Wert ausgeben, -j 34 => Skip 34 Byte
sed: -n => "silent", '1s#.* ##' => Gebe von zweiten Wert aus: 000042 14 hier "14", 1p => Nur erste Zeile ausgeben.

=> Blocksize ist dann z.B. 14 für "16384"

"Bitshift links":
let BLOCKSIZE="1<<14" => 16384

Endlich mal wieder Bits shiften *grins*
 
@ haveaniceday
Du bist ja schwer zu gange! Angesichts dessen, was hinter Deinen tollen mods steckt mache ich nur große Augen :shock:

Ein Frage am Rande:
Ich habe hier jetzt die neue Box 7050 rumstehen und möchte die eigentlich auch installieren(andernworts), aber ohne ssh fehlt mir die Fernwartungsmöglichkeit.
Ich habe irgendwo ein Statement von Dir gelesen, dass das überhaupt schwierig wird auf der neuen Box... hast Du ggf. neue Erkenntnisse, oder wartest Du hier erst mal die nächsten 5 Firmwareänderungen von AVM ab?
Ich frage nur ganz vorsichtig, um abschätzen zu können, wann ich die neue Box in Betrieb nehme.

Besten Dank!
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.