MiSTer-devel / Main_MiSTer

Main MiSTer binary and Wiki
GNU General Public License v3.0
3.03k stars 328 forks source link

8bitdo DIY Kits (NES, SNES, N64) not resyncing after cold reboot / powercycle on MiSTer v230423 OS v230501 #856

Open drtekGER opened 10 months ago

drtekGER commented 10 months ago

After updating to MiSTer v231018, OS v231108 my 8bitdo DIY BT Controller Kits (N64, NES, SNES) will not resync after a cold reboot / power cycle.

Going back to MiSTer v230423, OS v230501 everthing is working / resyncing fine again.

drtekGER commented 10 months ago

Keeping MiSTer v231018 while reverting OS to v230501 is fixing this issue.

birdybro commented 10 months ago

Do those controllers have a Nintendo Switch mode? If so, switch from that mode to XINPUT instead and see if the behavior continues.

drtekGER commented 10 months ago

I did test that. Only reverting to OS v230501 is fixing this issue.

birdybro commented 10 months ago

If you unplug and then plug in the bluetooth adapter you are using after the cold reboot, does it pair?

drtekGER commented 10 months ago

No it doesn't. Need to re-pair after every power cycle / cold reboot no matter if unplugging or not. OS v230501 is working flawless.

Sheeg commented 9 months ago

I did test that. Only reverting to OS v230501 is fixing this issue.

Are you absolutely certain? The new drivers added are only for Switch controllers, no other driver changes (aside from gamecube adaptor and stadia, which shouldn't be relevant here) are included between those versions. If those controllers are using Nintendo vendor ID + device ID in other, non-switch modes that would be a problem, we would need to find some way to differentiate from actual Switch controllers.

drtekGER commented 9 months ago

Hi, yes I am 100% sure Tested on two different Misters. 8bitdo DIY Kits not resyncing after v230501. Had to buy new controllers.

Shig @.***> schrieb am Do., 28. Dez. 2023, 00:44:

I did test that. Only reverting to OS v230501 is fixing this issue.

Are you absolutely certain? The new drivers added are only for Switch controllers, no other driver changes (aside from gamecube adaptor and stadia, which shouldn't be relevant here) are included between those versions. If those controllers are using Nintendo HID + device ID in other, non-switch modes that would be a problem, we would need to find some way to differentiate from actual Switch controllers.

— Reply to this email directly, view it on GitHub https://github.com/MiSTer-devel/Main_MiSTer/issues/856#issuecomment-1870695901, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALIUWYEPNEUNQUQHJ66TMLDYLSXHDAVCNFSM6AAAAAA77AWAWKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZQGY4TKOJQGE . You are receiving this because you authored the thread.Message ID: @.***>

SeongGino commented 14 hours ago

So while I can't speak for the other mod kits, I can at least verify that the N64 Mod Kit in particular is having some issues.

Bluetooth behavior is all but identical from my end - only works the first time it's paired, disconnecting and reconnecting makes it unable to connect without a power cycle. No other bt devices in my setup have this particular issue.

When plugging in a USB cable, when it's under Switch mode, it uh... causes the kernel to start dividing by zero? 2024_10-02 202001-_dev_ttyACM0 - PuTTY Nothing ever gets recognized, and the kernel logs just spams this until it's disconnected (as well as mentioning things about leds 0003:057E:2009.0001:player1: Setting an LED's brightness failed (-71)).

When plugged in via Dinput/generic mode, while it can be seen and works somewhat initially, attempting to map the controller causes problems:

From what I can tell in my Linux system, when in Switch mode, the Mod Kit emulates a Nintendo Switch Pro Controller verbatim - meaning it uses the exact same name, VID and PID identifiers as a genuine Switch ProCon. This is a bit of an issue, as it obviously means at face value, it has to share ProCon values, which changing would break real Pro Controller functionality. However, Switch mode seems to be the only way to get the Mod Kit's rumble pack to work - as it otherwise doesn't seem to be exposed over generic input mode. Generic input also means that the Star button (on the Pak) isn't available, and Z (trigger) and ZR (on the Pak) are in unconventional places that aren't recognized by SDL apps.

Ideally, the controller should work in Switch mode, so that at least rumble can be properly exposed in supported cores. But just getting it to work at all would be a nice start, as inconvenient as this all sounds given the circumstances explained...

sorgelig commented 8 hours ago

You need to understand that support for different controllers such as Switch, PlayStation, etc, is non-official. So driver is written by enthusiasts by analyzing the work of original controller. So it doesn't expect much deviation from work. And those 3rd party controllers pretending to be a Switch/PS controllers are quite different in work. It breaks the work of driver.

SeongGino commented 2 hours ago

You need to understand that support for different controllers such as Switch, PlayStation, etc, is non-official. So driver is written by enthusiasts by analyzing the work of original controller. So it doesn't expect much deviation from work. And those 3rd party controllers pretending to be a Switch/PS controllers are quite different in work. It breaks the work of driver.

I do, in fact, understand what volunteer work is, thank you. I'm just explaining the situation since it hadn't been done so in detail up till now.

And all I do know is that my desktop Linux kernel doesn't start trying to divide by zero when I plug the mod kit into my PC, Kernel 6.10. Even if it is pretending to be a Pro Controller (which is uncool, but I 'get' why 8bd does it), it would be nice to have it working in a basic capacity on MiSTer.