-
Notifications
You must be signed in to change notification settings - Fork 69
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
Supporting 1189:8840 #60
Comments
Product ID is different. Can it be programmed with some software? |
There is some Windows software which is supposed to work, and I tried to
run it on Wine with no success. I'll try it on a real windows machine. I
just wanted to avoid running potential malware.
…On Sun, 25 Feb 2024, 06:25 Mikhail Trishchenkov, ***@***.***> wrote:
Product ID is different. Can it be programmed with some software?
If yes, it's possible to reverse-engineer it using wireshark + usb plugin.
—
Reply to this email directly, view it on GitHub
<#60 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAAVCZZ2Z4YF2XRYOASNK3YVLDNPAVCNFSM6AAAAABDYKRP5WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRSHAYTQNJVGE>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Hi, Interesting because the Keyboard looks identical to that of the readme.. Anything we could try? |
I think I figured it out. The interface which is being used by default (0)
is not the right one on my device. If I change that to 1 in the code, the
device starts accepting instructions. However, the protocol also seems
slightly different, from what I see in the Wireshark dumps. More news later.
…On Sun, 25 Feb 2024, 18:25 djipaul, ***@***.***> wrote:
Hi,
Same issue here. Unable to programm it because of "Invalid Parameter"
message.. Device Manger shows exactly the same Product ID than @pferreir
<https://github.com/pferreir>.
(https://imgur.com/a/uPrm2RG)
Interesting because the Keyboard looks identical to that of the readme..
(https://imgur.com/a/Bxxx5mN)
Anything we could try?
—
Reply to this email directly, view it on GitHub
<#60 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAAVCZHCEBGVDUGXR3RDB3YVNXXNAVCNFSM6AAAAABDYKRP5WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRTGAYDMMJZGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
@djipaul could you try compiling and running this branch? You need to run it like so:
It does work fine for me, so that's already a win. |
Would be happy to test it, although I can not compil it myself. So would it be possible to give me a prebuilt version wich I could run? Thanks! |
Hello there!
I tried to run the following with the last release:
And then I found @pferreir 's post and tried
Can't go any further as I don't want to download the shady PC tool :( |
You need to compile my branch, otherwise it won't work.
…On Mon, 26 Feb 2024, 16:00 Hugues Chastel, ***@***.***> wrote:
Hello there!
I'm stuck like you with my mac and the new product ID:
Product ID: 0x8840
Vendor ID: 0x1189 (Trisat Industrial Co., Ltd.)
Version: 1.00
Serial Number: CD70134330363135
Speed: Up to 12 Mb/s
Location ID: 0x02100000 / 2
Current Available (mA): 500
Current Required (mA): 100
Extra Operating Current (mA): 0
I tried to run the following with the last release:
➜ ch57x-keyboard-tool-universal-apple-darwin sudo ch57x-keyboard-tool --vendor-id 0x1189 --product-id 0x8840 upload < your-config.yaml
Error: init keyboard
Caused by:
Invalid parameter
And then I found @pferreir <https://github.com/pferreir> 's post and tried
➜ ch57x-keyboard-tool git:(master) ✗ cargo run -- --vendor-id 0x1189 --product-id 0x8840 --endpoint-address 4 --interface-number 0 upload < your-config.yaml
Finished dev [unoptimized + debuginfo] target(s) in 0.05s
Running `target/debug/ch57x-keyboard-tool --vendor-id 0x1189 --product-id 0x8840 --endpoint-address 4 --interface-number 0 upload`
error: Found argument '--interface-number' which wasn't expected, or isn't valid in this context
Usage: ch57x-keyboard-tool <--vendor-id <VENDOR_ID>|--product-id <PRODUCT_ID>|--address <ADDRESS>|--endpoint-address <ENDPOINT_ADDRESS>> <COMMAND>
For more information try '--help'
Can't go any further as I don't want to download the shady PC tool :(
—
Reply to this email directly, view it on GitHub
<#60 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAAVC77ADZ3BUKHIH4RO6LYVSPRVAVCNFSM6AAAAABDYKRP5WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRUGM2TAOBUGQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
That's what I did, I cloned your branch and ran this. |
my bad, I was on master. |
Glad to hear! I will have to fix a few things, and then if @kriomant agrees, I will open a PR. |
@hchastelaramis could you explain what you have done, to compile that branch? Would be amazing. |
Sure!
And then you can run the command directly to compile and run:
|
Only problem here, but I don't know if it's related, |
I'm ready to incorporate support for another keyboard variation, but not the way used in branch. Too many copy-paste, no automatic keyboard detection. You may open PR and we'll polish code there. |
@hchastelaramis Thanks for that! Yes same thing for me, it worked until I unplug the Keyboard, than the Mapping seems to have gone. Until that is works perfectly fine. Hope that this also can be fixed. |
@kriomant glad to do automatic detection. Not sure what you mean with "copy-paste", but I'll open the PR and we can discuss how to proceed. |
@djipaul @hchastelaramis I tried plugging and unplugging and the settings seem to persist... maybe an issue with your hardware? |
Maybe @hchastelaramis can say something different, but for me the mapping is always gone after I unplug the keyboard. Tried now to flash on 2 different PCs but the problem still exists. |
@pferreir tried to compile on Linux and got error ❯ cargo run -- --vendor-id 0x1189 --product-id 0x8840 --endpoint-address 4 --interface-number 0 upload
Compiling rustix v0.36.6
error[E0554]: `#![feature]` may not be used on the stable release channel
--> /home/dannkunt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustix-0.36.6/src/lib.rs:99:26
|
99 | #![cfg_attr(rustc_attrs, feature(rustc_attrs))]
| ^^^^^^^^^^^^^^^^^^^^
error[E0554]: `#![feature]` may not be used on the stable release channel
--> /home/dannkunt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustix-0.36.6/src/lib.rs:116:5
|
116 | feature(core_intrinsics)
| ^^^^^^^^^^^^^^^^^^^^^^^^
error[E0554]: `#![feature]` may not be used on the stable release channel
--> /home/dannkunt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustix-0.36.6/src/lib.rs:116:13
|
116 | feature(core_intrinsics)
| ^^^^^^^^^^^^^^^
For more information about this error, try `rustc --explain E0554`.
error: could not compile `rustix` (lib) due to 3 previous errors |
@pferreir I has similar model one with vendor-id 0x514c and product-id 0x8842 buttons is work fine (I think so, I haven't tested it in detail yet.). but on knobs It hasn't been programmed. it still be factory bind. any idea. |
@EagleonePrimo : i got the same, if it works, tell me ! |
My work(redirection to another driver). It is 8442 |
I tested everything I could. No luck It only work on first layer of key and try to rotate orientation and it completely broken. |
@EagleonePrimo no idea. We'd need to see what is being transmitted in the wire. I set up a VM with Windows and then used wireshark to sniff USB traffic while using the "official" programming tool. It's not a hard thing to do, you could just give us a dump of the data and that would be enough to figure out what is going on. |
@EagleonePrimo What's in your mapping.yaml. My device with same params working. Try mine and report does it work (remove .txt) |
@pferreir thank you with your PR I was able to use this 5×3 with 3 knobs device: |
sorry for this late. but same result. it only work on first layer of config other layer still factory config. |
I want to do that. But I don't have enough time to investigate in detail. I hope to have some free time to do it. |
Did you manage to fix this in the end? I'm experiencing the same issue. |
@pferreir Thank you for sharing your branch! I used it for my 1189:8842 device (4x3 keys + 2 knobs) with the help of this thread and it worked for all the keys and knobs. Additionally, it was able to retain the programmed keys after I unplugged it, though I'm not sure if the fact it is actively connected via bluetooth has anything to do with that. Maybe this is something device specific. The only issue I encountered is that I am mapping single modifier keys, intending to use them simultaneously with other keys, but that doesn't work. For example, I map key 1 to shift and key 2 to 'a'. Holding key 1 with key 2 won't give me uppercase 'A' because the up event for key 1 is forcefully triggered the moment another key is pressed (the log shows key1 down -> key1 up -> key2 down -> key2 up). I am on a mac so I ended up going back to the original tool linked in the product page by running it in Parallels, which allowed programmed keys to be used simultaneously. Wondering if anyone has the same experience and if there's a solution to that somewhere. |
Any follow-up on this issue? I have the 4x3 with 2 knobs keyboard, but it following the orientations in this thread doesn`t seem to work in my case. Tried in both @pferreir and @kriomant branches, but it does not seem to recognize my keyboard... Here is what shows up in my terminal:
if I try to compile the code without inserting parameters, i get this:
...Even though the keyboard exists in the USB devices index as
|
to all those who have reported the issue about the device losing programming when disconnected, i have a fix for that. i will incorporate that fix when i finish the reading of the configuration of the device that i'm currently working on referenced here |
until code changes get refactored and merged in, you can try using this tool. https://github.com/kamaaina/macropad_tool |
I added the "termination" signal you've been adding to a quick fork of this repo @kamaaina, but couldn't make my configuration persisting when unplugging. Where did you find this signal? wireshark? Where they really 65 long (tried 64 without success neither tho)? Thanks for this nice repo @kriomant , pretty cool! |
@drgorillamd - did my tool work for you? what type of macropad do you have? |
So it's even weirder, I'm on 1189:8840 too (so kinda relevant to this issue) and noticed:
|
right, that is one of the many changes i've made in my repo as you can see it here All programming of keys should be sent with 0xfd Therefore, I was asking if you tried compiling and using my repo to make your changes and see if they persist? It works for me and my macropads and since you have the same one, it should work for you as well. |
@snowSBA I fixed this in the PR #77 feel free to check it out! |
As mentioned, this byte didn't change anything noticeable on my side (both 0xfd and 0xfe are part of persisting config, You've made some nice additions @kamaaina , why not opening some PR with them:)? |
@Trobeloo Can you please share the mapping you used? It is failing for me when I try to upload the example one with rows and columns changed. I have exactly the same one but it fails to process UPDATE: Fixed it there was a typo it seems. last row and layer 2 and 3 are not saved after switching from usb-c connection to usb-dongle connection. I see there were similar reports before. UPDATE 2: I used @kamaaina version from macropad-tool and it worked perfectly even after power cycles and also have more features like ready current values and detailed led as per colors. Is there a way to keep led on even when using wirelessly? I Don't think that would be possible, so I found a hack, provide power to the macropad using power bank while using it wirelessly. :D |
Just wanted to say that for me this device identifies itself as |
I have succesfully used this tool to program my Aliexpress macro keypad: https://nl.aliexpress.com/item/1005006437127027.html?spm=a2g0o.order_list.order_list_main.53.21ef79d2ai8hjG&gatewayAdapt=glo2nld All functions work as expected, so first of all big thanks kromiant!! great work it is so much better not having to use their (probable) malware SW package. At first I didnt install the USBDK tool which seems to be neccesary. The only thing which does not seem to work on this one is the RGB led control. This keyboard should have RGB and I can see the Led`s below the buttons however I never seen them on so far. |
I have one of those, which don't seem to work with this tool.
Any way I can figure out what is going on?
The lettering on the MCU seems to have been sanded off, unfortunately.
Is there anything I can do to help reverse-engineer this variant?
The text was updated successfully, but these errors were encountered: