FHEM Forum

FHEM - Hardware => Server - Linux => Thema gestartet von: kamp am 07 Februar 2022, 16:37:57

Titel: elero USB Stick auf Proxmox LXC
Beitrag von: kamp am 07 Februar 2022, 16:37:57
Hallo,

ich steige gerade vom Raspi auf einen LXC in meinem PVE um. Der Umzug ist nahezu abgeschlossen, nur an einem Punkt hänge ich. Ich habe dank der Anleitung von CoolTux (https://www.cooltux.net/doku.php?id=it-wiki:proxmox:usb_passthrough) den elero Stick in den LXC durchgereicht - soweit ich erkenne sollte es passen.

Allerdings bleibt er in FHEM auf "disconnected" stehen.

Folgende Schritte habe ich durchgeführt:
PVE:
Eintrag in /etc/udev/rules.d/98-RFxtrx-CUL.rules:
SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{idProduct}=="6001", ATTRS{idVendor}=="0403", SYMLINK+="eleroStick", MODE="0666", GROUP="dialout"

Einträge in /etc/pve/lxc/101.conf:
lxc.cgroup.devices.allow: c 189:257 rwm
lxc.mount.entry: /dev/eleroStick dev/eleroStick none bind,optional,create=file

Device in PVE:
lrwxrwxrwx  1 root root           7 Feb  7 16:11 eleroStick -> ttyUSB0
crw-rw-rw-  1 root dialout 188,   0 Feb  7 16:11 ttyUSB0

Device in LXC:
crw-rw-rw-  1 root dialout 188, 0 Feb  7 15:11 eleroStick

Definition in FHEM:
DEF   /dev/eleroStick@38400

Hat da jemand eine Idee?
Titel: Antw:elero USB Stick auf Proxmox LXC
Beitrag von: CoolTux am 07 Februar 2022, 16:48:11
Und der User fhem ist in der Gruppe dialout?
Titel: Antw:elero USB Stick auf Proxmox LXC
Beitrag von: kamp am 07 Februar 2022, 16:49:40
ja, seine einzige

fhem : dialout
Titel: Antw:elero USB Stick auf Proxmox LXC
Beitrag von: CoolTux am 07 Februar 2022, 16:56:21
Und die 38400 sind korrekt? Die hattest Du auch beim alten System? Was genau sagt das FHEM Log wenn du das Device auf verbose 5 stellst.
Titel: Antw:elero USB Stick auf Proxmox LXC
Beitrag von: kamp am 07 Februar 2022, 17:03:39
ja, das hatte ich im raspi auch genau so (nur halt /dev/usb0@38400)

der Stick macht mit verbose 5 gar keine Einträge im Log. Auch nicht nach FHEM-Neustart...?
Titel: Antw:elero USB Stick auf Proxmox LXC
Beitrag von: kamp am 08 Februar 2022, 21:27:46
Habe mich dem Thema nochmals angenommen, folgendes finde ich nun im LOG.

Can't use string ("/dev/eleroStick@38400") as a HASH ref while "strict refs" in use at ./FHEM/DevIo.pm line 690.
Titel: Antw:elero USB Stick auf Proxmox LXC
Beitrag von: CoolTux am 09 Februar 2022, 05:31:38
Gib mal bitte ein list vom Device. Das klingt alles sehr komisch.
Titel: Antw:elero USB Stick auf Proxmox LXC
Beitrag von: Wernieman am 09 Februar 2022, 08:51:52
Du hast folgendes gelesen:
eleroStick -> ttyUSB0

d.h. eleroStick ist nur ein Simlnk. Hast Du jetzt in ProxyMox nur eleroStick, oder auch ttyUSB0 durchgereicht?
Titel: Antw:elero USB Stick auf Proxmox LXC
Beitrag von: CoolTux am 09 Februar 2022, 08:54:53
Du hast folgendes gelesen:
eleroStick -> ttyUSB0

d.h. eleroStick ist nur ein Simlnk. Hast Du jetzt in ProxyMox nur eleroStick, oder auch ttyUSB0 durchgereicht?

Muss er nicht. Es sollte reichen wenn er den durch udev rule erstellten Symlink durchreicht.
Titel: Antw:elero USB Stick auf Proxmox LXC
Beitrag von: kamp am 09 Februar 2022, 09:15:41
Muss er nicht. Es sollte reichen wenn er den durch udev rule erstellten Symlink durchreicht.

Ja, hätte ich auch so verstanden (bin aber kein LXC-Profi wie man sieht :) )

