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

I can't access "Firmware Update" and "Keyboard Settings" screens #365

Open
Praedes opened this issue Mar 22, 2019 · 42 comments

Comments

Projects
None yet
@Praedes
Copy link

commented Mar 22, 2019

Hello,

I'm on Ubuntu 18.04.2 LTS.
Chrysalis 0.5.0+92.

My Model01 is recognized (totally new, I never install anything on it).
On Chrysalis, I click on "Connect", the "Firmware update" appear. But when I click on "Firmware Update" or "Keyboard Settings", nothing happen.
I'm stuck here on the main screen :
image

The permissions on /dev/ttyACM0 seems good : 
chrysalis2

I restart Chrysalis, restart the computer, unplug replug the keyboard...

An interesting detail maybe, when I click on "Firmware Update", I stay on the main screen but the "Firmware Update" is highlight on the menu : 
image

Thank you,
Cordialy

@Praedes Praedes added the bug label Mar 22, 2019

@caleb2017x2

This comment has been minimized.

Copy link

commented Mar 23, 2019

I'm having the same problem on a Mac running macOS 10.14.3 and the latest version of Chrysalis.

@tobymiller1

This comment has been minimized.

Copy link

commented Apr 9, 2019

Me too, on macOS 10.14.4

@CADTraveller

This comment has been minimized.

Copy link

commented Apr 9, 2019

Me too, Win10 Version 1903

@tsh-xx

This comment has been minimized.

Copy link

commented Apr 17, 2019

I managed to turn on dev tools (after running as administrator), these are the errors I see in the console:
Uncaught TypeError: Cannot read property 'substring' of undefined at ClientRequest.substring (webpack:/src/renderer/utils/getLatestVersion.js:43) at Object.onceWrapper (events.js:273) at ClientRequest.emit (events.js:182) at HTTPParser.parserOnIncomingClient (_http_client.js:555) at HTTPParser.parserOnHeadersComplete (_http_common.js:109) at Socket.socketOnData (_http_client.js:441) at Socket.emit (events.js:182) at addChunk (_stream_readable.js:283) at readableAddChunk (_stream_readable.js:264) at Socket.Readable.push (_stream_readable.js:219) App.js:144 Connecting to COM3 App.js:149 Probing for Focus support... 30getLatestVersion.js:43 Uncaught TypeError: Cannot read property 'substring' of undefined at ClientRequest.substring (webpack:/src/renderer/utils/getLatestVersion.js:43) at Object.onceWrapper (events.js:273) at ClientRequest.emit (events.js:182) at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:555) at HTTPParser.parserOnHeadersComplete (_http_common.js:109) at Socket.socketOnData (_http_client.js:441) at Socket.emit (events.js:182) at addChunk (_stream_readable.js:283) at readableAddChunk (_stream_readable.js:264) at Socket.Readable.push (_stream_readable.js:219) Ca.a.request.t @ getLatestVersion.js:43 onceWrapper @ events.js:273 emit @ events.js:182 parserOnIncomingClient @ _http_client.js:555 parserOnHeadersComplete @ _http_common.js:109 socketOnData @ _http_client.js:441 emit @ events.js:182 addChunk @ _stream_readable.js:283 readableAddChunk @ _stream_readable.js:264 Readable.push @ _stream_readable.js:219 onStreamRead @ internal/stream_base_commons.js:94

I also got Uncaught (in promise) Error: Opening COM3: Access denied when I closed and re-started.

This is win10, 1809, and an early model with original firmware.

@algernon

This comment has been minimized.

Copy link
Member

commented Apr 17, 2019

Oh, looks like there are two problems here:

  • There is no error handling in the version check
  • Chrysalis doesn't have access to the serial port

The latter you can work around by running Chrysalis as administrator.

@leavesofgrass

This comment has been minimized.

Copy link

commented Apr 17, 2019

Perhaps this is my issue with the 0.5 AppImage in Ubuntu. I have uninstalled modem-manager but my model01 hangs while connecting. I can't access layouts or update the firmware in Linux but everything works swimmingly in Windows.

