muchimi / JoystickGremlinEx

Modified version of Joystick Gremlin to add features I wanted to have but were difficult to do as just a plugin, plus I wanted to run this as 64 bit and on a more current version of Python/QT.
GNU General Public License v3.0
37 stars 6 forks source link

Axis disappears from a device on start-up. #119

Closed Termanater13 closed 1 month ago

Termanater13 commented 2 months ago

Axis disappears from a device on start-up. I had a similar issue with Whitemagic's joystick gremlin, that issue closed. They have not released an official update yet. I will say solving it is a bit easier as the load order of the devices played a part in that issue. I solved that issue by swapping the dill.dll v1.1 in his install with his dill.dll v1.3, which solved it permanently but had a few side effects that rarely popped up.

Issue is present in 13.49.14(m22) and 13.40.15(m1)

I will note that when I swap versions, the missing axes remain on that version. When I close and restart that version, they will be gone at start-up. Then, when I swap back to the other version, they are back at start-up.

I noticed that the dill.dll used in this version is 1.4 and must be from someone else, as coping mechanisms cause the program to crash.

The current solution is to start joystick gremlin and power on the affected device.

Devices connected VKBsim Gladiator EVO L VKBsim Gladiator EVO R Moza R5 Base (affected device, same device with the issue as the linked issue) Xbox controller

Attached dill.dll debugs from each version: dill_debug_13_40_14_m22.txt dill_debug_13_40_15_m1.txt

muchimi commented 2 months ago

Thanks for posting. dill.dll for GremlinEx is not the same as the original Gremlin, so it will cause a crash because of incompatible DLLs.

Can you please include your system.log log file as that will show, in verbose mode in options (check verbose + joystick verbose in options) - that will show what GremlinEx detected as far as devices g, and what else may be going on in terms of the detections such as a device going offline and backonline.

There are multiple reasons for a device to disappear after a bit - here are some ideas while we see what the log file reports. All the items below have happened to me - I'm not suggesting this may be happening here but symptom wise - looks pretty similar:

Note: USB hub power and cabling issues can usually be ruled out by plugging the device directly into the computer and see if the issue persists. The reason is the computer will deliver spec power. It's also how I learned my old CHProducts hardware wasn't drawing USB spec power (it was pulling more) and needed a very beefy hub. Lots of hubs aren't able to provide full amps to all ports concurrently and sometimes you get a device that draws more than spec, the older ones usually, and that causes problems.

Hopefully one of the above helps!

muchimi commented 2 months ago

One more question: is the hardware swappable - meaning - could it report different axes/buttons after GremlinEx starts?

Termanater13 commented 2 months ago

The axes are not changing. They are not showing when joystic gremlin starts up. The only way I can swap out the device is to power cycle the moza wheel, and unplug and plug back in the VKB joysticks. The moza base reports all necessary buttons, axes, and hats needed for pedals and all compatible steering wheels. Attachable steering wheels and peddles don't change what is reported. Other accessories might but I don't have them. I'll submit the log next time I'm at my computer.

Termanater13 commented 2 months ago

I got 3 logs. The verbose logs started to throw errors when I power-cycled the Moza r5 base. I also see a lot of spam from the X-Axis from the Moza wheel. It threw an error when I powered off the base, and then when I powered it back on, it threw another error that crashed. I had to edit the config.json to edit verbose to false to keep it from crashing on start-up. Errors were caught in the log.

This is verbose from startup. The z-axis is not showing in the window, but it is visible in MJoza Pit House software and Windows. could not confirm if Z-axis came back due to the crash. system - Copy.log

This one is the crash on start-up. (this one could be considered a different issue.) system-crash on start up.log

Other verbose all, this one is verbose and just joystick. Does not crash. when power cycling the moza base. This one Z-axis is not shown but comes back when power-cycled. system -no crash.log

The VKBs are connected via a USB hub that is powered externally. The Moza r5 base has its own power supply. Only the Moza is directly connected to the PC via a front panel USB port. This setup is only giving me problems with Joystick gremlin.

muchimi commented 1 month ago

Wanted to touch base on this as I've added a bit more verbose output code as to what is enumerated from the direct input layer, and there was a bug fix on the enumeration of devices in the first place that was causing some devices to not be recorded because they were excluded.

I hope this will help with this issue.

One more thing if you could. Assuming that you have HID device hiding disabled, can you see the Z axis in the applet joy.cpl when you call up the device and screenshot that please so I know what Windows is seeing in terms of the sequencing of the axis.

The latest pre-release code base is 13.40.15ex m4 and has the various hotfixes - that is the code that has the additional verbos mode enumeration information.

muchimi commented 1 month ago

Marking this resolved pending additional info.