-
-
Notifications
You must be signed in to change notification settings - Fork 503
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Toolbox Won't launch #147
Comments
Could you try the newest version, 0.0.15? |
i've tried multiple versions and they all have the same issue on Windows 10. i've tried the same versions on macOS and they work, so it seems like Windows is blocking the launch by default. |
It might be Windows Defender, or some other AV software that is blocking it. Double check there, and see if you can add an exception. |
I'm having this exact same issue. On the newest version, and trying to open the Toolbox, just nothing happens at all. I don't see it launching or that stuff, I tried running as admin and in few different compatibility modes. Don't have any anti-virus installed. Windows defender doesn't seem triggered either. I'm using the CU80 Keyboard which is supported by QMK, because I had previously found some forums saying it won't even launch without a supported keyboard connected. |
Same issue. Thought it was my Logitech G13, so I unplugged it, still won't open. Tried standalone and installed version, same issue with both. |
I'm seeing the same issue. Windows Defender complained about the app when I first launched it after installing, but it did at least launch. Every attempt to launch since, the app will not load. I've even tried from the |
After downloading the executable instead of the installer, and using that, it works fine. No idea what's going on there. |
I've tried throwing most tricks in the book, but Windows 10 Pro (1909) refuses to run either from direct download or installed location. Normal, Admin, Each attempt to open poops two items in the Event Viewer a .NET Runtime
Application Error:
(note file path is correct in log, just modified here to protect personal data) |
I'm having the same issue, and getting the same errors in Event Viewer as above. qmk_toolbox appears briefly in Task Manager, but never opens properly. I'm on a company provided laptop, so I'm suspecting some strict antivirus/antimalware rules, or some Windows policies in place. |
I am having the same exact problems: qmk both portable and installer won't launch and nothing happens at all. I don't have any Antivirus software and already tried turning off Windows Defender with no luck As debugged through Event Viewer, first a .NET Runtime error:
Then an application error:
|
An attempt to start the watcher for device connect/disconnect events fails with some exception, but the event log does not capture enough information about that exception. Probably StartManagementEventWatcher should have some code which catches the exception and shows some information from it (maybe even complete |
You have a different issue — the crash in inside HidLibrary. From looking at the HidReport constructor, apparently one way to make it crash with
(Why that thing declares itself as a boot keyboard is beyond my understanding; as you can see, the report descriptor contains only two feature reports and no input or output reports.) However, the next question is where an attempt to read the nonexistent input report is performed. The toolbox code apparently tries to read input reports from devices which have the usage page 0xFF31 and code 0x0074 (the debugging console). But those vendor-defined codes are not registered anywhere, so in theory it is possible that some vendor decided to use exactly these codes in their devices, but for a completely different purpose. Apparently the proper way to use the vendor-defined range is to check the USB vendor ID in addition to the vendor-defined usage page and code, but this is not possible for QMK, because it uses lots of different USB vendor ID codes (most of which are not even actually registered properly). Probably the easiest solution to this problem (if it is really caused by a device with no input reports and the vendor-defined usage page/code collision) is to add one more check to
|
@Fieel diff --git a/Demos/Device/LowLevel/GenericHID/Descriptors.c b/Demos/Device/LowLevel/GenericHID/Descriptors.c
index f47a406c0..6bc55e2c8 100644
--- a/Demos/Device/LowLevel/GenericHID/Descriptors.c
+++ b/Demos/Device/LowLevel/GenericHID/Descriptors.c
@@ -45,15 +45,15 @@
*/
const USB_Descriptor_HIDReport_Datatype_t PROGMEM GenericReport[] =
{
- HID_RI_USAGE_PAGE(16, 0xFF00), /* Vendor Page 0 */
- HID_RI_USAGE(8, 0x01), /* Vendor Usage 1 */
+ HID_RI_USAGE_PAGE(16, 0xFF31), /* Vendor Page 0x31 */
+ HID_RI_USAGE(8, 0x74), /* Vendor Usage 0x74 */
HID_RI_COLLECTION(8, 0x01), /* Vendor Usage 1 */
HID_RI_USAGE(8, 0x02), /* Vendor Usage 2 */
HID_RI_LOGICAL_MINIMUM(8, 0x00),
HID_RI_LOGICAL_MAXIMUM(8, 0xFF),
HID_RI_REPORT_SIZE(8, 0x08),
HID_RI_REPORT_COUNT(8, GENERIC_REPORT_SIZE),
- HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
+ HID_RI_FEATURE(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
HID_RI_USAGE(8, 0x03), /* Vendor Usage 3 */
HID_RI_LOGICAL_MINIMUM(8, 0x00),
HID_RI_LOGICAL_MAXIMUM(8, 0xFF),
diff --git a/Demos/Device/LowLevel/GenericHID/GenericHID.c b/Demos/Device/LowLevel/GenericHID/GenericHID.c
index 73856d0e0..0ec1d44f6 100644
--- a/Demos/Device/LowLevel/GenericHID/GenericHID.c
+++ b/Demos/Device/LowLevel/GenericHID/GenericHID.c
@@ -232,6 +232,7 @@ void HID_Task(void)
Endpoint_ClearOUT();
}
+#if 0
Endpoint_SelectEndpoint(GENERIC_IN_EPADDR);
/* Check to see if the host is ready to accept another packet */
@@ -249,5 +250,6 @@ void HID_Task(void)
/* Finalize the stream transfer to send the last packet */
Endpoint_ClearIN();
}
+#endif
}
Commands to build and flash this “toolbox killer” code (I used a keyboard with easily accessible Reset as a testbed; different flashing commands will be needed for a Pro Micro): make MCU=atmega32u4 BOARD=NONE F_CPU=16000000
dfu-programmer atmega32u4 erase
dfu-programmer atmega32u4 flash GenericHID.hex
dfu-programmer atmega32u4 reset This case is also similar to the issue #65, but in that case the HID descriptor seems to declare an input report, so that issue could be a different one (or the actual code in that XD002 board did not match the provided sources). |
@sigprof you are absolutely correct, in fact after some physical debugging (unplugging all USB devices) I found the culprit, this little 2-key PCB I bought from drop.com 6 months ago: https://drop.com/buy/xd002-hot-swappable-2-keys-aluminum-macro-pad. Unplugging the device fixes all problems, QMK toolbox launches as expected and I can flash no problem. Any reader might as well disregard my problem as it's 100% a duplicate of issue #65 |
Interestingly I had notifications on, and they worked fine. I had to install some windows updates involving a machine restart, and that fixed it and it's running fine now. Which is odd because it wasn't working even with a machine restart before. |
I believe as of the above PR by sigprof, this is fixed? Can this be closed? |
I don't think we've had any more reports of this particular issue, closing. |
Windows says that it is an unsafe file and even after selecting launch anyway the application still does not load. Have tried both the executable and the installer version and whenever I try to launch it absolutly nothing happens. Does anyone have any idea on what I can do to get it working?
The text was updated successfully, but these errors were encountered: