SBC Umstieg, HM-MOD-RPi-PCB mit USB zu seriell Adapter betreiben

Begonnen von mark79, 14 April 2018, 01:49:02

Vorheriges Thema - Nächstes Thema

mark79

Hallo,

ich bin gerade am verzweifeln... ich steige gerade von einem RPi1 auf ein Rock64 Board um und benötige die HM-MOD Platine für meine Heizkörperthermostate.
Da ich die GPIO Ports am Rock64 nicht nutzen kann, habe ich die HM-MOD Platine auf ein CP2102 TTL USB Interface gelötet (3,3 Volt), welche auch auf dem alten RPi1 funktioniert (2x getestet), jedoch funktioniert das nicht auf dem Rock64 Board und ich weiß nicht warum.

Die rechte stimmen und der nanoCUL funktioniert auch, der am selben USB Hub (mit externer Stromversorgung) hängt.

Hier noch ein paar Daten:
root@rock64:~# tail -f /opt/fhem/log/fhem-2018-04.log  | grep HMUARTLGW
2018.04.14 01:50:39 1: HMUARTLGW hmUART: Device not initialized (state: 0, disconnected) but asked to send data. Dropping: As0B18847033ABCD00000000D4
2018.04.14 01:50:43 1: HMUARTLGW hmUART did not respond for the 1. time, resending
2018.04.14 01:50:46 1: HMUARTLGW hmUART did not respond for the 2. time, resending
2018.04.14 01:50:49 1: HMUARTLGW hmUART did not respond for the 3. time, resending
2018.04.14 01:50:52 1: HMUARTLGW hmUART did not respond after all, reopening
2018.04.14 01:50:57 1: HMUARTLGW hmUART did not respond for the 1. time, resending
2018.04.14 01:51:03 1: HMUARTLGW hmUART did not respond for the 2. time, resending
2018.04.14 01:51:06 1: HMUARTLGW hmUART did not respond for the 3. time, resending


root@rock64:~# ls -l /dev/serial/by-id/
insgesamt 0
lrwxrwxrwx 1 root root 13 Apr 13 22:59 usb-1a86_USB2.0-Serial-if00-port0 -> ../../ttyUSB1
lrwxrwxrwx 1 root root 13 Apr 13 22:59 usb-FTDI_FT232R_USB_UART_A9SZV11H-if00-port0 -> ../../ttyUSB2
lrwxrwxrwx 1 root root 13 Apr 13 22:59 usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 -> ../../ttyUSB0

root@rock64:~# ls -l /dev | grep ttyUSB
crw-rw---- 1 root dialout 188,   0 Apr 14 00:56 ttyUSB0
crw-rw---- 1 root dialout 188,   1 Apr 14 00:47 ttyUSB1
crw-rw---- 1 root dialout 188,   2 Apr 14 01:52 ttyUSB2


root@rock64:~# dmesg | grep CP2102
[    3.252368] usb 2-1.2: Product: CP2102 USB to UART Bridge Controller


Internals:
   CNT        1
   Clients    :CUL_HM:
   DEF        /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0
   DevState   1
   DevType    UART
   DeviceName /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0@115200
   FD         33
   LastOpen   1523662909.10593
   NAME       hmUART
   NR         385
   PARTIAL   
   STATE      opened
   TYPE       HMUARTLGW
   XmitOpen   0
   model      HM-MOD-UART
   Helper:
     AckPending:
       1:
         cmd        00
         dst        0
         frame      FD00030001009E03
         resend     3
         time       1523662910.11229
     LastSendLen:
       3
     Log:
       IDs:
   MatchList:
     1:CUL_HM   ^A......................
   Peers:
     5ACA0A     pending
     627184     pending
     627188     pending
   READINGS:
     2018-04-14 00:57:14   D-type          HM-MOD-UART
     2018-04-14 01:41:50   cond            init
     2018-04-14 00:47:30   loadLvl         suspended
     2018-04-14 01:41:49   state           opened
   helper:
Attributes:


Das ist ein Debian Stretch System mit Kernel: 4.4.120-rockchip-ayufan-209

Hat jemand eine Idee, was das sein könnte? Liegt das evtl. am Kernel oder am noch laufenden agetty Dienst?

MfG.
Mark
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

Otto123

Moin Mark,

ZitatWeißt du ob enable_uart=1, dtoverlay und a/getty... bei einer hm-mod-rpi-pcb Platine via CP2102 TTL USB Interface auch eingerichtet sein muss?

