o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
The October 11, 2006
PinFeed Almanack
What I Did on My Summer Vacation

In the unrelenting quest for qwertyness, the Almanack spent the summer obsessing over operating systems. At last word, FedoraCore5 32-bit had the floor. But
since then, Redmond has provided a dvd, the newcomer Freespire made an appearance, and Fedora returns. (Unless you're particularly fond of geeky pursuits, now would be a good time to visit Yahoo.)
It has to be said that installers, partition managers and boot loaders have come a long way in the past decade or so. This poor little Compaq has been invaded
by XP (the original OS, twice), Vista (two versions, three installs), Gentoo, Ubuntu, Freespire, Fedora 64-bit (twice), and Fedora 32-bit (twice). Each installer looked only at its own partition, politely asked about preserving the
data, and reassuringly displayed its progress. Twelve installs, no surprise lost data; that's huge.
But after that comes chaos, which is all about expectations. We just expect programs to do what they're supposed to, especially operating systems. Especially Windows. This particular rant is about HOW THINGS DON'T WORK.
A couple of weeks ago, Microsoft kindly forwarded a copy of Vista, Release Candidate 1. The screen is gorgeous. And they seem to have got the security
thing knocked. Whenever anything touches a sensitive structure, the OS asks for a password, like a proactive sudo. (You can shut that off, but it would be stupid.) The firewall is easy to get at, easy to tweak, and seems to have
sensible defaults. The screen is gorgeous. There are lots of cool user interface features, like thumbnails instead of icons. There's a nifty facility called User Access Control that absolutely has to be shut off before you can do
anything drastic, and it yells until you turn it back on. Legacy programs can run in various 'emulation modes', which can be set and saved, like properties. Alas, neither UAC suppression nor XP emulation could enable the Palm Desktop,
nor Juniper i/p tunneling, and the jury's still out on TurboTax. These are absolutely non-negotiable backward-compatibility requirements. But did we mention, the screen is gorgeous?
Googling for the easiest Linux installation turned up Freespire, the gratis distribution (distro) of Linspire, derived from Debian. Not that there was
anything wrong with the handful of other distros, but this is about qwertyness, which is about acceptance, and ease-of-use always figures in. Freespire does your disk, your screen, your sound, your network, and most rare, your wireless
card. Automatically, and without pain. So we launched into installing apps with very high expectations, indeed. Freespire and Linspire rely on a repository called CRM that creatively packages both open source and commercial
apps for automated download and hands-off installation. Slick. KDE has this cute dialogue box that pops up when things crash, a fried nerd with a screwdriver or something, that asks if you want to send a bug report. No, not
for an install, we just want it to work! The downside of 'slick' is: loss of control.
FedoraCore5-64 is enticing if you have an extra 32 bits sitting idle in your processor. It installs easily, there are thousands of packages for it, and there is plenty of online advice. Things that haven't been ported to 64 bits
can generally run well in 32-bit emulation. But for the million or so laptops with Broadcom wireless cards, there is no getting around it: Broadcom cards send the kernel to an early shower. 32 bits work better. YMMV.
Back to FC5-32, install 2. We'll jump over the easy bits, and get right to the wireless setup. If you have a laptop with an unsupported wireless card (a fairly
normal situation), the conventional wisdom is, Just Try It. It will probably lock up your machine, but go ahead:
0 - Install bcm43xx-fwcutter. Find a copy of bcmwl5.sys, and rip it (there are instructions for this all over the place). Run System/Administration/Network to set up your card, and activate it. If you have lived a blameless life, you will
connect to your network. Go away, you don't need this page. 1 - Delete the junk fwcutter put in /lib/firmware. Edit
/etc/modprobe.d/blacklist, and add the line 'blacklist bcm43xx'. 2 - Update your kernel to the current version. Go to linux.org and download the
source for the current kernel. Unpack the tarball in a clean directory, preferably /usr/src/linux-v.x.x.x., with a sym link to /usr/src/linux.
3 - 'make menuconfig'. This is a curses menu, ugly but very serviceable. Go to 'kernel hacking' and turn 'Use 4kb for kernel stacks' off. Spend an hour checking other settings to make sure nothing obviously conflicts with your
machine. Exit/save, and 'make'. It'll take about an hour. 4 - Copy System.map and arch/i386/boot/bzImage to /boot, renaming as
appropriate. Use the contents of /boot as a guide. You might want to save .config in /boot, as well. Reboot.
5 - Download ndiswrapper from Sourceforge. Unpack the tarball in any clean directory. ./configure, make, make install.
6 - There are a number of sites that have 80211g.zip, particularly acer.ca, .be, etc. Download until you find one with bcmwl5a.inf.
7 - 'ndiswrapper -i bcmwl5a.inf'; 'ndiswrapper -ma'; edit /etc/modprobe.conf, add 'alias wlan0 ndiswrapper'; 'modprobe ndiswrapper'.
8 - System/Administration/Network, New device 'Wireless connection', wlan0. Configure it with your key, etc, and activate it.
Simple, huh? You can find several good pages that will explain compiling the kernel, and plenty of advice on using ndiswrapper, and if you look hard enough, there will be a mention of 4k stacks. But putting it all together is insanely
difficult, and takes forever. The backstory is that Broadcom makes wireless cards, and doesn't publish the
specs. The only folks with the interface are in Redmond. The fellows at the bcm43xx project have responded by reverse-engineering drivers for a number of the cards, but Broadcom cranks 'em out faster than the hackers can analyze.
Ndiswrapper was always a stopgap, a shim for an actual Windows driver, so it's inelegant and incomplete, and it has to be compiled in sync with your kernel.
But it's versatile and it works pretty well. The only reason we need to compile the kernel, as opposed to simply using the right headers, is an overly aggressive technical decision at Fedora to cut the size of the kernel stacks in
half. Why, one might well ask? And why is ndiswrapper not included in the distro? And why is it deprecated when it's still the only viable solution?
Moving on, there is a similar story behind printing from FC5. Start with upgrading the foomatic package, go to Sourceforge for gutenprint, ./configure; make; make install (as root), . . . You get the idea. A computer science
degree and a hundred hours of work will get you a free system. The point is, Linux developers and Linux users seem to be the same people. It
doesn't matter if installation is miserably hard, it helps folks 'learn the system'. Dropping bread crumbs for newbies to follow into the maze qualifies as documentation, right? There's a ton of advice to winnow, but anything more than
4 months old is probably obsolete or downright misleading. C'mon, folks, the idea is to promote the system, encourage its adoption, show
the elegance to real people, not just hackers. Fedora is free, it doesn't crash, and things do work. But qwertyness is a stretch for something this difficult.
================================================================================ Please add a comment.

Your email address:
================================================================================
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o