Firmware neu flashen?
Moderator: Co-Administratoren
-
- Beiträge: 579
- Registriert: 24.10.2008, 03:26
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 2 Mal
Firmware neu flashen?
Hallo,
meine Zentrale bootet offenbar aufgrund eines Tippfehlers (ich habe versucht einen USB Stick einzurichten) nicht mehr komplett. Sie bleibt mit der Anzeigen "HomeMatic V 1.300" im Display stehen. Der Webserver scheint gestartet zu sein, allerdings bekomme ich die Meldung "Die HomeMatic CCU ist noch nicht bereit" wenn ich versuche auf das Webinterface zuzugreifen.
Gibt es eine Moeglichkeit die Zentrale wiederzubeleben? Vermutlich wuerde es ja reichen die Firmware neu zu flashen, nur wie?
Ich habe schon rausgefunden dass wenn man bei einem reset alle drei Fronttasten gedrueckt halt die Zentrale versucht per BOOTP/TFTP zu booten, wenn man lediglich eine der Tasten grdrueckt halt erscheinen Meldungen ueber ein Bootloader Update im Display. Waere das ein Weg?
Bin fuer jede Hilfe dankbar . . . .
Gruss
Dirch
meine Zentrale bootet offenbar aufgrund eines Tippfehlers (ich habe versucht einen USB Stick einzurichten) nicht mehr komplett. Sie bleibt mit der Anzeigen "HomeMatic V 1.300" im Display stehen. Der Webserver scheint gestartet zu sein, allerdings bekomme ich die Meldung "Die HomeMatic CCU ist noch nicht bereit" wenn ich versuche auf das Webinterface zuzugreifen.
Gibt es eine Moeglichkeit die Zentrale wiederzubeleben? Vermutlich wuerde es ja reichen die Firmware neu zu flashen, nur wie?
Ich habe schon rausgefunden dass wenn man bei einem reset alle drei Fronttasten gedrueckt halt die Zentrale versucht per BOOTP/TFTP zu booten, wenn man lediglich eine der Tasten grdrueckt halt erscheinen Meldungen ueber ein Bootloader Update im Display. Waere das ein Weg?
Bin fuer jede Hilfe dankbar . . . .
Gruss
Dirch
Neun von zehn Stimmen in meinen Kopf sagen ich bin nicht verrückt. Die andere summt die Melodie von Tetris . ...
-
- Beiträge: 579
- Registriert: 24.10.2008, 03:26
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 2 Mal
Re: Firmware neu flashen?
So, einen kleinen Schritt weiter bin ich, die kiste holt sich per TFTP das uImage was ich aus dem boot_cramfs extrahiert habe. Und soweit ich gerade im wireshark gesehen habe versucht sie sogar per NFS das rootfs zu mounten . . . . sieht schon mal recht vielversprechend aus.
Drueckt mir die Daumen.
Drueckt mir die Daumen.
Neun von zehn Stimmen in meinen Kopf sagen ich bin nicht verrückt. Die andere summt die Melodie von Tetris . ...
-
- Beiträge: 579
- Registriert: 24.10.2008, 03:26
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 2 Mal
Re: Firmware neu flashen?
JUHUUUU, ich habs geschafft.
Hab die Zentrale erfolgreich ueber Netz gebootet (BOOTP, TFTP, NFS) und konnte so den Fehler beheben.
Und ein nicht schreibgeschuetzes root filesystem ist zum rumspielen auch ganz nett
Falls an der Vorgehensweise Interesse besteht lasst es mich wissen, dann schreib ich das kurz zusammen.
Gruss
dirch
Hab die Zentrale erfolgreich ueber Netz gebootet (BOOTP, TFTP, NFS) und konnte so den Fehler beheben.
Und ein nicht schreibgeschuetzes root filesystem ist zum rumspielen auch ganz nett
Falls an der Vorgehensweise Interesse besteht lasst es mich wissen, dann schreib ich das kurz zusammen.
Gruss
dirch
Neun von zehn Stimmen in meinen Kopf sagen ich bin nicht verrückt. Die andere summt die Melodie von Tetris . ...
-
- Beiträge: 630
- Registriert: 01.11.2007, 21:45
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Siebengebirge (bei Bonn)
- Hat sich bedankt: 18 Mal
- Danksagung erhalten: 2 Mal
Re: Firmware neu flashen?
Gratulation !dirch hat geschrieben:JUHUUUU, ich habs geschafft.
Das wäre doch bestimmt was für Kaju's Blog ...dirch hat geschrieben:...
Falls an der Vorgehensweise Interesse besteht lasst es mich wissen, dann schreib ich das kurz zusammen.
...
Gruß Stefan
-
- Beiträge: 579
- Registriert: 24.10.2008, 03:26
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 2 Mal
Re: Firmware neu flashen?
Achtung: Diese Vorgehensweise ist nicht ganz trivial und sollte daher nur von Leuten durchgefuehrt werden die genau wissen was sie tun. Im schlimmsten Falle koennt ihr die Firmware auf der Zentrale so zerstoeren dass sie zum Hersteller eingeschickt werden muss! Ich uebernehme natuerlich keine Garantie fuer das oben geschriebene bzw. fuer alle Schaeden die ihr mit Hilfe dieser Anleitung an euren Zentralen verursacht.
So, auf nen standard Debian/*buntu sind folgende Pakete noetig um die CCU uebers Netz zu booten, zumindest habe ich sie hier benutzt. Die Konfiguration von anderen Daemons oder unterschiedlichen Versionen mag abweichen.
- openbsd-inetd (0.20050402-6)
- dhcp3-server (3.0.4-13)
- tftpd (0.17-15)
- nfs-kernel-server (1.0.10-6+etch.1)
IP der Zentrale: 192.168.0.11
IP des linux Servers: 192.168.0.10
(alle weiteren Beschreibungen und Konfig-Auszuege beziehen sich auf diese IP Adressen. Natuerlich koennen auch andere verwendet werden!)
dhcpd ist eingerichtet fuer 192.168.0.0/24
Datei: /etc/dhcp3/dhcpd.conf
Datei: /etc/inetd.conf
Aktuelle Firmware (z.B hm-ccu-firmware-1.300.img) entpacken. Entweder mit winrar oder in .tar.gz umbenennen.
Das dort enthaltene boot_cramfs mounten:
und uImage ins TFTP verzeichnis kopieren
Verzeichnis fuers NFS-root anlegen
Datei: /etc/exports
Dienste neu starten:
Bevor ihr die Box nun uebers Netz bootet solltet ihr noch die Eintraege in /nfsroot_hss/etc/fstab anschauen und korrigieren, ggf. moechtet ihr auch noch das script in /nfsroot_hss/etc/rc anpassen.
Nun zum booten selber, resettet die box (ueber den kleinen reset knopf und haltet dann SOFORT alle 3 fronttasten fuer ca. 5 sekunden gedrueckt. Nun sollte die box erst einen bootp/dhcp request, dann einen TFTP request und zuletzt eine NFS Verbindung in den logs (z.b. /var/log/daemon.log) sehen:
Das eigentliche aufspielen oder neu flaschen der Software ist damit noch nicht geschehen, bislang wurde die Firmware der Zentrale weder geloescht noch sonst irgendwie veraendert.
Um so eine neue Software aufzuspielen solltet ihr (sofern nicht schon vorhanden) telnet ins nfsroot installieren um euch auf der box anmelden zu koennen. Ein Beispiel wie das flashen funktioniert koennt ihr euch im update_script (aus http://www.homematic.com/firmware/hm-cc ... 300.tar.gz ) anschauen.
Ich hoffe das die Beschreibung irgendwem einmal hilft, mir hat es auf jeden Fall schon das Einschicken an den Hersteller erspart
Gruss
dirch
So, auf nen standard Debian/*buntu sind folgende Pakete noetig um die CCU uebers Netz zu booten, zumindest habe ich sie hier benutzt. Die Konfiguration von anderen Daemons oder unterschiedlichen Versionen mag abweichen.
- openbsd-inetd (0.20050402-6)
- dhcp3-server (3.0.4-13)
- tftpd (0.17-15)
- nfs-kernel-server (1.0.10-6+etch.1)
IP der Zentrale: 192.168.0.11
IP des linux Servers: 192.168.0.10
(alle weiteren Beschreibungen und Konfig-Auszuege beziehen sich auf diese IP Adressen. Natuerlich koennen auch andere verwendet werden!)
dhcpd ist eingerichtet fuer 192.168.0.0/24
Datei: /etc/dhcp3/dhcpd.conf
Code: Alles auswählen
host homematic {
hardware ethernet 00:1a:22:xx:xx:xx;
fixed-address 192.168.0.11;
filename "linux-2.6.uImage";
server-name "192.168.0.10";
next-server 192.168.0.10;
}
Datei: /etc/inetd.conf
Code: Alles auswählen
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp
Aktuelle Firmware (z.B hm-ccu-firmware-1.300.img) entpacken. Entweder mit winrar oder in .tar.gz umbenennen.
Das dort enthaltene boot_cramfs mounten:
Code: Alles auswählen
mkdir /tmp/cramfs
mount -t cramfs -o loop boot_cramfs /tmp/cramfs
Code: Alles auswählen
cp /tmp/cramfs/uImage /srv/tftp/linux-2.6.uImage
chmod +r /srv/tftp/linux-2.6.uImage
Code: Alles auswählen
mkdir /nfsroot_hss
tar -xzf /tmp/root_fs.tar.gz -C /nfsroot_hss
Code: Alles auswählen
/nfsroot_hss 192.168.0.11(rw,sync,no_root_squash)
Code: Alles auswählen
/etc/init.d/nfs-kernel-server restart
/etc/init.d/inetd restart
/etc/init.d/dhcp3-server restart
Nun zum booten selber, resettet die box (ueber den kleinen reset knopf und haltet dann SOFORT alle 3 fronttasten fuer ca. 5 sekunden gedrueckt. Nun sollte die box erst einen bootp/dhcp request, dann einen TFTP request und zuletzt eine NFS Verbindung in den logs (z.b. /var/log/daemon.log) sehen:
Code: Alles auswählen
Oct 27 11:56:06 smallblue dhcpd: DHCPDISCOVER from 00:1a:22:xx:xx:xx via eth0
Oct 27 11:56:06 smallblue dhcpd: DHCPOFFER on 192.168.0.11 to 00:1a:22:xx:xx:xx via eth0
Oct 27 11:56:06 smallblue dhcpd: DHCPREQUEST for 192.168.0.11 (192.168.0.10) from 00:1a:22:xx:xx:xx via eth0
Oct 27 11:56:06 smallblue dhcpd: DHCPACK on 192.168.0.11 to 00:1a:22:xx:xx:xx via eth0
Oct 27 11:56:06 smallblue in.tftpd[9761]: connect from 192.168.0.11 (192.168.0.11)
Oct 27 11:56:06 smallblue tftpd[9762]: tftpd: trying to get file: linux-2.6.uImage
Oct 27 11:56:06 smallblue tftpd[9762]: tftpd: serving file from /srv/tftp
Oct 27 11:56:15 smallblue mountd[24991]: authenticated mount request from 192.168.0.11:710 for /nfsroot_hss (/nfsroot_hss)
Um so eine neue Software aufzuspielen solltet ihr (sofern nicht schon vorhanden) telnet ins nfsroot installieren um euch auf der box anmelden zu koennen. Ein Beispiel wie das flashen funktioniert koennt ihr euch im update_script (aus http://www.homematic.com/firmware/hm-cc ... 300.tar.gz ) anschauen.
Ich hoffe das die Beschreibung irgendwem einmal hilft, mir hat es auf jeden Fall schon das Einschicken an den Hersteller erspart
Gruss
dirch
Neun von zehn Stimmen in meinen Kopf sagen ich bin nicht verrückt. Die andere summt die Melodie von Tetris . ...
Re: Firmware neu flashen?
Hallo Dirch,
hast Du vielleicht inzwischen auch eine Anleitung für Laien?!
LG
Ralph
hast Du vielleicht inzwischen auch eine Anleitung für Laien?!
LG
Ralph
--------------------------------------------
viele Kanäle in 143 Geräten
viele Kanäle in 143 Geräten
- anli
- Beiträge: 4326
- Registriert: 10.06.2009, 14:01
- Wohnort: 20 Min. nördlich von Hannover und bei Bremen
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 23 Mal
- Kontaktdaten:
Re: Firmware neu flashen?
Hey Ralph,
habe auch gerade an Dich gedacht an welcher Stelle kommst Du denn nicht weiter?
habe auch gerade an Dich gedacht an welcher Stelle kommst Du denn nicht weiter?
Herzliche Grüße, anli
Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.
Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)
Einsteiger-Hilfe • erweiterter Skript-Parser
Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.
Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)
Einsteiger-Hilfe • erweiterter Skript-Parser
-
- Beiträge: 776
- Registriert: 31.10.2007, 13:32
- Hat sich bedankt: 6 Mal
- Danksagung erhalten: 6 Mal
Re: Firmware neu flashen?
Hi,
das die CCU mittels TFPD neu geflasht werden kann ist schon eine prima Sache, somit macht das "spielen" auch mehr Spaß, wenn man weiß, das man bei Problemen noch einen Ausweg hat, der nicht ELV heißt....
Hoffe, wir können die Schritte etwas vereinfachen und das Drich diese etwas genauer beschreibt. Booten über TFPD ist die eine Sache - wie bekommt man wieder die CCU in den Auslieferungszustand, so daß die Werbseinstellungen wieder da sind. Soe wie ich die obige Doku verstehe, bootet diese komplett über Netz - wie kann man dann wieder die Firmware flashen - über das Webfrontend, wie sonst auch?
Vielleicht hilft auch dieser kostenlose Windows TFTPD Server http://tftpd32.jounin.net/tftpd32.html
Erik
das die CCU mittels TFPD neu geflasht werden kann ist schon eine prima Sache, somit macht das "spielen" auch mehr Spaß, wenn man weiß, das man bei Problemen noch einen Ausweg hat, der nicht ELV heißt....
Hoffe, wir können die Schritte etwas vereinfachen und das Drich diese etwas genauer beschreibt. Booten über TFPD ist die eine Sache - wie bekommt man wieder die CCU in den Auslieferungszustand, so daß die Werbseinstellungen wieder da sind. Soe wie ich die obige Doku verstehe, bootet diese komplett über Netz - wie kann man dann wieder die Firmware flashen - über das Webfrontend, wie sonst auch?
Vielleicht hilft auch dieser kostenlose Windows TFTPD Server http://tftpd32.jounin.net/tftpd32.html
Erik
-
- Beiträge: 579
- Registriert: 24.10.2008, 03:26
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 2 Mal
Re: Firmware neu flashen?
Hallo Eric,
tftp ist hier nur die halbe Miete, dadrueber wird nur der Kernel geladen. Zusaetzlich braucht man noch DHCP/BOOTP um der CCU erst mal eine IP zu verpassen und ihr mitzuteilen von wo sie den Kernel per TFTP laden soll. Und man braucht zwingend noch NFS weil von dort das das Filesystem gemountet wird. Und der NFS Server sollte unter Linux laufen da Windows keine symlinks unterstuetzt und damit nicht tauglich ist. Ich fuerchte viel einfacher laesst sich die Einrichtung auch nicht beschreiben - ok, man koennte noch dazu schreiben wie man unter Linux einen Editor startet u.s.w., aber das verleitet dann auch wieder dazu dass Leute ohne ausreichende Ahnung das ausprobieren. Und da man theoretisch so auch seinen Bootloader irreparabel beschaedigen koennte halte ich das fuer keine so gute Idee. Falls jemand wirklich mal vor dem Problem steht die Software ueber diesen Weg neu aufspielen zu muessen helfe ich natuerlich gerne.
Zu Deiner Frage wie man die Software neu flashen kann, entweder normal ueber das Webinterface oder per Skript auf der Kommando Zeile. Um die CCU wirklich in den Auslieferungszustand zurueck zu versetzen sind noch ein paar zusaetzliche Schritte noetig, es muessen noch ein paar config files geloescht und ein Skript ausgefuehrt werden. Falls da wirklich mal Bedarf bestehen sollte helf ich dabei auch gerne.
Generell ist es eine super Sache die CCU uebers Netz zu booten, so kann man recht einfach verschiedene Software Versionen testen und hat Schreibzugriff auf alle Verzeichnisse. Und man hat keine Groessenlimitierungen
Ach ja, die CCU nimmt (sofern man es nicht explizit aendert) auch wenn man sie uebers Netz bootet die gleiche Konfiguration als wenn sie normal aus dem Flash startet. Aenderungen gehen also nicht verloren, hilft allerdings nicht wenn die Konfig files defekt sind. Dagegen hilft nur Backups machen!
Gruss,
Dirch
tftp ist hier nur die halbe Miete, dadrueber wird nur der Kernel geladen. Zusaetzlich braucht man noch DHCP/BOOTP um der CCU erst mal eine IP zu verpassen und ihr mitzuteilen von wo sie den Kernel per TFTP laden soll. Und man braucht zwingend noch NFS weil von dort das das Filesystem gemountet wird. Und der NFS Server sollte unter Linux laufen da Windows keine symlinks unterstuetzt und damit nicht tauglich ist. Ich fuerchte viel einfacher laesst sich die Einrichtung auch nicht beschreiben - ok, man koennte noch dazu schreiben wie man unter Linux einen Editor startet u.s.w., aber das verleitet dann auch wieder dazu dass Leute ohne ausreichende Ahnung das ausprobieren. Und da man theoretisch so auch seinen Bootloader irreparabel beschaedigen koennte halte ich das fuer keine so gute Idee. Falls jemand wirklich mal vor dem Problem steht die Software ueber diesen Weg neu aufspielen zu muessen helfe ich natuerlich gerne.
Zu Deiner Frage wie man die Software neu flashen kann, entweder normal ueber das Webinterface oder per Skript auf der Kommando Zeile. Um die CCU wirklich in den Auslieferungszustand zurueck zu versetzen sind noch ein paar zusaetzliche Schritte noetig, es muessen noch ein paar config files geloescht und ein Skript ausgefuehrt werden. Falls da wirklich mal Bedarf bestehen sollte helf ich dabei auch gerne.
Generell ist es eine super Sache die CCU uebers Netz zu booten, so kann man recht einfach verschiedene Software Versionen testen und hat Schreibzugriff auf alle Verzeichnisse. Und man hat keine Groessenlimitierungen
Ach ja, die CCU nimmt (sofern man es nicht explizit aendert) auch wenn man sie uebers Netz bootet die gleiche Konfiguration als wenn sie normal aus dem Flash startet. Aenderungen gehen also nicht verloren, hilft allerdings nicht wenn die Konfig files defekt sind. Dagegen hilft nur Backups machen!
Gruss,
Dirch
Neun von zehn Stimmen in meinen Kopf sagen ich bin nicht verrückt. Die andere summt die Melodie von Tetris . ...