kriomant / ch57x-keyboard-tool

Utility for programming ch57x small keyboard
MIT License
530 stars 65 forks source link

CH57x keyboard device not found. #3

Open DaneelReventelov opened 1 year ago

DaneelReventelov commented 1 year ago

on Windows 10 Error: find USB device Caused by: CH57x keyboard device not found. Use --vendor-id and --product-id to override settings.

I think is exactly the same keyb, 3raw, 4 col, 2 knob, the same in your image and I don't think the chip can be an other one but I don't know how to see it, or vendor and product ids. The shop I used is this https://it.aliexpress.com/item/1005004106403808.html?spm=a2g0o.order_list.order_list_main.17.21ef3696Ji7zhr&gatewayAdapt) and the software is https://drive.google.com/drive/folders/1gm7cibTRKeVqk30UGvEKbFaSS82yM00j How can I discover the chip type? The vendor id and the product id? On Windows I found vid 1189 and pid 8840 but I don't thing are the same parameter

What I can do?

DaneelReventelov commented 1 year ago

Shame on me, the values 1189 and 8840 were in hex so in int are 4489 34880 but I had this Error: init keyboard

Caused by: Invalid parameter

H:\Download\ch57x-keyboard-tool-x86_64-pc-windows-msvc\map>ch57x-keyboard-tool --vendor-id 4489 --product-id 34880 upload < my-mapping.yaml

kriomant commented 1 year ago

Reproduced on Windows machine, trying to fix…

kriomant commented 1 year ago

Seems like it's limitation of libusb on Windows:

HID keyboards and mice cannot be accessed using the native HID driver as Windows reserves exclusive access to them.

