Skip to content
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

Original Model01 keyboard with original firmware can't use Chrysalis #1335

Open
belden opened this issue Apr 2, 2024 · 13 comments
Open

Original Model01 keyboard with original firmware can't use Chrysalis #1335

belden opened this issue Apr 2, 2024 · 13 comments
Labels
bug Something isn't working

Comments

@belden
Copy link

belden commented Apr 2, 2024

Describe the bug

This is a continuation of #1034.

Chrysalis now runs in-browser using WebSerial and WebUSB and this functionality has been rewritten, so I'm closing out this issue as obsolete. Please don't hesitate to open a new issue if https://chrysalis.keyboard.io exhibits the same behavior

Originally posted by @obra in #1034 (comment)

To Reproduce
Steps to reproduce the behavior:

  1. Attach a Model01 which has never had a firmware update.
  2. Visit https://chrysalis.keyboard.io/.
  3. Scroll to the bottom and click [Connect]

Expected behavior

The configuration tool should successfully read data from my keyboard and present a configuration UI.

What actually happens is that the [Connect] button is replaced with a loading spinner which never resolves. Various errors are logged to the browser console.

Screenshots

n/a

Desktop (please complete the following information):

  • OS: [OSX Sonoma 14.4]
  • Chrysalis Version: [2024.0318.1913]

Additional context

See also #1034

My underlying goal is really simple; I keep accidentally bumping Fn-n, which acts as mute 🔇. I want to just turn that into a volume-down control. This was an issue for me ~2 years ago when I opened issue 1034, then stopped being an issue when I switched from OSX to Linux. I'm back on OSX again, so here I am with my same old Model01, trying to disable the mute switch! 🤣

@belden belden added the bug Something isn't working label Apr 2, 2024
@belden
Copy link
Author

belden commented Apr 2, 2024

I wasn't able to create the debug-bundle as described in the bug-issue template. Here is a copy of the javascript console as suggested as a fall-back.

chrysalis.keyboard.io-1712089350852.log

@belden
Copy link
Author

belden commented Apr 2, 2024

I downloaded and ran [email protected] via

https://github.com/keyboardio/Chrysalis/releases/download/v0.13.3/Chrysalis-0.13.3-universal.dmg 

Like the web tool, the local electron app was unable to connect to my Model01. Here's the debug log, with two pieces of data redacted:

chrysalis-debug.json

@chongfun
Copy link

I had the same issue but resolved it by flashing the firmware using 0.8.6.

@ChristianHarnisch
Copy link

I have the same issue. My OS is Windows 10 and Chrysalis is Version 2024.0830.2138.

The little spinner on the "CONNECT" button never stops. Clicking "Layout Card" or "Backup and Restore layouts" in the sidebar leads to a screen with a rotating flower/mandala and the text "Reading data from device..." below it - and nothing else happens.

I suppose an old release of Chrysalis (like the aforementioned 0.8.6) can be used as a workaround: On startup, it offers to update the firmware. However, I haven't updated yet - @obra is this safe, or should I wait for a fix?

@obra
Copy link
Member

obra commented Sep 9, 2024

@ChristianHarnisch What version of Kaleidoscope is running on your keyboard?

Can you click on the sidebar menu and get the debugging bundle from the 'report an issue' screen?

@ChristianHarnisch
Copy link

@obra Thanks for your reply.

I can access the "report an issue" screen, but clicking "CREATE BUNDLE" does nothing (except for playing a short animation on the button itself).

@obra
Copy link
Member

obra commented Sep 9, 2024

It's going to take a while if it's having trouble talking to the keyboard. Alternatively, open up the browser's devtools and grab the full console log after attempting a connection to the keyboard.

@ChristianHarnisch
Copy link

ChristianHarnisch commented Sep 9, 2024

Sorry, that was apparently my mistake - clicking "CONNECT" first leads "CREATE BUNDLE" to do nothing (I gave it ten minutes). Without that, this is the output that appears (pretty-printed for readability):

{
  "logs": [
    "[2024-09-09T20:35:06.727Z] [DEBUG] [u.resetDeviceState (https://chrysalis.keyboard.io/js/main.ae3dd3236fc33ec3893c.bundle.js:205:353612)]: Resetting device state",
    {
      "message": "[2024-09-09T20:35:06.801Z] [DEBUG] [https://chrysalis.keyboard.io/js/main.ae3dd3236fc33ec3893c.bundle.js:205:484490]: navigating to location",
      "data": {
        "args": [
          "/keyboard-select"
        ]
      }
    },
    "[2024-09-09T20:35:06.855Z] [LOG] [kn (https://chrysalis.keyboard.io/js/main.ae3dd3236fc33ec3893c.bundle.js:205:967735)]: [object Object]",
    "[2024-09-09T20:35:06.855Z] [LOG] [kn (https://chrysalis.keyboard.io/js/main.ae3dd3236fc33ec3893c.bundle.js:205:967735)]: null"
  ]
}

@obra
Copy link
Member

obra commented Sep 10, 2024 via email

@ChristianHarnisch
Copy link

No worries, doing a firmware update etc. would be fine by me. But how do I do that?

If I understand this comment by algernon (and the others preceding it) correctly, Chrysalis did at some point tell how to perform the update. But that doesn't happen with the new web-based one.

You could (re-)implement that or I could temporarily use an old release. Perhaps the former wouldn't be worth the effort, because how many original firmware Model 01s are still out there realistically? On the other hand, the latter depends on if the "intermediate page" and "firmware update screen" still work - URLs and download locations might have changed etc. That's what I meant when I asked "is this safe", and I'm sorry for not wording that clearly.

What do you think I should do?

@obra
Copy link
Member

obra commented Sep 11, 2024 via email

@ChristianHarnisch
Copy link

If you get to the browser's 'pick a device' widget on web-based Chrysalis, disconnect the Model 01 from the computer, then while holding in 'Prog', connect it. You should see Model 01 Bootloader as an option. From there, it should push you into the firmware update workflow.

Thank you so much! That did the trick.

One detail I noticed: I had to keep "prog" pressed the entire time from connecting the keyboard until starting the firmware update. Not just again before clicking the confirmation dialog (as I understood its instructions initially). Otherwise I'd get an unspecific "failed to update firmware" message.

In any case, again, thanks for your help.

@obra
Copy link
Member

obra commented Sep 17, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants