-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Xbox 360 Style Game Controller does no longer work with firmware 211207 #82
Comments
But later on: So it was recognized as an XBOX controller. |
With the 211207 firmware there is nothing under Joy1 Joy1 - With the old firmware it was USBID 11C0 and PID 9107 I know that a lot of controller can switch between different modes. This one however does not - I upload the manual pages I have So basically nothing happens when I press the home key for 5 secs (mentioned in manual for reconnecting). Also worthy of note it is wired controller. |
Also it worked before for over 12 months now (it is my primary controller for MiST). |
And if you plug in to a computer, then what mode comes up? I wonder how the MiST firmware could force it to switch modes... |
Thank you for your suggestion and support in this! Under Windows it is found as "Xbox 360 Controller For Windows". Everything and all buttons do work here. Hardware IDs: USB\VID_045E&PID_028E&REV_0115 The Test firmware 211212 did nothing for this controller. Everything is the same as with the latest released FW. |
Then it's also XBOX mode in Windows. Strange, if you reflash the old firmware, it'll go back to HID mode? |
yes it will - i tested several times switching between the two firmwares (see first post incl. the logs) |
I have an idea what happens...can you try the attached fw and post the debug output when you plug in this gamepad? |
Here is the log (I starter a core to reach the USB Status display. |
no I take it back - also with the test firmware it will not work |
sometimes it requires a few resets or a cold start after a FW update to get a stable situation regarding usb recognition - really strange. |
so now everything back to square 1 |
Yes, but I know now why the modes are toggling. Every query of the device descriptor changes the mode. I'll make a change which query the device descriptor only once. |
thank you - really appreciate your help - as always!! :) I like the controller very much ... I even got a spare one ;) Also the thing could affect other cheap 360 controllers as well ... |
Here's another test, can you try it please? |
no change to report - controller still not working |
I expected this - normally the controller initializes in XBOX mode. Then there was an extra query of the device descriptor previously when it probed the device for being a HUB.
Thus it needs two queries for HID mode. Is manual switching really doesn't work holding some buttons? |
I am not sure I get all of it - but isn't it normal to always send two signals/query to switch back to the original mode? Or is it that all devices have a different amount of modes - then 2 is just luck I guess. Maybe add an option in the mist.ini so that user can at least adjust. hm also am wondering why xbox mode does not work here - again it was a cheap controller so properly not up to specs at all. I have an OG Xbox 360 controller here, if you need it for me to test something. |
I'm not sure what's the "normal" way to switch modes, I guess it's device dependent (I never encountered this kind of mode switch, button press during power up is more "standard"). BTW, before I add two queries (which will happen not by luck), here's a test to get some debug info from the XBOX driver. Would be good if you can post the logs of this. |
No change: Also I am re-reading the manual - Maybe this controller is strange but it is pretty recent and supports the "nintendo switch" - Nowhere in the manual a switch of mode is mentioned other than the use of the home button (holding for 5 secs). However this does absolute nothing for this controller. I have the feeling the controller has to see that it is not connected correctly (resulting in blinking of the LEDs of the controller) then maybe the home button thing can be used. Right now the controller just sit there not switching when I press any of the buttons (or holding down for 5 secs). |
Ok, so it doesn't even get a valid poll. More debugging info added: (you might try to hold the 'home' button while you plug in the controller, also switching doesn't work on a real computer?) |
I will test it - However the controller is a state (LED 1 and LED2 lit) This state means "connected" - nothing is blinking - The controller is quite happy not doing anything. It nearly looks as if it does not see that the connection is not working. So maybe to smart. Also manual mode change (pressing the mode button) does nothing. LED status remains the same. On my windows box the driver Xbox 360 is loaded and nothing happens after that. |
here is the log file |
nothing changed |
actually on my windows box the mode button toggles different modes |
It can be switched to somthing recognized as ESM GAMEPAD 1.15 |
HID-compliant game controller HID\VID_045E&PID_028E&IG_00 |
longer pressing the mode key then resets back to the Xbox360 mode. Wonder why this does not work, when it is connected to the MiST. |
When connected to the mist the mode button loses all functionality and will not exit the xbox360 mode - Also not working at all |
Removing the controller from the Mist when powered on gives me the strange debug message "USB: usb_xbox_poll() error: 13" it is logged every second until I shut it off |
I found it |
Apparently switching it on a windows box will make the controller remember the last mode. So when I leave it on HID it will remember it also on the MiST. |
But doing a reset (holding the mode button for 5 secs) brings it back to the xbox 360 mode and it locks up again |
then turning of and on the MiST will not bring back HID but the controller remains in Xbox 360 mode and the mode switch is blocked. |
Reconnecting it to the windows box should solve it. But once it gets into xbox mode on the MiST it will remain locked. |
I will test the other firmware now |
here is the log: |
So I guess something is forcing the controller into this xbox 360 mode when connected to MiST. This also disables all mode switching on the controller. Under Windows switching works and maybe will be remembered by the controller for some time. |
This is at least a work around I guess. But always connecting to a different machine just to switch modes is a bit special. |
I tested it again and it remembers the mode. Outside of the Xbox 360 mode the controller works nicely again under the test firmware! |
Here's a last test, I wonder if it does the mode switch as in the older ones. |
Maybe this is enough of a fix. But maybe it has something to do with the constant polling (see error 13 messages). |
nothing change when the controller is in the Xbox360 mode see log |
When I switch to HID under windows and plug it back into MiST - it will be recognized under an new VID PID: |
Then not touching the mode button again will leave the controller in this state (also surviving cold restarts). |
mode switching under the new firmware is still not possible |
However I guess that no mode switch actually happens on MiST. That could be a miscommunication between the devices. The LED on the controller will not blink and do not flash as normal for a mode switch with this controller. |
It appears that the controller simply remains in the mode it was last set to and also that the mode switching is disable as long as it is connected to MiST. |
Ok, then I really don't know why it changed the mode previously, also I have no idea why XBOX mode doesn't work. These controllers have really strange firmwares. But I guess it's the best to use the mode where it was left previously. |
Chinese special with a lot of copy&paste |
Yes - but also be aware that this could be something affecting other controllers. But of course maybe the controller I have has the bug. No update there - I guess it was discontinued.... Anyhow big thanks for troubleshooting this!!! |
It's hard to do tests without the actual controller - I got a strange one from a user, so I could debug it, it didn't work until at least the language ID descriptor was read. Then other controller broke when all strings was read. Brain-dead software run on these gamepads. BTW, I wonder if the real XBOX controller works at all. |
I know - I remember when Till was asked about the implementation that he was happy with just supporting HID and the bare minimum to be as compatible as possible. Again I would suggest to at least consider making the new changes (xbox mode) an option to be disabled in the MiST.ini. I know we have parameters for mouse in there to ensure that compatibility is possible. |
Anyway I write a tutorial for this controller so I remember later. Good also that we have this conversation here on github for others to see. |
It wouldn't help disabling the XBOX driver - if the controller is in XBOX mode, then it won't work with the HID driver anyway. |
true |
Maybe we have to update the wiki (but who will read it). Also it is important the even when you change the mode to HID successfully the VID and the PID could have change. With my controller I have to edit the mist.ini to get the correct button mapping. Easy fix of course when you know the VID PID changed. |
I wonder how many VID/PID pair a controller can have :) |
lol |
Easy SMX SL-9111 Gaming Controller an Xbox 360 Style Game Controller does no longer work with firmware 211207. Worked fine with firmware 211001 and before.
Under firmware 211001:
USB vendor ID: 11C0, product ID: 9107
firmware_211001.txt
Under firmware 211207:
HID: unsupported descriptor type 65 size 6
firmware_211207.txt
The text was updated successfully, but these errors were encountered: