我一直在尝试在运行debian wheezy的lxc容器中使用libnfc。 尝试了几个东西和库,从而证明了lxc方式的合理性,我终于达到了一个我不知道在哪里看的地方。
问题是主机看到的是我的USB设备,而不是容器。
我在容器的lxc配置文件中添加了以下内容:
lxc.cgroup.devices.allow = c 189:* rwm
当我在容器上尝试lsusb时,我得到了:
root@nfc:~/libnfc# lsusb
unable to initialize libusb: -99
主持人给出:
Bus 006 Device 003: ID 072f:2200 Advanced Card Systems, Ltd
我正在寻找的设备。
令人惊讶的是,容器可以看到设备:
root@nfc:~/libnfc# usb-devices
[...]
T: Bus=06 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 3 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=072f ProdID=2200 Rev=02.14
S: Manufacturer=ACS
S: Product=ACR122U PICC Interface
C: #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=200mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=0b(scard) Sub=00 Prot=00 Driver=(none)
我已经检查了libusb版本,内核模块,依赖项,但是我很无知,我有点迷失。
有什么想法吗?
答案 0 :(得分:2)
添加:
lxc.mount.entry = /dev/bus/usb dev/bus/usb none bind,optional,create=dir
除lxc.cgroup.devices.allow = c 189:* rwm
之外,还为容器配置文件工作。