(from https://github.com/libusb/libusb/wiki/Windows#known-restrictions)

I'm looking for alternative way of accessing HID device on Windows.

DaneelReventelov commented 1 year ago

If I install https://zadig.akeo.ie/ maybe I can change temporary the hid to a generic USB, change the configuration, then restore the previous driver? Is possible to do the step automatically? 1- Start your app 2- Your app ask to reconnect the keyb 3- Your app use a wrapper or change the driver and update the conf 4- Your app ask to reconnect the keyb

Or I have to start a linux distro on a usb driver and use from it :( The last time I did this thing was 20 years ago at university, I don't know if my neurons can afford this :P

With Android? There is a way? Maybe with Bluetooth?

DaneelReventelov commented 1 year ago

Any news? I tried with android but is a mess.

kriomant commented 1 year ago

Please install USBDK and try this build. If it works, I'll update official release.

DaneelReventelov commented 1 year ago

:( not works! ch57x-keyboard-tool.exe --vendor-id 4489 --product-id 34880 upload < mapping.yaml Error: init keyboard

Caused by: Invalid parameter

The device is disconnected but the problem persist. It seems to me that the operations are too fast, less than 1 sec to disconnect, operate and reconnect, usually I find windows needs 1-2 seconds to do something and I use to add a wait of 1-2 seconds to wait a stable status, maybe here is the same problem. On debug viewer I Found this: [17460] 2023-04-02 01:20:10.740 I cue.dev.hidenumerator: Found device VID 4489 PID 34880 Usage Page 65280 Usage 1 [17460] 2023-04-02 01:20:10.742 I cue.dev.mgr: Candidate device for QMap(("bus", "hid")("devInstanceId", "hid\vid_1189&pid_8840&mi_00\b&33dc81f&0&0000")("hid-direction", "input")("hid-type", "report")("hid-usage", "1")("hid-usagepage", "65280")("model-name", "USB Composite Device")("usb-pid", "34880")("usb-vid", "4489")("vendor", "")) not found.

usb path: HID\VID_1189&PID_8840&MI_01&COL01\B&1B015464&0&0000

Windows ID hardware: HID\VID_1189&PID_8840&REV_0100&MI_01&Col01 HID\VID_1189&PID_8840&MI_01&Col01 HID\VID_1189&UP:0001_U:0006 HID_DEVICE_SYSTEM_KEYBOARD HID_DEVICE_UP:0001_U:0006 HID_DEVICE

DaneelReventelov commented 1 year ago

I have bud or good news for you, depends on point of view. The producer made a new powerful and optimized software with many new things. https://sikaicase.com/blogs/support/software-firmware-setting-for-mini-keyboard

It support F13-F24 and can load and store many keys at the same time. For my pov yours is better, I prefer to use notepad++ and have many profile but that software is a good compromise.

I hope you can solve the problem!

kriomant commented 1 year ago

It's strange, you say your device looks exactly like on my picture, but your product-id is different. Did you try to run without overriding vendor/product-id?

orlando-ts commented 1 year ago

Please install USBDK and try this build. If it works, I'll update official release.

I was getting this error on windows:

Error: init keyboard Caused by: Input/Output Error

Installing USBDK and using that build worked perfectly for me! Thanks!

andreapx commented 1 year ago

It's strange, you say your device looks exactly like on my picture, but your product-id is different. Mine has vendor ID 1189 and product id 8890, is it the same as yours? I couldn't find it in the project.

Did you try to run without overriding vendor/product-id? What v-ID/p-ID should I use?

Thanks!!!

mororocz commented 1 year ago

Problem

I have a similar problem with my keyboard. I am unable to find the USB device when I try to run the ch57x-keyboard-tool.exe application.

My keyboard

Steps I have tried

  1. I have tried running the ch57x-keyboard-tool.exe application with the following parameters:

    ch57x-keyboard-tool.exe --vendor-id 1189 --product-id 8840 upload < example-mapping.yaml
    ch57x-keyboard-tool.exe --vendor-id 4489 --product-id 34880 upload < example-mapping.yaml
  2. I have also tried restarting my computer.

Error message

I get the following error message when I try to run the ch57x-keyboard-tool.exe application:

Error: find USB device

Caused by:
    Entity not found

Request

I would really appreciate it if you could help me to resolve this issue. I would like to be able to use the ch57x-keyboard-tool.exe application to customize the settings on my keyboard.

Thank you for your time and consideration.

kriomant commented 1 year ago

Problem

I have a similar problem with my keyboard. I am unable to find the USB device when I try to run the ch57x-keyboard-tool.exe application.

My keyboard

It seems you have some another keyboard model, not ch57x. To add support for your keyboard I need either device itself or extensive assistance from your side.

mororocz commented 1 year ago

Thank you for your reply. I would like to ask what kind of extensive assistance you need in order to add support for my keyboard. Could you please provide me with more information?

thomas-louvigne commented 1 year ago

I got the same keyboard as @DaneelReventelov , i am on linux and i have the same problem...

$ lsusb | grep 1189 
Bus 003 Device 003: ID 1189:8840 Acer Communications & Multimedia USB Composite Device

$ sudo ch57x-keyboard-tool --product-id 34880 upload < small-keyboard/3x3-keyboard-mapping.yaml
Error: init keyboard

Caused by:
    Invalid parameter
thomas-louvigne commented 1 year ago

@kriomant Iam sure this mini-keyboard (the 3x3) is near as the other one. I am on linux and i am a (bad) developper, we can take 1 one minute on discord or anything else to debug it, if you want.

jadegamestudio commented 1 year ago

I am also on the same boat. Using this product: https://www.aliexpress.com/item/1005005971998064.html The software @DaneelReventelov somewhat works (i cannot assign null and "number pad ." for some weird reason).

I really prefer using notepad to customize my keys so i can easily switch various keyboard profiles by running a script. I am willing to help with any debugging/assistance to get VID_1189/PID_8840 supported in CH57x keyboard tool.

greggilbert commented 1 year ago

Okay, so I have a similar one - this SIKAI CASE one, to be specific. I took it apart, and it says ANXIN-K6-VT1-LED-V01 on the bottom. Picture here:

20231018_171717

The internet seems to think this is the ch552 or ch552g chipset. Can anyone else look at their devices and see if they show similar markings?

LinSDK commented 1 year ago

I also encountered the same problem (Entity not found) recently while trying to program the keypad, which is odd because it worked fine just a few months back.

This is what I have: Shopee Link

The keypad was detected and I was able to change the keys with the provided app.

Device Manager reports: HID\VID_1189&PID_8890&REV_0000&MI_02&Col01

michelvictor commented 10 months ago

I can't access even installing USBDK

C:\Users\Michel\Desktop>ch57x-keyboard-tool --vendor-id 20812 --product-id 34896 upload < example-mapping.yaml Error: init keyboard

Caused by: Invalid parameter

just-an-ordinary-user commented 10 months ago

Problem

I have a similar problem with my keyboard. I am unable to find the USB device when I try to run the ch57x-keyboard-tool.exe application.

My keyboard

It seems you have some another keyboard model, not ch57x. To add support for your keyboard I need either device itself or extensive assistance from your side.

Any updates on this model support? I have the same model (at least it looks like). Asus Laptop, Manjaro Linux 5.15

$ lsusb | grep 8840 Bus 001 Device 010: ID 1189:8840 Acer Communications & Multimedia USB Composite Device

$ ch57x-keyboard-tool --vendor-id 1189 --product-id 8840 upload < my-mapping.yaml Error: find USB device

Caused by: CH57x keyboard device not found. Use --vendor-id and --product-id to override settings.

poisonintheink commented 9 months ago

I can't access even installing USBDK

C:\Users\Michel\Desktop>ch57x-keyboard-tool --vendor-id 20812 --product-id 34896 upload < example-mapping.yaml Error: init keyboard

Caused by: Invalid parameter

Hey mate,

Hopefully you got it working on your own steam by now but I stumbled across this thread as our devices have the same vendor-id (slightly different product-id, mines 34882)

Anyway, I was able to get it going with the 'New English software is set in the upgrade model-20230815' from here - http://www.videyt.com/en/DownList/1.html

Might be worth having a crack at it, the softwares pretty janky and i'm still figuring out its 'nuances' for what of a better word, like if you dont assign a key it'll remain whatever it was set out of the box (rather than leaving it 'null')

On the plus side i find out it has RGB lights which wasnt advertised (or needed) but its something I guess.

Good luck!

TheBroodian commented 8 months ago

Okay, so I have a similar one - this SIKAI CASE one, to be specific. I took it apart, and it says ANXIN-K6-VT1-LED-V01 on the bottom. Picture here:

20231018_171717

The internet seems to think this is the ch552 or ch552g chipset. Can anyone else look at their devices and see if they show similar markings?

I also have this same device with the same microcontroller. I've been playing around with the source code just to see if I can try to force it, but to no avail (I'm a newb, not a big surprise). I'm not sure if maybe I need to bridge the jumpers to allow programming before trying to upload?

Edit: I got ch57x-keyboard-tool to run using my yaml configuration after including the endpoint-address, despite the microcontroller being a ch552g. However, the macropad does not actually seem to be any different after the fact. I went as far as bridging the programming jumpers and trying again, no change.

d3jong commented 7 months ago

Problem

I have a similar problem with my keyboard. I am unable to find the USB device when I try to run the ch57x-keyboard-tool.exe application.

My keyboard

It seems you have some another keyboard model, not ch57x. To add support for your keyboard I need either device itself or extensive assistance from your side.

I have this exact keypad as well. I saw a merge in #62. Is this keypad now supported?

SteeluzDH commented 2 weeks ago

alright im having this issue now....
CH57x keyboard device not found. Use --vendor-id and --product-id to override settings. now, i cmd'd the connected keyboards got this Caption DeviceID HID Keyboard Device HID\VID_046D&PID_C332&MI_01&COL01\8&98EB17B&0&0000 HID Keyboard Device HID\VID_6D80&PID_DC81&MI_00&COL01\7&670EC02&0&0000 HID Keyboard Device HID\VID_05AC&PID_0250&MI_00\7&341C6B1B&0&0000 HID Keyboard Device HID\VID_6D80&PID_DC81&MI_01\7&2A4829C4&0&0000 HID Keyboard Device HID\VID_05AC&PID_0250&MI_01&COL03\7&20EC4EDD&0&0002

which device is it? what value does it require and how do i stop myself from face bonking my macro keypad?