Probleme bei Installation Aeon Labs Z-Stick Series 2 auf Synology DS1511+ (x86-Architektur)

Begonnen von wolkensurfer, 21 April 2013, 11:40:19

Vorheriges Thema - Nächstes Thema

wolkensurfer

Hallo,

ich bin absoluter Anfänger in Sachen Home Automation und habe mich nach längerer Evaluierungsphase dazu entschlossen, hierfür FHEM auf unserer Synology DS1511+ (x86-Architektur) zu installieren. Als Kommunikationsprotokoll soll Z-Wave zum Einsatz kommen.

Auf der DS ist DSM4.2 sowie Perl 5.8.6-0003 installiert. Die Installation von FHEM 5.3 war mit dem noarch-Paket von Martin Fischer absolut problemlos - ein ganz herzliches Dankeschön dafür an Martin!

Die Installation des Z-Sticks bereitet massive Probleme. Als Treiber für den Z-Stick habe ich das Paket aus dem OpenSource-Projekt SynoZwave installiert. Im Log der DS finde ich allerdings keinen Hinweis darauf, dass dieser Treiber erfolgreich installiert wurde (siehe auch hier: http://wiki.synozwave.com/index.php?title=Installation/en&setlang=en). Die DS erkennt nach dem Einstecken des Z-Stick diesen auch nicht.

Wer kann mir weiterhelfen und Tipps geben bzw. einen Treiber für den Z-Stick für die x86-Architektur zur Verfügung stellen?

Vielen Dank und Grüße,

Andreas

wolkensurfer

Hallo zusammen,

hat keiner eine Idee, wie das Schnittstellen-Problem gelöst werden könnte?

Grüße,

Andreas

wolkensurfer

Kleines Update:

Nach der x-ten Installation des genannten Treibers hat nun die DS den selbigen geschluckt und im Log-File folgende Einträge erstellt:

[ 8023.866074] usbcore: registered new interface driver cp210x
[ 8023.871673] cp210x: v0.09:Silicon Labs CP210x RS232 serial adaptor driver
[ 8324.685033] usb 6-2: new full-speed USB device number 2 using uhci_hcd
[ 8324.871362] cp210x 6-2:1.0: cp210x converter detected
[ 8324.999043] usb 6-2: reset full-speed USB device number 2 using uhci_hcd
[ 8325.213625] usb 6-2: cp210x converter now attached to ttyUSB0

So weit so gut. Nun habe ich in der fhem.cfg folgende Zeile eingefügt:

define ZWStick ZWDongle /dev/ttyUSB0

Nach dem Speichern der geänderten fhem.cfg erscheint folgende Fehlermeldung:

ERROR:
Can't locate Device/SerialPort.pm in @INC (@INC contains: /usr/lib/perl5/5.8.6/X86 /usr/lib/perl5/5.8.6 /usr/lib/perl5/site_perl/5.8.6/X86 /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl . /usr/local/FHEM/share/fhem/FHEM) at /usr/local/FHEM/share/fhem/FHEM/DevIo.pm line 168, <$fh> line 51.

Hat jemand eine Idee, wo das Problem liegt und wie es behoben werden kann?

Besten Dank!

justme1968

dir fehlt das Device::SerialPort perl modul.

wenn du die optware perl version verwendest kannst du es mit ipkg install perl-device-serialport installieren ansonsten z.b. mit cpan install Device::SerialPort
gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

wolkensurfer

Hallo Andre,

vielen Dank für Deinen Hinweis.

Anfang nächste Woche bin ich wieder zuhause und werde Perl auf meiner DS entsprechend erweitern und anschließend berichten.

Gruss

Andreas

TedStriker

Hallo,

ich bin dabei FHEM für mich zu entdecken und scheitere leider schon bei den Basics.
Das erwähnte Modul Device::SerialPort lässt sich leider nicht installieren.

Bei mir läuft FHEM auf einer Synology 212j. Nachdem CPAN nicht direkt funktioniert hat, habe ich das CPAN.pm Skript angepasst (gzip unterstützt auf der 212j nicht die vorgesehenen Parameter --decompress -> -d und --stdout -> -c)
Nach diesen Änderungen sah zunächst alles recht gut aus.
Dann, beim compilieren, gibt die Installationsroutine wieder auf mit der Meldung
/bin/sh: /usr/local/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-ccache-gcc: not found

gcc habe ich per ipkg installiert. Allerdings liegt der Compiler im Ordner /opt/bin/
es stehen auch mehrere Varianten in diesem Ordner zur Verfügung, allerdings nicht die oben gesuchte. arm-none-linux-gnueabi-gcc ist vorhanden und kommt dem gesuchten noch am nächsten.
Weiß jemand, wie ich die Installationsroutine dazu bringe, den vorhandenen Compiler zu verwenden? Auch ein alternativer Installationsweg wäre selbstverständlich in Ordnung.

wolkensurfer

Zwischenzeitlich habe ich meine DS1511+ neu eingerichtet:

DSM 4.2 Build 3211 und folgende Pakete sind derzeit installiert:

ipkg
Midnight Commander
Perl V5.10.0
perl-device-serialport

fhem 5.3 noarch

Nun habe ich das Problem, dass laut Paket-Verwaltung fhem läuft, ich aber nicht über das Webfrontend (Port 8083) darauf zugreifen kann.

Gibt es eine Möglichkeit (auf Systemebene) zu überprüfen, ob fhem überhaupt gestartet wurde bzw. aktuell läuft?

Mit Perl -v wird mir die aktuelle Version (5.10.0) angezeigt. Daher gehe ich davon aus, dass Perl ok ist. Was mich allerdings stutzig macht ist die Tatsache, dass wenn ich zusätzlich das Synology-Paket Perl (5.8.6) installiere,  anschließend fhem über den Port 8083 erreichbar ist.

I'm a bit confused!

Wo könnte das Problem liegen?

Müssen nach der Installation von optware-perl noch weitere Module installiert werden?

Vielen Dank für Eure Unterstützung!

Gruss,

Andreas

justme1968

hast du in /usr/local/FHEM/app/scripts/fhem.sh den perl pfad auf die optware version angepasst? zeile 5:PERL=/opt
die paketverwaltung bekommt nicht immer mit wenn die start scripte ein problem haben oder fhem abstürzt.

in /usr/local/FHEM/log findest du die logfiles mit 'ps auxwww|grep fhem' kannst du schauen ob fhem prozesse laufen und welche perl version verwendet wird.
es sollte mindestens eine zeile in der art dabei sein:root     16035  0.7  0.9  32204 30344 ?        S    May14  19:35 /opt/bin/perl /usr/local/FHEM/bin/fhem.pl /usr/local/FHEM/etc/fhem.cfg

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

wolkensurfer

Hallo Andre,

tatsächlich war der Pfad auf die Optware Version von Perl fehlerhaft:

PERL=/usr/local/perl

habe ich auf

PERL=/opt

geändert, rebootet und jetzt habe ich den Zugriff auf FHEM :-)

