Code: Select all
pi@pi-top:~ $ i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- 0b -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
70: -- -- -- 73 -- -- -- --
pi@pi-top:~ $ ls -la /sys/bus/i2c/devices/1-0068/*
lrwxrwxrwx 1 root root 0 Mar 27 15:32 /sys/bus/i2c/devices/1-0068/driver -> ../../../../../../bus/i2c/drivers/rtc-ds1307
-r--r--r-- 1 root root 4096 Mar 27 15:32 /sys/bus/i2c/devices/1-0068/modalias
-r--r--r-- 1 root root 4096 Mar 27 15:32 /sys/bus/i2c/devices/1-0068/name
lrwxrwxrwx 1 root root 0 Mar 27 15:32 /sys/bus/i2c/devices/1-0068/of_node -> ../../../../../../firmware/devicetree/base/soc/i2c@7e804000/ds3231@68
lrwxrwxrwx 1 root root 0 Mar 27 14:09 /sys/bus/i2c/devices/1-0068/subsystem -> ../../../../../../bus/i2c
-rw-r--r-- 1 root root 4096 Mar 27 14:09 /sys/bus/i2c/devices/1-0068/uevent
/sys/bus/i2c/devices/1-0068/power:
total 0
drwxr-xr-x 2 root root 0 Mar 27 15:32 .
drwxr-xr-x 4 root root 0 Mar 27 14:09 ..
-rw-r--r-- 1 root root 4096 Mar 27 15:32 autosuspend_delay_ms
-rw-r--r-- 1 root root 4096 Mar 27 15:32 control
-r--r--r-- 1 root root 4096 Mar 27 15:32 runtime_active_time
-r--r--r-- 1 root root 4096 Mar 27 15:32 runtime_status
-r--r--r-- 1 root root 4096 Mar 27 15:32 runtime_suspended_time
/sys/bus/i2c/devices/1-0068/rtc:
total 0
drwxr-xr-x 3 root root 0 Mar 27 15:32 .
drwxr-xr-x 4 root root 0 Mar 27 15:32 ..
drwxr-xr-x 3 root root 0 Mar 27 14:09 rtc0
Code: Select all
# turn real time clock on
dtoverlay=i2c-rtc,ds3231
gpu_mem_256=128
gpu_mem_512=256
gpu_mem_1024=256
overscan_scale=1
dtparam=i2c1=on
dtparam=i2c1_baudrate=50000
rpi-update to 4.9.17 is probably safer for a general user in this case, building kernels isn't for the faint hearted. I know we don't usually recommend rpi-update but this is one case where jumping from 4.4.50 to 4.9.17 may solve the OP's problems.gregeric wrote:Or, cherry pick the newer rtc-ds1307.c source and build & replace rtc-ds1307.ko. That's what i did. Let me know if you need a quick run down on that.
Code: Select all
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install -y raspberrypi-kernel-headers
sudo rebootCode: Select all
mkdir ds1307
cd ds1307
wget https://raw.githubusercontent.com/raspberrypi/linux/rpi-4.9.y/drivers/rtc/rtc-ds1307.c
nano MakefileCode: Select all
obj-m := rtc-ds1307.o
ccflags-y += -DCONFIG_RTC_DRV_DS1307_HWMON
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
install:
sudo cp rtc-ds1307.ko /lib/modules/$(shell uname -r)/kernel/drivers/rtc/
sudo depmod -a
Code: Select all
sudo cp /lib/modules/$(uname -r)/kernel/drivers/rtc/rtc-ds1307.ko /lib/modules/$(uname -r)/kernel/drivers/rtc/rtc-ds1307.ko.bak
make clean all install
sudo rebootCode: Select all
sudo apt-get install -y lm-sensors
sensorsCode: Select all
ds3231-i2c-1-68
Adapter: 20804000.i2c
temp1: +20.8°C