Device List:
Zitat
Internals:
   Clients    :EleroDrive:EleroSwitch
   DEF        /dev/eleroStick@38400
   DeviceName /dev/eleroStick@38400
   FUUID      6033e1d3-f33f-1b7d-7e45-3881832c58767de2
   NAME       rolloEleroStick
   NR         163
   PARTIAL   
   STATE      disconnected
   TYPE       EleroStick
   USBDev     /dev/eleroStick@38400
   channels   
   MatchList:
     1:EleroDrive .*
     2:EleroSwitch .*
   READINGS:
     2022-02-07 15:11:53   AnswerMsg       
     2022-02-09 09:11:32   state           disconnected
Attributes:
   ChannelTimeout 2
   Interval   60
   icon       usb_stick
   room       Zentrale
   verbose    5

Vollständige LOG-Einträge bei FHEM Neustart vom Device
Zitat
2022.02.09 09:11:32 3: Opening rolloEleroStick device /dev/eleroStick
2022.02.09 09:11:32 1: rolloEleroStick: Can't open /dev/eleroStick: Operation not permitted

Sollte ich mal die Rechte bei MODE für udev ändern (von 0666 auf 0777)? EDIT -> keine Änderung im Verhalten mit 0777 (crwxrwxrwx  1 root dialout 188, 0 Feb  9 09:23 eleroStick)

Zusatzinfos (vielleicht hab ich was übersehen):
Zitat
aus lsusb
Bus 003 Device 003: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC

crw-rw-r-- 1 root root 189, 258 Feb  8 14:01 /dev/bus/usb/003/003

aus udevadm info:
prod id 6001
vendor id 0403

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

lxc conf Einträge:
arch: amd64
features: nesting=1
hostname: srv-automation
memory: 2048
net0: name=eth0,bridge=vmbr0,firewall=1,hwaddr=8E:88:70:19:BE:88,ip=dhcp,type=veth
onboot: 1
ostype: debian
rootfs: Syspool:subvol-101-disk-0,size=15G
swap: 0
lxc.cgroup2.devices.allow: c 189:258 rwm
lxc.mount.entry: /dev/eleroStick dev/eleroStick none bind,optional,create=file

EDIT: Ich habe gelesen, wenn man PVE > 7 verwendet (ich verwende 7.1), sollte man cgroup2 statt cgroup in der LXC conf verwenden. Habe ich auch mal geändert, keine Änderung im Verhalten.
Titel: Antw:elero USB Stick auf Proxmox LXC
Beitrag von: CoolTux am 09 Februar 2022, 10:11:15
Ich denke Du hast einen Fehler beim herausfinden des Devices gemacht.

zeig bitte mal die Ergebnisse von

lsusb
dann das Ergebniss von

ls -l /dev/bus/usb/DEIN/STICK
ich denke die 189 ist falsch. Da sollte glaube 188 stehen. Aber das schauen wir mal zusammen.
Titel: Antw:elero USB Stick auf Proxmox LXC
Beitrag von: kamp am 10 Februar 2022, 08:14:40
Danke

Zitat
root@srv:~# lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
Bus 003 Device 002: ID 2040:8265 Hauppauge dualHD
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Zitat
root@srv:~# ls -l /dev/bus/usb/003/003
crw-rw-r-- 1 root root 189, 258 Feb  9 19:52 /dev/bus/usb/003/003
Titel: Antw:elero USB Stick auf Proxmox LXC
Beitrag von: CoolTux am 10 Februar 2022, 08:32:18
Zitat
crw-rw-r-- 1 root root 189, 258 Feb  9 19:52 /dev/bus/usb/003/003

Also 189, 258

Du hast also aktuell den zweiten Wert fehlerhaft in deiner LXC config

Zitat
Einträge in /etc/pve/lxc/101.conf:
lxc.cgroup.devices.allow: c 189:257 rwm
lxc.mount.entry: /dev/eleroStick dev/eleroStick none bind,optional,create=file
Titel: Antw:elero USB Stick auf Proxmox LXC
Beitrag von: Benni am 10 Februar 2022, 09:21:36
Also 189, 258

Du hast also aktuell den zweiten Wert fehlerhaft in deiner LXC config

