Category Archives: General

Catch-all category

General

My suspend back

The summary: after breaking a lid latch on my Toshiba Satellite A105-S4134 laptop, I was unable to reliably use the ‘suspend’ function. I repaired this with a fairly simple procedure. I took the long way around to get to that procedure; you don’t have to.

The whole back story: I had a quick and unexpected contact with Earth while exiting a car on an icy day, and while carrying my precious baby Toshiba in my backpack. She lost a right lid latch that day…

I can live with the fact that the lid is not quite as secure as before (there’s still the left lid latch), but I find it harder to live with the fact that now, when she’s in my backpack in suspend mode, she’ll spontaneously power on, in the hot and suffocating confines (when one is powered on) of the backpack laptop pocket. That could lead to at least battery drainage and at most CPU meltdown, neither of which I want.

There’s no option in the BIOS to turn off the switch action (and OS settings didn’t help either, which didn’t surprise me). Toshiba/Intel, please put this option in your BIOS settings in future models.

So, I had to say goodbye to suspend, which is paaainful to me, because I hate waiting for bootups and app startups and all that garbage several times a day. I wanted my suspend back.

The daring resolution: I decided today to go ahead and disassemble the machine and see if I could somehow disable the switch. I used the handy little Toshiba disassembly guide (and made a donation). Note: DO NOT DISASSEMBLE YOUR MACHINE LIKE THIS. It was somewhat risky and quite unnecessary for me to do this, so I don’t recommend making that mistake if all you want to do is disable your lid switch.

However, in the process of doing this, I did discover the fix to the problem. I noticed at one point that a couple of screws were sticking to the upper-right corner of the screen bezel. Odd. They were stuck there magnetically. I checked whether they’d stick to the other side; they wouldn’t. Hmmm, I thought, this is interesting, because my earlier tests had indicated that the right side of the lid was the important side in triggering the lid switch. Is it magnetic? I put things back together enough to be able to boot and test the theory, and used a magnetic toy to reveal that yes, the lid switch is magnetic.

So that means all I have to do is find and remove the magnet, eh? Wish I hadn’t disassembled the whole machine… I reassembled everything and switched to this guide. I went as far as Step 4ish. I opened the screen mask far enough to get to the top-right corner, and found a magnet with some tape over it, which was a good sign. I removed the tape and pried out the magnet (which was also glued from the underside) easily. Put everything back together and tested, and…

Woohoo, I can suspend my laptop again.

General

Cygwin-Wine

I bet you could run Cygwin under Wine to get a Linux-like environment in Linux.

General

A use for network boot

Have you ever had to try to replace a hard drive in a machine with a dead built-in DVD drive and an old BIOS (i.e. one that doesn’t really boot off USB devices)? It can be a frustrating endeavor.

My favored way to replace a hard drive (and yeah, I know there are other ways, but this is really the best one) is to boot the machine off a Linux LiveCD and use some sort of cloning program to clone the drive to the new one in a USB enclosure, then swap ’em. Clonezilla served me well when I replaced the hard drive in my laptop recently, so I wanted to do that with my girlfriend’s, too. But the internal DVD drive is dead, it wouldn’t boot off the external one, it wouldn’t boot off a USB Flash drive with the Clonezilla USB option, and any hope that a BIOS upgrade would fix the problem was dashed by the fact that the BIOS update program had to be run off a floppy (which the machine never had) or a CD, which clearly leaves me with the same problem again.

But, the BIOS does have a network boot option, which only became relevant to me when I felt I was running out of options. Setting up a server for network boot from scratch sounded kinda painful, but I remembered that Knoppix has this fairly cool feature they call ‘terminal server’ that might do the trick. Sure enough, I booted Knoppix on my laptop, ran their terminal server, connected it to this laptop with an Ethernet cable (luckily, though the Ethernet port is a little out of wack on this laptop, it’s still functional), selected network boot, and rather quickly, I was in a full-featured Linux environment without touching the to-be-cloned hard drive.

I used ntfsclone, which I knew to be the core of what Clonezilla uses when moving an NTFS partition, to move the single XP partition to the new drive, then ntfsresize to fill the drive (the new drive is twice the size of the old). The only snag I ran into with that was that Windows had previously diagnosed the drive to have bad sectors (the primary reason for replacing the drive in the first place), and ntfsclone doesn’t want to proceed with more than 5 bad sectors. But luckily that’s just a matter of adding a ‘–rescue’ commandline option. ‘course, it clones the bad sector map, which then causes ntfsresize to barf, but it has a ‘-b’ option. I see now that there’s some verbiage on the ntfsclone page that talks about bad sectors… whatever, it’s fine now, so I don’t feel the need to understand now NTFS deals with BS.

