SCC auf dem Raspberry 3

Begonnen von Shardan, 06 März 2016, 20:00:44

Vorheriges Thema - Nächstes Thema

wolfma

#30
hier die gewünschten outputs


pi@raspberrypi:~ $ ls -l /dev/ttyAMA0 /dev/ttyS0
ls: cannot access /dev/ttyAMA0: No such file or directory
crw-rw---- 1 root dialout 4, 64 Aug 21 14:18 /dev/ttyS0

pi@raspberrypi:~ $ id fhem
uid=999(fhem) gid=20(dialout) groups=20(dialout)

pi@raspberrypi:~ $ groups fhem
fhem : dialout


ich habe jetzt noch folgendes probiert

sudo chmod 666 /dev/ttyS0


dann gibt

pi@raspberrypi:~ $ ls -l /dev/ttyAMA0 /dev/ttyS0
ls: cannot access /dev/ttyAMA0: No such file or directory
crw-rw-rw- 1 root dialout 4, 64 Aug 21 14:23 /dev/ttyS0


FHEM liefert bei restart weiterhin die selbe Fehlermeldung

2016.09.05 21:36:10 3: Opening CULINTERTECHNO device /dev/ttyS0
2016.09.05 21:36:10 1: PERL WARNING: can't getattr: Input/output error at ./FHEM/DevIo.pm line 383.
2016.09.05 21:36:10 3: Can't open /dev/ttyS0: Input/output error
2016.09.05 21:36:11 1: Including ./log/fhem.save


die minicom gibt bei V nichts zurück

Markus_F

SCC & CULINTERTECHNO passen nicht zusammen .....
define SCC CUL /dev/ttyAMA0@38400 1234
attr SCC group CUL
attr SCC hmId F95601
attr SCC model CUL
attr SCC rfmode HomeMatic
attr SCC room Technik


was mich wunder ist, dass das "V" bei der minicom keine Info ausgibt: Sprechen wir wirklich von busware SCC V2.0 ?
Denn dieses Module kommt mit micro code.
Also erst mal "minicom" lösen, was bedeuten kann das board zu flashen ... http://busware.de/tiki-index.php?page=SCC_Installation

--- Markus

wolfma

mein Verständnis war, dass "SCC" der frei wählbare Name ist und daher habe ich das zur besseren Übersicht durch "CULINTERTECHNO" ersetzt. Habe aber jetzt wie angeregt in der FHEM Config wieder SCC verwendet, die Initialisierung sieht jetzt so aus:


# CUL 433 MHZ
define SCC CUL /dev/ttyS0@38400 1234


das ändert aber leider nichts an der response im FHEM log, die sieht weiterhin so aus:

2016.09.06 19:58:23 3: Opening SCC device /dev/ttyS0
2016.09.06 19:58:23 1: PERL WARNING: can't getattr: Input/output error at ./FHEM/DevIo.pm line 383.
2016.09.06 19:58:23 3: Can't open /dev/ttyS0: Input/output error


zur Frage ob es sich wirklich um SCC 2.0 von busware handelt, hier die Informationen von der Busware Rechnung, ausgestellt am 06.08.2016


1 x Stackable CC1101 transceiver board for Raspberry
- Frequency: 433MHz (IT, etc)
- Antenna: RP-SMA +3dBi 5cm (+16,80EUR)
- Firmware: none
- Mount kit: inclusive (+4,21EUR)
- Shield: none


am Modul selbst steht auf der blauen Platine aufgedruckt

Busware SCC V2.0


bleibt nur mehr der Tipp das board zu flashen, aber da komme ich zurück zu meiner vorhergehenden Frage: wie geht das, kann mit der Anleitung auf der busware seite leider nichts anfangen:


The makefile inside Device/SCC directory is prepared to flash new firmware by running:
make program


es gibt kein /SCC innerhalb von /dev/ttyS0 oder verstehe ich das komplett falsch..

danke,
lg



M_I_B

#33
... schon witzig: Auf der Rechnung steht "keine", auf dem SCC die Revisionsnummer? Da würde ich ja mal stumpf bei BusWare nachfragen, auch wenn ich wenig Hoffnung habe, das von dort eine (sinnvolle) Antwort kommt (aus eigener Erfahrung) ...

Ansonsten gibt es zwei interessante Seiten, auf denen das m.E. gut erklärt ist:

http://www.fhemwiki.de/wiki/CUL_am_Raspberry_Pi_flashen

http://www.computerhilfen.de/info/fhem-cul-flashen-und-neue-firmware-installieren.html

Das bezieht sich zwar auf den CUL, aber der Vorgang ist identisch zum SCC (Taste) und und dem ganzen drum herum. Wer eine StepByStep für den SCC hat, kann ja auch mal einen Link bereit stellen ...

wolfma

danke, das versuche ich, aber jetzt sehe ich gerade was anderes: auf der Rechnung die ich oben kopiert habe steht "Firmware: non" - das könnte es erklären..

M_I_B

