Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

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:
Zurück
Oben