Vielen Dank Andre!


Das Verzeichnis /usr/local/FHEM/log existiert auf meiner DS nicht. Bei mir sind die Logs im Verzeichnis /usr/local/FHEM/var/log abgelegt - ist bei mir so in der fhem.cfg eingetragen.

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

wolkensurfer

Nächstes Problem:

Hier wird die Installation des Treibers für den Aeon Z-Wave Stick beschrieben:

http://www.openremote.org/display/docs/OpenRemote+2.0+How+To+-+Synology+with+Z-Wave?showComments=false

Unter [4] werden die neu installierten Dateien aufgelistet. Leider wird auf meiner DS1511+ die S99Modules.sh nicht installiert.

Wer kann mir Auskunft darüber geben, was in dieser Datei alles stehen muss?

wolkensurfer

Mit Google habe ich folgende Quelle für die Datei s99Modules.sh gefunden:

http://www.bydavy.com/wp-content/uploads/2012/02/S99Modules.sh_.zip

In dieser Datei habe ich die Zeile 4 geändert auf:

MODULES="usbserial.ko ftdi_sio.ko pl2303.ko cp210x.ko"

Anschließend habe ich die DS neu gestartet und voila:

[   99.634425] usbcore: registered new interface driver usbserial
[   99.640288] usbserial: USB Serial Driver core
[   99.655760] USB Serial support registered for FTDI USB Serial Device
[   99.662718] usbcore: registered new interface driver ftdi_sio
[   99.668489] ftdi_sio: v1.6.0:USB FTDI Serial Converters Driver
[   99.676939] USB Serial support registered for pl2303
[   99.682270] usbcore: registered new interface driver pl2303
[   99.687886] pl2303: Prolific PL2303 USB to serial adaptor driver
[   99.696558] USB Serial support registered for cp210x
[   99.701650] cp210x 6-2:1.0: cp210x converter detected
[   99.829038] usb 6-2: reset full-speed USB device number 2 using uhci_hcd
[   99.993286] usb 6-2: cp210x converter now attached to ttyUSB0
[   99.999379] usbcore: registered new interface driver cp210x
[  100.004978] cp210x: v0.09:Silicon Labs CP210x RS232 serial adaptor drive

