hn.today

ThinkPad I9990303 Error Catch-22

os2museum.com6 points0 comments
Screenshot of ThinkPad I9990303 Error Catch-22

A mid-1990s ThinkPad 750C stopped booting with error I9990303 and would not enter BIOS setup, though it could boot from IBM maintenance floppies and run DOS or Windows. The error traces to corrupted flash ROM rather than a dead board: newer models document similar messages as a flash ROM checksum failure. Rewriting the BIOS should fix it, but the official UPDTFLSH.EXE updater refused to run because it enforces power-management checks and requires a charged battery, creating a Catch-22 where corrupted firmware prevents the very update that would repair it.

The updater was reverse-engineered and found to use System Management Mode calls (INT 15h/5380h) and an I/O presence check that writes the ASCII letters “IBM” via OUT DX, AX before testing expansion-unit and battery conditions. By unpacking and patching UPDTFLSH.EXE to bypass the SMM/power-management checks, the BIOS was successfully reflashed, which removed I9990303, restored BIOS setup access, and cleared CMOS errors. The outcome demonstrates that bit-rot in flash EPROMs can be recovered by rewriting, but vendor safeguards can block recovery and bypassing them carries the usual risk of bricking if power fails during flashing.

Read on os2museum.com0 comments on Hacker News

Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.

More in Hardware

The daily digest

Today's best Hacker News stories, summarized and screenshotted, one email a day.