Hi, sorry for this! AFAIK it doesn’t have to do with the fw updates per se, but there can be some wonkiness with the USB connection to the keyboard that I don’t fully understand yet. Anri had the problem on the weekend that the keyboard would disconnect every once in a while and I proposed to update the FW and the same thing happened that you experienced now: the USB connection got bad in the middle of the FW upload. I’ve also experienced this in the development of Next (still ongoing) where the connection was so bad one day that I wrote a bash loop to just try the upload until it works (sometimes took 10 times). After upgrading the kernel to 6.15 and pressing hard on the small internal USB cable plug of the keyboard, the issues went away. I can’t for sure say yet if it was the cable/connection or the kernel or something else, we’ll look into this more in the next weeks.
Anyway, to recover (and we did this successfully yesterday) you need to overcome the design error that the motherboard has no power on button. To do this you can flash the system controller FW built with the FACTORY_MODE flag turned on. I’ve prebuilt this and just putting this link here for your convenience and will turn it into something official later: http://dump.mntmn.com/sysctl.uf2 (yes, no https there, sorry).
The procedure:
- Don’t turn the standby switch off, has to be on, and batteries need to be connected
- Open the top back lid
- Move the 2 jumpers near the internal USB-C connector (SYSUSB) to the position facing away from the USB-C connector
- Unscrew 4x motherboard screws
- Lift motherboard and slide a piece of paper or better, antistatic foil/foam underneath
- Switch DIP switch “PROG” on the motherboard to ON (not “1”). It’s near the 6 pronged dupont pins sticking out.
- Press the button next to the PROG switch (it’s the LPC reset switch)
- Now connect the internal USB-C connector (SYSUSB) of the motherboard to another computer
- The RP2040 will show up as a virtual drive (like a USB stick) (this works also on Windows, Mac)
- Drag/copy the sysctl.uf2 into this drive, then eject the drive
- Alternatively, you can use
picotool load sysctl.uf2in a terminal console - Switch the PROG switch off
- Press the reset button once more
- Screw the motherboard back in
- Move the 2 jumpers near the internal USB-C connector (SYSUSB) back to their original position, close to the USB-C connector
- Now, once you connect a USB-C PD power supply for the first time after a sysctl reset (with the button or toggling the standby switch), the machine will turn on and boot automatically
- If your disk is corrupted you might need to power cycle twice so it repairs automatically
- Once booted, connect an external keyboard and run the keyboard flashing script again until it succeeds