In der fhem.cfg habe ich eingetragen und die Datei anschließend gespeichert:

define initialUsbCheck notify global:INITIALIZED usb create

define ZWStick ZWDongle /dev/ttyUSB0


Noch ein Neustart der DS durchgeführt. Anschließend steht im fhem logfile:

2013.05.16 19:29:54 1: Including /usr/local/FHEM/etc/fhem.cfg
2013.05.16 19:29:54 3: telnetPort: port 7072 opened
2013.05.16 19:29:54 3: WEB: port 8083 opened
2013.05.16 19:29:54 3: WEBphone: port 8084 opened
2013.05.16 19:29:54 3: WEBtablet: port 8085 opened
2013.05.16 19:29:54 3: Opening ZWStick device /dev/ttyUSB0
2013.05.16 19:29:54 3: Can't open /dev/ttyUSB0: No such file or directory
2013.05.16 19:29:54 1: Including /usr/local/FHEM/var/log/fhem.save
2013.05.16 19:29:54 1: usb create starting
2013.05.16 19:29:56 1: usb create end
2013.05.16 19:29:56 2: SecurityCheck:  WEB,WEBphone,WEBtablet has no basicAuth attribute. telnetPort has no password/globalpassword attribute. Running with root privileges. Restart fhem for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2013.05.16 19:29:56 0: Server started (version Fhem 5.3 (DEVELOPMENT), $Id: fhem.pl 1996 2012-10-20 07:11:56Z rudolfkoenig $, pid 8402)


Es scheint so, dass der Befehl usb create nach der Zuweisung des ZWStick erfolgt. Hat jemand eine Idee, wieso das so ist (obwohl in der fhem.cfg die Reihenfolge stimmt) bzw. wie dies verhindert werden kann?

justme1968

Zitat2013.05.16 19:29:54 3: Can't open /dev/ttyUSB0: No such file or directory

ich tippe mal das device ist nicht angelegt. mknod /dev/ttyUSB0 c 188 0 auf der shell sollte helfen.

was es mit dem define initialUsbCheck notify global:INITIALIZED usb create auf sich hat kann ich dir nicht sagen. das ist mir nich nicht über den weg gelaufen. jedenfalls nicht als etwas das man selber machen muss.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

wolkensurfer

Der mknod-Befehl ist Bestandteil der Datei s99Modules.sh:


#!/bin/sh

MODULES_DIR="/lib/modules"
MODULES="usbserial.ko ftdi_sio.ko pl2303.ko cp210x.ko"

start_modules(){
   echo "--- Load modules ---"
   for i in $MODULES; do
      echo "Loading $i"
      insmod $MODULES_DIR/$i
   done
   
   # Create the first ttyUSB
   if [ -f /dev/ttyUSB0]; then
      mknod /dev/ttyUSB0 c 188 0
      mknod /dev/ttyUSB1 c 188 0
      mknod /dev/ttyUSB2 c 188 0
      mknod /dev/ttyUSB3 c 188 0
   fi
}

stop_modules(){
   echo "--- Unload modules ---"
   for i in $MODULES; do
      echo "Unloading $i"
      rmmod $MODULES_DIR/$i
   done   
}