... das meinte ich ja: Rechnung = none / auf dem SCC die FW- Rev ... Passt ja nicht zusammen ...

wolfma

so... neverending story. Ich habe mich mittlerweile damit abgefunden, dass Busware wohl meine SCC ohne Firmware ausgeliefert hat, darum habe ich mich jetzt ans flashen gemacht - leider auch das nicht problemlos. Ich habe folgende Schritte gemacht:


sudo apt-get install dfu-programmer
sudo apt-get install build-essential
sudo apt-get install avrdude

cd /home/pi
wget http://culfw.de/culfw-1.66.tar.gz
gunzip culfw-1.66.tar.gz
tar xfv culfw-1.66.tar
cd culfw-1.66/
cd Devices/
cd SCC

-- KNOPF AM SCC MODUL GEDRÜCKT GEHALTEN UND
sudo make program


es kommt folgender output


calling radio frontends bootloader ...

KEEP THE MICRO BUTTON PRESSED AT DESIRED EXTENSION

if test ! -d /sys/class/gpio/gpio17; then echo 17 > /sys/class/gpio/export; fi
echo out > /sys/class/gpio/gpio17/direction
echo 0 > /sys/class/gpio/gpio17/value
if test ! -d /sys/class/gpio/gpio18; then echo 18 > /sys/class/gpio/export; fi
echo out > /sys/class/gpio/gpio18/direction
echo 0 > /sys/class/gpio/gpio18/value
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio18/value
echo in > /sys/class/gpio/gpio18/direction
echo 18 > /sys/class/gpio/unexport
avrdude -p atmega1284p -P /dev/ttyAMA0 -c avr109 -b 38400 -V   -U flash:w:SCC.hex
avrdude: ser_open(): can't open device "/dev/ttyAMA0": No such file or directory

avrdude done.  Thank you.


schnell kombiniert, dass ich ja den Raspberry pi 3, Jesyy habe und mit sudo nano makefile das /dev/ttyAMA0 auf /tty/ttyS0 geändert und sudo make program gleich nochmal mit gedrücktem SCC Knopf gestartet,
es kommt folgender output


calling radio frontends bootloader ...

KEEP THE MICRO BUTTON PRESSED AT DESIRED EXTENSION

if test ! -d /sys/class/gpio/gpio17; then echo 17 > /sys/class/gpio/export; fi
echo out > /sys/class/gpio/gpio17/direction
echo 0 > /sys/class/gpio/gpio17/value
if test ! -d /sys/class/gpio/gpio18; then echo 18 > /sys/class/gpio/export; fi
echo out > /sys/class/gpio/gpio18/direction
echo 0 > /sys/class/gpio/gpio18/value
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio18/value
echo in > /sys/class/gpio/gpio18/direction
echo 18 > /sys/class/gpio/unexport
avrdude -p atmega1284p -P /dev/ttyS0 -c avr109 -b 38400 -V   -U flash:w:SCC.hex
avrdude: ser_open(): can't set attributes for device "/dev/ttyS0": Inappropriate ioctl for device

avrdude done.  Thank you.

makefile:231: recipe for target 'program' failed
make: *** [program] Error 1


damit stehe ich leider wieder ratlos an.. wenn ich /dev/ttyS0 mit chmod 666 alle Rechte gebe, ändert das auch nichts, es kommt die selbe Fehlermeldung vom avrdude.

wolfma

ergänzung, jetzt hab ichs.. in der /boot/config.txt war von einem meiner vielen versuche unabsichtlich enable_uart=0 gesetzt, auf =1 geändert, damit war das flashen erfolgreich,
interessanterweise ist damit zusätzlich zu ttyS0 auch ttyAMA0 aufgetaucht, minicom auf ttyS0 gibt nichts mit V zurück, auf ttAMA0 kommt jetzt endlich die Versionsnummer, in FHEM auch auf ttyAMA0 geändert und wir sind connected!!

herzlichen Dank für den Beistand an alle. Hauptfehler war definitiv, dass die SCC ab Werk nicht geflasht war und mir das nicht bewusst war..

