FHEM Forum

FHEM - Hardware => Server - Linux => Thema gestartet von: Lueppe am 19 Juni 2023, 14:29:51

Titel: USB Port Einbindung: Can't open /dev/ttyUSB0: Operation not permitted
Beitrag von: Lueppe am 19 Juni 2023, 14:29:51
Hallo Zusammen,

noch ganz neu und unerfahren im Thema Fhem stehe ich grad vor einem Problem hinsichtlich der Einbindung eines USB Ports.
Vom Wechselrichter einer PV Anlage möchte ich die PV Werte einlesen. Hierzu besteht eine Verbindung zum Proxmox Server, der Fhem hostet. Der USB Port wird an den Fhem Container durchgereicht. Allerdings sagt mit das Fhem Log, dass auf den USB Port nicht zugegriffen werden kann.

2023.06.19 14:15:24 3: Modbus: defined as /dev/ttyUSB0@9600
2023.06.19 14:15:24 1: Including ./log/fhem.save
2023.06.19 14:15:24 1: Modbus: Can't open /dev/ttyUSB0: Operation not permitted
2023.06.19 14:15:24 1: usb create starting
2023.06.19 14:15:24 1: usb create end

Auf dem Fhem Container wird der durchgereichte USB Port auch angezeigt:
> ls -la /dev/ttyUSB0:

crw-rw-rw- 1 root dialout 188, 0 18. Jun 15:28 /dev/ttyUSB0
lsusb:

Bus 002 Device 003: ID 0bda:0415 Realtek Semiconductor Corp. 2-Port USB 3.0 Hub
Bus 002 Device 002: ID 0bda:0411 Realtek Semiconductor Corp. Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 8087:0aaa Intel Corp. Bluetooth 9460/9560 Jefferson Peak (JfP)
Bus 001 Device 003: ID 0bda:5415 Realtek Semiconductor Corp. 2-Port USB 2.0 Hub
>> Bus 001 Device 006: ID 1a86:7523 QinHeng Electronics CH340 serial converter <<
Bus 001 Device 002: ID 0bda:5411 Realtek Semiconductor Corp. RTS5411 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Als Code ist definiert:
defmod Modbus Modbus /dev/ttyUSB0@9600
attr Modbus group Sticks
attr Modbus openTimeout 2
attr Modbus queueDelay 0.05
attr Modbus queueMax 128
attr Modbus queueTimeout 20
attr Modbus retriesAfterTimeout 60
attr Modbus room PV,x_System
attr Modbus verbose 1


Hat jemand eine Idee, woran es liegen kann, dass Fhem den USB Port nicht auslesen darf?
Titel: Aw: USB Port Einbindung: Can't open /dev/ttyUSB0: Operation not permitted
Beitrag von: ergerd am 19 Juni 2023, 15:48:58
Hallo Lueppe,

das könnte damit zu tun haben:
https://forum.fhem.de/index.php?topic=133396.msg1274453#msg1274453 (https://forum.fhem.de/index.php?topic=133396.msg1274453#msg1274453)
Titel: Aw: USB Port Einbindung: Can't open /dev/ttyUSB0: Operation not permitted
Beitrag von: Beta-User am 19 Juni 2023, 16:14:12
fhem (user) ist Mitglied in dialout?
Titel: Aw: USB Port Einbindung: Can't open /dev/ttyUSB0: Operation not permitted
Beitrag von: Lueppe am 19 Juni 2023, 16:29:53
@ ergerd:
Das schaue ich heute abend mal an.

@Beta-User: Ja, das hatte ich per adduser gemacht.
Titel: Aw: USB Port Einbindung: Can't open /dev/ttyUSB0: Operation not permitted
Beitrag von: betateilchen am 19 Juni 2023, 17:30:48
Zitat von: ergerd am 19 Juni 2023, 15:48:58Hallo Lueppe,

das könnte damit zu tun haben:

