Nachdem ich nun vom RPI auf einen Nuc (Proxmox --> Debian) umgezogen bin, habe ich mit zwei USB-Devices noch ein Problem.
Ich bekomme folgende Fehlermeldung:
[code]Can't open /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A900WVZZ-if00-port0: Operation not permitted
[/code]
Ich habe in Proxmox die Geräte Richtung Container gemouted. Mit meinem 868er Cul funktioniert das z. B. sehr gut.
So sehen die beiden nicht funktionierenden Geräte aus:
ls -la /dev/serial/by-id
gibt mir aus:
total 0
drwxr-xr-x 2 root root 140 Jan 20 01:18 .
drwxr-xr-x 3 root root 60 Jan 20 01:23 ..
lrwxrwxrwx 1 root root 13 Jan 20 01:18 usb-0658_0200-if00 -> ../../ttyACM0
lrwxrwxrwx 1 root root 13 Jan 20 01:18 usb-FTDI_FT232R_USB_UART_A900WVZZ-if00-port0 -> ../../ttyUSB0
lrwxrwxrwx 1 root root 13 Jan 20 01:18 usb-FTDI_FT232R_USB_UART_AL01MZ4B-if00-port0 -> ../../ttyUSB1
lrwxrwxrwx 1 root root 13 Jan 20 01:18 usb-Silicon_Labs_Owl_Wireless_Electricity_Monitor_USB_version_connected_0077CF1A-if00-port0 -> ../../ttyUSB2
lrwxrwxrwx 1 root root 13 Jan 20 01:18 usb-busware.de_CUL868-if00 -> ../../ttyACM1
Wenn ich meinen Viessmann-Optokoppler einbinden will, bekomme ich folgende Meldung:
Anlage per RAW-Definition:
define Viessmann VCONTROL /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A900WVZZ-if00-port0 V300KW3_V0002.cfg 180
attr Viessmann userattr lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0
attr Viessmann event-on-change-reading .*
attr Viessmann icon hm_keymatic
attr Viessmann room 00_KG_Heizungsraum,G_Viessmann
attr Viessmann stateFormat Haupt: state | Radiatoren: state-KR2-Heizkoerper | FBH: state-KR3-FBH
Fehlermeldung:
Can't open /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A900WVZZ-if00-port0: Operation not permitted
Was kann ich tun?
$ sudo usermod -A -G tty pi
$ sudo usermod -A -G tty fhem
Gruß Jens
Danke, hilft leider nicht.
Du meintest:
usermod -a -G tty fhem
mit kleinem -a zur Zuordnung zur Gruppe tty, richtig?
User pi existiert bei mir nicht.
Genau - was bringt folgendes?
ls -l /dev/tty*
Gruß Jens
auf dem LXC Container:
root@fhem-container:/boot# ls -l /dev/tty*
crw-rw-rw- 1 root root 5, 0 Jan 20 01:23 /dev/tty
lrwxrwxrwx 1 root root 8 Jan 20 01:23 /dev/tty1 -> lxc/tty1
lrwxrwxrwx 1 root root 8 Jan 20 01:23 /dev/tty2 -> lxc/tty2
crw-rw---- 1 root dialout 166, 0 Jan 20 22:11 /dev/ttyACM0
crw-rw---- 1 root dialout 166, 1 Jan 20 22:11 /dev/ttyACM1
crw-rw---- 1 root dialout 188, 0 Jan 20 01:18 /dev/ttyUSB0
crw-rw---- 1 fhem dialout 188, 1 Jan 20 01:18 /dev/ttyUSB1
crw-rw---- 1 root dialout 188, 2 Jan 20 01:18 /dev/ttyUSB2
-rw-r--r-- 1 root root 0 Jan 20 01:23 /dev/ttyUSB3
auf proxmox:
root@proxmox:~# ls -l /dev/tty*
crw-rw-rw- 1 root tty 5, 0 Jan 20 02:18 /dev/tty
crw--w---- 1 root tty 4, 0 Jan 20 02:18 /dev/tty0
crw--w---- 1 root tty 4, 1 Jan 20 02:19 /dev/tty1
crw--w---- 1 root tty 4, 10 Jan 20 02:18 /dev/tty10
crw--w---- 1 root tty 4, 11 Jan 20 02:18 /dev/tty11
crw--w---- 1 root tty 4, 12 Jan 20 02:18 /dev/tty12
crw--w---- 1 root tty 4, 13 Jan 20 02:18 /dev/tty13
crw--w---- 1 root tty 4, 14 Jan 20 02:18 /dev/tty14
crw--w---- 1 root tty 4, 15 Jan 20 02:18 /dev/tty15
crw--w---- 1 root tty 4, 16 Jan 20 02:18 /dev/tty16
crw--w---- 1 root tty 4, 17 Jan 20 02:18 /dev/tty17
crw--w---- 1 root tty 4, 18 Jan 20 02:18 /dev/tty18
crw--w---- 1 root tty 4, 19 Jan 20 02:18 /dev/tty19
crw--w---- 1 root tty 4, 2 Jan 20 02:18 /dev/tty2
crw--w---- 1 root tty 4, 20 Jan 20 02:18 /dev/tty20
crw--w---- 1 root tty 4, 21 Jan 20 02:18 /dev/tty21
crw--w---- 1 root tty 4, 22 Jan 20 02:18 /dev/tty22
crw--w---- 1 root tty 4, 23 Jan 20 02:18 /dev/tty23
crw--w---- 1 root tty 4, 24 Jan 20 02:18 /dev/tty24
crw--w---- 1 root tty 4, 25 Jan 20 02:18 /dev/tty25
crw--w---- 1 root tty 4, 26 Jan 20 02:18 /dev/tty26
crw--w---- 1 root tty 4, 27 Jan 20 02:18 /dev/tty27
crw--w---- 1 root tty 4, 28 Jan 20 02:18 /dev/tty28
crw--w---- 1 root tty 4, 29 Jan 20 02:18 /dev/tty29
crw--w---- 1 root tty 4, 3 Jan 20 02:18 /dev/tty3
crw--w---- 1 root tty 4, 30 Jan 20 02:18 /dev/tty30
crw--w---- 1 root tty 4, 31 Jan 20 02:18 /dev/tty31
crw--w---- 1 root tty 4, 32 Jan 20 02:18 /dev/tty32
crw--w---- 1 root tty 4, 33 Jan 20 02:18 /dev/tty33
crw--w---- 1 root tty 4, 34 Jan 20 02:18 /dev/tty34
crw--w---- 1 root tty 4, 35 Jan 20 02:18 /dev/tty35
crw--w---- 1 root tty 4, 36 Jan 20 02:18 /dev/tty36
crw--w---- 1 root tty 4, 37 Jan 20 02:18 /dev/tty37
crw--w---- 1 root tty 4, 38 Jan 20 02:18 /dev/tty38
crw--w---- 1 root tty 4, 39 Jan 20 02:18 /dev/tty39
crw--w---- 1 root tty 4, 4 Jan 20 02:18 /dev/tty4
crw--w---- 1 root tty 4, 40 Jan 20 02:18 /dev/tty40
crw--w---- 1 root tty 4, 41 Jan 20 02:18 /dev/tty41
crw--w---- 1 root tty 4, 42 Jan 20 02:18 /dev/tty42
crw--w---- 1 root tty 4, 43 Jan 20 02:18 /dev/tty43
crw--w---- 1 root tty 4, 44 Jan 20 02:18 /dev/tty44
crw--w---- 1 root tty 4, 45 Jan 20 02:18 /dev/tty45
crw--w---- 1 root tty 4, 46 Jan 20 02:18 /dev/tty46
crw--w---- 1 root tty 4, 47 Jan 20 02:18 /dev/tty47
crw--w---- 1 root tty 4, 48 Jan 20 02:18 /dev/tty48
crw--w---- 1 root tty 4, 49 Jan 20 02:18 /dev/tty49
crw--w---- 1 root tty 4, 5 Jan 20 02:18 /dev/tty5
crw--w---- 1 root tty 4, 50 Jan 20 02:18 /dev/tty50
crw--w---- 1 root tty 4, 51 Jan 20 02:18 /dev/tty51
crw--w---- 1 root tty 4, 52 Jan 20 02:18 /dev/tty52
crw--w---- 1 root tty 4, 53 Jan 20 02:18 /dev/tty53
crw--w---- 1 root tty 4, 54 Jan 20 02:18 /dev/tty54
crw--w---- 1 root tty 4, 55 Jan 20 02:18 /dev/tty55
crw--w---- 1 root tty 4, 56 Jan 20 02:18 /dev/tty56
crw--w---- 1 root tty 4, 57 Jan 20 02:18 /dev/tty57
crw--w---- 1 root tty 4, 58 Jan 20 02:18 /dev/tty58
crw--w---- 1 root tty 4, 59 Jan 20 02:18 /dev/tty59
crw--w---- 1 root tty 4, 6 Jan 20 02:18 /dev/tty6
crw--w---- 1 root tty 4, 60 Jan 20 02:18 /dev/tty60
crw--w---- 1 root tty 4, 61 Jan 20 02:18 /dev/tty61
crw--w---- 1 root tty 4, 62 Jan 20 02:18 /dev/tty62
crw--w---- 1 root tty 4, 63 Jan 20 02:18 /dev/tty63
crw--w---- 1 root tty 4, 7 Jan 20 02:18 /dev/tty7
crw--w---- 1 root tty 4, 8 Jan 20 02:18 /dev/tty8
crw--w---- 1 root tty 4, 9 Jan 20 02:18 /dev/tty9
crw-rw---- 1 root dialout 166, 0 Jan 20 23:11 /dev/ttyACM0
crw-rw---- 1 root dialout 166, 1 Jan 20 23:11 /dev/ttyACM1
crw------- 1 root root 5, 3 Jan 20 02:18 /dev/ttyprintk
crw-rw---- 1 root dialout 4, 64 Jan 20 02:18 /dev/ttyS0
crw-rw---- 1 root dialout 4, 65 Jan 20 02:18 /dev/ttyS1
crw-rw---- 1 root dialout 4, 74 Jan 20 02:18 /dev/ttyS10
crw-rw---- 1 root dialout 4, 75 Jan 20 02:18 /dev/ttyS11
crw-rw---- 1 root dialout 4, 76 Jan 20 02:18 /dev/ttyS12
crw-rw---- 1 root dialout 4, 77 Jan 20 02:18 /dev/ttyS13
crw-rw---- 1 root dialout 4, 78 Jan 20 02:18 /dev/ttyS14
crw-rw---- 1 root dialout 4, 79 Jan 20 02:18 /dev/ttyS15
crw-rw---- 1 root dialout 4, 80 Jan 20 02:18 /dev/ttyS16
crw-rw---- 1 root dialout 4, 81 Jan 20 02:18 /dev/ttyS17
crw-rw---- 1 root dialout 4, 82 Jan 20 02:18 /dev/ttyS18
crw-rw---- 1 root dialout 4, 83 Jan 20 02:18 /dev/ttyS19
crw-rw---- 1 root dialout 4, 66 Jan 20 02:18 /dev/ttyS2
crw-rw---- 1 root dialout 4, 84 Jan 20 02:18 /dev/ttyS20
crw-rw---- 1 root dialout 4, 85 Jan 20 02:18 /dev/ttyS21
crw-rw---- 1 root dialout 4, 86 Jan 20 02:18 /dev/ttyS22
crw-rw---- 1 root dialout 4, 87 Jan 20 02:18 /dev/ttyS23
crw-rw---- 1 root dialout 4, 88 Jan 20 02:18 /dev/ttyS24
crw-rw---- 1 root dialout 4, 89 Jan 20 02:18 /dev/ttyS25
crw-rw---- 1 root dialout 4, 90 Jan 20 02:18 /dev/ttyS26
crw-rw---- 1 root dialout 4, 91 Jan 20 02:18 /dev/ttyS27
crw-rw---- 1 root dialout 4, 92 Jan 20 02:18 /dev/ttyS28
crw-rw---- 1 root dialout 4, 93 Jan 20 02:18 /dev/ttyS29
crw-rw---- 1 root dialout 4, 67 Jan 20 02:18 /dev/ttyS3
crw-rw---- 1 root dialout 4, 94 Jan 20 02:18 /dev/ttyS30
crw-rw---- 1 root dialout 4, 95 Jan 20 02:18 /dev/ttyS31
crw-rw---- 1 root dialout 4, 68 Jan 20 02:18 /dev/ttyS4
crw-rw---- 1 root dialout 4, 69 Jan 20 02:18 /dev/ttyS5
crw-rw---- 1 root dialout 4, 70 Jan 20 02:18 /dev/ttyS6
crw-rw---- 1 root dialout 4, 71 Jan 20 02:18 /dev/ttyS7
crw-rw---- 1 root dialout 4, 72 Jan 20 02:18 /dev/ttyS8
crw-rw---- 1 root dialout 4, 73 Jan 20 02:18 /dev/ttyS9
crw-rw---- 1 root dialout 188, 0 Jan 20 02:18 /dev/ttyUSB0
crw-rw---- 1 999 dialout 188, 1 Jan 20 02:18 /dev/ttyUSB1
crw-rw---- 1 root dialout 188, 2 Jan 20 02:18 /dev/ttyUSB2
Also ist fhem noch nicht in der Gruppe dialout.
sudo usermod -A -G dialout fhem
Gruß Jens
auf dem Container:
root@fhem-container:/boot# usermod -a -G dialout fhem
root@fhem-container:/boot# ls -l /dev/tty*
crw-rw-rw- 1 root root 5, 0 Jan 20 01:23 /dev/tty
lrwxrwxrwx 1 root root 8 Jan 20 01:23 /dev/tty1 -> lxc/tty1
lrwxrwxrwx 1 root root 8 Jan 20 01:23 /dev/tty2 -> lxc/tty2
crw-rw---- 1 root dialout 166, 0 Jan 20 22:11 /dev/ttyACM0
crw-rw---- 1 root dialout 166, 1 Jan 20 22:35 /dev/ttyACM1
crw-rw---- 1 root dialout 188, 0 Jan 20 01:18 /dev/ttyUSB0
crw-rw---- 1 fhem dialout 188, 1 Jan 20 01:18 /dev/ttyUSB1
crw-rw---- 1 root dialout 188, 2 Jan 20 01:18 /dev/ttyUSB2
-rw-r--r-- 1 root root 0 Jan 20 01:23 /dev/ttyUSB3
und nu?
Danke für Deine Unterstützung!
Zitat von: Gunther am 20 Januar 2018, 23:53:48und nu?
... sollte der Zugriff nicht mehr verweigert werden.
Gruß Jens
Leider das gleiche Verhalten. Aber wie Du siehst, hat sich an der Ausgabe ja nichts geändert.
Magst Du mich mal aufklären, wo Du den Fehler vermutest?
FHEM läuft ja im Container mit dem User FHEM.
Die anderen USB Geräte sind gleich berechtigt und gehen.
Auf Proxmox gibt es keinen User fhem.
crw-rw---- 1 root dialout 188, 2 Jan 20 01:18 /dev/ttyUSB2
c - ist der Dateityp.
Die Berechtigungen sind in drei Bereiche mit jeweils drei Berechtigungsarten aufgeteilt.
rw- ist edie Berechtigung des Eigentümers, also des Benutzers root (r lesen,w schreiben,- kein Ausführungsrecht)
rw- ist edie Berechtigung der Gruppe, also Gruppe dialout (r-lesen,w-schreiben,-kein Ausführungsrecht)
--- ist edie Berechtigung aller weiteren User, welche nicht Eigentümer oder in der Gruppe sind(- kein lesen,- kein schreiben,- kein Ausführungsrecht)
Wenn fhem jetzt in der Gruppe dialout ist, darf er auf /dev/ttyUSB2 als Gruppenmitglied (rw-) zugreifen.
Der Benutzer existriert, wie die Meldung belegt:crw-rw---- 1 root dialout 188, 0 Jan 20 01:18 /dev/ttyUSB0
crw-rw---- 1 fhem dialout 188, 1 Jan 20 01:18 /dev/ttyUSB1
Da es sich um eine Virtualisierung handelt, könnte es ein Problem beim Durchreichen des Devices geben. Das würde ich aber vorest ausschließen.
Gruß Jens
ZitatDer Benutzer existriert, wie die Meldung belegt:
existiert aber nur auf dem Container
Auf Proxmox (von wo aus ich die USB Devices durchgebe) gibt es fhem nicht. Ist das ein Problem?
root@proxmox:~# less /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:
man:x:12:
proxy:x:13:
kmem:x:15:
dialout:x:20:
fax:x:21:
voice:x:22:
cdrom:x:24:
floppy:x:25:
tape:x:26:
sudo:x:27:
audio:x:29:
dip:x:30:
www-data:x:33:
backup:x:34:
operator:x:37:
list:x:38:
irc:x:39:
src:x:40:
gnats:x:41:
shadow:x:42:
utmp:x:43:
video:x:44:
sasl:x:45:
plugdev:x:46:
staff:x:50:
games:x:60:
users:x:100:
nogroup:x:65534:
systemd-journal:x:101:
systemd-timesync:x:102:
systemd-network:x:103:
systemd-resolve:x:104:
systemd-bus-proxy:x:105:
input:x:106:
crontab:x:107:
netdev:x:108:
ssh:x:109:
ssl-cert:x:110:
messagebus:x:111:
postfix:x:112:
postdrop:x:113:
rdma:x:114:
ceph:x:64045:
~
~
(END)
Ist es ein Problem, dass ich die Geräte per USB Hub angeschlossen habe?
An sich sollte alles passen. Welche Fehlermeldung erhältst du aktuell?
Mit "chown fhem:dialout /dev/ttyUSB2" kannst du fhem den Besitz übergeben. Nicht die feine Art - geht aber.
Gruß Jens
Ich habe den Jeelink so eingebunden:
defmod myJeeLink JeeLink /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AL01MZ4B-if00-port0@57600
attr myJeeLink flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
attr myJeeLink group IO-Devices
attr myJeeLink room System
Auch bei Neuanlage keine Fehlermeldung, Leider Status: disconnected
Meinen Optokoppler versuche ich so einzubinden:
define Viessmann VCONTROL /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A900WVZZ-if00-port0 V300KW3_V0002.cfg 180
attr Viessmann userattr lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0
attr Viessmann event-on-change-reading .*
attr Viessmann icon hm_keymatic
attr Viessmann room 00_KG_Heizungsraum,G_Viessmann
attr Viessmann stateFormat Haupt: state | Radiatoren: state-KR2-Heizkoerper | FBH: state-KR3-FBH
Bekomme aber folgende Fehlermessage:
Can't open /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A900WVZZ-if00-port0: Operation not permitted
Wenn ich im Container ein
lsusb
mache, sehen die beiden betroffenen Domgels identisch aus. Kann das ggf. das Problem sein?
root@fhem-container:~# lsusb
...
Bus 001 Device 007: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
...
Bus 001 Device 004: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
...
Ok, wenn das so ist, tippe ich auf die Virtualisierung. Eventuell musst du die Anschlüsse dort extra freigeben. Dazu gibt es bestimmt Anleitungen bzw. Foren, an die du dich in diesem speziellen Fall wenden kannst. Tut mir leid, dass ich dir nicht helfen konnte.
Gruß Jens
Trotzdem Danke für Deine unermüdliche Hilfe!
Ich habe mir mal dmesg angeschaut und hatte zumindest bei einem Device disconnects bzw. "Interferrenzen".
Habe nun meinen Jeelink per RPI und ser2net eingebunden. :-)
Meinen Optolinkadapter nehme ich die Tage in Angriff (versuche es auch mit ser2net)
Hi,
konntest du das Problem lösen?
Habe das über ser2net gemacht. Hat den Charm, dass Du bei einer Virtualisierung von FHEM bei einer Test und Prod-Instanz auch die IOs verfügbar hast, ohne umkonfigurieren zu müssen.
hast du den ser2net host direkt auf proxmox installiert?
Hast du dazu etwas Lesematerial?
Nein. Habe das auf einem RPI gemacht. So konnte ich dann auch ortsunabhängig im Haus platzieren.
Glaube ich habe das mit nem Wikieintrag gemacht. Habe wahrscheinlich in meinem Verlauf selbst was gepostet.
Ah schade. Ich wollte ja die Raspis einsparen :)
Naja, ich hoffe einfach mal das meine Config die proxmox reboots überlebt :)
https://forum.fhem.de/index.php/topic,78552.msg705631.html#msg705631 (https://forum.fhem.de/index.php/topic,78552.msg705631.html#msg705631)