@mbutz

This comment has been minimized.

Copy link

commented May 1, 2019

Hi, I am experiencing the same issues with my freshly delivered Model 01 and the first use of Chrysalis. I can't actually use/open any of the menu options (). Thought the keyboard is recognized. There is no difference if I start Chrysalis as admin. I also don't see how I can activate the developer mode to get some error reporting.

chrysalis-menu-unusable

Nevertheless the syslog says:

May  1 12:18:18 mbox ModemManager[1052]: <info>  Creating modem with plugin 'Generic' and '1' ports
May  1 12:18:18 mbox ModemManager[1052]: <warn>  Could not grab port (tty/ttyACM0): 'Cannot add port 'tty/ttyACM0', unhandled serial type'
May  1 12:18:18 mbox ModemManager[1052]: <warn>  Couldn't create modem for device at '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3': Failed to find primary AT port

I am under Linux Mint 18.1 (which is Ubuntu 16.4); I hope, this is not an issue because right now I wouldn't want to update. I am using: Chrysalis-0.5.0+94.AppImage

Cheers
Martin

@leavesofgrass

This comment has been minimized.

Copy link

commented May 1, 2019

@mbutz it looks like the modem manager service is running that will prevent the keyboard from connecting.
Try uninstalling modem manager or disabling the service?

@mbutz

This comment has been minimized.

Copy link

commented May 1, 2019

Hi @leavesofgrass,

thanks for the hint. I did uninstall the modem manager, reboot but no success. I don't have those syslog messages anymore but I still can't access any of the menu item (both as normal user and root).

@mariusmorabosch

This comment has been minimized.

Copy link

commented May 3, 2019

Hi! Having the same problem here on windows 10. Running the software as administrator does not fix the issue. It's a brand new model 01.

@caleb2017x2

This comment has been minimized.

Copy link

commented May 4, 2019

How can I start Chrysalis as admin?

I'm on a Mac running macOS 10.14 and the latest version of Chrysalis.

@mbutz

This comment has been minimized.

Copy link

commented May 4, 2019

Hi @caleb2017x2

Open the terminal and

sudo bash # provide password
cd /Applications/Chrysalis.app/Contents/MacOS # go to program directory
./Chrysalis # start program

I did that on my Mac running OS X El Capitan (10.11.6). Unfortunately no difference to the above described behaviour under Linux.

@blkbsstt

This comment has been minimized.

Copy link

commented May 4, 2019

I'm having the same problem with 0.5.0 on a new Model 01, OSX 10.14.3. I also couldn't get it to work on an Ubuntu box. The console doesn't show any errors.

@leavesofgrass

This comment has been minimized.

Copy link

commented May 4, 2019

@Ptepp1c

This comment has been minimized.

Copy link

commented May 6, 2019

As mentioned in discord having the same issue with windows 10 with new Model 01, I have also tried to use Chrysalis 0.4 but that didn't work either (though with a different sort of error.) I tried running as Admin in both versions.

Effectively Chrysalis does not work whatsoever for me currently as it just seems stuck before it loads the layers.

@mariusmorabosch

This comment has been minimized.

Copy link

commented May 9, 2019

@algernon @TreTuna Can we get some feedback on this? The software is basically useless for me and other people. I mention you as I see you are the most recent active devs on here :)

@TreTuna

This comment has been minimized.

Copy link
Contributor

commented May 9, 2019

@algernon is the person with the most knowledge on this across platforms. I have only used it on the latest version of MacOS and have not been able to reproduce this issue there.

@obra

This comment has been minimized.

Copy link
Member

commented May 9, 2019

@TreTuna

This comment has been minimized.

Copy link
Contributor

commented May 9, 2019

