K8055 HID problems

Hi Folks

I am struggling to get the K8055’s to work with other HID compliant devices connected.

For example, if I connect just a usb gamepad (which appears as a HID device) to the PC (tried several PC’s so its not the PC), DXdiag runs cleanly without error.

If I connect just the K8055, and run DXdiag, DXdiag terminates with an error. If I run joy.cpl with a k8055 connected, joy.cpl will not load!

I have 4 k8055 boards and they all react the same, so its not a faulty board in the hardware sence.

If I connect the K8055 to the pc while the gamepad is connected, the gamepad stops working…

I really need to get this working, and I suspect that the PIC needs new code to fix this. Any help will be very much appreciated.

I appreciate that the k8055 is not a joystick device (as such) but am using this to illustrate the problem I am having.

DJ

You are right. Indeed, the DirectX and its DirectInput crashes if the K8055 is connected to the PC. DXdiag uses DirectInput and this crashes also DXdiag. This problem concerns only the newer version of the DirectX. The older versions are OK.

Hi

Many thanks for the reply - that is very much appreciated.

Do you have any specific version of directx you think I should run?

Do you think the gameport device I have will start woirking too, or will this just fix the dxdiag running with the 8055 connected?

Best regards

David

Sorry, I don’t know what is the last DirectX version that should run OK with the K8055. The problem appears at least with DirectX 9.0c.

There are two problems to restore the older version of the DirectX:

  • Some games require DirectX 9.0c
  • DirectX 9.0 is a system component and cannot be uninstalled

You’ll find more info from Microsoft’s Web site to the question “How do I uninstall DirectX?”:
microsoft.com/Windows/direct … fault.mspx

If you have recently updated your system to DirectX 9.0c you may try to find the System Restore point and roll back your operating system to a time before the software was installed.

Thanks - will get on the case.

DJ

Hello,

I am encountering the same problem with the K8055 interferring with DirectInput. I actually want to use a joystick to control to the K8055 outputs, does anyone actually know what is causing the crash and has anyone thought of a way to make the K8055 play nicely with current version of DirectX/DirectInput?

Thanks.
Roger.

Hi guys,

for us it was also quite a surprise to see that a VM110 crashes DirectX or other input systems like OIS (wreckedgames.com/forum/). For our application, deinstalling DirectX (or recompiling without the USB section…) was not an option at all …

debugging into directX showed that some “enumerateDevices” (hence automatic device detection) fails with VM100 attached to the computer.

-> so either connect your VM110 to your compuyter after initialising directx
OR :
-> inverse the order of registering the devices by the different drivers
A. first call VM110 “OpenDevice” (this actually locks somehow this USB device)
B. second, call anything you want on DirectX, the VM110 will not be detected neither crash DirectInput/DirectX …

it’s still a work around … and if there is nothing changing next time we will have to buy some other vendor cards … but for the price it is seld for, the VM110 is really a hot thing :wink:

Florian

Thank you for this work-around!
I hope it helps other users to solve their DirectInput/DirectX problems too…

Hey,

I’m new to this forum and new to all of this stuff, but I too have a VM110 and was planning on using it to send data from a game application to a display. Apparently the game crashes on startup giving an error I don’t understand but basically it’s the same error you get when running the DxDiagnose.

I was trying to understand the workaround posted above, but I don’t.
Am I stupid or am I missing something? How exactly is this workaround achieved?
Thanks and sorry for the bother…

Hey,

i’ve got the same problem. I read the article that contains the workaround many times but until now i did not find out how to use it.

“connect your VM110 to your compuyter after initialising directx”

I think directx is initialized on system-boot. But connecting the device later doesn’t change anything.

“A. first call VM110 “OpenDevice” (this actually locks somehow this USB device)
B. second, call anything you want on DirectX, the VM110 will not be detected neither crash DirectInput/DirectX”

That’s exactly what i’m doing here but it does not work.

Is there anybody out there using the workaround with success? Could you describe exactly your proceeding?

Finally, i have to apologize for my broken english… i hope everybody understands what i mean :slight_smile:

cu Thomas

