NEWS
[Gelöst] Proxmox Container - USB durchreichen
-
@crunchip Leider nicht, das scheint ja das Problem zu sein:
andreas@iobroker:/dev$ udevadm info -a -p $(udevadm info -q path -n /dev/ttyUSB0) Unknown device "/dev/ttyUSB0": No such file or directory info: option requires an argument -- 'p'
im /dev/ Verzeichnis gibt es kein ttyUSB0...
andreas@iobroker:/dev$ ls bus console core fd full initctl log mqueue null ptmx pts random shm stderr stdin stdout tty tty1 tty2 ttyACM0 urandom zero andreas@iobroker:/dev$
-
@amg_666 beginn doch mal von vorne, zieh deinen einen stick ab (nicht das da sich etwas in die Quere kommt), starte ggf. den Rechner neu und dann prüfe nochmal
-
@amg_666 sagte in Proxmox Container - USB durchreichen:
andreas@iobroker:/dev$ ls
du bist auf deinem iobroker, daher klappt das nicht, du musst auf proxmox
https://forum.iobroker.net/post/610799 -
@crunchip Oh Mann, das hab ich echt nicht gemerkt...
Läuft noch immer nicht aber ich bin zumindest etwas weiter:root@proxmox:/etc/pve/nodes/proxmox/lxc# ls -la /dev/serial/by-id/ total 0 drwxr-xr-x 2 root root 80 Aug 1 23:35 . drwxr-xr-x 4 root root 80 Jun 20 20:33 .. lrwxrwxrwx 1 root root 13 Aug 1 23:35 usb-1a86_USB_Serial-if00-port0 -> ../../ttyUSB0 lrwxrwxrwx 1 root root 13 Jun 20 20:33 usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0018E1CB74-if00 -> ../../ttyACM0 root@proxmox:/etc/pve/nodes/proxmox/lxc#
der auf ttyUSB0 gemountete ist der neue Stick. Im iobroker sieht man den jetzt auch auf der Konsole:
andreas@iobroker:~$ lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 8087:0aa7 Intel Corp. Bus 001 Device 007: ID 0451:16a8 Texas Instruments, Inc. Bus 001 Device 015: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub andreas@iobroker:~$ ls /dev bus console core fd full initctl log mqueue null ptmx pts random shm stderr stdin stdout tty tty1 tty2 ttyACM0 ttyUSB0 urandom zero andreas@iobroker:~$
Ich hab dann im zigbee Adapter den com Anschluss /dev/ttyUSB0 gewählt und als Typ TI Z-Stack/CCxxxx gewählt (hoffe das ist so richtig, ist ja kein TI aber ein CC2652P. Damit wird der Adapter aber nur gelb und im Log steht
zigbee.0 2021-08-02 12:19:03.990 error Error herdsman start zigbee.0 2021-08-02 12:19:03.990 error Failed to start Zigbee zigbee.0 2021-08-02 12:19:03.989 error Starting zigbee-herdsman problem : "Error while opening serialport 'Error: Error Resource temporarily unavailable Cannot lock port'" zigbee.0 2021-08-02 12:19:03.810 info Installed Version: iobroker.zigbee@1.5.6 zigbee.0 2021-08-02 12:19:03.792 info Starting Zigbee npm ... zigbee.0 2021-08-02 12:19:03.791 info Try to reconnect. 1 attempts left zigbee.0 2021-08-02 12:18:54.649 error getGroups: caught error: TypeError: Cannot read property 'getGroups' of undefined zigbee.0 2021-08-02 12:18:53.790 error Error herdsman start zigbee.0 2021-08-02 12:18:53.789 error Failed to start Zigbee zigbee.0 2021-08-02 12:18:53.789 error Starting zigbee-herdsman problem : "Failed to connect to the adapter (Error: SRSP - SYS - ping after 6000ms)" zigbee.0 2021-08-02 12:18:34.108 info Installed Version: iobroker.zigbee@1.5.6 zigbee.0 2021-08-02 12:18:33.724 info Starting Zigbee npm ... zigbee.0 2021-08-02 12:18:33.589 info starting. Version 1.5.6 in /opt/iobroker/node_modules/iobroker.zigbee, node: v14.17.2, js-controller: 3.3.15 host.iobroker 2021-08-02 12:18:30.580 info instance system.adapter.zigbee.0 started with pid 1554 host.iobroker 2021-08-02 12:18:28.135 info instance system.adapter.zigbee.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION)
ich hab da im Moment noch beide Sticks am NUC hängen, für mich sieht das so aus, dass er den neuen nicht verbinden kann, ich vermute mal falschen Typ gewählt (?) aber der zigbee Adapter hat in der Auswahlliste nur den TI Z-Stack/CCxxxx, Dconz/Conbee, NXP/Zigate und Silicon Labs EZSP/EFR32
Hat hier noch jemand eine Idee wo da was falsch läuft? -
@amg_666 sagte in Proxmox Container - USB durchreichen:
der auf ttyUSB0 gemountete ist der neue Stick. Im iobroker sieht man den jetzt auch auf der Konsole:
Also genau genommen siehst du auf der Konsole erstmal nur, dass sich der USB-Seriell-Wandler des CC2652P - Sticks (ein Qinheng-Dings) meldet
Eine Möglichkeit, warum der Kontakt mit dem Zigbee-Adapter nicht klappt, wäre, dass der CC2652P nicht mit dem USB-Wandler sprechen möchte - sicher, dass da eine passende Firmware drauf ist? -
@jleg Ich hab da jetzt sicherheitshalber nochmal die Firmware drübergebügelt, selber Effekt.
Auf dem Stick ist "CC1352P2_CC2652P_launchpad_coordinator_20210708.zip" und der SmartRF Programmer sagt "Success" am Ende des Flashvorgangs... -
Uff, das war ne schwere Geburt...
Ich hatte den Stick jetzt aus dem NUC gezogen, in meinen Windows PC gesteckt und nochmal geflasht. Danach zurück in den NUC und der zigbee Adapter liefert den Fehler im Log, dass er keine Berechtigung hat auf ttyUSb0 zuzugreifen.
Wenn ich auf die proxmox Konsole des Containers gehe, sehe ich auch, dass die Berechtigungen komplett fehlen:
Ich habe darauf in der Proxmox Shell den Container gestoppt, die Berechtigung nochmal neu gesetzt, und den Container gestartet.
Jetzt sieht es im LXC so aus:andreas@iobroker:~$ ls -l /dev/ttyUSB0 crw-rw-rw- 1 nobody nogroup 188, 0 Aug 2 17:32 /dev/ttyUSB0
und zigbee erkennt auch den neuen Stick.
2 Fragen hätte ich noch:
- Was muss ich tun, damit die Berechtigung auf der Datei bestehen bleibt, auch wenn ich den Stick mal abziehe?
- Gibt es eine Möglichkeit, dass ich das vorhandene Netz auf den neuen Stick "umziehe"? Stick wird erkannt aber die Geräteübersicht ist leer. Muss ich da manuell alles neu anlernen?
-
@amg_666 sagte in Proxmox Container - USB durchreichen:
Was muss ich tun, damit die Berechtigung auf der Datei bestehen bleibt, auch wenn ich den Stick mal abziehe?
Udev-Regel ist das Stichwort.
-
@amg_666 sagte in Proxmox Container - USB durchreichen:
Was muss ich tun, damit die Berechtigung auf der Datei bestehen bleibt,
Das steht doch ebenfalls im Link den ich dir gepostet habe
-
An der udev - Regel habe ich mir die Zähne ausgebissen und es im Endeffekt nicht hinbekommen (Symlink wird nicht erstellt).
Über einen cronjob setze ich jetzt die Berechtigungen bei einem Neustart und die lxc-conf habe ich recht generisch gestaltet:crontab -e @reboot chmod o+rw /dev/ttyACM0
lxc.cgroup.devices.allow: c 189:* rwm lxc.mount.entry: /dev/ttyACM0 dev/ttyACM0 none bind,optional,create=file
Ob das gereicht hat, sehe ich beim nächsten Neustart
-
Kurze Frage zu diesem Thema hier. Bei mir läuft ebenfalls der ioBroker als Container Lösung unter Proxmox. So wie hier beschrieben, konnte ich meinen USB-Stick für Zigbee erfolgreich durchreichen. Kann mir jemand sagen, was ich anpassen muss, um einen weiteren (SmartMeter) USB Anschluss durchzureichen?
-
@tolkin Genau dasselbe nochmal, nur müsstest du erstmal schaun als was das 2. USB Device angezeigt wird (mit lsusb) und dann den 2. genauso anlegen.
Ich hab zurzeit noch 2 zigbee Sticks am nuc hängen weil es in der Übergangszeit doch ein paar Problemchen gab und ich zu Tests hin und her wechseln wollte im zigbee Adapter.root@proxmox:~# lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 8087:0aa7 Intel Corp. Wireless-AC 3168 Bluetooth Bus 001 Device 010: ID 0451:16a8 Texas Instruments, Inc. CC2531 ZigBee Bus 001 Device 007: ID 1a86:7523 QinHeng Electronics CH340 serial converter Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Den "QinHeng", also Bus001Dev007 hab ich als ttyUSB0 angelegt und den alten TI (Bus001Dev010) als ttyACM0.
Beide dann entsprechend in der conf Datei eingetragen, läuft.die mount Einträge sehen bei mir so aus
arch: amd64 cores: 2 features: keyctl=1,nesting=1 hostname: iobroker memory: 8192 net0: name=eth0,bridge=vmbr0,gw=192.168.1.1,hwaddr=56:63:44:9E:5E:3B,ip=192.168.1.23/24,type=veth onboot: 1 ostype: debian parent: s20230303 rootfs: local-lvm:vm-100-disk-0,size=150G swap: 2048 unprivileged: 1 lxc.cgroup.devices.allow: c 189:* rwm lxc.mount.entry: /dev/bus/usb/001/010 dev/bus/usb/001/010 none bind,optional,create=file lxc.mount.entry: /dev/ttyACM0 dev/ttyACM0 none bind,optional,create=file lxc.cgroup.devices.allow: c 189:* rwm lxc.mount.entry: /dev/bus/usb/001/007dev/bus/usb/001/007 none bind,optional,create=file lxc.mount.entry: /dev/ttyUSB0 dev/ttyUSB0 none bind,optional,create=file
-
Danke! Den part konnte ich in meinem LXC 1:1 übernehmen.
lxc.cgroup.devices.allow: c 189:* rwm lxc.mount.entry: /dev/bus/usb/001/010 dev/bus/usb/001/010 none bind,optional,create=file lxc.mount.entry: /dev/ttyACM0 dev/ttyACM0 none bind,optional,create=file
Schon hängt der UPS da dran. Mal schauen ob ich den Nut-Server zum laufen bekomme.