(And I have a new baby and new job so it's been little time to help with OSS right now, sadly)

@patchmonkey

This comment has been minimized.

Copy link

commented May 10, 2019

I'm having this issue with Chrysalis 0.5.0 on Windows 10. I was able to install, flash, and configure on my OS X laptop earlier, but when connecting it back to Windows 10, I experience the same issues as described above.

@obra

This comment has been minimized.

Copy link
Member

commented May 10, 2019

@mariusmorabosch

This comment has been minimized.

Copy link

commented May 10, 2019

Same issue persists for me with the nightly build :(

@algernon

This comment has been minimized.

Copy link
Member

commented May 10, 2019

Apologies for being absent lately, I'm on it now. From what I can tell, the main issue is with the version check, I'll have a fix for that in a bit.

@algernon

This comment has been minimized.

Copy link
Member

commented May 10, 2019

Interestingly, the version check does not appear to be the issue. While that ends up being printed as an error, things continue working regardless, as far as I can tell.

On the forums, someone said that 0.5.0 (without the +94) worked, but the latest build did not. So perhaps there's something inbetween that broke Chrysalis, but I can't reproduce right now. I'll push a fix for the version check though, just in case.

@algernon algernon added this to the Chrysalis 0.5.1 milestone May 10, 2019

@tsh-xx

This comment has been minimized.

Copy link

commented May 10, 2019

@algernon Yes, confirmed the nightly build does not work, but 0.5.0 release version does at least get to the stage of telling me it needs to flash new firmware (which I'm just bout to try). This is on Win10, and I don't need to run as admin to get this result.

@mbutz

This comment has been minimized.

Copy link

commented May 10, 2019

Hi,

menu options and functions work for me with Chrysalis 0.5.0 as noted here. At least according to a quick check.

@leavesofgrass

This comment has been minimized.

Copy link

commented May 10, 2019

The 0.5.0 AppImage is also working for me in Ubuntu while version 0.5.0+92.would not connect to my model01.

@mariusmorabosch

This comment has been minimized.

Copy link

commented May 11, 2019

Hi, can confirm that 0.5.0 works for me too (without the +94) now! So definetely something on that build went wrong!

@mattvenn

This comment has been minimized.

Copy link

commented May 13, 2019

latest snapshot from master not working (hangs after clicking connect - debug console says 'probing for focus'), but release 0.5 works fine.

we built on windows 10 by:

installing node 10.15.3
yarn 1.16.0
npm install -g windows-build-tools
yarn
yarn build:win

this also fails. But yarn start works.

@obra

This comment has been minimized.

Copy link
Member

commented May 13, 2019

@Ptepp1c

This comment has been minimized.

Copy link

commented May 13, 2019

+96 does not work
(build from main page)
+93 does not work
(3rd link)
+90 does work correctly (initial loading is fine at least)
(1st link)

@obra

This comment has been minimized.

Copy link
Member

commented May 13, 2019

@Ptepp1c

This comment has been minimized.

Copy link

commented May 13, 2019

Neither work correctly, in case it helps +91 and +92 are both 200mb when installed.

+0.90 which does work is 198mb

@obra

This comment has been minimized.

Copy link
Member

commented May 13, 2019

@algernon

This comment has been minimized.

Copy link
Member

commented May 17, 2019

So it looks like b8fa55d (the commit +91 is built from) is the culprit. I don't really see how the code changes would break anything, so perhaps its one of the dependencies.

@algernon

This comment has been minimized.

Copy link
Member

commented May 17, 2019

Also, @mattvenn also found that running yarn run start still works, even on master. To me, this suggests that we could try backing out the webpack update, or perhaps babel, but my gut feeling says its webpack.

@algernon

This comment has been minimized.

Copy link
Member

commented May 17, 2019

Oh, and I can reproduce the same issue on Linux with the AppImage, so it's not even windows specific. Neat!

@algernon

This comment has been minimized.

Copy link
Member

commented May 17, 2019

Reverting package.json and yarn.lock to the commit before b8fa55d, and adding back electron-window-state does fix the issue. Now to figure out which one of the updates broke the build (so far it seems its not webpack, nor electron, but we'll see).

@algernon

This comment has been minimized.

Copy link
Member

commented May 17, 2019

Narrowed it down to electron-webpack, electron-builder and webpack. A combination of upgrading those broke our prod builds.

@algernon

This comment has been minimized.

Copy link
Member

commented May 17, 2019

Narrowed it down to electron-webpack, but only kinda. If I take the package.json and yarn.lock files from the commit prior to breakage, and back out everything from package.json but electron-webpack, things work. But as soon as I regenerate yarn.lock from scratch, we break again.

So the problematic part is not electron-webpack, but some other transient dependency. That's going to be a pain to figure out, as the yarn.lock diff between working and non-working is huge.

algernon added a commit that referenced this issue May 17, 2019

Update dependencies to fix production builds
This is a carefully selected set of changes for package.json and yarn.lock that
appear to address #365. This is not a complete fix, but a workaround.

Signed-off-by: Gergely Nagy <algernon@keyboard.io>
@algernon

This comment has been minimized.

Copy link
Member

commented May 17, 2019

Pushed a workaround that fixes things for me, it should be built by Travis in an hour or two. I don't have the brains to debug which transient dependency broke us, so we'll have to figure that out sometime later. But the package.json / yarn.lock pair I pushed just now made both the AppImage and the Windows exe work for me.

I feel it's more important to have a working production build than solving the problem correctly, so we have a temporary workaround for the time being.

@tsh-xx

This comment has been minimized.

Copy link

commented May 18, 2019

Doesn't seem to work (nightly build +98). Different to before, but I don't seem to be able to get past 'must update firmware'. This is running as administrator.

internal/process/next_tick.js:68 Uncaught (in promise) Error: Opening COM3: Access denied
D:\tsh\AppData\Local…rysalis-flash.js:72 baud update
D:\tsh\AppData\Local…rysalis-flash.js:77 dtr on
D:\tsh\AppData\Local…rysalis-flash.js:82 dtr off
D:\tsh\AppData\Local…ib\connection.js:23 found Keyboardio Model 01 on port COM3
D:\tsh\AppData\Local…no\lib\avr109.js:42 reset complete.
D:\tsh\AppData\Local…rysalis-flash.js:45 Error: could not open board on COM3
    at D:\tsh\AppData\Local…b\connection.js:152
    at next (D:\tsh\AppData\Local…es\awty\index.js:39)
    at SerialPort.<anonymous> (D:\tsh\AppData\Local…b\connection.js:143)
    at SerialPort._error (D:\tsh\AppData\Local…b\serialport.js:199)
    at binding.open.then (D:\tsh\AppData\Local…b\serialport.js:239)
FirmwareUpdate.js:150 Error: could not open board on COM3
    at D:\tsh\AppData\Local…b\connection.js:152
    at next (D:\tsh\AppData\Local…es\awty\index.js:39)
    at SerialPort.<anonymous> (D:\tsh\AppData\Local…b\connection.js:143)
    at SerialPort._error (D:\tsh\AppData\Local…b\serialport.js:199)
    at binding.open.then (D:\tsh\AppData\Local…b\serialport.js:239)
events.js:167 Uncaught Error: Port is not open
    at SerialPort.close (D:\tsh\AppData\Local…b\serialport.js:413)
    at avrgirl.flash (D:\tsh\AppData\Local…rysalis-flash.js:48)
    at D:\tsh\AppData\Local…no\lib\avr109.js:45
    at D:\tsh\AppData\Local…b\connection.js:155
    at next (D:\tsh\AppData\Local…es\awty\index.js:39)
    at SerialPort.<anonymous> (D:\tsh\AppData\Local…b\connection.js:143)
    at SerialPort._error (D:\tsh\AppData\Local…b\serialport.js:199)
    at binding.open.then (D:\tsh\AppData\Local…b\serialport.js:239)
events.js:167 Uncaught Error: Port is not open
    at SerialPort.close (D:\tsh\AppData\Local…b\serialport.js:413)
    at Focus.close (D:\tsh\AppData\Local…ysalis-focus.js:112)
    at Object.close [as onDisconnect] (webpack:/src/renderer/App.js:177)
    at Object.onDisconnect [as onClick] (webpack:/src/rendere…rmwareUpdate.js:155)


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.