[gelöst] freetz für 5010 (23.04.27) erstellen

ChrisP

Neuer User
Mitglied seit
21 Mrz 2006
Beiträge
44
Punkte für Reaktionen
0
Punkte
0
Moin moin,

ich habe versucht, freetz v.1.0.1 für meine Fon 5010 zu basteln. Dafür nutze ich ein Ubuntu 8.04.1 in einer virtualBox.
Schon beim erstellen der Config. (make menuconfig) fiel mir auf, dass dort für die 5010 ein Firmware-Image fritz.box_fon_5010.annexa.48.04.43.image benutzt wird. (Ich darf auch in der Firmware language nur zwischen "a-ch - deutsch" wählen ;-)) Na gut, egal dachte ich mir, denn das "make" führte mit einiger Wartezeit doch zu einen fertigen image "5010_04.43freetz-1.0.1.a-ch_20090121-161807.image".
Leider verweigert aber meine Box den Upload:
Code:
Das Firmware-Update ist fehlgeschlagen:

Die angegebene Datei enthält keine für Ihr Gerät gültige Firmware.
Nun gut, dann zwinge ich eben "make menuconfig", die "richtige" Firmware "fritz.box_fon_5010.23.04.27.image" zu nehmen. Damit aber will nun das make nicht arbeiten:
Code:
cpx@virtualcpx:~/Desktop/freetz/freetz-1.0.1$ make
rm -f -rf packages/samba-3.0.24/root/sbin/nmbd
STEP 1: UNPACK
unpacking firmware image
splitting kernel image
unpacking filesystem image
  created 768 files
  created 60 directories
  created 166 symlinks
  created 0 devices
  created 0 fifos
unpacking var.tar
done.

STEP 2: MODIFY
applying patches
  applying patches (5010-a-ch)
    applying patch file ./patches/100-profile.patch
    patching file etc/profile
    Hunk #1 succeeded at 1 with fuzz 2.
    ----------------------------------------------------------------------
    applying patch file ./patches/110-multid-wait.patch
    patching file etc/init.d/rc.net
    Hunk #1 FAILED at 66.
    1 out of 1 hunk FAILED -- saving rejects to file etc/init.d/rc.net.rej
    ----------------------------------------------------------------------
ERROR: modpatch: Error in patch-file ./patches/110-multid-wait.patch
make: *** [firmware-nocompile] Fehler 2
cpx@virtualcpx:~/Desktop/freetz/freetz-1.0.1$
Dass make hier den Dienst mit dem Patch verweigert verstehe ich aber damit bin ich mit meinem Latein in dieser Sache am Ende.

Was muss ich tun, damit ich mir doch noch erfolgreich ein Image mit den gewünschten Features für meine Fritz!Box Fon 5010 bauen kann?
 
Zuletzt bearbeitet:
Deine Box hat Annex B, oder? Dann nimmt die Kiste das Ding natürlich nicht.
 
Ja, ich denke, da hast du recht aber was kann man machen, um ein AnnexB-Image zu produzieren? Oder kann man die Box irgendwie "überreden", das AnnexA-Image zu laden? Würde sie damit überhaupt (korrekt) arbeiten?
 
ins internet kommst du dann nicht mehr, der rest würde wahrscheinlich laufen.

Man kann die box aber auf Annex_A konfigurieren: siehe hier
 
Die Konfiguration nach dieser Anleitung scheint keine nennenswerte Änderung zu bringen. Vermutlich würde die Box jetzt als Annex A "funken" aber die AnnexA-Firmware verweigert sie immer noch. Ich habe das Einspielen jeweils direkt nach dem "fritz_als_avm_annex_A_new.tar" und nach einem anschließenden Reboot versucht. Kein Erfolg, leider.
Wenn ich das richtig verstanden habe, ändert das Image auch nicht die Bootloaderoption sondern die Kerneloption, egal wie es nun genau ist, es wird offensichtlich gegen die jeweils andere verifiziert, bevor das Update gestartet wird.

[EDIT]
Nachdem ich nun noch eine ganze Menge mehr hier im Forum gelesen und freundliche persänliche Telefonhilfe erhalten habe kann ich wenigstens folgendes hier zusammentragen:
  • Die Box wird wohl nie ein "Annex-A-Image" zum Flashen akzeptieren.
  • Weil die Version 23.04.27 noch den 2.4er-kernel benutzt, muss ich mich mit dem alten DS-Mod 0.2.9-p8 zufrieden geben. Genau deshalb unterstützt freetz nur die Annex-A-Version 48.04.xx (o.ä.) mit 2.6er-Kernel.

