Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This also causes the most infuriating issue I've ever had with a controller and Windows 10. The "official" driver from the manufacturer hasn't been updated since a final revision in like Windows 7. Windows 10 offers a basic driver, but it's totally broken and the Windows driver constantly updates and overrides the old one. Anytime I want to play a game with this controller, I have to uninstall from device manager and install the old driver but ignore the restart. It works, for some reason, but as soon as the machine gets restarted, the driver is replaced and I get the yellow exclamation point in Device Manager again. Not a great workaround, but I'm glad it works for most things.


> This also causes the most infuriating issue I've ever had with a controller and Windows 10.

According to the text, it's designed to prevent the problem you describe:

When the system looks for a driver to use for a particular piece of hardware, it ranks them according to various criteria. If a driver provides a perfect match to the hardware ID, then it becomes a top candidate. And if more than one driver provides a perfect match, then the one with the most recent timestamp is chosen. If there is still a tie, then the one with the highest file version number is chosen.

I don't know where this is going wrong for you but both the file version and the timestamp are things you can manipulate on that driver file. Might help, although you're in trouble if the manufacturer's driver isn't a perfect match to the hardware ID.


It does, but I have to assume that the Windows version also is a perfect match for the hardware ID. Since the older driver from the manufacturer supports all the features, but the date is before June 21, 2006, the MS driver is used instead which is, essentially, neutered for some functions.

The text shows that the driver is working as intended. The newer driver is being chosen automatically. The problem is that the newer driver is the Microsoft one. The sad thing is that I don't even know the Manufacturer of the driver anymore. It was painted on the controller and has since rubbed off and the driver file itself just shows up as "Generic Joystick Driver" or something like that. At one point, it got identified as an XBOX 360 controller. :(


That driver must predate Windows 7, then, which was released in 2009. I've found drivers from Vista or before don't want to work with Windows 10 in some fashion anyhow (perhaps the 32-bit to 64-bit transition?).


Possibly. I've had the thing for close to 20 years, I think. It came with a bundle that had a sound card and a DVD (or maybe even CD) drive. It's USB, though, so it can't be that old!


Just out of curiosity: Have you ever considered just buying a new controller? Spending your time on troubleshooting drivers doesn't seem like a sensible decision from the time=money point of view.


Of course! I do own other controllers! There are just some games that don't seem to recognize newer controllers the same way (the original Mortal Kombat being one of them). I'm not saying that my issue is common and I realize that I'm putting this issue on myself, I just mentioned it because it's a situation that highlights why their "solution" to the problem they have is more of a workaround rather than an actual fix. As others have pointed out, the correct "solution" is to de-prioritize their own drivers. It's their driver and their OS. They could even have a flag that's set in the driver for OS that also affects priority.


Is the driver signed?

If not, you might be able to do some hex editing if you can find the location for the date, and bump it to newer than the windows date.


To find the manufacturer:

1) Have you tried Googling the hardware ID

2) Take a photo and do a Google reverse image search


> 2) Take a photo and do a Google reverse image search

Does this really work most of the time? I'm typically only doing this to find the source(or more information) about an image I've found online.


From what I can tell, the "solutions" presented here don't actually solve anything, make things a lot more complicated, and just open new cans of worms. For niche cases there are always good workarounds.


Are you a Microsoft employee? I mean "just out of curiosity".


> It's USB, though, so it can't be that old!

I dunno, I remember getting my first proper joystick (to play Descent Freespace) maybe 16 years ago and it came with both serial and USB connectors..


USB 1.0 came out in 1996 (I recall a special release of Windows 95 had embryonic support for it), so close to 20 years, indeed! The fact you can get the driver to work at all is pretty impressive, given it's not getting updates.


I see what you mean. I just took a look at how you might go about tweaking the date on these files manually, either by tweaking an extended attribute or using a hex editor (I'm not sure) and it occurred to me... digital signing. I don't know, might be worth a try, but it might not work if the driver is signed.


Even if the driver is signed, can't you just ignore the signature error when installing it?



I've had the same issue with my TV card. This troubleshooter fixed it for me https://support.microsoft.com/en-us/help/3073930/how-to-temp...


Thanks! I'll give that a try!


Find the driver files and change the owner to 'TrustedInstaller' and then make them read-only by everybody. As far as I can tell the only way to remove a 'TrustedInstaller' file is in safe-mode.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: