ttyAMA0: 1 input overrun(s) bei GPS Signalen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Ich habe ein kleines Problem mit meinen eingehenden GPS Signalen.
    Dank der Hilfe von orb läuft mein GPS-Modul und sendet auch hin und wieder Daten.
    Leider habe ich nur zu oft, oder besser gesagt das Problem, dass ich keine Daten vom GPS-Modul bekomme. Das heisst, ein paar Daten kommen im Minicom Terminal an und dann ist Sendepause. Dann hilf nur ein Reboot und viel Beten.

    Den Minicom Befehl den ich zum auslesen der GPS Daten benutze ist:
    $ sudo minicom -D /dev/ttyAMA0 -b 9600 -o
    da es sich um ein GPS-Modul handelt welches über GPIO angeschlossen ist
    und seine Daten mit 9600 Bound schickt.

    Auf der Suche nach dem Problem habe ich folgenden Befehl ausgeführt:
    $ dmesg | grep ttyAMA

    und diese Informationen erhalten:
    [ 0.000000] Kernel command line: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708.boardrev=0xd bcm2708.serial=0x6f1c9c90 smsc95xx.macaddr=B8:27:EB:1C:9C:90 sdhci-bcm2708.emmc_clock_freq=100000000 vc_mem.mem_base=0x1fa00000 vc_mem.mem_size=0x20000000 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
    [ 0.584647] dev:f1: ttyAMA0 at MMIO 0x20201000 (irq = 83) is a PL011 rev3
    [ 0.908428] console [ttyAMA0] enabled
    [ 320.119671] ttyAMA0: 1 input overrun(s)

    bei der mir die letzte Zeile etwas merkwürdig erscheint:
    [ 320.119671] ttyAMA0: 1 input overrun(s)

    Das bedeutet doch, dass ich einen Buffet Overflow habe, also zu viele Daten an der Leitung anliegen.
    Kann mir wer helfen?

    Einmal editiert, zuletzt von shorty (22. August 2013 um 11:25)

  • So shorty,

    das Handshake ist bei Dir auf Hardware eingestellt. Du kannst es mal mit F ausschalten, aber soweit ich mich erinnere, müsste es auch so gehen.

    Nun, wie ist das denn jetzt angeschlossen? Also an welchem Pin des RPi hängt was und wo geht das hin.

    cheers,
    -ds-


  • Hai ...

    könnte evtl. ein Protokollfehler sein.
    Hast Du das Handshake in Minicom aus (none)?

    bye,
    -ds-


    So shorty,

    das Handshake ist bei Dir auf Hardware eingestellt. Du kannst es mal mit F ausschalten, aber soweit ich mich erinnere, müsste es auch so gehen.

    Nun, wie ist das denn jetzt angeschlossen? Also an welchem Pin des RPi hängt was und wo geht das hin.

    cheers,
    -ds-

    Also klar, VDD an Pin 1 (3,3V) GND an Pin 6 (GND)
    und dann [font="Tahoma"]TXD des GPS-Moduls an GPIO15 (RxD) und RXD des GPS-Moduls an GPIO14 (TxD)[/font]

    [font="Tahoma"]VDD_B des GPS-Moduls welches für die Batterie gedacht ist habe ich zusätzlich auch an Pin 1 gehängt, ist aber eigentlich unötigg, da hier eigentlich eine Batterie angeschlossen wird, welcher den Speicher versorgt und das GPS Modul aktiv halten soll (Standby) so dass das Lokalisieren schneller ist nach einer Unterbrechung. [/font]


    Oft bekomme ich auch solche Ausgaben:

    Einmal editiert, zuletzt von shorty (22. August 2013 um 19:39)

  • Nein bring leider auch nichts... :(

    Was hat es denn mit dem [ 320.119671] ttyAMA0: 1 input overrun(s) auf sich?
    Momentan bekomme ich auch die Meldung /dev/ttyAMA0 can't open no such file

    Oder kann es sein, dass zu viele Daten einströmen?

    Einmal editiert, zuletzt von shorty (22. August 2013 um 22:37)

  • ich habe es jetzt auch mit screen /dev/ttyAMA0 9600 probiert, aber das sieht genauso bescheiden aus.

    Ich hatte zwei Wlansticks dran, daber die habe ich schon entfernt, da ich dachte das würde die Stromversorgung vielleicht zu sehr beanspruchen. Auch hier keinerlei Veränderungen....


    Was mich nur wundert, dass ab und an doch irgendwelches gekippten Bits ankommen wie hier:

    Von 10 Versuchen ist einer für ca. 1 Minute gut, also mit lesbaren Werten,
    2 - 3 sind mit unlesbaren Stringketten und die restlichen 6 -7 sind einfach nur leer...:@

    Einmal editiert, zuletzt von shorty (22. August 2013 um 23:19)

  • Also ich bin jetzt langsam mit meinem Latein am Ende.
    Parameter noch mal überprüfen und ggf. damit ein bisschen rumspielen (Baudrate, Stoppbits).
    Hast Du evtl. noch einen USB <-> RS232 Adapter?
    Dann vielleicht den mal ausprobieren.
    Bekommst Du die Meldung /dev/ttyAMA0 can't open no such file noch?

    cu,
    -ds-

  • Es ist zum verrückt werden :(
    Heute morgen habe ich zweimal hintereinander aus anhieb die Daten bekommen ca. 1-2 Minuten lang, dann brach der Datenstrom wieder ab und ich bekam die Meldung "/dev/ttyAMA0 can't open no such file"
    Darauf habe ich Minicom geschlossen und neu gestartet aber mein Terminal blieb leer :(
    Als ich den PI neu gestartet habe, habe ich wieder nichtssagende Strings im Terminal angezeigt bekommen.

    Ich würde es ja verstehen, wenn ich irgend etwas anfassen würde, so dass sich ein Wackelkontakt erklären könnte, aber der PI ist nichtmal im selben Raum wie ich es bin :( Er liegt ganz brav unberührt auf dem Tisch im Nebenraum (Wegen dem LAN-Kabel & freier Sicht wegen GPS-Signal)

    Warum funktioniert es sporatisch und wenn nur immer ein zwei Minuten?
    Und WARUM dann wiederum stundenlag überhauptnicht?

    Kann es sein, dass es daran liegt, weil das GPS Modul GPGSV, GPGSV,GPRMC und GPGGA nahezu gleichzeitig im Sekundentakt sendet und somit Probleme mache? Wie kann ich das GPS Modul umstellen, dass nur ein Datentyp gesendet wird? In 2.1 Des Datenbalttes wird was von NMEA COMMANDS gesprochen aber ich hab leider neine Ahnung wie ich diese über Minicom an das Modul senden kann. Ich weiss, dass ich diesen Command "[font="Arial"][font="Arial"]// turn on only the second sentence (GPRMC)
    #define PMTK_SET_NMEA_OUTPUT_RMCONLY "$PMTK314,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29"[/font][/font]" an das Modul schicken muss umnur noch einen gewünschten Rückgabewert zu bekommen.

    GPS Datenblatt:
    NMEA manual for Fastrax IT500 Series GPS receivers_V1.7.pdf

    Fall jemand ein kleines Tutorial bezüglich Minicom hat, wäre es toll, dann müsste ich nicht 1000 Fragen stellen ;)

    Vielen Dank nochmal an dreamshader für dein Bemühen!

    Einmal editiert, zuletzt von shorty (23. August 2013 um 10:59)

  • Hi,

    da kannst Du ja eine Menge einstellen, an dem Modul ... aber ich glaube nicht so recht, dass es daran liegt.

    Was mich irritiert sind Meldungen wie "/dev/ttyAMA0 can't open no such file" ...

    Hast du in einem solchen Falls mal in die /var/log/sysog geschaut?

    cu,
    -ds-

  • Nur:

    Aug 24 22:45:13 raspberrypi kernel: [ 293.513645] SysRq : HELP : loglevel(0-9) reBoot Crash terminate-all-tasks(E) memory-full-oom-kill(F) debug(G) kill-all-tasks(I) thaw-filesystems(J) saK show-memory-usage(M) nice-all-RT-tasks(N) powerOff show-registers(P) show-all-timers(Q) unRaw Sync show-task-states(T) Unmount show-blocked-tasks(W)
    Aug 24 22:45:13 raspberrypi kernel: [ 293.846462] ttyAMA0: 1 input overrun(s)
    Aug 24 22:46:17 raspberrypi kernel: [ 357.503262] SysRq : HELP : loglevel(0-9) reBoot Crash terminate-all-tasks(E) memory-full-oom-kill(F) debug(G) kill-all-tasks(I) thaw-filesystems(J) saK show-memory-usage(M) nice-all-RT-tasks(N) powerOff show-registers(P) show-all-timers(Q) unRaw Sync show-task-states(T) Unmount show-blocked-tasks(W)

    Einmal editiert, zuletzt von shorty (24. August 2013 um 22:50)

  • Also unter Arch Linux läuft es ohne Probleme mit dem selben Einstellungen.
    Somit wird es wohl nicht an der Hardware liegen.

    @ dreamshader
    Wie kann ich den diesen Befehl: "$PMTK314,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29" an das Modul über Minicom schicken?
    Und wie kann ich die eingehenden Daten mitschreiben / loggen?


    :danke_ATDE:

    Einmal editiert, zuletzt von shorty (25. August 2013 um 20:45)

  • Hi shorty,

    na ... noch nicht verzweifelt ;) ...

    Das Kommando brauchst Du imho bloss eintippen (oder copy/paste) und evtl. mit <ENTER> abschliessen - dann sollte das auch ankommen.

    Den Mitschnitt in minicom habe ich noch nie gebraucht, aber der sollte mit


    Code
    CTRL+A -> O
    "Dateinamen und Pfade"
    "F - Einstellungen zur Protokollierung"
    A
    B
    C


    aktivierbar sein.

    Ist ja echt strange, was da bei Dir abläuft - noch dazu, wenn es unter ARCH anstandslos geht.
    Das ist irgendeine Kleinigkeit, die wir beide dauernd übersehen ... der Teufel ist ein Eichhörnchen ;) ...

    cheers,
    -ds-

  • Also ORB schrieb mir:
    Da scheint noch eine Console auf der Schnittstelle zu laufen. Schau mal in die /etc/inittab. Da steht warscheilich noch ein
    T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
    Da müßtest Du ein # vor setzen.
    Außerdem wird beim Starten noch eine Console auf der AMA0 gestartet. Die kannst Du in der /boot/cmdline.txt abschalten. Einfach die Einträge
    console=ttyAMA0,115200 kgdboc=ttyAMA0,115200
    in der Zeile darin löschen.


    Und damit lag er gold richtig, jetzt bekomme die Daten ohne Problem angezeigt.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!