Hey @obra , this is Daniel from keyboard.gg!
Sorry to bug, but I got a report from a user in my Discord that upgrading his firmware of his Atreus leads to it no longer working with my Edgeguard adapter. I decided to do a deep dive to see what exactly the issue is and if I can update my code to support your changes.

After diving in, I can confirm that at least the latest firmware version (0.92.1+94) has changed it's behavior and my calls to GET_DESCRIPTOR are no longer returning as expected (appearing to be timeouts possibly?) Downgrading the firmware to 0.92.0+77 fixes this issue, as videod below.
(Make sure to unmute!)
Part 1 🎥
Part 2 🎥
Part 3 🎥
Part 4 🎥
I noticed a changelog update,
USB protocol Fixes for both AVR-based and GD32-based keyboards that
may eliminate "communications timeout" issues when talking to
Chrysalis from Taylor Yu code@argon.blue
This in my mind seems low-level enough that it could be the source of what I'm seeing. I'd be happy to share how my adapter is connecting with keyboards in case there's any wonder if it's the source of this issue, but this is also the only time I've seen this behavior pop up on any of the keyboards I've tested.
Going to ping @tlyu in this thread as well in hopes to hear what could be the problem. I think this could be related to this PR.
Update as well: When connecting to Windows, I've confirmed there is a timeout error during enumeration before the keyboard even begins to start working. Unsure if there's some deeper root cause here, but the older firmware didn't have this issue.
| Older firmware (no timeouts, just responses.) |
Newer firmware (timeouts, with a response) |
 |
 |
Attaching more videos & Beagle USB captures (each time, the "a" key was pressed repeatedly before disconnecting and stopping.)
🎥 Timeout when plugged directly into Windows
🎥 Timout when plugged into Edgeguard
atreus-0.92.0+77-vs-0.92.1+94-tdc-captures.zip
Hey @obra , this is Daniel from keyboard.gg!
Sorry to bug, but I got a report from a user in my Discord that upgrading his firmware of his Atreus leads to it no longer working with my Edgeguard adapter. I decided to do a deep dive to see what exactly the issue is and if I can update my code to support your changes.
After diving in, I can confirm that at least the latest firmware version (
0.92.1+94) has changed it's behavior and my calls toGET_DESCRIPTORare no longer returning as expected (appearing to be timeouts possibly?) Downgrading the firmware to0.92.0+77fixes this issue, as videod below.(Make sure to unmute!)
Part 1 🎥
Part 2 🎥
Part 3 🎥
Part 4 🎥
I noticed a changelog update,
This in my mind seems low-level enough that it could be the source of what I'm seeing. I'd be happy to share how my adapter is connecting with keyboards in case there's any wonder if it's the source of this issue, but this is also the only time I've seen this behavior pop up on any of the keyboards I've tested.
Going to ping @tlyu in this thread as well in hopes to hear what could be the problem. I think this could be related to this PR.
Update as well: When connecting to Windows, I've confirmed there is a timeout error during enumeration before the keyboard even begins to start working. Unsure if there's some deeper root cause here, but the older firmware didn't have this issue.
Attaching more videos & Beagle USB captures (each time, the "a" key was pressed repeatedly before disconnecting and stopping.)
🎥 Timeout when plugged directly into Windows
🎥 Timout when plugged into Edgeguard
atreus-0.92.0+77-vs-0.92.1+94-tdc-captures.zip