i have never screamed a more satisfying fuck-youuuu to a computer than 5 minutes ago, when i finally fixed a dead OLPC XO-1 that i've been trying to fix, unsuccessfully, for FIVE YEARS
the XO-1's, especially the early models, all suffer from a showstopper firmware bug: if the internal clock battery dies, the laptop cannot boot. it won't even make it to POST. changing the battery makes no difference, because the PROM has the wrong clock date burned into it.
the workaround is reprogramming the internal clock with the correct date via an onboard serial port which *does* function when the laptop is powered on. unfortunately, it uses an incredibly frustratingly tiny 3mm blade-type socket that isn't easy to find.
my solution was to solder tiny wires directly to the board. take a look at the picture and decide for yourself if you ever want me near your electronics. (the plastic connector melted when i tried to desolder it using a hot air rework gun)
the worst part of the process, aside from soldering 0.2mm pins, was figuring out which-pins-did-what on the motherboard's J4 connector. experimentation taught me that:
Pin 1 (bottom): +3.3v. Do not connect this to the USB-TTL.
Pin 2: Transmit (TX). Connect to RX on the USB-TTL.
Pin 3: Receive (RX). Connect to TX on the USB-TTL.
Pin 4 (top): Ground. Connect to GND on the USB-TTL.
now let your terminal session capture output from the USB-TTL. on macOS, the terminal command for my particular usb-ttl stick is:
> screen /dev/tty.usbserial-1410 115200
once you've connected those wires to the USB-TTL, plug in the laptop and power it on. You'll immediately see text flow into the terminal session.
once you've got a prompt, type in:
> select /rtc decimal 57 34 21 21 08 2026 set-time
> bye
and you're done. the laptop will reboot, and suddenly it will POST with a chime and boot into the operating system.
sources:
web.archive.org/web/2019103121…
#olpc #diyRepair #permaComputing
LovesTha🥧
in reply to Zak • • •MolarFox
in reply to Zak • • •