Home [ade] cookies
Flashing, futzing and finishing
Flashing: I spent an intensely annoying morning flashing firmwares and BIOSes. I had purchased an MSI GX620 — a “gamer” laptop, but pretty nice from a developer point of view, too — and noticed that the keyboard would “stick” every now and then, repeating the last key typed ad inifinitum. Power button and trackpad would also cease responding. Either pull the battery and AC — hard power off — or plug in a USB keyboard and mouse and go for a regular shutdown, but then the machine would hang with power and fans still going after the OS says its final goodbyes. It is both reassuring and frightening that “MSI GX620 keyboard problem” turns up plenty of resources about exactly this. And a suggested solution is to flash the firmware and then the BIOS.
Easier said than done, of course, from a dual-boot nonGNU/Solaris and GNU/Linux machine. Heck, even with the Vista that was on the machine when it shipped I’m not sure you can flash. The MSI instructions all assume a DOS environment. I tried the boot disks you can create with Windows XP (which boots to “Windows Millennium”?) but no dice, abnormal program termination. I went looking in my box-of-crap in the attic and found my 3-disk set of MS-DOS 6.2 install floppies, but those no longer seem to work. Heck, it’s a wonder I even have a floppy drive to boot from — I collected a few USB floppy drives a few years back.
This kind of situation makes me long for my usual ASUS motherboards which support flashing from the BIOS itself, and can read CDs.
In any case, I needed to be able to boot an OS I don’t actually have in order to update the machine. Fortunately Daniel documented USB boot disks here, and that finally gave me enough to craft my own simple 10-step procedure: 1. boot ancient windows XP laptop strill used by the kids for Sesame Street games 2. install HP USB disk tool 3. boot modern Linux machine 3a. find USB floppy drive 4. download FreeDOS “ODIN” image 5. try to write the image to a floppy disk 6. download a smaller image, until you get one that fits before the first bad sector on the floppy (for me, fortunately, that was the 720k image) 7. move floppy to windows machine 8. format USB stick with HP tool, using system files from ODIN 9. boot defective laptop from USB stick 10. revel in C:\>
I suppose I could have gone via VirtualBox on Solaris or qemu, but I had neither installed already, and frustration seems to rapidly erode my capacity for lucid thought. In any case, I’ve now gone the day without the keyboard locking up, so the flash updates seem to have helped.
Photos: At Akademy I always try to have some plan on capturing the spirit of the event. In past years I’ve intended to do voice recordings and always forgotten, so this time I did something much more low key: just take pictures of some whiteboards left behind in the conference rooms. This little collage of strings found on boards does seem to capture the working week, though. What are we doing? Even though we’re die-hard computer technologists, we still end up smearing ink on light-coloured surfaces.
[[ You'd be surprised, incidentally, about how many of the photos in my phone are of whiteboards at the end of meetings. Best way to remember things. ]]
Finishing: Congratulations, Gökmen and Görkcem on Pardus 2009. It looks very nice. And I really appreciate a distro that comes with TeX.
KDE 4.3 is also looming terrifyingly close, which means that there’s a fistful of OpenSolaris patches we haven’t gotten around to pushing upstream yet. Some are really peculiar, and I appreciate it when people ask me about things like bool() casts — there was one bug report about operator ?: with a bool and a QBool, which seems very peculiar to me. Interesting how QBool doesn’t have an operator bool(), only an operator void *() — I think SS12 is being extra picky here.
Finally, one of the anonsvn mirrors was down again for a bit; this was due to r.997199 which has a badly-encoded log message. Since we have a wild mix of Subversion 1.4, 1.5 and 1.6 infrastructure — and also users with clients of differing versions as well — we do not get a “clean” history. In this case, subversion 1.6 is more picky about the encoding of log messages than older versions. Since I was running 1.6 on the EBN mirror, it refused to synchronize that particular commit and went down. I have since downgraded to 1.5.2 and the mirror has resumed operation, but it’s an illustration that our source history is “interesting” to say the least and the conversion to any other SCM will once again be rife with manual labour to get it all right.