Probleme USB passthrough

Smarte-Wohnung

Active Member
Jun 6, 2019
30
2
28
44
Hallo,

ich bekomme es leider nicht hin, meine USB Geräte durchzureichen.

Folgendes habe ich gemacht:

Code:
root@pve lsusb
Bus 001 Device 010: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter

Code:
root@pve ls -la /dev/ttyUSB*
crw-rw---- 1 root dialout 188, 0 Dec 17 21:16 /dev/ttyUSB0

Code:
root@pve udevadm info -a -n /dev/ttyUSB0 | grep '{serial}' | head -n1
ATTRS{serial}=="0000:00:15.0"

Code:
root@pve sudo nano /etc/udev/rules.d/99-usb-serial.rules
SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", ATTRS{serial}=="0000:00:15.0", SYMLINK+="CUL868"

Code:
root@pve reboot

Code:
root@pve ls -la /dev/CUL868
ls: cannot access '/dev/CUL868': No such file or directory


=> Hier komme ich leider nicht weiter. Warum kann ich nicht auf /dev/CUL868 Raufgreifen?


Als nächstes würde ich diese Schritte durchführen
Code:
sudo nano /etc/pve/nodes/proxmox/lxc/100.conf
lxc.mount.entry: /dev/zwave dev/zwave none bind,optional,create=file
lxc.aa_profile: unconfined
lxc.cgroup.devices.allow: c 188:* rwm
lxc.mount.entry: /dev/CUL868 dev/CUL868 none bind,optional,create=file

Danke!
 
Sehe gerade das das Device ja nicht mal auf dem Host selbst angelegt wird. Sorry, mein Fehler.

Und die anderen Daten sind korrekt?
Code:
SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", ATTRS{serial}=="0000:00:15.0", SYMLINK+="CUL868"
 
Hier alle kompletten Ausgaben:

root@pve:~# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 8087:0aa7 Intel Corp.
Bus 001 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 002: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

root@pve:~# ls -la /dev/ttyACM*
ls: cannot access '/dev/ttyACM*': No such file or directory

root@pve:~# ls -la /dev/ttyUSB*
crw-rw---- 1 root dialout 188, 0 Dec 17 22:34 /dev/ttyUSB0

root@pve:~# udevadm info -a -n /dev/ttyUSB0 | grep '{serial}' | head -n1
ATTRS{serial}=="0000:00:15.0"

root@pve:~# sudo nano /etc/udev/rules.d/99-usb-serial.rules
SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", ATTRS{serial}=="0000:00:15.0", SYMLINK+="CUL868"

root@pve:~# reboot

root@pve:~# ls -la /dev/CUL868

ls: cannot access '/dev/CUL868': No such file or directory


Wenn ich das USB Gerät entferne, wird es nicht mehr unter lsusb und unter ttyUSB* angezeigt
 
Last edited:
OK noch mal zum Verständnis. idVendor und idProduct hast du auch ganz sicher aus udevadminfo mit ausgelesen?
Will da nur sicher gehen das wir beide vom selben reden.
 
OK noch mal zum Verständnis. idVendor und idProduct hast du auch ganz sicher aus udevadminfo mit ausgelesen?
Will da nur sicher gehen das wir beide vom selben reden.

Ich weiß nicht ganz was du meinst die VendorID und die ProduktID bekomme ich doch mit lsusb raus oder?

lsusb
Bus 001 Device 002: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter

VendorID = 1a86
ProduktID= 7523



root@pve:~# udevadm info --name /dev/ttyUSB0

P: /devices/pci0000:00/0000:00:15.0/usb1/1-1/1-1:1.0/ttyUSB0/tty/ttyUSB0
N: ttyUSB0
S: serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
S: serial/by-path/pci-0000:00:15.0-usb-0:1:1.0-port0
E: DEVLINKS=/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0 /dev/serial/by-path/pci-0000:00:15.0-usb-0:1:1.0-port0
E: DEVNAME=/dev/ttyUSB0
E: DEVPATH=/devices/pci0000:00/0000:00:15.0/usb1/1-1/1-1:1.0/ttyUSB0/tty/ttyUSB0
E: ID_BUS=usb
E: ID_MODEL=USB2.0-Serial
E: ID_MODEL_ENC=USB2.0-Serial
E: ID_MODEL_FROM_DATABASE=HL-340 USB-Serial adapter
E: ID_MODEL_ID=7523
E: ID_PATH=pci-0000:00:15.0-usb-0:1:1.0
E: ID_PATH_TAG=pci-0000_00_15_0-usb-0_1_1_0
E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller
E: ID_PCI_INTERFACE_FROM_DATABASE=XHCI
E: ID_PCI_SUBCLASS_FROM_DATABASE=USB controller
E: ID_REVISION=0254
E: ID_SERIAL=1a86_USB2.0-Serial
E: ID_TYPE=generic
E: ID_USB_CLASS_FROM_DATABASE=Vendor Specific Class
E: ID_USB_DRIVER=ch341
E: ID_USB_INTERFACES=:ff0102:
E: ID_USB_INTERFACE_NUM=00
E: ID_VENDOR=1a86
E: ID_VENDOR_ENC=1a86
E: ID_VENDOR_FROM_DATABASE=QinHeng Electronics
E: ID_VENDOR_ID=1a86
E: MAJOR=188
E: MINOR=0
E: SUBSYSTEM=tty
E: TAGS=:systemd:
E: USEC_INITIALIZED=5359548
 
