Raspberry B+ - kein Firmwareupdate

  • Hallo,

    ich habe u.a. einen Raspberry B+, auf dem auch rpi-update installiert ist. Aktuell ist die Firmware 3.12.34+ installiert und es erfolgt kein Update auf die 3.12.36.

    Folgende Befehle werden gegeben:
    sudo apt-get update (wird auch ausgeführt)
    sudo rpi-update (wird auch ausgeführt)

    es kommt die Meldung, das die installierte 3.12.34 dieaktuelle Firmware ist, obwohl es schon die 3.12.36 gibt.
    ---------------------------------------
    root@raspberrypi:~# sudo rpi-update
    *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
    *** Performing self-update
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    100 7811 100 7811 0 0 33519 0 --:--:-- --:--:-- --:--:-- 44129
    *** Relaunching after update
    *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
    *** Your firmware is already up to date
    root@raspberrypi:~# uname -a
    Linux raspberrypi 3.12.34+ #1 PREEMPT Mon Dec 8 00:05:41 CET 2014 armv6l GNU/Linux
    root@raspberrypi:~#

    -----------------------------------------

    Hinweis: bei apt-get upgrade kommt auch der Hinweis, das diverse Pakete u.a. der Bootlader nicht erneuert werden. Ich habe schon:

    mit
    apt-get dist-upgrade
    sudo dpkg --configure -a

    versucht, alle Abhängigkeiten zu erneuern
    ---------------------------------------------------------
    root@raspberrypi:~# sudo apt-get upgrade
    Paketlisten werden gelesen... Fertig
    Abhängigkeitsbaum wird aufgebaut.
    Statusinformationen werden eingelesen.... Fertig
    Die folgenden Pakete sind zurückgehalten worden:
    libraspberrypi-bin libraspberrypi-dev libraspberrypi-doc libraspberrypi0
    raspberrypi-bootloader
    0 aktualisiert, 0 neu installiert, 0 zu entfernen und 5 nicht aktualisiert.

    -----------------------------------------------------------

    Auf meinem anderem Raspberry B erfolgt der Firmwareupdate problemlos.

    Gibt es eventuell eine Abhilfe, wie ich meinen B+ auf die neueste Firware 3.12.36 upgraden kann?

    Grüße
    Andreas

  • Damit ein neuer Kernel / Firmware aktiv ist musst du erst rebooten

    apt-get hat keinen Einfluss auf rpi-update

    Ob A, A+, B oder B+ ist egal, alle nutzen das identische rpi-update Script sowie Quelle auf github von wo die Dateien geladen werden

  • Hallo,

    hatte ich leider vergessen zu schreiben, einen Reboot führe ich natürlich immer durch.

    Die Sache denke ich ist vielmehr, dass rpi-update die Version 3.12.34 als neueste Version ansieht und damit die aktuelle Version gar nicht lädt. Kann dies sein, was könnte dafür eine Ursache sein?
    ----------------------------
    Dload Upload Total Spent Left Speed
    100 7811 100 7811 0 0 33519 0 --:--:-- --:--:-- --:--:-- 44129
    *** Relaunching after update
    *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
    *** Your firmware is already up to date
    root@raspberrypi:~# uname -a
    Linux raspberrypi 3.12.34+ #1 PREEMPT Mon Dec 8 00:05:41 CET 2014 armv6l GNU/Linux

    --------------------------------
    Ich habe rpi-update schon neu darüber installiert, brachte aber nichts.

    Gibt es vielleicht noch andere Ursachen?

    Grüße
    Andreas

    Einmal editiert, zuletzt von Andi_pda (18. Januar 2015 um 11:54)

  • Hast du es vielleicht abgebrochen oder wurde es abgebrochen? Vielleicht nicht genug Platz frei?

    rpi-update vergleicht die commits bzw den hash und hinterlegt diesen in /boot/.firmware_revision

    Im Script passiert dazu folgendes:

    Code
    # ask github for latest version hash
    REPO_API=${REPO_URI/github.com/api.github.com\/repos}/git/refs/heads/${BRANCH}
    GITREV=$(curl -s ${REPO_API} | awk '{ if ($1 == "\"sha\":") { print substr($2, 2, 40) } }')
    FW_REV=${FW_REV:-${GITREV}}


    REPO_URI ist: https://github.com/Hexxeh/rpi-firmware
    BRANCH ist: master

    Also auf gut deutsch macht er:

    Code
    curl -s https://api.github.com/repos/Hexxeh/rpi-firmware/git/refs/heads/master | awk '{ if ($1 == "\"sha\":") { print substr($2, 2, 40) } }'


    Und das gibt bei mir das aus:

    Code
    6413da9f74871b239c5bd27d7edf90a8afeab363

    Du kannst beim ausführen von rpi-update den hash übergeben welches er dann installieren soll. Dazu gehst du auf https://github.com/Hexxeh/rpi-firmware/commits/master und klickst rechts auf dieses Zahlenfeld, wo zZt zB 6413da9 steht, das ist aber nicht der vollständige hash, also wie gesagt drauf klicken und dann steht in der Brower-Adressleiste (oder auch rechts neben commit) der hash: 6413da9f74871b239c5bd27d7edf90a8afeab363

    Code
    sudo rpi-update 6413da9f74871b239c5bd27d7edf90a8afeab363
  • Hallo,

    er scheint den Vorgang wirklich abzubrechen.

    ----------------------
    root@raspberrypi:~# sudo rpi-update 6413da9f74871b239c5bd27d7edf90a8afeab363
    *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
    *** Performing self-update
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    100 7811 100 7811 0 0 32099 0 --:--:-- --:--:-- --:--:-- 41994
    *** Relaunching after update
    *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
    *** Downloading specific firmware revision (this will take a few minutes)
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    100 167 0 167 0 0 269 0 --:--:-- --:--:-- --:--:-- 363
    100 9 100 9 0 0 7 0 0:00:01 0:00:01 --:--:-- 62

    gzip: stdin: not in gzip format
    tar: Child returned status 1
    tar: Error is not recoverable: exiting now

    -------------------------

    Ich suche mal im Internet, was dafür eine Ursache sein könnte.

    Viele Grüße
    Andreas

  • Die Ausgabe zeigt folgendes:

    Code
    root@raspberrypi:~# df -h
    Dateisystem    Größe Benutzt Verf. Verw% Eingehängt auf
    rootfs           15G    3,0G   11G   22% /
    /dev/root        15G    3,0G   11G   22% /
    devtmpfs        183M       0  183M    0% /dev
    tmpfs            38M    224K   38M    1% /run
    tmpfs           5,0M       0  5,0M    0% /run/lock
    tmpfs            75M       0   75M    0% /run/shm
    /dev/mmcblk0p1   56M    9,9M   47M   18% /boot

    Die Fehlermeldung:

    Code
    gzip: stdin: not in gzip format
    tar: Child returned status 1
    tar: Error is not recoverable: exiting now

    scheint öfters auch in anderen Zusammenhängen vorzukommen.

    Ein grundsätzliches Speicherplatzproblem sollte also nicht vorliegen, es ist eine 8GB Karte. Unterrpi-monitor kann man die Speicherplatzauslegung auch immer gut sehen.

    Grüße
    Andreas

    Ich weiß nicht, ob es in diesen Zusammenhang wichtig ist, aber die Erstinstallation erfolgte mit einem Image von Watterott, da ein 3,5" Display mit verbaut ist.

    Einmal editiert, zuletzt von Andi_pda (18. Januar 2015 um 13:15)

  • Naja ich meinte eigentlich, auch die Ausgabe vom rpi-update in CODE zu posten, nicht nur die Fehlermeldung in der es kaum "tabs" gibt...

    Wie Groß die SD insg. is, ist nicht so entscheidend - die /boot/ Partition könnte voll sein, oder es könnte auch ein beschädigtes Dateisystem vorliegen und er kann deshalb nicht alles herunter laden. Deshalb ist das zu kontrollieren schon mal nicht so verkehrt. Wegen letzteres führ mal aus: sudo touch /forcefsck und reboote, dann überprüft der einmalig und automatisch das Dateisystem.

    Da du sagst es sei eine 8GB Karte, ist es etwas komisch wieso diese als 16GB Karte angezeigt wird :-/ (16GB abzüglich Formatierung und 5% Reserve = 15GB).
    Wenn es wirklich eine 8GB Karte ist, dann wäre die fehlerhafte Ausgabe von " df -h " ein Zeichen dafür dass das Dateisystem beschädigt ist.


    rpi-update läd halt ein Archive herunter, in deinem Fall: https://github.com/Hexxeh/rpi-fir…edf90a8afeab363
    Diese Hexxeh-rpi-firmware-6413da9.tar.gz Datei ist ~24MB groß und wird nach /root/.rpi-firmware/ entpackt

    Du kannst das ja mal manuell probieren:


    PS: Das hier ist jetzt nur für diesen commit gültig! Sollte irgendwer irgendwann diesen Post lesen und das Blind nach machen aber dann Probleme auftreten, hat er Pech!

  • So, ich habe es geschafft, das Watterott Display geht zwar im Moment nicht mehr, aber dies kann ich nachinstallieren.

    Für eventuelle Nachahmer:

    Die Syntax des TAR Befehles funktionierte bei mir nicht, ich habe dies umgangen und auf Windows die neue Firmware geladen, entpackt und per ssh auf root/.rpi-firmware kopiert.
    Dies hat ab dann alles funktioniert.

    meigrafd
    Vielen Dank für Deine Unterstützung.

    Grüße
    ANDREAS

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!