What is the status on fixing the DirectX compatibility issue? Is Velleman working on getting this bug fixed? If not, I think you should publish the K8055 dll source code, so that we users/customers have a chance to fix it ourselves. The K8055 is a great piece of kit, but the DirectX problem really bothers me, as it crashes MediaPortal.

You can download the original DLL source from:
vel255.diinoweb.com/files/K8055D_DLL_source.zip

Thanks, but this source looks a lot older that the current rev 3.0.2 K8055D.dll, dated 2007-08-08?
Before anyone starts trying to figure this out, could you please comment on whether Velleman intend to fix the DirectX incompatibility?

Thanks a lot for your support

Sorry but the source for the newer DLL is not available
This may be a firmware problem - can’t be fixed with a new DLL…

It seems that DirectX 10 doesn’t any longer suffer this problem. It detects the K8055/VM110 card correctly.

Just checked with the DxDiag program.

The only problem - DX10 is not available for WinXP :slight_smile:

I’m having no end of problems with the K8055 USB experiment board.

I have used it sucessfully for many years on a system as a generic I/O card to drive some external equipment from a PC running some custom simulation software written in Visual C++. We have just updated our custom software and the 8055 board no longer works. It’s giving us the DirectInput errors and crashes because the new version of our software uses DirectInput for reading data from another device, whereas the previous version didn’t use DirectInput.

We have tried all the newer versions of the DLL’s and no change. Part of the problem is the fact that the device is recognised by the system as a Human Interface Device when it should really be a port or ports.

Now, to my mind, generic digital and analogue IO shouldn’t have any relevance to a human interface device…but should be register programmed in the same way as you carry out generic reads and writes to a hardware interface like a serial or parallel port.

Secondly, I’m getting errors with Visual C++ runtime libraries. All of our earlier software versions were written in Visual C++ 6.0 and the new versions are written in .NET. Invoking the 8055 DLL in our software crashes the C++ runtime libraries.

Clearly the 8055 DLL’s are invoking older runtimes that are then resident in memory which then crashes our new software.

Has the DLL issue been resolved? Are the newer DLL’s (4.0) .NET compatible and has the DirectInput clash been resolved yet?

We use XP so changing DirectX from version 9.0c is not an option, nor is changing our OS.

I’m sorry but the issue with DirectX 9c is not resolved.
The new DLL version doesn’t fix the problem.
The problem seems to be K8055 hardware related.
When the K8055 is plugged in, the DirectX diagnostic tool DxDiag.exe crashes too when run.
Please see also: viewtopic.php?f=3&t=5645

[quote=“VEL255”]I’m sorry but the issue with DirectX 9c is not resolved.
The new DLL version doesn’t fix the problem.
The problem seems to be K8055 hardware related.
When the K8055 is plugged in, the DirectX diagnostic tool DxDiag.exe crashes too when run.
Please see also: viewtopic.php?f=3&t=5645[/quote]

It appears that J_Holland and I succeeded so well in emulating the original K8055 firmware (see K8055 Open Source Project), that it too causes DxDiag to crash when my modified card is connected. It does NOT crash DxDiag if I connect the modified card and fire up the HID Boot Loader (currently done by having SK6 installed on connect).

I conclude from this that the issue is related to the USB HID descriptors or something else in the firmware. If it was the hardware, running the Boot Loader should yield the same DxDiag crash.

Does the K8055N have the same problem?

We would be very interested in finding the exact cause for this in order to fix it in our firmware. Who knows, maybe Velleman would like to offer a “K8055 mod kit”, containing a PIC18F2550 with the Boot Loader, a crystal and two capacitors, so users can upgrade their existing K8055?

Thank you MostlyHarmless for asking this question: [quote]Does the K8055N have the same problem?[/quote]It seems that K8055N and VM110N do not suffer from the DirectX problem!

retrotecchie: You may try to use the K8055N or VM110N. It may solve the problem.
K8055N and VM110N are backwards compatible with K8055.
You may either use the old DLL (v4.0.0.0) or the new (faster v5.0.0.0) DLL with these new cards.
The new DLL, documentation and example projects can be found on this site: velleman.eu/support/download … 055N&type=