Dies ist eine mobil optimierte Seite, die schnell lädt. Wenn Sie die Seite ohne Optimierung laden möchten, dann klicken Sie auf diesen Text.

USB-Serial Gerät an unpriviligierten LXC durchreichen - Beispiel Easymouse mit setserial

RuckZuck

Power Elite User
Premium
Registriert
8. November 2012
Beiträge
2.036
Lösungen
3
Reaktionspunkte
2.370
Punkte
393
Ort
World Wide Web
im PVE Host in der Shell über
Code:
apt install setserial -y
setserial installieren.

Dann eine neue UDEV-Rule unter /etc/udev/rules.d/ eine Datei "99-usb-serial.rules" anlegen
Code:
touch /etc/udev/rules.d/99-usb-serial.rules
und anschließend zum bearbeiten öffnen
Code:
nano /etc/udev/rules.d/99-usb-serial.rules
Hier müsst ihr dann noch die Serial eurer Easymouse entsprechend eintragen:
Code:
SUBSYSTEM=="tty", KERNEL=="ttyUSB*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A1234567", MODE="0777", SYMLINK+="Mouse01", RUN+="/bin/setserial /dev/Mouse01 low_latency"
SUBSYSTEM=="tty", KERNEL=="ttyUSB*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A2345678", MODE="0777", SYMLINK+="Mouse02", RUN+="/bin/setserial /dev/Mouse02 low_latency"
SUBSYSTEM=="tty", KERNEL=="ttyUSB*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A3456789", MODE="0777", SYMLINK+="Mouse03", RUN+="/bin/setserial /dev/Mouse03 low_latency"
SUBSYSTEM=="tty", KERNEL=="ttyUSB*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="A4567890", MODE="0777", SYMLINK+="Mouse04", RUN+="/bin/setserial /dev/Mouse04 low_latency"
MIt Strg+O speichern und mit Strg+X verlassen.

nun noch die config des GESTOPPTEN LXC öffnen:
Code:
nano /etc/pve/nodes/prx/lxc/ContainerID.conf
und fügt am Ende nachfolgende Zeilen hinzu:
Code:
lxc.cgroup2.devices.allow: c 188:* rwm
lxc.mount.entry: /dev/Mouse01 dev/Mouse01 none bind,optional,create=file
lxc.mount.entry: /dev/Mouse02 dev/Mouse02 none bind,optional,create=file
lxc.mount.entry: /dev/Mouse03 dev/Mouse03 none bind,optional,create=file
lxc.mount.entry: /dev/Mouse04 dev/Mouse04 none bind,optional,create=file
wieder mit Strg+O speichern, mit Strg+X schließen.
Nun den LXC Container neu starten und eure 4 Easymouse-Reader sind im Container durchgereicht und als /dev/MouseXY eingebunden.
 
Zuletzt bearbeitet:
Wie findet ihr die ATTRS(serial] eures serial-Geräts / Easymouse raus?

Nutzt diesen Befehl in der Shell des PVE Hosts:
Code:
udevadm info -a -n /dev/ttyUSB1 | grep '{serial}' | head -n1

Ausgabe im Beispiel:
Code:
udevadm info -a -n /dev/ttyUSB1 | grep '{serial}' | head -n1
ATTRS(serial)=="A1234567"

Die Nummer hinter "ttyUSB" könnt ihr dann hochsetzen wenn mehrere Geräte angeschlossen sind.


Alternativ könnt ihr euch direkt mit dem Befehl
Code:
ls -la /dev/serial/by-id/
alle angeschlossenen USB-Geräte anzeigen lassen. Die ATTRS(serial) findet ihr in der ausgegebenen Übersicht in jeder Zeile hinter "...USB_UART".
Ansonsten seht ihr hier welches Gerät auf welchem ttyUSB gelistet ist um mit dem udevadm-Befehl oben nur den einen USB-Anschluss auszulesen.
 
Zuletzt bearbeitet:
Für die Nutzung dieser Website sind Cookies erforderlich. Du musst diese akzeptieren, um die Website weiter nutzen zu können. Erfahre mehr…