RTC unter Raspbian Jessie
Posted: 11 Feb 2017, 10:05
Guten Morgen
Ich habe mir das RevPI-Original-Wheezy-Image mal angesehen und die HW-RTC "gefunden".
i2cdetect -y 1
0x51 (UU), das ist die RTC. (Zwischenfrage: was ist das auf Adresse 0x60?).
Dazu lsmod
Darin sind mindestens die Einträge i2c_bcm2708, i2c_dev und rtc_pcf2127 relevant. Letzteres ist der Treiber für die eigentliche RTC.
In /etc/modules steht
Und schließlich noch zwei Zeilen in der /boot/config.txt
Also eigentlich alles wie erwartet und wie man z.B. hier https://afterthoughtsoftware.com/products/rasclock schön nachlesen kann.
Da ich für mein Projekt keine zusätzlichen Module brauche und auch keinen Desktop oder Prozessabbild, Pictory etc., habe ich den RevPI mit dem ua-netinst Jessie image installiert. Soweit alles wunderbar.
Jetzt dachte ich, geh ich nach der oben verlinkten Anleitung vor und schon geht die RTC auch bei mir unter Jessie. War wohl zu einfach
i2cdetect findet die Uhr ebenfalls auf 0x51 (nur das Gerät auf 0x60 ist weg).
Der RTC Treiber ist wohl auch schon damit verknüpft (siehe UU). lsmod ist bei mir identisch und /etc/modules ebenfalls.
Auch in der /boot/config.txt habe ich dieselben Einträge drin, wobei es da zwei Varianten gibt, die ich beide versucht habe (dtparam=i2c=on oder dtparam=i2c_arm=on).
fake-hwclock habe ich mit apt-get purge entfernt.
hwclock liefert "hwclock: ioctl(RTC_RD_TIME) to /dev/rtc to read the time failed: Input/output error", was mich nicht wundert, denn ein /dev/rtc gibt es nicht, dafür aber ein /dev/@rtc und ein /dev/rtc0.
Auszug aus dmesg:
Die letzten Zeilen wiederholen sich nun ständig.
Ich glaube die entscheidende Zeile ist "rtc core: registered rtc-pcf2127 as rtc0" und natürlich die sich wiederholenden Zeilen
pcf2127_set_datetime: err=-5
pcf2127_get_datetime: read error
Irgendwo hakt es, ich weiß aber nicht wo. Ist da fake-hwclock noch nicht vollständig entfernt und beißt sich (wie überprüfe ich das, Pakete sind weg)? Fehlt noch irgend etwas?
Da habe ich gestern einige Stunden rumgespielt und nichts hat geholfen.
Wäre Euch dankbar, wenn Ihr mir da helfen könntet. Nicht, dass die RTC so wahnsinnig wichtig wäre, aber ich dachte, das geht ganz einfach und das wurmt mich
Gruß, Martin
Ich habe mir das RevPI-Original-Wheezy-Image mal angesehen und die HW-RTC "gefunden".
i2cdetect -y 1
Code: Select all
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- UU -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Dazu lsmod
Code: Select all
Module Size Used by
piControl 135702 2
cfg80211 501166 0
rfkill 21040 1 cfg80211
i2c_dev 6604 0
snd_bcm2835 22497 0
snd_pcm 92671 1 snd_bcm2835
snd_seq 56247 0
snd_seq_device 5122 1 snd_seq
snd_timer 21540 2 snd_pcm,snd_seq
snd 67532 5 snd_bcm2835,snd_timer,snd_pcm,snd_seq,snd_seq_device
rtc_pcf2127 3248 0
evdev 10946 2
spi_bcm2835 8072 0
i2c_bcm2708 6004 0
bcm2835_gpiomem 3695 0
bcm2835_rng 2207 0
uio_pdrv_genirq 3622 0
uio 10090 1 uio_pdrv_genirq
In /etc/modules steht
Code: Select all
snd-bcm2835
i2c-bcm2708
i2c-dev
Code: Select all
dtparam=i2c=on
dtoverlay=i2c-rtc,pcf2127
Da ich für mein Projekt keine zusätzlichen Module brauche und auch keinen Desktop oder Prozessabbild, Pictory etc., habe ich den RevPI mit dem ua-netinst Jessie image installiert. Soweit alles wunderbar.
Jetzt dachte ich, geh ich nach der oben verlinkten Anleitung vor und schon geht die RTC auch bei mir unter Jessie. War wohl zu einfach
i2cdetect findet die Uhr ebenfalls auf 0x51 (nur das Gerät auf 0x60 ist weg).
Code: Select all
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- UU -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Auch in der /boot/config.txt habe ich dieselben Einträge drin, wobei es da zwei Varianten gibt, die ich beide versucht habe (dtparam=i2c=on oder dtparam=i2c_arm=on).
fake-hwclock habe ich mit apt-get purge entfernt.
hwclock liefert "hwclock: ioctl(RTC_RD_TIME) to /dev/rtc to read the time failed: Input/output error", was mich nicht wundert, denn ein /dev/rtc gibt es nicht, dafür aber ein /dev/@rtc und ein /dev/rtc0.
Auszug aus dmesg:
Code: Select all
[ 15.148293] bcm2708_i2c 20804000.i2c: BSC1 Controller at 0x20804000 (irq 77) (baudrate 100000)
[ 16.599539] rtc-pcf2127 1-0051: pcf2127_get_datetime: read error
[ 16.650540] rtc-pcf2127 1-0051: rtc core: registered rtc-pcf2127 as rtc0
[ 16.796465] rtc-pcf2127 1-0051: pcf2127_get_datetime: read error
[ 16.818665] rtc-pcf2127 1-0051: pcf2127_get_datetime: read error
[ 16.828459] systemd-journald[172]: Received request to flush runtime journal from PID 1
[ 17.661836] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
[ 17.671722] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 19.490069] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xC1E1
[ 19.503607] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 28.740195] rtc-pcf2127 1-0051: pcf2127_set_datetime: err=-5
[ 28.798920] rtc-pcf2127 1-0051: pcf2127_get_datetime: read error
[ 29.738604] rtc-pcf2127 1-0051: pcf2127_set_datetime: err=-5
[ 29.744636] rtc-pcf2127 1-0051: pcf2127_get_datetime: read error
[ 29.755205] rtc-pcf2127 1-0051: pcf2127_set_datetime: err=-5
[ 29.763691] rtc-pcf2127 1-0051: pcf2127_get_datetime: read error
[ 30.748628] rtc-pcf2127 1-0051: pcf2127_set_datetime: err=-5
[ 30.754653] rtc-pcf2127 1-0051: pcf2127_get_datetime: read error
Ich glaube die entscheidende Zeile ist "rtc core: registered rtc-pcf2127 as rtc0" und natürlich die sich wiederholenden Zeilen
pcf2127_set_datetime: err=-5
pcf2127_get_datetime: read error
Irgendwo hakt es, ich weiß aber nicht wo. Ist da fake-hwclock noch nicht vollständig entfernt und beißt sich (wie überprüfe ich das, Pakete sind weg)? Fehlt noch irgend etwas?
Da habe ich gestern einige Stunden rumgespielt und nichts hat geholfen.
Wäre Euch dankbar, wenn Ihr mir da helfen könntet. Nicht, dass die RTC so wahnsinnig wichtig wäre, aber ich dachte, das geht ganz einfach und das wurmt mich
Gruß, Martin