I was trying to update the keyboard firmware on my Pocket, and I may have acted rashly, after resetting, I can no longer power it back on.
I had cloned the repo, ran the install-fw-dependencies script, went into the dir, ran the build.sh, seemed OK.
I put the keyboard into flash mode with “x” at the menu
the sudo picotool command gave an error like: no rp2040 found with the listed command [sudo picotool load build/sysctl.uf2 --bus 3 -f]
I then absent-mindedly ran it without the --bus 3 -f part of the command, and it seemed to flash. But now, after a hard reset, I cannot power it back on.
So, I guess I’ll have to take it apart and go through those instructions to re-flash it?
Can someone let me know what the “off” position is for the power switch? Toward the hinges, or away? I don’t get any indication either way, and don’t want to leave it on until I get back to re-flashing it.
OK, I really need to clean up those scripts in git and in the handbook etc, as there are nowadays 2 universal scripts that cover all cases without messing with dependencies etc.
Anyway, you might have flashed the system controller with the keyboard firmware, as they are the same chip. It is a bit of work to recover from this state, if that happened. You’ll need to take the motherboard out, move the 2 jumpers to the other position, and connect the internal USB-C connector to another computer with a USB-C cable. The process is described here in detail: Hardware — MNT Pocket Reform Operator Handbook, 1st Edition documentation
This will make the Pocket Reform instantly turn on when power is connected. That way, you can recover from a bricked keyboard (because you don’t need it to turn the computer on). Once booted, do this to restore the keyboard:
I’ll tackle this over the next day or two. I made a mistake because I kept trying things, and didn’t ask questions instead. Sorry in advance for the extra traffic.
I would like to update the firmware of my system controller so an updated documentation would be very welcome! Also I have to admit that I am a little confused: New Pocket Reform will get the latest firmware I assume. So I was wondering whether there is an easy way to download the lateste binary and use that to flash the system controller. I assume that would be safer and more covenient? Quite honestly I struggle to get the firmware to build on my machine…
From selfish reasons, I don’t think there’s a reason to apologise; as horrid as it may sound, many of us may learn from your mishap, to avoid something similar.
Having said that, I hope you can get it sorted smoothly and quickly.
I went through all of the steps, and I don’t see the system showing up as a USB device on my laptop. Does the system need to have the battery switch set on for this to work? I turned it off since it was going to sit for a week before I could get to it.
Should I just turn the switch on, and try again?
I’m going to download and install the firmware to build on this machine in the meantime.
So, my first question is, does it require power to do the reflash? Or does the USB connection supply the power? As of right now, the board does not show up at all on my Debian laptop to do the flashing.
I have more things to check. USB drives mount OK, but for some reason, I can’t seem to mount some other devices. Like a phone, which when connected, seems to not show up.
Going to boot into fedora and see if it’s some kind of fussy hardware.
I just looked at the repository, and I actually think it’s just an error in that script, in the current head revision. I’m pretty confident that you didn’t do anything wrong, and you should just change --update to update.
I’m not sure why that script is written in the way that it is, it looks a little strange to my eyes, but I’m sure there was a reason. It seems to do something reasonable, at any rate.
re-cloning will just give you the same content again and not fix your problem. To obtain the latest version, run “git pull” inside the git directory.
No, changing --update to update will turn the commend into apt-get update install ... which is also wrong.
The --update option is a fairly recent addition to apt and the script does not check which version of apt you are using. It might just be that your apt is too old.
I agree that either the script should check whether your apt is new enough or it should not use apt options that require a recent-ish apt. I filed this MR to fix this:
Until this is fixed: what is your apt version? You can run apt-get --version to find out. The following command will also give you the answer:
Thanks for the response. I am at 2.6.1, so it looks like that’s the problem. I’m going to update the system to testing. (no data to speak of, so no risk there)
I was hoping to bump this up. I highly suspect that the battery switch must be ON for this to work, but I don’t want to make another mistake, and actually damage the hardware. Can someone confirm for me?