COC Initialisierung schlägt fehl (Cannot init /dev/ttyAMA0, ignoring it)

Begonnen von fussel, 11 Januar 2014, 22:40:12

Vorheriges Thema - Nächstes Thema

fussel

Hallo zusammen,

ich habe einen Raspberry Pi (Model B - 512MB) mit COC Erweiterung. Um es einfach zu halten verwende ich erstmal das busware Image (http://files.busware.de/RPi/README.raspbian).

Montage und Installation liefen problemlos. COC Modul aufgesetzt (bis es klickt). Image mit dd auf die SD Karte kopiert. Das OS fährt hoch, auch der fhem Server läuft. COC Test ist erfolgreich (hexdump -C /sys/bus/i2c/devices/0-0050/eeprom).

Allerdings wird der von mir verwendete Sensor nicht erkannt.
Im fhem log steht, dass der COC nicht initialisiert werden kann (Cannot init /dev/ttyAMA0, ignoring it).

Hier das Log:
2014.01.11 15:43:19 1: Including fhem.cfg
2014.01.11 15:43:23 3: telnetPort: port 7072 opened
2014.01.11 15:43:25 3: WEB: port 8083 opened
2014.01.11 15:43:25 3: WEBphone: port 8084 opened
2014.01.11 15:43:25 3: WEBtablet: port 8085 opened
2014.01.11 15:43:27 3: Opening COC device /dev/ttyAMA0
2014.01.11 15:43:27 3: Setting COC baudrate to 38400
2014.01.11 15:43:27 3: COC device opened
2014.01.11 15:43:36 1: Cannot init /dev/ttyAMA0, ignoring it
2014.01.11 15:43:36 1: usb create starting
2014.01.11 15:43:39 3: Opening CUL device /dev/ttyAMA0
2014.01.11 15:43:39 3: Setting CUL baudrate to 38400
2014.01.11 15:43:39 3: CUL device opened
2014.01.11 15:43:39 1: usb create end
2014.01.11 15:43:39 2: SecurityCheck:  WEB,WEBphone,WEBtablet has no basicAuth attribute. telnetPort has no password/globalpassword attribute.  Restart fhem for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2014.01.11 15:43:39 0: Server started (version Fhem 5.3 (DEVELOPMENT), $Id: fhem.pl 1996 2012-10-20 07:11:56Z rudolfkoenig $, pid 2045)

Habe ich was falsch gemacht oder vergessen?

Vielen Dank! Jens

chris1284

Habe auch den COC. Das er hin und wieder nicht zurverlässig in den "Initialized" geht ist normal(?) würd ich jetzt behaupten. Prüfe mal folgendes:
-Sitzt der COC richtig http://busware.de/tiki-index.php?page=COC_Installation es darf kein spalt am GPIO sein. Bei mir musste ich am COC etwas wegraspeln damit er über den Anschluss des Pi passt (wohl bei allen 512MB Versionen so)
-fhem aktuell? ->"update check" oben eingeben, enter wenn dort neu Dateien auftauchen würd ich auch "update" machen.
-hast du das in der "Start" -Sektion von  /etc/init.d/fhem stehen ("nano /etc/init.d/fhem" ausführen)? Sollte eigentlich, da Busware Image:
'start')
        echo "Resetting / booting COC (868MHz extension)..."
        if test ! -d /sys/class/gpio/gpio17; then echo 17 > /sys/class/gpio/export; fi
        if test ! -d /sys/class/gpio/gpio18; then echo 18 > /sys/class/gpio/export; fi
        echo out > /sys/class/gpio/gpio17/direction
        echo out > /sys/class/gpio/gpio18/direction
        echo 1 > /sys/class/gpio/gpio18/value
        echo 0 > /sys/class/gpio/gpio17/value
        sleep 1
        echo 1 > /sys/class/gpio/gpio17/value
        sleep 1
        echo "Starting fhem..."
        perl fhem.pl fhem.cfg
        RETVAL=$?
        ;;