It’s cool that the Linux-NTFS tools have gotten to maturity these days; a few years ago when I was replacing drives, I had to do much more annoying things to clone NTFS. (I’m not sure if the software I mentioned in a previous post was based on Linux-NTFS or if they had some proprietary system (Apricorn’s software _was_ Linux-based, though.)).

General

Too many cores

Hmmm… I think I pretty much have to agree with Donald Knuth on this one: multicore processors are basically not that great of an idea for general-purpose computing.

Problem is, this looks like one of those wrong turns that will lead us quite far afield before we get back to the highway. There’s a market dynamic that causes otherwise intelligent decision makers to choose poorly: “You have 4 cores (which is a bad idea)? Well, then I’ll have 12 (which is a three-times-bigger idea)!”. (Yeah, I know that particular chip was mentioned as targeting servers, for which a much better argument can be made for multicore, but they’ll inevitably drive those into desktops, etc. because people don’t want to have to use different architectures for different machines).

The one thing that could save us from going too far astray is mobile computing. Multicore has infected that world, too, but it isn’t as likely to take hold there. The need to keep power consumption under control will probably steer processor architects in more innovative directions.

General

My sound back

When I made the switch on my main desktop machine from Windows to Linux (I mean, a Linux kernel-based operating environment solution incorporating elements from FSF projects as well as thousands of other contributors, including but not limited to: Apache Software Foundation, Sun Microsystems Incorporated, the GNOME Foundation… ah, I mean, Linux), I lost my sound. I got it back by finding the main ‘kernel’ line in my /boot/grub/menu.lst and adding the following kernel parameters to the end of that line:
noisapnp pnpbios=off pnpacpi=off
So the whole line now looks like this:
kernel /boot/vmlinuz-2.6.24-16-generic root=UUID=... ro quiet splash noisapnp pnpbios=off pnpacpi=off

(Don’t copy that line exactly, though, if you’re going to try this solution. Just add those extra arguments to the end. I removed my disk UUID from the line because it’s specific to my computer and wouldn’t work for anyone else.)

In more detail: I’m running the newly-published Ubuntu 8.04 ‘Hardy Heron’ distribution, which is currently using Linux kernel 2.6.24 as a base. This version of the kernel doesn’t work well with some BIOSes that report probably-incorrect information about some motherboard resources (some kernel-list discussion in which Torvalds’ primary argument is ‘x is crap’, a PnP-quirks patch, and there are about a million pages about people having this problem if you look hard enough).

The eventual diagnosis centered around this in the kernel output (using the dmesg command to view it):

PCI: Unable to reserve mem region #1:4000@febf8000 for device 0000:00:1b.0
ACPI: PCI interrupt for device 0000:00:1b.0 disabled
HDA Intel: probe of 0000:00:1b.0 failed with error -16

This region couldn’t be reserved because it was already reserved, as a message like this shows (I’m copying this from someone else’s description of the problem, but the idea’s the same):
system 00:08: iomem range 0xfebfa000-0xfebfac00 has been reserved

I also used the contents of /proc/iomem to shore up the diagnosis. Here’s the indicative bits:

febf8000-febfbfff : 0000:00:1b.0
febfa000-febfac00 : pnp 00:07
febfe000-febfec00 : pnp 00:07

The part that snd_intel_hda wants overlaps with what pnp has already claimed. It ought to look like

febf8000-febfbfff : 0000:00:1b.0
febf8000-febfbfff : ICH HD audio

This overlap problem was happening on my ASUS P5B-Plus board, with two different BIOS versions (1002 and either 0903 or 1001). This board uses an Intel 82801H (ICH8 Family) HD Audio controller sound solution.

Rather than patching and building the kernel myself or trying to find some .debs out there with a newer version (the patch is included in 2.6.25), either of which is more work than I’d like to do for this problem, I just turned off all PnP. The last time I cared about PnP (a hacky system devised to make PC configuration easier back in the days of the ISA bus, and if you don’t know what an ISA bus is, you can probably just nod and forget it) was more than 5 years ago, so this is no loss for me.

General

Little computers everywhere

I’m pretty interested in watching the proliferation of little computers everywhere. Here’s the latest example I saw: a Linux firewall machine that fits inside your Windows laptop. I don’t exactly love the architecture of this particular beast (redirecting network traffic out to the firewall and back in via a hacked-up network driver), though I understand why they did it that way. But it is an interesting thing to contemplate how such nested/cohabitating computers can add neat little features to the mobile lifestyle.