Danke für eure Hilfe!
 
Zuletzt bearbeitet:
So ganz verstehe ich nicht, warum der Wechsel auf 2.6er Kernel nicht möglich sein soll.
Die Schweizer Firmware hat doch auch den Sprung von 2.4 auf 2.6 durchgemacht, also sollte das normale Firmwareupdate den Urloader updaten können. Es scheitert also vor allem daran, dass man kein reguläres update der Firmware vornehmen kann. Wenn man in der mtd2.bin die 86 durch eine 116 und B durch A ersetzt und den Urloader damit überschreibt, sollte die Box doch als Schweizer Version erkannt werden. Die Hardware ist ja gleich.
Bei mir scheitet es daran, dass ich keinen Weg (außer etjag, damit muß ich mich irgendwann mal beschäftigen) finde, den urloader zurück zu schreiben.

Der ds-mod, so schön er in seiner Zeit auch war, hilft leider wenig. Die 5010 ist ein ziemlich dürftiges Stück Hardware, aber halt auch sehr billig gebraucht zu haben.
Das Teil ist aber sehr sinvoll, wenn man den Kernel 2.6 drauf bekommt und freetz verwendet. DSL-Treiber (nützt hier mit Annex A eh nix), hilfe ect. raus, dafür DTMFbox rein. Damit kann dann der analoge Eingang als SIP-Server bereit gestellt werden, z.B. um ein analoges GSM-Gateway, eine BlueBox oder eine alte analoge Telefonanlage (die zufällig einen Adapter für Türfreisprecheinrichtung hat) für die "Hauptbox" bereit zu stellen. Ich benötige in der Tat 3-4 analoge Eingänge. Da wären mir die 5010 genau recht. Sie sind kompakter als die Classics (können ja auch weniger), was sie als günstige und platzsparende Adapter (mit eigener Codecwandlung) nicht nur für eine größere FBF, sondern auch z.B. für Asterisk geeignet erscheinen läßt.
 
Bei den Boxen, die früher das alte Speicher-Layout hatten, enthalten die neueren Firmware-Versionen alles, was man braucht, um den Boot-Loader zu aktualisieren. Wenn Du das Skript so anpasst, daß es die alte Firmware akzeptiert, oder temporär neue Einstellungen in die Box bringst, die dann beim Update dauerhaft gemacht werden, könnte es gehen.

Wichtig ist, dßa der Boot-Loader wirklich zur Hardware der Box passt. Wenn da etwas schief geht, hilft nur noch JTAG.
 
In der 5010 A-CH Firmware ist kein Update für den Bootloader enthalten.

Gruß
Oliver
 
Das würde bedeuten, daß diese entweder nie mit dem alten Speicherlayout ausgeliefert wurde, oder daß man ein älteres Update finden müßte.

Bei der fritz.box_fon_5010.23.04.27.image gibt es nur eine Datei kernel.image und ein leeres filesystem.image, was dafür spricht, daß da schon da neue Format verwendet wird, eine Aktualisierung des Boot-Loaders ist somit nicht notwendig.

Somit sollte es möglich sein, die neuere Firmware entsprechend anzupassen und auf die Box zu bringen, ohne daß man am Bootloader etwas ändern muß.
 
Die fritz.box_fon_5010.23.04.27.image arbeitet ja nur mit dem alten bootloader.
Das Problem ist, dass die fritz.box_fon_5010.annexa.48.04.43.image auch keinen neuen bootloader enthält. Die setzt den neuen bootloader schon voraus.

Die Schweizer Version wurde von inode definitiv mit 2.4er Kernel geliefert. Hier im Forum gibt es Beiträge zu dem Thema, dass ein Firmwareupdate dazu führte, dass die alte Firmware nicht mehr lief. Die neue machte bei inode aber Probleme, so dass die Nutzer ein Problem hatten - zurück ging nicht mehr.

Eventuell ist das der Grund, dass AVM keine Firmware für das Upgrade 2.4->2.6 (mehr) zum Download hat. Dadürften sich enige ihre Box "Inode-untauglich" gemacht haben.

Vielleicht hat ja noch jemand die Datei, welche die Inode-User benutzt hatten und damit die Probleme bekamen. Die dürfte ja den genau richtigen urloader enthalten.

Edit: Es gab eine 48.04.42. War aber nur ganz kurz online und wurde wegen eines "Fehlers" zurückgezogen. Welcher wohl...
http://www.ip-phone-forum.de/showthread.php?t=93715&p=958493&viewfull=1#post958493

