Jump to content

Makda Mujji

Members
  • Posts

    4
  • Joined

  • Last visited

Community Answers

  1. Makda Mujji's post in NAS kit w/ NEO LTS: RTC not surviving reboots was marked as the answer   
    Starting from Trixie, some paths have changed. Here is the complete walkthrough for the process:
     
    Install necessary tools (i2c-tools and hwclock are not present by default in Armbian trixie):
    sudo apt install i2c-tools util-linux-extra Edit armbianEnv.txt:
    sudo nano /boot/armbianEnv.txt Append i2c0 to the line that says overlays=...:
    overlays=... i2c0 ("..." denotes some overlays already written, do not delete them).
    Reboot (compulsory to load i2c module):
    sudo reboot now Inquire availability of module rtc-ds1307 in the kernel (present in trixie):
    sudo modinfo rtc-ds1307 If it returns some description, the module is present. If not, then install its driver from GitHub.
    Open modules file:
    sudo nano /etc/modules Add line rtc-ds1307 in it. Save and close.
    Run the following command:
    sudo i2cdetect -y 0 It should return 68 in the grid:
    0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- Then add module to start up:
    sudo modprobe rtc-ds1307 sudo echo ds1307 0x68 > /sys/class/i2c-dev/i2c-0/device/new_device The DS1307 should now be available at /dev/rtc1, which you can check:
    sudo ls /dev/ | grep rtc Initialize rtc1 (once)
    sudo hwclock --rtc /dev/rtc1 --systohc Create a new file rtc_ds1307.sh:
    sudo nano /usr/local/bin/rtc_ds1307.sh Add following lines in it:
    #!/bin/bash echo "Creating entry for rtc_1307 service" | systemd-cat -p info sudo echo ds1307 0x68 > /sys/class/i2c-dev/i2c-0/device/new_device echo "Done" | systemd-cat -p info echo "Symlinking /dev/rtc1 to /dev/rtc" | systemd-cat -p info sudo ln -f -s /dev/rtc1 /dev/rtc echo "Done" echo "Syncing RTC time to system time" | systemd-cat -p info sudo hwclock --hctosys --noadjfile --utc -f /dev/rtc1 echo "Done" Save and exit. Make this file executable:
    sudo chmod +x /usr/local/bin/rtc_ds1307.sh Create a systemd service to run this script at startup:
    sudo nano /etc/systemd/system/rtc_ds1307.service Add following lines in it:
    [Unit] Description=Synchronize system clock to RTC Requires=systemd-modules-load.service After=systemd-modules-load.service ConditionPathExists=/sys/class/i2c-dev [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/local/bin/rtc_ds1307.sh [Install] WantedBy=multi-user.target Save and exit. Enable the service:
    sudo chmod 644 /etc/systemd/system/rtc_ds1307.service sudo systemctl enable rtc_ds1307.service Reboot and check system date time by running:
    timedatectl  
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines