usb-proxy
usb-proxy copied to clipboard
Xbox handle for mapping
hello, author: When I use the Xbox handle for mapping, this problem occurs, It failed
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
w@w-BoDE-WXX9:~/Downloads/UbuntuKO$ uname -a
Linux w-BoDE-WXX9 5.15.0-89-generic #99~20.04.1-Ubuntu SMP Thu Nov 2 15:16:47 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
w@w-BoDE-WXX9:~/Downloads/UbuntuKO$ lsmod | grep -E "dummy_hcd|raw_gadget"
raw_gadget 40960 0
dummy_hcd 45056 0
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
w@w-BoDE-WXX9:~/Downloads/UbuntuKO$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 27c6:5125 Shenzhen Goodix Technology Co.,Ltd. Goodix Fingerprint Device
Bus 001 Device 003: ID 0408:1040 Quanta Computer, Inc. ov9734_techfront_camera
Bus 001 Device 044: ID 045e:0b12 Microsoft Corp. Controller
Bus 001 Device 005: ID 8087:0026 Intel Corp.
Bus 001 Device 046: ID 0bda:8152 Realtek Semiconductor Corp. RTL8152 Fast Ethernet Adapter
Bus 001 Device 045: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
w@w-BoDE-WXX9:~/Downloads/UbuntuKO$ lsusb -v -d 045e:0b12
Bus 001 Device 044: ID 045e:0b12 Microsoft Corp. Controller
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 71
bDeviceProtocol 208
bMaxPacketSize0 64
idVendor 0x045e Microsoft Corp.
idProduct 0x0b12
bcdDevice 5.09
iManufacturer 1
iProduct 2
iSerial 3
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0077
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 71
bInterfaceProtocol 208
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 4
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 4
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 71
bInterfaceProtocol 208
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 4
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 2
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 71
bInterfaceProtocol 208
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 71
bInterfaceProtocol 208
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x00e4 1x 228 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 71
bInterfaceProtocol 208
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 71
bInterfaceProtocol 208
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
w@w-BoDE-WXX9:~/Downloads/UbuntuKO$ ls /sys/class/udc/
dummy_udc.0 usbip-vudc.0
w@w-BoDE-WXX9:~/Downloads/UbuntuKO$ cat /sys/class/udc/dummy_udc.0/uevent
USB_UDC_NAME=dummy_udc
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
w@w-BoDE-WXX9:~/Downloads/UbuntuKO$ sudo ./usb-proxy --vendor_id=045e --product_id=0b12 --verbose
Device is: dummy_udc.0
Driver is: dummy_udc
vendor_id is: 1118
product_id is: 2834
9 Devices in list
Target device not found
Device opened successfully
InterfaceNumber 1 AlternateSetting 0 has no endpoint, skip
InterfaceNumber 2 AlternateSetting 0 has no endpoint, skip
Setup USB config successfully
Start hotplug_monitor thread, thread id(2670)
Start for EP0, thread id(2668)
ep #0:
name: ep1in-bulk
addr: 1
type: ___ blk ___
dir : in ___
maxpacket_limit: 65535
max_streams: 16
ep #1:
name: ep2out-bulk
addr: 2
type: ___ blk ___
dir : ___ out
maxpacket_limit: 65535
max_streams: 16
ep #2:
name: ep5in-int
addr: 5
type: ___ ___ int
dir : in ___
maxpacket_limit: 65535
max_streams: 16
ep #3:
name: ep6in-bulk
addr: 6
type: ___ blk ___
dir : in ___
maxpacket_limit: 65535
max_streams: 16
ep #4:
name: ep7out-bulk
addr: 7
type: ___ blk ___
dir : ___ out
maxpacket_limit: 65535
max_streams: 16
ep #5:
name: ep10in-int
addr: 10
type: ___ ___ int
dir : in ___
maxpacket_limit: 65535
max_streams: 16
ep #6:
name: ep11in-bulk
addr: 11
type: ___ blk ___
dir : in ___
maxpacket_limit: 65535
max_streams: 16
ep #7:
name: ep12out-bulk
addr: 12
type: ___ blk ___
dir : ___ out
maxpacket_limit: 65535
max_streams: 16
ep #8:
name: ep15in-int
addr: 15
type: ___ ___ int
dir : in ___
maxpacket_limit: 65535
max_streams: 16
ep #9:
name: ep1out-bulk
addr: 1
type: ___ blk ___
dir : ___ out
maxpacket_limit: 65535
max_streams: 16
ep #10:
name: ep2in-bulk
addr: 2
type: ___ blk ___
dir : in ___
maxpacket_limit: 65535
max_streams: 16
ep #11:
name: ep-aout
addr: 255
type: ___ blk int
dir : ___ out
maxpacket_limit: 65535
max_streams: 16
ep #12:
name: ep-bin
addr: 255
type: ___ blk int
dir : in ___
maxpacket_limit: 65535
max_streams: 16
ep #13:
name: ep-cout
addr: 255
type: ___ blk int
dir : ___ out
maxpacket_limit: 65535
max_streams: 16
ep #14:
name: ep-dout
addr: 255
type: ___ blk int
dir : ___ out
maxpacket_limit: 65535
max_streams: 16
ep #15:
name: ep-ein
addr: 255
type: ___ blk int
dir : in ___
maxpacket_limit: 65535
max_streams: 16
ep #16:
name: ep-fout
addr: 255
type: ___ blk int
dir : ___ out
maxpacket_limit: 65535
max_streams: 16
ep #17:
name: ep-gin
addr: 255
type: ___ blk int
dir : in ___
maxpacket_limit: 65535
max_streams: 16
ep #18:
name: ep-hout
addr: 255
type: ___ blk int
dir : ___ out
maxpacket_limit: 65535
max_streams: 16
ep #19:
name: ep-iout
addr: 255
type: ___ blk int
dir : ___ out
maxpacket_limit: 65535
max_streams: 16
ep #20:
name: ep-jin
addr: 255
type: ___ blk int
dir : in ___
maxpacket_limit: 65535
max_streams: 16
ep #21:
name: ep-kout
addr: 255
type: ___ blk int
dir : ___ out
maxpacket_limit: 65535
max_streams: 16
ep #22:
name: ep-lin
addr: 255
type: ___ blk int
dir : in ___
maxpacket_limit: 65535
max_streams: 16
ep #23:
name: ep-mout
addr: 255
type: ___ blk int
dir : ___ out
maxpacket_limit: 65535
max_streams: 16
event: connect, length: 0
libusb: error [udev_hotplug_event] ignoring udev action change
libusb: error [udev_hotplug_event] ignoring udev action change
event: control, length: 8
bRequestType: 0x80 (IN), bRequest: 0x06, wValue: 0x0100, wIndex: 0x0000, wLength: 64
type = USB_TYPE_STANDARD
req = USB_REQ_GET_DESCRIPTOR
desc = USB_DT_DEVICE
Control transfer succeed
ep0: transferred 18 bytes (in)
event: control, length: 8
bRequestType: 0x80 (IN), bRequest: 0x06, wValue: 0x0100, wIndex: 0x0000, wLength: 18
type = USB_TYPE_STANDARD
req = USB_REQ_GET_DESCRIPTOR
desc = USB_DT_DEVICE
Control transfer succeed
ep0: transferred 18 bytes (in)
event: control, length: 8
bRequestType: 0x80 (IN), bRequest: 0x06, wValue: 0x0200, wIndex: 0x0000, wLength: 9
type = USB_TYPE_STANDARD
req = USB_REQ_GET_DESCRIPTOR
desc = USB_DT_CONFIG
Control transfer succeed
ep0: transferred 9 bytes (in)
event: control, length: 8
bRequestType: 0x80 (IN), bRequest: 0x06, wValue: 0x0200, wIndex: 0x0000, wLength: 119
type = USB_TYPE_STANDARD
req = USB_REQ_GET_DESCRIPTOR
desc = USB_DT_CONFIG
Control transfer succeed
ep0: transferred 119 bytes (in)
event: control, length: 8
bRequestType: 0x80 (IN), bRequest: 0x06, wValue: 0x0300, wIndex: 0x0000, wLength: 255
type = USB_TYPE_STANDARD
req = USB_REQ_GET_DESCRIPTOR
desc = USB_DT_STRING
Control transfer succeed
ep0: transferred 4 bytes (in)
event: control, length: 8
bRequestType: 0x80 (IN), bRequest: 0x06, wValue: 0x0302, wIndex: 0x0409, wLength: 255
type = USB_TYPE_STANDARD
req = USB_REQ_GET_DESCRIPTOR
desc = USB_DT_STRING
Control transfer succeed
ep0: transferred 22 bytes (in)
event: control, length: 8
bRequestType: 0x80 (IN), bRequest: 0x06, wValue: 0x0301, wIndex: 0x0409, wLength: 255
type = USB_TYPE_STANDARD
req = USB_REQ_GET_DESCRIPTOR
desc = USB_DT_STRING
Control transfer succeed
ep0: transferred 20 bytes (in)
event: control, length: 8
bRequestType: 0x80 (IN), bRequest: 0x06, wValue: 0x0303, wIndex: 0x0409, wLength: 255
type = USB_TYPE_STANDARD
req = USB_REQ_GET_DESCRIPTOR
desc = USB_DT_STRING
Control transfer succeed
ep0: transferred 58 bytes (in)
event: control, length: 8
bRequestType: 0x00 (OUT), bRequest: 0x09, wValue: 0x0001, wIndex: 0x0000, wLength: 0
type = USB_TYPE_STANDARD
req = USB_REQ_SET_CONFIGURATION
Activating 2 endpoints on interface 0
int_out: addr = 2, ep = #1
Creating thread for EP02
int_in: addr = 2, ep = #10
Creating thread for EP82
Start writing thread for EP02, thread id(2674)
Start reading thread for EP02, thread id(2673)
Start reading thread for EP82, thread id(2675)
process_eps done
Start writing thread for EP82, thread id(2676)
Activating 0 endpoints on interface 1
process_eps done
Activating 0 endpoints on interface 2
process_eps done
libusb: error [udev_hotplug_event] ignoring udev action change
EP2(int_out): read 5 bytes from host
EP2(int_out): enqueued 5 bytes to queue
EP82(int_in): enqueued 8 bytes to queue
EP82(int_in): wrote 8 bytes to host
libusb: error [udev_hotplug_event] ignoring udev action bind
EP82(int_in): enqueued 8 bytes to queue
EP82(int_in): wrote 8 bytes to host
EP82(int_in): enqueued 48 bytes to queue
EP82(int_in): wrote 48 bytes to host
EP82(int_in): enqueued 48 bytes to queue
EP82(int_in): wrote 48 bytes to host
EP82(int_in): enqueued 48 bytes to queue
EP82(int_in): wrote 48 bytes to host
EP82(int_in): enqueued 48 bytes to queue
EP82(int_in): wrote 48 bytes to host
EP82(int_in): enqueued 48 bytes to queue
EP82(int_in): wrote 48 bytes to host
EP82(int_in): enqueued 48 bytes to queue
EP82(int_in): wrote 48 bytes to host
EP82(int_in): enqueued 48 bytes to queue
EP82(int_in): wrote 48 bytes to host
EP82(int_in): enqueued 48 bytes to queue
EP82(int_in): wrote 48 bytes to host
EP82(int_in): enqueued 48 bytes to queue
EP82(int_in): wrote 48 bytes to host
EP82(int_in): enqueued 48 bytes to queue
EP82(int_in): wrote 48 bytes to host
EP82(int_in): enqueued 48 bytes to queue
EP82(int_in): wrote 48 bytes to host
EP82(int_in): enqueued 48 bytes to queue
EP82(int_in): wrote 48 bytes to host
EP82(int_in): enqueued 48 bytes to queue
EP82(int_in): wrote 48 bytes to host
EP82(int_in): enqueued 48 bytes to queue
EP82(int_in): wrote 48 bytes to host
EP82(int_in): enqueued 48 bytes to queue
EP82(int_in): wrote 48 bytes to host
EP82(int_in): enqueued 48 bytes to queue
EP82(int_in): wrote 48 bytes to host