The keyboard keeps disconnecting and reconnecting. This shows up in the syslog:
Jun 10 11:28:11 reform kernel: usb 1-1.3: reset full-speed USB device number 3 using ehci-platform
Jun 10 11:30:06 reform kernel: usb 1-1.3: reset full-speed USB device number 3 using ehci-platform
Jun 10 11:30:08 reform kernel: usb 1-1.3: reset full-speed USB device number 3 using ehci-platform
Jun 10 11:31:42 reform kernel: usb 1-1.3: reset full-speed USB device number 3 using ehci-platform
Jun 10 11:31:56 reform kernel: usb 1-1.3: reset full-speed USB device number 3 using ehci-platform
Jun 10 11:32:30 reform kernel: usb 1-1.3: reset full-speed USB device number 3 using ehci-platform
It’s not just you, I’m afraid. Would you like to test the new thing now or would you like to wait until it has been tested and verified to fix issues like this by me and others first?
The only thing is, I’m not sure I have a US or intl keyboard. I mean I’m in Europe and I ordered the laptop from MNT in Europe, but I ordered it with a QWERTY-US layout.
I was under the impression that it was just a keycap layout thing, but maybe the keyboard PCBs are different? How can I tell what I have?
So with keyboards before V4 (which should be the one you have) the constants KBD_VARIANT_2_US (for keyboard v2) and KBD_VARIANT_3_US (for keyboard v3) only changed one key: fifth row, second key (next to shift). That one usually is HID_KEYBOARD_SC_NON_US_BACKSLASH_AND_PIPE but in the US variant it is HID_KEYBOARD_SC_DELETE. So for the earlier keyboard variants, it only changes the default for the keycode that this key produces.
If I now look at the sources for reform2-keyboard4-fw (that’s for V4 keyboards) I can only see that setting KBD_VARIANT to KBD_VARIANT_US changes KBD_USB_PRODUCT_STRING but makes otherwise no functional changes.
So unless anybody else knows more, I guess it does not matter?
The scripts to download the firmware and flash it mentioned in the documentation are missing from the git repo. So instead I built the keyboard firmware from source using
The keyboard reset then came back with - apparently - an error code 3C displayed on the OLED’s splash screen, it’s totally laggy when I type, and it says “Waking up LPC” with a countdown that eventually times out whenever I try to do anything.
I’m tempted to disconnect and reconnect the batteries, but I have a feeling it won’t turn back on if I do that. So for now I’ll keep it running so I can recover it.
What did I do wrong?
EDIT: well, it wasn’t charging anymore so it shutdown, and now, as I predicted, it’s bricked I’ll try upgrading the LPC firmware I guess…
Hi, I’m sorry for your frustrating experience. We have a process for fixing this with no costs attached. You can get a UPS label for sending laptop back to us and we’ll analyze it and repair it. The only thing you need to do is write a short email referencing this post and your order number, as well as full shipping address incl. phone number, to support@mntre.com.
If you want to repair it yourself, there’s also the possibility to give you guidance here, but it would require some patience and you would have to be specific about what exactly you did (when flashing firmware etc).
About the keyboard firmware, there are some known issues that are fixed in the Pocket Reform firmware that has a similar codebase (also RP2040) that I’ll port over very soon. The behavior that you saw after reflashing happens because the keyboard initially thinks the laptop is turned off, and it shows you the “how to turn on” hint on the display, which interferes with the USB typing, until you tell the keyboard to power up. The “3C” is not an error code, but in that firmware revision I left an I2C scan in that shows which I2C devices the keyboard detected (in this case, the OLED display). This scan is gone in the next rev.
The laptop isn’t bricked. You can just remove all batteries and it will work just from USB-C PD power. It can just not work with empty batteries or one empty pack, for safety reasons. When the batteries are removed and you connect USB-C PD power supply, are you getting a red LED on the motherboard? If the firmware runs correctly, a second LED will turn on after a few seconds. Also, did you make sure to turn the LPC programming switch back off after flashing, and did you reset the LPC?