wii-linux-ngx icon indicating copy to clipboard operation
wii-linux-ngx copied to clipboard

USB/hubs not working properly

Open neagix opened this issue 7 years ago • 2 comments

Sometimes the USB keyboard gets never detected if I plug it in after the kernel boots.

The workaround is to boot with the keyboard plugged-in, then everything works fine

The kernel messages that document this problem are:

[   50.798734] usb 2-1.2: unable to read config index 0 descriptor/start: -61
[   50.799307] usb 2-1.2: can't read configurations, error -61
[   50.872739] usb 2-1.2: new low-speed USB device number 10 using ohci-hlwd
[   50.899781] usb 2-1.2: device descriptor read/8, error -61
[   51.028733] usb 2-1.2: device descriptor read/8, error -61
[   51.199738] usb 2-1.2: new low-speed USB device number 11 using ohci-hlwd
[   51.242739] usb 2-1.2: unable to read config index 0 descriptor/start: -61
[   51.243275] usb 2-1.2: can't read configurations, error -61
[   51.244742] hub 2-1:1.0: unable to enumerate USB device on port 2
[   59.622371] usb 2-2: new low-speed USB device number 12 using ohci-hlwd
[   59.837736] usb 2-2: unable to read config index 0 descriptor/start: -61
[   59.838271] usb 2-2: can't read configurations, error -61
[   60.002377] usb 2-2: new low-speed USB device number 13 using ohci-hlwd
[   60.208733] usb 2-2: unable to read config index 0 descriptor/start: -61
[   60.209300] usb 2-2: can't read configurations, error -61
[   60.369042] usb 2-2: new low-speed USB device number 14 using ohci-hlwd
[   60.408734] usb 2-2: device descriptor read/all, error -61
[   60.569045] usb 2-2: new low-speed USB device number 15 using ohci-hlwd
[   60.608734] usb 2-2: device descriptor read/all, error -61
[   60.609783] hub 2-0:1.0: unable to enumerate USB device on port 2

It has to be verified if this is a regression from v2.6 kernels; v3.14.x and v3.15.x both have this issue.

Cc @DeltaResero that also experienced this issue.

neagix avatar Aug 25 '17 21:08 neagix

I verified that with v2.6.32 you can plugin USB devices later on (keyboard, mass storage) without issues

neagix avatar Sep 05 '17 23:09 neagix

@neagix

You have different settings on the Wii-Linux Kernel variables (defconfig files) within this repo...

"CONFIG_SLAB=y" "# CONFIG_SLOB is not set" "# CONFIG_SLUB is not set"

Setting these in the defconfig files as shown above makes USB work properly ALL the time.

BTW:

The problem with the Gamecube SI driver crashing with a plugged in controller while booting Linux on the Wii is, because the updated version of the driver itself doesn't allocate memory to the controller struct "input_dev" sub-member "absinfo".

Have a look at the function "si_setup_pad":

"absinfo" members of the "idev" variable are tried to be set BEFORE the call to the function "input_set_abs_params" is being made.

The function "input_set_abs_params" itself allocates the memory for "absinfo" but RETURNS if it fails with that. So trying to set variables of "absinfo" while there is no memory allocated, fails horribly...

derek57 avatar Nov 25 '20 09:11 derek57