case "$1" in

start)
   start_modules
   ;;

stop)
   stop_modules
   ;;

*)
   echo "usage: $0 { start | stop }" >&2
   exit 1
   ;;

esac


Im Log der DS ist die Anlegung des device auch aufgeführt - oder liege ich da falsch?:


[   99.798722] usbcore: registered new interface driver usbserial
[   99.805481] usbserial: USB Serial Driver core
[   99.818150] USB Serial support registered for FTDI USB Serial Device
[   99.825117] usbcore: registered new interface driver ftdi_sio
[   99.830882] ftdi_sio: v1.6.0:USB FTDI Serial Converters Driver
[   99.839335] USB Serial support registered for pl2303
[   99.844672] usbcore: registered new interface driver pl2303
[   99.850280] pl2303: Prolific PL2303 USB to serial adaptor driver
[   99.858897] USB Serial support registered for cp210x
[   99.863989] cp210x 6-2:1.0: cp210x converter detected
[   99.992033] usb 6-2: reset full-speed USB device number 2 using uhci_hcd
[  100.156398] usb 6-2: cp210x converter now attached to ttyUSB0
[  100.162485] usbcore: registered new interface driver cp210x
[  100.168081] cp210x: v0.09:Silicon Labs CP210x RS232 serial adaptor driver
[  100.364604] loop: module loaded


Dieser initialUsbCheck steht in der Ursprungsversion der fhem.cfg (hier um die fett dargestellte Zeile erweitert):


attr global logfile /usr/local/FHEM/var/log/fhem-%Y-%m.log
attr global modpath /usr/local/FHEM/share/fhem                  # where our FHEM directory is
attr global statefile /usr/local/FHEM/var/log/fhem.save  # where to save the state of the devices
attr global verbose 3                  # "normal" verbosity (min 1, max 5)

define telnetPort telnet 7072 global   # our TCP/IP port

define WEB FHEMWEB 8083 global

define WEBphone FHEMWEB 8084 global
attr WEBphone smallscreen

define WEBtablet FHEMWEB 8085 global
attr WEBtablet touchpad

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog /usr/local/FHEM/var/log/fhem-%Y-%m.log fakelog

define autocreate autocreate
attr autocreate autosave
attr autocreate device_room %TYPE
attr autocreate filelog /usr/local/FHEM/var/log/%NAME-%Y.log
attr autocreate weblink
attr autocreate weblink_room Plots

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create

define ZWStick ZWDongle /dev/ttyUSB0

# If the above notify did not helped, then you probably have to enable some of
# the following lines.  Verify first that /dev/xxx ist correct.

#define FHZ FHZ /dev/USB0
#define CUL CUL /dev/ttyACM0@9600 1234
#attr CUL rfmode HomeMatic

#define EUL TCM 310 /dev/ttyACM0@57600
#define BscBor TCM 120 /dev/ttyUSB0@9600
#define BscSmartConnect TCM 310 /dev/ttyUSB0@57600



justme1968

wenn im logfile
Zitat2013.05.16 19:29:54 3: Can't open /dev/ttyUSB0: No such file or directory
steht ist das device file nicht richtig angelegt.

das
Zitatusb 6-2: cp210x converter now attached to ttyUSB0
bedeutet nur das das modul gestartet ist und als ttyUSB0 ansprechbar wäre. nicht das das device file auch im filesystem angelegt worden ist.

schau mal mit ls nach ob es da ist. ansonsten schau mit lsmod ob das modul wirklich geladen ist.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

wolkensurfer

Sehr guter Hinweis Andre!

Habe mknod /dev/ttyUSB0 c 188 0 eingegeben und danach in fhem ein shutdown und restart ausgeführt - voila:

