HM-MOD-RPI-PCB USB TTL für Proxmox LXC

Begonnen von willib, 12 Juni 2019, 21:44:30

Vorheriges Thema - Nächstes Thema

willib

Ich habe nun vermutlich eine funktionierendes Gerät.
Leider komme ich bei der Einbindung in FHEM nicht weiter. Ich habe den HM Stick gebaut um in Zukunft FHEM auf einem NUC in einem LXC (Container unter Proxmox) zu betreiben.
Hier das List
Internals:
   CFGFN     
   CNT        1
   Clients    :CUL_HM:
   DEF        /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0@115200
   DevState   0
   DevType    UART
   DeviceName /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0@115200
   FUUID      5dcab541-f33f-eed2-85d8-1c11577f0a4602fc
   NAME       USB_HmUART
   NOTIFYDEV  global
   NR         27
   NTFY_ORDER 50-USB_HmUART
   PARTIAL   
   STATE      disconnected
   TYPE       HMUARTLGW
   XmitOpen   0
   model      HM-MOD-UART
   Helper:
     AckPending:
       1:
         cmd        03
         dst        0
         frame      FD00030001039E09
         time       1573565823.8742
     LastSendLen:
       3
     Log:
       IDs:
   MatchList:
     1:CUL_HM   ^A......................
   READINGS:
     2019-11-12 14:36:35   D-type          HM-MOD-UART
     2019-11-12 14:36:01   cond            disconnected
     2019-11-12 14:36:01   loadLvl         suspended
     2019-11-12 14:37:20   state           disconnected
Attributes:

Laut Log habe ich Probleme mit den Permissions
2019.11.12 14:52:14 1: update finished, "shutdown restart" is needed to activate the changes.
2019.11.12 14:52:14 1:
2019.11.12 14:52:14 1: Please consider using the global attribute sendStatistics
2019.11.12 14:52:31 0: Server shutdown
2019.11.12 14:52:32 1: Including fhem.cfg
2019.11.12 14:52:32 3: WEB: port 8083 opened
2019.11.12 14:52:32 2: eventTypes: loaded 6 events from ./log/eventTypes.txt
2019.11.12 14:52:32 1: Including ./log/fhem.save
2019.11.12 14:52:32 3: Opening USB_HmUART device /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0
2019.11.12 14:52:32 1: USB_HmUART: Can't open /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0: Operation not permitted
2019.11.12 14:52:32 0: Featurelevel: 5.9
2019.11.12 14:52:32 0: Server started with 7 defined entities (fhem.pl:20460/2019-11-05 perl:5.028001 os:linux user:fhem pid:311)
2019.11.12 14:52:32 3: FHEMWEB WEB CSRF error: csrf_526261520842411 ne csrf_114905981463693 for client WEB_192.168.178.30_64734 / command shutdown restart. For details see the csrfToken FHEMWEB attribute.
2019.11.12 14:52:32 0: Server shutdown
2019.11.12 14:52:32 1: Including fhem.cfg
2019.11.12 14:52:33 3: WEB: port 8083 opened
2019.11.12 14:52:33 2: eventTypes: loaded 6 events from ./log/eventTypes.txt
2019.11.12 14:52:33 1: Including ./log/fhem.save
2019.11.12 14:52:33 3: Opening USB_HmUART device /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0
2019.11.12 14:52:33 1: USB_HmUART: Can't open /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0: Operation not permitted
2019.11.12 14:52:33 0: Featurelevel: 5.9
2019.11.12 14:52:33 0: Server started with 7 defined entities (fhem.pl:20460/2019-11-05 perl:5.028001 os:linux user:fhem pid:315)
2019.11.12 14:52:33 3: FHEMWEB WEB CSRF error: csrf_114905981463693 ne csrf_470480593407056 for client WEB_192.168.178.30_64733 / command shutdown restart. For details see the csrfToken FHEMWEB attribute.

Muss ich die udev rule nach dieser Anleitunghttp://ask.xmodulo.com/change-usb-device-permission-linux.html unter Proxmox oder im FHEM LXC erstellen?
Oder muss ich etwas ganz Anderes machen?
Vielen Dank Euch!
FHEM in Debian 10 LXC unter Proxmox auf NUC, Homematic, Hue, Intertechno, Jeelink, RFXTRX, Harmony Hub, VU+ Uno 4K, Sonos, AMAD

willib

Ich habe jetzt die rule auf dem Host (Proxmox) erstellt.
Ich erhalte beim Test
root@pve:~# ls -la /dev/ttyUSB*
crw-rw-rw- 1 root dialout 188, 0 Nov 13 09:52 /dev/ttyUSB0
das müsste also passen.
Im Container erhalte ich
root@FHEMLXC:~# ls -la /dev/ttyUSB*
crw-rw-rw- 1 root dialout 188, 0 Nov 13 09:52 /dev/ttyUSB0
---------- 1 root root         0 Nov 13 09:52 /dev/ttyUSB1
---------- 1 root root         0 Nov 13 09:52 /dev/ttyUSB2
---------- 1 root root         0 Nov 13 09:52 /dev/ttyUSB3

