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
Get a C02 IO and connect it to your test machine.
Flash the firmware to the C02 IO according to the instructions provided by BT5.
Set some 16seg text in the vigem-iidxio.conf to enable 16 seg data to be displayed
Run vigem-iidxio.exe with iidxio-ezusb.dll renamed to iidxio.dll
Wait a bit, like 10-20 secs at most.
Inputs become unresponsive. Restarting vigem-iidxio results in errors when communicating with the IO.
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 -->
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:
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: 
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
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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
vigem-iidxio.confto enable 16 seg data to be displayedvigem-iidxio.exewithiidxio-ezusb.dllrenamed toiidxio.dllvigem-iidxioresults in errors when communicating with the IO.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
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:

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