entii-for-workcubes icon indicating copy to clipboard operation
entii-for-workcubes copied to clipboard

USB mice not working

Open AlfCraft07 opened this issue 9 months ago • 14 comments

Yesterday, after finally getting access to my Wii in 2 years, I decided to install WinNT on it, and it runs pretty smoothly (huge thanks to the developer; it's been a lot of time since I first thought of running NT on it). However, differently from most cases, USB mice don't work on my Wii (4.3E FW), but keyboards do. Is it something I can fix or is it just some issue with the ARC loader?

AlfCraft07 avatar Mar 16 '25 07:03 AlfCraft07

Have you tried using a powered hub?

Wack0 avatar Mar 16 '25 11:03 Wack0

Yeah, but still, the keyboard works, but the mouse doesn't, despite it lights up. Btw, I'm using version 20250307 (the latest). I also tried downgrading to version 20250303a to no avail: the mouse is unresponsive, despite lighting up.

AlfCraft07 avatar Mar 16 '25 16:03 AlfCraft07

Can you dump the USB descriptors of that mouse?

This works on Windows: https://www.thesycon.de/eng/usb_descriptordumper.shtml

On Linux you can use lsusb -v.

Wack0 avatar Mar 16 '25 17:03 Wack0

`Information for device Wireless Device (VID=0x3151 PID=0x3020):

------------------------------
Connection Information:
------------------------------
Device current bus speed: FullSpeed
Device supports USB 1.1 specification
Device supports USB 2.0 specification
Device address: 0x0009
Current configuration value: 0x01
Number of open pipes: 2


------------------------------
Device Descriptor:
------------------------------
0x12	bLength
0x01	bDescriptorType
0x0200	bcdUSB
0x00	bDeviceClass      
0x00	bDeviceSubClass   
0x00	bDeviceProtocol   
0x40	bMaxPacketSize0   (64 bytes)
0x3151	idVendor
0x3020	idProduct
0x0002	bcdDevice
0x01	iManufacturer   "YICHIP"
0x02	iProduct        "Wireless Device"
0x00	iSerialNumber
0x01	bNumConfigurations


-------------------------
Configuration Descriptor:
-------------------------
0x09	bLength
0x02	bDescriptorType
0x003B	wTotalLength   (59 bytes)
0x02	bNumInterfaces
0x01	bConfigurationValue
0x00	iConfiguration
0xA0	bmAttributes   (Bus-powered Device, Remote-Wakeup)
0x32	bMaxPower      (100 mA)

Interface Descriptor:
------------------------------
0x09	bLength
0x04	bDescriptorType
0x00	bInterfaceNumber
0x00	bAlternateSetting
0x01	bNumEndPoints
0x03	bInterfaceClass      (Human Interface Device Class)
0x01	bInterfaceSubClass   
0x01	bInterfaceProtocol   
0x00	iInterface

HID Descriptor:
------------------------------
0x09	bLength
0x21	bDescriptorType
0x0200	bcdHID
0x00	bCountryCode
0x01	bNumDescriptors
0x22	bDescriptorType   (Report descriptor)
0x003F	bDescriptorLength

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x81	bEndpointAddress  (IN endpoint 1)
0x03	bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0040	wMaxPacketSize    (1 x 64 bytes)
0x02	bInterval         (2 frames)

Interface Descriptor:
------------------------------
0x09	bLength
0x04	bDescriptorType
0x01	bInterfaceNumber
0x00	bAlternateSetting
0x01	bNumEndPoints
0x03	bInterfaceClass      (Human Interface Device Class)
0x01	bInterfaceSubClass   
0x02	bInterfaceProtocol   
0x00	iInterface

HID Descriptor:
------------------------------
0x09	bLength
0x21	bDescriptorType
0x0200	bcdHID
0x00	bCountryCode
0x01	bNumDescriptors
0x22	bDescriptorType   (Report descriptor)
0x00A3	bDescriptorLength

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x82	bEndpointAddress  (IN endpoint 2)
0x03	bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0040	wMaxPacketSize    (1 x 64 bytes)
0x02	bInterval         (2 frames)

Microsoft OS Descriptor is not available. Error code: 0x0000001F


--------------------------------
String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  0x0409 
0x01   0x0409  "YICHIP"
0x02   0x0409  "Wireless Device"

------------------------------

Connection path for device: 
Controller host USB conforme a xHCI
Root Hub
Wireless Device (VID=0x3151 PID=0x3020) Port: 3

Running on: Windows 10 or greater (Build Version 19045)`

This is one of the mice I have, I tried all 3 that I own and no one worked.

AlfCraft07 avatar Mar 16 '25 17:03 AlfCraft07

This should work in theory, not sure why it's not.

Does the mouse pointer show up after booting NT with the USB mouse plugged in, or not?

Wack0 avatar Mar 16 '25 17:03 Wack0

No, I don't see the pointer at all, it's like it's not detected

AlfCraft07 avatar Mar 16 '25 17:03 AlfCraft07

I tried my sister's mouse, and that's working. That's a Lenovo mouse though, while my mice are cheap models, they should work regardless.

AlfCraft07 avatar Mar 16 '25 17:03 AlfCraft07

So, will this be fixed in the end? It may be a problem similar to the one with USB drives you fixed in version 20250307.

AlfCraft07 avatar Mar 19 '25 05:03 AlfCraft07

I'd need to find an affected USB mouse first.

Wack0 avatar Mar 19 '25 12:03 Wack0

Here are the USB descriptors of the working mouse if you need them:

Information for device USB Optical Mouse (VID=0x17EF PID=0x602E):

------------------------------
Connection Information:
------------------------------
Device current bus speed: LowSpeed
Device supports USB 1.1 specification
Device supports USB 2.0 specification
Device address: 0x0005
Current configuration value: 0x01
Number of open pipes: 1


------------------------------
Device Descriptor:
------------------------------
0x12	bLength
0x01	bDescriptorType
0x0200	bcdUSB
0x00	bDeviceClass      
0x00	bDeviceSubClass   
0x00	bDeviceProtocol   
0x08	bMaxPacketSize0   (8 bytes)
0x17EF	idVendor
0x602E	idProduct
0x0200	bcdDevice
0x00	iManufacturer
0x02	iProduct        "USB Optical Mouse"
0x00	iSerialNumber
0x01	bNumConfigurations


-------------------------
Configuration Descriptor:
-------------------------
0x09	bLength
0x02	bDescriptorType
0x0022	wTotalLength   (34 bytes)
0x01	bNumInterfaces
0x01	bConfigurationValue
0x00	iConfiguration
0xA0	bmAttributes   (Bus-powered Device, Remote-Wakeup)
0x31	bMaxPower      (98 mA)

Interface Descriptor:
------------------------------
0x09	bLength
0x04	bDescriptorType
0x00	bInterfaceNumber
0x00	bAlternateSetting
0x01	bNumEndPoints
0x03	bInterfaceClass      (Human Interface Device Class)
0x01	bInterfaceSubClass   
0x02	bInterfaceProtocol   
0x00	iInterface

HID Descriptor:
------------------------------
0x09	bLength
0x21	bDescriptorType
0x0111	bcdHID
0x00	bCountryCode
0x01	bNumDescriptors
0x22	bDescriptorType   (Report descriptor)
0x0040	bDescriptorLength

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x81	bEndpointAddress  (IN endpoint 1)
0x03	bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0005	wMaxPacketSize    (1 x 5 bytes)
0x0A	bInterval         (10 frames)

Microsoft OS Descriptor is not available. Error code: 0x0000001F


--------------------------------
String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  0x0409 
0x02   0x0409  "USB Optical Mouse"

------------------------------

Connection path for device: 
Controller host USB conforme a xHCI
Root Hub
USB Optical Mouse (VID=0x17EF PID=0x602E) Port: 1

Running on: Windows 10 or greater (Build Version 27813)

AlfCraft07 avatar Mar 19 '25 19:03 AlfCraft07

Perhaps the issue is that your non-working mouse is wireless? Not that this should be an issue, but it seems your working mouse is wired. My mouse works and is also wired.

For reference, the USB descriptor (as per @Wack0's instructions) of my working mouse is as follows:

Information for device Microsoft USB Optical Mouse (VID=0x045E PID=0x00CB):

------------------------------
Connection Information:
------------------------------
Device current bus speed: LowSpeed
Device address: 0x0006
Current configuration value: 0x01
Number of open pipes: 1


------------------------------
Device Descriptor:
------------------------------
0x12	bLength
0x01	bDescriptorType
0x0110	bcdUSB
0x00	bDeviceClass      
0x00	bDeviceSubClass   
0x00	bDeviceProtocol   
0x08	bMaxPacketSize0   (8 bytes)
0x045E	idVendor
0x00CB	idProduct
0x0100	bcdDevice
0x01	iManufacturer
0x02	iProduct     
0x00	iSerialNumber
0x01	bNumConfigurations


-------------------------
Configuration Descriptor:
-------------------------
0x09	bLength
0x02	bDescriptorType
0x0022	wTotalLength   (34 bytes)
0x01	bNumInterfaces
0x01	bConfigurationValue
0x00	iConfiguration
0xA0	bmAttributes   (Bus-powered Device, Remote-Wakeup)
0x32	bMaxPower      (100 mA)

Interface Descriptor:
------------------------------
0x09	bLength
0x04	bDescriptorType
0x00	bInterfaceNumber
0x00	bAlternateSetting
0x01	bNumEndPoints
0x03	bInterfaceClass      (Human Interface Device Class)
0x01	bInterfaceSubClass   
0x02	bInterfaceProtocol   
0x00	iInterface

HID Descriptor:
------------------------------
0x09	bLength
0x21	bDescriptorType
0x0111	bcdHID
0x00	bCountryCode
0x01	bNumDescriptors
0x22	bDescriptorType   (Report descriptor)
0x0034	bDescriptorLength

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x81	bEndpointAddress  (IN endpoint 1)
0x03	bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0004	wMaxPacketSize    (1 x 4 bytes)
0x0A	bInterval         (10 frames)

Microsoft OS Descriptor is not available. Error code: 0x0000001F


--------------------------------
String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  
0x01   0x0000  "PixArt"
0x02   0x0000  "Microsoft USB Optical Mouse"

------------------------------

Connection path for device: 
Intel(R) 7 Series/C216 Chipset Family USB Enhanced Host Controller - 1E2D
Root Hub
Generic USB Hub
Generic USB Hub
Microsoft USB Optical Mouse (VID=0x045E PID=0x00CB) Port: 4

Running on: Windows 7 with Service Pack 1

Brought to you by TDD v2.19.0, Dec  5 2023, 12:08:38

On a side-note, I like wired mice better, regardless: they are much lighter, and thus faster, easier to use and move around, require no batteries, no charging, are ever-so-slightly more responsive due to wiring, and for those who are health-minded it also avoids bluetooth damage to your body and especially hands.

donotsdubba avatar May 10 '25 10:05 donotsdubba

Perhaps the issue is that your non-working mouse is wireless? Not that this should be an issue, but it seems your working mouse is wired. My mouse works and is also wired.

For reference, the USB descriptor (as per @Wack0's instructions) of my working mouse is as follows:

Information for device Microsoft USB Optical Mouse (VID=0x045E PID=0x00CB):

------------------------------
Connection Information:
------------------------------
Device current bus speed: LowSpeed
Device address: 0x0006
Current configuration value: 0x01
Number of open pipes: 1


------------------------------
Device Descriptor:
------------------------------
0x12	bLength
0x01	bDescriptorType
0x0110	bcdUSB
0x00	bDeviceClass      
0x00	bDeviceSubClass   
0x00	bDeviceProtocol   
0x08	bMaxPacketSize0   (8 bytes)
0x045E	idVendor
0x00CB	idProduct
0x0100	bcdDevice
0x01	iManufacturer
0x02	iProduct     
0x00	iSerialNumber
0x01	bNumConfigurations


-------------------------
Configuration Descriptor:
-------------------------
0x09	bLength
0x02	bDescriptorType
0x0022	wTotalLength   (34 bytes)
0x01	bNumInterfaces
0x01	bConfigurationValue
0x00	iConfiguration
0xA0	bmAttributes   (Bus-powered Device, Remote-Wakeup)
0x32	bMaxPower      (100 mA)

Interface Descriptor:
------------------------------
0x09	bLength
0x04	bDescriptorType
0x00	bInterfaceNumber
0x00	bAlternateSetting
0x01	bNumEndPoints
0x03	bInterfaceClass      (Human Interface Device Class)
0x01	bInterfaceSubClass   
0x02	bInterfaceProtocol   
0x00	iInterface

HID Descriptor:
------------------------------
0x09	bLength
0x21	bDescriptorType
0x0111	bcdHID
0x00	bCountryCode
0x01	bNumDescriptors
0x22	bDescriptorType   (Report descriptor)
0x0034	bDescriptorLength

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x81	bEndpointAddress  (IN endpoint 1)
0x03	bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0004	wMaxPacketSize    (1 x 4 bytes)
0x0A	bInterval         (10 frames)

Microsoft OS Descriptor is not available. Error code: 0x0000001F


--------------------------------
String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  
0x01   0x0000  "PixArt"
0x02   0x0000  "Microsoft USB Optical Mouse"

------------------------------

Connection path for device: 
Intel(R) 7 Series/C216 Chipset Family USB Enhanced Host Controller - 1E2D
Root Hub
Generic USB Hub
Generic USB Hub
Microsoft USB Optical Mouse (VID=0x045E PID=0x00CB) Port: 4

Running on: Windows 7 with Service Pack 1

Brought to you by TDD v2.19.0, Dec  5 2023, 12:08:38

On a side-note, I like wired mice better, regardless: they are much lighter, and thus faster, easier to use and move around, require no batteries, no charging, are ever-so-slightly more responsive due to wiring, and for those who are health-minded it also avoids bluetooth damage to your body and especially hands.

I have issues with 2 wireless mice and 1 wired one. Another wired mouse from Lenovo that I have works.

AlfCraft07 avatar May 10 '25 11:05 AlfCraft07

I did have issues with the wired usb mouse I use without a powered hub, for what it's worth.

Wack0 avatar May 10 '25 11:05 Wack0

I did have issues with the wired usb mouse I use without a powered hub, for what it's worth.

Unfortunately I don't have an externally powered hub, but I have a regular one

AlfCraft07 avatar May 10 '25 16:05 AlfCraft07