kriomant / ch57x-keyboard-tool

Utility for programming ch57x small keyboard
MIT License
483 stars 59 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 11 months 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 11 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?

LinSDK commented 11 months 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 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

just-an-ordinary-user commented 9 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 8 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 6 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 5 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?