conclusio für Rasperry pi 3 jessie:
1) /boot/config.txt muss folgende 2 zeilen am ende enthalten: dtoverlay=pi3-disable-bt  sowie enable_uart=1
2) SCC muss Firmware enthalten (wenn minicom -b 38400 -o -D /dev/ttyAMA0 und minicom -b 38400 -o -D /dev/ttyS0 beim drücken von V keinen Output liefert, fehlt die Firmware, firmware kann mit folgender Befehlsfolge aufgespielt werden:


sudo apt-get install dfu-programmer
sudo apt-get install build-essential
sudo apt-get install avrdude

cd /home/pi
wget http://culfw.de/culfw-1.66.tar.gz
gunzip culfw-1.66.tar.gz
tar xfv culfw-1.66.tar
cd culfw-1.66/
cd Devices/
cd SCC

-- KNOPF AM SCC MODUL GEDRÜCKT GEHALTEN UND
sudo make program


wenn dabei eine fehlermeldung kommt, dass /dev/ttAMA0 nicht exisitiert, mit nano makefile das makefile öffnen und /dev/ttyAMA0 durch /dev/ttyS0 ersetzen und nochmal sudo make program mit gedrücktem knopf starten


szoller

Moin,

muss mich hier mal anhängen:

Habe meinen Raspberry Pi 3 mit Jessie gemäß der Anleitung:
https://wiki.fhem.de/wiki/Raspberry_Pi_3:_GPIO-Port_Module_und_Bluetooth

eingestellt, hab es nun nach langem Probieren geschafft, alle 3 SCCs (SCC1: 433Mhz, ohne rfMode, SCC2: 868Mhz, Max, SCC3: 868Mhz, slowRF) neu am RPi3 flashen zu können und auch minicom zeigte nun die Version des untersten SCCs (aculfw 1.66), die andren beiden SCCs sind mit der aktuellsten normalen culfw geflashed worden.

Habe das Ganze nun in Fhem hinzugefügt (s.u), nun erhalte ich die Fehlermeldung:
Zitat2017.02.18 11:11:24 3: Setting SCC1 serial parameters to 38400,8,N,1
2017.02.18 11:11:24 3: SCC1 device opened
2017.02.18 11:11:33 1: Cannot init /dev/ttyAMA0, ignoring it (SCC1)
2017.02.18 11:11:33 2: Switched SCC2 rfmode to MAX
2017.02.18 11:11:33 2: Switched SCC3 rfmode to SlowRF

Okay, dachte ich mir, starte ich mal neu...
Nach einem Neustart tut sich auch bei minicom nichts mehr, keine Versionsnummer, ich kann V drücken wie ich will...
In FHEM dasselbe Ergebnis wie oben.

Meine Konfigurationsdateien:
/boot/cmdline.txt
Zitat
#dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

/boot/config.txt
Zitat# For more options and information see
# http://www.raspberrypi.org/documentation/configuration/config-txt.md
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
#disable_overscan=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

# Uncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
dtparam=audio=on
enable_uart=1

dtoverlay=pi3-miniuart-bt
enable_uart=1
force_turbo=1

/lib/systemd/system/hciuart.service
Zitat[Unit]
Description=Configure Bluetooth Modems connected by UART
ConditionPathIsDirectory=/proc/device-tree/soc/gpio@7e200000/bt_pins
Before=bluetooth.service
After=dev-serial1.device

[Service]
Type=forking
ExecStart=/usr/bin/hciattach /dev/serial1 bcm43xx 921600 noflow -

[Install]
WantedBy=multi-user.target

fhem.cfg (Ausschnitt)
Zitatdefine SCC1 CUL /dev/ttyAMA0@38400 1234

define SCC2 STACKABLE_CC SCC1
attr SCC2 rfmode MAX

define SCC3 STACKABLE_CC SCC2
attr SCC3 rfmode SlowRF

Sieht da jemand einen Fehler?

justme75

Moin moin,

Zitat von: szoller am 18 Februar 2017, 11:16:30
Moin,

muss mich hier mal anhängen:

Habe meinen Raspberry Pi 3 mit Jessie gemäß der Anleitung:
https://wiki.fhem.de/wiki/Raspberry_Pi_3:_GPIO-Port_Module_und_Bluetooth
[...]

fhem.cfg (Ausschnitt)
Sieht da jemand einen Fehler?


Was mir nur auffällt beim überfliegen: hast Du für die unterste SCC1 auch ein rfmode-Attribut gesetzt? Das Device ttyAMA0 existiert auch und ist benutzbar? Wo (in welcher Datei) initialisierst Du denn die GPIO-Ports (zB in /etc/init.d/fhem mit dem folgenden Codeblock)?

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


Hast Du mal versucht, ohne fhem zu starten nach einem Reboot des Pi die SCC manuell aus dem Reset zu holen und dann mit minicom darauf zuzugreifen?

lg, justme

szoller

Moin  :)
Zitat von: justme75 am 24 Februar 2017, 10:02:06
Was mir nur auffällt beim überfliegen: hast Du für die unterste SCC1 auch ein rfmode-Attribut gesetzt?
Brauche ich das? Dachte bei 433Mhz wäre das nicht nötig (will damit v.a. IT ansprechen)

Zitat von: justme75 am 24 Februar 2017, 10:02:06
Das Device ttyAMA0 existiert auch und ist benutzbar?
Ja, das war vorhanden, bin da gemäß Anleitung vorgegangen...

Zitat von: justme75 am 24 Februar 2017, 10:02:06
Wo (in welcher Datei) initialisierst Du denn die GPIO-Ports (zB in /etc/init.d/fhem mit dem folgenden Codeblock)?

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

DAS war der Knackpunkt. Mir war nicht klar, dass das bei jedem Start des RPi gemacht werden muss. Die Installation des alten RPi 1 ist schon etwas her...
Ist nun in der /etc/init.d/fhem drin und übersteht auch einen Neustart des Systems, klappt nun...

Vielen, viele Dank!