Nachdem ich schon mehrere Monate problemlos FHEM (nicht AVM Version) auf meiner Fritz!Box laufen habe, mußte nun die neuste AVM Firmware her. Das Starten von FHEM per Putty ist zwar nicht das Gelbe von Ei aber bei gefühlten 2 Stromausfällen im Jahr noch verschmerzbar. Zu meiner Überraschung mußte ich jedoch feststellen, das FHEM meinen CUL als "disconnected" anzeigt.
Eine Nachschau im Log ergab diesen Eintrag:
Zitat2014.09.11 19:35:15 3: Opening CUL_0 device /dev/ttyACM0
2014.09.11 19:35:16 3: Can't open /dev/ttyACM0: No such file or directory
In der Fritz!Box wir der CUL ordentlich bei den USB-Geräten als -
busware.de CUL868 USB-Gerät Für die Nutzung mit dem USB-Fernanschluss reserviert - angezeigt.
Nach downgrade auf die 6.04 funktioniert alles wieder wie es soll.
Hat irgendwer ne Idee oder noch besser ne Lösungsmöglichkeit hierzu.
Gruß und Danke
TTPlayer
Hallo,
habe auch das Problem, dass FHEM sich nicht meldet und habe diesen Thread gefunden:
http://forum.fhem.de/index.php/topic,25067.165.html
(http://forum.fhem.de/index.php/topic,25067.165.html)
Das wäre eine Erklärung. Komme aber erst die Tage zum Testen und Probieren.
VG Dirk
Nach der Fehlermeldung zu urteilen ist cdc-acm.ko nicht mehr Teil der Firmware. Ich wuerde es aus einem alten Firmware nach /var/InternerSpeicher/fhem/lib kopieren, und in startfhem per "insmod lib/cdc-acm.ko" starten.
Zitathabe auch das Problem, dass FHEM sich nicht meldet und habe diesen Thread gefunden:
Da hast Du was falsch verstanden. Mein FHEM lässt sich per Telnet starten und auch über die Webseite aufrufen. Allerdings wird mein CUL als disconnected angezeigt und somit können auch keine Signale gesendet werden.
@rudolfkoenig
Werde versuchen Deinen Lösungsvorschlag mit meinen nur rudimentär vorhandenen Linux-Kentnissen umzusetzen und dann berichten.
G
TTPlayer
So, habe jetzt mal ein bißchen rumprobiert. Besagte cdc-acm.ko habe ich mir besorgt und in das genannte Verzeichnis kopiert. Den Eintrag in der starfhem habe ich hinzugefügt, allerdings bin ich mir nicht sicher ob auch an der richtigen Stelle?? Mein CUL wird jedoch nach wie vor als disconnected angezeigt. Reboot und was dazu gehört habe ich antürlich gemacht.
Zitat#!/bin/sh
home=/var/InternerSpeicher/fhem
cd $home
trap "" SIGHUP
modprobe cdc_acm
modprobe ftdi_sio
sleep 2
ln -sf $home/FHEM/fhemcmd.sh /var/fhemcmd
PATH=$home:$PATH
export PATH
export LD_LIBRARY_PATH=$home/lib
export PERL5LIB=$home/lib/perl5/site_perl/5.12.2/mips-linux:$home/lib/perl5/site_perl/5.12.2:$home/lib/perl5/5.12.2/mips-linux:$home/lib/perl5/5.12.2
insmod lib/cdc-acm.ko
# add user fhem with uid of boxusr80/boxusr99 (== ftpuser)
# Comment/delete everything between START and END to run FHEM as root
## START:fhem-user
id fhem > /dev/null 2>&1
if test "$?" -ne "0"; then
grep -q 1099 /etc/passwd;
if test $? -eq "0"; then
echo "fhem:any:1099:0:fhem:/home-not-used:/bin/sh" >>/var/tmp/passwd
else
echo "fhem:any:1080:0:fhem:/home-not-used:/bin/sh" >>/var/tmp/passwd
fi
chown -R fhem FHEM docs log www
chown fhem . *
chown root dfu-programmer
chmod u+s dfu-programmer
fi
## END:fhem-user
perl fhem.pl fhem.cfg
Vor dem sleep waere es besser.
Man kann es via telnet/putty auch direkt pruefen:
Zitatcd /var/InternerSpeicher/fhem
insmod lib/cdc-acm.ko
ls -l /dev/ttyACM*
Irgendwelche Fehlermeldungen sind da einfacher zu entdecken.
Merkwuerdig, dass in der Zeilen drueber cdc-acm mit Unterstirch geschrieben ist. Ist eigentlich falsch.
Die von Dir vorgeschlagene Prüfung via telnet ergibt nachfolgendes:
Zitatroot@fritz:/var/media/ftp/fhem# insmod lib/cdc-acm.ko
insmod: can't insert 'lib/cdc-acm.ko': File exists
root@fritz:/var/media/ftp/fhem# ls -l /dev/ttyACM*
ls: /dev/ttyACM*: No such file or directory
ZitatMerkwuerdig, dass in der Zeilen drueber cdc-acm mit Unterstirch geschrieben ist. Ist eigentlich falsch
Die werden aber genau so von diesem Image (fhem-5.5-fb7390.image) installiert.
Zitatls: /dev/ttyACM*: No such file or directory
Kannst du die Ausgabe von "ls -l /dev" hier anhaengen?
Mach ich doch gerne.
Es scheint so, dass die notwendigen Geraeteknoten (/dev/ttyACM*) bei dir nicht automatisch angelegt werden.
Das uebernimmt normalerweise das udev daemon (auch auf der FB), ich weiss nicht, wieso es in deinem Fall nicht aktiv war. Man kann es auch per Hand (die AVM-FHEM-Version hat das die ganze Zeit gemacht, da es in einem chroot, abgeschottet vom udev lebt), man muss nur die korrekte major/minor Nummer fuer mknod wissen.
Versuchs mal aus dem telnet mit
mknod /dev/ttyACM0 c 166 0
FHEM muesste eigentlich alle 5 Sekunden nach dem Knoten schauen, und wenn es auftaucht, es automatisch oeffnen wollen. Aber falls es schiefgeht, gibt es keine neue Fehlermeldung, deswegen ist ein FHEM-Neustart besser.
Ich habe jetzt extra ob der vielen rumprobiererei der letzten Tage die originale 6.20er Firmware sowie FHEM komplett neu und clean aufgesetzt.
Den Befehl
mknod /dev/ttyACM0 c 166 0
per telnet ausgeführt. Dann FHEM mehrmals neu gestartet.
Mein CUL ist aber nach wie vor und hartnäckig "disconnected".
Hat eigentlich wer seine CUL auf einer 7390 mit Firmware 6.20 am Laufen???
Will ja nicht den Spaß verderben, aber ist es nicht mittlerweile sinnvoll FHEM außerhalb der FritzBox auf einem Einplatinencomputer laufen zu lassen?? Zumal die Performance dann auch etwas besser ist. Und der Stromverbrauch ist jetzt nicht gerade riesig. :o
Warum den Spaß verderben. Ich hab nur keine Lust mich so ohne weiteres von liebgewonnenene Gewohnheiten / Geräten zu trennen. Notfalls läuft sie mit der letzten lauffähigen Firmware bis zu ihrem seligen Ende.
Und außerdem halte ich von der inflationären Ausbreitung dieser Einplatinencomputer im Haushalt nichts.
Wäre ja möglich gewesen dass FHEM auch ohne große Klimmzüge auch auf den zugeschnürten neuen Firmwares gelaufen wäre. Scheint wohl aber nicht so zu sein.
@ttplayer: was steht denn jetzt beim FHEM-Start im Log?
Es ist mir gerade aufgefallen:
ZitatFür die Nutzung mit dem USB-Fernanschluss reserviert
reserviert klingt doch so, dass es fuer andere (wie FHEM) nicht verfuegbar ist.
Kann man das in der Fb Oberflaeche abstellen?
Es war tatsächlich die Einstellung bezüglich des USB-Fernanschluß. Da ich die 6.20 von der 6.04 aus per Update aufgespielt habe, war diese Einstellung von dort übernommen worden.
In der 6.04er Firmware hat diese Einstellung FHEM aber nicht von der Initialisierung des CUL abgehalten.
Auf jeden Fall funktioniert es jetzt.
Vielen Dank Rudolf!!!!!
Hallo,
ich habe das geliche Problem, aber bei mir ist der USB-Veranschluß nicht aktiviert. Mein Fritz-Box zeigt ein unbekanntes USB-Gerät und schreibt "Das USB-Gerät kann nicht verwendet werden.Aktivierung des USB-Fernanschlusses für den Gerätetyp "Andere" kann die Nutzung einiger USB-Geräte ermöglichen."
Wenn ich über Fhem-Telnet ein usb scan ausführe, sagte mir "cannot open the device"
Wenn ich define CUL1 CUL /dev/ttyACM0@9600 1234
bekomme ich
Can't locate Device/SerialPort.pm in @INC (@INC contains: /var/InternerSpeicher/fhem/opt/lib/perl5/5.12.2//mips-linux /var/InternerSpeicher/fhem/opt/lib/perl5/5.12.2/ /opt/lib/perl5/site_perl/5.12.2/mips-linux /opt/lib/perl5/site_perl/5.12.2 /opt/lib/perl5/5.12.2/mips-linux /opt/lib/perl5/5.12.2 . ./FHEM) at ./FHEM/DevIo.pm line 256.
Ich habe den FB zig mal mit eingestecktem USB neu gestartet, hat aber nicht geholfen. Es scheint mir so zu sein, dass seit der FB Update die USB-Ports irgendwie blockiert sind.
mknod /dev/ttyACM0 c 166 0 hat auch nicht geholfen.
Ich habe ein FHem-Update auch durchgeführt, hat aber nicht geholfen... Alle andere Fhem-Funktionen sind einwandfrei (zB. KNX)
Ideen?
ps: da AVM nun Fhem nicht mehr unterstützt, werde ich -wenn ich mal Zeit habe- den Server umziehen. Auf meinen NAS wäre es am sinnvollstän, nur das steht im Keller und die Frage ist, ob der CUL über 2-3 Betondecke noch was emfangen kann...
Can't locate Device/SerialPort.pm
Beide FritzBOX FHEM Pakete installieren diese Datei.
Entweder war die Installation unvollstaendig ("Festplatte" voll), oder die "Festplatte" ist kaputtgegangen (korrupt).
@ tt-player: Habe auch das Problem, dass mein CUL disconnected ist. Könntest du deine (funktionierenden) Einstellungen bzgl. des USB-Anschlusses einmal posten.
Meine Einstellungen sind:
USB-Geräte (Reiter 1): busware.de CUL868 USB-Gerät Für die Nutzung mit dem USB-Fernanschluss reserviert.
USB-Fernanschluss (Reiter 3): Fernanschluss "aktiviert" für "andere".
Geht nicht :-(
Vielen Dank,
Hans
Gelöst: USB-Fernanschluss muss deaktiviert sein. Habe mal Screenshots der beiden relevanten Seiten gemacht...
(http://www.sebastianwewer.de/fhemfw620a.jpg)
(http://www.sebastianwewer.de/fhemfw620b.jpg)
Mit diesen Einstellungen funktioniert es bei mir...
bei mir sieht es genauso aus, trotdem erkennt FHem den Cul nicht. Wenn ich im Fhem Telnet mit usb scan mache
fhem> usb scan
### ttyACM1: checking if it is a CUL
cannot open the device
### ttyUSB0: checking if it is a TCM_ESP3
cannot open the device
### ttyUSB1: checking if it is a TCM_ESP3
cannot open the device
kommt nichts. Alle andere Fhem funktion läuft problemlos.
Hier ist die Fehlermeldung:
2014.10.26 14:30:24 3: Opening CUL device /dev/ttyACM1
2014.10.26 14:30:24 1: Can't locate Device/SerialPort.pm in @INC (@INC contains: /var/InternerSpeicher/fhem/opt/lib/perl5/5.12.2//mips-linux /var/InternerSpeicher/fhem/opt/lib/perl5/5.12.2/ /opt/lib/perl5/site_perl/5.12.2/mips-linux /opt/lib/perl5/site_perl/5.12.2 /opt/lib/perl5/5.12.2/mips-linux /opt/lib/perl5/5.12.2 . ./FHEM) at ./FHEM/DevIo.pm line 256.
2014.10.26 14:30:24 1: define CUL CUL CUL /dev/ttyACM1@9600 1234: Can't locate Device/SerialPort.pm in @INC (@INC contains: /var/InternerSpeicher/fhem/opt/lib/perl5/5.12.2//mips-linux /var/InternerSpeicher/fhem/opt/lib/perl5/5.12.2/ /opt/lib/perl5/site_perl/5.12.2/mips-linux /opt/lib/perl5/site_perl/5.12.2 /opt/lib/perl5/5.12.2/mips-linux /opt/lib/perl5/5.12.2 . ./FHEM) at ./FHEM/DevIo.pm line 256.
und das gleiche für USB0/USB1 auch.
Danach habe ich die SerialPort dahinkopiert und bekam das
2014.10.26 14:56:32 1: define CUL CUL CUL /dev/ttyUSB0@9600 1234: Attempt to reload Device/SerialPort.pm aborted.
Compilation failed in require at ./FHEM/DevIo.pm line 256.
Device/Serialport.pm ist Teil der FB-Perl Distribution, und es wurde 1000-fach getestet. Wenn man irgendwas kopieren muss, dann ist entweder die Installation kaputtgegangen (Platte war voll), oder die interne "Festplatte" ist kaputt.