With my latest mobile computing acquisitions, I’m becoming really fond of little semi-specialized general-purpose computers all over. If I want to go light, I can have my phone with me and still have very basic web browsing and email capabilities. If I want a few more features, I can add the internet tablet to the mix. If I have to do real work, I can add the laptop, or sometimes the laptop and the internet tablet. Pretty much mix-n-match, because they’re all good standalone and they synergize nicely when used together. They also all have some means of accessing the Internet and getting to my servers and a million others, which further extends the synergy.

General

Evolutionary cul de sac

It’s funny how the evolution of consumer products leads to odd outcomes, sometimes.

For example, my refrigerator has a vestigial ice-maker. I noticed this one night when I heard that clunk-clunk noise you hear from ice-makers. But I don’t have an ice-maker (or so I thought).

I looked in my freezer and noted that there is a sealed-off chunk of space in there that I had never really payed attention to. Likewise, there’s a sealed space in the refrigerator portion. It was sort of difficult to determine if that was the source of the noises I was hearing, but I was intrigued anyway.

I looked up the manual for the appliance online, but there was no mention of the function of these spaces. Ya know how they have the exploded drawing of the appliance with the little arrows and labels describing the various features; well, these spaces were there, little blank rectangular prisms, but no arrows and no labels.

A night of searching around the web finally uncovered the westinghouse-hackers listserv, where people talk about all their cool mods to their refrigerators and discuss the minutia of the various stock designs. Someone disassembled the mystery box in this model and discovered the weirdest thing. Seems there’s an entire closed-loop ice-maker system in there. It makes ice in the freezer, which is then dropped to the fridge, where it collects in a little container. It melts, then the water is pumped back up to make more ice.

The aforementioned investigator talked to some of her contacts at the local appliance repair shop. Apparently, this sort of thing is well-known among repair pros, but not outside those circles. If the ice-maker continues to function properly, the average person would never even really notice it was there; it’s only my sensitivity to those weird nighttime noises that alerted me to its presence.

There’s some debate among those pros about what the value of such a system might be. When called on to repair problems related to this system, most of them will just remove the entire thing, reasoning that it can’t possibly be useful to the user. However, a few, mostly among the ‘holistic repair’ set, will try to keep it running if at all possible. Some will even recommend replacing the water in the system with a special homeopathic preparation that’s said to slow down the melt-freeze cycle (‘metabolism’) slightly in order to increase the refrigerator’s longevity.

The hackers have found various ways to take advantage of this system; for example, one mod detailed on the listserv replaces the white plastic casing of the system with plexiglass and adds neon illumination. Another clever hacker extended that system with a ruggedized WiFi-enabled webcam so you can watch the ice freeze and melt without holding your refrigerator doors open, yielding a significant energy savings.

For now, I think I’m just going to stick with stock.

General

Real estate… in my pants

It’s really interesting how consumer electronics evolve. It struck me reading this article about a new NFC phone that cell phones represent the hottest real estate in CE right now. There’s really no particularly necessary reason that phones should also act as payment devices, except that Citi wants to get in your pants, and they see that you’ve got that bulge in your pocket, and it just starts to make sense from there, both for them and for anyone who has a cell phone and also pays for stuff. And once that technology is integrated, one can imagine all sorts of other synergies to be had, such that in a few years it’ll seem so obvious that of course your payment device is integrated with your voice-text-picture -video-addressbook-game -web-positioning-memo -schedule-reader-mapping -music-etc. device…

General

Fresh socks

Why do my socks come in a resealable bag?

General

Software growth by accretion

It’s somewhat fascinating to look at growth by accretion in software. For one thing, just like geological GBA (yeah, that’s how hip I am), it can give you a visible record of the history of a particular little piece of the world. For another thing, it can lead to interesting conflicts within and between developers, as something that’s grown by accretion rarely ‘looks right’ from a fresh (ahistorical) point of view.

I ought to look through the computing literature and see what people have done in the vein of automatically analyzing GBA and trying to reverse-engineer the ‘meaning’ if it. Thing is, when you look at some GBA and say it doesn’t look right, then you go and try to ‘fix’ it, you can often end up losing important features/functionality/quirks/etc., because you tend to sort of throw away some of the little differences that seem incidental but were actually hard-won little bits of real-world application knowledge. Having a little tool sitting over your shoulder and saying “look, jerky, you removed this bit of logic, but this here source-control comment says ‘I know this looks odd, but it’s VERY IMPORTANT'” could save some hassle sometimes.