RFID RDM6300 Problem

  • Ja, aus der Konsole starte ich wie du es oben beschrieben hast.
    Und der Log zeigt auch genau diesen Zustand.


    Unter "Normal" starten verstehe ich wie oben beschrieben, dass starten ohne weiteres zutun nach einem reboot. Als der Deamon durch /etc/init.d/doorpi. Steht auf root root
    Und genau da funktioniert der Chip eben nicht.


    Kann es sein, dass die /dev/ttyAMA0 bereits durch meine USB-Soundkarte belegt ist und deshalb nicht korrekt funktioniert oder gibt es für die schnittstelle (/dev/ttyAMA0) ein settinge oder user rechte die nicht passen könnten?


    Aktuelle zeigt /dev/ttyAMA0: root tty

  • So wer lesen kann ist deutlich im Vorteil !


    Hab erst jetzt gesehen das du erst beim 3. mal keine funktion mehr hast. Hab mir darauf hin nochmal dein Log angeschaut. und bin auf folgenden Eintarg gestoßen

    Code
    2016-12-11 14:56:31,128 [ERROR]  	[doorpi.keyboard.from_rdm6300] device reports readiness to read but returned no data (device disconnected or multiple access on port?)
    
    
    Traceback (most recent call last):
      File "/usr/local/lib/python2.7/dist-packages/doorpi/keyboard/from_rdm6300.py", line 121, in readUART
        newChar = self._UART.read()
      File "/usr/local/lib/python2.7/dist-packages/serial/serialposix.py", line 490, in read
        'device reports readiness to read but returned no data '
    SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)

    Da der Sensor schon 2 mal funtioniert hat, scheint er wohl nicht defekt zu sein.
    Wenn du nach dem einschalten 5 min wartest, geht es dann auch 2 mal oder garnicht.

    • Offizieller Beitrag

    Ich weiß nicht, ob das vllt. schon der Unterschied ist... aber ich habe gesehen, dass ich die Version 2.0 habe von dem RDM6300... sprich bei mir sind noch 4 Löcher zum Löten (denke sind die gleichen wie die Pins) aber dadurch ist mir das erst aufgefallen. Sämtlich Datenblätter im Netz haben die nicht, erst dann hab ich v2.0 bei mir gesehen. Welche Version hast du?


    Gruß

  • Aktuell kann fas nicht prüfen. Ist fest verbaut. Ich denke aberkannt nicht, das es an der Hardware liegt, denn am Anfang als ich den Doorpi installiert hatte, hat es schon mal gut funktioniert. Entweder es liegt an den Settings des OS, z. B . Einstellung der Schnittstelle oder aber Doorpi Settings.


    Gesendet von meinem SM-G920F mit Tapatalk

    • Offizieller Beitrag

    Ich hab mir das Ding jetzt nochmal bestellt (im Text kann man leider nie erkennen um welche Version es sich handelt, daher bin ich mal nach dem Bild gegangen)... 3.40 Euro in China :D dauert ne Weile aber ja... passt schon. Steht eh alles noch auf meinem Schreibtisch... aber ich nähere mich dem Ende... RFID wäre schon fein gewesen, aber wenns halt nicht gehen sollte, dann ist das halt leider so.

  • Hallo zusammen !
    Ich hatte in der Tat das identische Problem.
    Raspi PI 3 mit RDM 6300 / V2


    In der Trace Console ging der Reader manchmal 2 mal , manchmal 3 mal dann wie von Geisterhand nix mehr.


    Neu booten und dann der gleiche Mist von vorne.


    Zum einen (Scheinbar spezifisch beim PI 3) :


    Wenn Bluetooth aktiviert ist dann scheint der Port ttyAMA0 dadurch temporär belegt zu sein.


    SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
    2017-03-24 10:21:18,798 [DEBUG] [doorpi.keyboard.from_rdm6300] readUART thread ended
    2017-03-24 10:21:18,799 [DEBUG] [doorpi.keyboard.from_rdm6300] readUART() started
    2017-03-24 10:21:19,009 [ERROR] [doorpi.keyboard.from_rdm6300] device reports readiness to read but returned no data (device disconnected or multiple access on port?)



    NOTE FOR RASPBERRY PI 3: The Raspberry pi 3 has changed things around a bit: ttyAMA0 now refers to the serial port that is connected to the bluetooth. The old serial port is now called ttyS0. So if you have an RPI3, everywhere you see "ttyAMA0" below, you should read "ttyS0".


    The Broadcom UART appears as /dev/ttyAMA0 under Linux. There are several minor things in the way if you want to have dedicated control of the serial port on a Raspberry Pi.

    • Firstly, the kernel will use the port as controlled by kernel command line contained in /boot/cmdline.txt. The file will look something like this:

    dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait


    The [i]console keyword outputs messages during boot, and the kgdboc keyword enables kernel debugging.


    You will need to remove all references to ttyAMA0. So, for the example above /boot/cmdline.txt, should contain:

    dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait



    Zum anderen habe ich das Bluetooth Modul still gelegt.


    Bluetooth kann man in der Boot-Konfiguration abschalten (ab Kernel 4.1.19).


    sudo nano /boot/config.txt


    Hier trägt man folgende Zeilen ein:


    dtoverlay=pi3-disable-bt

    enable_uart=1

    force_turbo=1


    Speichern, schließen und neustarten.




    Seit dem funktioniert das ganze reibungslos. Übrigens ist es auch reproduzierbar. Wenn ich die Ursprungswerte eintippel
    erziele ich das ursprüngliche Ergebnis.




    Sonniges Wochenende
    Stefan

  • Hi,
    heute habe ich mal meinem Problem angenommen.
    Da es sich bei mir um einen PI2 handelt, hat die Variante von Stefan_F leider nicht funktioniert.


    Meine Lösung sieht folgendermasen aus:
    Ich habe mittels "ls -ls /dev" festgestellt, dass ich einen Link "serial0 -> ttyAMA0" habe, der wahrscheinlich meine ttyAMA0- Schnittstelle mitbenutzt und blockiert


    Mein erster Ansatz war den Link zu löschen, aber der wird nach einem reboot erneut wieder erstellt.


    Mein zweiter und zielführender Ansatz war dann mittels "sudo nano /etc/udev/rules.d/99-com.rules" die Ursache zu beheben.


    Hier habe ich folgende Zeilen mittels "#" auskommentiert.



    Code
    #KERNEL=="ttyAMA[01]", PROGRAM="/bin/sh -c '\
    #       ALIASES=/proc/device-tree/aliases; \
    #       if cmp -s $ALIASES/uart0 $ALIASES/serial0; then \
    #               echo 0;\
    #       elif cmp -s $ALIASES/uart0 $ALIASES/serial1; then \
    #               echo 1; \
    #       else \
    #               exit 1; \
    #       fi\
    #'", SYMLINK+="serial%c"

    Ist vielleicht nicht der beste Weg, aber bei mir funktioniert es. ;)


    Gruß
    Christian

  • Hi,


    ich hab irgendwie auch schon alles probiert, aber die Konsole hat immer meine serielle blockiert.
    So wie es aussieht hat jetzt folgendes geholfen:


    Code
    sudo systemctl disable serial-getty@ttyAMA0.service
    service serial-getty@ttyAMA0 stop