Ich würde tendenziell die Minor-Nummer des Treibers ganz weglassen, also allow einfach generell für 189

gb#
Titel: Antw:elero USB Stick auf Proxmox LXC
Beitrag von: kamp am 10 Februar 2022, 11:44:33
Also 189, 258

Du hast also aktuell den zweiten Wert fehlerhaft in deiner LXC config

Danke, ja wie du siehst habe ich zwei USB Devices für zwei verschiedene LXC - habe ich nun auf 258 geändert, aber leider trotzdem das selbe Verhalten.

Ich würde tendenziell die Minor-Nummer des Treibers ganz weglassen, also allow einfach generell für 189

gb#

wäre mir auch lieber, aber ich habe ein zweites Device (TV Karte), welches in einen anderen Container soll, welches blöderweise auch 189 als ersten Wert hat... da ist der zweite Wert allerdings 257 statt 258

(Offtopic) habe gestern versucht die TV Karte an einen anderen LXC durchzureichen mit der selben Methode. wird korrekt in /dev/dvb gelistet und auch die Unterordner, aber tvheadend erkennt ihn trotzdem nicht. Kann es sein, dass hier etwas am Host falsch konfiguriert ist? Ich meine zwei Devices in zwei unterschiedliche LXC gehen nicht, scheint mir seltsam...)
Titel: Antw:elero USB Stick auf Proxmox LXC
Beitrag von: kamp am 10 Februar 2022, 21:31:11
Ich habe heute eine VM mit FHEM aufgesetzt, wenn ich den USB Stick durchreiche, startet die VM nicht und der Host geht in einen undefinierbaren Zustand (schwer zu beschreiben, Container, VMs funktionieren, er lässt sich aber z.B. nicht mehr rebooten. Auch andere VM oder LXC lassen sich nicht stoppen/starten...hilft nur hard reset um wieder einen brauchbaren Zustand zu erhalten.)

Ich habe nun eine PCIe USB Controller eingebaut und den Stick daran angeschlossen. Mit LXC kein Erfolg - mit VM läuft es aber einwandfrei. Somit funktionieren zumindest meine Rolläden mal wieder, dennoch würde ich gerne statt einer Vm einen LXC verwenden (habe sie noch nicht gelöscht, also weiter basteln möglich) - vielleicht hilft das ja auch künftig jemandem. Ich vermute aber, dass der Host hier irgend ein Problem mit dem Onboard-USB hat...

(Das mit der TV Karte habe ich gelöst, indem ich eine PCIe TV Karte verwende, allerdings auch hier nun in einer VM statt angedachtem LXC)
Titel: Antw:elero USB Stick auf Proxmox LXC
Beitrag von: Benni am 10 Februar 2022, 21:45:50
wäre mir auch lieber, aber ich habe ein zweites Device (TV Karte), welches in einen anderen Container soll, welches blöderweise auch 189 als ersten Wert hat... da ist der zweite Wert allerdings 257 statt 258

Sollte für mein Verständnis aber egal sein!
Mit dem allow wird ja nur dem LXC generell der Zugriff auf das Device, bzw. auf den Treiber des Devices erlaubt. Von welchem Container das device dann tatsächlich verwendet, bzw. welches device welcher Container dann im Detail verwendet ist ja wieder was anderes.


Titel: Antw:elero USB Stick auf Proxmox LXC
Beitrag von: kamp am 10 Februar 2022, 22:26:43
ok, nachdem sich ein zweites Problem in LXC mit dem Umzug von LXC in eine VM gelöst hat, werde ich zu 99% bei der VM bleiben. https://forum.fhem.de/index.php/topic,126091.0.html
Titel: Antw:elero USB Stick auf Proxmox LXC
Beitrag von: Benni am 11 Februar 2022, 06:15:17
Was auch immer bei dir LXC-mäßig schief läuft?

Ich habe dblog ohne Probleme im LXC am laufen. FHEM und MySQL (resp. MariaDb aus Turnkey-MySQL image) jeweils in einem eigenen LXC.

Rennt problemlos, natürlich im async mode!

gb#

PS: Sorry, hier OT aber der andere Thread war ja leider schon geschlossen!
Titel: Antw:elero USB Stick auf Proxmox LXC
Beitrag von: Thyraz am 11 Februar 2022, 07:25:13
Läuft bei mir ebenfalls beides absolut problemlos in getrennten LXC Containern.