Device::SerialPort PERL 5.24.0

Begonnen von robert_kraus, 04 Januar 2017, 20:26:39

Vorheriges Thema - Nächstes Thema

robert_kraus

Hallo FHEM Synology Experten,

seit über einem Jahr bin ich glücklich mit meiner FHEM Installation von "fisher-net". Meine Konfiguration ist:

  Pakete von fisher-net.de ( Autor: Martin Fischer )
    1) fhem_noarch-all_5.7-mfr-20160330.spk
    2) perlmodules_armada375-5.2_1.1.2-mfr-20160330.spk

  Hardware: DS215J mit MARVELL Armada 375 88F6720

Vor 13 Stunden hat  Synnology das PERL Paket automatisch auf Version 5.24.0-0066 aktualiisert. Seitdem bekomme ich folgende Fehlermeldung:

Messages collected while initializing FHEM:
configfile: Can't load '/usr/local/lib/perl5/site_perl/auto/Device/SerialPort/SerialPort.so' for module Device::SerialPort: /usr/local/lib/perl5/site_perl/auto/Device/SerialPort/SerialPort.so: undefined symbol: PL_markstack_ptr at /usr/local/share/perl5/core_perl/XSLoader.pm line 71, <$fh> line 30.
at /usr/local/lib/perl5/site_perl/Device/SerialPort.pm line 62.
Compilation failed in require at ./FHEM/DevIo.pm line 390, <$fh> line 30.

FHT_5c52: unknown IODev CUL_0 specified
FS20_b7c701: unknown IODev CUL_0 specified
FS20_b7c700: unknown IODev CUL_0 specified


Hat jemand von Euch das gleiche Problem? Was kann ich da tun?
Vielen Dank für Eure Unterstützung.
Robert


downset

Hallo Robert,

ich hab das gleiche Problem.

Sowohl bei meiner DS415Play - evansport als auch bei nem Kollegen mit einer DS216Play - monaco

wir haben uns jetzt erst einmal damit geholfen, das wir die alte Perl version via spk von der Synology Seite wieder installiert haben und das automatische Update deaktiviert haben.

Hier zu finden:
https://usdl.synology.com/download/Package/spk/Perl/5.18.4-0064/

würde mich aber freuen wenn jemand noch einen tip hat was zu tun ist um fhem mit der aktuellen 5.24 ans laufen zu bekommen

Grüße
downset

robert_kraus

Mit diesem Beitrag möchte ich Euch eine Fehlversuch mitteilen. Das also bitte NICHT zu Haus nachmachen  ;)


  • Das Synology Paket "Easy Bootstrap Installer" von https://www.cphub.net installiert/li]
    • Über telnet als root: ipkg install perl-device-serialport 
    • cp /opt/lib/perl5/site_perl/5.22.1/armv7l-linux/auto/Device/SerialPort/SerialPort.so /usr/local/lib/perl5/site_perl/auto/Device/SerialPort/

    Dann passiert das: SerialPort.c: loadable library and perl binaries are mismatched (got handshake key 0x8f80080, needed 0x9000080)

    Zum Glück hatte ich vorher die Original Datei gesichert.

    Über CPAN wäre wohl ein Weg. Hierzu müsste Synology-PERL deinstalliert werden und IPGK-PERL installiert. Aber wie kann ich beim FHEM Starten das IPKG-PERL angeben?

    Habt ihr einen Rat, wie man mit Synolgoy-PERL das PERL Modul "SerialPort" installieren kann?

    Danke
    Robert






danielgeorg

#3
Hallo FHEM - Community,

habe das gleiche Problem.

Seit dem Update wird der CUL nicht mehr erkannt.

Hat jemand eine Idee ?

Danke!

Messages collected while initializing FHEM:
configfile: Can't load '/usr/local/lib/perl5/site_perl/auto/Device/SerialPort/SerialPort.so' for module Device::SerialPort: /usr/local/lib/perl5/site_perl/auto/Device/SerialPort/SerialPort.so: undefined symbol: PL_markstack_ptr at /usr/local/share/perl5/core_perl/XSLoader.pm line 71, <$fh> line 41.
at /usr/local/lib/perl5/site_perl/Device/SerialPort.pm line 62.
Compilation failed in require at ./FHEM/DevIo.pm line 390, <$fh> line 41.

