Skip to content
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

Disconnects #22

Open
Dlang6487 opened this issue Dec 11, 2022 · 8 comments
Open

Disconnects #22

Dlang6487 opened this issue Dec 11, 2022 · 8 comments

Comments

@Dlang6487
Copy link

While playing Burnout Revenge with an Xbox Series controller, it will stop responding. I have to unplug the adapter from the Xbox and plug it back in. It does not say controller unplugged in game, it just stops responding to buttons presses while still showing that it is connected. This happens after 30 mins or so of gameplay sporadically.

@RobinNorling
Copy link
Contributor

RobinNorling commented Jan 30, 2023

While playing Burnout Revenge with an Xbox Series controller, it will stop responding. I have to unplug the adapter from the Xbox and plug it back in. It does not say controller unplugged in game, it just stops responding to buttons presses while still showing that it is connected. This happens after 30 mins or so of gameplay sporadically.

Had this happen to me a couple of times as well while playing Tony Hawk's Underground, although only 2 or 3 times.
As far as i can tell it's getting stuck somewhere inside the tud_task call inside the main loop but that's as far as i've been able to check, from my limited testing it does however seem like the call is never returned.
Whether it could be as simple as to setting a more sensible timeout value or if it's a deeper issue i have to dig deeper into.

I'm new to this myself but i'll look into it once i have some spare time. As a side note, i messed up when wiring it up so it is connected to port 2, whether that has something to do with it i couldn't tell you at this point but the tud_task_ext call timeout in usbd.h on line 55 is set to virtually infinite so my best guess is that the queue receive call (usbd.c:483) doesn't finish.

I should mention that this is mostly speculation at this point and i haven't thoroughly tested anything.

Edit: it seems like the issue might lie somewhere in the tinyusb library and not necessarily in the code of this project specifically, the timeout i was alluding to earlier seem to not be implemented so changing that will not do anything. I will try debugging some of this later on and see if i can find the culprit or at least a hint for someone smarter than me to build on.

@RobinNorling
Copy link
Contributor

After some testing it seems like updating to the latest version of tinyusb was all it took to fix my issue.
@Dlang6487 give this a shot, can't guarantee that it will solve the issue but it's a good place to start

@Ryzee119
Copy link
Owner

Tinyusb just released v15 so will update submodule soon

@ledah90
Copy link

ledah90 commented Feb 17, 2023

I'm having the same issue. I believe I updated tinyusb correctly and the issue is still present. For reference, I am using a xbox one controller on latest firmware and 8bitdo adapter v2 on 1.03 firmware. I will try compiling again when the submodule is updated to verify I didn't get something correct while updating.

Edit: I forgot to mention I have only tested the controller on Halo Combat Evolved.

@RobinNorling
Copy link
Contributor

RobinNorling commented Feb 17, 2023

I'm having the same issue. I believe I updated tinyusb correctly and the issue is still present. For reference, I am using a xbox one controller on latest firmware and 8bitdo adapter v2 on 1.03 firmware. I will try compiling again when the submodule is updated to verify I didn't get something correct while updating.

Edit: I forgot to mention I have only tested the controller on Halo Combat Evolved.

How often does the issue occur? I tried playing Halo Combat Evolved for a little over an hour using an 8bitdo v2 (firmware 1.00 though) and an xbox one controller and had no issues.

@ledah90
Copy link

ledah90 commented Feb 17, 2023

Pretty frequent. Maybe 5 or 10 mins of play time. I tried it on Doom Resurrection as well and the same thing occurs, but takes longer to happen. I can try to downgrade my adapter to 1.00 firmware and test again. When it happens, I am still getting vibration feedback from being hit or damaged in game, but the controls stop working.

Edit: I downgraded my 8bitdo to 1.00 and the issue is still present within 5 to 10 minutes on Halo.

Edit 2: I redownloaded the src and compiled it since it has been updated, but I still have the same issue. If I turn off vibration on my controller, it takes longer for it to show up. Is there anything else I should try?

Edit 3: I reinstalled firmware 1.00 on my 8bitdo after programming the teensy and the problem is now gone. I have successfully played Halo Combat Evolved for over an hour without issue while having rumble enabled as well. 1.03 does cause the 8bitdo to not work correctly.

@s3anami
Copy link

s3anami commented Feb 27, 2023

i have the same issue btw going to try the firmware change on the 8bitdo

@cmcginty
Copy link

I'm still seeing disconnections. So far I rebuild the latest firmware and re-flashed, and downgraded the 8bitdo v2 adapter to 1.0. Anything else to try at this point?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants