From 4107b2601a5f899cbc9010eb55448a1d840bef8c Mon Sep 17 00:00:00 2001 From: Karolis Stasaitis Date: Fri, 4 Sep 2026 09:36:56 +0200 Subject: [PATCH 1/7] Record verified macOS and Windows bootloader support --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3025019..93fed66 100644 --- a/README.md +++ b/README.md @@ -134,13 +134,13 @@ sinowisp write \ | ISP MD5 | Windows | macOS | Linux | | -------------------------------- | -------- | -------- | ----- | -| 13df4ce2933f9654ffef80d6a3c27199 | ? | fail[^1] | ok | +| 13df4ce2933f9654ffef80d6a3c27199 | ok | ok | ok | | 2d169670eae0d36eae8188562c1f66e8 | ok | ? | ok | | 3e0ebd0c440af5236d7ff8872343f85d | ok | ok | ok | -| 571ea8b315654c39046e4cc3b1e43777 | ok | ? | ok | +| 571ea8b315654c39046e4cc3b1e43777 | ok | ok | ok | | 6dac0d2288f2a3d83b5703d979c114ec | ok | ? | ? | | cfc8661da8c9d7e351b36c0a763426aa | ok | fail[^1] | ok | -| e57490acebcaabfcff84a0ff013955d9 | ok | fail[^1] | ok | +| e57490acebcaabfcff84a0ff013955d9 | ok | ok | ok | [^1]: macOS does not recognize the composite device as an HID device From a3fd4fb0ee2392f421f91f4f3a2723ed3f891e5d Mon Sep 17 00:00:00 2001 From: Karolis Stasaitis Date: Fri, 4 Sep 2026 10:16:29 +0200 Subject: [PATCH 2/7] Record macOS bootloader support verified by swapping bootloaders on the Air60 --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 93fed66..fecb63f 100644 --- a/README.md +++ b/README.md @@ -135,15 +135,13 @@ sinowisp write \ | ISP MD5 | Windows | macOS | Linux | | -------------------------------- | -------- | -------- | ----- | | 13df4ce2933f9654ffef80d6a3c27199 | ok | ok | ok | -| 2d169670eae0d36eae8188562c1f66e8 | ok | ? | ok | +| 2d169670eae0d36eae8188562c1f66e8 | ok | ok | ok | | 3e0ebd0c440af5236d7ff8872343f85d | ok | ok | ok | | 571ea8b315654c39046e4cc3b1e43777 | ok | ok | ok | | 6dac0d2288f2a3d83b5703d979c114ec | ok | ? | ? | -| cfc8661da8c9d7e351b36c0a763426aa | ok | fail[^1] | ok | +| cfc8661da8c9d7e351b36c0a763426aa | ok | ok | ok | | e57490acebcaabfcff84a0ff013955d9 | ok | ok | ok | -[^1]: macOS does not recognize the composite device as an HID device - ## Prerequisites ### Linux From c8a079f984f575889a2ee45cec30f613e02d1425 Mon Sep 17 00:00:00 2001 From: Karolis Stasaitis Date: Fri, 4 Sep 2026 10:37:26 +0200 Subject: [PATCH 3/7] Add MCU column to the bootloader support table --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index fecb63f..c4125d0 100644 --- a/README.md +++ b/README.md @@ -132,15 +132,15 @@ sinowisp write \ ### Platforms -| ISP MD5 | Windows | macOS | Linux | -| -------------------------------- | -------- | -------- | ----- | -| 13df4ce2933f9654ffef80d6a3c27199 | ok | ok | ok | -| 2d169670eae0d36eae8188562c1f66e8 | ok | ok | ok | -| 3e0ebd0c440af5236d7ff8872343f85d | ok | ok | ok | -| 571ea8b315654c39046e4cc3b1e43777 | ok | ok | ok | -| 6dac0d2288f2a3d83b5703d979c114ec | ok | ? | ? | -| cfc8661da8c9d7e351b36c0a763426aa | ok | ok | ok | -| e57490acebcaabfcff84a0ff013955d9 | ok | ok | ok | +| ISP MD5 | MCU | Windows | macOS | Linux | +| -------------------------------- | ------------------ | -------- | -------- | ----- | +| 13df4ce2933f9654ffef80d6a3c27199 | SH68F881 | ok | ok | ok | +| 2d169670eae0d36eae8188562c1f66e8 | SH68F90 / SH68F90A | ok | ok | ok | +| 3e0ebd0c440af5236d7ff8872343f85d | SH68F90A | ok | ok | ok | +| 571ea8b315654c39046e4cc3b1e43777 | SH68F89 | ok | ok | ok | +| 6dac0d2288f2a3d83b5703d979c114ec | SH68F902A | ok | ? | ? | +| cfc8661da8c9d7e351b36c0a763426aa | SH68F90 / SH68F90A | ok | ok | ok | +| e57490acebcaabfcff84a0ff013955d9 | SH68F881 | ok | ok | ok | ## Prerequisites From 2e2bd1059074b2baebd7b21f04e1889858d98abf Mon Sep 17 00:00:00 2001 From: Karolis Stasaitis Date: Fri, 4 Sep 2026 10:41:01 +0200 Subject: [PATCH 4/7] Add bootloader size column and widen SH68F90A attribution --- README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index c4125d0..f00a755 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ sinowisp write \ ### Keyboards | Model | ISP MD5 | MCU | MCU Label | Tested Read | Tested Write | -| ----- | ------- | --- | --------- | ----------- | ------------ | +| -------------------------------- | ------------------ | ---- | -------- | -------- | ----- | | [AOKO K101](https://aokowireless.com/product/k101-usb-c-wired-mechanical-keyboard/) | cfc8661da8c9d7e351b36c0a763426aa | SH68F90A | BYK901 | ✅ | ✅ | | [Aula F75](https://www.aulastar.com/gaming-keyboard/176.html) | 3e0ebd0c440af5236d7ff8872343f85d | SH68F90A | BYK916 | ✅ | ✅ | | [Aula F87](https://www.aulastar.com/index.php/gaming-keyboard/157.html) | 3e0ebd0c440af5236d7ff8872343f85d | SH68F90A (?) | BYK916 (?) | ✅ | ✅ | @@ -124,7 +124,7 @@ sinowisp write \ ### Mice | Model | ISP MD5 | MCU | MCU Label | Tested Read | Tested Write | -| ----- | ------- | --- | --------- | ----------- | ------------ | +| -------------------------------- | ------------------ | ---- | -------- | -------- | ----- | | [Glorious Model O](https://web.archive.org/web/20220609205659mp_/https://www.gloriousgaming.com/products/glorious-model-o-black) | 571ea8b315654c39046e4cc3b1e43777 | SH68F89 | BY8948 | ✅ | ✅ | | [Trust GXT 960](https://www.trust.com/en/product/23758-gxt-960-graphin-ultra-lightweight-gaming-mouse) | 13df4ce2933f9654ffef80d6a3c27199 | SH68F881 | BY8801 | ✅ | ✅ | @@ -132,15 +132,15 @@ sinowisp write \ ### Platforms -| ISP MD5 | MCU | Windows | macOS | Linux | -| -------------------------------- | ------------------ | -------- | -------- | ----- | -| 13df4ce2933f9654ffef80d6a3c27199 | SH68F881 | ok | ok | ok | -| 2d169670eae0d36eae8188562c1f66e8 | SH68F90 / SH68F90A | ok | ok | ok | -| 3e0ebd0c440af5236d7ff8872343f85d | SH68F90A | ok | ok | ok | -| 571ea8b315654c39046e4cc3b1e43777 | SH68F89 | ok | ok | ok | -| 6dac0d2288f2a3d83b5703d979c114ec | SH68F902A | ok | ? | ? | -| cfc8661da8c9d7e351b36c0a763426aa | SH68F90 / SH68F90A | ok | ok | ok | -| e57490acebcaabfcff84a0ff013955d9 | SH68F881 | ok | ok | ok | +| ISP MD5 | MCU | Size | Windows | macOS | Linux | +| -------------------------------- | ------------------ | ---- | -------- | -------- | ----- | +| 13df4ce2933f9654ffef80d6a3c27199 | SH68F881 | 4096 | ok | ok | ok | +| 2d169670eae0d36eae8188562c1f66e8 | SH68F90 / SH68F90A | 4096 | ok | ok | ok | +| 3e0ebd0c440af5236d7ff8872343f85d | SH68F90 / SH68F90A | 4096 | ok | ok | ok | +| 571ea8b315654c39046e4cc3b1e43777 | SH68F89 | 4096 | ok | ok | ok | +| 6dac0d2288f2a3d83b5703d979c114ec | SH68F902A | 3072 | ok | ? | ? | +| cfc8661da8c9d7e351b36c0a763426aa | SH68F90 / SH68F90A | 4096 | ok | ok | ok | +| e57490acebcaabfcff84a0ff013955d9 | SH68F881 | 4096 | ok | ok | ok | ## Prerequisites From 9f6d6e7df7faa2e4f1cffd9bdf5a76e0c7398f16 Mon Sep 17 00:00:00 2001 From: Karolis Stasaitis Date: Fri, 4 Sep 2026 11:45:39 +0200 Subject: [PATCH 5/7] Order the bootloader table by MCU --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f00a755..2342247 100644 --- a/README.md +++ b/README.md @@ -135,12 +135,12 @@ sinowisp write \ | ISP MD5 | MCU | Size | Windows | macOS | Linux | | -------------------------------- | ------------------ | ---- | -------- | -------- | ----- | | 13df4ce2933f9654ffef80d6a3c27199 | SH68F881 | 4096 | ok | ok | ok | +| e57490acebcaabfcff84a0ff013955d9 | SH68F881 | 4096 | ok | ok | ok | +| 571ea8b315654c39046e4cc3b1e43777 | SH68F89 | 4096 | ok | ok | ok | | 2d169670eae0d36eae8188562c1f66e8 | SH68F90 / SH68F90A | 4096 | ok | ok | ok | | 3e0ebd0c440af5236d7ff8872343f85d | SH68F90 / SH68F90A | 4096 | ok | ok | ok | -| 571ea8b315654c39046e4cc3b1e43777 | SH68F89 | 4096 | ok | ok | ok | -| 6dac0d2288f2a3d83b5703d979c114ec | SH68F902A | 3072 | ok | ? | ? | | cfc8661da8c9d7e351b36c0a763426aa | SH68F90 / SH68F90A | 4096 | ok | ok | ok | -| e57490acebcaabfcff84a0ff013955d9 | SH68F881 | 4096 | ok | ok | ok | +| 6dac0d2288f2a3d83b5703d979c114ec | SH68F902A | 3072 | ok | ? | ? | ## Prerequisites From d02c7b6a5f51496fdb7531385cc59437e092ce8b Mon Sep 17 00:00:00 2001 From: Karolis Stasaitis Date: Fri, 4 Sep 2026 11:58:47 +0200 Subject: [PATCH 6/7] Add per-bootloader notes to the support table --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 2342247..8dd78c3 100644 --- a/README.md +++ b/README.md @@ -132,15 +132,15 @@ sinowisp write \ ### Platforms -| ISP MD5 | MCU | Size | Windows | macOS | Linux | -| -------------------------------- | ------------------ | ---- | -------- | -------- | ----- | -| 13df4ce2933f9654ffef80d6a3c27199 | SH68F881 | 4096 | ok | ok | ok | -| e57490acebcaabfcff84a0ff013955d9 | SH68F881 | 4096 | ok | ok | ok | -| 571ea8b315654c39046e4cc3b1e43777 | SH68F89 | 4096 | ok | ok | ok | -| 2d169670eae0d36eae8188562c1f66e8 | SH68F90 / SH68F90A | 4096 | ok | ok | ok | -| 3e0ebd0c440af5236d7ff8872343f85d | SH68F90 / SH68F90A | 4096 | ok | ok | ok | -| cfc8661da8c9d7e351b36c0a763426aa | SH68F90 / SH68F90A | 4096 | ok | ok | ok | -| 6dac0d2288f2a3d83b5703d979c114ec | SH68F902A | 3072 | ok | ? | ? | +| ISP MD5 | MCU | Size | Windows | macOS | Linux | Notes | +| -------------------------------- | ------------------ | ---- | -------- | -------- | ----- | ----------------------------------------------------------- | +| 13df4ce2933f9654ffef80d6a3c27199 | SH68F881 | 4096 | ok | ok | ok | byte-identical to `e57490ac` apart from 5 bytes at `0x0fa0` | +| e57490acebcaabfcff84a0ff013955d9 | SH68F881 | 4096 | ok | ok | ok | byte-identical to `13df4ce2` apart from 5 bytes at `0x0fa0` | +| 571ea8b315654c39046e4cc3b1e43777 | SH68F89 | 4096 | ok | ok | ok | enumerates as `0603:1021`; requires a byte transform | +| 2d169670eae0d36eae8188562c1f66e8 | SH68F90 / SH68F90A | 4096 | ok | ok | ok | | +| 3e0ebd0c440af5236d7ff8872343f85d | SH68F90 / SH68F90A | 4096 | ok | ok | ok | only bootloader with USB strings (`Gaming KB`) | +| cfc8661da8c9d7e351b36c0a763426aa | SH68F90 / SH68F90A | 4096 | ok | ok | ok | | +| 6dac0d2288f2a3d83b5703d979c114ec | SH68F902A | 3072 | ok | ? | ? | `2d169670` relinked to a 0x3000 base | ## Prerequisites From 0d786f3e8d4389d2a15ca789498bcc8898ebdcdb Mon Sep 17 00:00:00 2001 From: Karolis Stasaitis Date: Fri, 4 Sep 2026 12:17:18 +0200 Subject: [PATCH 7/7] Note the interrupt IN endpoint on the 3e0ebd0c bootloader --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 8dd78c3..07146ff 100644 --- a/README.md +++ b/README.md @@ -132,15 +132,15 @@ sinowisp write \ ### Platforms -| ISP MD5 | MCU | Size | Windows | macOS | Linux | Notes | -| -------------------------------- | ------------------ | ---- | -------- | -------- | ----- | ----------------------------------------------------------- | -| 13df4ce2933f9654ffef80d6a3c27199 | SH68F881 | 4096 | ok | ok | ok | byte-identical to `e57490ac` apart from 5 bytes at `0x0fa0` | -| e57490acebcaabfcff84a0ff013955d9 | SH68F881 | 4096 | ok | ok | ok | byte-identical to `13df4ce2` apart from 5 bytes at `0x0fa0` | -| 571ea8b315654c39046e4cc3b1e43777 | SH68F89 | 4096 | ok | ok | ok | enumerates as `0603:1021`; requires a byte transform | -| 2d169670eae0d36eae8188562c1f66e8 | SH68F90 / SH68F90A | 4096 | ok | ok | ok | | -| 3e0ebd0c440af5236d7ff8872343f85d | SH68F90 / SH68F90A | 4096 | ok | ok | ok | only bootloader with USB strings (`Gaming KB`) | -| cfc8661da8c9d7e351b36c0a763426aa | SH68F90 / SH68F90A | 4096 | ok | ok | ok | | -| 6dac0d2288f2a3d83b5703d979c114ec | SH68F902A | 3072 | ok | ? | ? | `2d169670` relinked to a 0x3000 base | +| ISP MD5 | MCU | Size | Windows | macOS | Linux | Notes | +| -------------------------------- | ------------------ | ---- | -------- | -------- | ----- | --------------------------------------------------------------------------- | +| 13df4ce2933f9654ffef80d6a3c27199 | SH68F881 | 4096 | ok | ok | ok | byte-identical to `e57490ac` apart from 5 bytes at `0x0fa0` | +| e57490acebcaabfcff84a0ff013955d9 | SH68F881 | 4096 | ok | ok | ok | byte-identical to `13df4ce2` apart from 5 bytes at `0x0fa0` | +| 571ea8b315654c39046e4cc3b1e43777 | SH68F89 | 4096 | ok | ok | ok | enumerates as `0603:1021`; requires a byte transform | +| 2d169670eae0d36eae8188562c1f66e8 | SH68F90 / SH68F90A | 4096 | ok | ok | ok | | +| 3e0ebd0c440af5236d7ff8872343f85d | SH68F90 / SH68F90A | 4096 | ok | ok | ok | only bootloader with USB strings (`Gaming KB`) and an interrupt IN endpoint | +| cfc8661da8c9d7e351b36c0a763426aa | SH68F90 / SH68F90A | 4096 | ok | ok | ok | | +| 6dac0d2288f2a3d83b5703d979c114ec | SH68F902A | 3072 | ok | ? | ? | `2d169670` relinked to a 0x3000 base | ## Prerequisites