Wohl eher nicht. Der port ist ja vorhanden.
Titel: Aw: USB Port Einbindung: Can't open /dev/ttyUSB0: Operation not permitted
Beitrag von: Otto123 am 20 Juni 2023, 11:49:58
Das Board ist MQTT, der Titel dreht sich um ttyUSB0 Probleme, irgendwie geht es um Proxmox (Container oder VM?) - ist das nicht eher etwas fürs Server-Linux Board (https://forum.fhem.de/index.php?board=33.0) ?

Trotz alledem sagt mein Bauch:
attr initialUsbCheck disable 1oder von mir aus auch
delete initialUsbCheckUnd danach ein save und einen kompletten Systemneustart (nicht nur FHEM!) versuchen.
Titel: Aw: USB Port Einbindung: Can't open /dev/ttyUSB0: Operation not permitted
Beitrag von: Beta-User am 20 Juni 2023, 12:02:00
Zitat von: Lueppe am 19 Juni 2023, 16:29:53@Beta-User: Ja, das hatte ich per adduser gemacht.
Show us!

Die Fehlermeldung ist doch ziemlich eindeutig....
Titel: Aw: USB Port Einbindung: Can't open /dev/ttyUSB0: Operation not permitted
Beitrag von: betateilchen am 20 Juni 2023, 12:40:20
Zitat von: Otto123 am 20 Juni 2023, 11:49:58Das Board ist MQTT, der Titel dreht sich um ttyUSB0 Probleme, irgendwie geht es um Proxmox (Container oder VM?) - ist das nicht eher etwas fürs Server-Linux Board (https://forum.fhem.de/index.php?board=33.0) ?

Immerhin steht die Frage nicht in den Anfängerfragen...

Du bist doch Administrator - was hindert Dich?
Titel: Aw: USB Port Einbindung: Can't open /dev/ttyUSB0: Operation not permitted
Beitrag von: Lueppe am 20 Juni 2023, 16:04:20
Erstmal Danke für eure Hilfe hierbei!
@ Otto 123: Mit der falschen Platzierung des Themas hast du völlig recht. Das darf gerne an die richtige Stelle "Server-Linux" geschoben werden.
Mal schauen, ob dein Baugefühl recht behält. Ich probiere es aus.

@
Zitat von: Beta-User am 20 Juni 2023, 12:02:00
Zitat von: Lueppe am 19 Juni 2023, 16:29:53@Beta-User: Ja, das hatte ich per adduser gemacht.
Show us!
bei einem
--> sudo adduser fhem dialout
gibt's doch gar nichts zu zeigen, oder?
Titel: Aw: USB Port Einbindung: Can't open /dev/ttyUSB0: Operation not permitted
Beitrag von: Otto123 am 20 Juni 2023, 16:08:06
Zitat von: Lueppe am 20 Juni 2023, 16:04:20@ Otto 123: Mit der falschen Platzierung des Themas hast du völlig recht. Das darf gerne an die richtige Stelle "Server-Linux" geschoben werden.
Kann ja passieren, deshalb: Das kannst Du auch selbst erledigen,  ;)  ganz links unten (über der Schnellantwort) hast Du einen Button Thema verschieben.
Titel: Aw: USB Port Einbindung: Can't open /dev/ttyUSB0: Operation not permitted
Beitrag von: Lueppe am 20 Juni 2023, 16:18:18
Dein
Zitat von: Otto123 am 20 Juni 2023, 11:49:58Das Board ist MQTT, der Titel dreht sich um ttyUSB0 Probleme, irgendwie geht es um Proxmox (Container oder VM?) - ist das nicht eher etwas fürs Server-Linux Board (https://forum.fhem.de/index.php?board=33.0) ?

Trotz alledem sagt mein Bauch:
attr initialUsbCheck disable 1oder von mir aus auch
delete initialUsbCheckUnd danach ein save und einen kompletten Systemneustart (nicht nur FHEM!) versuchen.

Auch nach einem Neustart des Containers will sich am Log nichts ändern.

2023.06.20 16:09:06 1: Modbus: defined as /dev/ttyUSB0@9600
2023.06.20 16:09:06 1: Modbus: Can't open /dev/ttyUSB0: Operation not permitted
Titel: Aw: USB Port Einbindung: Can't open /dev/ttyUSB0: Operation not permitted
Beitrag von: Otto123 am 20 Juni 2023, 16:29:16
naja ich hatte schon Fälle, da hat der USB Stick /der Baustein an der internen UART nach einem initialUsbCheck so dumm getan, da musste die "Hardware" neu gestartet werden.
Aber Rechte: Das ist ein LinuxContainer ? (LXC - kenne mich damit nicht aus) da kann das Rechte Problem doch nun im Container oder außerhalb vom Container liegen?
Also: darf der user (fhem) -> darf die Container Software auf dem Host -> /ttyUSB0 ? Nur als (eventuell blöde) Idee ...

So kann man die Gruppen anzeigen:
groups fhem
Titel: Aw: USB Port Einbindung: Can't open /dev/ttyUSB0: Operation not permitted
Beitrag von: enno am 20 Juni 2023, 18:04:51
Moin Lueppe,

meine ziemlich "dreckige" Lösung ist in Proxmox sudo /bin/chmod o+rw /dev/ttyUSB0, damit kann ich im CT auf dieses Device zugreifen. Da das beim Reboot wieder weg ist, habe ich das in sudo crontab -e stehen:@reboot  /bin/chmod o+rw /dev/ttyUSB0
Wenn du dann irgendwann mal eine saubere Lösung gefunden hast, kannst den Eintrag in crontab ja wieder löschen 8)

Gruss
  Enno


Titel: Aw: USB Port Einbindung: Can't open /dev/ttyUSB0: Operation not permitted
Beitrag von: CoolTux am 20 Juni 2023, 19:47:51
https://www.cooltux.net/doku.php?id=it-wiki:proxmox:usb_passthrough

Könnte Euch helfen.
Titel: Aw: USB Port Einbindung: Can't open /dev/ttyUSB0: Operation not permitted
Beitrag von: Lueppe am 21 Juni 2023, 09:50:15
Problem gefunden:
in der LXC.conf muss noch ein cgroup2 Eintrag rein. Damit hat es nun funktioniert.

--> lxc.cgroup2.devices.allow: c 188:* rwm

lxc.mount.entry: /dev/ttyUSB0      dev/ttyUSB0      none bind,optional,create=file

Vielen Dank für eure Hilfe, die letztendlich zum Erfolg geführt hat.