Last edited:
Ja kann sein. Wie Du es rausgefunden hast ist ja egal, hauptsache nicht aus einer Anleitung abgeschrieben. Sorry aber ich habe schon Pferde vor der Apotheke kotzen gesehen.

Was sagst
udevadm monitor -u
 
Alles gut :) ich bin leider noch neu in der Materie. Daher gerne simpel und einfach alles durchgehen. Vielen Dank für deine Hilfe!


root@pve:~# udevadm monitor -u
Code:
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
UDEV  [167122.093419] add      /kernel/slab/:A-0000256/cgroup/filp(39976:pvesr.service) (cgroup)
UDEV  [167122.093979] add      /kernel/slab/:aA-0000192/cgroup/dentry(39976:pvesr.service) (cgroup)
UDEV  [167122.094420] add      /kernel/slab/inode_cache/cgroup/inode_cache(39976:pvesr.service) (cgroup)
UDEV  [167122.094543] add      /kernel/slab/:A-0002112/cgroup/mm_struct(39976:pvesr.service) (cgroup)
UDEV  [167122.094659] add      /kernel/slab/:A-0000192/cgroup/cred_jar(39976:pvesr.service) (cgroup)
UDEV  [167122.094992] add      /kernel/slab/anon_vma/cgroup/anon_vma(39976:pvesr.service) (cgroup)
UDEV  [167122.095137] add      /kernel/slab/:A-0000064/cgroup/pid(39976:pvesr.service) (cgroup)
UDEV  [167122.095246] add      /kernel/slab/proc_inode_cache/cgroup/proc_inode_cache(39976:pvesr.service) (cgroup)
UDEV  [167122.096163] add      /kernel/slab/:A-0000208/cgroup/vm_area_struct(39976:pvesr.service) (cgroup)
UDEV  [167123.181678] add      /kernel/slab/sock_inode_cache/cgroup/sock_inode_cache(39976:pvesr.service) (cgroup)
UDEV  [167123.182388] add      /kernel/slab/:0000512/cgroup/kmalloc-512(39976:pvesr.service) (cgroup)
UDEV  [167123.182514] add      /kernel/slab/:0000256/cgroup/kmalloc-256(39976:pvesr.service) (cgroup)
UDEV  [167123.190651] add      /kernel/slab/:0000064/cgroup/kmalloc-64(39976:pvesr.service) (cgroup)
UDEV  [167123.191195] add      /kernel/slab/ext4_inode_cache/cgroup/ext4_inode_cache(39976:pvesr.service) (cgroup)
UDEV  [167123.192273] add      /kernel/slab/fuse_inode/cgroup/fuse_inode(39976:pvesr.service) (cgroup)
UDEV  [167123.257999] remove   /dentry(39964:pvesr.service) (cgroup)
UDEV  [167123.270776] remove   /kernel/slab/fuse_inode/cgroup/fuse_inode(39976:pvesr.service) (cgroup)
UDEV  [167123.270826] remove   /kernel/slab/sock_inode_cache/cgroup/sock_inode_cache(39976:pvesr.service) (cgroup)
UDEV  [167123.270851] remove   /kernel/slab/ext4_inode_cache/cgroup/ext4_inode_cache(39976:pvesr.service) (cgroup)
UDEV  [167123.271609] remove   /kernel/slab/proc_inode_cache/cgroup/proc_inode_cache(39976:pvesr.service) (cgroup)
UDEV  [167123.271736] remove   /kernel/slab/:A-0000208/cgroup/vm_area_struct(39976:pvesr.service) (cgroup)
UDEV  [167123.271767] remove   /kernel/slab/inode_cache/cgroup/inode_cache(39976:pvesr.service) (cgroup)
UDEV  [167123.271923] remove   /kernel/slab/:A-0000256/cgroup/filp(39976:pvesr.service) (cgroup)
UDEV  [167123.272479] remove   /kernel/slab/:A-0002112/cgroup/mm_struct(39976:pvesr.service) (cgroup)
UDEV  [167123.272782] remove   /kernel/slab/:A-0000192/cgroup/cred_jar(39976:pvesr.service) (cgroup)
UDEV  [167123.272957] remove   /kernel/slab/anon_vma/cgroup/anon_vma(39976:pvesr.service) (cgroup)
UDEV  [167123.273065] remove   /kernel/slab/:A-0000064/cgroup/pid(39976:pvesr.service) (cgroup)
UDEV  [167123.273369] remove   /kernel/slab/:0000256/cgroup/kmalloc-256(39976:pvesr.service) (cgroup)
UDEV  [167123.273499] remove   /kernel/slab/:0000064/cgroup/kmalloc-64(39976:pvesr.service) (cgroup)
UDEV  [167123.273630] remove   /kernel/slab/:0000512/cgroup/kmalloc-512(39976:pvesr.service) (cgroup)
 
