USB Port Einbindung: Can't open /dev/ttyUSB0: Operation not permitted

Begonnen von Lueppe, 19 Juni 2023, 14:29:51

Vorheriges Thema - Nächstes Thema

Lueppe

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?

ergerd

FHEM auf RasPi 4, CUNO, ZigBee, 1Wire2WLAN, DS2423, C-Control II, Buderus KM200, LaCrosseGateway, PCA301, ConBee II, LuftdatenInfo, OneWireGW, Div. ESPs u. Shellys

Beta-User

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Lueppe

@ ergerd:
Das schaue ich heute abend mal an.

@Beta-User: Ja, das hatte ich per adduser gemacht.

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Otto123

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 ?

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.
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

Beta-User

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....
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

betateilchen

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 ?

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

Du bist doch Administrator - was hindert Dich?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Lueppe

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?

Otto123

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.
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

Lueppe

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 ?

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

Otto123

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
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

enno

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


Einfacher FHEM Anwender auf Intel®NUC

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

Lueppe

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.