Wenn jemand das Firmware-Image hätte...
FB_Addon_TelNo{ height:15px !important; white-space: nowrap !important; background-color: #0ff0ff;}
 
Zuletzt bearbeitet:
Die fritz.box_fon_5010.annexa.48.04.43.image enthält sowohl ein Update Modul für den Kernel 2.4 als auch für den Kernel 2.6. Trotzdem ist dort kein Update des Bootloaders enthalten. Man kann also davon ausgehen, daß dieser nicht benötigt wird, weil der Bootloader schon für das neue Format geeignet ist.

Du kannst mit FTP das neuere kernel.image der 48.04.43 auf die Box bringen. Wenn es nicht läuft, kannst Du immer noch auf das alte Image zurück. Mit einer seriellen Konsole kannst Du beobachten wie weit die Box damit kommt. Wenn die Hardware ansonsten identisch ist, sollte es reichen, die Überprüfungen auf die Hardware-Nummern in der Firmware anzupassen.
 
Demzufolge wären die Abstürze ausschließlich auf die in der Firmware enthaltene Prüfung der HWRevision zurück zu führen. Dem widerspricht aber, dass das RuKernelTool den upload wegen falschen Memory-Layouts verweigert. Das Memory-Layout wird doch aber durch den urloader bestimmt, oder?

FB_Addon_TelNo{ height:15px !important; white-space: nowrap !important; background-color: #0ff0ff;}
 
Auch wenn der Titel schon "gelöst" enthält (warum eigentlich, gelöst ist es doch nicht?) möchte ich meine letzten Erkenntnisse posten:

Freetz für 23.04.27 geht natürlich nicht, aber für 48.04.43. Dazu muss man lediglich bei freetz erweiterte Einstellungen erlauben und im letzten Punkt unter Patches HWRevision mit 116 eingeben. Das so produzierte Image muss man wieder entpacken und den kernel per ftp auf die 5010 bringen. Läuft.

Aber: leider bekomme ich trotz des kernels 2.6 dtmfbox nicht zum laufen. Ich bekomme es nicht im Webinterface von freetz angezeigt, nur unter Dienste - und dort schlägt starten fehl, weil es nicht installiert sei. Die Verzeichnisse sind auch nicht erstellt worden. Mist, das war mein Hauptgrund für freetz auf der 5010, wollte daraus einen FXO/FXS machen :-(
Callmonitor hingegen funktioniert...
 
Du kannst Freetz-1.1.4 probieren. Da müsste dtmfbox noch funktionieren. Mehr zu dtmfbox bitte im passenden Thread...

Gruß
Oliver
 
Freetz 1.1.4 hat leider noch keine Option, eine andere HWRevision vorzutäuschen. Das geht nur mit den echten österreichischen Boxen.
Erst Freetz ab 1.2 kann man dank des Vortäuschens einer anderen HWRevision ohne Änderung des Urloaders dazu bringen, auf Deutschen Boxen zu laufen.
Das Problem ist scheinbar nicht DTMF Box - auf 5050, 7050 usw. läuft es ja trotz ähnlichem Firmwarestand, sondern die Einbindung bei Freetz bei 5010er Boxen.
Das ganze ist eigentlich eher ein "nice2have", man hat ja auch genug andere Boxen. Die 5010 hat allerdings einen angenehm niedrigen Stromverbrauch aufgrund der geringeren Zahl an Komponenten. Außerdem tuts in der Seele weh, wenn so eine Box vor sich hin verstaubt.

Haupterkenntnis ist aber, das Freetz auch mit Deutschen Boxen grundsätzlich funktioniert - aber nur mit Annex A und leider nicht DTMFBox.
Womit - da die Eingangsfrage ja lautete, ob Freetz bei einer 5010 funktioniert - zumindest bei zugang via LAN A als gelöst zu bezeichnen ist.
Es mag ja den einen oder anderen geben, der nach einer Möglichkeit sucht, z.B. den Callmonitor zu integrieren (was geht) um die 5010 als ATA an einer Netzwerkdose zu betreiben. Callmonitor ist ja schon eine feine Sache.
 
So, mein letzter Post ist schon etwas her, aber endlich habe ich Fortschritte machen können.

Der Schlüssel des Ganzen war, dass die letzte mit dtmfbox funktionierende freetz-Revision die 5236 war. Hier kann man die Boxinfos erzwingen, also auch einer UI-5010 vortäuschen, die ch/at-Version zu sein:)
Man checkt gezielt diese Version aus:

svn co http://svn.freetz.org/trunk fbf5010 - r 5236

Dann gehts ins Menu von freetz:

make menuconfig

Hier wählt man die 5010
- show advanced options
- Patches
* Remove dsld (wir brauchen den Platz und Annex A läuft bei uns eh nicht)
* Remove help (wir brauchen den Platz und wissen eh schon alles über FBF)
* Remove the support files (wir brauchen den Platz und Support für die 5010, was ist das?)
* Enforce urlader environment
(avm) Enforce firmware_version variable (Wichtig - UI-Branding haben Östereich und Schweiz nicht)
(Fritz_Box_5010_AnnexA) Enforce ProductID variable (Wichtig: egal, was im urloader steht, der Firmware wird vorgegaukelt, dass es sich um die ch/at-Version handelt)
- Package selection / Standard packages
* Callmonitor 1.18.1 (mit allen 4 Unterpunkten) (ein nice-to-have. Je nach Einsatzzweck)
* dtmfbox v0.5.0 (mit Standardauswahl) (Damit wird der Festnetzeingang zum SIP-Provider)
- Advanced options
(0) Default Security level (Für Callmonitor erforderlich, um Listeners anlegen zu können)

Exit und Konfiguration speichern.
Nun kompillieren ("make")

Einige Pakete sind unter den eingestellten Downloadlinks nicht mehr zu finden. Da muss man halt googeln und die händisch unter \\freetz-linux\freetz\fbf5010\dl speichern.
Eine gute Quelle ist http://freetz.mhampicke.de/packages/ , da finden sich viele ältere Versionen, die wir für ältere Trunks brauchen.

Irgendwann ist dann das Firmwareimage fertig. Leider bekommen wir es so nicht auf die Box, weder mit Firmwareupdate, noch mit dem RuKernelTool. Also bleibt nur der alte Weg.

Image Datei entpacken und unter var/tmp findet sich das kernel.image. In dies Verzeichnis wechseln.
5010 vom Strom nehmen, ftp 192.168.178.1 eingeben (noch nicht enter), Box an Strom, beim zweiten Blinken der Power-LED Enter drücken. Kann einige Versuche brauchen, bis es klappt und sich adam2 der Box meldet. Dann gehts weiter mit:
adam2
adam2
bin
passiv
quote MEDIA FLSH
put kernel.image mtd1

Wenn Dateiübertragung abgeschlossen, kann die Box neu gestartet werden. Sie meldet sich jetzt im Webinterface mit der neuen Firmware und kann konfiguriert werden (natürlich nur als IP-Client, dsld für Router haben wir ja entfernt).
dtmfbox und callmonitor sind unter der freetz-Weboberfläche verfügbar.

Was ich jetzt noch testen muss, ist, ob dtmfbox wie gewünscht funktioniert. Damit hätte man dann ein absulut preiswertes FXO/FXS-Mediagateway mit einem analogen Ein- und einem Ausgang.

Edit: Mist, im Webinterface ist es da, lässt sich aber nicht konfigurieren :-(
Edit2: Der Pfad war lediglich nicht richtig gesetzt. Man muss ihn händisch in der Weboberfläche auf /var/dtmfbox-bin einstellen.Der nötige Capi-Controller ist "4". Also unter Pakete/dtmfbox-basis Bereich capi als Listen controller 4 einstellen, unter acc1 Rufnummer unknown und auch Capi-Controller 4. Registrar-Modus muss natürlich aktiv sein und Nutzer und Passwort für das Gerät, das sich anmelden soll, eingerichtet werden.
Wer das braucht:
z.B. Kabelrouternutzer, die zwei analoge fon Ports haben und beide in eine 7390 einspeisen wollen - einer kommt direkt in die 7390, einer an die 5010. Oder bei Betrieb mehrerer analoger Gateways an einer 7390. Oder um eine alte Telefonanlage mit TFE einzuspeisen (Blliges Türinterface...). Oder halt, um einem Asterisk einen analog Ein- und Ausgang zu verpassen.

Schade, dass es für die 5012 keine ähnliche Lösung gibt :-(
 
Zuletzt bearbeitet:
Cool, da kann ich meine alte, eingestaubte, unnütze 5010 (mit weniger als 24 Stunden Betriebszeit!) doch noch zu was gebrauchen, und wenn es nur zum üben ist. Muss ich doch gleich mal in den Keller gehen...
 
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.