Zitat2013.05.16 23:42:40 1: usb scan starting
2013.05.16 23:42:40 3: Opening TCM310 device /dev/ttyUSB0
2013.05.16 23:42:40 3: Setting TCM310 baudrate to 57600
2013.05.16 23:42:40 3: TCM310 device opened
2013.05.16 23:42:41 3: Opening TCM120 device /dev/ttyUSB0
2013.05.16 23:42:41 3: Setting TCM120 baudrate to 9600
2013.05.16 23:42:41 3: TCM120 device opened
2013.05.16 23:42:41 3: Opening FHZ device /dev/ttyUSB0
2013.05.16 23:42:41 3: Setting FHZ baudrate to 9600
2013.05.16 23:42:41 3: FHZ device opened
2013.05.16 23:42:41 3: Opening TRX device /dev/ttyUSB0
2013.05.16 23:42:41 3: Setting TRX baudrate to 38400
2013.05.16 23:42:41 3: TRX device opened
2013.05.16 23:42:42 3: Opening ZWDongle device /dev/ttyUSB0
2013.05.16 23:42:42 3: Setting ZWDongle baudrate to 115200
2013.05.16 23:42:42 3: ZWDongle device opened
2013.05.16 23:42:42 1: usb scan end
2013.05.16 23:42:42 3: Opening ZWStick device /dev/ttyUSB0
2013.05.16 23:42:42 3: ZWStick device opened
2013.05.16 23:42:43 1: ZWStick: SOF missing (got 92 instead of 01)
2013.05.16 23:42:45 1: ZWStick: SOF missing (got 92 instead of 01)
2013.05.16 23:42:46 1: ZWStick: SOF missing (got 92 instead of 01)
2013.05.16 23:42:49 1: configfile: ### ttyUSB0: checking if it is a TCM310
got wrong answer for a TCM310
### ttyUSB0: checking if it is a TCM120
got wrong answer for a TCM120
### ttyUSB0: checking if it is a FHZ
got wrong answer for a FHZ
### ttyUSB0: checking if it is a TRX
got wrong answer for a TRX
### ttyUSB0: checking if it is a ZWDongle
create as a fhem device with: define ZWDongle_0 ZWDongle /dev/ttyUSB0@115200

2013.05.16 23:42:49 1: Including /usr/local/FHEM/var/log/fhem.save
2013.05.16 23:42:49 1: usb scan starting
2013.05.16 23:42:50 1: usb scan end
2013.05.16 23:42:50 3: initialUsbCheck return value: ### ttyUSB0: checking if it is a TCM310
already used by the ZWStick fhem device

2013.05.16 23:42:50 2: SecurityCheck:  WEB,WEBphone,WEBtablet has no basicAuth attribute. telnetPort has no password/globalpassword attribute. Running with root privileges. Restart fhem for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2013.05.16 23:42:50 0: Server started (version Fhem 5.3 (DEVELOPMENT), $Id: fhem.pl 1996 2012-10-20 07:11:56Z rudolfkoenig $, pid 9214)

Der Stick ist also schon mal ansprechbar! :-)

Jetzt muss ich "nur" noch herausfinden, was ich an gut gewählter Stelle ändern muss, damit dieser mknod-Befehl beim Systemstart der DS erfolgreich ausgeführt wird.

Ein dickes Dankeschön an Dich, Andre!

Gruss,

Andreas

justme1968

die mit mknod angelegten devices bleiben erhalten bis sie gelöscht werden. d.h. sie sollten auch einen reboot überstehen.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

wolkensurfer

Danke für den Hinweis, das macht die Sache für den Augenblick etwas entspannter. Ich werde mir die startup-Skripte intensiver anschauen. Habe gerade das hier im www gefunden:

ZitatNow you have to load the modules into the kernel and create the devices:

insmod usbserial.ko
insmod ftdi.ko
mknod /dev/usb/ttyUSB0 c 188 0
mknod /dev/usb/ttyUSB1 c 188 1


Also, add some lines like these to /etc/rc.local to make it persistent over reboot:

insmod /volume1/archive/usbserial.ko
insmod /volume1/archive/ftdi_sio.ko
mknod /dev/usb/ttyUSB0 c 188 0
mknod /dev/usb/ttyUSB1 c 188 1
[/b]

An der Stelle werde ich dann nächstens weiter machen...

Andre, nochmals vielen Dank für Deine tolle Unterstützung - Du hast mir sehr weiter geholfen!

Gruss,

Andreas