Hallo,
ich versuche jetzt seit einigen Tagen ein USB Device ( Dallas 1-Wire adapter DS9490R) an einen nicht-privilegierten durchzureichen. In einer Konstellation klappt es wie ich es will und meine Sensoren werden erkannt. Diese Konstellation ist aber nicht reboot sicher und auch ein umstecken läuft nicht ohne händisches eingreifen.
Zum derzeitigen Aufbau wie es funktioniert.
Hostsystem:
- Mit "lsusb" gucken an welchem Port sich das USB Device befindet -> Bus 001 Device 002.
- In meine LXC Config trage ich den Mount Entry wie folgt ein:
lxc.cgroup.devices.allow: c 189:* rwm
lxc.mount.entry: /dev/bus/usb/001/002 dev/bus/usb/001/002 none bind,optional,create=file
- Anschließend ein "chown 100000:100000 /dev/bus/usb/001/002" damit im LXC das Device auch root Rechte hat.
- LXC starten
LXC System:
- "lsusb" zeigt mir hier auch, dass das Device wie beim Host am gleichen Port hängt.
- Mit "ls -l /dev/bus/usb/001/002" sehe ich auch das die Rechte soweit passen -> "crw-rw-r-- 1 root root 189, 3 Jan 2 11:41 /dev/bus/usb/001/004"
In der gezeigten Konstellation geht es wunderbar und ich sehe meine Sensoren. Stecke ich jetzt allerdings das Device um oder reboote dann kann die Portzuordnung sich geändert haben und die Sensoren werden nicht mehr angezeigt.
Jetzt dachte ich mir ich versuche einfach mal über eine udev Regel den USB Port zu binden im Host mit folgenden Einstellungen:
# etc/udev/rules.de/60-owfs.rules
SUBSYSTEMS=="usb", ATTRS{idVendor}=="04fa", ATTRS{idProduct}=="2490", SYMLINK+="test"
Ein "ls -l /dev" ergibt bei mir folgende Rückmeldung -> lrwxrwxrwx 1 root root 15 Jan 2 11:57 test -> bus/usb/001/004
Siehe da wenn ich das Device umstecke sehe ich das sich die Zuordnung am Port ändert aber er immer unter dem gleichen Link zu erreichen ist.
Den Link habe ich dann auch in meine LXC Config eingetragen und den LXC danach gestartet:
lxc.mount.entry: /dev/test dev/test none bind,optional,create=file
Ein "chown 100000:100000 /dev/test" gibt dem Device wieder Rootrechte. Was ich auch im LXC beobachten kann.
Im LXC sehe ich jetzte folgendes:
- "lsusb" zeigt mir hier auch, dass das Device wie beim Host am gleichen Port hängt.
- Mit "ls -l /dev/test" sehe ich auch das die Rechte soweit passen -> "crw-rw-r-- 1 root root 189, 4 Jan 2 11:58 /dev/test"
Soweit so gut dachte ich. Aber ich habe jetzt das Problem das ich meine Sensoren nicht sehen kann. Warum auch immer und ich weiß echt nicht mehr weiter wo ich da noch suchen soll. Direkt scheinet es ja zu funktionieren aber nicht mit einem Link.
Weiß jemand was ich noch machen kann das ich auch hier die Sensoren sehen kann?
Grüße
Jascha
ich versuche jetzt seit einigen Tagen ein USB Device ( Dallas 1-Wire adapter DS9490R) an einen nicht-privilegierten durchzureichen. In einer Konstellation klappt es wie ich es will und meine Sensoren werden erkannt. Diese Konstellation ist aber nicht reboot sicher und auch ein umstecken läuft nicht ohne händisches eingreifen.
Zum derzeitigen Aufbau wie es funktioniert.
Hostsystem:
- Mit "lsusb" gucken an welchem Port sich das USB Device befindet -> Bus 001 Device 002.
- In meine LXC Config trage ich den Mount Entry wie folgt ein:
lxc.cgroup.devices.allow: c 189:* rwm
lxc.mount.entry: /dev/bus/usb/001/002 dev/bus/usb/001/002 none bind,optional,create=file
- Anschließend ein "chown 100000:100000 /dev/bus/usb/001/002" damit im LXC das Device auch root Rechte hat.
- LXC starten
LXC System:
- "lsusb" zeigt mir hier auch, dass das Device wie beim Host am gleichen Port hängt.
- Mit "ls -l /dev/bus/usb/001/002" sehe ich auch das die Rechte soweit passen -> "crw-rw-r-- 1 root root 189, 3 Jan 2 11:41 /dev/bus/usb/001/004"
In der gezeigten Konstellation geht es wunderbar und ich sehe meine Sensoren. Stecke ich jetzt allerdings das Device um oder reboote dann kann die Portzuordnung sich geändert haben und die Sensoren werden nicht mehr angezeigt.
Jetzt dachte ich mir ich versuche einfach mal über eine udev Regel den USB Port zu binden im Host mit folgenden Einstellungen:
# etc/udev/rules.de/60-owfs.rules
SUBSYSTEMS=="usb", ATTRS{idVendor}=="04fa", ATTRS{idProduct}=="2490", SYMLINK+="test"
Ein "ls -l /dev" ergibt bei mir folgende Rückmeldung -> lrwxrwxrwx 1 root root 15 Jan 2 11:57 test -> bus/usb/001/004
Siehe da wenn ich das Device umstecke sehe ich das sich die Zuordnung am Port ändert aber er immer unter dem gleichen Link zu erreichen ist.
Den Link habe ich dann auch in meine LXC Config eingetragen und den LXC danach gestartet:
lxc.mount.entry: /dev/test dev/test none bind,optional,create=file
Ein "chown 100000:100000 /dev/test" gibt dem Device wieder Rootrechte. Was ich auch im LXC beobachten kann.
Im LXC sehe ich jetzte folgendes:
- "lsusb" zeigt mir hier auch, dass das Device wie beim Host am gleichen Port hängt.
- Mit "ls -l /dev/test" sehe ich auch das die Rechte soweit passen -> "crw-rw-r-- 1 root root 189, 4 Jan 2 11:58 /dev/test"
Soweit so gut dachte ich. Aber ich habe jetzt das Problem das ich meine Sensoren nicht sehen kann. Warum auch immer und ich weiß echt nicht mehr weiter wo ich da noch suchen soll. Direkt scheinet es ja zu funktionieren aber nicht mit einem Link.
Weiß jemand was ich noch machen kann das ich auch hier die Sensoren sehen kann?
Grüße
Jascha