Motion verwechselt Kameras nach Restart Raspberry

Begonnen von Peter21, 06 Juni 2019, 18:37:49

Vorheriges Thema - Nächstes Thema

Peter21

Hallo,

ich habe erfolgreich einen Raspi mit FHEM und Motion am laufen. Ich bin auch so verrückt, daß an diesem Raspi noch eine Raspi-Cam und 2 USB CAM hängen. Wenn man mit den Daten sinnvoll umgeht und nicht für alles eine Aufzeichnung verwendet geht das echt gut. Ich kopiere mir die letzten aktuellen Bilder in den FHEM Ordner und lasse sie mir dann auf der FHEM Oberfläche anzeigen. Nach einer gewissen Zeit werden diese dann wieder gelöscht und wenn neue Bilder da sind werden diese dann wieder kopiert und angezeigt.

Nun zum eigentlichen Problem. Ich habe in den Config-Dateien für Motion die 3 Kameras gepflegt. Wenn ich aber einen Reboot mit dem Raspberry mache, vertauscht er mir häufig die Kameras, nicht immer. Dann zeichnet die falsche Kamera die Videos auf (Daten Einsparung, nur eine macht Videos) und manche Bilder stehen auf dem Kopf. Als Notlösung, ändere ich dann kurzfristig die Adresse der Kamera in der Config zwischen 0,1 und 3 und starte Motion neu:

# Videodevice to be used for capturing (default /dev/video0)
# for FreeBSD default is /dev/bktr0
videodevice /dev/video2

Kennt jemand diese Problem und hat vielleicht schon eine Lösung dafür????


Peter21

Das ging ja schnell. Das klingt genau nach meinem Problem. Werde mir das ganze mal in Ruhe durchlesen und versuchen zu verstehen und umzusetzen. Melde mich zurück was daraus geworden ist.

Danke!!!!!

bartman121

Mach bitte die Variante (die letzte) mit den symlinks. Danach in den config - files die symlinks verwenden.

Peter21


Peter21

Hallo, ich bin jetzt dazu gekommen diese Variante auszuprobieren. Ich habe mich noch weiter zum Thema SYMLINKK belesen und versucht einen zu erstellen, bekomme aber diese Fehlermeldung:

pi@raspberrypi:~ $ lsusb
Bus 001 Device 005: ID 13fe:4200 Kingston Technology Company Inc.
Bus 001 Device 004: ID 0ac8:332d Z-Star Microelectronics Corp. Vega USB 2.0 Camera
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
pi@raspberrypi:~ $ ACTION=="add", KERNELS=="1-1.3:1.0", SUBSYSTEM=="usb", ATTRS{idVendor}=="0ac8", ATTRS{idProduct}=="332d", SYMLINK+="usbcam1"
-bash: ATTRS{idVendor}==0ac8,: Kommando nicht gefunden.

Bin ich komplett auf dem Holzweg oder fehlt mir wieder ein kleines Zeichen  :-[
Ich habe es auch ohne Kernelangabe (Tip aus anderen Forum) versucht , mit dem gleichem Ergebnis.
Nur damit es zu keiner Verwirrung kommt,ich probiere erst mal an einem nicht so wichtigem Raspi mit nur einer original Raspi CAM und einer USB Cam und später wenn es funktioniert, werde ich mich an den Raspi mit den 3 CAMS setzen (der aus dem ersten Abschnitt im Text).

bartman121

#6
Ich habe das auch noch nie gemacht, aber warum hast du überall das S dran gehangen?

Lt. Iink heißt es ATTR und KERNEL?

BTW. Du machst das als "pi", du wirst aber root-Rechte benötigen.

sudo - i

Peter21

bash: bash:: Kommando nicht gefunden.
root@raspberrypi:/home/pi# ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0ac8", ATTR{idProduct}=="332d", SYMLINK+="usbcam1"
bash: ATTR{idVendor}==0ac8,: Kommando nicht gefunden.
root@raspberrypi:/home/pi#

Ohne S und mit root das Selbe. Könnte es möglich sein,daß das System mit den Buchstaben nicht klar kommt. In den anderen Beispielen sind immer nur Zahlen enthalten??

Da ich immer nur Kopiere und zusammen stelle wie ich es benötige, hatte ich das S mit drin. Steht aber auch so bei der original Abfrage drin
    ATTRS{devpath}=="1.3"
    ATTRS{devspec}=="  (null)"
    ATTRS{idProduct}=="332d"
    ATTRS{idVendor}=="0ac8"
    ATTRS{ltm_capable}=="no"
    ATTRS{manufacturer}=="Vimicro"

Werde weiter probieren, mal sehen wann ich die Lösung habe ;)

bartman121

Hallo,

ich habe des jetzt mal kurz getestet, mit deinem Bash-Befehl klappt es bei mir auch nicht.

Ich habe wie im Link beschrieben eine rule angelegt.


nano /etc/udev/rules.d/test.rules


Dort habe ich bei mir folgendes eingetragen:

KERNEL=="3-1", SUBSYSTEM=="usb", ATTR{product}=="CP2102_changed_prod", SYMLINK+="tcm3_test"


nach einem Neustart war dann der Symlink vorhanden.

ls -al

...
lrwxrwxrwx  1 root root          15 Jun 21 09:04 tcm3_test -> bus/usb/003/002
...


Versuch es doch einfach mal mit der rules-Datei.

Das ganze natürlich als root ausführen.

Peter21

Hallo,

habe bis eben versucht den Vorschlag umzusetzen und ich freue mich mitteilen zu können, ich habe es geschafft!!!!! Auf jeden Fall startet die Kamera bei Start von Motion mit dem neuen LINK. Ob sie nochmal verwechselt wird werde ich sehen, glaube ich aber nicht.

Auf jeden Fall erst einmal ein dickes DANKE!!!!!!!!!!!!!!!!!!!!!! für die schnelle professionelle Hilfe!!!!!!!!

Peter21

Bevor ich es vergesse, nicht die AATRS nehmen sondern die ersten AATR ohne S nehmen, das war einer meiner Hauptfehler.

udevadm info -a /dev/video0

  looking at device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/video4linux/video0':
    KERNEL=="video0"
    SUBSYSTEM=="video4linux"
    DRIVER==""
    ATTR{dev_debug}=="0"
    ATTR{index}=="0"
    ATTR{name}=="Vimicro USB2.0 PC Camera "

 
  looking at parent device '/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0':
    KERNELS=="1-1.3:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="uvcvideo"
    ATTRS{authorized}=="1"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bInterfaceClass}=="0e"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bInterfaceProtocol}=="00"
    ATTRS{bInterfaceSubClass}=="01"