Code:
UDEV  [167488.510035] remove   /devices/pci0000:00/0000:00:15.0/usb1/1-1/1-1:1.0/ttyUSB0/tty/ttyUSB0 (tty)
UDEV  [167488.510233] remove   /devices/pci0000:00/0000:00:15.0/usb1/1-1/1-1:1.0/ttyUSB0 (usb-serial)
UDEV  [167488.511076] remove   /devices/pci0000:00/0000:00:15.0/usb1/1-1/1-1:1.0 (usb)
UDEV  [167488.511384] remove   /devices/pci0000:00/0000:00:15.0/usb1/1-1 (usb)
UDEV  [167490.652325] add      /devices/pci0000:00/0000:00:15.0/usb1/1-1 (usb)
UDEV  [167490.653472] add      /devices/pci0000:00/0000:00:15.0/usb1/1-1/1-1:1.0 (usb)
UDEV  [167490.654004] add      /devices/pci0000:00/0000:00:15.0/usb1/1-1/1-1:1.0/ttyUSB0 (usb-serial)
UDEV  [167490.656162] add      /devices/pci0000:00/0000:00:15.0/usb1/1-1/1-1:1.0/ttyUSB0/tty/ttyUSB0 (tty)
 
Scheint nicht zu greifen.

So sieht meine aus. Habe 98-RFXtrx-CUL.rules

Code:
SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{idProduct}=="6001", ATTRS{idVendor}=="0403", SYMLINK+="RFXCOM_RFXtrx433_A1XEABQO", MO
DE="0666", GROUP="dialout"
 
sudo nano /etc/udev/rules.d/99-usbserial.rules
Der Pfad ist doch richtig oder?

SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", ATTRS{serial}=="0000:00:15.0", SYMLINK+="CUL868", GROUP="dialout"

gleiche Ausgabe...
 
SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", SYMLINK+="CUL868", GROUP="dialout"


root@pve:~# ls -la /dev/CUL868
lrwxrwxrwx 1 root root 7 Dec 19 21:50 /dev/CUL868 -> ttyUSB0

Super!! Danke!

Nun habe ich in die config folgendes eingeben:

sudo nano /etc/pve/lxc/100.conf
lxc.cgroup.devices.allow: c 188:* rwm
lxc.mount.entry: /dev/CUL868 dev/CUL868 none bind,optional,create=file

sudo reboot

Ergebnis:
root@fhem:~# ls -la /dev/CUL868
ls: cannot access '/dev/CUL868': No such file or directory

:(

Hier die komplette Config
root@pve:~# cat /etc/pve/lxc/100.conf
#192.168.178.100
#sudo invoke-rc.d fhem start
#sudo /etc/init.d/ssh start
arch: amd64
cores: 4
hostname: fhem
memory: 4096
net0: name=eth0,bridge=vmbr0,firewall=1,hwaddr=02:E7:09:43:76:F4,ip=dhcp,ip6=dhcp,type=veth
onboot: 1
ostype: debian
parent: FHEM20190609
rootfs: local-lvm:vm-100-disk-0,size=46G
swap: 4096
lxc.cgroup.devices.allow: c 116:* rwm
lxc.mount.entry: /dev/snd dev/snd none bind,optional,create=dir
[FHEM20190609]
#Fhem Funktioniert, Sound Io, Xiamoi noch nicht
arch: amd64
cores: 4
hostname: fhem
memory: 4096
net0: name=eth0,bridge=vmbr0,firewall=1,hwaddr=02:E7:09:43:76:F4,ip=dhcp,ip6=dhcp,type=veth
onboot: 1
ostype: debian
rootfs: local-lvm:vm-100-disk-0,size=46G
snaptime: 1560068169
swap: 4096
lxc.cgroup.devices.allow: c 116:* rwm
lxc.mount.entry: /dev/snd dev/snd none bind,optional,create=dir

lxc.cgroup.devices.allow: c 188:* rwm
lxc.mount.entry: /dev/CUL868 dev/CUL868 none bind,optional,create=file
 
Erweitere bitte einmal die udev Rule um
Code:
, MODE="0666"
Code:
SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", SYMLINK+="CUL868" , MODE="0666", GROUP="dialout"

Dann solltest Du eigentlich auch ein Device CUL868 im Container haben.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!