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

Firmware Update Issue for Launch #64

Closed
Titor8115 opened this issue Aug 2, 2022 · 9 comments
Closed

Firmware Update Issue for Launch #64

Titor8115 opened this issue Aug 2, 2022 · 9 comments

Comments

@Titor8115
Copy link

Titor8115 commented Aug 2, 2022

I'm currently on Fedora 36, And was trying to update the firmware of the Launch Keyboard. When I'm doing manual firmware update (the keyboard never flashes UNLOCK pattern since I got it half year ago even on PopOs) through the Firmware software and was giving a notification to unlock the keyboard using Fn + Esc. However, When I unlocked the keyboard, all the updates options simply disappear. (System76 Keyboard Configuration Software also lose detection of the keyboard). I'm currently flashing the keyboard using repository forked from QMK repo (not this one), if that has anything related to this problem. I also recompiled with both BOOTMAGIC on and off and resetting the keyboard via System76 Keyboard configuration software, but the same problem remains.
Below are related information of the device and the issue described above.

Before Unlock
Screenshot from 2022-08-02 01-56-43

After Unlock
Screenshot from 2022-08-02 01-57-33

@leviport
Copy link
Member

leviport commented Aug 2, 2022

I would recommend flashing from our QMK fork and seeing if that helps: https://github.com/system76/qmk_firmware/blob/master/keyboards/system76/launch_1/README.md

Also, can you please post the launch_1 details from the output of fwupdmgr get-devices?

@jecassis
Copy link

jecassis commented Aug 5, 2022

I think I implemented a solution to this problem for the upstream repository in this PR. From the description, it appears that instead of "unlocking" and waiting for the updater to send the HID command to go into the bootloader, it jumps straight into it--from the System76 VID before unlock and the Atmel VID after unlock. The keyboard does not acknowledge the command in any case, so the updater just sees a new device and likely does not go into its firmware flashing routines.

Note that in the upstream firmware, Fn+Esc is mapped to the QK_BOOTLOADER keycode in the default keymap. The configurator/LVFS uses HID and so the process is to is why I think System76 has added LCtrl+Rctrl+Esc to put it into that mode independently of the QMK defaults. Most of this is just speculation.

@Titor8115
Copy link
Author

I would recommend flashing from our QMK fork and seeing if that helps: https://github.com/system76/qmk_firmware/blob/master/keyboards/system76/launch_1/README.md

Also, can you please post the launch_1 details from the output of fwupdmgr get-devices?

I will send update you with the output of fwupdmgr as soon as I return to my workstation (should be Tomorrow)

@leviport
Copy link
Member

leviport commented Aug 5, 2022

is why I think System76 has added LCtrl+Rctrl+Esc to put it into that mode independently of the QMK defaults

Partially that, but also because we had to figure out how to unlock a Launch Lite, since Fn+Esc on Lite = tilde/backtick

@Titor8115
Copy link
Author

@leviport
Sorry for the late reply, Here is the output of fwupdmgr get-devices for the keyboard

├─Launch Configurable Keyboard (launch 1):
│     Device ID:          29627b6877d3b89cccee135287435fde986fee98
│     Current version:    0.17.0-92-g48635d-dirty
│     Vendor:             System76 (USB:0x3384)
│     GUIDs:              b2cfb86e-dacd-5663-83e6-58059831ab6d
│                         af6272df-30f2-5067-ae05-201e69cd08a5 ← USB\VID_3384&PID_0001
│                         7549de75-189b-5fa6-911a-c9f5d127dc28 ← USB\VID_3384&PID_0001&REV_0001
│     Device Flags:       • Updatable
│                         • Supported on remote server
│                         • Unsigned Payload

@leviport
Copy link
Member

Was that after flashing from our QMK fork?

@Titor8115
Copy link
Author

Titor8115 commented Aug 11, 2022

@leviport The previous output was not using this fork of the qmk_firmware. But using this fork for flashing seemed to resolve the issue and firmware had been updated to the newest 0.7.103-4026-g7fd2f5 version.

├─Launch Configurable Keyboard (launch 1):
│     Device ID:          29627b6877d3b89cccee135287435fde986fee98
│     Current version:    0.7.103-4026-g7fd2f5
│     Vendor:             System76 (USB:0x3384)
│     GUIDs:              b2cfb86e-dacd-5663-83e6-58059831ab6d
│                         af6272df-30f2-5067-ae05-201e69cd08a5 ← USB\VID_3384&PID_0001
│                         7549de75-189b-5fa6-911a-c9f5d127dc28 ← USB\VID_3384&PID_0001&REV_0001
│     Device Flags:       • Updatable
│                         • Supported on remote server
│                         • Unsigned Payload

Question not related to current issue. What is the Macro for Switch to layer # for launch_1? the QMK macro TOGGLE_LAYER doesn't seem to work.

@leviport
Copy link
Member

Question not related to current issue. What is the Macro for Switch to layer # for launch_1? the QMK macro TOGGLE_LAYER doesn't seem to work.

If you're making firmware manually, it's TO(#) . My layer 3 has an example of using TO(): https://github.com/system76/qmk_firmware/blob/master/keyboards/system76/launch_1/keymaps/levi/keymap.c

@Titor8115
Copy link
Author

Question not related to current issue. What is the Macro for Switch to layer # for launch_1? the QMK macro TOGGLE_LAYER doesn't seem to work.

If you're making firmware manually, it's TO(#) . My layer 3 has an example of using TO(): https://github.com/system76/qmk_firmware/blob/master/keyboards/system76/launch_1/keymaps/levi/keymap.c

I see. Thanks for everything. Ill close this issue since all the problems have been resolved

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants