摘要
USBIP服务器端口3240 --虚拟盒->膝上型计算机端口7023 <-SSH -R :3240:localhost:7023
在服务器上,这是工作的:
sudo /usr/lib/linux-tools-4.4.0-66/usbip --tcp-port 3240 attach -r 127.0.0.1 -b 1-2
dinne@vidar:~$ lsusb
Bus 005 Device 002: ID 04f2:b39a Chicony Electronics Co., Ltd现在,在服务器上,有一个Docker容器正在运行。这些容器有一个开发环境,我可以用它为hw工具包编译程序。我想将编译后的应用程序闪现到开发工具包中。
每个用户都将在服务器上拥有自己的dev容器和本地安装的dev工具包。因此,我想避免使用usbip将虚拟USB设备直接附加到服务器上。相反,如果用户能够在Docker容器中运行usbip,这将是非常理想的。
在Docker容器中,我尝试了以下方法:
sudo usbip --tcp-port 3240 list -r 192.168.96.101
Exportable USB devices
======================
- 192.168.96.101
1-2: Chicony Electronics Co., Ltd : unknown product (04f2:b39a)
: /sys/devices/pci0000:00/0000:00:06.0/usb1/1-2
: Miscellaneous Device / ? / Interface Association (ef/02/01)
sudo usbip --debug --tcp-port 3240 attach -r 192.168.96.101 -b 1-2
usbip: info: using port 3250 ("3250")
usbip: debug: /build/linux-tools-SJqEHJ/linux-tools-3.16.7-ckt20/drivers/staging/usbip/userspace/src/usbip_network.c:40:[usbip_setup_port_number] parsing port arg '3250'
usbip: info: using port 3250 ("3250")
usbip: debug: /build/linux-tools-SJqEHJ/linux-tools-3.16.7-ckt20/drivers/staging/usbip/userspace/src/usbip.c:141:[run_command] running command: `attach'
libusbip: debug: /build/linux-tools-SJqEHJ/linux-tools-3.16.7-ckt20/drivers/staging/usbip/userspace/libsrc/vhci_driver.c:242:[usbip_vhci_driver_open] available ports: 7
libusbip: debug: /build/linux-tools-SJqEHJ/linux-tools-3.16.7-ckt20/drivers/staging/usbip/userspace/libsrc/vhci_driver.c:71:[parse_status] port 0 status 4 speed 0 devid 0
libusbip: debug: /build/linux-tools-SJqEHJ/linux-tools-3.16.7-ckt20/drivers/staging/usbip/userspace/libsrc/vhci_driver.c:72:[parse_status] socket 0 lbusid 0000000000000000
libusbip: debug: /build/linux-tools-SJqEHJ/linux-tools-3.16.7-ckt20/drivers/staging/usbip/userspace/libsrc/vhci_driver.c:71:[parse_status] port 1 status 4 speed 0 devid 0
libusbip: debug: /build/linux-tools-SJqEHJ/linux-tools-3.16.7-ckt20/drivers/staging/usbip/userspace/libsrc/vhci_driver.c:72:[parse_status] socket 0 lbusid 0000000000000000
libusbip: debug: /build/linux-tools-SJqEHJ/linux-tools-3.16.7-ckt20/drivers/staging/usbip/userspace/libsrc/vhci_driver.c:71:[parse_status] port 2 status 4 speed 0 devid 0
libusbip: debug: /build/linux-tools-SJqEHJ/linux-tools-3.16.7-ckt20/drivers/staging/usbip/userspace/libsrc/vhci_driver.c:72:[parse_status] socket 0 lbusid 0000000000000000
libusbip: debug: /build/linux-tools-SJqEHJ/linux-tools-3.16.7-ckt20/drivers/staging/usbip/userspace/libsrc/vhci_driver.c:71:[parse_status] port 3 status 4 speed 0 devid 0
libusbip: debug: /build/linux-tools-SJqEHJ/linux-tools-3.16.7-ckt20/drivers/staging/usbip/userspace/libsrc/vhci_driver.c:72:[parse_status] socket 0 lbusid 0000000000000000
libusbip: debug: /build/linux-tools-SJqEHJ/linux-tools-3.16.7-ckt20/drivers/staging/usbip/userspace/libsrc/vhci_driver.c:71:[parse_status] port 4 status 4 speed 0 devid 0
libusbip: debug: /build/linux-tools-SJqEHJ/linux-tools-3.16.7-ckt20/drivers/staging/usbip/userspace/libsrc/vhci_driver.c:72:[parse_status] socket 0 lbusid 0000000000000000
libusbip: debug: /build/linux-tools-SJqEHJ/linux-tools-3.16.7-ckt20/drivers/staging/usbip/userspace/libsrc/vhci_driver.c:71:[parse_status] port 5 status 4 speed 0 devid 0
libusbip: debug: /build/linux-tools-SJqEHJ/linux-tools-3.16.7-ckt20/drivers/staging/usbip/userspace/libsrc/vhci_driver.c:72:[parse_status] socket 0 lbusid 0000000000000000
libusbip: debug: /build/linux-tools-SJqEHJ/linux-tools-3.16.7-ckt20/drivers/staging/usbip/userspace/libsrc/vhci_driver.c:71:[parse_status] port 6 status 4 speed 0 devid 0
libusbip: debug: /build/linux-tools-SJqEHJ/linux-tools-3.16.7-ckt20/drivers/staging/usbip/userspace/libsrc/vhci_driver.c:72:[parse_status] socket 0 lbusid 0000000000000000
libusbip: debug: /build/linux-tools-SJqEHJ/linux-tools-3.16.7-ckt20/drivers/staging/usbip/userspace/libsrc/vhci_driver.c:71:[parse_status] port 7 status 4 speed 0 devid 0
libusbip: debug: /build/linux-tools-SJqEHJ/linux-tools-3.16.7-ckt20/drivers/staging/usbip/userspace/libsrc/vhci_driver.c:72:[parse_status] socket 0 lbusid 0000000000000000
libusbip: debug: /build/linux-tools-SJqEHJ/linux-tools-3.16.7-ckt20/drivers/staging/usbip/userspace/libsrc/vhci_driver.c:105:[parse_status] exit
libusbip: debug: /build/linux-tools-SJqEHJ/linux-tools-3.16.7-ckt20/drivers/staging/usbip/userspace/libsrc/vhci_driver.c:311:[usbip_vhci_attach_device2] writing: 0 3 65539 2
libusbip: debug: /build/linux-tools-SJqEHJ/linux-tools-3.16.7-ckt20/drivers/staging/usbip/userspace/libsrc/vhci_driver.c:316:[usbip_vhci_attach_device2] attach attribute path: /sys/devices/platform/vhci_hcd/attach
usbip: debug: /build/linux-tools-SJqEHJ/linux-tools-3.16.7-ckt20/drivers/staging/usbip/userspace/libsrc/sysfs_utils.c:17:[write_sysfs_attribute] error opening attribute /sys/devices/platform/vhci_hcd/attach
libusbip: debug: /build/linux-tools-SJqEHJ/linux-tools-3.16.7-ckt20/drivers/staging/usbip/userspace/libsrc/vhci_driver.c:320:[usbip_vhci_attach_device2] write_sysfs_attribute failed
usbip: error: import device
usbip: error: query看起来,open(“/sys/设备/platform/vhci_hcd/O_WRONLY”)正在失败。
sudo -- sh -c "ls -al /sys/devices/platform/vhci_hcd/"
drwxr-xr-x 4 root root 0 Mar 21 22:00 .
drwxr-xr-x 19 root root 0 Mar 21 21:21 ..
--w------- 1 root root 4096 Mar 21 22:00 attach
--w------- 1 root root 4096 Mar 21 22:00 detach
lrwxrwxrwx 1 root root 0 Mar 21 22:00 driver -> ../../../bus/platform/drivers/vhci_hcd
-rw-r--r-- 1 root root 4096 Mar 21 22:00 driver_override
-r--r--r-- 1 root root 4096 Mar 21 22:00 modalias
drwxr-xr-x 2 root root 0 Mar 21 22:00 power
-r--r--r-- 1 root root 4096 Mar 21 21:21 status
lrwxrwxrwx 1 root root 0 Mar 21 22:00 subsystem -> ../../../bus/platform
-rw-r--r-- 1 root root 4096 Mar 21 21:21 uevent
drwxr-xr-x 5 root root 0 Mar 21 22:00 usb5
-rw-r--r-- 1 root root 4096 Mar 21 22:00 usbip_debug如何使USBIP客户端在Docker容器中工作?
发布于 2017-03-22 07:10:05
如果我和.特权公司一起经营码头的话,这似乎是可行的。
发布于 2019-09-18 07:57:22
库伯奈特身上也有同样的问题。事实证明,/sys是只读的(即使是特权的)。我通过添加/sys作为带有主机路径的卷来解决这个问题(在码头上,它是"-v /sys:/sys")。
https://stackoverflow.com/questions/42938992
复制相似问题