Wii: Driver for XBOX360 controller almost done, but

…fatMountSimple() runs wild. Obviously gx_devthread() in frontend/drivers/platform_gx.c tries to mount my XBOX controller as soon as I have called USB_OpenDevice():

Log:

Interface found: [XBOX360].
...1 second later...
Autodetect: Device disconnected from port #1 (XBOX360).

I hijacked the file to stop that for all "usb" devices. So I can already use my controller. :grin:

The reason might be the device descriptor with bDeviceClass=255. I can’t find the part where USB devices are discovered or how I could exclude only this controller.

Any help appreciated.

@twinaphex Do you think there is a chance to prevent the XBOX360 controller to appear as an USB drive? I’m a little bit pessimistic, but maybe you have an idea.

My personal fork works quite fine for me, but with my hack stopping the device thread if gx_devices[i].name == "usb", it’s no pull request candidate.

The original thread is started here: platform_gx.c

Now I turn off dynamic mounting of USB drives only if XBOX360 controller is present. As I’m using a global variable to do this, IMHO it’s not suitable for a pull request. :frowning_face:

@Twinaphex @bparker06 @netux79 @xerpi

Maybe you heard already about my fork - of course you do, I’m a SPAMMER :innocent: - and have a better solution? Here is my pull request draft.

1 Like