Closed DramaTisxh closed 3 months ago
@DramaTisxh have you confirmed that this keyboard is based on a BYK916? I saw that other RK keyboards like some versions of the RK61 are based on a BYK916/SH68F90, but no mention of RK68.
In case it is a BYK916, I'm working on a custom (qmk-like) firmware for keyboards that are based on SH68F90/SH68F90A in https://github.com/carlossless/sh68f90a-experiments, although my initial aim is to only support the nuphy-air60 v1 which I own myself.
There is "BYK916" printed on the mcu. I would be willing to learn and invest time into also porting your project to the RK68 etc., but as I said currently my knowledge is very limited regarding that stuff (I'm usually home in java - nothing regarding hardware).
@DramaTisxh can you share the logs you get from trying to run sinowealth-kb-tool
on your device?
It's possible that your device doesn't have an ISP bootloader or uses a different method to boot into it. We would need to look at a full dump of the firmware to make sure. If you have an arduino handy and comfortable wiring up JTAG pins you could try using https://github.com/gashtaan/sinowealth-8051-dumper to get that dump.
I have an esp32. I don't know if it can be done with that but I am willing to try. Maybe there is even some kind of software to run arduino code on an esp32 or similar so that I don't have to do any work. I'll take a look at it in the next couple of days. Maybe I'll buy an arduino if I cannot do it with the esp and find one for cheap. Thank you so far for your help and your work. I admire what you did so far😁 Oh and I'll send you the logs in a sec @carlossless
Edit:
Looking for vId:0x258a pId:0x00a9 2023-11-06T20:04:47.907Z DEBUG [sinowealth_kb_tool::isp] Opening: "\\?\HID#VID_258A&PID_00A9&MI_01&Col05#7&288676a8&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}" 2023-11-06T20:04:47.913Z INFO [sinowealth_kb_tool::isp] Found Regular device. Entering ISP mode... 2023-11-06T20:04:47.915Z INFO [sinowealth_kb_tool::isp] Regular device not found. Trying ISP device... 2023-11-06T20:04:48.480Z INFO [sinowealth_kb_tool::isp] Retrying... Attempt 2/10 2023-11-06T20:04:48.525Z INFO [sinowealth_kb_tool::isp] Looking for vId:0x258a pId:0x00a9 2023-11-06T20:04:48.526Z DEBUG [sinowealth_kb_tool::isp] Opening: "\\?\HID#VID_258A&PID_00A9&MI_01&Col05#7&288676a8&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}" 2023-11-06T20:04:48.532Z INFO [sinowealth_kb_tool::isp] Found Regular device. Entering ISP mode... 2023-11-06T20:04:48.533Z INFO [sinowealth_kb_tool::isp] Regular device not found. Trying ISP device... 2023-11-06T20:04:49.079Z INFO [sinowealth_kb_tool::isp] Retrying... Attempt 3/10 [...] 2023-11-06T20:04:58.379Z ERROR [sinowealth_kb_tool] Device not found
Yep, nothing unusual about the logs. Let me know if you can manage to get a firmware dump from your device!
I think I'll buy an arduino for cheap on aliexpress. I'll give an update when I got something out of the mcu. I guess it's probably gonna take a month alone for shipping tho
@DramaTisxh I believe I fixed the issue that you were facing in #26. Would you mind giving it another try with the latest version of this tool?
@carlossless
firmware_size: 61440,
bootloader_size: 4096,
page_size: 2048,
vendor_id: 0x258a,
product_id: 0x00a9,
isp_index: 0,
reading seems to work🎉
@DramaTisxh great! Can you please read the bootloader with --bootloader
and share the MD5 (checksum) value?
I stumbled here hoping to make my ANSI RK68/855 white led 2021/02/26 REV:01
useful some day, cause the stock firmware is so bad I can't use if for anything.
This tool works well. I dumped backups, flashed the completely wrong smk version cause I was feeling brave and this kb is already dead to me. It blinded me, some keys worked, but matrix was obviously completely wrong, restored backup, didn't brick anything.
The bootloader for this ANSI version is cfc8661da8c9d7e351b36c0a763426aa
, chip BYK901
, vendor 258a
, product 008b
.
I have no idea how to make an smk layout for this, but I hope someone will some day.
Thanks for the report @Dregu!
As a sidenote - I just came to realize how many different versions of RK68 actually exist out there. This list in the rangoli project is very useful.
I have no idea how to make an smk layout for this, but I hope someone will some day.
It's actually just a matter of figuring out which rows and columns of the key matrix (and led matrix) are connected to which pins on the MCU.
It should be doable with at least an understanding of basic eletronics (diodes, transistors, PWM led control) and a multimeter with a continuity test function.
Sorry if this is useless information
I think it can't go into isp mode for whatever reason. Since I'm not really into all the stuff you did I have no idea what can be done😥
(I saw a few people wanting qmk on their rk keyboards with the BYK916 - including me - and I didn't find a way to do it so I thought your project is the closest there is to it, yet I'm stuck again) I just want to have layers on my keyboard without needing any software☹️
pub const PART_RK_68_ISO_RETURN: Part = Part { flash_size: ?, bootloader_size: ?, page_size: ?, vendor_id: 0x258a, product_id: 0x00a9, };