cezanne / usbip-win

USB/IP for Windows
GNU General Public License v3.0
1.92k stars 346 forks source link

Attach win11 ax200 through wsl2, appears [forwarder_stub] stub forwarding stopped #281

Open SunJun8 opened 2 years ago

SunJun8 commented 2 years ago
PS D:\Tool\usbip-win-0.3.5> .\usbip.exe list -l
Intel Corp.
 - busid 1-239 (0f39:0825)
   TG3 Electronics : unknown product (0f39:0825)
 - busid 1-125 (2109:0817)
   VIA Labs, Inc. : unknown product (2109:0817)
 - busid 1-122 (10c4:ea70)
   Silicon Labs : CP2105 Dual UART Bridge (10c4:ea70)
 - busid 1-81 (04f2:b6ee)
   Chicony Electronics Co., Ltd : unknown product (04f2:b6ee)
 - busid 1-19 (0403:6014)
   Future Technology Devices International, Ltd : FT232H Single HS USB-UART/FIFO IC (0403:6014)
 - busid 1-77 (2109:2815)
   VIA Labs, Inc. : unknown product (2109:2815)
 - busid 1-211 (0bda:8153)
   Realtek Semiconductor Corp. : RTL8153 Gigabit Ethernet Adapter (0bda:8153)
 - busid 1-22 (27c6:55a4)
   Shenzhen Goodix Technology Co.,Ltd. : unknown product (27c6:55a4)
 - busid 1-200 (413c:301a)
   Dell Computer Corp. : Dell MS116 Optical Mouse (413c:301a)
 - busid 1-146 (2109:0815)
   VIA Labs, Inc. : unknown product (2109:0815)
 - busid 1-87 (2109:2817)
   VIA Labs, Inc. : unknown product (2109:2817)
 - busid 1-95 (2109:2815)
   VIA Labs, Inc. : unknown product (2109:2815)
 - busid 1-220 (8087:0029)
   Intel Corp. : AX200 Bluetooth (8087:0029)
 - busid 1-9 (2109:0815)
   VIA Labs, Inc. : unknown product (2109:0815)
PS D:\Tool\usbip-win-0.3.5> .\usbip.exe bind -b 1-220
usbip: info: bind device on busid 1-220: complete
PS D:\Tool\usbip-win-0.3.5> .\usbipd.exe -d -4
usbipd: info: starting usbipd (usbip-win 0.3.5)
usbipd: debug: usbipd_sock.c:38:[build_sockfd] opening 0.0.0.0:3240
usbipd: info: listening on 0.0.0.0:3240
usbipd: debug: usbipd_accept.c:65:[do_accept] connection from 172.25.136.169:55796
usbipd: debug: usbipd_accept.c:25:[recv_pdu] received request: 0x8005 - list devices
usbipd: debug: usbipd_list.c:97:[send_reply_devlist] exportable devices: 1
usbipd: debug: usbip_common.c:92:[dump_usb_device] path                 = \\?\usb#vid_8087&pid_0029#6&254d9ecd&0&4#{fb265267-c609-41e6-8eca-a20d92a833e6}
usbipd: debug: usbip_common.c:93:[dump_usb_device] busid                = 1-220
usbipd: debug: usbip_common.c:99:[dump_usb_device] Device(C/SC/P)       = unknown class / unknown subclass / unknown protocol (e0/01/01)
usbipd: debug: usbip_common.c:101:[dump_usb_device] bcdDevice            = 0
usbipd: debug: usbip_common.c:106:[dump_usb_device] Vendor/Product       = unknown vendor : unknown product (8087:0029)
usbipd: debug: usbip_common.c:108:[dump_usb_device] bNumConfigurations   = 0
usbipd: debug: usbip_common.c:109:[dump_usb_device] bNumInterfaces       = 0
usbipd: debug: usbip_common.c:111:[dump_usb_device] speed                = Unknown Speed
usbipd: debug: usbip_common.c:113:[dump_usb_device] busnum               = 1
usbipd: debug: usbip_common.c:114:[dump_usb_device] devnum               = dc
usbipd: debug: usbipd_accept.c:41:[recv_pdu] request 0x8005: done: err: 0
usbipd: debug: usbipd_accept.c:65:[do_accept] connection from 172.25.136.169:55798
usbipd: debug: usbipd_accept.c:29:[recv_pdu] received request: 0x8003 - attach device
usbipd: debug: usbipd_import.c:18:[forwarder_stub] stub forwarding started
usbipd: debug: usbipd_import.c:112:[recv_request_import] import request busid 1-220: complete
usbipd: debug: usbipd_accept.c:41:[recv_pdu] request 0x8003: done: err: 0
usbipd: debug: usbipd_import.c:28:[forwarder_stub] stub forwarding stopped
usbipd: debug: usbipd_accept.c:65:[do_accept] connection from 192.168.1.135:33264
usbipd: debug: usbipd_accept.c:25:[recv_pdu] received request: 0x8005 - list devices
usbipd: debug: usbipd_list.c:97:[send_reply_devlist] exportable devices: 1
usbipd: debug: usbip_common.c:92:[dump_usb_device] path                 = \\?\usb#vid_8087&pid_0029#6&254d9ecd&0&4#{fb265267-c609-41e6-8eca-a20d92a833e6}
usbipd: debug: usbip_common.c:93:[dump_usb_device] busid                = 1-220
usbipd: debug: usbip_common.c:99:[dump_usb_device] Device(C/SC/P)       = unknown class / unknown subclass / unknown protocol (e0/01/01)
usbipd: debug: usbip_common.c:101:[dump_usb_device] bcdDevice            = 0
usbipd: debug: usbip_common.c:106:[dump_usb_device] Vendor/Product       = unknown vendor : unknown product (8087:0029)
usbipd: debug: usbip_common.c:108:[dump_usb_device] bNumConfigurations   = 0
usbipd: debug: usbip_common.c:109:[dump_usb_device] bNumInterfaces       = 0
usbipd: debug: usbip_common.c:111:[dump_usb_device] speed                = Unknown Speed
usbipd: debug: usbip_common.c:113:[dump_usb_device] busnum               = 1
usbipd: debug: usbip_common.c:114:[dump_usb_device] devnum               = dc
usbipd: debug: usbipd_accept.c:41:[recv_pdu] request 0x8005: done: err: 0
usbipd: debug: usbipd_accept.c:65:[do_accept] connection from 192.168.1.135:33266
usbipd: debug: usbipd_accept.c:29:[recv_pdu] received request: 0x8003 - attach device
usbipd: debug: usbipd_import.c:18:[forwarder_stub] stub forwarding started
usbipd: debug: usbipd_import.c:112:[recv_request_import] import request busid 1-220: complete
usbipd: debug: usbipd_accept.c:41:[recv_pdu] request 0x8003: done: err: 0
usbipd: debug: usbipd_import.c:28:[forwarder_stub] stub forwarding stopped
SunJun8 commented 2 years ago

The device can already be found in wsl2

❯ sudo usbip list --remote=$wsl_ip
Exportable USB devices
======================
 - 172.25.128.1
      1-220: Intel Corp. : AX200 Bluetooth (8087:0029)
           : \\?\usb#vid_8087&pid_0029#6&254d9ecd&0&4#{fb265267-c609-41e6-8eca-a20d92a833e6}
           : Wireless / Radio Frequency / Bluetooth (e0/01/01)
Sok00 commented 2 years ago

which version do you use? type: #-$ usbip version & usbip --debug in server and client post Output pls.☺️

SunJun8 commented 2 years ago

Win11 Pro

PS D:\Tool\usbip-win-0.3.5> .\usbip.exe version
usbip (usbip-win 0.3.5)

wsl2

❯ usbip version
usbip (usbip-utils 2.0)
DocMAX commented 2 years ago

Same device and Problem (Error 43) here:

Exportable USB devices
======================
 - zeus
        3-3: Intel Corp. : AX200 Bluetooth (8087:0029)
           : /sys/devices/pci0000:00/0000:00:08.1/0000:05:00.3/usb3/3-3
           : Wireless / Radio Frequency / Bluetooth (e0/01/01)
           :  0 - Wireless / Radio Frequency / Bluetooth (e0/01/01)
           :  1 - Wireless / Radio Frequency / Bluetooth (e0/01/01)
Kogotoro commented 1 year ago

probably because not all switches in project have speed for Wireless usb bcdusb = 0x0250 ~ wireless

usb_util.c switch (bcdUSB) {} //missed 0x0201,0x0210, 0x0250

stub_ioctl.c switch (bcdUSB) {} //have 0x0250, but missed 0x0201,0x0210

vhci_plugin.c switch (bcdUSB) {} //missed 0x0201,0x0210, 0x0250

-- off top more strange what msdn UDECX USB have only 4 speed gradaitions typedef enum _UDECX_USB_DEVICE_SPEED { UdecxUsbLowSpeed = 0, UdecxUsbFullSpeed, UdecxUsbHighSpeed, UdecxUsbSuperSpeed, } UDECX_USB_DEVICE_SPEED, *PUDECX_USB_DEVICE_SPEED;

and here we have: /userspace/lib/usbip_common.c static const struct speed_string speed_strings[] = { { USB_SPEED_UNKNOWN, "unknown", "Unknown Speed"}, { USB_SPEED_LOW, "1.5", "Low Speed(1.5Mbps)" }, { USB_SPEED_FULL, "12", "Full Speed(12Mbps)" }, { USB_SPEED_HIGH, "480", "High Speed(480Mbps)" }, { USB_SPEED_WIRELESS, "53.3-480", "Wireless" }, { USB_SPEED_SUPER, "5000", "Super Speed(5000Mbps)" }, { 0, NULL, NULL } };

and /include/usbip_proto.h enum usb_device_speed { USB_SPEED_UNKNOWN = 0, // enumerating USB_SPEED_LOW, // usb 1.1 USB_SPEED_FULL, // usb 1.1 USB_SPEED_HIGH, // usb 2.0 USB_SPEED_WIRELESS, // wireless (usb 2.5) USB_SPEED_SUPER, // usb 3.0 USB_SPEED_SUPER_PLUS // usb 3.1 };