(noch in Arbeit)
Anschließen des Moduls an GPIO():
VIN to pin 4 (5V)
GND to pin 6 (GND)
RX to pin 8 (TXD0)
TX to pin 10 (RXD0)
PPS to pin 12 (GPIO18)
Serielle Konsole deaktivieren:
Datei /boot/cmdline.txt
# Remove these in cmdline.txt:
# `console=ttyAMA0,115200`
# and `kgdboc=ttyAMA0,115200`.
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
Raspberry Pi 3:
# Remove these in cmdline.txt:
# `console=console=serial0,115200`
# and `kgdboc=ttyAMA0,115200`.
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
In /etc/inittab (sofern vorhanden) die Konsole ttyAMA deaktivieren (auskommentieren)
#Spawn a getty on Raspberry Pi serial line
#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
Modul pps-gpio beim Starten laden:
echo 'pps-gpio' >> /etc/modules
GPIO18 als PPS-Eingang festlegen, serielle Schnittstelle am GPIO aktivieren:
sudo echo 'dtoverlay=pps-gpio,gpiopin=18' >> /boot/config.txt
sudo echo 'enable_uart=1' >> /boot/config.txt
Zugriff auf ttyAMA0/ttyS0 für ntpd erlauben und symbolischen Link für Device gps0 erstellen. Dafür die Datei /etc/udev/rules.d/80-gps-to-ntp.rules erstellen und folgendes eintragen:
Version mit ttyAMA0:
# Change MODE of ttyAMA0 so it is readable by NTP and provide a symlink to
# /dev/gps0
KERNEL=="ttyAMA0", SUBSYSTEM=="tty", DRIVER=="", SYMLINK+="gps0", MODE="0666"
# Symlink /dev/pps0 to /dev/gpspps0
KERNEL=="pps0", SUBSYSTEM=="pps", DRIVER=="", SYMLINK+="gpspps0", MODE="0666"
Version mit ttyS0:
# Change MODE of ttyAMA0 so it is readable by NTP and provide a symlink to
# /dev/gps0
KERNEL=="ttyS0", SUBSYSTEM=="tty", DRIVER=="", SYMLINK+="gps0", MODE="0666"
# Symlink /dev/pps0 to /dev/gpspps0
KERNEL=="pps0", OWNER="root", GROUP="tty", MODE="0660", SYMLINK+="gpspps0"
ntpd mit PPS-Unterstützung übersetzen:
$ sudo apt-get update $ sudo apt-get dist-upgrade $ sudo apt-get install pps-tools $ sudo apt-get install libcap-dev $ sudo apt-get install build-essential fakeroot devscripts $ sudo apt-get build-dep ntp $ mkdir ~/debian-packages; cd ~/debian-packages $ apt-get source ntp $ cd ntp-*
Datei „debian/rules“ editieren. Ersetze:
./configure CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' \ --prefix=/usr \ --enable-all-clocks --enable-parse-clocks --enable-SHM \ --disable-debugging --sysconfdir=/var/lib/ntp \ --with-sntp=no \ --with-lineeditlibs=edit \ --without-ntpsnmpd \ --disable-local-libopts \ --enable-ntp-signd \ --disable-dependency-tracking \ --with-openssl-libdir=/usr/lib/$(DEB_HOST_MULTIARCH)
durch
./configure CFLAGS='$(CFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' \ --prefix=/usr \ --enable-all-clocks --enable-parse-clocks --enable-SHM \ --disable-debugging --sysconfdir=/var/lib/ntp \ --with-sntp=no \ --with-lineeditlibs=edit \ --without-ntpsnmpd \ --disable-local-libopts \ --enable-ntp-signd \ --disable-dependency-tracking \ --with-openssl-libdir=/usr/lib/$(DEB_HOST_MULTIARCH) \ --enable-ATOM --enable-NMEA --with-ATOM --with-NMEA
Versionsnummer erhöhen, Paket übersetzen:
$ dch -i (Editor wird geöffnet, diesen einfach schließen) $ debuild -rfakeroot -uc -us $ cd ..