Skipper

Hallo zusammen,

ich hatte ebenfalls das Problem. Ich habe ebenfalls wieder auf die ältere Version downgegradet. Leider habe ich auch keine weiteren Informationen gefunden wie FHEM auf einer Synology mit der neuen Perl Version ans laufen zu bekommen ist.

Gruß
Timo

robert_kraus

#5
Läuft wieder! In FHEM werden wieder die Temp., Luftfeuchtigkeit und Ventilstellwert als Graphen angezeigt. Folgende Aktionen brachten die Lösung:

Plan:

zu 1.

  • Easy Bootsrap Installer
  • iPKGGUI
  • PERL CGI Fix

zu 2.

  • perl
  • perl-libww
  • perl-device-serialport
  • usbutils

zu 3.

  • Bei der Installation kann man ein neues Passwort eingeben. Wenn man dieses Eingabefeld leer lässt, läuft die Anwendung "FHEM" mit root.
  • Die Datei /volume1/@appstore/fhem/bin/fhem.sh in Zeile 27 ergänzen:
          vorher: $fhem_BIN $fhem_CONFIG
          nachher: /opt/bin/perl $fhem_BIN $fhem_CONFIG
  • FHEM Log Verzeichnis wieder auf externe USB Platte verlinken
          mv /volume1/@appstore/fhem/opt/log /volumeUSB1/usbshare/fhem/log
          ln -s /volumeUSB1/usbshare/fhem/log /volume1/@appstore/fhem/opt/log


Fazit

  • VIELEN DANK an die zahlreichen Beiträge in den Foren, an Fisher NET für das FHEM Paket, an QTip für iPKGui
  • Auf meiner DS215j ist Synology PERL V.24 Standard, aber FHEM wird mit iPK PERL V.22 gestartet. Eine Installation von Fisher FHEM ohne Synology PERL V.24 ging nicht bei mir.
  • lsusb -V listet CUL868 von busware.de, die Datei /dev/ttyACM0 hat ausschließlich root Rechte, deshalb läuft bei mir die Anwendung FHEM auch unter root. Das ist wohl nicht optimal. Aber es tut.

jueff

Danke für die Anleitung!

Habe noch ein kleins Problem, dass die Zeit in FHEM nun um eine Stunde falsch ist.
Vermutlich ein Zeitzonenproblem. Meine DS216Play läuft mit Zeitzone Europe/Amsterdam.
Wie könnte ich das lösen?

dachkind

Habe das Problem, dass ich beim ANlegen des ZW-Dongle-Ddevices eine fehlmerldung bekomme:
Compilation failed in require at ./FHEM/DevIo.pm line 390

wenn ich aber in Zeile 27 die Änderung eintrage, dann startet fhem nicht mehr.

Kann mir da jemand helfen?

pascalh

Hi!

Gab's in diesem Thread/Problem eine Lösung? Ich habe ähnliche Probleme, ich versuche meine Somfy-Sonnenstorenmotoren mit FHEM zu verbinden. Ich habe mich durch die Anleitungen gelesen, habe Device::SerialPort installiert, etc.

Dazu habe ich mir einen "SIGNALduino 433MHz mit SMA Magnetfußantenne 5dbi" von ebay gekauft.

Nun erscheint bei mir im Log folgende Fehlermeldung:
2019.09.01 14:50:17 4: initialUsbCheck exec usb create
2019.09.01 14:50:17 5: Cmd: >usb create<
2019.09.01 14:50:17 1: usb create starting
2019.09.01 14:50:18 4: ### ttyS0: checking if it is a CUL
2019.09.01 14:50:18 3: Probing CUL device /dev/ttyS0
2019.09.01 14:50:19 1: Can't load '/usr/local/lib/perl5/site_perl/auto/Device/SerialPort/SerialPort.so' for module Device::SerialPort: /usr/local/lib/perl5/site_perl/auto/Device/SerialPort/SerialPort.so: wrong ELF class: ELFCLASS32 at /usr/local/share/perl5/core_perl/XSLoader.pm line 71.
at /usr/local/lib/perl5/site_perl/Device/SerialPort.pm line 62.
Compilation failed in require at FHEM/DevIo.pm line 418.

