During my initial days in Japan, I spent much of my time and money
(both of which, owing to my job, were not exactly plentiful) shopping
for hardware at
Akihabara.
In those days, hardware was a big part of my computing life. Today, I don't
seem to care much about how fast my laptop/desktop or even PDA really is, much
less bother with fiddling/tweaking individual components for the sake of it.
It turns out, programming is far more fun.
At least, I think so now. But back then, I was poor hardware-wise; and the
desire had sort of evolved.
So, after a really long time, I found myself shopping for a Wifi card. I've
always felt relieved that I've avoided messing around with Wifi. Relieved -
in the sense that any decent new laptop usually has wifi working, and even
a semi-careful Linux user will only buy laptops that have fully supported
hardware. Anyway, it all began when I decided it would be nice to sit up
in bed with my laptop (which incidentally, is an old NEC LaVie with a
puny sub-gigahertz Duron processor, gifted to me by my previous landlady's
partner), when I realized that I didn't have a long enough LAN cable. I
then biked up to the nearest
BIC Camera in Shibuya, 40 minutes
before it's closing time, equipped with a very rough, barely legible
scribbled list of names of Linux-supported Wifi chipsets. This is
what I do whenever in doubt:
# cd /usr/src/linux
# make menuconfig
... and then copy off the names of all the hardware listed under Wifi drivers.
The expedient thing to do would have been (a) wait a day longer (b) read up
about wifi (c) find some ways to
map products names/models to chipsets!
But my old impatience with hardware-shopping came back and got me. (have I ever
mentioned the time I purchased a 21-inch IIyama monitor on the spur of the moment
while waiting for a friend at Akihabara?)
So given just 20 minutes before closing time, and my list of chipsets I started
scanning the available products on the wireless section of BIC Camera. Now there
are several difficulties in doing something like this:
- Everything is in Japanese. And I only read a small subset of the Language.
- Every card says it works with Window Vista, XP and 'even' 2000. (nothing else)
- The actual hardware that a certain product uses is usually not mentioned
on the packaging; (Unless it's Intel or something) so even if I know that
a certain Realtek-based card is likely to work, it's no good unless the packaging
mentions that the card is based on a something-or-the-other Realtek chip.
(there are exceptions: Graphics cards always have explicit chipset information,
or at least, the marketing name-space is mappable to what's inside)
In the end, I just went with the only card which said "Powered by Atheros" - though
it did not say
which Atheros chip exactly, my cursory pre-shopping
googling seemed to indicate that Atheros is well supported and the card ought to work
on Linux.
('Atheros' also rang more than a bell; In at least one of my previous jobs, there
was a project that involved the development of an Atheros driver. Needless to
say, it wasn't a Free/Open-Source driver, and though I myself never worked on
driver development, I actually remember integrating it (the kernel modules)
into the base-system of some
embedded router OS. Again, some
product that we (our company) got paid for, but probably didn't go too far
since it wasn't Free.)
Anyway, to return to the card - it turns out that it does work - all I had
to do was recompile my kernel and build
'madwifi',
which is the project that provides super-good support for all atheros-based wifi cards.
The only real painful part is that I'd forgotten how slow the old laptop was.
Out of shear laziness I skipped the usual time-consuming process of pruning
unwanted kernel features and drivers, and even after 3 hours the build hadn't
completed!