16seg polling kills iidxio-ezusb in vigem-iidxio #74

Open
opened 2020-12-31 20:15:07 +03:00 by icex2 · 1 comment
icex2 commented 2020-12-31 20:15:07 +03:00 (Migrated from github.com)

Summary

Kinda related to this.

Expected behavior

IO board does not crash.

Current behavior

IO board crashes due to excessive polling of the bulk write endpoint.

Detailed Description

Since I have seen the same symptoms already when dealing with this, I am quite sure the problem is not entirely solved. Removing any code to write 16seg data "fixes" the problem and everything is fine.

Steps to reproduce

  1. Get a C02 IO and connect it to your test machine.
  2. Flash the firmware to the C02 IO according to the instructions provided by BT5.
  3. Set some 16seg text in the vigem-iidxio.conf to enable 16 seg data to be displayed
  4. Run vigem-iidxio.exe with iidxio-ezusb.dll renamed to iidxio.dll
  5. Wait a bit, like 10-20 secs at most.
  6. Inputs become unresponsive. Restarting vigem-iidxio results in errors when communicating with the IO.
  7. You have to power cycle the IO baord and re-flash the firmware for everything to work again

Possible solution

Context (Environment)

Bemanitools version(s) affected

5.33/5.34 with vigem-iidxio

Game(s) and version(s) affected

Might affect some games, but not encountered any issues so far.

Log output

See attachment.

Configuration files

See attachment.

Command line arguments

APIs used

OS version

Hardware specs

  • CPU:
  • RAM:
  • GPU:
  • Controllers/IO:
## Summary <!--- Provide a general summary of the issue in the Title above --> Kinda related to [this](https://dev.s-ul.eu/djhackers/bemanitools/-/blob/master/src/main/iidxio-ezusb/iidxio.c#L148). ## Expected behavior <!--- Tell us what should happen --> IO board does not crash. ## Current behavior <!--- Tell us what happens instead of the expected behavior --> IO board crashes due to excessive polling of the bulk write endpoint. ## Detailed Description <!--- Provide a detailed description of the issue. Include links to screenshots or videos if necessary --> Since I have seen the same symptoms already when dealing with [this](https://dev.s-ul.eu/djhackers/bemanitools/-/blob/master/src/main/iidxio-ezusb/iidxio.c#L148), I am quite sure the problem is not entirely solved. Removing any code to write 16seg data "fixes" the problem and everything is fine. ## Steps to reproduce <!--- Provide a detailed step by step description how to reproduce this issue --> 1. Get a C02 IO and connect it to your test machine. 1. Flash the firmware to the C02 IO according to the instructions provided by BT5. 1. Set some 16seg text in the `vigem-iidxio.conf` to enable 16 seg data to be displayed 1. Run `vigem-iidxio.exe` with `iidxio-ezusb.dll` renamed to `iidxio.dll` 1. Wait a bit, like 10-20 secs at most. 1. Inputs become unresponsive. Restarting `vigem-iidxio` results in errors when communicating with the IO. 1. You have to power cycle the IO baord and re-flash the firmware for everything to work again ## Possible solution <!--- Not obligatory, but suggest a fix/reason for the bug, --> ## Context (Environment) ### Bemanitools version(s) affected * <!--- Add one or multiple versions as a bullet list --> 5.33/5.34 with vigem-iidxio ### Game(s) and version(s) affected * <!--- Add one or multiple game versions as a bullet list --> Might affect some games, but not encountered any issues so far. ### Log output See attachment. <!--- Provide FULL log output, e.g. inject.log or launcher.log. Please do not guess which things are relevant or not. Without knowing, you might leave out things that are relevant for the developers. You have to enable log output explicitly if not done already. For inject.exe and launcher.exe, add `-Y logfile.log` to the command line args to output to a file, e.g. `gamestart.bat -Y logfile.log`. !!!!!! REMOVE ANY SENSITIVE DATA LIKE PCBIDS OR DEVICE NAMES BY REPLACING IT THEM WITH [REDACTED] BEFORE UPLOADING/POSTING ANY LOG DATA!!! Use the search and replace feature of any kind of text editor. !!!!!! --> ### Configuration files See attachment. <!--- Provide any configuration files that you used, e.g. iidxhook-XX.conf. This file is located in the same directory as launcher.exe or inject.exe. !!!!!! REMOVE ANY SENSITIVE DATA LIKE PCBIDS OR DEVICE NAMES BY REPLACING IT THEM WITH [REDACTED] BEFORE UPLOADING/POSTING ANY LOG DATA!!! Use the search and replace feature of any kind of text editor. !!!!!! --> ### Command line arguments <!--- Provide how you run the game from the command line, e.g. which gamestart.bat you used and any additional arguments that you provided to it. Also provide the contents of the gamestart.bat you used if you altered it. --> ### APIs used * <!--- List all APIs you used as a bullet list, e.g. iidxio-keyboard, eamio-keyboard --> ### OS version <!--- Provide the version of Windows you used with whatever update/build identifier --> ### Hardware specs * CPU: <!--- Insert, e.g. Core i7 2600k 3.20ghz --> * RAM: <!--- Insert, e.g. 16 GB --> * GPU: <!--- Insert, e.g. Nvidia GeForce GTX 970, 4GB --> * Controllers/IO: <!--- Insert, e.g. DJ Dao RE over USB -->
icex2 commented 2021-09-24 16:22:42 +03:00 (Migrated from github.com)

In GitLab by @Stikam on Sep 24, 2021, 15:22

vigem-iidxio.conflog.txt

Here is my log which probably won't tell anything but it actually crashes at about 20 seconds as described. Also, for some reason the program just refuses to properly being closed and in task manager it stays as Suspended: _20210924_161139_20210924_161216

Specs: Using specific iidxio for C02 board OS: Windows 10 Pro N, Version: 20H2, OS build: 19042.1237 CPU: Intel Core i5-3550 GPU: GTX 465 RAM: 8 GB

In GitLab by @Stikam on Sep 24, 2021, 15:22 [vigem-iidxio.conf](https://dev.s-ul.net/djhackers/bemanitools/uploads/e2fcaa534beea5bce058fb978675d08a/vigem-iidxio.conf)[log.txt](https://dev.s-ul.net/djhackers/bemanitools/uploads/64185eb1bbdb8cc9e418ac6e8e3e4e01/log.txt) Here is my log which probably won't tell anything but it actually crashes at about 20 seconds as described. Also, for some reason the program just refuses to properly being closed and in task manager it stays as Suspended: ![_20210924_161139](https://dev.s-ul.net/djhackers/bemanitools/uploads/a2e0cebf2cafeaa1ea6acc221940f7b5/_20210924_161139.JPG)![_20210924_161216](https://dev.s-ul.net/djhackers/bemanitools/uploads/78fc05e882fa8a278e8a8a2a20f338c4/_20210924_161216.JPG) Specs: Using specific iidxio for C02 board OS: Windows 10 Pro N, Version: 20H2, OS build: 19042.1237 CPU: Intel Core i5-3550 GPU: GTX 465 RAM: 8 GB
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Max/djhackersdev_bemanitools#74