In die Container config habe ich folgendes geschrieben:
lxc.cgroup.devices.allow: c 166:* rwm
lxc.cgroup.devices.allow: c 189:* rwm
lxc.mount.entry          = /dev/serial/by-id               dev/serial/by-id        none bind,optional,create=dir
lxc.mount.entry: /dev/ttyACM0 dev/ttyACM0 none bind,optional,create=file
lxc.mount.entry: /dev/ttyACM1 dev/ttyACM1 none bind,optional,create=file
lxc.mount.entry: /dev/ttyUSB3                    dev/ttyUSB3             none bind,optional,create=file
lxc.mount.entry: /dev/ttyUSB2                    dev/ttyUSB2             none bind,optional,create=file
lxc.mount.entry: /dev/ttyUSB1                    dev/ttyUSB1             none bind,optional,create=file
lxc.mount.entry: /dev/ttyUSB0                    dev/ttyUSB0             none bind,optional,create=file

Leider erhalte ich weiterhin im FHEM log:
2019.11.13 09:52:29 3: Opening USB_HmUART device /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0
2019.11.13 09:52:29 1: USB_HmUART: Can't open /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0: Operation not permitted
FHEM in Debian 10 LXC unter Proxmox auf NUC, Homematic, Hue, Intertechno, Jeelink, RFXTRX, Harmony Hub, VU+ Uno 4K, Sonos, AMAD

PeMue

Hallo Willi,

müssten die Rechte der Schnittstelle (User/Gruppe) nicht fhem.dialout sein?

Gruß Peter
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

willib

Fhem ist in der Gruppe dialout und tty
root@FHEMLXC:~# groups fhem
fhem : dialout tty

Ist das nicht korrekt?
FHEM in Debian 10 LXC unter Proxmox auf NUC, Homematic, Hue, Intertechno, Jeelink, RFXTRX, Harmony Hub, VU+ Uno 4K, Sonos, AMAD

PeMue

Zitat von: willib am 13 November 2019, 13:42:22
Ist das nicht korrekt?
Doch, sorry war mein Fehler. Ich dachte, die Rechte von /dev/ttyUSB* müsste fhem.dialout sein. Ist bei mir aber auch root.dialout. Dann kann ich Dir leider nicht weiterhelfen.

Gruß Peter
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

CoolTux

Es macht ja auch einen Unterschied ob ich /dev/ttyUSB0 auf rufe oder so wie Du
/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0

Ändere Dein define mal für /dev/ttyUSB0
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

willib

Ich würde lieber by-ID definieren.
Habe es testweise geändert. Das Ergebnis ist ähnlich.
2019.11.13 14:46:37 3: Opening USB_HmUART device /dev/ttyUSB0
2019.11.13 14:46:37 1: USB_HmUART: Can't open /dev/ttyUSB0: Operation not permitted
FHEM in Debian 10 LXC unter Proxmox auf NUC, Homematic, Hue, Intertechno, Jeelink, RFXTRX, Harmony Hub, VU+ Uno 4K, Sonos, AMAD

CoolTux

Was hast Du denn genau bis jetzt gemacht.

Hast Du eine udev rule erstellt auf dem Hostsystem?
Beispiel

/etc/udev/rules.d/98-SIGNALduino-CUL.rules
SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{idProduct}=="6001", ATTRS{idVendor}=="0403", SYMLINK+="SIGNALduino", MODE="0666", GROUP="dialout"

Wie hast Du die Config des Containers angepasst?
lxc.cgroup.devices.allow: c 188:* rwm
lxc.mount.entry: /dev/SIGNALduino dev/SIGNALduino none bind,optional,create=file


Ist es ein "Unprivileged container"?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

willib

Danke für deine Hilfe!
Ich habe auf dem Host in der shell von Proxmox folgende udev rule erstellt
nano 3.2                                                         /etc/udev/rules.d/50-myusb.rules                                                                   

SUBSYSTEMS=="usb", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", GROUP="dialout", MODE="0666"

Gerade nochmal GROUP auf dialout geändert. Hat leider auch nicht geholfen.
Container config habe ich so angepasst:
lxc.cgroup.devices.allow: c 166:* rwm
lxc.cgroup.devices.allow: c 189:* rwm
lxc.mount.entry          = /dev/serial/by-id               dev/serial/by-id        none bind,optional,create=dir
lxc.mount.entry: /dev/ttyACM0 dev/ttyACM0 none bind,optional,create=file
lxc.mount.entry: /dev/ttyACM1 dev/ttyACM1 none bind,optional,create=file
lxc.mount.entry: /dev/ttyUSB3                    dev/ttyUSB3             none bind,optional,create=file
lxc.mount.entry: /dev/ttyUSB2                    dev/ttyUSB2             none bind,optional,create=file
lxc.mount.entry: /dev/ttyUSB1                    dev/ttyUSB1             none bind,optional,create=file
lxc.mount.entry: /dev/ttyUSB0                    dev/ttyUSB0             none bind,optional,create=file

