💾 Archived View for republic.circumlunar.space › users › korruptor › blog › 2024-07-29-SoftwareIsShi… captured on 2024-08-18 at 18:31:39. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
I thought I'd flash the motor in my EMTB, over the weekend, after a chum sold me on some of the new features. Easy enough, right? There's an app. Push a button, bingo bongo. Except, I'm forgetting... All Software Is Shit.
While I don't know the exact implementation -- I don't have the source -- here's what appears to happen:
1. The mobile app downloads the firmware update
2. This is written to the motor as it downloads
3. The bike isn't blocked from going into stand-by
4. When it goes into stand-by, it drops the bluetooth connection.
You can guess what happened next.
So, like a dumb-ass, I didn't make sure that my phone was on the WiFi (I was in the garage). I also didn't sniff about to see if anyone had flagged any problems. And I didn't twiddle any knobs on the bike to stop it going into stand-by, because you know, why would I? It's being updated.
It takes a while to download the motor's firmware over 5G. Long enough, that it was at 60% when the bike zoned out. No problem, right? The download hadn't finished, just switch the bike on, it'll pick-up, and write the firmware when it's downloaded and verified.
Nope. The motor was bricked.
What. The. Actual. Fuck.
I mean, perhaps the "Downloading" message in the app should actually be "Updating Firmware", cos I can't believe anyone would be dumb enough to write a firmware image in place, without verifying it in a staging area first. But apparently Shimano are dumb enough to let the bike go into stand-by when updating.
The only way to retrieve the motor was using the PC connection kit, which costs about 200 quid. My local bike shop had one, but I wasn't holding out much hope, but they managed it. Given a replacement motor would have set me back hundreds of pounds, this was an almighty PHEW...
I'm far from the only person this has happened to. When I searched, I found loads of forum posts detailing the exact same thing. Even more amazing, a previous version of the App had a flakey bluetooth implementation that was bricking motors left and right.
Whatever the real implementation nitty gritty of the update system is, I can categorically say, it's **shit**, and I'm absolutely staggered it got released into the wild.