wenn nein, eintragen ("sudo nano /etc/init.d/fhem) pi durchbooten. Das bewirk das reset und booten des COC beim FHEM-Start. Das kanst du ach in der shell eingeben um ihn zu reseten.

        if test ! -d /sys/class/gpio/gpio17; then echo 17 > /sys/class/gpio/export; fi
        if test ! -d /sys/class/gpio/gpio18; then echo 18 > /sys/class/gpio/export; fi
        echo out > /sys/class/gpio/gpio17/direction
        echo out > /sys/class/gpio/gpio18/direction
        echo 1 > /sys/class/gpio/gpio18/value
        echo 0 > /sys/class/gpio/gpio17/value
        sleep 1
        echo 1 > /sys/class/gpio/gpio17/value
        sleep 1


-Welche firmware hast du auf dem COC? aktuell ist V 1.57. Kannst du über "sudo hexdump -C /sys/bus/i2c/devices/0-0050/eeprom" oder in FHEM sehen. Wenn nein, flashen
http://busware.de/tiki-index.php?page=COC_Installation unter "uploading COC firmware"

Sollte aber aktuell sein, wenn du den COC von Busware erst gekauft hast.
Das ist auch noch sehr wichtig, sollte aber beim Image von Busware auch schon so sein, prüfen schadet nicht

ZitatTo free-up the serial line used by COC remove any references to ttyAMA0 in:

    /etc/inittab - comment or delete: T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
    /boot/cmdline.txt - and reboot!
Leider ist das Imgae von der Busware-Seite was Raspbian angeht veraltet (Buswareimage ist aus Oktober Kernel 3.6, aktuell ist 2014-01-07 Kernel 6.10)
Musst du wissen ob du updatest. Ich habe z.B. die Lernelpatches nicht installiert weil sie älter als der aktuelle Kernel sind, muss aber damit leben kein 1-wire, eeprom und hw-clock zu haben.
Ich weiss nicht ob die Kernelpatches trotzdem mit dem aktuellen Image laufen...

fussel

Danke für die schnelle Antwort.

re Zusammenbau: Der Spalt ist geschossen. Allerdings frage ich mich, wo man ggf etwas wegraspeln soll. Das scheint alles super zu passen (siehe Fotos).
https://www.dropbox.com/s/h92ytqxsrt71ddk/IMG_5669.jpg
https://www.dropbox.com/s/0jkm8ms5t2xlelv/IMG_5670.JPG

re fhem update: Ein Update hatte ich gemacht, nachdem das mit dem unveränderten busware Image nicht funktionierte. War danach aber auch nicht besser. 'version' ergibt:

# $Id: fhem.pl 4603 2014-01-10 12:28:58Z rudolfkoenig $
# $Id: 00_CUL.pm 4530 2014-01-02 13:56:09Z rudolfkoenig $
# $Id: 01_FHEMWEB.pm 4605 2014-01-10 14:33:50Z rudolfkoenig $
# $Id: 92_FileLog.pm 4607 2014-01-10 15:01:13Z rudolfkoenig $
# $Id: 99_SUNRISE_EL.pm 4537 2014-01-03 08:28:59Z rudolfkoenig $
# $Id: 99_Utils.pm 3595 2013-08-05 05:38:48Z tobiasfaust $
# $Id: 99_XmlList.pm 1840 2012-09-12 13:52:08Z rudolfkoenig $
# $Id: 98_autocreate.pm 4234 2013-11-17 10:19:41Z rudolfkoenig $
# $Id: 91_notify.pm 3738 2013-08-18 14:13:59Z rudolfkoenig $
# $Id: 98_telnet.pm 3738 2013-08-18 14:13:59Z rudolfkoenig $


re fhem initd: der Starteintrag für den COC ist drin.

re COC firmware:

00000000  43 4f 43 20 56 31 2e 31  20 46 55 4c 4c 20 32 30  |COC V1.1 FULL 20|
00000010  31 33 2d 31 31 2d 32 38  0a ff ff ff ff ff ff ff  |13-11-28........|
00000020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|


re freimachen von ttyAMA0: sowohl in inittab als auch cmdline.txt sind die Einträge raus bzw. auskommentiert


Ein Hinweis noch: Bevor ich das busware Image eingespielt habe, hatte ich mir alles manuell aufgesetzt, also das neueste Raspbian Image, fhem installiert, Kernel Patches eingespielt, COC geflushed... Das ging aber leider auch nicht. Vielleicht gibt es irgendeinen Versions-Konflikt?

Danke, Jens




chris1284

mmm du hats V1.1 als Firmware, ich hbe z.B. V1.57 . Evtl. mal die Firmware zu flashen:

hier mein vorgehen aus meiner eigenen Dokus nach der es funktioniert (beimir)
Zitat4. COC Firmware
firmware besorgen (hier für COC mit 1-wire, rtc, eeprom)
wget "http://sourceforge.net/p/culfw/code/HEAD/tree/trunk/culfw/Devices/COC/COC.hex?format=raw"
datei umbenennen
mv COC.hex?format=raw COC.hex
root werden
sudo bash
avrdude, flashprogram, installieren

apt-get install avrdude

flashen
echo "calling COC bootloader..."
if test ! -d /sys/class/gpio/gpio17; then echo 17 > /sys/class/gpio/export; fi
if test ! -d /sys/class/gpio/gpio18; then echo 18 > /sys/class/gpio/export; fi
echo out > /sys/class/gpio/gpio17/direction
echo out > /sys/class/gpio/gpio18/direction
echo 0 > /sys/class/gpio/gpio18/value
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio18/value
avrdude -p atmega1284p -P /dev/ttyAMA0 -b 38400 -c avr109 -U flash:w:COC.hex


Denn dasProblem ist:  fängt der avrdude an zu flashen schmeisst er wohl alles vom COC runter. Kommt dann ein Fehler (.hex nicht gefinden z.B) ist nur noch der bootloader drauf (hoffe ich hab mich richtig ausgedrückt) und der COC ist so nicht verwendbar, hatte ich auch schon. Da hilf sauber drüber flashen.

Wie blinkt denn deine LED?


fussel

Das sieht jetzt schon besser aus  :D

Habe den COC neu geflushed. Jetzt blinkt auch die LED (vorher nicht). Auch habe ich jetzt einen Eintrag vom Sensor.
Firmware sagt zwar immer noch, dass sie Version 1.1 ist, aber egal ;-)

Vielen Dank! Jens

d0np3p3

Geh beim COC mal auf get Version, dann sollte er die aktuelle Version auslesen.
FHEM: Raspberry Pi (COC) & Fritz 7270 (freetz FHEM2FHEM)
IT (Elro AB440 AB600D) - Max! (6*regler 1*Thermostat 5*Fenster) Hue Bridge mit Bulbs - 2*Living-white Adapter - Iris
XBMC (Zbox) 4*SqueezeRadios 3*squeezelite dbox
AndFhem (Nexus4)