2019.09.01 14:50:19 1: CUL: Can't connect to /dev/ttyS0: Can't load '/usr/local/lib/perl5/site_perl/auto/Device/SerialPort/SerialPort.so' for module Device::SerialPort: /usr/local/lib/perl5/site_perl/auto/Device/SerialPort/SerialPort.so: wrong ELF class: ELFCLASS32 at /usr/local/share/perl5/core_perl/XSLoader.pm line 71.
  at /usr/local/lib/perl5/site_perl/Device/SerialPort.pm line 62.
Compilation failed in require at FHEM/DevIo.pm line 418.

2019.09.01 14:50:19 4: cannot open the device
2019.09.01 14:50:19 4: ### ttyS1: checking if it is a CUL
2019.09.01 14:50:19 3: Probing CUL device /dev/ttyS1
2019.09.01 14:50:19 1: Attempt to reload Device/SerialPort.pm aborted.
Compilation failed in require at FHEM/DevIo.pm line 418.

2019.09.01 14:50:19 1: CUL: Can't connect to /dev/ttyS1: Attempt to reload Device/SerialPort.pm aborted.
Compilation failed in require at FHEM/DevIo.pm line 418.

2019.09.01 14:50:19 4: cannot open the device
2019.09.01 14:50:19 4: ### ttyS2: checking if it is a CUL
2019.09.01 14:50:19 3: Probing CUL device /dev/ttyS2
2019.09.01 14:50:19 1: Attempt to reload Device/SerialPort.pm aborted.
Compilation failed in require at FHEM/DevIo.pm line 418.

2019.09.01 14:50:19 1: CUL: Can't connect to /dev/ttyS2: Attempt to reload Device/SerialPort.pm aborted.
Compilation failed in require at FHEM/DevIo.pm line 418.

2019.09.01 14:50:19 4: cannot open the device
2019.09.01 14:50:19 4: ### ttyS3: checking if it is a CUL
2019.09.01 14:50:19 3: Probing CUL device /dev/ttyS3
2019.09.01 14:50:19 1: Attempt to reload Device/SerialPort.pm aborted.
Compilation failed in require at FHEM/DevIo.pm line 418.

2019.09.01 14:50:19 1: CUL: Can't connect to /dev/ttyS3: Attempt to reload Device/SerialPort.pm aborted.
Compilation failed in require at FHEM/DevIo.pm line 418.

2019.09.01 14:50:19 4: cannot open the device
2019.09.01 14:50:19 1: usb create end




Vielen Dank für Euren Support!

Lippie

Hi,

habe hier: https://forum.fhem.de/index.php/topic,93988.msg866733.html#msg866733 beschrieben, wie ich meinen DUOFERNSTICK auf der DS215j  zum Laufen bekommen habe.
Mein Problem war damals zusätzlich noch, dass die Zugriffsrechte nicht ausreichend waren.

Viele Grüße.

pascalh

Danke für den Beitrag - ich hab's nachgemacht. das mit /dev/ttyUSB0 hat auch geklappt. Bekomme aber nach wie vor denselben Compilation-Fehler "Compilation failed in require at FHEM/DevIo.pm line 418."

Kennt sich damit jemand aus?

freetz

Ich habe für die Installation von Perl-Modulen für andere Perl-Versionen mal einen eigenen Thread aufgemacht, weil das Problem doch etwas komplexer ist und hier ja ein anderer Weg (über IPKG) beschritten wurde. Dort habe ich auch ein fertiges Modul für x64-Synologies angehängt:
https://forum.fhem.de/index.php/topic,106735.0.html
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan