keyboardio / Chrysalis

Graphical configurator for Kaleidoscope-powered keyboards
https://github.com/keyboardio/Chrysalis#chrysalis
GNU General Public License v3.0
497 stars 65 forks source link

No keyboards found. #1279

Closed faxm0dem closed 6 months ago

faxm0dem commented 1 year ago

Describe the bug When running chrysalis, it says "No keyboards found.". I hooked up both my Atreus and Model 01.

Desktop (please complete the following information):

Additional context I see the following in the console when chrysalis starts up:

[638195:0613/090819.070304:ERROR:bus.cc(399)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[638195:0613/090819.070749:ERROR:bus.cc(399)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
faxm0dem commented 1 year ago

Both /dev/ttyACM devices show up on Linux by the way

faxm0dem commented 1 year ago

I think something must have messed up the firmware in a previous chrysalis version. Both my model 01 and atreus fail to be recognised, but my model 100 is.

faxm0dem commented 1 year ago

My Model 100 is recognised by chrysalis 0.13.2, but invites me to upgrade its firmware. I am wary to do so, given the current state of my 2 other keyboards.

obra commented 1 year ago

So sorry for the delay in our reply. If you back down to an earlier chrysalis version, does it see your devices?

What are the permissions you see on the /dev/ttyACM devices? How about the /dev/serial/by-* devices?

On Wed, Jun 14, 2023 at 6:34 AM Fabien Wernli @.***> wrote:

My Model 100 is recognised by chrysalis 0.13.2, but invites me to upgrade its firmware. I am wary to do so, given the current state of my 2 other keyboards.

— Reply to this email directly, view it on GitHub https://github.com/keyboardio/Chrysalis/issues/1279#issuecomment-1591222579, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAALC2G3GVGUDXXNDXZZXZ3XLG4YDANCNFSM6AAAAAAZEMWDEU . You are receiving this because you are subscribed to this thread.Message ID: @.***>

faxm0dem commented 1 year ago

I tried that to no avail, still "no keyboards found" About the permissions, they are rw for group dialout which I am a member of.

obra commented 1 year ago

What do you see in find -type f /dev/serial?

Are the devices plugged directly into the computer or through a hub or switch?

On Thu, Jun 22, 2023 at 1:54 AM Fabien Wernli @.***> wrote:

I tried that to no avail, still "no keyboards found" About the permissions, the are rw for group dialout which I am a member of.

— Reply to this email directly, view it on GitHub https://github.com/keyboardio/Chrysalis/issues/1279#issuecomment-1602265058, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAALC2BJN425FZO3XL6CDETXMQB6BANCNFSM6AAAAAAZEMWDEU . You are receiving this because you commented.Message ID: @.***>

faxm0dem commented 1 year ago

I tried both. My Model 100 pops up in chrysalis even though I'm using a thunderbolt dock. My Atreus is plugged directly using a regular USB port on my laptop. Both show up as following in /dev/serial/:

/dev/serial
/dev/serial/by-path
/dev/serial/by-path/pci-0000:00:14.0-usb-0:2:1.0      # <-- Atreus
/dev/serial/by-path/pci-0000:3b:00.0-usb-0:1.2.2:1.0  # <-- Model 100
obra commented 1 year ago

I'm trying to repro this but haven't managed so far. Can you grab a "report an issue" bundle from the sidebar menu in Chrysalis after plugging both a good and a bad keyboard in?

And just to be sure, this is the 0.13.2 appimage downloaded from our github repo?

obra commented 1 year ago

I've managed to repro this and tracked it down to https://github.com/serialport/node-serialport/issues/2604, which upstream looks like they're treating as "wontfix" :/

I'm not yet sure if we've got a sane workaround.

obra commented 1 year ago

Got it. It's a bug in Debian, caused by a bug in systemd. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1035094

obra commented 1 year ago

I have verified that manually applying the fixes to the udev rules described therein gets the Atreus to start showing up fine for me on a fresh Bullseye 11.7 install.

faxm0dem commented 1 year ago

Awesome, thanks for the digging ! I vaguely remember having had to fiddle with some udev and/or systemd config to make my FTDI adapter show up correctly in /dev/by-id/...... maybe that's related

faxm0dem commented 1 year ago

I tried applying this patch and reloading udev rules to no avail. I guess I'll wait for the debian fix - thanks @obra !

faxm0dem commented 1 year ago

I just had a thought : why is my 100 still recognised ?

obra commented 1 year ago

We use a different technique for the Model 100 because its firmware update method doesn't use serial. My recollection is that we can't use that method to find the M01 and Atreus serial ports, but I'm not 100% on that.

On Wed, Jun 28, 2023 at 1:07 AM Fabien Wernli @.***> wrote:

I just had a thought : why is my 100 still recognised ?

— Reply to this email directly, view it on GitHub https://github.com/keyboardio/Chrysalis/issues/1279#issuecomment-1610960150, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAALC2D7RQIMJIEYSOOR4PLXNPQ5RANCNFSM6AAAAAAZEMWDEU . You are receiving this because you were mentioned.Message ID: @.***>

obra commented 1 year ago

FWIW, the two patches I applied (by hand-typing the code): both https://github.com/systemd/systemd-stable/commit/451ba55fecd8b494add2001b3ca3c1915c8fd655 and https://github.com/systemd/systemd/pull/25246

On Wed, Jun 28, 2023 at 11:40 AM Jesse Vincent @.***> wrote:

We use a different technique for the Model 100 because its firmware update method doesn't use serial. My recollection is that we can't use that method to find the M01 and Atreus serial ports, but I'm not 100% on that.

On Wed, Jun 28, 2023 at 1:07 AM Fabien Wernli @.***> wrote:

I just had a thought : why is my 100 still recognised ?

— Reply to this email directly, view it on GitHub https://github.com/keyboardio/Chrysalis/issues/1279#issuecomment-1610960150, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAALC2D7RQIMJIEYSOOR4PLXNPQ5RANCNFSM6AAAAAAZEMWDEU . You are receiving this because you were mentioned.Message ID: @.***>

obra commented 6 months ago

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