Ich versuche meinen GPS Empfänger UART-GPS-NEO-6M unter Freebsd an der APU2 zum laufen zu bewegen. Ziel wäre damit eine Uhr für NTP bereitzustellen, was leider nicht funktioniert. Mit dem neuen BIOS habe ich den dritten und vierten Seriellen Port der APU2 aktiviert. Durch die Einträge in /boot/device.hints:
werden die Ports auch beim booten erkannt. Verbindet man den GPS Empfänger mit den (GPIO)Pins der J17 Header der APU
Bekommt man auch Nachrichten mittels "gpsmon" vom GPS Empfänger. Der Empfänger sendet also Positionsdaten. Jedoch scheitere ich bei der Integration in den NTP Dämon. Ich bin mir hierbei nicht sicher wegen des PPS Pins. Der Manpage von uart zufolge wird der Puls am DCD ausgegeben, zumindest wenn sysctl dev.uart.2.pps_mode=2 ist, oder muss dieser auf 0x22 gesetzt werden?
Laut Internetberichte lauscht der NTPD an folgenden Clocks NMEA und PPS, was in der /etc/ntp.conf wie folgt umgesetzt ist:
Die entsprechenden Symlink /dev/pps0 und /dev/gps0 sind in der /etc/devfs.conf gesetzt:
Beim Start des NTPD bekomme ich auch keinen Fehler, leider aber auch keine Zeit was mit "ntpq -p" überprüft werden kann, welche nur 0 zeigen. Mit den sysctl dev.uart.2.pps_mode und den fudge Optionen des ntp habe ich bereits gespielt, jedoch ohne Erfolg. Sehe ich den Wald vor lauter Bäumen nicht? Was habe ich übersehen? Geht das mit dem pps Signal überhaupt so? Müsste nicht wenigstens des NMEA Signal ankommen, auch wenn PPS nicht funktioniert? Sind die Reference Clock Driver im freebsd ntp überhaupt aktiv? Danke schon mal für Infos.
Ich habe auch schon den Versuch unternommen den GPS Empfänger an uart1 anzuschließen und das PPS über gpio wie bei den RPI Anleitungen zu beschaffen. Leider gibt der GPIO Bus unter freebsd-amd64 kein gpio-pps Kernel Module zur Auswahl. Es lässt sich zwar Kompilieren aber das Laden bricht mit Fehlermeldung ab. Ich vermute, dass owbus für amd64 bzw in Modul nctgpio nur teilweise implementiert ist und so die GPIO Module pps, gpioths, owtemp... wie für arm und mips unter amd64 unbrauchbar sind. Wobei ein DS1820Temperatur oder DCF11 Temperatur- und Feuchtigkeitsmesser an der APU auch recht hübsch wäre. Bisher gehen am nctgpio der APU lediglich die LED-Lichter an bzw. aus.
Code:
hint.uart.2.at="isa"
hint.uart.2.disabled="1"
hint.uart.2.port="0x3E8"
hint.uart.2.irq="4"
hint.uart.3.at="isa"
hint.uart.3.disabled="1"
hint.uart.3.port="0x2E8"
hint.uart.3.irq="3"
und aktiviert man in /etc/rc.conf den GPS Dämon mit:VCC->: 3.3V = Pin 2
GND: zur GROUND= Pin 1
TXD: zu RXD = Pin 7
RXD: zur TXD = Pin 8
PPS: zur DCD = Pin 9 (fraglich)
Code:
gpsd_enable="YES"
gpsd_flags="-n"
gpsd_devices="/dev/cuau2"
Laut Internetberichte lauscht der NTPD an folgenden Clocks NMEA und PPS, was in der /etc/ntp.conf wie folgt umgesetzt ist:
Code:
# PPS
server 127.127.22.0dev.uart.2.pps_mode
#fudge 127.127.22.0 flag3 1
# NMEA
server 127.127.20.0 mode 17
#fudge 127.127.20.0 time2 +0.767
Code:
link cuau2 gps0
link cuau2 pps0
Ich habe auch schon den Versuch unternommen den GPS Empfänger an uart1 anzuschließen und das PPS über gpio wie bei den RPI Anleitungen zu beschaffen. Leider gibt der GPIO Bus unter freebsd-amd64 kein gpio-pps Kernel Module zur Auswahl. Es lässt sich zwar Kompilieren aber das Laden bricht mit Fehlermeldung ab. Ich vermute, dass owbus für amd64 bzw in Modul nctgpio nur teilweise implementiert ist und so die GPIO Module pps, gpioths, owtemp... wie für arm und mips unter amd64 unbrauchbar sind. Wobei ein DS1820Temperatur oder DCF11 Temperatur- und Feuchtigkeitsmesser an der APU auch recht hübsch wäre. Bisher gehen am nctgpio der APU lediglich die LED-Lichter an bzw. aus.