[SOLVED] LXC USB Passthrough (ZWave Stick)

tschanness

Member
Oct 30, 2016
291
21
18
29
Hi,
sadly there is no wiki entry for LXC USB Passthrough, so if someone has the same problem as me he will at least find it in the forum. Nice work with VE 4.3 btw.

1st.
Plug in you USB ZWave stick and find the Major:Minor Numbers:
Code:
root@proxmox01:~# lsusb
[...]
Bus 004 Device 005: ID 0658:0200 Sigma Designs, Inc.
[...]
Major Number is 4, Minor is 5 for me (Bus and Device). Yours will vary.

2nd.
Take a look at the /dev Filetree:
Code:
root@proxmox01:~# ls -l /dev/bus/usb/004/005
crw-rw-r-- 1 root root 189, 388 Oct 25 16:19 /dev/bus/usb/004/005
Take note of the 189,388. Yours may differ. I'm not even sure what those numbers mean :/

3rd.
Edit the LXC Config file:
Code:
root@proxmox01:~# nano /etc/pve/nodes/proxmox01/lxc/101.conf
lxc.cgroup.devices.allow: c 189:388 rwm
lxc.mount.entry: /dev/bus/usb/004/005 dev/bus/usb/004/005 none bind,optional,create=file
You File will be in another Location.

4th.
Wonder why it does not work

5th.
The ZWave Stick creates a ttyACM device:
Code:
root@proxmox01:~# ls -l /dev/ttyACM0
crwxrwxrwx 1 root dialout 166, 0 Oct 30 13:38 /dev/ttyACM0
Note the 166 here. Add it to your Container:
Code:
lxc.cgroup.devices.allow: c 166:* rwm
lxc.mount.entry: /dev/ttyACM0 dev/ttyACM0 none bind,optional,create=file
This was it for me. I hope it helps someone.
 
  • Like
Reactions: lastb0isct

scurrier

New Member
Sep 9, 2017
9
1
3
67
Thanks for posting, this helped me get openhab running in a container.

One note. If the container is unprivileged, you will need to give permissions to /dev/ttyACM0 from the host. chmod o+rw /dev/ttyACM0 did the trick. If you don't want to give permissions to everyone, I suspect (but not sure) that you can fiddle with adding the required uid's inside the container to the /dev/ttyACM0 device's group (dialout) outside the container, Restart the container to take effect.
 
  • Like
Reactions: tschanness

Jaime Hablutzel

New Member
Jun 21, 2018
7
4
3
30
Here you have another step by step guide, https ://gist.github.com/Yub0/518097e1a9d179dba19a787b462f7dd2#gistcomment-2625690.

Note that it is important to use Proxmox's pct to stop and start containers instead of lxc's tools.
 
  • Like
Reactions: tschanness

Dayve

New Member
Apr 19, 2019
11
0
1
52
Sorry to open up an old post.
I followed the mods directions and my z wave stick works great unless I restart or shutdown the host. Then I need to give permissions to /dev/ttyACM0 using chmod o+rw /dev/ttyACM0 for it to work again.

Is there a way to get around this?
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE 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 your own in 60 seconds.

Buy now!