RTC DS1307 Zeit-Modul

  • Hallo zusammen,

    ich habe ein Problem mit dem RTC DS1307 Modul. Ich habe es eingebunden und habe mich mit der Seite beschäftigt und alles so getan wie es dort steht. Wenn ich aber den Bebehl "hwclock -r" eingebe bekomme ich ein Zugriffsfehler.

    Was kann ich tun?


    Gruß

    :danke_ATDE:

    Gruß pro2311(:

  • Sinnlos veraltete Anleitung.

    Welches Betriebssystem benutzt du in welcher Version?

    Wird die Uhr über

    Code
    1. sudo i2cdetect -y 1

    gefunden? Wenn nicht, ist die Uhr im device tree aktiviert (in der config.txt)?

  • Mit dem Befehl

    Code
    1. sudo i2cdetect -y 1


    Bekomme ich das Ergebnis:


    Code
    1. 0 1 2 3 4 5 6 7 8 9 a b c d e f
    2. 00: -- -- -- -- -- -- 09 -- -- -- -- -- --
    3. 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    4. 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    5. 30: -- -- -- -- -- -- -- -- 38 -- -- -- -- -- -- --
    6. 40: -- -- -- -- -- 45 -- -- -- -- -- -- -- -- -- --
    7. 50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    8. 60: -- -- -- -- -- -- -- -- 68 -- -- -- -- 6d -- --
    9. 70: -- -- -- -- -- -- -- --

    Mein Betriebssystem ist das

    Code
    1. PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
    2. NAME="Raspbian GNU/Linux"
    3. VERSION_ID="9"
    4. VERSION="9 (stretch)"
    5. ID=raspbian
    6. ID_LIKE=debian
    7. HOME_URL="http://www.raspbian.org/"
    8. SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
    9. BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

    .....

    Gruß pro2311(:

  • Gut, die Uhr wird auf x68 erkannt.

    Mit

    Code
    1. sudo nano /boot/config.txt

    die config.txt öffnen und ans Ende

    Code
    1. dtoverlay=i2c-rtc,ds1307

    schreiben, speichern und neu starten. Ich weiß gar nicht, obs erforderlich ist, aber sicher ist sicher mit

    Code
    1. sudo nano /etc/modules

    auch die Datei öffnen und

    Code
    1. rtc-ds1307

    reinschreiben und speichern

    Dann die udev Regel bearbeiten

    Code
    1. sudo nano /lib/udev/hwclock-set
    Code
    1. #if [ -e /run/systemd/system ] ; then
    2. #exit 0
    3. #fi

    Neustarten

    Die Zeit synchronisiert sich entweder mit dem Internet oder du stellst sie mit

    Code
    1. sudo date -s "5 MAR 2019 13:00:00"

    ein, dann speicherst du die Zeit für die Hardwareuhr mit

    Code
    1. sudo hwclock -w

    Auslesen der Zeit aus der Uhr mit

    Code
    1. sudo hwclock -r
  • Danke für die Info habe ich alles eingestellt. Problem habe ich bei


    Code
    1. sudo hwclock -w

    bekommen und zwar kommt diese Fehlermeldung:


    Code
    1. hwclock: ioctl(RTC_RD_TIME) to /dev/rtc to read the time failed: Das Argument ist ungültig

    :conf:

    Gruß pro2311(:

  • Ist das Teil mit 5V angeschlossen? Wenn ja müssen die Pullups von der Platine oder ein Pegelwandler dazwischen. Ich kann das jetzt nicht so genau erkennen. Sonst schicke mal einen Link direkt auf den Anbieter, damit ich da mal nachlesen kann. Inzwischen gibt es tatsächlich Module, die auch für 3,3V geeignet sind. Das ist dann aber oft vermerkt. Der Hinweis "for arduino and raspberry pi" sollte stutzig machen.


    Edit: Es kann manchmal ja ganz dumm kommen! Ist die Batterie voll?

  • lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr

  • Hallo,

    ich habe mal die Seiten durchgearbeitet und habe jetzt folgenden Stand:



    Wenn ich mit

    sudo i2cdetect -y 1

    bekomme ich folgendes Ergebnis

    Code
    1. 0 1 2 3 4 5 6 7 8 9 a b c d e f
    2. 00: -- -- -- -- -- -- -- -- -- -- -- -- --
    3. 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    4. 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    5. 30: -- -- -- -- -- -- -- -- 38 -- -- -- -- -- -- --
    6. 40: -- -- -- -- -- 45 -- -- -- -- -- -- -- -- -- --
    7. 50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    8. 60: -- -- 62 63 64 -- -- -- 68 -- -- -- -- -- -- --
    9. 70: -- -- -- -- -- -- -- --

    Somit könnte ich ja meinen dass ich mit

    Code
    1. sudo hwclock -r


    ein Ergebnis bekomme aber hier kommt


    Code
    1. hwclock: Cannot access the Hardware Clock via any known method.
    2. hwclock: Use the --debug option to see the details of our search for an access method.

    wenn ich dann

    Code
    1. sudo hwclock --debug

    eingebe bekomme ich diese Info


    Code
    1. hwclock from util-linux 2.29.2
    2. hwclock: cannot open /dev/rtc: Datei oder Verzeichnis nicht gefunden
    3. No usable clock interface found.
    4. hwclock: Cannot access the Hardware Clock via any known method.

    wo kann jetzt das Problem herkommen? Die Batterie ist nicht leer!!!


    :danke_ATDE:

    Gruß pro2311(:

  • Im Moment ist es ganz eigenartig. Wenn ich mit dem Befehl

    Code
    1. sudo i2cdetect -y 1

    Abfrage kommt als Ergebnis in dem Speicher ein "VV" zurück.

    Das Verzeichnis /dev/rtc0 gibt es nicht aber selbst als es die Datei gab ging es auch nicht und es kam ein access denied zurück :conf::conf:

    Gruß pro2311(:

  • Hier mal das Ergebnis:

    Gruß pro2311(:

  • Das ist ein U und bedeutet, dass die Adresse von einem anderen Prozess benutzt wird. Eigentlich ein gutes Zeichen. Hast Du die Einstellungen, die du nach der alten Anleitung gemacht hast schon rückgängig gemacht? Könnte sein, dass sich da was behindert.

  • Ich habe eines gemacht in diesem Link:

    Post #61
    habe ich die Einstellungen geändert:


    Das habe ich auch probiert:

    Code
    1. dtoverlay=i2c-rtc,ds1307=on

    geht leider nichts mehr...

    :conf::conf::@

    Gruß pro2311(:


  • Das habe ich auch probiert:

    Code
    1. dtoverlay=i2c-rtc,ds1307=on

    geht leider nichts mehr...

    :conf::conf::@

    So steht das aktuell aber nicht (mehr ?) in /boot/dtoverlays/README


    Und Module solltest Du mit dtoverlay und config.txt laden und nur einmal.

    Ein neuerliches Laden im Bootprozess könnte dasselbe Modul mit einer anderen Speicheradresse nochmal laden, und der Kernel kennt sich dann nicht mehr aus.

    Allerdings darf der Treiber, auch wenn er mit dtoverlay geladen wird, nicht in der "Blacklist" stehen. Dann wird er zwar geladen, aber nicht aktiviert.


    Du solltest aus den alten Anleitungen alles rückgängig machen und laut obigem README vorgehen.



    Servus !

    RTFM = Read The Factory Manual, oder so

  • Hallo zusammen,

    ich habe meine ich alle Eintragungen rückgängig gemacht ?(. Wenn ich den Befehl

    Code
    1. i2cdetect -y 1

    eingebe bekomme ich diese Anzeige:


    Code
    1. 0 1 2 3 4 5 6 7 8 9 a b c d e f
    2. 00: -- -- -- -- -- -- -- -- -- -- -- -- --
    3. 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    4. 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    5. 30: -- -- -- -- -- -- -- -- 38 -- -- -- -- -- -- --
    6. 40: -- -- -- -- -- 45 -- -- 48 49 -- 4b -- -- -- --
    7. 50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    8. 60: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
    9. 70: -- -- -- -- -- -- -- --

    das ist so nicht iO. Was kann / muss ich tun um das Problem zu beseitigen?


    Danke

    :danke_ATDE:

    Gruß pro2311(:

  • Beim Abfragen

    Code
    1. sudo hwclock --debug

    bekomme ich diese Info


    Code
    1. hwclock from util-linux 2.29.2
    2. Using the /dev interface to the clock.
    3. Last drift adjustment done at 1551885238 seconds after 1969
    4. Last calibration done at 1551885238 seconds after 1969
    5. Hardware clock is on UTC time
    6. Assuming hardware clock is kept in UTC time.
    7. Waiting for clock tick...
    8. /dev/rtc does not have interrupt functions. Waiting in loop for time from /dev/rtc to change
    9. hwclock: ioctl(RTC_RD_TIME) to /dev/rtc to read the time failed: Das Argument ist ungültig
    10. ...synchronization failed

    und beim

    Code
    1. sudo hwclock -r

    sieht es so aus:


    Code
    1. hwclock: ioctl(RTC_RD_TIME) to /dev/rtc to read the time failed: Ein-/Ausgabefehler der Gegenstelle (remote)

    die Dateien rtc und rtc0 sind im Verzeichnis /dev/ vorhanden.

    Gruß pro2311(:

  • Was sagt denn < man i2cdetect > zum Output "UU" ?

    Die Adresse 68 ist (vermutlich) Deine RTC.


    Servus !

    RTFM = Read The Factory Manual, oder so

  • Servus!

    ist ja alles soweit iO aber warum bekomme ich beim Abfragen mit

    Code
    1. sudo hwclock -r

    keine Ausgabe sondern den Fehler:


    Code
    1. hwclock: ioctl(RTC_RD_TIME) to /dev/rtc to read the time failed: Ein-/Ausgabefehler der Gegenstelle (remote)

    ??

    Gruß pro2311(: