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:)

  • Mit dem Befehl

    Code
    sudo i2cdetect -y 1


    Bekomme ich das Ergebnis:


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

    Mein Betriebssystem ist das

    Code
    PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
    NAME="Raspbian GNU/Linux"
    VERSION_ID="9"
    VERSION="9 (stretch)"
    ID=raspbian
    ID_LIKE=debian
    HOME_URL="http://www.raspbian.org/"
    SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
    BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

    .....

    Gruß pro2311:)

  • Gut, die Uhr wird auf x68 erkannt.

    Mit

    Code
    sudo nano /boot/config.txt

    die config.txt öffnen und ans Ende

    Code
    dtoverlay=i2c-rtc,ds1307

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

    Code
    sudo nano /etc/modules

    auch die Datei öffnen und

    Code
    rtc-ds1307

    reinschreiben und speichern

    Dann die udev Regel bearbeiten

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

    Neustarten

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

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

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

    Code
    sudo hwclock -w

    Auslesen der Zeit aus der Uhr mit

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


    Code
    sudo hwclock -w

    bekommen und zwar kommt diese Fehlermeldung:


    Code
    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 & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Hallo,

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



    Wenn ich mit

    sudo i2cdetect -y 1

    bekomme ich folgendes Ergebnis

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

    Somit könnte ich ja meinen dass ich mit

    Code
    sudo hwclock -r


    ein Ergebnis bekomme aber hier kommt


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

    wenn ich dann

    Code
    sudo hwclock --debug

    eingebe bekomme ich diese Info


    Code
    hwclock from util-linux 2.29.2
    hwclock: cannot open /dev/rtc: Datei oder Verzeichnis nicht gefunden
    No usable clock interface found.
    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
    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
    dtoverlay=i2c-rtc,ds1307=on

    geht leider nichts mehr...

    :conf::conf::@

    Gruß pro2311:)


  • Das habe ich auch probiert:

    Code
    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
    i2cdetect -y 1

    eingebe bekomme ich diese Anzeige:


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

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


    Danke

    :danke_ATDE:

    Gruß pro2311:)

  • Beim Abfragen

    Code
    sudo hwclock --debug

    bekomme ich diese Info


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

    und beim

    Code
    sudo hwclock -r

    sieht es so aus:


    Code
    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:)

  • Servus!

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

    Code
    sudo hwclock -r

    keine Ausgabe sondern den Fehler:


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

    ??

    Gruß pro2311:)