Es ist ein privilegierter Container
FHEM in Debian 10 LXC unter Proxmox auf NUC, Homematic, Hue, Intertechno, Jeelink, RFXTRX, Harmony Hub, VU+ Uno 4K, Sonos, AMAD

CoolTux

Kann es sein das Du das wichtigste in der udev Eule vergessen hast? Wo ist das symlink. Nur dafür machen wir ja die udev rule.
Und dann schaust nach Neustart ob die Devicedatei da ist. Nimmst natürlich einen anderen Namen für den symlink.
Wenn die Devicedatei da ist passt du die Container Konfig an und startest den Container durch. Dann schauen das die Devicedatei im Container vorhanden ist. Und zum Schluss FHEM define an passen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

willib

Die Device Datei ist jetzt im Container vorhanden:
root@FHEMLXC:~# ls -l /dev/USB_HmUART
crw-rw-rw- 1 root dialout 188, 0 Nov 13 21:37 /dev/USB_HmUART

Trotzdem erhalte ich folgendes log
019.11.13 22:14:36 0: Server shutdown
2019.11.13 22:14:36 1: Including fhem.cfg
2019.11.13 22:14:37 3: WEB: port 8083 opened
2019.11.13 22:14:37 2: eventTypes: loaded 6 events from ./log/eventTypes.txt
2019.11.13 22:14:37 1: Including ./log/fhem.save
2019.11.13 22:14:37 3: Opening USB_HmUART device /dev/USB_HmUART
2019.11.13 22:14:37 1: USB_HmUART: Can't open /dev/USB_HmUART: Operation not permitted
2019.11.13 22:14:37 0: Featurelevel: 5.9
2019.11.13 22:14:37 0: Server started with 7 defined entities (fhem.pl:20460/2019-11-05 perl:5.028001 os:linux user:fhem pid:305)
2019.11.13 22:14:37 3: FHEMWEB WEB CSRF error: csrf_115610292588704e15 ne csrf_90614066977364 for client WEB_192.168.178.30_53816 / command shutdown restart. For details see the csrfToken FHEMWEB attribute.
2019.11.13 22:14:37 0: Server shutdown
2019.11.13 22:14:37 1: Including fhem.cfg
2019.11.13 22:14:37 3: WEB: port 8083 opened
2019.11.13 22:14:37 2: eventTypes: loaded 6 events from ./log/eventTypes.txt
2019.11.13 22:14:37 1: Including ./log/fhem.save
2019.11.13 22:14:37 3: Opening USB_HmUART device /dev/USB_HmUART
2019.11.13 22:14:37 1: USB_HmUART: Can't open /dev/USB_HmUART: Operation not permitted
2019.11.13 22:14:37 0: Featurelevel: 5.9
2019.11.13 22:14:37 0: Server started with 7 defined entities (fhem.pl:20460/2019-11-05 perl:5.028001 os:linux user:fhem pid:309)
2019.11.13 22:14:37 3: FHEMWEB WEB CSRF error: csrf_90614066977364 ne csrf_489471703612806 for client WEB_192.168.178.30_53812 / command shutdown restart. For details see the csrfToken FHEMWEB attribute.

Im host sind die Berechtigungen anders:
root@pve:~# ls -l /dev/USB_HmUART
lrwxrwxrwx 1 root root 7 Nov 13 21:37 /dev/USB_HmUART -> ttyUSB0
root@pve:~#
FHEM in Debian 10 LXC unter Proxmox auf NUC, Homematic, Hue, Intertechno, Jeelink, RFXTRX, Harmony Hub, VU+ Uno 4K, Sonos, AMAD

CoolTux

crw-rw-rw- 1 nobody nogroup 188, 0 Nov 13 20:18 /dev/SIGNALduino

Mein Device im Container hat einen anderen Besitzer und eine andere Gruppe. Kannst Du das zu Testzwecken bitte einmal ändern.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

willib

Leider weiß ich nicht wie das geht. Ich versuche es heraus zu finden.
FHEM in Debian 10 LXC unter Proxmox auf NUC, Homematic, Hue, Intertechno, Jeelink, RFXTRX, Harmony Hub, VU+ Uno 4K, Sonos, AMAD

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

willib

Leider immer noch
2019.11.14 19:54:12 3: Opening USB_HmUART device /dev/USB_HmUART
2019.11.14 19:54:12 1: USB_HmUART: Can't open /dev/USB_HmUART: Operation not permitted

Ich gehe davon aus, dass selbst wenn ich den HM-MOD-RPI-PCB mit meinen vorangegangen Löteskapaden beschädigt habe dieser nicht der Grund sein kann.
FHEM in Debian 10 LXC unter Proxmox auf NUC, Homematic, Hue, Intertechno, Jeelink, RFXTRX, Harmony Hub, VU+ Uno 4K, Sonos, AMAD