Ich beantworte die Frage mal hier: Da Du die Platine nicht an der UART hast und auch keinen Pi ist die Konfiguration wie beim Pi nicht nötig. Die dient ja dort dazu, die OnBoard UART überhaupt zu verwenden.

Mit der seriellen Console bin ich nicht sicher, meines Wissens greift die aber nicht einfach alle möglichen seriellen Schnittstellen? Deaktivieren kannst Du den Dienst ja mal.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

mark79

Moin Otto,

habe heute Nacht echt lange noch rumgetestet, aber nichts hilft irgendwie. Ich habe die getty Dienste auch via systemctl beendet, mal einen anderen Kernel eingespielt....
Danach habe ich noch mal die HM MOD USB Platine an den RPi1 geklemmt und da läuft das ding...

Bin schon so weit, das Teil auf ein ESP drauf zu setzen.  >:(

Aber könnte das evtl. mit der core_freq zu tun haben? Oder an das:
Zitatdeimos im HM-Forum hat geschrieben:
Der UART lässt sich leider nicht mit eigenen Treibern nutzen und ist fix auf 1.5MBaud eingestellt.
https://homematic-forum.de/forum/viewtopic.php?f=69&t=39619&start=240#p403029

Oder bezieht sich das auch nur auf die GPIO Leiste?


Viele Grüße
Mark
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

Intruder1956

vielleicht stimmt die Verbindung vom Serial-Adapter CP2102 zum HM-Modul nicht ??
z.b. RX auf TX, und TX auf RX, 3,3 Volt und GND mehr braucht es nicht
Bei mir läuft es auf einer Zotac am USB an einer VM, ohne irgendeine Einstellung nur
/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0

Gruß Werner
Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

mark79

Zitat von: Intruder1956 am 14 April 2018, 11:20:34
vielleicht stimmt die Verbindung vom Serial-Adapter CP2102 zum HM-Modul nicht ??
z.b. RX auf TX, und TX auf RX, 3,3 Volt und GND mehr braucht es nicht
Bei mir läuft es auf einer Zotac am USB an einer VM, ohne irgendeine Einstellung nur
/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0

Gruß Werner

Die Verbindung stimmt und der Adapter läuft ja auf dem RPi, den ich derzeit wieder angeklemmt habe.
Auf dem Rock64 Board funktioniert es aber komischerweise nicht.

Viele Grüße
Mark
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

frank

kannst du den usb adapter ohne hmuart am rock64 testen?
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

mark79

Zitat von: frank am 14 April 2018, 11:43:31
kannst du den usb adapter ohne hmuart am rock64 testen?

Habe ich gemacht und einen Sonoff (mit Tasmota FW) dran angeschlossen, ich weiß nur nicht ob der Befehl mit microcom so richtig ist (mache das sonst immer unter Windows):
root@rock64:~# busybox microcom -t 115200 /dev/ttyUSB2
▒▒▒(▒W▒▒▒▒L▒S▒▒sl▒▒+R▒▒^<▒▒▒▒▒▒▒`)▒|'▒▒▒▒{▒▒y▒Q3▒▒▒M@T(I▒▒`uA▒▒


Aber da kommt nur kauderwelsch bei raus...

[  429.511634] cp210x 2-1.2:1.0: cp210x converter detected
[  429.516796] usb 2-1.2: cp210x converter now attached to ttyUSB2


Habe das vorher noch unter Windows mit der Arduino IDE getestet, mit der selben Baudrate und da sah es so aus:
ets Jan  8 2013,rst cause:1, boot mode:(3,6)

load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v09826c6d
~ld

00:00:00 Projekt sonoff Sonoff (Topic sonoff, Rückgriff DVES_04D8F5, GroupTopic sonoffs) Version 5.10.0
00:00:00 WIF: verbinden mit AP2 indebuurt2 in Modus 11N wie sonoff-6389...
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

mark79

Nach etwas rumprobieren geht es:

root@rock64:/home/rock64#  tail -f /dev/ttyUSB0

00:00:33 APP: starte neu

ets Jan  8 2013,rst cause:1, boot mode:(3,6)

load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v09826c6d
~ld

00:00:00 Projekt sonoff Sonoff (Topic sonoff, Rückgriff DVES_04D8F5, GroupTopic sonoff


Also scheint das Kernel Modul ja zu funktionieren.
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

RaspiLED

Hi,
Das Kauderwelsch ist nur die falsche Baudrate,
Also zurück zu FHEM
Verbose auf 5 und log durchsehen.
Python::Serial installiert und solchen Fehlern im Log nachgehen...
Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

mark79

Hallo RaspiLED,

ich habe Fhem mal frisch neu installiert und mit update all auf den neusten Stand gebracht.

Die Serial Pakete sind auch installiert:
root@rock64:/opt/fhem/log# dpkg -l | grep serial
ii  libdevice-serialport-perl                             1.04-3+b3                         arm64        emulation of Win32::SerialPort for Linux/POSIX
ii  libtypes-serialiser-perl                              1.0-1                             all          module providing simple data types for common serialisation formats
ii  python-serial                                         3.2.1-1                           all          pyserial - module encapsulating access for the serial port
ii  python3-serial                                        3.2.1-1                           all          pyserial - module encapsulating access for the serial port


root@rock64:/opt/fhem/log# pip list | grep serial
pyserial (3.4)
serial (0.0.59)


Hier das Fhem log mit verbose 5 auf HMUARTLGW
http://paste.debian.net/1020263/

Fhem log gefiltert nach HMUARTLGW
http://paste.debian.net/1020259/

List:
Internals:
   CNT        1
   Clients    :CUL_HM:
   DEF        /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0
   DevState   1
   DevType    UART
   DeviceName /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0@115200
   FD         12
   LastOpen   1523708150.27214
   NAME       hmUART
   NR         20
   PARTIAL   
   STATE      opened
   TYPE       HMUARTLGW
   XmitOpen   0
   model      HM-MOD-UART
   Helper:
     AckPending:
       1:
         cmd        00
         dst        0
         frame      FD00030001009E03
         resend     3
         time       1523708151.27455
     LastSendLen:
       3
     Log:
       IDs:
   MatchList:
     1:CUL_HM   ^A......................
   READINGS:
     2018-04-14 14:11:29   D-type          HM-MOD-UART
     2018-04-14 14:15:51   cond            init
     2018-04-14 14:11:29   loadLvl         suspended
     2018-04-14 14:15:50   state           opened
Attributes:

Ich bin mit meinem Latein leider am Ende. :(


Viele Grüße
Mark
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

Intruder1956

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


nimm das doch mal raus aus der fhem.cfg, oder setze wie oben ein "#" davor

Gruß Werner
Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

frank

das notify ist laut log schon disabled.

ich kann mir nur noch spannungsprobleme vorstellen.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Otto123

Zitat von: mark79 am 14 April 2018, 10:46:57
Bin schon so weit, das Teil auf ein ESP drauf zu setzen.  >:(

Aber könnte das evtl. mit der core_freq zu tun haben?
@RaspiLED Wozu sollte er dies FHEM/Perl brauchen? Python::Serial installiert und solchen Fehlern im Log nachgehen...

Hallo Mark,

dass hat nur beim Pi und seiner UART Bedeutung. In deinem Fall macht ja alles der CP2102

Eigentlich bewegst Du Dich mit dem USB Adapter abgekoppelt von allen Eigenheiten.

Kannst Du mal messen, ob die Spannung 3,3 Volt am RPI Modul stimmt?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

mark79

Hallo,

ich habe nun mal die Spannung an der HM MOD Platine nachgemessen, es kommen je Gerät verschiedene Spannungen bei raus.  :o
Vorab die HM MOD Platine ist per 3,3V auf dem CP2102 Adapter angeschlossen und dort gibt es kein Jumper.

Raspberry PI 3,73 Volt
Rock64 4,21 Volt
5 Volt Power Bank 4,17 Volt

Kann eine höhere Spannung auch dafür sorgen, das es nicht funktioniert?

Ich habe hier noch einen AMS von 5V auf 3,3V und einen Pegerwandler (mit Bidirection Bus) hier rumliegen...

Wenn ich den Pegelwandler nehme, wie schließe ich den am besten an? Nur 5 Volt VCC/GND vom CP2102 > Pegelwandler > UART oder auch die Datenleitungen?


Viele Grüße
Mark
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

mark79

Der Pegelwandler stellte sich als 3 Volt heraus, das ging selbst am RPi nicht.  >:(
Mit dem AMS funktioniert es, da krieg ich 3,35 Volt an der HM Platine raus. Am RPi gehts, auf dem Rock64 nicht.  >:( >:(

Jetzt kommt das ding auf ein NodeMCU... Mal hoffen dass das funktioniert :D
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten