FB7390 FW 6.20 -->CUL disconnected

Begonnen von ttplayer, 11 September 2014, 19:59:50

Vorheriges Thema - Nächstes Thema

ttplayer

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

Cosmo

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

Das wäre eine Erklärung. Komme aber erst die Tage zum Testen und Probieren.
VG Dirk
Fhem auf Raspberry B+
FHT80TF-2 (12x); FS20-Piri2 (2x)
S300TH (8x); FS20-ST (10x) ; FS20RSU(16x)
DECT200 (8x)

rudolfkoenig

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.

ttplayer

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

ttplayer

#4
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

rudolfkoenig

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.

ttplayer

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.

rudolfkoenig

Zitatls: /dev/ttyACM*: No such file or directory

Kannst du die Ausgabe von "ls -l /dev" hier anhaengen?

ttplayer


rudolfkoenig

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.

ttplayer

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???

tommi

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

ttplayer

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.

rudolfkoenig

@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?

ttplayer

#14
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!!!!!